summaryrefslogtreecommitdiffstats
path: root/offapi/com/sun/star
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
parentInitial commit. (diff)
downloadlibreoffice-upstream.tar.xz
libreoffice-upstream.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 '')
-rw-r--r--offapi/com/sun/star/accessibility/Accessible.idl50
-rw-r--r--offapi/com/sun/star/accessibility/AccessibleContext.idl61
-rw-r--r--offapi/com/sun/star/accessibility/AccessibleEventId.idl448
-rw-r--r--offapi/com/sun/star/accessibility/AccessibleEventObject.idl61
-rw-r--r--offapi/com/sun/star/accessibility/AccessibleRelation.idl60
-rw-r--r--offapi/com/sun/star/accessibility/AccessibleRelationType.idl123
-rw-r--r--offapi/com/sun/star/accessibility/AccessibleRole.idl749
-rw-r--r--offapi/com/sun/star/accessibility/AccessibleScrollType.idl81
-rw-r--r--offapi/com/sun/star/accessibility/AccessibleStateType.idl247
-rw-r--r--offapi/com/sun/star/accessibility/AccessibleTableModelChange.idl82
-rw-r--r--offapi/com/sun/star/accessibility/AccessibleTableModelChangeType.idl105
-rw-r--r--offapi/com/sun/star/accessibility/AccessibleTextType.idl99
-rw-r--r--offapi/com/sun/star/accessibility/IllegalAccessibleComponentStateException.idl46
-rw-r--r--offapi/com/sun/star/accessibility/MSAAService.idl32
-rw-r--r--offapi/com/sun/star/accessibility/TextSegment.idl79
-rw-r--r--offapi/com/sun/star/accessibility/XAccessible.idl78
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleAction.idl113
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleComponent.idl214
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleContext.idl198
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleContext2.idl56
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleContext3.idl45
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleEditableText.idl228
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleEventBroadcaster.idl54
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleEventListener.idl47
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleExtendedAttributes.idl37
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleExtendedComponent.idl87
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleGroupPosition.idl40
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleHyperlink.idl131
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleHypertext.idl106
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleImage.idl78
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleKeyBinding.idl81
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleMultiLineText.idl136
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleRelationSet.idl100
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleSelection.idl153
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleStateSet.idl98
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleTable.idl377
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleTableSelection.idl42
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleText.idl527
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleTextAttributes.idl98
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleTextMarkup.idl124
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleTextSelection.idl49
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleValue.idl114
-rw-r--r--offapi/com/sun/star/accessibility/XMSAAService.idl46
-rw-r--r--offapi/com/sun/star/animations/AnimateColor.idl38
-rw-r--r--offapi/com/sun/star/animations/AnimateMotion.idl38
-rw-r--r--offapi/com/sun/star/animations/AnimatePhysics.idl25
-rw-r--r--offapi/com/sun/star/animations/AnimateSet.idl38
-rw-r--r--offapi/com/sun/star/animations/AnimationAdditiveMode.idl46
-rw-r--r--offapi/com/sun/star/animations/AnimationCalcMode.idl65
-rw-r--r--offapi/com/sun/star/animations/AnimationColorSpace.idl49
-rw-r--r--offapi/com/sun/star/animations/AnimationEndSync.idl72
-rw-r--r--offapi/com/sun/star/animations/AnimationFill.idl91
-rw-r--r--offapi/com/sun/star/animations/AnimationNodeType.idl84
-rw-r--r--offapi/com/sun/star/animations/AnimationRestart.idl66
-rw-r--r--offapi/com/sun/star/animations/AnimationTransformType.idl58
-rw-r--r--offapi/com/sun/star/animations/AnimationValueType.idl48
-rw-r--r--offapi/com/sun/star/animations/Audio.idl38
-rw-r--r--offapi/com/sun/star/animations/Command.idl38
-rw-r--r--offapi/com/sun/star/animations/Event.idl58
-rw-r--r--offapi/com/sun/star/animations/EventTrigger.idl80
-rw-r--r--offapi/com/sun/star/animations/IterateContainer.idl38
-rw-r--r--offapi/com/sun/star/animations/ParallelTimeContainer.idl37
-rw-r--r--offapi/com/sun/star/animations/SequenceTimeContainer.idl38
-rw-r--r--offapi/com/sun/star/animations/TargetProperties.idl48
-rw-r--r--offapi/com/sun/star/animations/TimeFilterPair.idl38
-rw-r--r--offapi/com/sun/star/animations/Timing.idl42
-rw-r--r--offapi/com/sun/star/animations/TransitionSubType.idl155
-rw-r--r--offapi/com/sun/star/animations/TransitionType.idl82
-rw-r--r--offapi/com/sun/star/animations/ValuePair.idl37
-rw-r--r--offapi/com/sun/star/animations/XAnimate.idl138
-rw-r--r--offapi/com/sun/star/animations/XAnimateColor.idl63
-rw-r--r--offapi/com/sun/star/animations/XAnimateMotion.idl54
-rw-r--r--offapi/com/sun/star/animations/XAnimatePhysics.idl57
-rw-r--r--offapi/com/sun/star/animations/XAnimateSet.idl55
-rw-r--r--offapi/com/sun/star/animations/XAnimateTransform.idl67
-rw-r--r--offapi/com/sun/star/animations/XAnimationListener.idl75
-rw-r--r--offapi/com/sun/star/animations/XAnimationNode.idl243
-rw-r--r--offapi/com/sun/star/animations/XAnimationNodeSupplier.idl38
-rw-r--r--offapi/com/sun/star/animations/XAudio.idl54
-rw-r--r--offapi/com/sun/star/animations/XCommand.idl55
-rw-r--r--offapi/com/sun/star/animations/XIterateContainer.idl67
-rw-r--r--offapi/com/sun/star/animations/XParallelTimeContainer.idl42
-rw-r--r--offapi/com/sun/star/animations/XTimeContainer.idl89
-rw-r--r--offapi/com/sun/star/animations/XTransitionFilter.idl88
-rw-r--r--offapi/com/sun/star/auth/AuthenticationFailedException.idl39
-rw-r--r--offapi/com/sun/star/auth/InvalidArgumentException.idl39
-rw-r--r--offapi/com/sun/star/auth/InvalidContextException.idl39
-rw-r--r--offapi/com/sun/star/auth/InvalidCredentialException.idl39
-rw-r--r--offapi/com/sun/star/auth/InvalidPrincipalException.idl40
-rw-r--r--offapi/com/sun/star/auth/PersistenceFailureException.idl40
-rw-r--r--offapi/com/sun/star/auth/SSOManagerFactory.idl64
-rw-r--r--offapi/com/sun/star/auth/SSOPasswordCache.idl42
-rw-r--r--offapi/com/sun/star/auth/UnsupportedException.idl40
-rw-r--r--offapi/com/sun/star/auth/XSSOAcceptorContext.idl67
-rw-r--r--offapi/com/sun/star/auth/XSSOContext.idl69
-rw-r--r--offapi/com/sun/star/auth/XSSOInitiatorContext.idl72
-rw-r--r--offapi/com/sun/star/auth/XSSOManager.idl95
-rw-r--r--offapi/com/sun/star/auth/XSSOManagerFactory.idl49
-rw-r--r--offapi/com/sun/star/auth/XSSOPasswordCache.idl95
-rw-r--r--offapi/com/sun/star/awt/AccessibleButton.idl108
-rw-r--r--offapi/com/sun/star/awt/AccessibleCheckBox.idl111
-rw-r--r--offapi/com/sun/star/awt/AccessibleComboBox.idl93
-rw-r--r--offapi/com/sun/star/awt/AccessibleDropDownComboBox.idl104
-rw-r--r--offapi/com/sun/star/awt/AccessibleDropDownListBox.idl104
-rw-r--r--offapi/com/sun/star/awt/AccessibleEdit.idl110
-rw-r--r--offapi/com/sun/star/awt/AccessibleFixedText.idl92
-rw-r--r--offapi/com/sun/star/awt/AccessibleIconChoiceControl.idl99
-rw-r--r--offapi/com/sun/star/awt/AccessibleIconChoiceControlEntry.idl94
-rw-r--r--offapi/com/sun/star/awt/AccessibleList.idl120
-rw-r--r--offapi/com/sun/star/awt/AccessibleListBox.idl92
-rw-r--r--offapi/com/sun/star/awt/AccessibleListBoxList.idl44
-rw-r--r--offapi/com/sun/star/awt/AccessibleListItem.idl92
-rw-r--r--offapi/com/sun/star/awt/AccessibleMenu.idl122
-rw-r--r--offapi/com/sun/star/awt/AccessibleMenuBar.idl94
-rw-r--r--offapi/com/sun/star/awt/AccessibleMenuItem.idl113
-rw-r--r--offapi/com/sun/star/awt/AccessibleMenuSeparator.idl88
-rw-r--r--offapi/com/sun/star/awt/AccessiblePopupMenu.idl94
-rw-r--r--offapi/com/sun/star/awt/AccessibleRadioButton.idl113
-rw-r--r--offapi/com/sun/star/awt/AccessibleScrollBar.idl104
-rw-r--r--offapi/com/sun/star/awt/AccessibleStatusBar.idl80
-rw-r--r--offapi/com/sun/star/awt/AccessibleStatusBarItem.idl88
-rw-r--r--offapi/com/sun/star/awt/AccessibleTabBar.idl89
-rw-r--r--offapi/com/sun/star/awt/AccessibleTabBarPage.idl86
-rw-r--r--offapi/com/sun/star/awt/AccessibleTabBarPageList.idl88
-rw-r--r--offapi/com/sun/star/awt/AccessibleTabControl.idl92
-rw-r--r--offapi/com/sun/star/awt/AccessibleTabPage.idl95
-rw-r--r--offapi/com/sun/star/awt/AccessibleTextField.idl101
-rw-r--r--offapi/com/sun/star/awt/AccessibleToolBox.idl99
-rw-r--r--offapi/com/sun/star/awt/AccessibleToolBoxItem.idl120
-rw-r--r--offapi/com/sun/star/awt/AccessibleTreeListBox.idl99
-rw-r--r--offapi/com/sun/star/awt/AccessibleTreeListBoxEntry.idl120
-rw-r--r--offapi/com/sun/star/awt/AccessibleWindow.idl96
-rw-r--r--offapi/com/sun/star/awt/ActionEvent.idl57
-rw-r--r--offapi/com/sun/star/awt/AdjustmentEvent.idl52
-rw-r--r--offapi/com/sun/star/awt/AdjustmentType.idl60
-rw-r--r--offapi/com/sun/star/awt/AnimatedImagesControl.idl49
-rw-r--r--offapi/com/sun/star/awt/AnimatedImagesControlModel.idl48
-rw-r--r--offapi/com/sun/star/awt/AsyncCallback.idl38
-rw-r--r--offapi/com/sun/star/awt/CharSet.idl103
-rw-r--r--offapi/com/sun/star/awt/Command.idl112
-rw-r--r--offapi/com/sun/star/awt/ContainerWindowProvider.idl42
-rw-r--r--offapi/com/sun/star/awt/DeviceCapability.idl54
-rw-r--r--offapi/com/sun/star/awt/DeviceInfo.idl91
-rw-r--r--offapi/com/sun/star/awt/DialogProvider.idl53
-rw-r--r--offapi/com/sun/star/awt/DialogProvider2.idl41
-rw-r--r--offapi/com/sun/star/awt/DockingData.idl50
-rw-r--r--offapi/com/sun/star/awt/DockingEvent.idl65
-rw-r--r--offapi/com/sun/star/awt/EndDockingEvent.idl55
-rw-r--r--offapi/com/sun/star/awt/EndPopupModeEvent.idl52
-rw-r--r--offapi/com/sun/star/awt/EnhancedMouseEvent.idl52
-rw-r--r--offapi/com/sun/star/awt/FieldUnit.idl54
-rw-r--r--offapi/com/sun/star/awt/FocusChangeReason.idl77
-rw-r--r--offapi/com/sun/star/awt/FocusEvent.idl74
-rw-r--r--offapi/com/sun/star/awt/FontDescriptor.idl163
-rw-r--r--offapi/com/sun/star/awt/FontEmphasisMark.idl78
-rw-r--r--offapi/com/sun/star/awt/FontFamily.idl75
-rw-r--r--offapi/com/sun/star/awt/FontPitch.idl56
-rw-r--r--offapi/com/sun/star/awt/FontRelief.idl56
-rw-r--r--offapi/com/sun/star/awt/FontSlant.idl68
-rw-r--r--offapi/com/sun/star/awt/FontStrikeout.idl75
-rw-r--r--offapi/com/sun/star/awt/FontType.idl60
-rw-r--r--offapi/com/sun/star/awt/FontUnderline.idl135
-rw-r--r--offapi/com/sun/star/awt/FontWeight.idl90
-rw-r--r--offapi/com/sun/star/awt/FontWidth.idl90
-rw-r--r--offapi/com/sun/star/awt/Gradient.idl98
-rw-r--r--offapi/com/sun/star/awt/GradientStyle.idl68
-rw-r--r--offapi/com/sun/star/awt/ImageAlign.idl58
-rw-r--r--offapi/com/sun/star/awt/ImageDrawMode.idl58
-rw-r--r--offapi/com/sun/star/awt/ImagePosition.idl91
-rw-r--r--offapi/com/sun/star/awt/ImageScaleMode.idl49
-rw-r--r--offapi/com/sun/star/awt/ImageStatus.idl60
-rw-r--r--offapi/com/sun/star/awt/InputEvent.idl53
-rw-r--r--offapi/com/sun/star/awt/InvalidateStyle.idl73
-rw-r--r--offapi/com/sun/star/awt/ItemEvent.idl55
-rw-r--r--offapi/com/sun/star/awt/ItemListEvent.idl67
-rw-r--r--offapi/com/sun/star/awt/Key.idl462
-rw-r--r--offapi/com/sun/star/awt/KeyEvent.idl62
-rw-r--r--offapi/com/sun/star/awt/KeyFunction.idl95
-rw-r--r--offapi/com/sun/star/awt/KeyGroup.idl70
-rw-r--r--offapi/com/sun/star/awt/KeyModifier.idl56
-rw-r--r--offapi/com/sun/star/awt/KeyStroke.idl68
-rw-r--r--offapi/com/sun/star/awt/LineEndFormat.idl56
-rw-r--r--offapi/com/sun/star/awt/MenuBar.idl38
-rw-r--r--offapi/com/sun/star/awt/MenuEvent.idl40
-rw-r--r--offapi/com/sun/star/awt/MenuItemStyle.idl47
-rw-r--r--offapi/com/sun/star/awt/MenuItemType.idl55
-rw-r--r--offapi/com/sun/star/awt/MessageBoxButtons.idl83
-rw-r--r--offapi/com/sun/star/awt/MessageBoxResults.idl60
-rw-r--r--offapi/com/sun/star/awt/MessageBoxType.idl55
-rw-r--r--offapi/com/sun/star/awt/MouseButton.idl53
-rw-r--r--offapi/com/sun/star/awt/MouseEvent.idl85
-rw-r--r--offapi/com/sun/star/awt/MouseWheelBehavior.idl53
-rw-r--r--offapi/com/sun/star/awt/PaintEvent.idl60
-rw-r--r--offapi/com/sun/star/awt/Point.idl47
-rw-r--r--offapi/com/sun/star/awt/Pointer.idl38
-rw-r--r--offapi/com/sun/star/awt/PopupMenu.idl37
-rw-r--r--offapi/com/sun/star/awt/PopupMenuDirection.idl56
-rw-r--r--offapi/com/sun/star/awt/PosSize.idl73
-rw-r--r--offapi/com/sun/star/awt/PrinterException.idl43
-rw-r--r--offapi/com/sun/star/awt/PrinterServer.idl27
-rw-r--r--offapi/com/sun/star/awt/PushButtonType.idl58
-rw-r--r--offapi/com/sun/star/awt/RasterOperation.idl65
-rw-r--r--offapi/com/sun/star/awt/Rectangle.idl57
-rw-r--r--offapi/com/sun/star/awt/RoadmapItem.idl69
-rw-r--r--offapi/com/sun/star/awt/ScrollBarOrientation.idl48
-rw-r--r--offapi/com/sun/star/awt/Selection.idl48
-rw-r--r--offapi/com/sun/star/awt/SimpleFontMetric.idl87
-rw-r--r--offapi/com/sun/star/awt/Size.idl48
-rw-r--r--offapi/com/sun/star/awt/SpinEvent.idl45
-rw-r--r--offapi/com/sun/star/awt/SpinningProgressControlModel.idl47
-rw-r--r--offapi/com/sun/star/awt/Style.idl49
-rw-r--r--offapi/com/sun/star/awt/SystemDependentXWindow.idl56
-rw-r--r--offapi/com/sun/star/awt/SystemPointer.idl411
-rw-r--r--offapi/com/sun/star/awt/TabController.idl38
-rw-r--r--offapi/com/sun/star/awt/TabControllerModel.idl45
-rw-r--r--offapi/com/sun/star/awt/TextAlign.idl53
-rw-r--r--offapi/com/sun/star/awt/TextEvent.idl45
-rw-r--r--offapi/com/sun/star/awt/Toolkit.idl41
-rw-r--r--offapi/com/sun/star/awt/UnoControl.idl71
-rw-r--r--offapi/com/sun/star/awt/UnoControlButton.idl50
-rw-r--r--offapi/com/sun/star/awt/UnoControlButtonModel.idl247
-rw-r--r--offapi/com/sun/star/awt/UnoControlCheckBox.idl49
-rw-r--r--offapi/com/sun/star/awt/UnoControlCheckBoxModel.idl200
-rw-r--r--offapi/com/sun/star/awt/UnoControlComboBox.idl46
-rw-r--r--offapi/com/sun/star/awt/UnoControlComboBoxModel.idl215
-rw-r--r--offapi/com/sun/star/awt/UnoControlContainer.idl51
-rw-r--r--offapi/com/sun/star/awt/UnoControlContainerModel.idl95
-rw-r--r--offapi/com/sun/star/awt/UnoControlCurrencyField.idl56
-rw-r--r--offapi/com/sun/star/awt/UnoControlCurrencyFieldModel.idl233
-rw-r--r--offapi/com/sun/star/awt/UnoControlDateField.idl55
-rw-r--r--offapi/com/sun/star/awt/UnoControlDateFieldModel.idl245
-rw-r--r--offapi/com/sun/star/awt/UnoControlDialog.idl36
-rw-r--r--offapi/com/sun/star/awt/UnoControlDialogElement.idl79
-rw-r--r--offapi/com/sun/star/awt/UnoControlDialogModel.idl185
-rw-r--r--offapi/com/sun/star/awt/UnoControlDialogModelProvider.idl46
-rw-r--r--offapi/com/sun/star/awt/UnoControlEdit.idl53
-rw-r--r--offapi/com/sun/star/awt/UnoControlEditModel.idl245
-rw-r--r--offapi/com/sun/star/awt/UnoControlFileControl.idl45
-rw-r--r--offapi/com/sun/star/awt/UnoControlFileControlModel.idl150
-rw-r--r--offapi/com/sun/star/awt/UnoControlFixedHyperlink.idl47
-rw-r--r--offapi/com/sun/star/awt/UnoControlFixedHyperlinkModel.idl150
-rw-r--r--offapi/com/sun/star/awt/UnoControlFixedLine.idl43
-rw-r--r--offapi/com/sun/star/awt/UnoControlFixedLineModel.idl106
-rw-r--r--offapi/com/sun/star/awt/UnoControlFixedText.idl50
-rw-r--r--offapi/com/sun/star/awt/UnoControlFixedTextModel.idl153
-rw-r--r--offapi/com/sun/star/awt/UnoControlFormattedField.idl50
-rw-r--r--offapi/com/sun/star/awt/UnoControlFormattedFieldModel.idl271
-rw-r--r--offapi/com/sun/star/awt/UnoControlGroupBox.idl42
-rw-r--r--offapi/com/sun/star/awt/UnoControlGroupBoxModel.idl106
-rw-r--r--offapi/com/sun/star/awt/UnoControlImageControl.idl45
-rw-r--r--offapi/com/sun/star/awt/UnoControlImageControlModel.idl135
-rw-r--r--offapi/com/sun/star/awt/UnoControlListBox.idl56
-rw-r--r--offapi/com/sun/star/awt/UnoControlListBoxModel.idl206
-rw-r--r--offapi/com/sun/star/awt/UnoControlModel.idl80
-rw-r--r--offapi/com/sun/star/awt/UnoControlNumericField.idl56
-rw-r--r--offapi/com/sun/star/awt/UnoControlNumericFieldModel.idl223
-rw-r--r--offapi/com/sun/star/awt/UnoControlPatternField.idl56
-rw-r--r--offapi/com/sun/star/awt/UnoControlPatternFieldModel.idl187
-rw-r--r--offapi/com/sun/star/awt/UnoControlProgressBar.idl47
-rw-r--r--offapi/com/sun/star/awt/UnoControlProgressBarModel.idl110
-rw-r--r--offapi/com/sun/star/awt/UnoControlRadioButton.idl49
-rw-r--r--offapi/com/sun/star/awt/UnoControlRadioButtonModel.idl195
-rw-r--r--offapi/com/sun/star/awt/UnoControlRoadmap.idl68
-rw-r--r--offapi/com/sun/star/awt/UnoControlRoadmapModel.idl141
-rw-r--r--offapi/com/sun/star/awt/UnoControlScrollBar.idl46
-rw-r--r--offapi/com/sun/star/awt/UnoControlScrollBarModel.idl169
-rw-r--r--offapi/com/sun/star/awt/UnoControlSpinButton.idl49
-rw-r--r--offapi/com/sun/star/awt/UnoControlSpinButtonModel.idl154
-rw-r--r--offapi/com/sun/star/awt/UnoControlTimeField.idl56
-rw-r--r--offapi/com/sun/star/awt/UnoControlTimeFieldModel.idl229
-rw-r--r--offapi/com/sun/star/awt/VclContainerEvent.idl52
-rw-r--r--offapi/com/sun/star/awt/VclWindowPeerAttribute.idl121
-rw-r--r--offapi/com/sun/star/awt/VisualEffect.idl51
-rw-r--r--offapi/com/sun/star/awt/WindowAttribute.idl116
-rw-r--r--offapi/com/sun/star/awt/WindowClass.idl59
-rw-r--r--offapi/com/sun/star/awt/WindowDescriptor.idl156
-rw-r--r--offapi/com/sun/star/awt/WindowEvent.idl92
-rw-r--r--offapi/com/sun/star/awt/XActionListener.idl47
-rw-r--r--offapi/com/sun/star/awt/XActivateListener.idl63
-rw-r--r--offapi/com/sun/star/awt/XAdjustmentListener.idl47
-rw-r--r--offapi/com/sun/star/awt/XAnimatedImages.idl167
-rw-r--r--offapi/com/sun/star/awt/XAnimation.idl54
-rw-r--r--offapi/com/sun/star/awt/XBitmap.idl57
-rw-r--r--offapi/com/sun/star/awt/XButton.idl65
-rw-r--r--offapi/com/sun/star/awt/XCallback.idl48
-rw-r--r--offapi/com/sun/star/awt/XCheckBox.idl77
-rw-r--r--offapi/com/sun/star/awt/XComboBox.idl105
-rw-r--r--offapi/com/sun/star/awt/XContainerWindowEventHandler.idl91
-rw-r--r--offapi/com/sun/star/awt/XContainerWindowProvider.idl115
-rw-r--r--offapi/com/sun/star/awt/XControl.idl115
-rw-r--r--offapi/com/sun/star/awt/XControlContainer.idl69
-rw-r--r--offapi/com/sun/star/awt/XControlModel.idl40
-rw-r--r--offapi/com/sun/star/awt/XCurrencyField.idl122
-rw-r--r--offapi/com/sun/star/awt/XDataTransferProviderAccess.idl95
-rw-r--r--offapi/com/sun/star/awt/XDateField.idl123
-rw-r--r--offapi/com/sun/star/awt/XDevice.idl105
-rw-r--r--offapi/com/sun/star/awt/XDialog.idl63
-rw-r--r--offapi/com/sun/star/awt/XDialog2.idl51
-rw-r--r--offapi/com/sun/star/awt/XDialogEventHandler.idl90
-rw-r--r--offapi/com/sun/star/awt/XDialogProvider.idl59
-rw-r--r--offapi/com/sun/star/awt/XDialogProvider2.idl123
-rw-r--r--offapi/com/sun/star/awt/XDisplayBitmap.idl43
-rw-r--r--offapi/com/sun/star/awt/XDisplayConnection.idl93
-rw-r--r--offapi/com/sun/star/awt/XDockableWindow.idl124
-rw-r--r--offapi/com/sun/star/awt/XDockableWindowListener.idl93
-rw-r--r--offapi/com/sun/star/awt/XEnhancedMouseClickHandler.idl54
-rw-r--r--offapi/com/sun/star/awt/XEventHandler.idl54
-rw-r--r--offapi/com/sun/star/awt/XExtendedToolkit.idl195
-rw-r--r--offapi/com/sun/star/awt/XFileDialog.idl68
-rw-r--r--offapi/com/sun/star/awt/XFixedHyperlink.idl86
-rw-r--r--offapi/com/sun/star/awt/XFixedText.idl66
-rw-r--r--offapi/com/sun/star/awt/XFocusListener.idl59
-rw-r--r--offapi/com/sun/star/awt/XFont.idl107
-rw-r--r--offapi/com/sun/star/awt/XFont2.idl56
-rw-r--r--offapi/com/sun/star/awt/XFontMappingUse.idl56
-rw-r--r--offapi/com/sun/star/awt/XFontMappingUseItem.idl55
-rw-r--r--offapi/com/sun/star/awt/XGraphics.idl236
-rw-r--r--offapi/com/sun/star/awt/XGraphics2.idl79
-rw-r--r--offapi/com/sun/star/awt/XImageButton.idl58
-rw-r--r--offapi/com/sun/star/awt/XImageConsumer.idl116
-rw-r--r--offapi/com/sun/star/awt/XImageProducer.idl75
-rw-r--r--offapi/com/sun/star/awt/XInfoPrinter.idl49
-rw-r--r--offapi/com/sun/star/awt/XItemEventBroadcaster.idl53
-rw-r--r--offapi/com/sun/star/awt/XItemList.idl275
-rw-r--r--offapi/com/sun/star/awt/XItemListListener.idl76
-rw-r--r--offapi/com/sun/star/awt/XItemListener.idl48
-rw-r--r--offapi/com/sun/star/awt/XKeyHandler.idl91
-rw-r--r--offapi/com/sun/star/awt/XKeyListener.idl55
-rw-r--r--offapi/com/sun/star/awt/XLayoutConstrains.idl57
-rw-r--r--offapi/com/sun/star/awt/XListBox.idl166
-rw-r--r--offapi/com/sun/star/awt/XMenu.idl299
-rw-r--r--offapi/com/sun/star/awt/XMenuBar.idl36
-rw-r--r--offapi/com/sun/star/awt/XMenuListener.idl53
-rw-r--r--offapi/com/sun/star/awt/XMessageBox.idl50
-rw-r--r--offapi/com/sun/star/awt/XMessageBoxFactory.idl74
-rw-r--r--offapi/com/sun/star/awt/XMetricField.idl132
-rw-r--r--offapi/com/sun/star/awt/XMouseClickHandler.idl67
-rw-r--r--offapi/com/sun/star/awt/XMouseListener.idl78
-rw-r--r--offapi/com/sun/star/awt/XMouseMotionHandler.idl75
-rw-r--r--offapi/com/sun/star/awt/XMouseMotionListener.idl59
-rw-r--r--offapi/com/sun/star/awt/XNumericField.idl122
-rw-r--r--offapi/com/sun/star/awt/XPaintListener.idl48
-rw-r--r--offapi/com/sun/star/awt/XPatternField.idl72
-rw-r--r--offapi/com/sun/star/awt/XPointer.idl51
-rw-r--r--offapi/com/sun/star/awt/XPopupMenu.idl184
-rw-r--r--offapi/com/sun/star/awt/XPrinter.idl102
-rw-r--r--offapi/com/sun/star/awt/XPrinterPropertySet.idl89
-rw-r--r--offapi/com/sun/star/awt/XPrinterServer.idl66
-rw-r--r--offapi/com/sun/star/awt/XPrinterServer2.idl49
-rw-r--r--offapi/com/sun/star/awt/XProgressBar.idl71
-rw-r--r--offapi/com/sun/star/awt/XProgressMonitor.idl57
-rw-r--r--offapi/com/sun/star/awt/XRadioButton.idl68
-rw-r--r--offapi/com/sun/star/awt/XRegion.idl105
-rw-r--r--offapi/com/sun/star/awt/XRequestCallback.idl52
-rw-r--r--offapi/com/sun/star/awt/XReschedule.idl50
-rw-r--r--offapi/com/sun/star/awt/XScrollBar.idl122
-rw-r--r--offapi/com/sun/star/awt/XSimpleTabController.idl145
-rw-r--r--offapi/com/sun/star/awt/XSpinField.idl78
-rw-r--r--offapi/com/sun/star/awt/XSpinListener.idl62
-rw-r--r--offapi/com/sun/star/awt/XSpinValue.idl118
-rw-r--r--offapi/com/sun/star/awt/XStyleChangeListener.idl45
-rw-r--r--offapi/com/sun/star/awt/XStyleSettings.idl224
-rw-r--r--offapi/com/sun/star/awt/XStyleSettingsSupplier.idl43
-rw-r--r--offapi/com/sun/star/awt/XSystemChildFactory.idl70
-rw-r--r--offapi/com/sun/star/awt/XSystemDependentMenuPeer.idl65
-rw-r--r--offapi/com/sun/star/awt/XSystemDependentWindowPeer.idl73
-rw-r--r--offapi/com/sun/star/awt/XTabController.idl93
-rw-r--r--offapi/com/sun/star/awt/XTabControllerModel.idl86
-rw-r--r--offapi/com/sun/star/awt/XTabListener.idl75
-rw-r--r--offapi/com/sun/star/awt/XTextArea.idl45
-rw-r--r--offapi/com/sun/star/awt/XTextComponent.idl106
-rw-r--r--offapi/com/sun/star/awt/XTextEditField.idl45
-rw-r--r--offapi/com/sun/star/awt/XTextLayoutConstrains.idl53
-rw-r--r--offapi/com/sun/star/awt/XTextListener.idl47
-rw-r--r--offapi/com/sun/star/awt/XTimeField.idl113
-rw-r--r--offapi/com/sun/star/awt/XToggleButton.idl44
-rw-r--r--offapi/com/sun/star/awt/XToolkit.idl93
-rw-r--r--offapi/com/sun/star/awt/XToolkit2.idl59
-rw-r--r--offapi/com/sun/star/awt/XToolkit3.idl47
-rw-r--r--offapi/com/sun/star/awt/XToolkitExperimental.idl65
-rw-r--r--offapi/com/sun/star/awt/XToolkitRobot.idl40
-rw-r--r--offapi/com/sun/star/awt/XTopWindow.idl73
-rw-r--r--offapi/com/sun/star/awt/XTopWindow2.idl68
-rw-r--r--offapi/com/sun/star/awt/XTopWindowListener.idl81
-rw-r--r--offapi/com/sun/star/awt/XUnitConversion.idl98
-rw-r--r--offapi/com/sun/star/awt/XUnoControlContainer.idl62
-rw-r--r--offapi/com/sun/star/awt/XUnoControlDialog.idl58
-rw-r--r--offapi/com/sun/star/awt/XUserInputInterception.idl86
-rw-r--r--offapi/com/sun/star/awt/XVclContainer.idl63
-rw-r--r--offapi/com/sun/star/awt/XVclContainerListener.idl59
-rw-r--r--offapi/com/sun/star/awt/XVclContainerPeer.idl61
-rw-r--r--offapi/com/sun/star/awt/XVclWindowPeer.idl96
-rw-r--r--offapi/com/sun/star/awt/XView.idl81
-rw-r--r--offapi/com/sun/star/awt/XWindow.idl168
-rw-r--r--offapi/com/sun/star/awt/XWindow2.idl82
-rw-r--r--offapi/com/sun/star/awt/XWindowListener.idl69
-rw-r--r--offapi/com/sun/star/awt/XWindowListener2.idl48
-rw-r--r--offapi/com/sun/star/awt/XWindowPeer.idl77
-rw-r--r--offapi/com/sun/star/awt/grid/DefaultGridColumnModel.idl38
-rw-r--r--offapi/com/sun/star/awt/grid/DefaultGridDataModel.idl45
-rw-r--r--offapi/com/sun/star/awt/grid/GridColumn.idl42
-rw-r--r--offapi/com/sun/star/awt/grid/GridColumnEvent.idl51
-rw-r--r--offapi/com/sun/star/awt/grid/GridDataEvent.idl68
-rw-r--r--offapi/com/sun/star/awt/grid/GridInvalidDataException.idl44
-rw-r--r--offapi/com/sun/star/awt/grid/GridInvalidModelException.idl43
-rw-r--r--offapi/com/sun/star/awt/grid/GridSelectionEvent.idl49
-rw-r--r--offapi/com/sun/star/awt/grid/SortableGridDataModel.idl93
-rw-r--r--offapi/com/sun/star/awt/grid/UnoControlGrid.idl70
-rw-r--r--offapi/com/sun/star/awt/grid/UnoControlGridModel.idl243
-rw-r--r--offapi/com/sun/star/awt/grid/XGridColumn.idl142
-rw-r--r--offapi/com/sun/star/awt/grid/XGridColumnListener.idl45
-rw-r--r--offapi/com/sun/star/awt/grid/XGridColumnModel.idl135
-rw-r--r--offapi/com/sun/star/awt/grid/XGridControl.idl98
-rw-r--r--offapi/com/sun/star/awt/grid/XGridDataListener.idl62
-rw-r--r--offapi/com/sun/star/awt/grid/XGridDataModel.idl110
-rw-r--r--offapi/com/sun/star/awt/grid/XGridRowSelection.idl103
-rw-r--r--offapi/com/sun/star/awt/grid/XGridSelectionListener.idl46
-rw-r--r--offapi/com/sun/star/awt/grid/XMutableGridDataModel.idl184
-rw-r--r--offapi/com/sun/star/awt/grid/XSortableGridData.idl70
-rw-r--r--offapi/com/sun/star/awt/grid/XSortableMutableGridDataModel.idl52
-rw-r--r--offapi/com/sun/star/awt/tab/TabPageActivatedEvent.idl45
-rw-r--r--offapi/com/sun/star/awt/tab/UnoControlTabPage.idl47
-rw-r--r--offapi/com/sun/star/awt/tab/UnoControlTabPageContainer.idl46
-rw-r--r--offapi/com/sun/star/awt/tab/UnoControlTabPageContainerModel.idl46
-rw-r--r--offapi/com/sun/star/awt/tab/UnoControlTabPageModel.idl83
-rw-r--r--offapi/com/sun/star/awt/tab/XTabPage.idl43
-rw-r--r--offapi/com/sun/star/awt/tab/XTabPageContainer.idl94
-rw-r--r--offapi/com/sun/star/awt/tab/XTabPageContainerListener.idl47
-rw-r--r--offapi/com/sun/star/awt/tab/XTabPageContainerModel.idl61
-rw-r--r--offapi/com/sun/star/awt/tab/XTabPageModel.idl74
-rw-r--r--offapi/com/sun/star/awt/tree/ExpandVetoException.idl44
-rw-r--r--offapi/com/sun/star/awt/tree/MutableTreeDataModel.idl41
-rw-r--r--offapi/com/sun/star/awt/tree/MutableTreeNode.idl39
-rw-r--r--offapi/com/sun/star/awt/tree/TreeControl.idl86
-rw-r--r--offapi/com/sun/star/awt/tree/TreeControlModel.idl97
-rw-r--r--offapi/com/sun/star/awt/tree/TreeDataModelEvent.idl54
-rw-r--r--offapi/com/sun/star/awt/tree/TreeExpansionEvent.idl45
-rw-r--r--offapi/com/sun/star/awt/tree/XMutableTreeDataModel.idl71
-rw-r--r--offapi/com/sun/star/awt/tree/XMutableTreeNode.idl109
-rw-r--r--offapi/com/sun/star/awt/tree/XTreeControl.idl269
-rw-r--r--offapi/com/sun/star/awt/tree/XTreeDataModel.idl72
-rw-r--r--offapi/com/sun/star/awt/tree/XTreeDataModelListener.idl82
-rw-r--r--offapi/com/sun/star/awt/tree/XTreeEditListener.idl72
-rw-r--r--offapi/com/sun/star/awt/tree/XTreeExpansionListener.idl76
-rw-r--r--offapi/com/sun/star/awt/tree/XTreeNode.idl92
-rw-r--r--offapi/com/sun/star/chart/AccessibleChartDocumentView.idl131
-rw-r--r--offapi/com/sun/star/chart/AccessibleChartElement.idl183
-rw-r--r--offapi/com/sun/star/chart/AreaDiagram.idl59
-rw-r--r--offapi/com/sun/star/chart/BarDiagram.idl104
-rw-r--r--offapi/com/sun/star/chart/BubbleDiagram.idl48
-rw-r--r--offapi/com/sun/star/chart/Chart3DBarProperties.idl47
-rw-r--r--offapi/com/sun/star/chart/ChartArea.idl58
-rw-r--r--offapi/com/sun/star/chart/ChartAxis.idl268
-rw-r--r--offapi/com/sun/star/chart/ChartAxisArrangeOrderType.idl63
-rw-r--r--offapi/com/sun/star/chart/ChartAxisAssign.idl48
-rw-r--r--offapi/com/sun/star/chart/ChartAxisLabelPosition.idl62
-rw-r--r--offapi/com/sun/star/chart/ChartAxisMarkPosition.idl55
-rw-r--r--offapi/com/sun/star/chart/ChartAxisMarks.idl58
-rw-r--r--offapi/com/sun/star/chart/ChartAxisPosition.idl60
-rw-r--r--offapi/com/sun/star/chart/ChartAxisType.idl51
-rw-r--r--offapi/com/sun/star/chart/ChartAxisXSupplier.idl74
-rw-r--r--offapi/com/sun/star/chart/ChartAxisYSupplier.idl73
-rw-r--r--offapi/com/sun/star/chart/ChartAxisZSupplier.idl72
-rw-r--r--offapi/com/sun/star/chart/ChartData.idl42
-rw-r--r--offapi/com/sun/star/chart/ChartDataArray.idl50
-rw-r--r--offapi/com/sun/star/chart/ChartDataCaption.idl92
-rw-r--r--offapi/com/sun/star/chart/ChartDataChangeEvent.idl67
-rw-r--r--offapi/com/sun/star/chart/ChartDataChangeType.idl73
-rw-r--r--offapi/com/sun/star/chart/ChartDataPoint.idl36
-rw-r--r--offapi/com/sun/star/chart/ChartDataPointProperties.idl161
-rw-r--r--offapi/com/sun/star/chart/ChartDataRow.idl51
-rw-r--r--offapi/com/sun/star/chart/ChartDataRowProperties.idl106
-rw-r--r--offapi/com/sun/star/chart/ChartDataRowSource.idl50
-rw-r--r--offapi/com/sun/star/chart/ChartDataValue.idl56
-rw-r--r--offapi/com/sun/star/chart/ChartDocument.idl78
-rw-r--r--offapi/com/sun/star/chart/ChartErrorCategory.idl86
-rw-r--r--offapi/com/sun/star/chart/ChartErrorIndicatorType.idl57
-rw-r--r--offapi/com/sun/star/chart/ChartGrid.idl59
-rw-r--r--offapi/com/sun/star/chart/ChartLegend.idl78
-rw-r--r--offapi/com/sun/star/chart/ChartLegendExpansion.idl65
-rw-r--r--offapi/com/sun/star/chart/ChartLegendPosition.idl79
-rw-r--r--offapi/com/sun/star/chart/ChartLine.idl44
-rw-r--r--offapi/com/sun/star/chart/ChartPieSegmentProperties.idl61
-rw-r--r--offapi/com/sun/star/chart/ChartRegressionCurveType.idl84
-rw-r--r--offapi/com/sun/star/chart/ChartSeriesAddress.idl58
-rw-r--r--offapi/com/sun/star/chart/ChartSolidType.idl59
-rw-r--r--offapi/com/sun/star/chart/ChartStatistics.idl154
-rw-r--r--offapi/com/sun/star/chart/ChartSymbolType.idl119
-rw-r--r--offapi/com/sun/star/chart/ChartTableAddressSupplier.idl65
-rw-r--r--offapi/com/sun/star/chart/ChartTitle.idl80
-rw-r--r--offapi/com/sun/star/chart/ChartTwoAxisXSupplier.idl71
-rw-r--r--offapi/com/sun/star/chart/ChartTwoAxisYSupplier.idl72
-rw-r--r--offapi/com/sun/star/chart/DataLabelPlacement.idl52
-rw-r--r--offapi/com/sun/star/chart/Diagram.idl123
-rw-r--r--offapi/com/sun/star/chart/Dim3DDiagram.idl70
-rw-r--r--offapi/com/sun/star/chart/DonutDiagram.idl43
-rw-r--r--offapi/com/sun/star/chart/ErrorBarStyle.idl91
-rw-r--r--offapi/com/sun/star/chart/FilledNetDiagram.idl51
-rw-r--r--offapi/com/sun/star/chart/LineDiagram.idl143
-rw-r--r--offapi/com/sun/star/chart/MissingValueTreatment.idl41
-rw-r--r--offapi/com/sun/star/chart/NetDiagram.idl50
-rw-r--r--offapi/com/sun/star/chart/PieDiagram.idl44
-rw-r--r--offapi/com/sun/star/chart/StackableDiagram.idl57
-rw-r--r--offapi/com/sun/star/chart/StockDiagram.idl130
-rw-r--r--offapi/com/sun/star/chart/TimeIncrement.idl58
-rw-r--r--offapi/com/sun/star/chart/TimeInterval.idl48
-rw-r--r--offapi/com/sun/star/chart/TimeUnit.idl41
-rw-r--r--offapi/com/sun/star/chart/X3DDefaultSetter.idl56
-rw-r--r--offapi/com/sun/star/chart/X3DDisplay.idl69
-rw-r--r--offapi/com/sun/star/chart/XAxis.idl52
-rw-r--r--offapi/com/sun/star/chart/XAxisSupplier.idl53
-rw-r--r--offapi/com/sun/star/chart/XAxisXSupplier.idl86
-rw-r--r--offapi/com/sun/star/chart/XAxisYSupplier.idl86
-rw-r--r--offapi/com/sun/star/chart/XAxisZSupplier.idl83
-rw-r--r--offapi/com/sun/star/chart/XChartData.idl99
-rw-r--r--offapi/com/sun/star/chart/XChartDataArray.idl97
-rw-r--r--offapi/com/sun/star/chart/XChartDataChangeEventListener.idl57
-rw-r--r--offapi/com/sun/star/chart/XChartDocument.idl160
-rw-r--r--offapi/com/sun/star/chart/XComplexDescriptionAccess.idl83
-rw-r--r--offapi/com/sun/star/chart/XDateCategories.idl59
-rw-r--r--offapi/com/sun/star/chart/XDiagram.idl80
-rw-r--r--offapi/com/sun/star/chart/XDiagramPositioning.idl91
-rw-r--r--offapi/com/sun/star/chart/XSecondAxisTitleSupplier.idl40
-rw-r--r--offapi/com/sun/star/chart/XStatisticDisplay.idl83
-rw-r--r--offapi/com/sun/star/chart/XTwoAxisXSupplier.idl57
-rw-r--r--offapi/com/sun/star/chart/XTwoAxisYSupplier.idl54
-rw-r--r--offapi/com/sun/star/chart/XYDiagram.idl58
-rw-r--r--offapi/com/sun/star/chart2/Axis.idl159
-rw-r--r--offapi/com/sun/star/chart2/AxisOrientation.idl42
-rw-r--r--offapi/com/sun/star/chart2/AxisType.idl57
-rw-r--r--offapi/com/sun/star/chart2/CandleStickChartType.idl113
-rw-r--r--offapi/com/sun/star/chart2/CartesianCoordinateSystem2d.idl35
-rw-r--r--offapi/com/sun/star/chart2/CartesianCoordinateSystem3d.idl35
-rw-r--r--offapi/com/sun/star/chart2/ChartDocument.idl81
-rw-r--r--offapi/com/sun/star/chart2/ChartDocumentWrapper.idl61
-rw-r--r--offapi/com/sun/star/chart2/ChartType.idl56
-rw-r--r--offapi/com/sun/star/chart2/ChartTypeManager.idl50
-rw-r--r--offapi/com/sun/star/chart2/ChartTypeTemplate.idl46
-rw-r--r--offapi/com/sun/star/chart2/CoordinateSystem.idl60
-rw-r--r--offapi/com/sun/star/chart2/CoordinateSystemType.idl48
-rw-r--r--offapi/com/sun/star/chart2/CoordinateSystemTypeID.idl35
-rw-r--r--offapi/com/sun/star/chart2/CurveStyle.idl115
-rw-r--r--offapi/com/sun/star/chart2/DataPoint.idl69
-rw-r--r--offapi/com/sun/star/chart2/DataPointCustomLabelField.idl26
-rw-r--r--offapi/com/sun/star/chart2/DataPointCustomLabelFieldType.idl35
-rw-r--r--offapi/com/sun/star/chart2/DataPointGeometry3D.idl60
-rw-r--r--offapi/com/sun/star/chart2/DataPointLabel.idl84
-rw-r--r--offapi/com/sun/star/chart2/DataPointProperties.idl347
-rw-r--r--offapi/com/sun/star/chart2/DataSeries.idl207
-rw-r--r--offapi/com/sun/star/chart2/Diagram.idl129
-rw-r--r--offapi/com/sun/star/chart2/ErrorBar.idl74
-rw-r--r--offapi/com/sun/star/chart2/ExponentialRegressionCurve.idl38
-rw-r--r--offapi/com/sun/star/chart2/ExponentialScaling.idl41
-rw-r--r--offapi/com/sun/star/chart2/FillBitmap.idl100
-rw-r--r--offapi/com/sun/star/chart2/FormattedString.idl33
-rw-r--r--offapi/com/sun/star/chart2/GridProperties.idl53
-rw-r--r--offapi/com/sun/star/chart2/IncrementData.idl83
-rw-r--r--offapi/com/sun/star/chart2/Legend.idl102
-rw-r--r--offapi/com/sun/star/chart2/LegendPosition.idl63
-rw-r--r--offapi/com/sun/star/chart2/LightSource.idl58
-rw-r--r--offapi/com/sun/star/chart2/LinearRegressionCurve.idl38
-rw-r--r--offapi/com/sun/star/chart2/LinearScaling.idl42
-rw-r--r--offapi/com/sun/star/chart2/LogarithmicRegressionCurve.idl38
-rw-r--r--offapi/com/sun/star/chart2/LogarithmicScaling.idl40
-rw-r--r--offapi/com/sun/star/chart2/LogicTargetModel.idl59
-rw-r--r--offapi/com/sun/star/chart2/MovingAverageRegressionCurve.idl38
-rw-r--r--offapi/com/sun/star/chart2/MovingAverageType.idl35
-rw-r--r--offapi/com/sun/star/chart2/PieChartOffsetMode.idl54
-rw-r--r--offapi/com/sun/star/chart2/PolarCoordinateSystem2d.idl35
-rw-r--r--offapi/com/sun/star/chart2/PolarCoordinateSystem3d.idl35
-rw-r--r--offapi/com/sun/star/chart2/PolynomialRegressionCurve.idl38
-rw-r--r--offapi/com/sun/star/chart2/PotentialRegressionCurve.idl38
-rw-r--r--offapi/com/sun/star/chart2/PowerScaling.idl41
-rw-r--r--offapi/com/sun/star/chart2/PropertyPool.idl62
-rw-r--r--offapi/com/sun/star/chart2/RegressionCurve.idl53
-rw-r--r--offapi/com/sun/star/chart2/RegressionCurveEquation.idl62
-rw-r--r--offapi/com/sun/star/chart2/RegressionEquation.idl35
-rw-r--r--offapi/com/sun/star/chart2/RelativePosition.idl80
-rw-r--r--offapi/com/sun/star/chart2/RelativeSize.idl78
-rw-r--r--offapi/com/sun/star/chart2/ScaleData.idl111
-rw-r--r--offapi/com/sun/star/chart2/Scaling.idl37
-rw-r--r--offapi/com/sun/star/chart2/StackingDirection.idl46
-rw-r--r--offapi/com/sun/star/chart2/StandardDiagramCreationParameters.idl56
-rw-r--r--offapi/com/sun/star/chart2/SubIncrement.idl45
-rw-r--r--offapi/com/sun/star/chart2/Symbol.idl104
-rw-r--r--offapi/com/sun/star/chart2/SymbolStyle.idl63
-rw-r--r--offapi/com/sun/star/chart2/TickmarkStyle.idl55
-rw-r--r--offapi/com/sun/star/chart2/Title.idl85
-rw-r--r--offapi/com/sun/star/chart2/TransparencyStyle.idl56
-rw-r--r--offapi/com/sun/star/chart2/XAnyDescriptionAccess.idl88
-rw-r--r--offapi/com/sun/star/chart2/XAxis.idl68
-rw-r--r--offapi/com/sun/star/chart2/XChartDocument.idl139
-rw-r--r--offapi/com/sun/star/chart2/XChartShape.idl87
-rw-r--r--offapi/com/sun/star/chart2/XChartShapeContainer.idl49
-rw-r--r--offapi/com/sun/star/chart2/XChartType.idl94
-rw-r--r--offapi/com/sun/star/chart2/XChartTypeContainer.idl68
-rw-r--r--offapi/com/sun/star/chart2/XChartTypeManager.idl47
-rw-r--r--offapi/com/sun/star/chart2/XChartTypeTemplate.idl224
-rw-r--r--offapi/com/sun/star/chart2/XColorScheme.idl61
-rw-r--r--offapi/com/sun/star/chart2/XCoordinateSystem.idl84
-rw-r--r--offapi/com/sun/star/chart2/XCoordinateSystemContainer.idl68
-rw-r--r--offapi/com/sun/star/chart2/XDataPointCustomLabelField.idl71
-rw-r--r--offapi/com/sun/star/chart2/XDataProviderAccess.idl40
-rw-r--r--offapi/com/sun/star/chart2/XDataSeries.idl72
-rw-r--r--offapi/com/sun/star/chart2/XDataSeriesContainer.idl68
-rw-r--r--offapi/com/sun/star/chart2/XDefaultSizeTransmitter.idl53
-rw-r--r--offapi/com/sun/star/chart2/XDiagram.idl103
-rw-r--r--offapi/com/sun/star/chart2/XDiagramProvider.idl52
-rw-r--r--offapi/com/sun/star/chart2/XFormattedString.idl48
-rw-r--r--offapi/com/sun/star/chart2/XFormattedString2.idl55
-rw-r--r--offapi/com/sun/star/chart2/XInternalDataProvider.idl89
-rw-r--r--offapi/com/sun/star/chart2/XLabeled.idl61
-rw-r--r--offapi/com/sun/star/chart2/XLegend.idl47
-rw-r--r--offapi/com/sun/star/chart2/XRegressionCurve.idl51
-rw-r--r--offapi/com/sun/star/chart2/XRegressionCurveCalculator.idl187
-rw-r--r--offapi/com/sun/star/chart2/XRegressionCurveContainer.idl69
-rw-r--r--offapi/com/sun/star/chart2/XScaling.idl59
-rw-r--r--offapi/com/sun/star/chart2/XTarget.idl43
-rw-r--r--offapi/com/sun/star/chart2/XTimeBased.idl39
-rw-r--r--offapi/com/sun/star/chart2/XTitle.idl48
-rw-r--r--offapi/com/sun/star/chart2/XTitled.idl55
-rw-r--r--offapi/com/sun/star/chart2/data/DataFilter.idl62
-rw-r--r--offapi/com/sun/star/chart2/data/DataProvider.idl61
-rw-r--r--offapi/com/sun/star/chart2/data/DataSequence.idl148
-rw-r--r--offapi/com/sun/star/chart2/data/DataSequenceRole.idl102
-rw-r--r--offapi/com/sun/star/chart2/data/DataSink.idl54
-rw-r--r--offapi/com/sun/star/chart2/data/DataSource.idl54
-rw-r--r--offapi/com/sun/star/chart2/data/DatabaseDataProvider.idl38
-rw-r--r--offapi/com/sun/star/chart2/data/HighlightedRange.idl66
-rw-r--r--offapi/com/sun/star/chart2/data/LabelOrigin.idl86
-rw-r--r--offapi/com/sun/star/chart2/data/LabeledDataSequence.idl49
-rw-r--r--offapi/com/sun/star/chart2/data/PivotTableFieldEntry.idl60
-rw-r--r--offapi/com/sun/star/chart2/data/RangeHighlightListener.idl52
-rw-r--r--offapi/com/sun/star/chart2/data/RangeHighlighter.idl48
-rw-r--r--offapi/com/sun/star/chart2/data/TabularDataProviderArguments.idl153
-rw-r--r--offapi/com/sun/star/chart2/data/XDataProvider.idl179
-rw-r--r--offapi/com/sun/star/chart2/data/XDataReceiver.idl106
-rw-r--r--offapi/com/sun/star/chart2/data/XDataSequence.idl132
-rw-r--r--offapi/com/sun/star/chart2/data/XDataSink.idl71
-rw-r--r--offapi/com/sun/star/chart2/data/XDataSource.idl76
-rw-r--r--offapi/com/sun/star/chart2/data/XDatabaseDataProvider.idl206
-rw-r--r--offapi/com/sun/star/chart2/data/XLabeledDataSequence.idl73
-rw-r--r--offapi/com/sun/star/chart2/data/XLabeledDataSequence2.idl76
-rw-r--r--offapi/com/sun/star/chart2/data/XNumericalDataSequence.idl54
-rw-r--r--offapi/com/sun/star/chart2/data/XPivotTableDataProvider.idl83
-rw-r--r--offapi/com/sun/star/chart2/data/XRangeHighlighter.idl64
-rw-r--r--offapi/com/sun/star/chart2/data/XRangeXMLConversion.idl66
-rw-r--r--offapi/com/sun/star/chart2/data/XSheetDataProvider.idl36
-rw-r--r--offapi/com/sun/star/chart2/data/XTextualDataSequence.idl53
-rw-r--r--offapi/com/sun/star/configuration/AccessRootElement.idl155
-rw-r--r--offapi/com/sun/star/configuration/AdministrationProvider.idl176
-rw-r--r--offapi/com/sun/star/configuration/CannotLoadConfigurationException.idl40
-rw-r--r--offapi/com/sun/star/configuration/ConfigurationAccess.idl235
-rw-r--r--offapi/com/sun/star/configuration/ConfigurationProvider.idl238
-rw-r--r--offapi/com/sun/star/configuration/ConfigurationRegistry.idl93
-rw-r--r--offapi/com/sun/star/configuration/ConfigurationUpdateAccess.idl123
-rw-r--r--offapi/com/sun/star/configuration/CorruptedConfigurationException.idl50
-rw-r--r--offapi/com/sun/star/configuration/CorruptedUIConfigurationException.idl44
-rw-r--r--offapi/com/sun/star/configuration/DefaultProvider.idl79
-rw-r--r--offapi/com/sun/star/configuration/GroupAccess.idl122
-rw-r--r--offapi/com/sun/star/configuration/GroupElement.idl74
-rw-r--r--offapi/com/sun/star/configuration/GroupUpdate.idl78
-rw-r--r--offapi/com/sun/star/configuration/HierarchyAccess.idl158
-rw-r--r--offapi/com/sun/star/configuration/HierarchyElement.idl109
-rw-r--r--offapi/com/sun/star/configuration/InstallationIncompleteException.idl40
-rw-r--r--offapi/com/sun/star/configuration/InvalidBootstrapFileException.idl42
-rw-r--r--offapi/com/sun/star/configuration/MissingBootstrapFileException.idl42
-rw-r--r--offapi/com/sun/star/configuration/PropertyHierarchy.idl84
-rw-r--r--offapi/com/sun/star/configuration/ReadOnlyAccess.idl36
-rw-r--r--offapi/com/sun/star/configuration/ReadWriteAccess.idl36
-rw-r--r--offapi/com/sun/star/configuration/SetAccess.idl88
-rw-r--r--offapi/com/sun/star/configuration/SetElement.idl166
-rw-r--r--offapi/com/sun/star/configuration/SetUpdate.idl91
-rw-r--r--offapi/com/sun/star/configuration/SimpleSetAccess.idl102
-rw-r--r--offapi/com/sun/star/configuration/SimpleSetUpdate.idl164
-rw-r--r--offapi/com/sun/star/configuration/Update.idl39
-rw-r--r--offapi/com/sun/star/configuration/UpdateRootElement.idl96
-rw-r--r--offapi/com/sun/star/configuration/XReadWriteAccess.idl38
-rw-r--r--offapi/com/sun/star/configuration/XTemplateContainer.idl68
-rw-r--r--offapi/com/sun/star/configuration/XTemplateInstance.idl58
-rw-r--r--offapi/com/sun/star/configuration/XUpdate.idl51
-rw-r--r--offapi/com/sun/star/configuration/backend/AuthenticationFailedException.idl42
-rw-r--r--offapi/com/sun/star/configuration/backend/Backend.idl79
-rw-r--r--offapi/com/sun/star/configuration/backend/BackendAccessException.idl43
-rw-r--r--offapi/com/sun/star/configuration/backend/BackendAdapter.idl73
-rw-r--r--offapi/com/sun/star/configuration/backend/BackendSetupException.idl51
-rw-r--r--offapi/com/sun/star/configuration/backend/CannotConnectException.idl51
-rw-r--r--offapi/com/sun/star/configuration/backend/ComponentChangeEvent.idl46
-rw-r--r--offapi/com/sun/star/configuration/backend/ConnectionLostException.idl46
-rw-r--r--offapi/com/sun/star/configuration/backend/CopyImporter.idl72
-rw-r--r--offapi/com/sun/star/configuration/backend/DataImporter.idl114
-rw-r--r--offapi/com/sun/star/configuration/backend/DefaultBackend.idl51
-rw-r--r--offapi/com/sun/star/configuration/backend/HierarchyBrowser.idl72
-rw-r--r--offapi/com/sun/star/configuration/backend/Importer.idl70
-rw-r--r--offapi/com/sun/star/configuration/backend/InsufficientAccessRightsException.idl52
-rw-r--r--offapi/com/sun/star/configuration/backend/InteractionHandler.idl93
-rw-r--r--offapi/com/sun/star/configuration/backend/InvalidAuthenticationMechanismException.idl43
-rw-r--r--offapi/com/sun/star/configuration/backend/Layer.idl94
-rw-r--r--offapi/com/sun/star/configuration/backend/LayerDescriber.idl52
-rw-r--r--offapi/com/sun/star/configuration/backend/LayerFilter.idl76
-rw-r--r--offapi/com/sun/star/configuration/backend/LayerUpdateMerger.idl84
-rw-r--r--offapi/com/sun/star/configuration/backend/LdapMultiLayerStratum.idl47
-rw-r--r--offapi/com/sun/star/configuration/backend/LdapSingleBackend.idl48
-rw-r--r--offapi/com/sun/star/configuration/backend/LdapSingleStratum.idl47
-rw-r--r--offapi/com/sun/star/configuration/backend/LocalDataImporter.idl98
-rw-r--r--offapi/com/sun/star/configuration/backend/LocalHierarchyBrowser.idl79
-rw-r--r--offapi/com/sun/star/configuration/backend/LocalSchemaSupplier.idl48
-rw-r--r--offapi/com/sun/star/configuration/backend/LocalSingleBackend.idl48
-rw-r--r--offapi/com/sun/star/configuration/backend/LocalSingleStratum.idl47
-rw-r--r--offapi/com/sun/star/configuration/backend/MalformedDataException.idl80
-rw-r--r--offapi/com/sun/star/configuration/backend/MergeImporter.idl61
-rw-r--r--offapi/com/sun/star/configuration/backend/MergeRecoveryRequest.idl79
-rw-r--r--offapi/com/sun/star/configuration/backend/MultiLayerStratum.idl55
-rw-r--r--offapi/com/sun/star/configuration/backend/MultiStratumBackend.idl60
-rw-r--r--offapi/com/sun/star/configuration/backend/NodeAttribute.idl85
-rw-r--r--offapi/com/sun/star/configuration/backend/OfflineBackend.idl65
-rw-r--r--offapi/com/sun/star/configuration/backend/OnlineBackend.idl52
-rw-r--r--offapi/com/sun/star/configuration/backend/PlatformBackend.idl47
-rw-r--r--offapi/com/sun/star/configuration/backend/PropertyInfo.idl59
-rw-r--r--offapi/com/sun/star/configuration/backend/Schema.idl72
-rw-r--r--offapi/com/sun/star/configuration/backend/SchemaAttribute.idl65
-rw-r--r--offapi/com/sun/star/configuration/backend/SchemaSupplier.idl47
-rw-r--r--offapi/com/sun/star/configuration/backend/SingleBackend.idl80
-rw-r--r--offapi/com/sun/star/configuration/backend/SingleBackendAdapter.idl52
-rw-r--r--offapi/com/sun/star/configuration/backend/SingleLayerStratum.idl55
-rw-r--r--offapi/com/sun/star/configuration/backend/StratumCreationException.idl51
-rw-r--r--offapi/com/sun/star/configuration/backend/SystemIntegration.idl56
-rw-r--r--offapi/com/sun/star/configuration/backend/TemplateIdentifier.idl55
-rw-r--r--offapi/com/sun/star/configuration/backend/UpdatableLayer.idl109
-rw-r--r--offapi/com/sun/star/configuration/backend/XBackend.idl172
-rw-r--r--offapi/com/sun/star/configuration/backend/XBackendChangesListener.idl50
-rw-r--r--offapi/com/sun/star/configuration/backend/XBackendChangesNotifier.idl64
-rw-r--r--offapi/com/sun/star/configuration/backend/XBackendEntities.idl121
-rw-r--r--offapi/com/sun/star/configuration/backend/XCompositeLayer.idl92
-rw-r--r--offapi/com/sun/star/configuration/backend/XLayer.idl66
-rw-r--r--offapi/com/sun/star/configuration/backend/XLayerContentDescriber.idl70
-rw-r--r--offapi/com/sun/star/configuration/backend/XLayerHandler.idl536
-rw-r--r--offapi/com/sun/star/configuration/backend/XLayerImporter.idl132
-rw-r--r--offapi/com/sun/star/configuration/backend/XMultiLayerStratum.idl314
-rw-r--r--offapi/com/sun/star/configuration/backend/XSchema.idl121
-rw-r--r--offapi/com/sun/star/configuration/backend/XSchemaHandler.idl502
-rw-r--r--offapi/com/sun/star/configuration/backend/XSchemaSupplier.idl67
-rw-r--r--offapi/com/sun/star/configuration/backend/XSingleLayerStratum.idl122
-rw-r--r--offapi/com/sun/star/configuration/backend/XUpdatableLayer.idl71
-rw-r--r--offapi/com/sun/star/configuration/backend/XUpdateHandler.idl633
-rw-r--r--offapi/com/sun/star/configuration/backend/XVersionedSchemaSupplier.idl78
-rw-r--r--offapi/com/sun/star/configuration/backend/xml/LayerParser.idl77
-rw-r--r--offapi/com/sun/star/configuration/backend/xml/LayerWriter.idl72
-rw-r--r--offapi/com/sun/star/configuration/backend/xml/SchemaParser.idl72
-rw-r--r--offapi/com/sun/star/configuration/bootstrap/BootstrapContext.idl65
-rw-r--r--offapi/com/sun/star/configuration/theDefaultProvider.idl35
-rw-r--r--offapi/com/sun/star/cui/AsynchronousColorPicker.idl41
-rw-r--r--offapi/com/sun/star/cui/ColorPicker.idl42
-rw-r--r--offapi/com/sun/star/datatransfer/DataFlavor.idl52
-rw-r--r--offapi/com/sun/star/datatransfer/DataFormatTranslator.idl46
-rw-r--r--offapi/com/sun/star/datatransfer/MimeContentTypeFactory.idl44
-rw-r--r--offapi/com/sun/star/datatransfer/UnsupportedFlavorException.idl43
-rw-r--r--offapi/com/sun/star/datatransfer/XDataFormatTranslator.idl69
-rw-r--r--offapi/com/sun/star/datatransfer/XMimeContentType.idl96
-rw-r--r--offapi/com/sun/star/datatransfer/XMimeContentTypeFactory.idl65
-rw-r--r--offapi/com/sun/star/datatransfer/XSystemTransferable.idl61
-rw-r--r--offapi/com/sun/star/datatransfer/XTransferDataAccess.idl68
-rw-r--r--offapi/com/sun/star/datatransfer/XTransferable.idl87
-rw-r--r--offapi/com/sun/star/datatransfer/XTransferable2.idl48
-rw-r--r--offapi/com/sun/star/datatransfer/XTransferableEx.idl56
-rw-r--r--offapi/com/sun/star/datatransfer/XTransferableSource.idl47
-rw-r--r--offapi/com/sun/star/datatransfer/XTransferableSupplier.idl62
-rw-r--r--offapi/com/sun/star/datatransfer/XTransferableTextSupplier.idl44
-rw-r--r--offapi/com/sun/star/datatransfer/clipboard/ClipboardEvent.idl46
-rw-r--r--offapi/com/sun/star/datatransfer/clipboard/ClipboardManager.idl52
-rw-r--r--offapi/com/sun/star/datatransfer/clipboard/GenericClipboard.idl59
-rw-r--r--offapi/com/sun/star/datatransfer/clipboard/RenderingCapabilities.idl54
-rw-r--r--offapi/com/sun/star/datatransfer/clipboard/SystemClipboard.idl36
-rw-r--r--offapi/com/sun/star/datatransfer/clipboard/XClipboard.idl83
-rw-r--r--offapi/com/sun/star/datatransfer/clipboard/XClipboardEx.idl50
-rw-r--r--offapi/com/sun/star/datatransfer/clipboard/XClipboardFactory.idl60
-rw-r--r--offapi/com/sun/star/datatransfer/clipboard/XClipboardListener.idl50
-rw-r--r--offapi/com/sun/star/datatransfer/clipboard/XClipboardManager.idl90
-rw-r--r--offapi/com/sun/star/datatransfer/clipboard/XClipboardNotifier.idl57
-rw-r--r--offapi/com/sun/star/datatransfer/clipboard/XClipboardOwner.idl58
-rw-r--r--offapi/com/sun/star/datatransfer/clipboard/XFlushableClipboard.idl48
-rw-r--r--offapi/com/sun/star/datatransfer/clipboard/XSystemClipboard.idl63
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/DNDConstants.idl73
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/DragGestureEvent.idl80
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/DragSourceDragEvent.idl59
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/DragSourceDropEvent.idl57
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/DragSourceEvent.idl60
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/DropTargetDragEnterEvent.idl54
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/DropTargetDragEvent.idl81
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/DropTargetDropEvent.idl86
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/DropTargetEvent.idl49
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/InvalidDNDOperationException.idl45
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/OleDragSource.idl66
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/OleDropTarget.idl58
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/X11DragSource.idl61
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/X11DropTarget.idl64
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/XAutoscroll.idl77
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/XDragGestureListener.idl55
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/XDragGestureRecognizer.idl70
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/XDragSource.idl116
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/XDragSourceContext.idl92
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/XDragSourceListener.idl92
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/XDropTarget.idl110
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/XDropTargetDragContext.idl75
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/XDropTargetDropContext.idl79
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/XDropTargetListener.idl94
-rw-r--r--offapi/com/sun/star/deployment/DependencyException.idl65
-rw-r--r--offapi/com/sun/star/deployment/DeploymentException.idl43
-rw-r--r--offapi/com/sun/star/deployment/ExtensionManager.idl43
-rw-r--r--offapi/com/sun/star/deployment/ExtensionRemovedException.idl44
-rw-r--r--offapi/com/sun/star/deployment/InstallException.idl51
-rw-r--r--offapi/com/sun/star/deployment/InvalidRemovedParameterException.idl56
-rw-r--r--offapi/com/sun/star/deployment/LicenseException.idl55
-rw-r--r--offapi/com/sun/star/deployment/PackageInformationProvider.idl36
-rw-r--r--offapi/com/sun/star/deployment/PackageRegistryBackend.idl64
-rw-r--r--offapi/com/sun/star/deployment/PlatformException.idl44
-rw-r--r--offapi/com/sun/star/deployment/Prerequisites.idl38
-rw-r--r--offapi/com/sun/star/deployment/UpdateInformationEntry.idl48
-rw-r--r--offapi/com/sun/star/deployment/UpdateInformationProvider.idl36
-rw-r--r--offapi/com/sun/star/deployment/VersionException.idl59
-rw-r--r--offapi/com/sun/star/deployment/XExtensionManager.idl341
-rw-r--r--offapi/com/sun/star/deployment/XPackage.idl370
-rw-r--r--offapi/com/sun/star/deployment/XPackageInformationProvider.idl66
-rw-r--r--offapi/com/sun/star/deployment/XPackageManager.idl313
-rw-r--r--offapi/com/sun/star/deployment/XPackageManagerFactory.idl94
-rw-r--r--offapi/com/sun/star/deployment/XPackageRegistry.idl115
-rw-r--r--offapi/com/sun/star/deployment/XPackageTypeInfo.idl86
-rw-r--r--offapi/com/sun/star/deployment/XUpdateInformationProvider.idl105
-rw-r--r--offapi/com/sun/star/deployment/test/SmoketestCommandEnvironment.idl37
-rw-r--r--offapi/com/sun/star/deployment/thePackageManagerFactory.idl47
-rw-r--r--offapi/com/sun/star/deployment/ui/LicenseDialog.idl55
-rw-r--r--offapi/com/sun/star/deployment/ui/PackageManagerDialog.idl68
-rw-r--r--offapi/com/sun/star/deployment/ui/UpdateRequiredDialog.idl46
-rw-r--r--offapi/com/sun/star/document/AmbigousFilterRequest.idl61
-rw-r--r--offapi/com/sun/star/document/BrokenPackageRequest.idl44
-rw-r--r--offapi/com/sun/star/document/ChangedByOthersRequest.idl43
-rw-r--r--offapi/com/sun/star/document/CmisProperty.idl72
-rw-r--r--offapi/com/sun/star/document/CmisVersion.idl52
-rw-r--r--offapi/com/sun/star/document/CorruptedFilterConfigurationException.idl46
-rw-r--r--offapi/com/sun/star/document/DocumentEvent.idl72
-rw-r--r--offapi/com/sun/star/document/DocumentProperties.idl52
-rw-r--r--offapi/com/sun/star/document/DocumentRevisionListPersistence.idl40
-rw-r--r--offapi/com/sun/star/document/EmptyUndoStackException.idl43
-rw-r--r--offapi/com/sun/star/document/EventDescriptor.idl57
-rw-r--r--offapi/com/sun/star/document/EventObject.idl51
-rw-r--r--offapi/com/sun/star/document/Events.idl93
-rw-r--r--offapi/com/sun/star/document/ExoticFileLoadException.idl34
-rw-r--r--offapi/com/sun/star/document/ExportFilter.idl112
-rw-r--r--offapi/com/sun/star/document/ExtendedTypeDetection.idl97
-rw-r--r--offapi/com/sun/star/document/ExtendedTypeDetectionFactory.idl129
-rw-r--r--offapi/com/sun/star/document/FilterAdapter.idl42
-rw-r--r--offapi/com/sun/star/document/FilterConfigRefresh.idl40
-rw-r--r--offapi/com/sun/star/document/FilterFactory.idl226
-rw-r--r--offapi/com/sun/star/document/FilterOptionsRequest.idl51
-rw-r--r--offapi/com/sun/star/document/GraphicStorageHandler.idl34
-rw-r--r--offapi/com/sun/star/document/HeaderFooterSettings.idl61
-rw-r--r--offapi/com/sun/star/document/ImportFilter.idl112
-rw-r--r--offapi/com/sun/star/document/IndexedPropertyValues.idl37
-rw-r--r--offapi/com/sun/star/document/LinkTarget.idl55
-rw-r--r--offapi/com/sun/star/document/LinkTargets.idl47
-rw-r--r--offapi/com/sun/star/document/LinkUpdateModes.idl52
-rw-r--r--offapi/com/sun/star/document/LockFileCorruptRequest.idl43
-rw-r--r--offapi/com/sun/star/document/LockFileIgnoreRequest.idl43
-rw-r--r--offapi/com/sun/star/document/LockedDocumentRequest.idl50
-rw-r--r--offapi/com/sun/star/document/LockedOnSavingRequest.idl51
-rw-r--r--offapi/com/sun/star/document/MacroExecMode.idl113
-rw-r--r--offapi/com/sun/star/document/MediaDescriptor.idl619
-rw-r--r--offapi/com/sun/star/document/NamedPropertyValues.idl37
-rw-r--r--offapi/com/sun/star/document/NoSuchFilterRequest.idl57
-rw-r--r--offapi/com/sun/star/document/OOXMLDocumentPropertiesImporter.idl37
-rw-r--r--offapi/com/sun/star/document/OfficeDocument.idl176
-rw-r--r--offapi/com/sun/star/document/OleEmbeddedServerRegistration.idl45
-rw-r--r--offapi/com/sun/star/document/OwnLockOnDocumentRequest.idl54
-rw-r--r--offapi/com/sun/star/document/PDFDialog.idl50
-rw-r--r--offapi/com/sun/star/document/PrinterIndependentLayout.idl57
-rw-r--r--offapi/com/sun/star/document/RedlineDisplayType.idl51
-rw-r--r--offapi/com/sun/star/document/ReloadEditableRequest.idl50
-rw-r--r--offapi/com/sun/star/document/Settings.idl293
-rw-r--r--offapi/com/sun/star/document/TypeDetection.idl173
-rw-r--r--offapi/com/sun/star/document/UndoContextNotClosedException.idl43
-rw-r--r--offapi/com/sun/star/document/UndoFailedException.idl48
-rw-r--r--offapi/com/sun/star/document/UndoManagerEvent.idl55
-rw-r--r--offapi/com/sun/star/document/UpdateDocMode.idl62
-rw-r--r--offapi/com/sun/star/document/XActionLockable.idl72
-rw-r--r--offapi/com/sun/star/document/XBinaryStreamResolver.idl69
-rw-r--r--offapi/com/sun/star/document/XCmisDocument.idl61
-rw-r--r--offapi/com/sun/star/document/XCodeNameQuery.idl38
-rw-r--r--offapi/com/sun/star/document/XCompatWriterDocProperties.idl37
-rw-r--r--offapi/com/sun/star/document/XDocumentEventBroadcaster.idl105
-rw-r--r--offapi/com/sun/star/document/XDocumentEventListener.idl51
-rw-r--r--offapi/com/sun/star/document/XDocumentInsertable.idl58
-rw-r--r--offapi/com/sun/star/document/XDocumentLanguages.idl46
-rw-r--r--offapi/com/sun/star/document/XDocumentProperties.idl398
-rw-r--r--offapi/com/sun/star/document/XDocumentPropertiesSupplier.idl55
-rw-r--r--offapi/com/sun/star/document/XDocumentRecovery.idl119
-rw-r--r--offapi/com/sun/star/document/XDocumentRevisionListPersistence.idl62
-rw-r--r--offapi/com/sun/star/document/XDocumentSubStorageSupplier.idl67
-rw-r--r--offapi/com/sun/star/document/XEmbeddedObjectResolver.idl43
-rw-r--r--offapi/com/sun/star/document/XEmbeddedObjectSupplier.idl46
-rw-r--r--offapi/com/sun/star/document/XEmbeddedObjectSupplier2.idl60
-rw-r--r--offapi/com/sun/star/document/XEmbeddedScripts.idl60
-rw-r--r--offapi/com/sun/star/document/XEventBroadcaster.idl56
-rw-r--r--offapi/com/sun/star/document/XEventListener.idl51
-rw-r--r--offapi/com/sun/star/document/XEventsSupplier.idl45
-rw-r--r--offapi/com/sun/star/document/XExporter.idl62
-rw-r--r--offapi/com/sun/star/document/XExtendedFilterDetection.idl68
-rw-r--r--offapi/com/sun/star/document/XFilter.idl72
-rw-r--r--offapi/com/sun/star/document/XFilterAdapter.idl56
-rw-r--r--offapi/com/sun/star/document/XGraphicObjectResolver.idl49
-rw-r--r--offapi/com/sun/star/document/XGraphicStorageHandler.idl53
-rw-r--r--offapi/com/sun/star/document/XImporter.idl62
-rw-r--r--offapi/com/sun/star/document/XInteractionFilterOptions.idl53
-rw-r--r--offapi/com/sun/star/document/XInteractionFilterSelect.idl67
-rw-r--r--offapi/com/sun/star/document/XLinkTargetSupplier.idl51
-rw-r--r--offapi/com/sun/star/document/XMLBasicExporter.idl49
-rw-r--r--offapi/com/sun/star/document/XMLOasisBasicExporter.idl49
-rw-r--r--offapi/com/sun/star/document/XMimeTypeInfo.idl50
-rw-r--r--offapi/com/sun/star/document/XOOXMLDocumentPropertiesImporter.idl105
-rw-r--r--offapi/com/sun/star/document/XRedlinesSupplier.idl47
-rw-r--r--offapi/com/sun/star/document/XScriptInvocationContext.idl61
-rw-r--r--offapi/com/sun/star/document/XShapeEventBroadcaster.idl57
-rw-r--r--offapi/com/sun/star/document/XShapeEventListener.idl49
-rw-r--r--offapi/com/sun/star/document/XStorageBasedDocument.idl87
-rw-r--r--offapi/com/sun/star/document/XStorageChangeListener.idl51
-rw-r--r--offapi/com/sun/star/document/XTypeDetection.idl108
-rw-r--r--offapi/com/sun/star/document/XUndoAction.idl68
-rw-r--r--offapi/com/sun/star/document/XUndoManager.idl330
-rw-r--r--offapi/com/sun/star/document/XUndoManagerListener.idl136
-rw-r--r--offapi/com/sun/star/document/XUndoManagerSupplier.idl48
-rw-r--r--offapi/com/sun/star/document/XVbaMethodParameter.idl50
-rw-r--r--offapi/com/sun/star/document/XViewDataSupplier.idl63
-rw-r--r--offapi/com/sun/star/document/XXMLBasicExporter.idl52
-rw-r--r--offapi/com/sun/star/drawing/AccessibleDrawDocumentView.idl127
-rw-r--r--offapi/com/sun/star/drawing/AccessibleGraphControl.idl77
-rw-r--r--offapi/com/sun/star/drawing/AccessibleGraphicShape.idl83
-rw-r--r--offapi/com/sun/star/drawing/AccessibleImageBullet.idl86
-rw-r--r--offapi/com/sun/star/drawing/AccessibleOLEShape.idl73
-rw-r--r--offapi/com/sun/star/drawing/AccessibleShape.idl189
-rw-r--r--offapi/com/sun/star/drawing/AccessibleSlideView.idl51
-rw-r--r--offapi/com/sun/star/drawing/AccessibleSlideViewObject.idl50
-rw-r--r--offapi/com/sun/star/drawing/Alignment.idl48
-rw-r--r--offapi/com/sun/star/drawing/AppletShape.idl78
-rw-r--r--offapi/com/sun/star/drawing/Arrangement.idl56
-rw-r--r--offapi/com/sun/star/drawing/Background.idl42
-rw-r--r--offapi/com/sun/star/drawing/BarCode.idl48
-rw-r--r--offapi/com/sun/star/drawing/BarCodeErrorCorrection.idl50
-rw-r--r--offapi/com/sun/star/drawing/BezierPoint.idl56
-rw-r--r--offapi/com/sun/star/drawing/BitmapMode.idl53
-rw-r--r--offapi/com/sun/star/drawing/BitmapTable.idl52
-rw-r--r--offapi/com/sun/star/drawing/BoundVolume.idl47
-rw-r--r--offapi/com/sun/star/drawing/CameraGeometry.idl49
-rw-r--r--offapi/com/sun/star/drawing/CanvasFeature.idl37
-rw-r--r--offapi/com/sun/star/drawing/CaptionEscapeDirection.idl54
-rw-r--r--offapi/com/sun/star/drawing/CaptionShape.idl131
-rw-r--r--offapi/com/sun/star/drawing/CaptionType.idl53
-rw-r--r--offapi/com/sun/star/drawing/CircleKind.idl53
-rw-r--r--offapi/com/sun/star/drawing/ClosedBezierShape.idl65
-rw-r--r--offapi/com/sun/star/drawing/ColorMode.idl55
-rw-r--r--offapi/com/sun/star/drawing/ColorTable.idl38
-rw-r--r--offapi/com/sun/star/drawing/ConnectionType.idl62
-rw-r--r--offapi/com/sun/star/drawing/ConnectorProperties.idl65
-rw-r--r--offapi/com/sun/star/drawing/ConnectorShape.idl118
-rw-r--r--offapi/com/sun/star/drawing/ConnectorType.idl54
-rw-r--r--offapi/com/sun/star/drawing/ControlShape.idl47
-rw-r--r--offapi/com/sun/star/drawing/CoordinateSequence.idl33
-rw-r--r--offapi/com/sun/star/drawing/CoordinateSequenceSequence.idl34
-rw-r--r--offapi/com/sun/star/drawing/CustomShape.idl84
-rw-r--r--offapi/com/sun/star/drawing/CustomShapeEngine.idl47
-rw-r--r--offapi/com/sun/star/drawing/DashStyle.idl55
-rw-r--r--offapi/com/sun/star/drawing/DashTable.idl52
-rw-r--r--offapi/com/sun/star/drawing/Defaults.idl53
-rw-r--r--offapi/com/sun/star/drawing/Direction3D.idl41
-rw-r--r--offapi/com/sun/star/drawing/DocumentSettings.idl95
-rw-r--r--offapi/com/sun/star/drawing/DoubleSequence.idl33
-rw-r--r--offapi/com/sun/star/drawing/DoubleSequenceSequence.idl34
-rw-r--r--offapi/com/sun/star/drawing/DrawPage.idl65
-rw-r--r--offapi/com/sun/star/drawing/DrawPages.idl62
-rw-r--r--offapi/com/sun/star/drawing/DrawViewMode.idl52
-rw-r--r--offapi/com/sun/star/drawing/DrawingDocument.idl42
-rw-r--r--offapi/com/sun/star/drawing/DrawingDocumentDrawView.idl152
-rw-r--r--offapi/com/sun/star/drawing/DrawingDocumentFactory.idl42
-rw-r--r--offapi/com/sun/star/drawing/EllipseShape.idl77
-rw-r--r--offapi/com/sun/star/drawing/EnhancedCustomShapeAdjustmentValue.idl49
-rw-r--r--offapi/com/sun/star/drawing/EnhancedCustomShapeExtrusion.idl159
-rw-r--r--offapi/com/sun/star/drawing/EnhancedCustomShapeGeometry.idl99
-rw-r--r--offapi/com/sun/star/drawing/EnhancedCustomShapeGluePointType.idl54
-rw-r--r--offapi/com/sun/star/drawing/EnhancedCustomShapeHandle.idl109
-rw-r--r--offapi/com/sun/star/drawing/EnhancedCustomShapeMetalType.idl36
-rw-r--r--offapi/com/sun/star/drawing/EnhancedCustomShapeParameter.idl42
-rw-r--r--offapi/com/sun/star/drawing/EnhancedCustomShapeParameterPair.idl43
-rw-r--r--offapi/com/sun/star/drawing/EnhancedCustomShapeParameterType.idl97
-rw-r--r--offapi/com/sun/star/drawing/EnhancedCustomShapePath.idl100
-rw-r--r--offapi/com/sun/star/drawing/EnhancedCustomShapeSegment.idl40
-rw-r--r--offapi/com/sun/star/drawing/EnhancedCustomShapeSegmentCommand.idl91
-rw-r--r--offapi/com/sun/star/drawing/EnhancedCustomShapeTextFrame.idl44
-rw-r--r--offapi/com/sun/star/drawing/EnhancedCustomShapeTextPath.idl51
-rw-r--r--offapi/com/sun/star/drawing/EnhancedCustomShapeTextPathMode.idl47
-rw-r--r--offapi/com/sun/star/drawing/EscapeDirection.idl46
-rw-r--r--offapi/com/sun/star/drawing/FillProperties.idl244
-rw-r--r--offapi/com/sun/star/drawing/FillStyle.idl53
-rw-r--r--offapi/com/sun/star/drawing/FlagSequence.idl34
-rw-r--r--offapi/com/sun/star/drawing/FlagSequenceSequence.idl35
-rw-r--r--offapi/com/sun/star/drawing/GenericDrawPage.idl166
-rw-r--r--offapi/com/sun/star/drawing/GenericDrawingDocument.idl194
-rw-r--r--offapi/com/sun/star/drawing/GluePoint.idl67
-rw-r--r--offapi/com/sun/star/drawing/GluePoint2.idl71
-rw-r--r--offapi/com/sun/star/drawing/GradientTable.idl52
-rw-r--r--offapi/com/sun/star/drawing/GraphicExportFilter.idl39
-rw-r--r--offapi/com/sun/star/drawing/GraphicFilterRequest.idl45
-rw-r--r--offapi/com/sun/star/drawing/GraphicObjectShape.idl169
-rw-r--r--offapi/com/sun/star/drawing/GroupShape.idl59
-rw-r--r--offapi/com/sun/star/drawing/Hatch.idl61
-rw-r--r--offapi/com/sun/star/drawing/HatchStyle.idl49
-rw-r--r--offapi/com/sun/star/drawing/HatchTable.idl52
-rw-r--r--offapi/com/sun/star/drawing/HomogenMatrix.idl44
-rw-r--r--offapi/com/sun/star/drawing/HomogenMatrix3.idl42
-rw-r--r--offapi/com/sun/star/drawing/HomogenMatrix4.idl43
-rw-r--r--offapi/com/sun/star/drawing/HomogenMatrixLine.idl42
-rw-r--r--offapi/com/sun/star/drawing/HomogenMatrixLine3.idl41
-rw-r--r--offapi/com/sun/star/drawing/HomogenMatrixLine4.idl42
-rw-r--r--offapi/com/sun/star/drawing/HorizontalDimensioning.idl55
-rw-r--r--offapi/com/sun/star/drawing/Layer.idl78
-rw-r--r--offapi/com/sun/star/drawing/LayerManager.idl60
-rw-r--r--offapi/com/sun/star/drawing/LayerType.idl53
-rw-r--r--offapi/com/sun/star/drawing/LineCap.idl45
-rw-r--r--offapi/com/sun/star/drawing/LineDash.idl64
-rw-r--r--offapi/com/sun/star/drawing/LineEndType.idl56
-rw-r--r--offapi/com/sun/star/drawing/LineJoint.idl52
-rw-r--r--offapi/com/sun/star/drawing/LineProperties.idl128
-rw-r--r--offapi/com/sun/star/drawing/LineShape.idl60
-rw-r--r--offapi/com/sun/star/drawing/LineStyle.idl48
-rw-r--r--offapi/com/sun/star/drawing/MarkerTable.idl52
-rw-r--r--offapi/com/sun/star/drawing/MasterPage.idl61
-rw-r--r--offapi/com/sun/star/drawing/MasterPages.idl48
-rw-r--r--offapi/com/sun/star/drawing/MeasureKind.idl48
-rw-r--r--offapi/com/sun/star/drawing/MeasureProperties.idl120
-rw-r--r--offapi/com/sun/star/drawing/MeasureShape.idl68
-rw-r--r--offapi/com/sun/star/drawing/MeasureTextHorzPos.idl44
-rw-r--r--offapi/com/sun/star/drawing/MeasureTextVertPos.idl44
-rw-r--r--offapi/com/sun/star/drawing/MirrorAxis.idl45
-rw-r--r--offapi/com/sun/star/drawing/ModuleDispatcher.idl38
-rw-r--r--offapi/com/sun/star/drawing/NormalsKind.idl52
-rw-r--r--offapi/com/sun/star/drawing/OLE2Shape.idl67
-rw-r--r--offapi/com/sun/star/drawing/OpenBezierShape.idl62
-rw-r--r--offapi/com/sun/star/drawing/PageShape.idl52
-rw-r--r--offapi/com/sun/star/drawing/PluginShape.idl64
-rw-r--r--offapi/com/sun/star/drawing/PointSequence.idl34
-rw-r--r--offapi/com/sun/star/drawing/PointSequenceSequence.idl34
-rw-r--r--offapi/com/sun/star/drawing/PolyLineShape.idl62
-rw-r--r--offapi/com/sun/star/drawing/PolyPolygonBezierCoords.idl44
-rw-r--r--offapi/com/sun/star/drawing/PolyPolygonBezierDescriptor.idl58
-rw-r--r--offapi/com/sun/star/drawing/PolyPolygonBezierShape.idl63
-rw-r--r--offapi/com/sun/star/drawing/PolyPolygonDescriptor.idl57
-rw-r--r--offapi/com/sun/star/drawing/PolyPolygonShape.idl67
-rw-r--r--offapi/com/sun/star/drawing/PolyPolygonShape3D.idl43
-rw-r--r--offapi/com/sun/star/drawing/PolygonFlags.idl50
-rw-r--r--offapi/com/sun/star/drawing/PolygonKind.idl73
-rw-r--r--offapi/com/sun/star/drawing/Position3D.idl47
-rw-r--r--offapi/com/sun/star/drawing/ProjectionMode.idl45
-rw-r--r--offapi/com/sun/star/drawing/RectanglePoint.idl65
-rw-r--r--offapi/com/sun/star/drawing/RectangleShape.idl66
-rw-r--r--offapi/com/sun/star/drawing/RotationDescriptor.idl65
-rw-r--r--offapi/com/sun/star/drawing/ShadeMode.idl58
-rw-r--r--offapi/com/sun/star/drawing/ShadingPattern.idl225
-rw-r--r--offapi/com/sun/star/drawing/ShadowProperties.idl74
-rw-r--r--offapi/com/sun/star/drawing/Shape.idl204
-rw-r--r--offapi/com/sun/star/drawing/ShapeCollection.idl41
-rw-r--r--offapi/com/sun/star/drawing/Shapes.idl41
-rw-r--r--offapi/com/sun/star/drawing/SlideRenderer.idl40
-rw-r--r--offapi/com/sun/star/drawing/SlideSorter.idl60
-rw-r--r--offapi/com/sun/star/drawing/SnapObjectType.idl41
-rw-r--r--offapi/com/sun/star/drawing/Text.idl50
-rw-r--r--offapi/com/sun/star/drawing/TextAdjust.idl63
-rw-r--r--offapi/com/sun/star/drawing/TextAnimationDirection.idl42
-rw-r--r--offapi/com/sun/star/drawing/TextAnimationKind.idl57
-rw-r--r--offapi/com/sun/star/drawing/TextFitToSizeType.idl68
-rw-r--r--offapi/com/sun/star/drawing/TextHorizontalAdjust.idl59
-rw-r--r--offapi/com/sun/star/drawing/TextProperties.idl267
-rw-r--r--offapi/com/sun/star/drawing/TextShape.idl63
-rw-r--r--offapi/com/sun/star/drawing/TextVerticalAdjust.idl56
-rw-r--r--offapi/com/sun/star/drawing/TextureKind.idl49
-rw-r--r--offapi/com/sun/star/drawing/TextureKind2.idl54
-rw-r--r--offapi/com/sun/star/drawing/TextureMode.idl50
-rw-r--r--offapi/com/sun/star/drawing/TextureProjectionMode.idl55
-rw-r--r--offapi/com/sun/star/drawing/TransparencyGradientTable.idl52
-rw-r--r--offapi/com/sun/star/drawing/VerticalDimensioning.idl55
-rw-r--r--offapi/com/sun/star/drawing/XConnectableShape.idl49
-rw-r--r--offapi/com/sun/star/drawing/XConnectorShape.idl64
-rw-r--r--offapi/com/sun/star/drawing/XControlShape.idl67
-rw-r--r--offapi/com/sun/star/drawing/XCustomShapeEngine.idl66
-rw-r--r--offapi/com/sun/star/drawing/XCustomShapeHandle.idl52
-rw-r--r--offapi/com/sun/star/drawing/XDrawPage.idl40
-rw-r--r--offapi/com/sun/star/drawing/XDrawPageDuplicator.idl58
-rw-r--r--offapi/com/sun/star/drawing/XDrawPageExpander.idl57
-rw-r--r--offapi/com/sun/star/drawing/XDrawPageSummarizer.idl51
-rw-r--r--offapi/com/sun/star/drawing/XDrawPageSupplier.idl52
-rw-r--r--offapi/com/sun/star/drawing/XDrawPages.idl74
-rw-r--r--offapi/com/sun/star/drawing/XDrawPagesSupplier.idl48
-rw-r--r--offapi/com/sun/star/drawing/XDrawSubController.idl59
-rw-r--r--offapi/com/sun/star/drawing/XDrawView.idl60
-rw-r--r--offapi/com/sun/star/drawing/XEnhancedCustomShapeDefaulter.idl281
-rw-r--r--offapi/com/sun/star/drawing/XGluePointsSupplier.idl46
-rw-r--r--offapi/com/sun/star/drawing/XGraphicExportFilter.idl93
-rw-r--r--offapi/com/sun/star/drawing/XLayer.idl40
-rw-r--r--offapi/com/sun/star/drawing/XLayerManager.idl95
-rw-r--r--offapi/com/sun/star/drawing/XLayerSupplier.idl51
-rw-r--r--offapi/com/sun/star/drawing/XMasterPageTarget.idl58
-rw-r--r--offapi/com/sun/star/drawing/XMasterPagesSupplier.idl49
-rw-r--r--offapi/com/sun/star/drawing/XPresenterHelper.idl158
-rw-r--r--offapi/com/sun/star/drawing/XSelectionFunction.idl52
-rw-r--r--offapi/com/sun/star/drawing/XShape.idl80
-rw-r--r--offapi/com/sun/star/drawing/XShapeAligner.idl51
-rw-r--r--offapi/com/sun/star/drawing/XShapeArranger.idl83
-rw-r--r--offapi/com/sun/star/drawing/XShapeBinder.idl71
-rw-r--r--offapi/com/sun/star/drawing/XShapeCombiner.idl74
-rw-r--r--offapi/com/sun/star/drawing/XShapeDescriptor.idl49
-rw-r--r--offapi/com/sun/star/drawing/XShapeGroup.idl67
-rw-r--r--offapi/com/sun/star/drawing/XShapeGrouper.idl75
-rw-r--r--offapi/com/sun/star/drawing/XShapeMirror.idl63
-rw-r--r--offapi/com/sun/star/drawing/XShapes.idl64
-rw-r--r--offapi/com/sun/star/drawing/XShapes2.idl47
-rw-r--r--offapi/com/sun/star/drawing/XShapes3.idl44
-rw-r--r--offapi/com/sun/star/drawing/XSlidePreviewCache.idl108
-rw-r--r--offapi/com/sun/star/drawing/XSlidePreviewCacheListener.idl47
-rw-r--r--offapi/com/sun/star/drawing/XSlideRenderer.idl104
-rw-r--r--offapi/com/sun/star/drawing/XSlideSorterBase.idl119
-rw-r--r--offapi/com/sun/star/drawing/XUniversalShapeDescriptor.idl41
-rw-r--r--offapi/com/sun/star/drawing/framework/AnchorBindingMode.idl44
-rw-r--r--offapi/com/sun/star/drawing/framework/BasicPaneFactory.idl52
-rw-r--r--offapi/com/sun/star/drawing/framework/BasicToolBarFactory.idl55
-rw-r--r--offapi/com/sun/star/drawing/framework/BasicViewFactory.idl57
-rw-r--r--offapi/com/sun/star/drawing/framework/BorderType.idl40
-rw-r--r--offapi/com/sun/star/drawing/framework/Configuration.idl49
-rw-r--r--offapi/com/sun/star/drawing/framework/ConfigurationChangeEvent.idl78
-rw-r--r--offapi/com/sun/star/drawing/framework/ConfigurationController.idl51
-rw-r--r--offapi/com/sun/star/drawing/framework/ModuleController.idl49
-rw-r--r--offapi/com/sun/star/drawing/framework/ResourceActivationMode.idl47
-rw-r--r--offapi/com/sun/star/drawing/framework/ResourceId.idl62
-rw-r--r--offapi/com/sun/star/drawing/framework/TabBarButton.idl58
-rw-r--r--offapi/com/sun/star/drawing/framework/XConfiguration.idl126
-rw-r--r--offapi/com/sun/star/drawing/framework/XConfigurationChangeListener.idl47
-rw-r--r--offapi/com/sun/star/drawing/framework/XConfigurationChangeRequest.idl58
-rw-r--r--offapi/com/sun/star/drawing/framework/XConfigurationController.idl255
-rw-r--r--offapi/com/sun/star/drawing/framework/XConfigurationControllerBroadcaster.idl81
-rw-r--r--offapi/com/sun/star/drawing/framework/XConfigurationControllerRequestQueue.idl67
-rw-r--r--offapi/com/sun/star/drawing/framework/XControllerManager.idl55
-rw-r--r--offapi/com/sun/star/drawing/framework/XModuleController.idl53
-rw-r--r--offapi/com/sun/star/drawing/framework/XPane.idl60
-rw-r--r--offapi/com/sun/star/drawing/framework/XPane2.idl68
-rw-r--r--offapi/com/sun/star/drawing/framework/XPaneBorderPainter.idl152
-rw-r--r--offapi/com/sun/star/drawing/framework/XRelocatableResource.idl48
-rw-r--r--offapi/com/sun/star/drawing/framework/XResource.idl55
-rw-r--r--offapi/com/sun/star/drawing/framework/XResourceFactory.idl80
-rw-r--r--offapi/com/sun/star/drawing/framework/XResourceFactoryManager.idl90
-rw-r--r--offapi/com/sun/star/drawing/framework/XResourceId.idl145
-rw-r--r--offapi/com/sun/star/drawing/framework/XTabBar.idl94
-rw-r--r--offapi/com/sun/star/drawing/framework/XToolBar.idl40
-rw-r--r--offapi/com/sun/star/drawing/framework/XView.idl46
-rw-r--r--offapi/com/sun/star/drawing/modules.idl50
-rw-r--r--offapi/com/sun/star/embed/Actions.idl58
-rw-r--r--offapi/com/sun/star/embed/Aspects.idl70
-rw-r--r--offapi/com/sun/star/embed/BaseStorage.idl63
-rw-r--r--offapi/com/sun/star/embed/DocumentCloser.idl68
-rw-r--r--offapi/com/sun/star/embed/ElementModes.idl99
-rw-r--r--offapi/com/sun/star/embed/EmbedMapUnits.idl91
-rw-r--r--offapi/com/sun/star/embed/EmbedMisc.idl114
-rw-r--r--offapi/com/sun/star/embed/EmbedStates.idl84
-rw-r--r--offapi/com/sun/star/embed/EmbedUpdateModes.idl56
-rw-r--r--offapi/com/sun/star/embed/EmbedVerbs.idl67
-rw-r--r--offapi/com/sun/star/embed/EmbeddedObjectCreator.idl37
-rw-r--r--offapi/com/sun/star/embed/EmbeddedObjectDescriptor.idl84
-rw-r--r--offapi/com/sun/star/embed/EntryInitModes.idl66
-rw-r--r--offapi/com/sun/star/embed/FileSystemStorage.idl104
-rw-r--r--offapi/com/sun/star/embed/FileSystemStorageFactory.idl92
-rw-r--r--offapi/com/sun/star/embed/HatchWindowFactory.idl38
-rw-r--r--offapi/com/sun/star/embed/InsertedObjectInfo.idl54
-rw-r--r--offapi/com/sun/star/embed/InstanceLocker.idl97
-rw-r--r--offapi/com/sun/star/embed/InvalidStorageException.idl44
-rw-r--r--offapi/com/sun/star/embed/LinkageMisuseException.idl44
-rw-r--r--offapi/com/sun/star/embed/MSOLEObjectSystemCreator.idl37
-rw-r--r--offapi/com/sun/star/embed/NeedsRunningStateException.idl47
-rw-r--r--offapi/com/sun/star/embed/NoVisualAreaSizeException.idl41
-rw-r--r--offapi/com/sun/star/embed/OLEEmbeddedObjectFactory.idl37
-rw-r--r--offapi/com/sun/star/embed/OLESimpleStorage.idl65
-rw-r--r--offapi/com/sun/star/embed/OOoEmbeddedObjectFactory.idl37
-rw-r--r--offapi/com/sun/star/embed/ObjectSaveVetoException.idl43
-rw-r--r--offapi/com/sun/star/embed/StateChangeInProgressException.idl49
-rw-r--r--offapi/com/sun/star/embed/Storage.idl322
-rw-r--r--offapi/com/sun/star/embed/StorageFactory.idl107
-rw-r--r--offapi/com/sun/star/embed/StorageFormats.idl52
-rw-r--r--offapi/com/sun/star/embed/StorageStream.idl205
-rw-r--r--offapi/com/sun/star/embed/StorageWrappedTargetException.idl41
-rw-r--r--offapi/com/sun/star/embed/UnreachableStateException.idl47
-rw-r--r--offapi/com/sun/star/embed/UseBackupException.idl54
-rw-r--r--offapi/com/sun/star/embed/VerbAttributes.idl47
-rw-r--r--offapi/com/sun/star/embed/VerbDescriptor.idl62
-rw-r--r--offapi/com/sun/star/embed/VisualRepresentation.idl47
-rw-r--r--offapi/com/sun/star/embed/WrongStateException.idl41
-rw-r--r--offapi/com/sun/star/embed/XActionsApproval.idl57
-rw-r--r--offapi/com/sun/star/embed/XClassifiedObject.idl68
-rw-r--r--offapi/com/sun/star/embed/XCommonEmbedPersist.idl106
-rw-r--r--offapi/com/sun/star/embed/XComponentSupplier.idl48
-rw-r--r--offapi/com/sun/star/embed/XEmbedObjectClipboardCreator.idl91
-rw-r--r--offapi/com/sun/star/embed/XEmbedObjectCreator.idl176
-rw-r--r--offapi/com/sun/star/embed/XEmbedObjectFactory.idl106
-rw-r--r--offapi/com/sun/star/embed/XEmbedPersist.idl239
-rw-r--r--offapi/com/sun/star/embed/XEmbedPersist2.idl30
-rw-r--r--offapi/com/sun/star/embed/XEmbeddedClient.idl67
-rw-r--r--offapi/com/sun/star/embed/XEmbeddedObject.idl236
-rw-r--r--offapi/com/sun/star/embed/XEmbeddedObjectCreator.idl46
-rw-r--r--offapi/com/sun/star/embed/XEmbeddedOleObject.idl28
-rw-r--r--offapi/com/sun/star/embed/XEncryptionProtectedSource.idl57
-rw-r--r--offapi/com/sun/star/embed/XEncryptionProtectedSource2.idl58
-rw-r--r--offapi/com/sun/star/embed/XEncryptionProtectedStorage.idl125
-rw-r--r--offapi/com/sun/star/embed/XExtendedStorageStream.idl96
-rw-r--r--offapi/com/sun/star/embed/XHatchWindow.idl56
-rw-r--r--offapi/com/sun/star/embed/XHatchWindowController.idl66
-rw-r--r--offapi/com/sun/star/embed/XHatchWindowFactory.idl66
-rw-r--r--offapi/com/sun/star/embed/XHierarchicalStorageAccess.idl186
-rw-r--r--offapi/com/sun/star/embed/XHierarchicalStorageAccess2.idl94
-rw-r--r--offapi/com/sun/star/embed/XInplaceClient.idl194
-rw-r--r--offapi/com/sun/star/embed/XInplaceObject.idl109
-rw-r--r--offapi/com/sun/star/embed/XInsertObjectDialog.idl81
-rw-r--r--offapi/com/sun/star/embed/XLinkCreator.idl88
-rw-r--r--offapi/com/sun/star/embed/XLinkFactory.idl91
-rw-r--r--offapi/com/sun/star/embed/XLinkageSupport.idl119
-rw-r--r--offapi/com/sun/star/embed/XOLESimpleStorage.idl77
-rw-r--r--offapi/com/sun/star/embed/XOptimizedStorage.idl165
-rw-r--r--offapi/com/sun/star/embed/XPackageStructureCreator.idl55
-rw-r--r--offapi/com/sun/star/embed/XPersistanceHolder.idl68
-rw-r--r--offapi/com/sun/star/embed/XRelationshipAccess.idl249
-rw-r--r--offapi/com/sun/star/embed/XStateChangeBroadcaster.idl51
-rw-r--r--offapi/com/sun/star/embed/XStateChangeListener.idl84
-rw-r--r--offapi/com/sun/star/embed/XStorage.idl592
-rw-r--r--offapi/com/sun/star/embed/XStorage2.idl148
-rw-r--r--offapi/com/sun/star/embed/XStorageRawAccess.idl187
-rw-r--r--offapi/com/sun/star/embed/XTransactedObject.idl52
-rw-r--r--offapi/com/sun/star/embed/XTransactionBroadcaster.idl52
-rw-r--r--offapi/com/sun/star/embed/XTransactionListener.idl61
-rw-r--r--offapi/com/sun/star/embed/XTransferableSupplier.idl49
-rw-r--r--offapi/com/sun/star/embed/XVisualObject.idl151
-rw-r--r--offapi/com/sun/star/embed/XWindowSupplier.idl44
-rw-r--r--offapi/com/sun/star/form/ControlFontDialog.idl42
-rw-r--r--offapi/com/sun/star/form/DataAwareControlModel.idl173
-rw-r--r--offapi/com/sun/star/form/DataSelectionType.idl44
-rw-r--r--offapi/com/sun/star/form/DatabaseDeleteEvent.idl44
-rw-r--r--offapi/com/sun/star/form/DatabaseParameterEvent.idl54
-rw-r--r--offapi/com/sun/star/form/ErrorEvent.idl44
-rw-r--r--offapi/com/sun/star/form/FormButtonType.idl61
-rw-r--r--offapi/com/sun/star/form/FormComponent.idl104
-rw-r--r--offapi/com/sun/star/form/FormComponentType.idl131
-rw-r--r--offapi/com/sun/star/form/FormComponents.idl84
-rw-r--r--offapi/com/sun/star/form/FormControlModel.idl90
-rw-r--r--offapi/com/sun/star/form/FormController.idl71
-rw-r--r--offapi/com/sun/star/form/FormControllerDispatcher.idl43
-rw-r--r--offapi/com/sun/star/form/FormSubmitEncoding.idl56
-rw-r--r--offapi/com/sun/star/form/FormSubmitMethod.idl49
-rw-r--r--offapi/com/sun/star/form/Forms.idl43
-rw-r--r--offapi/com/sun/star/form/ListSourceType.idl71
-rw-r--r--offapi/com/sun/star/form/NavigationBarMode.idl68
-rw-r--r--offapi/com/sun/star/form/PropertyBrowserController.idl126
-rw-r--r--offapi/com/sun/star/form/TabOrderDialog.idl46
-rw-r--r--offapi/com/sun/star/form/TabulatorCycle.idl69
-rw-r--r--offapi/com/sun/star/form/XApproveActionBroadcaster.idl63
-rw-r--r--offapi/com/sun/star/form/XApproveActionListener.idl60
-rw-r--r--offapi/com/sun/star/form/XBoundComponent.idl60
-rw-r--r--offapi/com/sun/star/form/XBoundControl.idl58
-rw-r--r--offapi/com/sun/star/form/XChangeBroadcaster.idl67
-rw-r--r--offapi/com/sun/star/form/XChangeListener.idl56
-rw-r--r--offapi/com/sun/star/form/XConfirmDeleteBroadcaster.idl68
-rw-r--r--offapi/com/sun/star/form/XConfirmDeleteListener.idl54
-rw-r--r--offapi/com/sun/star/form/XDatabaseParameterBroadcaster.idl65
-rw-r--r--offapi/com/sun/star/form/XDatabaseParameterBroadcaster2.idl63
-rw-r--r--offapi/com/sun/star/form/XDatabaseParameterListener.idl55
-rw-r--r--offapi/com/sun/star/form/XDeleteListener.idl62
-rw-r--r--offapi/com/sun/star/form/XErrorBroadcaster.idl57
-rw-r--r--offapi/com/sun/star/form/XErrorListener.idl57
-rw-r--r--offapi/com/sun/star/form/XForm.idl45
-rw-r--r--offapi/com/sun/star/form/XFormComponent.idl45
-rw-r--r--offapi/com/sun/star/form/XFormController.idl49
-rw-r--r--offapi/com/sun/star/form/XFormControllerListener.idl66
-rw-r--r--offapi/com/sun/star/form/XForms.idl87
-rw-r--r--offapi/com/sun/star/form/XFormsSupplier.idl87
-rw-r--r--offapi/com/sun/star/form/XFormsSupplier2.idl54
-rw-r--r--offapi/com/sun/star/form/XGrid.idl63
-rw-r--r--offapi/com/sun/star/form/XGridColumnFactory.idl73
-rw-r--r--offapi/com/sun/star/form/XGridControl.idl60
-rw-r--r--offapi/com/sun/star/form/XGridControlListener.idl48
-rw-r--r--offapi/com/sun/star/form/XGridFieldDataSupplier.idl79
-rw-r--r--offapi/com/sun/star/form/XGridPeer.idl62
-rw-r--r--offapi/com/sun/star/form/XImageProducerSupplier.idl52
-rw-r--r--offapi/com/sun/star/form/XInsertListener.idl59
-rw-r--r--offapi/com/sun/star/form/XLoadListener.idl93
-rw-r--r--offapi/com/sun/star/form/XLoadable.idl85
-rw-r--r--offapi/com/sun/star/form/XPositioningListener.idl53
-rw-r--r--offapi/com/sun/star/form/XReset.idl66
-rw-r--r--offapi/com/sun/star/form/XResetListener.idl73
-rw-r--r--offapi/com/sun/star/form/XRestoreListener.idl57
-rw-r--r--offapi/com/sun/star/form/XSubmit.idl83
-rw-r--r--offapi/com/sun/star/form/XSubmitListener.idl62
-rw-r--r--offapi/com/sun/star/form/XUpdateBroadcaster.idl66
-rw-r--r--offapi/com/sun/star/form/XUpdateListener.idl69
-rw-r--r--offapi/com/sun/star/form/binding/BindableControlModel.idl80
-rw-r--r--offapi/com/sun/star/form/binding/BindableDataAwareControlModel.idl118
-rw-r--r--offapi/com/sun/star/form/binding/BindableDatabaseCheckBox.idl81
-rw-r--r--offapi/com/sun/star/form/binding/BindableDatabaseComboBox.idl59
-rw-r--r--offapi/com/sun/star/form/binding/BindableDatabaseDateField.idl56
-rw-r--r--offapi/com/sun/star/form/binding/BindableDatabaseFormattedField.idl55
-rw-r--r--offapi/com/sun/star/form/binding/BindableDatabaseListBox.idl78
-rw-r--r--offapi/com/sun/star/form/binding/BindableDatabaseNumericField.idl55
-rw-r--r--offapi/com/sun/star/form/binding/BindableDatabaseRadioButton.idl78
-rw-r--r--offapi/com/sun/star/form/binding/BindableDatabaseTextField.idl58
-rw-r--r--offapi/com/sun/star/form/binding/BindableDatabaseTimeField.idl56
-rw-r--r--offapi/com/sun/star/form/binding/BindableIntegerValueRange.idl64
-rw-r--r--offapi/com/sun/star/form/binding/IncompatibleTypesException.idl42
-rw-r--r--offapi/com/sun/star/form/binding/InvalidBindingStateException.idl42
-rw-r--r--offapi/com/sun/star/form/binding/ListEntryEvent.idl63
-rw-r--r--offapi/com/sun/star/form/binding/ListEntrySource.idl58
-rw-r--r--offapi/com/sun/star/form/binding/ValueBinding.idl105
-rw-r--r--offapi/com/sun/star/form/binding/XBindableValue.idl65
-rw-r--r--offapi/com/sun/star/form/binding/XListEntryListener.idl76
-rw-r--r--offapi/com/sun/star/form/binding/XListEntrySink.idl57
-rw-r--r--offapi/com/sun/star/form/binding/XListEntrySource.idl85
-rw-r--r--offapi/com/sun/star/form/binding/XListEntryTypedSource.idl47
-rw-r--r--offapi/com/sun/star/form/binding/XValueBinding.idl86
-rw-r--r--offapi/com/sun/star/form/component/CheckBox.idl73
-rw-r--r--offapi/com/sun/star/form/component/ComboBox.idl63
-rw-r--r--offapi/com/sun/star/form/component/CommandButton.idl106
-rw-r--r--offapi/com/sun/star/form/component/CurrencyField.idl62
-rw-r--r--offapi/com/sun/star/form/component/DataForm.idl196
-rw-r--r--offapi/com/sun/star/form/component/DatabaseCheckBox.idl51
-rw-r--r--offapi/com/sun/star/form/component/DatabaseComboBox.idl79
-rw-r--r--offapi/com/sun/star/form/component/DatabaseCurrencyField.idl46
-rw-r--r--offapi/com/sun/star/form/component/DatabaseDateField.idl46
-rw-r--r--offapi/com/sun/star/form/component/DatabaseFormattedField.idl59
-rw-r--r--offapi/com/sun/star/form/component/DatabaseImageControl.idl106
-rw-r--r--offapi/com/sun/star/form/component/DatabaseListBox.idl157
-rw-r--r--offapi/com/sun/star/form/component/DatabaseNumericField.idl46
-rw-r--r--offapi/com/sun/star/form/component/DatabasePatternField.idl60
-rw-r--r--offapi/com/sun/star/form/component/DatabaseRadioButton.idl46
-rw-r--r--offapi/com/sun/star/form/component/DatabaseTextField.idl59
-rw-r--r--offapi/com/sun/star/form/component/DatabaseTimeField.idl46
-rw-r--r--offapi/com/sun/star/form/component/DateField.idl65
-rw-r--r--offapi/com/sun/star/form/component/FileControl.idl63
-rw-r--r--offapi/com/sun/star/form/component/FixedText.idl51
-rw-r--r--offapi/com/sun/star/form/component/Form.idl70
-rw-r--r--offapi/com/sun/star/form/component/FormattedField.idl57
-rw-r--r--offapi/com/sun/star/form/component/GridControl.idl168
-rw-r--r--offapi/com/sun/star/form/component/GroupBox.idl47
-rw-r--r--offapi/com/sun/star/form/component/HTMLForm.idl84
-rw-r--r--offapi/com/sun/star/form/component/HiddenControl.idl54
-rw-r--r--offapi/com/sun/star/form/component/ImageButton.idl94
-rw-r--r--offapi/com/sun/star/form/component/ListBox.idl70
-rw-r--r--offapi/com/sun/star/form/component/NavigationToolBar.idl124
-rw-r--r--offapi/com/sun/star/form/component/NumericField.idl64
-rw-r--r--offapi/com/sun/star/form/component/PatternField.idl63
-rw-r--r--offapi/com/sun/star/form/component/RadioButton.idl95
-rw-r--r--offapi/com/sun/star/form/component/RichTextControl.idl74
-rw-r--r--offapi/com/sun/star/form/component/ScrollBar.idl60
-rw-r--r--offapi/com/sun/star/form/component/SpinButton.idl60
-rw-r--r--offapi/com/sun/star/form/component/SubmitButton.idl55
-rw-r--r--offapi/com/sun/star/form/component/TextField.idl70
-rw-r--r--offapi/com/sun/star/form/component/TimeField.idl65
-rw-r--r--offapi/com/sun/star/form/control/CheckBox.idl51
-rw-r--r--offapi/com/sun/star/form/control/ComboBox.idl51
-rw-r--r--offapi/com/sun/star/form/control/CommandButton.idl69
-rw-r--r--offapi/com/sun/star/form/control/CurrencyField.idl52
-rw-r--r--offapi/com/sun/star/form/control/DateField.idl52
-rw-r--r--offapi/com/sun/star/form/control/FilterControl.idl53
-rw-r--r--offapi/com/sun/star/form/control/FormattedField.idl57
-rw-r--r--offapi/com/sun/star/form/control/GridControl.idl131
-rw-r--r--offapi/com/sun/star/form/control/GroupBox.idl49
-rw-r--r--offapi/com/sun/star/form/control/ImageButton.idl69
-rw-r--r--offapi/com/sun/star/form/control/ImageControl.idl55
-rw-r--r--offapi/com/sun/star/form/control/InteractionGridControl.idl67
-rw-r--r--offapi/com/sun/star/form/control/ListBox.idl64
-rw-r--r--offapi/com/sun/star/form/control/NavigationToolBar.idl46
-rw-r--r--offapi/com/sun/star/form/control/NumericField.idl52
-rw-r--r--offapi/com/sun/star/form/control/PatternField.idl52
-rw-r--r--offapi/com/sun/star/form/control/RadioButton.idl51
-rw-r--r--offapi/com/sun/star/form/control/SubmitButton.idl69
-rw-r--r--offapi/com/sun/star/form/control/TextField.idl69
-rw-r--r--offapi/com/sun/star/form/control/TimeField.idl52
-rw-r--r--offapi/com/sun/star/form/inspection/ButtonNavigationHandler.idl53
-rw-r--r--offapi/com/sun/star/form/inspection/CellBindingPropertyHandler.idl56
-rw-r--r--offapi/com/sun/star/form/inspection/DefaultFormComponentInspectorModel.idl88
-rw-r--r--offapi/com/sun/star/form/inspection/EditPropertyHandler.idl57
-rw-r--r--offapi/com/sun/star/form/inspection/EventHandler.idl51
-rw-r--r--offapi/com/sun/star/form/inspection/FormComponentPropertyHandler.idl41
-rw-r--r--offapi/com/sun/star/form/inspection/SubmissionPropertyHandler.idl55
-rw-r--r--offapi/com/sun/star/form/inspection/XMLFormsPropertyHandler.idl61
-rw-r--r--offapi/com/sun/star/form/inspection/XSDValidationPropertyHandler.idl65
-rw-r--r--offapi/com/sun/star/form/modules.idl61
-rw-r--r--offapi/com/sun/star/form/runtime/FeatureState.idl51
-rw-r--r--offapi/com/sun/star/form/runtime/FilterEvent.idl56
-rw-r--r--offapi/com/sun/star/form/runtime/FormController.idl40
-rw-r--r--offapi/com/sun/star/form/runtime/FormFeature.idl145
-rw-r--r--offapi/com/sun/star/form/runtime/FormOperations.idl73
-rw-r--r--offapi/com/sun/star/form/runtime/XFeatureInvalidation.idl64
-rw-r--r--offapi/com/sun/star/form/runtime/XFilterController.idl172
-rw-r--r--offapi/com/sun/star/form/runtime/XFilterControllerListener.idl76
-rw-r--r--offapi/com/sun/star/form/runtime/XFormController.idl364
-rw-r--r--offapi/com/sun/star/form/runtime/XFormControllerContext.idl49
-rw-r--r--offapi/com/sun/star/form/runtime/XFormOperations.idl257
-rw-r--r--offapi/com/sun/star/form/submission/XSubmission.idl95
-rw-r--r--offapi/com/sun/star/form/submission/XSubmissionSupplier.idl49
-rw-r--r--offapi/com/sun/star/form/submission/XSubmissionVetoListener.idl58
-rw-r--r--offapi/com/sun/star/form/validation/ValidatableBindableControlModel.idl66
-rw-r--r--offapi/com/sun/star/form/validation/ValidatableControlModel.idl81
-rw-r--r--offapi/com/sun/star/form/validation/XFormComponentValidityListener.idl49
-rw-r--r--offapi/com/sun/star/form/validation/XValidatable.idl63
-rw-r--r--offapi/com/sun/star/form/validation/XValidatableFormComponent.idl109
-rw-r--r--offapi/com/sun/star/form/validation/XValidator.idl93
-rw-r--r--offapi/com/sun/star/form/validation/XValidityConstraintListener.idl49
-rw-r--r--offapi/com/sun/star/formula/AccessibleFormulaText.idl49
-rw-r--r--offapi/com/sun/star/formula/AccessibleFormulaView.idl50
-rw-r--r--offapi/com/sun/star/formula/FormulaProperties.idl294
-rw-r--r--offapi/com/sun/star/formula/SymbolDescriptor.idl105
-rw-r--r--offapi/com/sun/star/frame/AppDispatchProvider.idl37
-rw-r--r--offapi/com/sun/star/frame/AutoRecovery.idl40
-rw-r--r--offapi/com/sun/star/frame/Bibliography.idl37
-rw-r--r--offapi/com/sun/star/frame/BorderWidths.idl54
-rw-r--r--offapi/com/sun/star/frame/CommandGroup.idl144
-rw-r--r--offapi/com/sun/star/frame/Components.idl49
-rw-r--r--offapi/com/sun/star/frame/ContentHandler.idl58
-rw-r--r--offapi/com/sun/star/frame/ContentHandlerFactory.idl45
-rw-r--r--offapi/com/sun/star/frame/ControlCommand.idl54
-rw-r--r--offapi/com/sun/star/frame/ControlEvent.idl59
-rw-r--r--offapi/com/sun/star/frame/Controller.idl95
-rw-r--r--offapi/com/sun/star/frame/Desktop.idl39
-rw-r--r--offapi/com/sun/star/frame/DesktopTask.idl80
-rw-r--r--offapi/com/sun/star/frame/DesktopTasks.idl39
-rw-r--r--offapi/com/sun/star/frame/DispatchDescriptor.idl79
-rw-r--r--offapi/com/sun/star/frame/DispatchHelper.idl49
-rw-r--r--offapi/com/sun/star/frame/DispatchInformation.idl54
-rw-r--r--offapi/com/sun/star/frame/DispatchProvider.idl70
-rw-r--r--offapi/com/sun/star/frame/DispatchRecorder.idl51
-rw-r--r--offapi/com/sun/star/frame/DispatchRecorderSupplier.idl51
-rw-r--r--offapi/com/sun/star/frame/DispatchResultEvent.idl57
-rw-r--r--offapi/com/sun/star/frame/DispatchResultState.idl48
-rw-r--r--offapi/com/sun/star/frame/DispatchStatement.idl78
-rw-r--r--offapi/com/sun/star/frame/DocumentTemplates.idl40
-rw-r--r--offapi/com/sun/star/frame/DoubleInitializationException.idl41
-rw-r--r--offapi/com/sun/star/frame/FeatureStateEvent.idl76
-rw-r--r--offapi/com/sun/star/frame/Frame.idl48
-rw-r--r--offapi/com/sun/star/frame/FrameAction.idl134
-rw-r--r--offapi/com/sun/star/frame/FrameActionEvent.idl50
-rw-r--r--offapi/com/sun/star/frame/FrameControl.idl63
-rw-r--r--offapi/com/sun/star/frame/FrameLoader.idl79
-rw-r--r--offapi/com/sun/star/frame/FrameLoaderFactory.idl45
-rw-r--r--offapi/com/sun/star/frame/FrameSearchFlag.idl112
-rw-r--r--offapi/com/sun/star/frame/FramesContainer.idl49
-rw-r--r--offapi/com/sun/star/frame/GlobalEventBroadcaster.idl40
-rw-r--r--offapi/com/sun/star/frame/IllegalArgumentIOException.idl41
-rw-r--r--offapi/com/sun/star/frame/InfobarType.idl38
-rw-r--r--offapi/com/sun/star/frame/LayoutManager.idl59
-rw-r--r--offapi/com/sun/star/frame/LayoutManagerEvents.idl117
-rw-r--r--offapi/com/sun/star/frame/MediaTypeDetectionHelper.idl44
-rw-r--r--offapi/com/sun/star/frame/ModuleManager.idl44
-rw-r--r--offapi/com/sun/star/frame/OfficeFrameLoader.idl37
-rw-r--r--offapi/com/sun/star/frame/PopupMenuController.idl124
-rw-r--r--offapi/com/sun/star/frame/PopupMenuControllerFactory.idl40
-rw-r--r--offapi/com/sun/star/frame/ProtocolHandler.idl82
-rw-r--r--offapi/com/sun/star/frame/SessionListener.idl44
-rw-r--r--offapi/com/sun/star/frame/SessionManager.idl75
-rw-r--r--offapi/com/sun/star/frame/Settings.idl39
-rw-r--r--offapi/com/sun/star/frame/StartModule.idl41
-rw-r--r--offapi/com/sun/star/frame/StatusbarController.idl54
-rw-r--r--offapi/com/sun/star/frame/StatusbarControllerFactory.idl40
-rw-r--r--offapi/com/sun/star/frame/SynchronousFrameLoader.idl79
-rw-r--r--offapi/com/sun/star/frame/Task.idl62
-rw-r--r--offapi/com/sun/star/frame/TaskCreator.idl37
-rw-r--r--offapi/com/sun/star/frame/TemplateAccess.idl46
-rw-r--r--offapi/com/sun/star/frame/TerminationVetoException.idl54
-rw-r--r--offapi/com/sun/star/frame/TitleChangedEvent.idl41
-rw-r--r--offapi/com/sun/star/frame/ToolbarController.idl120
-rw-r--r--offapi/com/sun/star/frame/ToolbarControllerFactory.idl40
-rw-r--r--offapi/com/sun/star/frame/TransientDocumentsDocumentContentFactory.idl44
-rw-r--r--offapi/com/sun/star/frame/UICommandDescription.idl42
-rw-r--r--offapi/com/sun/star/frame/UnknownModuleException.idl41
-rw-r--r--offapi/com/sun/star/frame/UntitledNumbersConst.idl34
-rw-r--r--offapi/com/sun/star/frame/WindowArrange.idl59
-rw-r--r--offapi/com/sun/star/frame/XAppDispatchProvider.idl42
-rw-r--r--offapi/com/sun/star/frame/XBorderResizeListener.idl51
-rw-r--r--offapi/com/sun/star/frame/XBrowseHistoryRegistry.idl50
-rw-r--r--offapi/com/sun/star/frame/XComponentLoader.idl168
-rw-r--r--offapi/com/sun/star/frame/XComponentRegistry.idl45
-rw-r--r--offapi/com/sun/star/frame/XConfigManager.idl101
-rw-r--r--offapi/com/sun/star/frame/XControlNotificationListener.idl50
-rw-r--r--offapi/com/sun/star/frame/XController.idl107
-rw-r--r--offapi/com/sun/star/frame/XController2.idl77
-rw-r--r--offapi/com/sun/star/frame/XControllerBorder.idl69
-rw-r--r--offapi/com/sun/star/frame/XDesktop.idl136
-rw-r--r--offapi/com/sun/star/frame/XDesktop2.idl94
-rw-r--r--offapi/com/sun/star/frame/XDesktopTask.idl54
-rw-r--r--offapi/com/sun/star/frame/XDispatch.idl156
-rw-r--r--offapi/com/sun/star/frame/XDispatchHelper.idl78
-rw-r--r--offapi/com/sun/star/frame/XDispatchInformationProvider.idl72
-rw-r--r--offapi/com/sun/star/frame/XDispatchProvider.idl87
-rw-r--r--offapi/com/sun/star/frame/XDispatchProviderInterception.idl74
-rw-r--r--offapi/com/sun/star/frame/XDispatchProviderInterceptor.idl85
-rw-r--r--offapi/com/sun/star/frame/XDispatchRecorder.idl124
-rw-r--r--offapi/com/sun/star/frame/XDispatchRecorderSupplier.idl110
-rw-r--r--offapi/com/sun/star/frame/XDispatchResultListener.idl49
-rw-r--r--offapi/com/sun/star/frame/XDocumentTemplates.idl195
-rw-r--r--offapi/com/sun/star/frame/XExtendedFilterDetection.idl51
-rw-r--r--offapi/com/sun/star/frame/XFilterDetect.idl45
-rw-r--r--offapi/com/sun/star/frame/XFrame.idl357
-rw-r--r--offapi/com/sun/star/frame/XFrame2.idl145
-rw-r--r--offapi/com/sun/star/frame/XFrameActionListener.idl55
-rw-r--r--offapi/com/sun/star/frame/XFrameLoader.idl87
-rw-r--r--offapi/com/sun/star/frame/XFrameLoaderQuery.idl63
-rw-r--r--offapi/com/sun/star/frame/XFrameSetModel.idl45
-rw-r--r--offapi/com/sun/star/frame/XFrames.idl85
-rw-r--r--offapi/com/sun/star/frame/XFramesSupplier.idl92
-rw-r--r--offapi/com/sun/star/frame/XGlobalEventBroadcaster.idl56
-rw-r--r--offapi/com/sun/star/frame/XInfobarProvider.idl146
-rw-r--r--offapi/com/sun/star/frame/XInterceptorInfo.idl61
-rw-r--r--offapi/com/sun/star/frame/XLayoutManager.idl479
-rw-r--r--offapi/com/sun/star/frame/XLayoutManager2.idl88
-rw-r--r--offapi/com/sun/star/frame/XLayoutManagerEventBroadcaster.idl58
-rw-r--r--offapi/com/sun/star/frame/XLayoutManagerListener.idl61
-rw-r--r--offapi/com/sun/star/frame/XLoadEventListener.idl55
-rw-r--r--offapi/com/sun/star/frame/XLoadable.idl63
-rw-r--r--offapi/com/sun/star/frame/XLoaderFactory.idl87
-rw-r--r--offapi/com/sun/star/frame/XMenuBarAcceptor.idl54
-rw-r--r--offapi/com/sun/star/frame/XMenuBarMergingAcceptor.idl69
-rw-r--r--offapi/com/sun/star/frame/XModel.idl202
-rw-r--r--offapi/com/sun/star/frame/XModel2.idl166
-rw-r--r--offapi/com/sun/star/frame/XModel3.idl51
-rw-r--r--offapi/com/sun/star/frame/XModule.idl61
-rw-r--r--offapi/com/sun/star/frame/XModuleManager.idl98
-rw-r--r--offapi/com/sun/star/frame/XModuleManager2.idl59
-rw-r--r--offapi/com/sun/star/frame/XNotifyingDispatch.idl58
-rw-r--r--offapi/com/sun/star/frame/XPopupMenuController.idl70
-rw-r--r--offapi/com/sun/star/frame/XRecordableDispatch.idl96
-rw-r--r--offapi/com/sun/star/frame/XSessionManagerClient.idl96
-rw-r--r--offapi/com/sun/star/frame/XSessionManagerListener.idl94
-rw-r--r--offapi/com/sun/star/frame/XSessionManagerListener2.idl41
-rw-r--r--offapi/com/sun/star/frame/XStatusListener.idl55
-rw-r--r--offapi/com/sun/star/frame/XStatusbarController.idl213
-rw-r--r--offapi/com/sun/star/frame/XStorable.idl156
-rw-r--r--offapi/com/sun/star/frame/XStorable2.idl71
-rw-r--r--offapi/com/sun/star/frame/XSubToolbarController.idl88
-rw-r--r--offapi/com/sun/star/frame/XSynchronousDispatch.idl59
-rw-r--r--offapi/com/sun/star/frame/XSynchronousFrameLoader.idl76
-rw-r--r--offapi/com/sun/star/frame/XTask.idl58
-rw-r--r--offapi/com/sun/star/frame/XTasksSupplier.idl51
-rw-r--r--offapi/com/sun/star/frame/XTerminateListener.idl70
-rw-r--r--offapi/com/sun/star/frame/XTerminateListener2.idl57
-rw-r--r--offapi/com/sun/star/frame/XTitle.idl52
-rw-r--r--offapi/com/sun/star/frame/XTitleChangeBroadcaster.idl46
-rw-r--r--offapi/com/sun/star/frame/XTitleChangeListener.idl42
-rw-r--r--offapi/com/sun/star/frame/XToolbarController.idl92
-rw-r--r--offapi/com/sun/star/frame/XToolbarControllerListener.idl57
-rw-r--r--offapi/com/sun/star/frame/XTransientDocumentsDocumentContentFactory.idl70
-rw-r--r--offapi/com/sun/star/frame/XTransientDocumentsDocumentContentIdentifierFactory.idl59
-rw-r--r--offapi/com/sun/star/frame/XUIControllerFactory.idl75
-rw-r--r--offapi/com/sun/star/frame/XUIControllerRegistration.idl96
-rw-r--r--offapi/com/sun/star/frame/XUntitledNumbers.idl95
-rw-r--r--offapi/com/sun/star/frame/XUrlList.idl41
-rw-r--r--offapi/com/sun/star/frame/XWindowArranger.idl46
-rw-r--r--offapi/com/sun/star/frame/status/ClipboardFormats.idl52
-rw-r--r--offapi/com/sun/star/frame/status/FontHeight.idl58
-rw-r--r--offapi/com/sun/star/frame/status/ItemState.idl81
-rw-r--r--offapi/com/sun/star/frame/status/ItemStatus.idl51
-rw-r--r--offapi/com/sun/star/frame/status/LeftRightMargin.idl48
-rw-r--r--offapi/com/sun/star/frame/status/LeftRightMarginScale.idl78
-rw-r--r--offapi/com/sun/star/frame/status/Template.idl56
-rw-r--r--offapi/com/sun/star/frame/status/UpperLowerMargin.idl48
-rw-r--r--offapi/com/sun/star/frame/status/UpperLowerMarginScale.idl58
-rw-r--r--offapi/com/sun/star/frame/status/Verb.idl60
-rw-r--r--offapi/com/sun/star/frame/status/Visibility.idl43
-rw-r--r--offapi/com/sun/star/frame/theAutoRecovery.idl28
-rw-r--r--offapi/com/sun/star/frame/theDesktop.idl47
-rw-r--r--offapi/com/sun/star/frame/theGlobalEventBroadcaster.idl46
-rw-r--r--offapi/com/sun/star/frame/thePopupMenuControllerFactory.idl46
-rw-r--r--offapi/com/sun/star/frame/theStatusbarControllerFactory.idl47
-rw-r--r--offapi/com/sun/star/frame/theToolbarControllerFactory.idl44
-rw-r--r--offapi/com/sun/star/frame/theUICommandDescription.idl60
-rw-r--r--offapi/com/sun/star/gallery/GalleryItem.idl83
-rw-r--r--offapi/com/sun/star/gallery/GalleryItemType.idl51
-rw-r--r--offapi/com/sun/star/gallery/GalleryTheme.idl46
-rw-r--r--offapi/com/sun/star/gallery/GalleryThemeProvider.idl60
-rw-r--r--offapi/com/sun/star/gallery/XGalleryItem.idl48
-rw-r--r--offapi/com/sun/star/gallery/XGalleryTheme.idl151
-rw-r--r--offapi/com/sun/star/gallery/XGalleryThemeProvider.idl76
-rw-r--r--offapi/com/sun/star/geometry/AffineMatrix2D.idl87
-rw-r--r--offapi/com/sun/star/geometry/AffineMatrix3D.idl107
-rw-r--r--offapi/com/sun/star/geometry/EllipticalArc.idl80
-rw-r--r--offapi/com/sun/star/geometry/IntegerBezierSegment2D.idl61
-rw-r--r--offapi/com/sun/star/geometry/IntegerPoint2D.idl45
-rw-r--r--offapi/com/sun/star/geometry/IntegerRectangle2D.idl70
-rw-r--r--offapi/com/sun/star/geometry/IntegerSize2D.idl44
-rw-r--r--offapi/com/sun/star/geometry/Matrix2D.idl84
-rw-r--r--offapi/com/sun/star/geometry/RealBezierSegment2D.idl61
-rw-r--r--offapi/com/sun/star/geometry/RealPoint2D.idl45
-rw-r--r--offapi/com/sun/star/geometry/RealRectangle2D.idl70
-rw-r--r--offapi/com/sun/star/geometry/RealRectangle3D.idl68
-rw-r--r--offapi/com/sun/star/geometry/RealSize2D.idl44
-rw-r--r--offapi/com/sun/star/geometry/XMapping2D.idl61
-rw-r--r--offapi/com/sun/star/graphic/EmfTools.idl41
-rw-r--r--offapi/com/sun/star/graphic/Graphic.idl56
-rw-r--r--offapi/com/sun/star/graphic/GraphicColorMode.idl48
-rw-r--r--offapi/com/sun/star/graphic/GraphicDescriptor.idl157
-rw-r--r--offapi/com/sun/star/graphic/GraphicMapper.idl30
-rw-r--r--offapi/com/sun/star/graphic/GraphicObject.idl46
-rw-r--r--offapi/com/sun/star/graphic/GraphicProvider.idl44
-rw-r--r--offapi/com/sun/star/graphic/GraphicRasterizer.idl46
-rw-r--r--offapi/com/sun/star/graphic/GraphicRendererVCL.idl73
-rw-r--r--offapi/com/sun/star/graphic/GraphicType.idl47
-rw-r--r--offapi/com/sun/star/graphic/MediaProperties.idl117
-rw-r--r--offapi/com/sun/star/graphic/PdfTools.idl29
-rw-r--r--offapi/com/sun/star/graphic/Primitive2DTools.idl37
-rw-r--r--offapi/com/sun/star/graphic/PrimitiveFactory2D.idl37
-rw-r--r--offapi/com/sun/star/graphic/SvgTools.idl39
-rw-r--r--offapi/com/sun/star/graphic/XEmfParser.idl70
-rw-r--r--offapi/com/sun/star/graphic/XGraphic.idl60
-rw-r--r--offapi/com/sun/star/graphic/XGraphicMapper.idl35
-rw-r--r--offapi/com/sun/star/graphic/XGraphicObject.idl47
-rw-r--r--offapi/com/sun/star/graphic/XGraphicProvider.idl113
-rw-r--r--offapi/com/sun/star/graphic/XGraphicProvider2.idl47
-rw-r--r--offapi/com/sun/star/graphic/XGraphicRasterizer.idl140
-rw-r--r--offapi/com/sun/star/graphic/XGraphicRenderer.idl48
-rw-r--r--offapi/com/sun/star/graphic/XGraphicTransformer.idl76
-rw-r--r--offapi/com/sun/star/graphic/XPdfDecomposer.idl46
-rw-r--r--offapi/com/sun/star/graphic/XPrimitive2D.idl81
-rw-r--r--offapi/com/sun/star/graphic/XPrimitive2DRenderer.idl81
-rw-r--r--offapi/com/sun/star/graphic/XPrimitive3D.idl68
-rw-r--r--offapi/com/sun/star/graphic/XPrimitiveFactory2D.idl89
-rw-r--r--offapi/com/sun/star/graphic/XSvgParser.idl68
-rw-r--r--offapi/com/sun/star/i18n/AmPmValue.idl41
-rw-r--r--offapi/com/sun/star/i18n/Boundary.idl47
-rw-r--r--offapi/com/sun/star/i18n/BreakIterator.idl41
-rw-r--r--offapi/com/sun/star/i18n/BreakType.idl47
-rw-r--r--offapi/com/sun/star/i18n/CTLScriptType.idl58
-rw-r--r--offapi/com/sun/star/i18n/Calendar.idl59
-rw-r--r--offapi/com/sun/star/i18n/Calendar2.idl77
-rw-r--r--offapi/com/sun/star/i18n/CalendarDisplayCode.idl122
-rw-r--r--offapi/com/sun/star/i18n/CalendarDisplayIndex.idl59
-rw-r--r--offapi/com/sun/star/i18n/CalendarFieldIndex.idl128
-rw-r--r--offapi/com/sun/star/i18n/CalendarItem.idl51
-rw-r--r--offapi/com/sun/star/i18n/CalendarItem2.idl41
-rw-r--r--offapi/com/sun/star/i18n/ChapterCollator.idl35
-rw-r--r--offapi/com/sun/star/i18n/CharType.idl76
-rw-r--r--offapi/com/sun/star/i18n/CharacterClassification.idl40
-rw-r--r--offapi/com/sun/star/i18n/CharacterIteratorMode.idl48
-rw-r--r--offapi/com/sun/star/i18n/Collator.idl38
-rw-r--r--offapi/com/sun/star/i18n/CollatorOptions.idl44
-rw-r--r--offapi/com/sun/star/i18n/Currency.idl75
-rw-r--r--offapi/com/sun/star/i18n/Currency2.idl57
-rw-r--r--offapi/com/sun/star/i18n/DirectionProperty.idl58
-rw-r--r--offapi/com/sun/star/i18n/ForbiddenCharacters.idl48
-rw-r--r--offapi/com/sun/star/i18n/FormatElement.idl68
-rw-r--r--offapi/com/sun/star/i18n/Implementation.idl46
-rw-r--r--offapi/com/sun/star/i18n/IndexEntrySupplier.idl36
-rw-r--r--offapi/com/sun/star/i18n/InputSequenceCheckMode.idl51
-rw-r--r--offapi/com/sun/star/i18n/InputSequenceChecker.idl39
-rw-r--r--offapi/com/sun/star/i18n/KCharacterType.idl69
-rw-r--r--offapi/com/sun/star/i18n/KNumberFormatType.idl45
-rw-r--r--offapi/com/sun/star/i18n/KNumberFormatUsage.idl54
-rw-r--r--offapi/com/sun/star/i18n/KParseTokens.idl191
-rw-r--r--offapi/com/sun/star/i18n/KParseType.idl83
-rw-r--r--offapi/com/sun/star/i18n/LanguageCountryInfo.idl54
-rw-r--r--offapi/com/sun/star/i18n/LineBreakHyphenationOptions.idl48
-rw-r--r--offapi/com/sun/star/i18n/LineBreakResults.idl46
-rw-r--r--offapi/com/sun/star/i18n/LineBreakUserOptions.idl53
-rw-r--r--offapi/com/sun/star/i18n/LocaleCalendar.idl36
-rw-r--r--offapi/com/sun/star/i18n/LocaleCalendar2.idl27
-rw-r--r--offapi/com/sun/star/i18n/LocaleData.idl36
-rw-r--r--offapi/com/sun/star/i18n/LocaleData2.idl29
-rw-r--r--offapi/com/sun/star/i18n/LocaleDataItem.idl77
-rw-r--r--offapi/com/sun/star/i18n/LocaleDataItem2.idl40
-rw-r--r--offapi/com/sun/star/i18n/LocaleItem.idl97
-rw-r--r--offapi/com/sun/star/i18n/Months.idl63
-rw-r--r--offapi/com/sun/star/i18n/MultipleCharsOutputException.idl46
-rw-r--r--offapi/com/sun/star/i18n/NativeNumberMode.idl161
-rw-r--r--offapi/com/sun/star/i18n/NativeNumberSupplier.idl39
-rw-r--r--offapi/com/sun/star/i18n/NativeNumberSupplier2.idl45
-rw-r--r--offapi/com/sun/star/i18n/NativeNumberXmlAttributes.idl59
-rw-r--r--offapi/com/sun/star/i18n/NativeNumberXmlAttributes2.idl59
-rw-r--r--offapi/com/sun/star/i18n/NumberFormatCode.idl53
-rw-r--r--offapi/com/sun/star/i18n/NumberFormatIndex.idl275
-rw-r--r--offapi/com/sun/star/i18n/NumberFormatMapper.idl38
-rw-r--r--offapi/com/sun/star/i18n/OrdinalSuffix.idl46
-rw-r--r--offapi/com/sun/star/i18n/ParseResult.idl74
-rw-r--r--offapi/com/sun/star/i18n/ScriptDirection.idl50
-rw-r--r--offapi/com/sun/star/i18n/ScriptType.idl52
-rw-r--r--offapi/com/sun/star/i18n/TextConversion.idl40
-rw-r--r--offapi/com/sun/star/i18n/TextConversionOption.idl61
-rw-r--r--offapi/com/sun/star/i18n/TextConversionResult.idl56
-rw-r--r--offapi/com/sun/star/i18n/TextConversionType.idl54
-rw-r--r--offapi/com/sun/star/i18n/Transliteration.idl37
-rw-r--r--offapi/com/sun/star/i18n/TransliterationModules.idl113
-rw-r--r--offapi/com/sun/star/i18n/TransliterationModulesExtra.idl73
-rw-r--r--offapi/com/sun/star/i18n/TransliterationModulesNew.idl166
-rw-r--r--offapi/com/sun/star/i18n/TransliterationType.idl72
-rw-r--r--offapi/com/sun/star/i18n/UnicodeScript.idl127
-rw-r--r--offapi/com/sun/star/i18n/UnicodeType.idl70
-rw-r--r--offapi/com/sun/star/i18n/Weekdays.idl56
-rw-r--r--offapi/com/sun/star/i18n/WordType.idl64
-rw-r--r--offapi/com/sun/star/i18n/XBreakIterator.idl487
-rw-r--r--offapi/com/sun/star/i18n/XCalendar.idl211
-rw-r--r--offapi/com/sun/star/i18n/XCalendar3.idl63
-rw-r--r--offapi/com/sun/star/i18n/XCalendar4.idl91
-rw-r--r--offapi/com/sun/star/i18n/XCharacterClassification.idl274
-rw-r--r--offapi/com/sun/star/i18n/XCollator.idl158
-rw-r--r--offapi/com/sun/star/i18n/XExtendedCalendar.idl75
-rw-r--r--offapi/com/sun/star/i18n/XExtendedIndexEntrySupplier.idl143
-rw-r--r--offapi/com/sun/star/i18n/XExtendedInputSequenceChecker.idl66
-rw-r--r--offapi/com/sun/star/i18n/XExtendedTextConversion.idl85
-rw-r--r--offapi/com/sun/star/i18n/XExtendedTransliteration.idl93
-rw-r--r--offapi/com/sun/star/i18n/XForbiddenCharacters.idl67
-rw-r--r--offapi/com/sun/star/i18n/XIndexEntrySupplier.idl63
-rw-r--r--offapi/com/sun/star/i18n/XInputSequenceChecker.idl61
-rw-r--r--offapi/com/sun/star/i18n/XLocaleData.idl114
-rw-r--r--offapi/com/sun/star/i18n/XLocaleData2.idl53
-rw-r--r--offapi/com/sun/star/i18n/XLocaleData3.idl41
-rw-r--r--offapi/com/sun/star/i18n/XLocaleData4.idl43
-rw-r--r--offapi/com/sun/star/i18n/XLocaleData5.idl41
-rw-r--r--offapi/com/sun/star/i18n/XNativeNumberSupplier.idl90
-rw-r--r--offapi/com/sun/star/i18n/XNativeNumberSupplier2.idl69
-rw-r--r--offapi/com/sun/star/i18n/XNumberFormatCode.idl94
-rw-r--r--offapi/com/sun/star/i18n/XOrdinalSuffix.idl61
-rw-r--r--offapi/com/sun/star/i18n/XScriptTypeDetector.idl76
-rw-r--r--offapi/com/sun/star/i18n/XTextConversion.idl135
-rw-r--r--offapi/com/sun/star/i18n/XTransliteration.idl315
-rw-r--r--offapi/com/sun/star/i18n/reservedWords.idl71
-rw-r--r--offapi/com/sun/star/image/ImageMap.idl50
-rw-r--r--offapi/com/sun/star/image/ImageMapCircleObject.idl52
-rw-r--r--offapi/com/sun/star/image/ImageMapObject.idl71
-rw-r--r--offapi/com/sun/star/image/ImageMapPolygonObject.idl50
-rw-r--r--offapi/com/sun/star/image/ImageMapRectangleObject.idl49
-rw-r--r--offapi/com/sun/star/inspection/DefaultHelpProvider.idl58
-rw-r--r--offapi/com/sun/star/inspection/GenericPropertyHandler.idl51
-rw-r--r--offapi/com/sun/star/inspection/InteractiveSelectionResult.idl66
-rw-r--r--offapi/com/sun/star/inspection/LineDescriptor.idl189
-rw-r--r--offapi/com/sun/star/inspection/ObjectInspector.idl96
-rw-r--r--offapi/com/sun/star/inspection/ObjectInspectorModel.idl106
-rw-r--r--offapi/com/sun/star/inspection/PropertyCategoryDescriptor.idl57
-rw-r--r--offapi/com/sun/star/inspection/PropertyControlType.idl144
-rw-r--r--offapi/com/sun/star/inspection/PropertyLineElement.idl51
-rw-r--r--offapi/com/sun/star/inspection/StringRepresentation.idl37
-rw-r--r--offapi/com/sun/star/inspection/XHyperlinkControl.idl55
-rw-r--r--offapi/com/sun/star/inspection/XNumericControl.idl82
-rw-r--r--offapi/com/sun/star/inspection/XObjectInspector.idl117
-rw-r--r--offapi/com/sun/star/inspection/XObjectInspectorModel.idl178
-rw-r--r--offapi/com/sun/star/inspection/XObjectInspectorUI.idl169
-rw-r--r--offapi/com/sun/star/inspection/XPropertyControl.idl106
-rw-r--r--offapi/com/sun/star/inspection/XPropertyControlContext.idl48
-rw-r--r--offapi/com/sun/star/inspection/XPropertyControlFactory.idl69
-rw-r--r--offapi/com/sun/star/inspection/XPropertyControlObserver.idl63
-rw-r--r--offapi/com/sun/star/inspection/XPropertyHandler.idl447
-rw-r--r--offapi/com/sun/star/inspection/XStringListControl.idl61
-rw-r--r--offapi/com/sun/star/inspection/XStringRepresentation.idl59
-rw-r--r--offapi/com/sun/star/ldap/LdapConnectionException.idl41
-rw-r--r--offapi/com/sun/star/ldap/LdapGenericException.idl47
-rw-r--r--offapi/com/sun/star/linguistic2/ConversionDictionary.idl64
-rw-r--r--offapi/com/sun/star/linguistic2/ConversionDictionaryList.idl51
-rw-r--r--offapi/com/sun/star/linguistic2/ConversionDictionaryType.idl47
-rw-r--r--offapi/com/sun/star/linguistic2/ConversionDirection.idl48
-rw-r--r--offapi/com/sun/star/linguistic2/ConversionPropertyType.idl105
-rw-r--r--offapi/com/sun/star/linguistic2/Dictionary.idl62
-rw-r--r--offapi/com/sun/star/linguistic2/DictionaryEvent.idl67
-rw-r--r--offapi/com/sun/star/linguistic2/DictionaryEventFlags.idl70
-rw-r--r--offapi/com/sun/star/linguistic2/DictionaryList.idl43
-rw-r--r--offapi/com/sun/star/linguistic2/DictionaryListEvent.idl77
-rw-r--r--offapi/com/sun/star/linguistic2/DictionaryListEventFlags.idl85
-rw-r--r--offapi/com/sun/star/linguistic2/DictionaryType.idl59
-rw-r--r--offapi/com/sun/star/linguistic2/HangulHanjaConversionDictionary.idl51
-rw-r--r--offapi/com/sun/star/linguistic2/Hyphenator.idl48
-rw-r--r--offapi/com/sun/star/linguistic2/LanguageGuessing.idl37
-rw-r--r--offapi/com/sun/star/linguistic2/LinguProperties.idl37
-rw-r--r--offapi/com/sun/star/linguistic2/LinguServiceEvent.idl58
-rw-r--r--offapi/com/sun/star/linguistic2/LinguServiceEventFlags.idl59
-rw-r--r--offapi/com/sun/star/linguistic2/LinguServiceManager.idl36
-rw-r--r--offapi/com/sun/star/linguistic2/NumberText.idl46
-rw-r--r--offapi/com/sun/star/linguistic2/Proofreader.idl53
-rw-r--r--offapi/com/sun/star/linguistic2/ProofreadingIterator.idl47
-rw-r--r--offapi/com/sun/star/linguistic2/ProofreadingResult.idl77
-rw-r--r--offapi/com/sun/star/linguistic2/SingleProofreadingError.idl71
-rw-r--r--offapi/com/sun/star/linguistic2/SpellChecker.idl48
-rw-r--r--offapi/com/sun/star/linguistic2/SpellFailure.idl56
-rw-r--r--offapi/com/sun/star/linguistic2/Thesaurus.idl46
-rw-r--r--offapi/com/sun/star/linguistic2/XAvailableLocales.idl53
-rw-r--r--offapi/com/sun/star/linguistic2/XConversionDictionary.idl202
-rw-r--r--offapi/com/sun/star/linguistic2/XConversionDictionaryList.idl188
-rw-r--r--offapi/com/sun/star/linguistic2/XConversionPropertyType.idl91
-rw-r--r--offapi/com/sun/star/linguistic2/XDictionary.idl236
-rw-r--r--offapi/com/sun/star/linguistic2/XDictionary1.idl76
-rw-r--r--offapi/com/sun/star/linguistic2/XDictionaryEntry.idl80
-rw-r--r--offapi/com/sun/star/linguistic2/XDictionaryEventListener.idl57
-rw-r--r--offapi/com/sun/star/linguistic2/XDictionaryList.idl232
-rw-r--r--offapi/com/sun/star/linguistic2/XDictionaryListEventListener.idl58
-rw-r--r--offapi/com/sun/star/linguistic2/XHyphenatedWord.idl96
-rw-r--r--offapi/com/sun/star/linguistic2/XHyphenator.idl181
-rw-r--r--offapi/com/sun/star/linguistic2/XLanguageGuessing.idl186
-rw-r--r--offapi/com/sun/star/linguistic2/XLinguProperties.idl124
-rw-r--r--offapi/com/sun/star/linguistic2/XLinguServiceEventBroadcaster.idl76
-rw-r--r--offapi/com/sun/star/linguistic2/XLinguServiceEventListener.idl55
-rw-r--r--offapi/com/sun/star/linguistic2/XLinguServiceManager.idl166
-rw-r--r--offapi/com/sun/star/linguistic2/XLinguServiceManager2.idl46
-rw-r--r--offapi/com/sun/star/linguistic2/XMeaning.idl59
-rw-r--r--offapi/com/sun/star/linguistic2/XNumberText.idl138
-rw-r--r--offapi/com/sun/star/linguistic2/XPossibleHyphens.idl84
-rw-r--r--offapi/com/sun/star/linguistic2/XProofreader.idl110
-rw-r--r--offapi/com/sun/star/linguistic2/XProofreadingIterator.idl109
-rw-r--r--offapi/com/sun/star/linguistic2/XSearchableDictionary.idl55
-rw-r--r--offapi/com/sun/star/linguistic2/XSearchableDictionaryList.idl76
-rw-r--r--offapi/com/sun/star/linguistic2/XSetSpellAlternatives.idl61
-rw-r--r--offapi/com/sun/star/linguistic2/XSpellAlternatives.idl81
-rw-r--r--offapi/com/sun/star/linguistic2/XSpellChecker.idl110
-rw-r--r--offapi/com/sun/star/linguistic2/XSpellChecker1.idl54
-rw-r--r--offapi/com/sun/star/linguistic2/XSupportedLanguages.idl44
-rw-r--r--offapi/com/sun/star/linguistic2/XSupportedLocales.idl66
-rw-r--r--offapi/com/sun/star/linguistic2/XThesaurus.idl77
-rw-r--r--offapi/com/sun/star/logging/ConsoleHandler.idl68
-rw-r--r--offapi/com/sun/star/logging/CsvLogFormatter.idl54
-rw-r--r--offapi/com/sun/star/logging/FileHandler.idl83
-rw-r--r--offapi/com/sun/star/logging/LogLevel.idl77
-rw-r--r--offapi/com/sun/star/logging/LogRecord.idl84
-rw-r--r--offapi/com/sun/star/logging/LoggerPool.idl43
-rw-r--r--offapi/com/sun/star/logging/PlainTextFormatter.idl50
-rw-r--r--offapi/com/sun/star/logging/SimpleTextFormatter.idl49
-rw-r--r--offapi/com/sun/star/logging/XConsoleHandler.idl55
-rw-r--r--offapi/com/sun/star/logging/XCsvLogFormatter.idl69
-rw-r--r--offapi/com/sun/star/logging/XLogFormatter.idl73
-rw-r--r--offapi/com/sun/star/logging/XLogHandler.idl92
-rw-r--r--offapi/com/sun/star/logging/XLogger.idl136
-rw-r--r--offapi/com/sun/star/logging/XLoggerPool.idl61
-rw-r--r--offapi/com/sun/star/mail/MailAttachment.idl59
-rw-r--r--offapi/com/sun/star/mail/MailException.idl41
-rw-r--r--offapi/com/sun/star/mail/MailMessage.idl97
-rw-r--r--offapi/com/sun/star/mail/MailServiceProvider.idl44
-rw-r--r--offapi/com/sun/star/mail/MailServiceType.idl44
-rw-r--r--offapi/com/sun/star/mail/NoMailServiceProviderException.idl44
-rw-r--r--offapi/com/sun/star/mail/NoMailTransportProviderException.idl44
-rw-r--r--offapi/com/sun/star/mail/SendMailMessageFailedException.idl60
-rw-r--r--offapi/com/sun/star/mail/XAuthenticator.idl58
-rw-r--r--offapi/com/sun/star/mail/XConnectionListener.idl62
-rw-r--r--offapi/com/sun/star/mail/XMailMessage.idl144
-rw-r--r--offapi/com/sun/star/mail/XMailService.idl203
-rw-r--r--offapi/com/sun/star/mail/XMailServiceProvider.idl56
-rw-r--r--offapi/com/sun/star/mail/XSmtpService.idl81
-rw-r--r--offapi/com/sun/star/media/Manager.idl34
-rw-r--r--offapi/com/sun/star/media/XFrameGrabber.idl43
-rw-r--r--offapi/com/sun/star/media/XManager.idl43
-rw-r--r--offapi/com/sun/star/media/XPlayer.idl142
-rw-r--r--offapi/com/sun/star/media/XPlayerListener.idl38
-rw-r--r--offapi/com/sun/star/media/XPlayerNotifier.idl46
-rw-r--r--offapi/com/sun/star/media/XPlayerWindow.idl55
-rw-r--r--offapi/com/sun/star/media/ZoomLevel.idl80
-rw-r--r--offapi/com/sun/star/modules.idl450
-rw-r--r--offapi/com/sun/star/mozilla/MenuMultipleChange.idl78
-rw-r--r--offapi/com/sun/star/mozilla/MenuProxy.idl47
-rw-r--r--offapi/com/sun/star/mozilla/MenuProxyListener.idl46
-rw-r--r--offapi/com/sun/star/mozilla/MenuSingleChange.idl54
-rw-r--r--offapi/com/sun/star/mozilla/MozillaBootstrap.idl45
-rw-r--r--offapi/com/sun/star/mozilla/MozillaProductType.idl55
-rw-r--r--offapi/com/sun/star/mozilla/XCloseSessionListener.idl46
-rw-r--r--offapi/com/sun/star/mozilla/XCodeProxy.idl56
-rw-r--r--offapi/com/sun/star/mozilla/XMenuProxy.idl67
-rw-r--r--offapi/com/sun/star/mozilla/XMenuProxyListener.idl63
-rw-r--r--offapi/com/sun/star/mozilla/XMozillaBootstrap.idl53
-rw-r--r--offapi/com/sun/star/mozilla/XProfileDiscover.idl116
-rw-r--r--offapi/com/sun/star/mozilla/XProfileManager.idl103
-rw-r--r--offapi/com/sun/star/mozilla/XProxyRunner.idl54
-rw-r--r--offapi/com/sun/star/office/Quickstart.idl51
-rw-r--r--offapi/com/sun/star/office/XAnnotation.idl76
-rw-r--r--offapi/com/sun/star/office/XAnnotationAccess.idl55
-rw-r--r--offapi/com/sun/star/office/XAnnotationEnumeration.idl56
-rw-r--r--offapi/com/sun/star/packages/EncryptionNotAllowedException.idl39
-rw-r--r--offapi/com/sun/star/packages/NoEncryptionException.idl39
-rw-r--r--offapi/com/sun/star/packages/NoRawFormatException.idl40
-rw-r--r--offapi/com/sun/star/packages/Package.idl107
-rw-r--r--offapi/com/sun/star/packages/PackageEncryption.idl25
-rw-r--r--offapi/com/sun/star/packages/PackageFolder.idl86
-rw-r--r--offapi/com/sun/star/packages/PackageFolderEnumeration.idl44
-rw-r--r--offapi/com/sun/star/packages/PackageStream.idl76
-rw-r--r--offapi/com/sun/star/packages/WrongPasswordException.idl39
-rw-r--r--offapi/com/sun/star/packages/XDataSinkEncrSupport.idl142
-rw-r--r--offapi/com/sun/star/packages/XPackageEncryption.idl134
-rw-r--r--offapi/com/sun/star/packages/manifest/ManifestReader.idl33
-rw-r--r--offapi/com/sun/star/packages/manifest/ManifestWriter.idl33
-rw-r--r--offapi/com/sun/star/packages/manifest/XManifestReader.idl42
-rw-r--r--offapi/com/sun/star/packages/manifest/XManifestWriter.idl44
-rw-r--r--offapi/com/sun/star/packages/zip/XZipFileAccess.idl58
-rw-r--r--offapi/com/sun/star/packages/zip/XZipFileAccess2.idl45
-rw-r--r--offapi/com/sun/star/packages/zip/ZipConstants.idl250
-rw-r--r--offapi/com/sun/star/packages/zip/ZipEntry.idl95
-rw-r--r--offapi/com/sun/star/packages/zip/ZipException.idl45
-rw-r--r--offapi/com/sun/star/packages/zip/ZipFileAccess.idl48
-rw-r--r--offapi/com/sun/star/packages/zip/ZipIOException.idl44
-rw-r--r--offapi/com/sun/star/presentation/AnimationEffect.idl374
-rw-r--r--offapi/com/sun/star/presentation/AnimationSpeed.idl53
-rw-r--r--offapi/com/sun/star/presentation/ChartShape.idl49
-rw-r--r--offapi/com/sun/star/presentation/ClickAction.idl109
-rw-r--r--offapi/com/sun/star/presentation/CustomPresentation.idl55
-rw-r--r--offapi/com/sun/star/presentation/CustomPresentationAccess.idl58
-rw-r--r--offapi/com/sun/star/presentation/DateTimeShape.idl49
-rw-r--r--offapi/com/sun/star/presentation/DocumentSettings.idl106
-rw-r--r--offapi/com/sun/star/presentation/DrawPage.idl157
-rw-r--r--offapi/com/sun/star/presentation/EffectCommands.idl67
-rw-r--r--offapi/com/sun/star/presentation/EffectNodeType.idl72
-rw-r--r--offapi/com/sun/star/presentation/EffectPresetClass.idl52
-rw-r--r--offapi/com/sun/star/presentation/FadeEffect.idl322
-rw-r--r--offapi/com/sun/star/presentation/FooterShape.idl49
-rw-r--r--offapi/com/sun/star/presentation/GraphicObjectShape.idl49
-rw-r--r--offapi/com/sun/star/presentation/HandoutShape.idl49
-rw-r--r--offapi/com/sun/star/presentation/HandoutView.idl47
-rw-r--r--offapi/com/sun/star/presentation/HeaderShape.idl49
-rw-r--r--offapi/com/sun/star/presentation/NotesShape.idl49
-rw-r--r--offapi/com/sun/star/presentation/NotesView.idl47
-rw-r--r--offapi/com/sun/star/presentation/OLE2Shape.idl49
-rw-r--r--offapi/com/sun/star/presentation/OutlineView.idl75
-rw-r--r--offapi/com/sun/star/presentation/OutlinerShape.idl49
-rw-r--r--offapi/com/sun/star/presentation/PageShape.idl49
-rw-r--r--offapi/com/sun/star/presentation/ParagraphTarget.idl47
-rw-r--r--offapi/com/sun/star/presentation/Presentation.idl133
-rw-r--r--offapi/com/sun/star/presentation/Presentation2.idl50
-rw-r--r--offapi/com/sun/star/presentation/PresentationDocument.idl85
-rw-r--r--offapi/com/sun/star/presentation/PresentationRange.idl52
-rw-r--r--offapi/com/sun/star/presentation/PresentationView.idl80
-rw-r--r--offapi/com/sun/star/presentation/PreviewView.idl83
-rw-r--r--offapi/com/sun/star/presentation/Shape.idl147
-rw-r--r--offapi/com/sun/star/presentation/ShapeAnimationSubType.idl57
-rw-r--r--offapi/com/sun/star/presentation/SlideNumberShape.idl49
-rw-r--r--offapi/com/sun/star/presentation/SlideShow.idl33
-rw-r--r--offapi/com/sun/star/presentation/SlidesView.idl76
-rw-r--r--offapi/com/sun/star/presentation/SubtitleShape.idl49
-rw-r--r--offapi/com/sun/star/presentation/TextAnimationType.idl54
-rw-r--r--offapi/com/sun/star/presentation/TitleTextShape.idl49
-rw-r--r--offapi/com/sun/star/presentation/TransitionFactory.idl34
-rw-r--r--offapi/com/sun/star/presentation/XCustomPresentationSupplier.idl52
-rw-r--r--offapi/com/sun/star/presentation/XHandoutMasterSupplier.idl45
-rw-r--r--offapi/com/sun/star/presentation/XPresentation.idl58
-rw-r--r--offapi/com/sun/star/presentation/XPresentation2.idl71
-rw-r--r--offapi/com/sun/star/presentation/XPresentationPage.idl49
-rw-r--r--offapi/com/sun/star/presentation/XPresentationSupplier.idl48
-rw-r--r--offapi/com/sun/star/presentation/XShapeEventListener.idl54
-rw-r--r--offapi/com/sun/star/presentation/XSlideShow.idl344
-rw-r--r--offapi/com/sun/star/presentation/XSlideShowController.idl267
-rw-r--r--offapi/com/sun/star/presentation/XSlideShowListener.idl72
-rw-r--r--offapi/com/sun/star/presentation/XSlideShowView.idl181
-rw-r--r--offapi/com/sun/star/presentation/XTransition.idl55
-rw-r--r--offapi/com/sun/star/presentation/XTransitionFactory.idl79
-rw-r--r--offapi/com/sun/star/presentation/textfield/DateTime.idl41
-rw-r--r--offapi/com/sun/star/presentation/textfield/Footer.idl41
-rw-r--r--offapi/com/sun/star/presentation/textfield/Header.idl41
-rw-r--r--offapi/com/sun/star/qa/XDumper.idl46
-rw-r--r--offapi/com/sun/star/rdf/BlankNode.idl67
-rw-r--r--offapi/com/sun/star/rdf/FileFormat.idl73
-rw-r--r--offapi/com/sun/star/rdf/Literal.idl75
-rw-r--r--offapi/com/sun/star/rdf/ParseException.idl43
-rw-r--r--offapi/com/sun/star/rdf/QueryException.idl44
-rw-r--r--offapi/com/sun/star/rdf/Repository.idl49
-rw-r--r--offapi/com/sun/star/rdf/RepositoryException.idl44
-rw-r--r--offapi/com/sun/star/rdf/Statement.idl52
-rw-r--r--offapi/com/sun/star/rdf/URI.idl85
-rw-r--r--offapi/com/sun/star/rdf/URIs.idl333
-rw-r--r--offapi/com/sun/star/rdf/XBlankNode.idl49
-rw-r--r--offapi/com/sun/star/rdf/XDocumentMetadataAccess.idl397
-rw-r--r--offapi/com/sun/star/rdf/XDocumentRepository.idl222
-rw-r--r--offapi/com/sun/star/rdf/XLiteral.idl61
-rw-r--r--offapi/com/sun/star/rdf/XMetadatable.idl87
-rw-r--r--offapi/com/sun/star/rdf/XNamedGraph.idl201
-rw-r--r--offapi/com/sun/star/rdf/XNode.idl68
-rw-r--r--offapi/com/sun/star/rdf/XQuerySelectResult.idl64
-rw-r--r--offapi/com/sun/star/rdf/XReifiedStatement.idl46
-rw-r--r--offapi/com/sun/star/rdf/XRepository.idl393
-rw-r--r--offapi/com/sun/star/rdf/XRepositorySupplier.idl51
-rw-r--r--offapi/com/sun/star/rdf/XResource.idl50
-rw-r--r--offapi/com/sun/star/rdf/XURI.idl66
-rw-r--r--offapi/com/sun/star/rendering/ARGBColor.idl47
-rw-r--r--offapi/com/sun/star/rendering/AnimationAttributes.idl61
-rw-r--r--offapi/com/sun/star/rendering/AnimationRepeat.idl75
-rw-r--r--offapi/com/sun/star/rendering/BitmapCanvas.idl48
-rw-r--r--offapi/com/sun/star/rendering/BlendMode.idl56
-rw-r--r--offapi/com/sun/star/rendering/Canvas.idl35
-rw-r--r--offapi/com/sun/star/rendering/CanvasFactory.idl52
-rw-r--r--offapi/com/sun/star/rendering/Caret.idl64
-rw-r--r--offapi/com/sun/star/rendering/Color.idl34
-rw-r--r--offapi/com/sun/star/rendering/ColorComponent.idl32
-rw-r--r--offapi/com/sun/star/rendering/ColorComponentTag.idl134
-rw-r--r--offapi/com/sun/star/rendering/ColorProfile.idl37
-rw-r--r--offapi/com/sun/star/rendering/ColorSpaceType.idl120
-rw-r--r--offapi/com/sun/star/rendering/CompositeOperation.idl152
-rw-r--r--offapi/com/sun/star/rendering/EmphasisMark.idl73
-rw-r--r--offapi/com/sun/star/rendering/FillRule.idl56
-rw-r--r--offapi/com/sun/star/rendering/FloatingPointBitmapFormat.idl61
-rw-r--r--offapi/com/sun/star/rendering/FloatingPointBitmapLayout.idl103
-rw-r--r--offapi/com/sun/star/rendering/FontInfo.idl110
-rw-r--r--offapi/com/sun/star/rendering/FontMetrics.idl95
-rw-r--r--offapi/com/sun/star/rendering/FontRequest.idl107
-rw-r--r--offapi/com/sun/star/rendering/IntegerBitmapLayout.idl117
-rw-r--r--offapi/com/sun/star/rendering/InterpolationMode.idl87
-rw-r--r--offapi/com/sun/star/rendering/MtfRenderer.idl38
-rw-r--r--offapi/com/sun/star/rendering/Panose.idl61
-rw-r--r--offapi/com/sun/star/rendering/PanoseArmStyle.idl44
-rw-r--r--offapi/com/sun/star/rendering/PanoseContrast.idl42
-rw-r--r--offapi/com/sun/star/rendering/PanoseFamilyTypes.idl38
-rw-r--r--offapi/com/sun/star/rendering/PanoseLetterForm.idl48
-rw-r--r--offapi/com/sun/star/rendering/PanoseMidline.idl46
-rw-r--r--offapi/com/sun/star/rendering/PanoseProportion.idl42
-rw-r--r--offapi/com/sun/star/rendering/PanoseSerifStyle.idl48
-rw-r--r--offapi/com/sun/star/rendering/PanoseStrokeVariation.idl41
-rw-r--r--offapi/com/sun/star/rendering/PanoseWeight.idl44
-rw-r--r--offapi/com/sun/star/rendering/PanoseXHeight.idl40
-rw-r--r--offapi/com/sun/star/rendering/PathCapType.idl51
-rw-r--r--offapi/com/sun/star/rendering/PathJoinType.idl64
-rw-r--r--offapi/com/sun/star/rendering/RGBColor.idl42
-rw-r--r--offapi/com/sun/star/rendering/RenderState.idl95
-rw-r--r--offapi/com/sun/star/rendering/RenderingIntent.idl82
-rw-r--r--offapi/com/sun/star/rendering/RepaintResult.idl50
-rw-r--r--offapi/com/sun/star/rendering/StringContext.idl60
-rw-r--r--offapi/com/sun/star/rendering/StrokeAttributes.idl132
-rw-r--r--offapi/com/sun/star/rendering/TextDirection.idl47
-rw-r--r--offapi/com/sun/star/rendering/TextHit.idl64
-rw-r--r--offapi/com/sun/star/rendering/Texture.idl139
-rw-r--r--offapi/com/sun/star/rendering/TexturingMode.idl62
-rw-r--r--offapi/com/sun/star/rendering/ViewState.idl68
-rw-r--r--offapi/com/sun/star/rendering/VolatileContentDestroyedException.idl41
-rw-r--r--offapi/com/sun/star/rendering/XAnimatedSprite.idl173
-rw-r--r--offapi/com/sun/star/rendering/XAnimation.idl106
-rw-r--r--offapi/com/sun/star/rendering/XBezierPolyPolygon2D.idl160
-rw-r--r--offapi/com/sun/star/rendering/XBitmap.idl95
-rw-r--r--offapi/com/sun/star/rendering/XBitmapCanvas.idl113
-rw-r--r--offapi/com/sun/star/rendering/XBitmapPalette.idl109
-rw-r--r--offapi/com/sun/star/rendering/XBufferController.idl121
-rw-r--r--offapi/com/sun/star/rendering/XCachedPrimitive.idl61
-rw-r--r--offapi/com/sun/star/rendering/XCanvas.idl666
-rw-r--r--offapi/com/sun/star/rendering/XCanvasFont.idl109
-rw-r--r--offapi/com/sun/star/rendering/XColorSpace.idl244
-rw-r--r--offapi/com/sun/star/rendering/XCustomSprite.idl63
-rw-r--r--offapi/com/sun/star/rendering/XGraphicDevice.idl267
-rw-r--r--offapi/com/sun/star/rendering/XHalfFloatBitmap.idl75
-rw-r--r--offapi/com/sun/star/rendering/XHalfFloatReadOnlyBitmap.idl91
-rw-r--r--offapi/com/sun/star/rendering/XIeeeDoubleBitmap.idl119
-rw-r--r--offapi/com/sun/star/rendering/XIeeeDoubleReadOnlyBitmap.idl118
-rw-r--r--offapi/com/sun/star/rendering/XIeeeFloatBitmap.idl118
-rw-r--r--offapi/com/sun/star/rendering/XIeeeFloatReadOnlyBitmap.idl117
-rw-r--r--offapi/com/sun/star/rendering/XIntegerBitmap.idl127
-rw-r--r--offapi/com/sun/star/rendering/XIntegerBitmapColorSpace.idl272
-rw-r--r--offapi/com/sun/star/rendering/XIntegerReadOnlyBitmap.idl138
-rw-r--r--offapi/com/sun/star/rendering/XLinePolyPolygon2D.idl108
-rw-r--r--offapi/com/sun/star/rendering/XMtfRenderer.idl37
-rw-r--r--offapi/com/sun/star/rendering/XParametricPolyPolygon2D.idl89
-rw-r--r--offapi/com/sun/star/rendering/XPolyPolygon2D.idl114
-rw-r--r--offapi/com/sun/star/rendering/XSimpleCanvas.idl246
-rw-r--r--offapi/com/sun/star/rendering/XSprite.idl190
-rw-r--r--offapi/com/sun/star/rendering/XSpriteCanvas.idl145
-rw-r--r--offapi/com/sun/star/rendering/XTextLayout.idl396
-rw-r--r--offapi/com/sun/star/rendering/XVolatileBitmap.idl46
-rw-r--r--offapi/com/sun/star/report/Calculation.idl123
-rw-r--r--offapi/com/sun/star/report/FixedLine.idl33
-rw-r--r--offapi/com/sun/star/report/FixedText.idl34
-rw-r--r--offapi/com/sun/star/report/ForceNewPage.idl56
-rw-r--r--offapi/com/sun/star/report/FormatCondition.idl32
-rw-r--r--offapi/com/sun/star/report/FormattedField.idl35
-rw-r--r--offapi/com/sun/star/report/Function.idl35
-rw-r--r--offapi/com/sun/star/report/Group.idl34
-rw-r--r--offapi/com/sun/star/report/GroupKeepTogether.idl48
-rw-r--r--offapi/com/sun/star/report/GroupOn.idl79
-rw-r--r--offapi/com/sun/star/report/Groups.idl33
-rw-r--r--offapi/com/sun/star/report/ImageControl.idl35
-rw-r--r--offapi/com/sun/star/report/KeepTogether.idl51
-rw-r--r--offapi/com/sun/star/report/ReportControlFormat.idl33
-rw-r--r--offapi/com/sun/star/report/ReportControlModel.idl35
-rw-r--r--offapi/com/sun/star/report/ReportDefinition.idl36
-rw-r--r--offapi/com/sun/star/report/ReportEngine.idl37
-rw-r--r--offapi/com/sun/star/report/ReportPrintOption.idl54
-rw-r--r--offapi/com/sun/star/report/Section.idl36
-rw-r--r--offapi/com/sun/star/report/SectionPageBreak.idl50
-rw-r--r--offapi/com/sun/star/report/Shape.idl34
-rw-r--r--offapi/com/sun/star/report/XFixedLine.idl79
-rw-r--r--offapi/com/sun/star/report/XFixedText.idl40
-rw-r--r--offapi/com/sun/star/report/XFormatCondition.idl49
-rw-r--r--offapi/com/sun/star/report/XFormattedField.idl55
-rw-r--r--offapi/com/sun/star/report/XFunction.idl69
-rw-r--r--offapi/com/sun/star/report/XFunctions.idl64
-rw-r--r--offapi/com/sun/star/report/XFunctionsSupplier.idl39
-rw-r--r--offapi/com/sun/star/report/XGroup.idl130
-rw-r--r--offapi/com/sun/star/report/XGroups.idl65
-rw-r--r--offapi/com/sun/star/report/XImageControl.idl75
-rw-r--r--offapi/com/sun/star/report/XReportComponent.idl189
-rw-r--r--offapi/com/sun/star/report/XReportControlFormat.idl566
-rw-r--r--offapi/com/sun/star/report/XReportControlModel.idl97
-rw-r--r--offapi/com/sun/star/report/XReportDefinition.idl309
-rw-r--r--offapi/com/sun/star/report/XReportEngine.idl136
-rw-r--r--offapi/com/sun/star/report/XSection.idl165
-rw-r--r--offapi/com/sun/star/report/XShape.idl73
-rw-r--r--offapi/com/sun/star/report/inspection/DataProviderHandler.idl43
-rw-r--r--offapi/com/sun/star/report/inspection/DefaultComponentInspectorModel.idl83
-rw-r--r--offapi/com/sun/star/report/inspection/ReportComponentHandler.idl43
-rw-r--r--offapi/com/sun/star/report/meta/XFormulaParser.idl60
-rw-r--r--offapi/com/sun/star/report/meta/XFunctionCategory.idl64
-rw-r--r--offapi/com/sun/star/report/meta/XFunctionDescription.idl73
-rw-r--r--offapi/com/sun/star/report/meta/XFunctionManager.idl62
-rw-r--r--offapi/com/sun/star/report/modules.idl38
-rw-r--r--offapi/com/sun/star/resource/MissingResourceException.idl42
-rw-r--r--offapi/com/sun/star/resource/StringResource.idl40
-rw-r--r--offapi/com/sun/star/resource/StringResourceWithLocation.idl86
-rw-r--r--offapi/com/sun/star/resource/StringResourceWithStorage.idl81
-rw-r--r--offapi/com/sun/star/resource/XStringResourceManager.idl291
-rw-r--r--offapi/com/sun/star/resource/XStringResourcePersistence.idl230
-rw-r--r--offapi/com/sun/star/resource/XStringResourceResolver.idl184
-rw-r--r--offapi/com/sun/star/resource/XStringResourceSupplier.idl55
-rw-r--r--offapi/com/sun/star/resource/XStringResourceWithLocation.idl81
-rw-r--r--offapi/com/sun/star/resource/XStringResourceWithStorage.idl78
-rw-r--r--offapi/com/sun/star/scanner/ScanError.idl68
-rw-r--r--offapi/com/sun/star/scanner/ScannerContext.idl47
-rw-r--r--offapi/com/sun/star/scanner/ScannerException.idl46
-rw-r--r--offapi/com/sun/star/scanner/ScannerManager.idl40
-rw-r--r--offapi/com/sun/star/scanner/XScannerManager.idl74
-rw-r--r--offapi/com/sun/star/scanner/XScannerManager2.idl41
-rw-r--r--offapi/com/sun/star/script/DocumentDialogLibraryContainer.idl67
-rw-r--r--offapi/com/sun/star/script/DocumentScriptLibraryContainer.idl67
-rw-r--r--offapi/com/sun/star/script/LibraryNotLoadedException.idl44
-rw-r--r--offapi/com/sun/star/script/ModuleInfo.idl37
-rw-r--r--offapi/com/sun/star/script/ModuleSizeExceededRequest.idl43
-rw-r--r--offapi/com/sun/star/script/ModuleType.idl40
-rw-r--r--offapi/com/sun/star/script/NativeObjectWrapper.idl34
-rw-r--r--offapi/com/sun/star/script/XLibraryContainer.idl95
-rw-r--r--offapi/com/sun/star/script/XLibraryContainer2.idl88
-rw-r--r--offapi/com/sun/star/script/XLibraryContainer3.idl55
-rw-r--r--offapi/com/sun/star/script/XLibraryContainerExport.idl64
-rw-r--r--offapi/com/sun/star/script/XLibraryContainerPassword.idl128
-rw-r--r--offapi/com/sun/star/script/XLibraryQueryExecutable.idl38
-rw-r--r--offapi/com/sun/star/script/XPersistentLibraryContainer.idl87
-rw-r--r--offapi/com/sun/star/script/XServiceDocumenter.idl31
-rw-r--r--offapi/com/sun/star/script/XStorageBasedLibraryContainer.idl91
-rw-r--r--offapi/com/sun/star/script/browse/BrowseNode.idl52
-rw-r--r--offapi/com/sun/star/script/browse/BrowseNodeFactory.idl42
-rw-r--r--offapi/com/sun/star/script/browse/BrowseNodeFactoryViewTypes.idl44
-rw-r--r--offapi/com/sun/star/script/browse/BrowseNodeTypes.idl49
-rw-r--r--offapi/com/sun/star/script/browse/XBrowseNode.idl70
-rw-r--r--offapi/com/sun/star/script/browse/XBrowseNodeFactory.idl50
-rw-r--r--offapi/com/sun/star/script/browse/theBrowseNodeFactory.idl43
-rw-r--r--offapi/com/sun/star/script/provider/LanguageScriptProvider.idl41
-rw-r--r--offapi/com/sun/star/script/provider/MasterScriptProvider.idl41
-rw-r--r--offapi/com/sun/star/script/provider/MasterScriptProviderFactory.idl41
-rw-r--r--offapi/com/sun/star/script/provider/ScriptErrorRaisedException.idl48
-rw-r--r--offapi/com/sun/star/script/provider/ScriptExceptionRaisedException.idl42
-rw-r--r--offapi/com/sun/star/script/provider/ScriptFrameworkErrorException.idl48
-rw-r--r--offapi/com/sun/star/script/provider/ScriptFrameworkErrorType.idl53
-rw-r--r--offapi/com/sun/star/script/provider/ScriptProvider.idl44
-rw-r--r--offapi/com/sun/star/script/provider/ScriptProviderForBasic.idl40
-rw-r--r--offapi/com/sun/star/script/provider/ScriptProviderForBeanShell.idl40
-rw-r--r--offapi/com/sun/star/script/provider/ScriptProviderForJava.idl40
-rw-r--r--offapi/com/sun/star/script/provider/ScriptProviderForJavaScript.idl40
-rw-r--r--offapi/com/sun/star/script/provider/ScriptURIHelper.idl59
-rw-r--r--offapi/com/sun/star/script/provider/XScript.idl78
-rw-r--r--offapi/com/sun/star/script/provider/XScriptContext.idl93
-rw-r--r--offapi/com/sun/star/script/provider/XScriptProvider.idl56
-rw-r--r--offapi/com/sun/star/script/provider/XScriptProviderFactory.idl56
-rw-r--r--offapi/com/sun/star/script/provider/XScriptProviderSupplier.idl47
-rw-r--r--offapi/com/sun/star/script/provider/XScriptURIHelper.idl73
-rw-r--r--offapi/com/sun/star/script/provider/theMasterScriptProviderFactory.idl43
-rw-r--r--offapi/com/sun/star/script/theServiceDocumenter.idl26
-rw-r--r--offapi/com/sun/star/script/vba/VBAEventId.idl123
-rw-r--r--offapi/com/sun/star/script/vba/VBAEventProcessor.idl39
-rw-r--r--offapi/com/sun/star/script/vba/VBAMacroResolver.idl39
-rw-r--r--offapi/com/sun/star/script/vba/VBAScriptEvent.idl60
-rw-r--r--offapi/com/sun/star/script/vba/VBAScriptEventId.idl86
-rw-r--r--offapi/com/sun/star/script/vba/VBASpreadsheetEventProcessor.idl40
-rw-r--r--offapi/com/sun/star/script/vba/VBATextEventProcessor.idl40
-rw-r--r--offapi/com/sun/star/script/vba/XVBACompatibility.idl54
-rw-r--r--offapi/com/sun/star/script/vba/XVBAEventProcessor.idl86
-rw-r--r--offapi/com/sun/star/script/vba/XVBAMacroResolver.idl81
-rw-r--r--offapi/com/sun/star/script/vba/XVBAModuleInfo.idl62
-rw-r--r--offapi/com/sun/star/script/vba/XVBAScriptListener.idl41
-rw-r--r--offapi/com/sun/star/sdb/BooleanComparisonMode.idl64
-rw-r--r--offapi/com/sun/star/sdb/CallableStatement.idl47
-rw-r--r--offapi/com/sun/star/sdb/Column.idl48
-rw-r--r--offapi/com/sun/star/sdb/ColumnDescriptorControl.idl40
-rw-r--r--offapi/com/sun/star/sdb/ColumnDescriptorControlModel.idl79
-rw-r--r--offapi/com/sun/star/sdb/ColumnSettings.idl119
-rw-r--r--offapi/com/sun/star/sdb/CommandDefinition.idl38
-rw-r--r--offapi/com/sun/star/sdb/CommandType.idl52
-rw-r--r--offapi/com/sun/star/sdb/Connection.idl85
-rw-r--r--offapi/com/sun/star/sdb/ContentLoader.idl93
-rw-r--r--offapi/com/sun/star/sdb/DataAccessDescriptor.idl253
-rw-r--r--offapi/com/sun/star/sdb/DataAccessDescriptorFactory.idl39
-rw-r--r--offapi/com/sun/star/sdb/DataColumn.idl67
-rw-r--r--offapi/com/sun/star/sdb/DataSettings.idl84
-rw-r--r--offapi/com/sun/star/sdb/DataSource.idl238
-rw-r--r--offapi/com/sun/star/sdb/DataSourceBrowser.idl268
-rw-r--r--offapi/com/sun/star/sdb/DatabaseAccess.idl106
-rw-r--r--offapi/com/sun/star/sdb/DatabaseAccessConnection.idl85
-rw-r--r--offapi/com/sun/star/sdb/DatabaseAccessContext.idl77
-rw-r--r--offapi/com/sun/star/sdb/DatabaseAccessDataSource.idl61
-rw-r--r--offapi/com/sun/star/sdb/DatabaseContext.idl43
-rw-r--r--offapi/com/sun/star/sdb/DatabaseDocument.idl65
-rw-r--r--offapi/com/sun/star/sdb/DatabaseEnvironment.idl61
-rw-r--r--offapi/com/sun/star/sdb/DatabaseInteractionHandler.idl61
-rw-r--r--offapi/com/sun/star/sdb/DatabaseRegistrationEvent.idl52
-rw-r--r--offapi/com/sun/star/sdb/DatasourceAdministrationDialog.idl103
-rw-r--r--offapi/com/sun/star/sdb/DefinitionContainer.idl90
-rw-r--r--offapi/com/sun/star/sdb/DefinitionContent.idl65
-rw-r--r--offapi/com/sun/star/sdb/Document.idl51
-rw-r--r--offapi/com/sun/star/sdb/DocumentContainer.idl118
-rw-r--r--offapi/com/sun/star/sdb/DocumentDataSource.idl46
-rw-r--r--offapi/com/sun/star/sdb/DocumentDefinition.idl90
-rw-r--r--offapi/com/sun/star/sdb/DocumentSaveRequest.idl53
-rw-r--r--offapi/com/sun/star/sdb/ErrorCondition.idl161
-rw-r--r--offapi/com/sun/star/sdb/ErrorMessageDialog.idl94
-rw-r--r--offapi/com/sun/star/sdb/FilterDialog.idl51
-rw-r--r--offapi/com/sun/star/sdb/Forms.idl46
-rw-r--r--offapi/com/sun/star/sdb/InteractionHandler.idl42
-rw-r--r--offapi/com/sun/star/sdb/OfficeDatabaseDocument.idl226
-rw-r--r--offapi/com/sun/star/sdb/OrderColumn.idl46
-rw-r--r--offapi/com/sun/star/sdb/OrderDialog.idl51
-rw-r--r--offapi/com/sun/star/sdb/ParametersRequest.idl60
-rw-r--r--offapi/com/sun/star/sdb/PreparedStatement.idl52
-rw-r--r--offapi/com/sun/star/sdb/Query.idl78
-rw-r--r--offapi/com/sun/star/sdb/QueryDefinition.idl42
-rw-r--r--offapi/com/sun/star/sdb/QueryDescriptor.idl95
-rw-r--r--offapi/com/sun/star/sdb/QueryDesign.idl185
-rw-r--r--offapi/com/sun/star/sdb/RelationDesign.idl77
-rw-r--r--offapi/com/sun/star/sdb/ReportDesign.idl39
-rw-r--r--offapi/com/sun/star/sdb/Reports.idl46
-rw-r--r--offapi/com/sun/star/sdb/ResultColumn.idl112
-rw-r--r--offapi/com/sun/star/sdb/ResultSet.idl53
-rw-r--r--offapi/com/sun/star/sdb/RowChangeAction.idl50
-rw-r--r--offapi/com/sun/star/sdb/RowChangeEvent.idl50
-rw-r--r--offapi/com/sun/star/sdb/RowSet.idl385
-rw-r--r--offapi/com/sun/star/sdb/RowSetVetoException.idl42
-rw-r--r--offapi/com/sun/star/sdb/RowsChangeEvent.idl42
-rw-r--r--offapi/com/sun/star/sdb/SQLContext.idl53
-rw-r--r--offapi/com/sun/star/sdb/SQLErrorEvent.idl46
-rw-r--r--offapi/com/sun/star/sdb/SQLFilterOperator.idl71
-rw-r--r--offapi/com/sun/star/sdb/SQLQueryComposer.idl66
-rw-r--r--offapi/com/sun/star/sdb/SingleSelectQueryAnalyzer.idl81
-rw-r--r--offapi/com/sun/star/sdb/SingleSelectQueryComposer.idl62
-rw-r--r--offapi/com/sun/star/sdb/Table.idl54
-rw-r--r--offapi/com/sun/star/sdb/TableDefinition.idl45
-rw-r--r--offapi/com/sun/star/sdb/TableDescriptor.idl50
-rw-r--r--offapi/com/sun/star/sdb/TableDesign.idl80
-rw-r--r--offapi/com/sun/star/sdb/TextConnectionSettings.idl38
-rw-r--r--offapi/com/sun/star/sdb/XAlterQuery.idl52
-rw-r--r--offapi/com/sun/star/sdb/XBookmarksSupplier.idl51
-rw-r--r--offapi/com/sun/star/sdb/XColumn.idl267
-rw-r--r--offapi/com/sun/star/sdb/XColumnUpdate.idl199
-rw-r--r--offapi/com/sun/star/sdb/XCommandPreparation.idl72
-rw-r--r--offapi/com/sun/star/sdb/XCompletedConnection.idl61
-rw-r--r--offapi/com/sun/star/sdb/XCompletedExecution.idl52
-rw-r--r--offapi/com/sun/star/sdb/XDataAccessDescriptorFactory.idl52
-rw-r--r--offapi/com/sun/star/sdb/XDatabaseAccess.idl56
-rw-r--r--offapi/com/sun/star/sdb/XDatabaseAccessListener.idl44
-rw-r--r--offapi/com/sun/star/sdb/XDatabaseContext.idl81
-rw-r--r--offapi/com/sun/star/sdb/XDatabaseEnvironment.idl53
-rw-r--r--offapi/com/sun/star/sdb/XDatabaseRegistrations.idl150
-rw-r--r--offapi/com/sun/star/sdb/XDatabaseRegistrationsListener.idl62
-rw-r--r--offapi/com/sun/star/sdb/XDocumentDataSource.idl60
-rw-r--r--offapi/com/sun/star/sdb/XFormDocumentsSupplier.idl50
-rw-r--r--offapi/com/sun/star/sdb/XInteractionDocumentSave.idl54
-rw-r--r--offapi/com/sun/star/sdb/XInteractionSupplyParameters.idl51
-rw-r--r--offapi/com/sun/star/sdb/XOfficeDatabaseDocument.idl58
-rw-r--r--offapi/com/sun/star/sdb/XParametersSupplier.idl49
-rw-r--r--offapi/com/sun/star/sdb/XQueriesSupplier.idl52
-rw-r--r--offapi/com/sun/star/sdb/XQueryDefinition.idl52
-rw-r--r--offapi/com/sun/star/sdb/XQueryDefinitionsSupplier.idl48
-rw-r--r--offapi/com/sun/star/sdb/XReportDocumentsSupplier.idl50
-rw-r--r--offapi/com/sun/star/sdb/XResultSetAccess.idl59
-rw-r--r--offapi/com/sun/star/sdb/XRowSetApproveBroadcaster.idl54
-rw-r--r--offapi/com/sun/star/sdb/XRowSetApproveListener.idl62
-rw-r--r--offapi/com/sun/star/sdb/XRowSetChangeBroadcaster.idl54
-rw-r--r--offapi/com/sun/star/sdb/XRowSetChangeListener.idl50
-rw-r--r--offapi/com/sun/star/sdb/XRowSetSupplier.idl59
-rw-r--r--offapi/com/sun/star/sdb/XRowsChangeBroadcaster.idl54
-rw-r--r--offapi/com/sun/star/sdb/XRowsChangeListener.idl48
-rw-r--r--offapi/com/sun/star/sdb/XSQLErrorBroadcaster.idl56
-rw-r--r--offapi/com/sun/star/sdb/XSQLErrorListener.idl51
-rw-r--r--offapi/com/sun/star/sdb/XSQLQueryComposer.idl148
-rw-r--r--offapi/com/sun/star/sdb/XSQLQueryComposerFactory.idl44
-rw-r--r--offapi/com/sun/star/sdb/XSingleSelectQueryAnalyzer.idl227
-rw-r--r--offapi/com/sun/star/sdb/XSingleSelectQueryComposer.idl235
-rw-r--r--offapi/com/sun/star/sdb/XSubDocument.idl93
-rw-r--r--offapi/com/sun/star/sdb/XTextConnectionSettings.idl44
-rw-r--r--offapi/com/sun/star/sdb/application/CopyTableContinuation.idl59
-rw-r--r--offapi/com/sun/star/sdb/application/CopyTableOperation.idl62
-rw-r--r--offapi/com/sun/star/sdb/application/CopyTableRowEvent.idl57
-rw-r--r--offapi/com/sun/star/sdb/application/CopyTableWizard.idl219
-rw-r--r--offapi/com/sun/star/sdb/application/DatabaseObject.idl64
-rw-r--r--offapi/com/sun/star/sdb/application/DatabaseObjectContainer.idl95
-rw-r--r--offapi/com/sun/star/sdb/application/DefaultViewController.idl92
-rw-r--r--offapi/com/sun/star/sdb/application/NamedDatabaseObject.idl78
-rw-r--r--offapi/com/sun/star/sdb/application/XCopyTableListener.idl84
-rw-r--r--offapi/com/sun/star/sdb/application/XCopyTableWizard.idl138
-rw-r--r--offapi/com/sun/star/sdb/application/XDatabaseDocumentUI.idl322
-rw-r--r--offapi/com/sun/star/sdb/application/XTableUIProvider.idl112
-rw-r--r--offapi/com/sun/star/sdb/tools/CompositionType.idl79
-rw-r--r--offapi/com/sun/star/sdb/tools/ConnectionTools.idl43
-rw-r--r--offapi/com/sun/star/sdb/tools/XConnectionSupplier.idl48
-rw-r--r--offapi/com/sun/star/sdb/tools/XConnectionTools.idl129
-rw-r--r--offapi/com/sun/star/sdb/tools/XDataSourceMetaData.idl41
-rw-r--r--offapi/com/sun/star/sdb/tools/XIndexAlteration.idl75
-rw-r--r--offapi/com/sun/star/sdb/tools/XKeyAlteration.idl75
-rw-r--r--offapi/com/sun/star/sdb/tools/XObjectNames.idl164
-rw-r--r--offapi/com/sun/star/sdb/tools/XTableAlteration.idl94
-rw-r--r--offapi/com/sun/star/sdb/tools/XTableName.idl134
-rw-r--r--offapi/com/sun/star/sdb/tools/XTableRename.idl57
-rw-r--r--offapi/com/sun/star/sdb/tools/XViewAccess.idl67
-rw-r--r--offapi/com/sun/star/sdbc/BatchUpdateException.idl59
-rw-r--r--offapi/com/sun/star/sdbc/BestRowScope.idl68
-rw-r--r--offapi/com/sun/star/sdbc/BestRowType.idl65
-rw-r--r--offapi/com/sun/star/sdbc/CallableStatement.idl95
-rw-r--r--offapi/com/sun/star/sdbc/ChangeAction.idl51
-rw-r--r--offapi/com/sun/star/sdbc/ChangeEvent.idl44
-rw-r--r--offapi/com/sun/star/sdbc/ColumnSearch.idl91
-rw-r--r--offapi/com/sun/star/sdbc/ColumnType.idl65
-rw-r--r--offapi/com/sun/star/sdbc/ColumnValue.idl50
-rw-r--r--offapi/com/sun/star/sdbc/Connection.idl83
-rw-r--r--offapi/com/sun/star/sdbc/ConnectionPool.idl49
-rw-r--r--offapi/com/sun/star/sdbc/ConnectionProperties.idl61
-rw-r--r--offapi/com/sun/star/sdbc/DBASEConnectionProperties.idl54
-rw-r--r--offapi/com/sun/star/sdbc/DataTruncation.idl81
-rw-r--r--offapi/com/sun/star/sdbc/DataType.idl136
-rw-r--r--offapi/com/sun/star/sdbc/Deferrability.idl68
-rw-r--r--offapi/com/sun/star/sdbc/Driver.idl68
-rw-r--r--offapi/com/sun/star/sdbc/DriverManager.idl32
-rw-r--r--offapi/com/sun/star/sdbc/DriverPropertyInfo.idl80
-rw-r--r--offapi/com/sun/star/sdbc/FILEConnectionProperties.idl61
-rw-r--r--offapi/com/sun/star/sdbc/FLATConnectionProperties.idl74
-rw-r--r--offapi/com/sun/star/sdbc/FetchDirection.idl51
-rw-r--r--offapi/com/sun/star/sdbc/IndexType.idl89
-rw-r--r--offapi/com/sun/star/sdbc/JDBCConnectionProperties.idl105
-rw-r--r--offapi/com/sun/star/sdbc/KeyRule.idl161
-rw-r--r--offapi/com/sun/star/sdbc/ODBCConnectionProperties.idl82
-rw-r--r--offapi/com/sun/star/sdbc/PreparedStatement.idl258
-rw-r--r--offapi/com/sun/star/sdbc/ProcedureColumn.idl98
-rw-r--r--offapi/com/sun/star/sdbc/ProcedureResult.idl77
-rw-r--r--offapi/com/sun/star/sdbc/ResultSet.idl236
-rw-r--r--offapi/com/sun/star/sdbc/ResultSetConcurrency.idl51
-rw-r--r--offapi/com/sun/star/sdbc/ResultSetType.idl60
-rw-r--r--offapi/com/sun/star/sdbc/RowSet.idl177
-rw-r--r--offapi/com/sun/star/sdbc/SQLException.idl70
-rw-r--r--offapi/com/sun/star/sdbc/SQLWarning.idl46
-rw-r--r--offapi/com/sun/star/sdbc/Statement.idl220
-rw-r--r--offapi/com/sun/star/sdbc/TransactionIsolation.idl78
-rw-r--r--offapi/com/sun/star/sdbc/XArray.idl231
-rw-r--r--offapi/com/sun/star/sdbc/XBatchExecution.idl70
-rw-r--r--offapi/com/sun/star/sdbc/XBlob.idl222
-rw-r--r--offapi/com/sun/star/sdbc/XClob.idl189
-rw-r--r--offapi/com/sun/star/sdbc/XCloseable.idl48
-rw-r--r--offapi/com/sun/star/sdbc/XColumnLocate.idl75
-rw-r--r--offapi/com/sun/star/sdbc/XConnection.idl406
-rw-r--r--offapi/com/sun/star/sdbc/XConnectionPool.idl42
-rw-r--r--offapi/com/sun/star/sdbc/XDataSource.idl92
-rw-r--r--offapi/com/sun/star/sdbc/XDatabaseMetaData.idl2443
-rw-r--r--offapi/com/sun/star/sdbc/XDatabaseMetaData2.idl51
-rw-r--r--offapi/com/sun/star/sdbc/XDriver.idl163
-rw-r--r--offapi/com/sun/star/sdbc/XDriverAccess.idl55
-rw-r--r--offapi/com/sun/star/sdbc/XDriverManager.idl109
-rw-r--r--offapi/com/sun/star/sdbc/XDriverManager2.idl64
-rw-r--r--offapi/com/sun/star/sdbc/XGeneratedResultSet.idl59
-rw-r--r--offapi/com/sun/star/sdbc/XIsolatedConnection.idl74
-rw-r--r--offapi/com/sun/star/sdbc/XMultipleResults.idl104
-rw-r--r--offapi/com/sun/star/sdbc/XOutParameters.idl131
-rw-r--r--offapi/com/sun/star/sdbc/XParameters.idl422
-rw-r--r--offapi/com/sun/star/sdbc/XPooledConnection.idl66
-rw-r--r--offapi/com/sun/star/sdbc/XPreparedBatchExecution.idl73
-rw-r--r--offapi/com/sun/star/sdbc/XPreparedStatement.idl103
-rw-r--r--offapi/com/sun/star/sdbc/XRef.idl53
-rw-r--r--offapi/com/sun/star/sdbc/XResultSet.idl310
-rw-r--r--offapi/com/sun/star/sdbc/XResultSetMetaData.idl255
-rw-r--r--offapi/com/sun/star/sdbc/XResultSetMetaDataSupplier.idl62
-rw-r--r--offapi/com/sun/star/sdbc/XResultSetUpdate.idl126
-rw-r--r--offapi/com/sun/star/sdbc/XRow.idl312
-rw-r--r--offapi/com/sun/star/sdbc/XRowSet.idl74
-rw-r--r--offapi/com/sun/star/sdbc/XRowSetListener.idl62
-rw-r--r--offapi/com/sun/star/sdbc/XRowUpdate.idl236
-rw-r--r--offapi/com/sun/star/sdbc/XSQLData.idl133
-rw-r--r--offapi/com/sun/star/sdbc/XSQLInput.idl264
-rw-r--r--offapi/com/sun/star/sdbc/XSQLOutput.idl274
-rw-r--r--offapi/com/sun/star/sdbc/XStatement.idl128
-rw-r--r--offapi/com/sun/star/sdbc/XStruct.idl99
-rw-r--r--offapi/com/sun/star/sdbc/XWarningsSupplier.idl70
-rw-r--r--offapi/com/sun/star/sdbcx/CheckOption.idl52
-rw-r--r--offapi/com/sun/star/sdbcx/Column.idl116
-rw-r--r--offapi/com/sun/star/sdbcx/ColumnDescriptor.idl98
-rw-r--r--offapi/com/sun/star/sdbcx/CompareBookmark.idl62
-rw-r--r--offapi/com/sun/star/sdbcx/Container.idl94
-rw-r--r--offapi/com/sun/star/sdbcx/DatabaseDefinition.idl73
-rw-r--r--offapi/com/sun/star/sdbcx/Descriptor.idl56
-rw-r--r--offapi/com/sun/star/sdbcx/Driver.idl69
-rw-r--r--offapi/com/sun/star/sdbcx/Group.idl59
-rw-r--r--offapi/com/sun/star/sdbcx/GroupDescriptor.idl44
-rw-r--r--offapi/com/sun/star/sdbcx/Index.idl88
-rw-r--r--offapi/com/sun/star/sdbcx/IndexColumn.idl47
-rw-r--r--offapi/com/sun/star/sdbcx/IndexColumnDescriptor.idl47
-rw-r--r--offapi/com/sun/star/sdbcx/IndexDescriptor.idl64
-rw-r--r--offapi/com/sun/star/sdbcx/Key.idl84
-rw-r--r--offapi/com/sun/star/sdbcx/KeyColumn.idl45
-rw-r--r--offapi/com/sun/star/sdbcx/KeyColumnDescriptor.idl48
-rw-r--r--offapi/com/sun/star/sdbcx/KeyDescriptor.idl66
-rw-r--r--offapi/com/sun/star/sdbcx/KeyType.idl50
-rw-r--r--offapi/com/sun/star/sdbcx/PreparedStatement.idl48
-rw-r--r--offapi/com/sun/star/sdbcx/Privilege.idl75
-rw-r--r--offapi/com/sun/star/sdbcx/PrivilegeObject.idl51
-rw-r--r--offapi/com/sun/star/sdbcx/ReferenceColumn.idl48
-rw-r--r--offapi/com/sun/star/sdbcx/ResultSet.idl75
-rw-r--r--offapi/com/sun/star/sdbcx/Statement.idl53
-rw-r--r--offapi/com/sun/star/sdbcx/Table.idl125
-rw-r--r--offapi/com/sun/star/sdbcx/TableDescriptor.idl79
-rw-r--r--offapi/com/sun/star/sdbcx/User.idl59
-rw-r--r--offapi/com/sun/star/sdbcx/UserDescriptor.idl47
-rw-r--r--offapi/com/sun/star/sdbcx/View.idl99
-rw-r--r--offapi/com/sun/star/sdbcx/ViewDescriptor.idl65
-rw-r--r--offapi/com/sun/star/sdbcx/XAlterTable.idl78
-rw-r--r--offapi/com/sun/star/sdbcx/XAlterView.idl55
-rw-r--r--offapi/com/sun/star/sdbcx/XAppend.idl62
-rw-r--r--offapi/com/sun/star/sdbcx/XAuthorizable.idl110
-rw-r--r--offapi/com/sun/star/sdbcx/XColumnsSupplier.idl51
-rw-r--r--offapi/com/sun/star/sdbcx/XCreateCatalog.idl59
-rw-r--r--offapi/com/sun/star/sdbcx/XDataDefinitionSupplier.idl78
-rw-r--r--offapi/com/sun/star/sdbcx/XDataDescriptorFactory.idl49
-rw-r--r--offapi/com/sun/star/sdbcx/XDeleteRows.idl56
-rw-r--r--offapi/com/sun/star/sdbcx/XDrop.idl65
-rw-r--r--offapi/com/sun/star/sdbcx/XDropCatalog.idl61
-rw-r--r--offapi/com/sun/star/sdbcx/XGroupsSupplier.idl49
-rw-r--r--offapi/com/sun/star/sdbcx/XIndexesSupplier.idl49
-rw-r--r--offapi/com/sun/star/sdbcx/XKeysSupplier.idl49
-rw-r--r--offapi/com/sun/star/sdbcx/XRename.idl57
-rw-r--r--offapi/com/sun/star/sdbcx/XRowLocate.idl142
-rw-r--r--offapi/com/sun/star/sdbcx/XTablesSupplier.idl49
-rw-r--r--offapi/com/sun/star/sdbcx/XUser.idl50
-rw-r--r--offapi/com/sun/star/sdbcx/XUsersSupplier.idl51
-rw-r--r--offapi/com/sun/star/sdbcx/XViewsSupplier.idl49
-rw-r--r--offapi/com/sun/star/security/CertAltNameEntry.idl51
-rw-r--r--offapi/com/sun/star/security/CertificateCharacters.idl50
-rw-r--r--offapi/com/sun/star/security/CertificateContainer.idl38
-rw-r--r--offapi/com/sun/star/security/CertificateContainerStatus.idl55
-rw-r--r--offapi/com/sun/star/security/CertificateException.idl37
-rw-r--r--offapi/com/sun/star/security/CertificateKind.idl41
-rw-r--r--offapi/com/sun/star/security/CertificateValidity.idl122
-rw-r--r--offapi/com/sun/star/security/CryptographyException.idl38
-rw-r--r--offapi/com/sun/star/security/DocumentDigitalSignatures.idl61
-rw-r--r--offapi/com/sun/star/security/DocumentSignatureInformation.idl93
-rw-r--r--offapi/com/sun/star/security/EncryptionException.idl38
-rw-r--r--offapi/com/sun/star/security/ExtAltNameType.idl101
-rw-r--r--offapi/com/sun/star/security/KeyException.idl38
-rw-r--r--offapi/com/sun/star/security/KeyUsage.idl42
-rw-r--r--offapi/com/sun/star/security/NoPasswordException.idl36
-rw-r--r--offapi/com/sun/star/security/SecurityInfrastructureException.idl39
-rw-r--r--offapi/com/sun/star/security/SignatureException.idl35
-rw-r--r--offapi/com/sun/star/security/XCertificate.idl137
-rw-r--r--offapi/com/sun/star/security/XCertificateContainer.idl60
-rw-r--r--offapi/com/sun/star/security/XCertificateExtension.idl54
-rw-r--r--offapi/com/sun/star/security/XDocumentDigitalSignatures.idl232
-rw-r--r--offapi/com/sun/star/security/XSanExtension.idl46
-rw-r--r--offapi/com/sun/star/setup/UpdateCheck.idl39
-rw-r--r--offapi/com/sun/star/setup/UpdateCheckConfig.idl41
-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
-rw-r--r--offapi/com/sun/star/smarttags/SmartTagAction.idl48
-rw-r--r--offapi/com/sun/star/smarttags/SmartTagRecognizer.idl49
-rw-r--r--offapi/com/sun/star/smarttags/SmartTagRecognizerMode.idl52
-rw-r--r--offapi/com/sun/star/smarttags/XRangeBasedSmartTagRecognizer.idl68
-rw-r--r--offapi/com/sun/star/smarttags/XSmartTagAction.idl323
-rw-r--r--offapi/com/sun/star/smarttags/XSmartTagRecognizer.idl194
-rw-r--r--offapi/com/sun/star/style/BreakType.idl96
-rw-r--r--offapi/com/sun/star/style/CaseMap.idl58
-rw-r--r--offapi/com/sun/star/style/CellStyle.idl47
-rw-r--r--offapi/com/sun/star/style/CharacterProperties.idl489
-rw-r--r--offapi/com/sun/star/style/CharacterPropertiesAsian.idl69
-rw-r--r--offapi/com/sun/star/style/CharacterPropertiesComplex.idl69
-rw-r--r--offapi/com/sun/star/style/CharacterStyle.idl70
-rw-r--r--offapi/com/sun/star/style/DropCapFormat.idl49
-rw-r--r--offapi/com/sun/star/style/FootnoteLineStyle.idl28
-rw-r--r--offapi/com/sun/star/style/GraphicLocation.idl87
-rw-r--r--offapi/com/sun/star/style/HorizontalAlignment.idl48
-rw-r--r--offapi/com/sun/star/style/LineNumberPosition.idl54
-rw-r--r--offapi/com/sun/star/style/LineSpacing.idl45
-rw-r--r--offapi/com/sun/star/style/LineSpacingMode.idl53
-rw-r--r--offapi/com/sun/star/style/NumberingAlignment.idl55
-rw-r--r--offapi/com/sun/star/style/NumberingLevel.idl112
-rw-r--r--offapi/com/sun/star/style/NumberingRule.idl47
-rw-r--r--offapi/com/sun/star/style/NumberingType.idl558
-rw-r--r--offapi/com/sun/star/style/PageProperties.idl516
-rw-r--r--offapi/com/sun/star/style/PageStyle.idl53
-rw-r--r--offapi/com/sun/star/style/PageStyleLayout.idl59
-rw-r--r--offapi/com/sun/star/style/ParagraphAdjust.idl57
-rw-r--r--offapi/com/sun/star/style/ParagraphProperties.idl445
-rw-r--r--offapi/com/sun/star/style/ParagraphPropertiesAsian.idl50
-rw-r--r--offapi/com/sun/star/style/ParagraphPropertiesComplex.idl43
-rw-r--r--offapi/com/sun/star/style/ParagraphStyle.idl128
-rw-r--r--offapi/com/sun/star/style/ParagraphStyleCategory.idl56
-rw-r--r--offapi/com/sun/star/style/Style.idl158
-rw-r--r--offapi/com/sun/star/style/StyleFamilies.idl97
-rw-r--r--offapi/com/sun/star/style/StyleFamily.idl65
-rw-r--r--offapi/com/sun/star/style/TabAlign.idl62
-rw-r--r--offapi/com/sun/star/style/TabStop.idl58
-rw-r--r--offapi/com/sun/star/style/VerticalAlignment.idl53
-rw-r--r--offapi/com/sun/star/style/XAutoStyle.idl52
-rw-r--r--offapi/com/sun/star/style/XAutoStyleFamily.idl45
-rw-r--r--offapi/com/sun/star/style/XAutoStyles.idl48
-rw-r--r--offapi/com/sun/star/style/XAutoStylesSupplier.idl46
-rw-r--r--offapi/com/sun/star/style/XDefaultsSupplier.idl48
-rw-r--r--offapi/com/sun/star/style/XStyle.idl64
-rw-r--r--offapi/com/sun/star/style/XStyleFamiliesSupplier.idl47
-rw-r--r--offapi/com/sun/star/style/XStyleLoader.idl74
-rw-r--r--offapi/com/sun/star/style/XStyleLoader2.idl58
-rw-r--r--offapi/com/sun/star/style/XStyleSupplier.idl63
-rw-r--r--offapi/com/sun/star/svg/XSVGPrinter.idl46
-rw-r--r--offapi/com/sun/star/svg/XSVGWriter.idl41
-rw-r--r--offapi/com/sun/star/system/SimpleCommandMail.idl45
-rw-r--r--offapi/com/sun/star/system/SimpleMailClientFlags.idl61
-rw-r--r--offapi/com/sun/star/system/SimpleSystemMail.idl43
-rw-r--r--offapi/com/sun/star/system/SystemShellExecute.idl42
-rw-r--r--offapi/com/sun/star/system/SystemShellExecuteException.idl46
-rw-r--r--offapi/com/sun/star/system/SystemShellExecuteFlags.idl52
-rw-r--r--offapi/com/sun/star/system/XSimpleMailClient.idl79
-rw-r--r--offapi/com/sun/star/system/XSimpleMailClientSupplier.idl55
-rw-r--r--offapi/com/sun/star/system/XSimpleMailMessage.idl135
-rw-r--r--offapi/com/sun/star/system/XSimpleMailMessage2.idl39
-rw-r--r--offapi/com/sun/star/system/XSystemShellExecute.idl73
-rw-r--r--offapi/com/sun/star/system/windows/JumpList.idl33
-rw-r--r--offapi/com/sun/star/system/windows/JumpListItem.idl55
-rw-r--r--offapi/com/sun/star/system/windows/XJumpList.idl195
-rw-r--r--offapi/com/sun/star/table/AccessibleCellView.idl127
-rw-r--r--offapi/com/sun/star/table/AccessibleTableView.idl135
-rw-r--r--offapi/com/sun/star/table/BorderLine.idl65
-rw-r--r--offapi/com/sun/star/table/BorderLine2.idl57
-rw-r--r--offapi/com/sun/star/table/BorderLineStyle.idl120
-rw-r--r--offapi/com/sun/star/table/Cell.idl57
-rw-r--r--offapi/com/sun/star/table/CellAddress.idl53
-rw-r--r--offapi/com/sun/star/table/CellContentType.idl58
-rw-r--r--offapi/com/sun/star/table/CellCursor.idl48
-rw-r--r--offapi/com/sun/star/table/CellHoriJustify.idl68
-rw-r--r--offapi/com/sun/star/table/CellJustifyMethod.idl55
-rw-r--r--offapi/com/sun/star/table/CellOrientation.idl59
-rw-r--r--offapi/com/sun/star/table/CellProperties.idl283
-rw-r--r--offapi/com/sun/star/table/CellRange.idl51
-rw-r--r--offapi/com/sun/star/table/CellRangeAddress.idl63
-rw-r--r--offapi/com/sun/star/table/CellRangeListSource.idl80
-rw-r--r--offapi/com/sun/star/table/CellValueBinding.idl92
-rw-r--r--offapi/com/sun/star/table/CellVertJustify.idl58
-rw-r--r--offapi/com/sun/star/table/CellVertJustify2.idl62
-rw-r--r--offapi/com/sun/star/table/ListPositionCellBinding.idl50
-rw-r--r--offapi/com/sun/star/table/ShadowFormat.idl61
-rw-r--r--offapi/com/sun/star/table/ShadowLocation.idl63
-rw-r--r--offapi/com/sun/star/table/TableBorder.idl128
-rw-r--r--offapi/com/sun/star/table/TableBorder2.idl124
-rw-r--r--offapi/com/sun/star/table/TableBorderDistances.idl90
-rw-r--r--offapi/com/sun/star/table/TableChart.idl62
-rw-r--r--offapi/com/sun/star/table/TableCharts.idl61
-rw-r--r--offapi/com/sun/star/table/TableChartsEnumeration.idl49
-rw-r--r--offapi/com/sun/star/table/TableColumn.idl87
-rw-r--r--offapi/com/sun/star/table/TableColumns.idl64
-rw-r--r--offapi/com/sun/star/table/TableColumnsEnumeration.idl49
-rw-r--r--offapi/com/sun/star/table/TableOrientation.idl48
-rw-r--r--offapi/com/sun/star/table/TableRow.idl79
-rw-r--r--offapi/com/sun/star/table/TableRows.idl55
-rw-r--r--offapi/com/sun/star/table/TableRowsEnumeration.idl49
-rw-r--r--offapi/com/sun/star/table/TableSortDescriptor.idl81
-rw-r--r--offapi/com/sun/star/table/TableSortDescriptor2.idl68
-rw-r--r--offapi/com/sun/star/table/TableSortField.idl88
-rw-r--r--offapi/com/sun/star/table/TableSortFieldType.idl53
-rw-r--r--offapi/com/sun/star/table/XAutoFormattable.idl53
-rw-r--r--offapi/com/sun/star/table/XCell.idl95
-rw-r--r--offapi/com/sun/star/table/XCell2.idl49
-rw-r--r--offapi/com/sun/star/table/XCellCursor.idl83
-rw-r--r--offapi/com/sun/star/table/XCellRange.idl114
-rw-r--r--offapi/com/sun/star/table/XColumnRowRange.idl59
-rw-r--r--offapi/com/sun/star/table/XMergeableCell.idl58
-rw-r--r--offapi/com/sun/star/table/XMergeableCellRange.idl78
-rw-r--r--offapi/com/sun/star/table/XTable.idl99
-rw-r--r--offapi/com/sun/star/table/XTableChart.idl79
-rw-r--r--offapi/com/sun/star/table/XTableCharts.idl82
-rw-r--r--offapi/com/sun/star/table/XTableChartsSupplier.idl49
-rw-r--r--offapi/com/sun/star/table/XTableColumns.idl65
-rw-r--r--offapi/com/sun/star/table/XTablePivotChart.idl33
-rw-r--r--offapi/com/sun/star/table/XTablePivotCharts.idl55
-rw-r--r--offapi/com/sun/star/table/XTablePivotChartsSupplier.idl36
-rw-r--r--offapi/com/sun/star/table/XTableRows.idl70
-rw-r--r--offapi/com/sun/star/task/AsyncJob.idl51
-rw-r--r--offapi/com/sun/star/task/ClassifiedInteractionRequest.idl45
-rw-r--r--offapi/com/sun/star/task/DocumentMSPasswordRequest.idl51
-rw-r--r--offapi/com/sun/star/task/DocumentMSPasswordRequest2.idl54
-rw-r--r--offapi/com/sun/star/task/DocumentMacroConfirmationRequest.idl69
-rw-r--r--offapi/com/sun/star/task/DocumentPasswordRequest.idl51
-rw-r--r--offapi/com/sun/star/task/DocumentPasswordRequest2.idl54
-rw-r--r--offapi/com/sun/star/task/ErrorCodeIOException.idl43
-rw-r--r--offapi/com/sun/star/task/ErrorCodeRequest.idl45
-rw-r--r--offapi/com/sun/star/task/InteractionClassification.idl63
-rw-r--r--offapi/com/sun/star/task/InteractionHandler.idl171
-rw-r--r--offapi/com/sun/star/task/InteractionRequestStringResolver.idl39
-rw-r--r--offapi/com/sun/star/task/Job.idl51
-rw-r--r--offapi/com/sun/star/task/JobExecutor.idl39
-rw-r--r--offapi/com/sun/star/task/MasterPasswordRequest.idl47
-rw-r--r--offapi/com/sun/star/task/NoMasterException.idl44
-rw-r--r--offapi/com/sun/star/task/OfficeRestartManager.idl42
-rw-r--r--offapi/com/sun/star/task/PDFExportException.idl43
-rw-r--r--offapi/com/sun/star/task/PasswordContainer.idl55
-rw-r--r--offapi/com/sun/star/task/PasswordContainerInteractionHandler.idl50
-rw-r--r--offapi/com/sun/star/task/PasswordRequest.idl52
-rw-r--r--offapi/com/sun/star/task/PasswordRequestMode.idl67
-rw-r--r--offapi/com/sun/star/task/StatusIndicatorFactory.idl43
-rw-r--r--offapi/com/sun/star/task/UnsupportedOverwriteRequest.idl51
-rw-r--r--offapi/com/sun/star/task/UrlRecord.idl43
-rw-r--r--offapi/com/sun/star/task/UserRecord.idl41
-rw-r--r--offapi/com/sun/star/task/XAbortChannel.idl42
-rw-r--r--offapi/com/sun/star/task/XAsyncJob.idl74
-rw-r--r--offapi/com/sun/star/task/XInteractionApprove.idl39
-rw-r--r--offapi/com/sun/star/task/XInteractionAskLater.idl42
-rw-r--r--offapi/com/sun/star/task/XInteractionDisapprove.idl39
-rw-r--r--offapi/com/sun/star/task/XInteractionPassword.idl52
-rw-r--r--offapi/com/sun/star/task/XInteractionPassword2.idl61
-rw-r--r--offapi/com/sun/star/task/XInteractionRequestStringResolver.idl63
-rw-r--r--offapi/com/sun/star/task/XJob.idl79
-rw-r--r--offapi/com/sun/star/task/XJobExecutor.idl63
-rw-r--r--offapi/com/sun/star/task/XJobListener.idl62
-rw-r--r--offapi/com/sun/star/task/XMasterPasswordHandling.idl91
-rw-r--r--offapi/com/sun/star/task/XMasterPasswordHandling2.idl53
-rw-r--r--offapi/com/sun/star/task/XPasswordContainer.idl122
-rw-r--r--offapi/com/sun/star/task/XPasswordContainer2.idl59
-rw-r--r--offapi/com/sun/star/task/XRestartManager.idl80
-rw-r--r--offapi/com/sun/star/task/XStatusIndicator.idl115
-rw-r--r--offapi/com/sun/star/task/XStatusIndicatorFactory.idl51
-rw-r--r--offapi/com/sun/star/task/XStatusIndicatorSupplier.idl47
-rw-r--r--offapi/com/sun/star/task/XUrlContainer.idl73
-rw-r--r--offapi/com/sun/star/task/theJobExecutor.idl43
-rw-r--r--offapi/com/sun/star/text/AccessibleEndnoteView.idl113
-rw-r--r--offapi/com/sun/star/text/AccessibleFootnoteView.idl115
-rw-r--r--offapi/com/sun/star/text/AccessibleHeaderFooterView.idl116
-rw-r--r--offapi/com/sun/star/text/AccessiblePageView.idl178
-rw-r--r--offapi/com/sun/star/text/AccessibleParagraphView.idl173
-rw-r--r--offapi/com/sun/star/text/AccessibleTextDocumentPageView.idl91
-rw-r--r--offapi/com/sun/star/text/AccessibleTextDocumentView.idl182
-rw-r--r--offapi/com/sun/star/text/AccessibleTextEmbeddedObject.idl106
-rw-r--r--offapi/com/sun/star/text/AccessibleTextFrameView.idl122
-rw-r--r--offapi/com/sun/star/text/AccessibleTextGraphicObject.idl99
-rw-r--r--offapi/com/sun/star/text/AuthorDisplayFormat.idl59
-rw-r--r--offapi/com/sun/star/text/AutoTextContainer.idl37
-rw-r--r--offapi/com/sun/star/text/AutoTextEntry.idl49
-rw-r--r--offapi/com/sun/star/text/AutoTextGroup.idl55
-rw-r--r--offapi/com/sun/star/text/BaseFrame.idl83
-rw-r--r--offapi/com/sun/star/text/BaseFrameProperties.idl388
-rw-r--r--offapi/com/sun/star/text/BaseIndex.idl135
-rw-r--r--offapi/com/sun/star/text/BaseIndexMark.idl48
-rw-r--r--offapi/com/sun/star/text/Bibliography.idl47
-rw-r--r--offapi/com/sun/star/text/BibliographyDataField.idl138
-rw-r--r--offapi/com/sun/star/text/BibliographyDataType.idl101
-rw-r--r--offapi/com/sun/star/text/Bookmark.idl48
-rw-r--r--offapi/com/sun/star/text/Bookmarks.idl52
-rw-r--r--offapi/com/sun/star/text/Cell.idl94
-rw-r--r--offapi/com/sun/star/text/CellProperties.idl151
-rw-r--r--offapi/com/sun/star/text/CellRange.idl124
-rw-r--r--offapi/com/sun/star/text/ChainedTextFrame.idl58
-rw-r--r--offapi/com/sun/star/text/ChapterFormat.idl58
-rw-r--r--offapi/com/sun/star/text/ChapterNumberingRule.idl70
-rw-r--r--offapi/com/sun/star/text/CharacterCompressionType.idl49
-rw-r--r--offapi/com/sun/star/text/ColumnSeparatorStyle.idl30
-rw-r--r--offapi/com/sun/star/text/ContentIndex.idl62
-rw-r--r--offapi/com/sun/star/text/ContentIndexMark.idl49
-rw-r--r--offapi/com/sun/star/text/ControlCharacter.idl67
-rw-r--r--offapi/com/sun/star/text/DateDisplayFormat.idl80
-rw-r--r--offapi/com/sun/star/text/DefaultNumberingProvider.idl37
-rw-r--r--offapi/com/sun/star/text/Defaults.idl64
-rw-r--r--offapi/com/sun/star/text/DependentTextField.idl50
-rw-r--r--offapi/com/sun/star/text/DocumentIndex.idl89
-rw-r--r--offapi/com/sun/star/text/DocumentIndexLevelFormat.idl140
-rw-r--r--offapi/com/sun/star/text/DocumentIndexMark.idl57
-rw-r--r--offapi/com/sun/star/text/DocumentIndexMarkAsian.idl57
-rw-r--r--offapi/com/sun/star/text/DocumentIndexParagraphStyles.idl47
-rw-r--r--offapi/com/sun/star/text/DocumentIndexes.idl58
-rw-r--r--offapi/com/sun/star/text/DocumentSettings.idl182
-rw-r--r--offapi/com/sun/star/text/DocumentStatistic.idl50
-rw-r--r--offapi/com/sun/star/text/Endnote.idl41
-rw-r--r--offapi/com/sun/star/text/EndnoteSettings.idl41
-rw-r--r--offapi/com/sun/star/text/FilenameDisplayFormat.idl54
-rw-r--r--offapi/com/sun/star/text/FontEmphasis.idl66
-rw-r--r--offapi/com/sun/star/text/FontRelief.idl47
-rw-r--r--offapi/com/sun/star/text/Footnote.idl57
-rw-r--r--offapi/com/sun/star/text/FootnoteNumbering.idl50
-rw-r--r--offapi/com/sun/star/text/FootnoteSettings.idl118
-rw-r--r--offapi/com/sun/star/text/Footnotes.idl45
-rw-r--r--offapi/com/sun/star/text/GenericTextDocument.idl195
-rw-r--r--offapi/com/sun/star/text/GlobalDocument.idl43
-rw-r--r--offapi/com/sun/star/text/GlobalSettings.idl48
-rw-r--r--offapi/com/sun/star/text/GraphicCrop.idl67
-rw-r--r--offapi/com/sun/star/text/HoriOrientation.idl77
-rw-r--r--offapi/com/sun/star/text/HoriOrientationFormat.idl66
-rw-r--r--offapi/com/sun/star/text/HorizontalAdjust.idl49
-rw-r--r--offapi/com/sun/star/text/IllustrationsIndex.idl51
-rw-r--r--offapi/com/sun/star/text/InContentMetadata.idl64
-rw-r--r--offapi/com/sun/star/text/InvalidTextContentException.idl48
-rw-r--r--offapi/com/sun/star/text/LabelFollow.idl58
-rw-r--r--offapi/com/sun/star/text/LineNumberingProperties.idl92
-rw-r--r--offapi/com/sun/star/text/MailMerge.idl364
-rw-r--r--offapi/com/sun/star/text/MailMergeEvent.idl53
-rw-r--r--offapi/com/sun/star/text/MailMergeType.idl64
-rw-r--r--offapi/com/sun/star/text/ModuleDispatcher.idl38
-rw-r--r--offapi/com/sun/star/text/NotePrintMode.idl55
-rw-r--r--offapi/com/sun/star/text/NumberingLevel.idl244
-rw-r--r--offapi/com/sun/star/text/NumberingRules.idl83
-rw-r--r--offapi/com/sun/star/text/NumberingStyle.idl44
-rw-r--r--offapi/com/sun/star/text/ObjectIndex.idl63
-rw-r--r--offapi/com/sun/star/text/PageFootnoteInfo.idl72
-rw-r--r--offapi/com/sun/star/text/PageNumberType.idl51
-rw-r--r--offapi/com/sun/star/text/PagePrintSettings.idl74
-rw-r--r--offapi/com/sun/star/text/Paragraph.idl104
-rw-r--r--offapi/com/sun/star/text/ParagraphEnumeration.idl45
-rw-r--r--offapi/com/sun/star/text/ParagraphVertAlign.idl55
-rw-r--r--offapi/com/sun/star/text/PlaceholderType.idl57
-rw-r--r--offapi/com/sun/star/text/PositionAndSpaceMode.idl50
-rw-r--r--offapi/com/sun/star/text/PositionLayoutDir.idl52
-rw-r--r--offapi/com/sun/star/text/PrintSettings.idl101
-rw-r--r--offapi/com/sun/star/text/RedlinePortion.idl82
-rw-r--r--offapi/com/sun/star/text/ReferenceFieldPart.idl116
-rw-r--r--offapi/com/sun/star/text/ReferenceFieldSource.idl55
-rw-r--r--offapi/com/sun/star/text/ReferenceMark.idl43
-rw-r--r--offapi/com/sun/star/text/ReferenceMarks.idl43
-rw-r--r--offapi/com/sun/star/text/RelOrientation.idl95
-rw-r--r--offapi/com/sun/star/text/RubyAdjust.idl53
-rw-r--r--offapi/com/sun/star/text/RubyPosition.idl39
-rw-r--r--offapi/com/sun/star/text/SectionFileLink.idl61
-rw-r--r--offapi/com/sun/star/text/SetVariableType.idl49
-rw-r--r--offapi/com/sun/star/text/Shape.idl202
-rw-r--r--offapi/com/sun/star/text/SizeType.idl55
-rw-r--r--offapi/com/sun/star/text/TableColumnSeparator.idl76
-rw-r--r--offapi/com/sun/star/text/TableColumns.idl51
-rw-r--r--offapi/com/sun/star/text/TableIndex.idl58
-rw-r--r--offapi/com/sun/star/text/TableRows.idl50
-rw-r--r--offapi/com/sun/star/text/TemplateDisplayFormat.idl62
-rw-r--r--offapi/com/sun/star/text/Text.idl127
-rw-r--r--offapi/com/sun/star/text/TextColumn.idl60
-rw-r--r--offapi/com/sun/star/text/TextColumnSequence.idl34
-rw-r--r--offapi/com/sun/star/text/TextColumns.idl70
-rw-r--r--offapi/com/sun/star/text/TextContent.idl78
-rw-r--r--offapi/com/sun/star/text/TextContentAnchorType.idl72
-rw-r--r--offapi/com/sun/star/text/TextContentCollection.idl52
-rw-r--r--offapi/com/sun/star/text/TextCursor.idl78
-rw-r--r--offapi/com/sun/star/text/TextDocument.idl41
-rw-r--r--offapi/com/sun/star/text/TextDocumentView.idl98
-rw-r--r--offapi/com/sun/star/text/TextEmbeddedObject.idl64
-rw-r--r--offapi/com/sun/star/text/TextEmbeddedObjects.idl57
-rw-r--r--offapi/com/sun/star/text/TextField.idl84
-rw-r--r--offapi/com/sun/star/text/TextFieldEnumeration.idl43
-rw-r--r--offapi/com/sun/star/text/TextFieldMaster.idl58
-rw-r--r--offapi/com/sun/star/text/TextFieldMasters.idl47
-rw-r--r--offapi/com/sun/star/text/TextFields.idl51
-rw-r--r--offapi/com/sun/star/text/TextFrame.idl160
-rw-r--r--offapi/com/sun/star/text/TextFrames.idl64
-rw-r--r--offapi/com/sun/star/text/TextGraphicObject.idl142
-rw-r--r--offapi/com/sun/star/text/TextGraphicObjects.idl57
-rw-r--r--offapi/com/sun/star/text/TextGridMode.idl50
-rw-r--r--offapi/com/sun/star/text/TextLayoutCursor.idl44
-rw-r--r--offapi/com/sun/star/text/TextMarkupDescriptor.idl67
-rw-r--r--offapi/com/sun/star/text/TextMarkupType.idl67
-rw-r--r--offapi/com/sun/star/text/TextPageStyle.idl173
-rw-r--r--offapi/com/sun/star/text/TextPortion.idl139
-rw-r--r--offapi/com/sun/star/text/TextPortionEnumeration.idl44
-rw-r--r--offapi/com/sun/star/text/TextPosition.idl26
-rw-r--r--offapi/com/sun/star/text/TextRange.idl79
-rw-r--r--offapi/com/sun/star/text/TextRangeContentProperties.idl97
-rw-r--r--offapi/com/sun/star/text/TextRangeSelection.idl28
-rw-r--r--offapi/com/sun/star/text/TextRanges.idl41
-rw-r--r--offapi/com/sun/star/text/TextSection.idl207
-rw-r--r--offapi/com/sun/star/text/TextSections.idl44
-rw-r--r--offapi/com/sun/star/text/TextSortDescriptor.idl93
-rw-r--r--offapi/com/sun/star/text/TextSortDescriptor2.idl57
-rw-r--r--offapi/com/sun/star/text/TextSortable.idl53
-rw-r--r--offapi/com/sun/star/text/TextTable.idl248
-rw-r--r--offapi/com/sun/star/text/TextTableCursor.idl66
-rw-r--r--offapi/com/sun/star/text/TextTableRow.idl124
-rw-r--r--offapi/com/sun/star/text/TextTables.idl44
-rw-r--r--offapi/com/sun/star/text/TextViewCursor.idl45
-rw-r--r--offapi/com/sun/star/text/TimeDisplayFormat.idl75
-rw-r--r--offapi/com/sun/star/text/UserDataPart.idl98
-rw-r--r--offapi/com/sun/star/text/UserDefinedIndex.idl77
-rw-r--r--offapi/com/sun/star/text/UserFieldFormat.idl50
-rw-r--r--offapi/com/sun/star/text/UserIndex.idl74
-rw-r--r--offapi/com/sun/star/text/UserIndexMark.idl49
-rw-r--r--offapi/com/sun/star/text/VertOrientation.idl77
-rw-r--r--offapi/com/sun/star/text/VertOrientationFormat.idl59
-rw-r--r--offapi/com/sun/star/text/ViewSettings.idl311
-rw-r--r--offapi/com/sun/star/text/WebDocument.idl43
-rw-r--r--offapi/com/sun/star/text/WrapInfluenceOnPosition.idl57
-rw-r--r--offapi/com/sun/star/text/WrapTextMode.idl66
-rw-r--r--offapi/com/sun/star/text/WritingMode.idl65
-rw-r--r--offapi/com/sun/star/text/WritingMode2.idl93
-rw-r--r--offapi/com/sun/star/text/XAutoTextContainer.idl86
-rw-r--r--offapi/com/sun/star/text/XAutoTextContainer2.idl45
-rw-r--r--offapi/com/sun/star/text/XAutoTextEntry.idl60
-rw-r--r--offapi/com/sun/star/text/XAutoTextGroup.idl84
-rw-r--r--offapi/com/sun/star/text/XBookmarkInsertTool.idl49
-rw-r--r--offapi/com/sun/star/text/XBookmarksSupplier.idl48
-rw-r--r--offapi/com/sun/star/text/XChapterNumberingSupplier.idl51
-rw-r--r--offapi/com/sun/star/text/XDefaultNumberingProvider.idl65
-rw-r--r--offapi/com/sun/star/text/XDependentTextField.idl83
-rw-r--r--offapi/com/sun/star/text/XDocumentIndex.idl63
-rw-r--r--offapi/com/sun/star/text/XDocumentIndexMark.idl57
-rw-r--r--offapi/com/sun/star/text/XDocumentIndexesSupplier.idl51
-rw-r--r--offapi/com/sun/star/text/XEndnotesSettingsSupplier.idl47
-rw-r--r--offapi/com/sun/star/text/XEndnotesSupplier.idl54
-rw-r--r--offapi/com/sun/star/text/XFlatParagraph.idl169
-rw-r--r--offapi/com/sun/star/text/XFlatParagraphIterator.idl96
-rw-r--r--offapi/com/sun/star/text/XFlatParagraphIteratorProvider.idl68
-rw-r--r--offapi/com/sun/star/text/XFootnote.idl49
-rw-r--r--offapi/com/sun/star/text/XFootnotesSettingsSupplier.idl48
-rw-r--r--offapi/com/sun/star/text/XFootnotesSupplier.idl53
-rw-r--r--offapi/com/sun/star/text/XFormField.idl41
-rw-r--r--offapi/com/sun/star/text/XLineNumberingProperties.idl45
-rw-r--r--offapi/com/sun/star/text/XMailMergeBroadcaster.idl68
-rw-r--r--offapi/com/sun/star/text/XMailMergeListener.idl58
-rw-r--r--offapi/com/sun/star/text/XMarkingAccess.idl37
-rw-r--r--offapi/com/sun/star/text/XMultiTextMarkup.idl62
-rw-r--r--offapi/com/sun/star/text/XNumberingFormatter.idl50
-rw-r--r--offapi/com/sun/star/text/XNumberingRulesSupplier.idl46
-rw-r--r--offapi/com/sun/star/text/XNumberingTypeInfo.idl53
-rw-r--r--offapi/com/sun/star/text/XPageCursor.idl78
-rw-r--r--offapi/com/sun/star/text/XPagePrintable.idl74
-rw-r--r--offapi/com/sun/star/text/XParagraphAppend.idl79
-rw-r--r--offapi/com/sun/star/text/XParagraphCursor.idl88
-rw-r--r--offapi/com/sun/star/text/XPasteBroadcaster.idl42
-rw-r--r--offapi/com/sun/star/text/XPasteListener.idl43
-rw-r--r--offapi/com/sun/star/text/XRedline.idl60
-rw-r--r--offapi/com/sun/star/text/XReferenceMarksSupplier.idl54
-rw-r--r--offapi/com/sun/star/text/XRelativeTextContentInsert.idl66
-rw-r--r--offapi/com/sun/star/text/XRelativeTextContentRemove.idl62
-rw-r--r--offapi/com/sun/star/text/XRubySelection.idl59
-rw-r--r--offapi/com/sun/star/text/XSentenceCursor.idl88
-rw-r--r--offapi/com/sun/star/text/XSimpleText.idl127
-rw-r--r--offapi/com/sun/star/text/XText.idl84
-rw-r--r--offapi/com/sun/star/text/XTextAppend.idl45
-rw-r--r--offapi/com/sun/star/text/XTextAppendAndConvert.idl46
-rw-r--r--offapi/com/sun/star/text/XTextColumns.idl85
-rw-r--r--offapi/com/sun/star/text/XTextContent.idl74
-rw-r--r--offapi/com/sun/star/text/XTextContentAppend.idl86
-rw-r--r--offapi/com/sun/star/text/XTextConvert.idl92
-rw-r--r--offapi/com/sun/star/text/XTextCopy.idl47
-rw-r--r--offapi/com/sun/star/text/XTextCursor.idl115
-rw-r--r--offapi/com/sun/star/text/XTextDocument.idl55
-rw-r--r--offapi/com/sun/star/text/XTextEmbeddedObjectsSupplier.idl47
-rw-r--r--offapi/com/sun/star/text/XTextField.idl53
-rw-r--r--offapi/com/sun/star/text/XTextFieldsSupplier.idl55
-rw-r--r--offapi/com/sun/star/text/XTextFrame.idl47
-rw-r--r--offapi/com/sun/star/text/XTextFramesSupplier.idl46
-rw-r--r--offapi/com/sun/star/text/XTextGraphicObjectsSupplier.idl47
-rw-r--r--offapi/com/sun/star/text/XTextMarkup.idl82
-rw-r--r--offapi/com/sun/star/text/XTextPortionAppend.idl90
-rw-r--r--offapi/com/sun/star/text/XTextRange.idl76
-rw-r--r--offapi/com/sun/star/text/XTextRangeCompare.idl73
-rw-r--r--offapi/com/sun/star/text/XTextRangeMover.idl55
-rw-r--r--offapi/com/sun/star/text/XTextSection.idl49
-rw-r--r--offapi/com/sun/star/text/XTextSectionsSupplier.idl46
-rw-r--r--offapi/com/sun/star/text/XTextShapesSupplier.idl47
-rw-r--r--offapi/com/sun/star/text/XTextTable.idl118
-rw-r--r--offapi/com/sun/star/text/XTextTableCursor.idl158
-rw-r--r--offapi/com/sun/star/text/XTextTablesSupplier.idl50
-rw-r--r--offapi/com/sun/star/text/XTextViewCursor.idl56
-rw-r--r--offapi/com/sun/star/text/XTextViewCursorSupplier.idl53
-rw-r--r--offapi/com/sun/star/text/XTextViewTextRangeSupplier.idl46
-rw-r--r--offapi/com/sun/star/text/XWordCursor.idl96
-rw-r--r--offapi/com/sun/star/text/fieldmaster/Bibliography.idl83
-rw-r--r--offapi/com/sun/star/text/fieldmaster/DDE.idl58
-rw-r--r--offapi/com/sun/star/text/fieldmaster/Database.idl79
-rw-r--r--offapi/com/sun/star/text/fieldmaster/SetExpression.idl56
-rw-r--r--offapi/com/sun/star/text/fieldmaster/User.idl52
-rw-r--r--offapi/com/sun/star/text/textfield/Annotation.idl65
-rw-r--r--offapi/com/sun/star/text/textfield/Author.idl64
-rw-r--r--offapi/com/sun/star/text/textfield/Bibliography.idl48
-rw-r--r--offapi/com/sun/star/text/textfield/Chapter.idl50
-rw-r--r--offapi/com/sun/star/text/textfield/CharacterCount.idl47
-rw-r--r--offapi/com/sun/star/text/textfield/CombinedCharacters.idl45
-rw-r--r--offapi/com/sun/star/text/textfield/ConditionalText.idl60
-rw-r--r--offapi/com/sun/star/text/textfield/DDE.idl44
-rw-r--r--offapi/com/sun/star/text/textfield/Database.idl59
-rw-r--r--offapi/com/sun/star/text/textfield/DatabaseName.idl71
-rw-r--r--offapi/com/sun/star/text/textfield/DatabaseNextSet.idl75
-rw-r--r--offapi/com/sun/star/text/textfield/DatabaseNumberOfSet.idl80
-rw-r--r--offapi/com/sun/star/text/textfield/DatabaseSetNumber.idl81
-rw-r--r--offapi/com/sun/star/text/textfield/DateTime.idl88
-rw-r--r--offapi/com/sun/star/text/textfield/DropDown.idl60
-rw-r--r--offapi/com/sun/star/text/textfield/EmbeddedObjectCount.idl47
-rw-r--r--offapi/com/sun/star/text/textfield/ExtendedUser.idl57
-rw-r--r--offapi/com/sun/star/text/textfield/FileName.idl53
-rw-r--r--offapi/com/sun/star/text/textfield/GetExpression.idl73
-rw-r--r--offapi/com/sun/star/text/textfield/GetReference.idl77
-rw-r--r--offapi/com/sun/star/text/textfield/GraphicObjectCount.idl47
-rw-r--r--offapi/com/sun/star/text/textfield/HiddenParagraph.idl50
-rw-r--r--offapi/com/sun/star/text/textfield/HiddenText.idl54
-rw-r--r--offapi/com/sun/star/text/textfield/Input.idl60
-rw-r--r--offapi/com/sun/star/text/textfield/InputUser.idl53
-rw-r--r--offapi/com/sun/star/text/textfield/JumpEdit.idl52
-rw-r--r--offapi/com/sun/star/text/textfield/Macro.idl51
-rw-r--r--offapi/com/sun/star/text/textfield/MetadataField.idl80
-rw-r--r--offapi/com/sun/star/text/textfield/PageCount.idl47
-rw-r--r--offapi/com/sun/star/text/textfield/PageNumber.idl60
-rw-r--r--offapi/com/sun/star/text/textfield/ParagraphCount.idl47
-rw-r--r--offapi/com/sun/star/text/textfield/ReferencePageGet.idl48
-rw-r--r--offapi/com/sun/star/text/textfield/ReferencePageSet.idl49
-rw-r--r--offapi/com/sun/star/text/textfield/Script.idl52
-rw-r--r--offapi/com/sun/star/text/textfield/SetExpression.idl104
-rw-r--r--offapi/com/sun/star/text/textfield/TableCount.idl47
-rw-r--r--offapi/com/sun/star/text/textfield/TableFormula.idl58
-rw-r--r--offapi/com/sun/star/text/textfield/TemplateName.idl47
-rw-r--r--offapi/com/sun/star/text/textfield/Type.idl53
-rw-r--r--offapi/com/sun/star/text/textfield/URL.idl60
-rw-r--r--offapi/com/sun/star/text/textfield/User.idl62
-rw-r--r--offapi/com/sun/star/text/textfield/WordCount.idl47
-rw-r--r--offapi/com/sun/star/text/textfield/docinfo/ChangeAuthor.idl56
-rw-r--r--offapi/com/sun/star/text/textfield/docinfo/ChangeDateTime.idl73
-rw-r--r--offapi/com/sun/star/text/textfield/docinfo/CreateAuthor.idl56
-rw-r--r--offapi/com/sun/star/text/textfield/docinfo/CreateDateTime.idl73
-rw-r--r--offapi/com/sun/star/text/textfield/docinfo/Custom.idl60
-rw-r--r--offapi/com/sun/star/text/textfield/docinfo/Description.idl55
-rw-r--r--offapi/com/sun/star/text/textfield/docinfo/EditTime.idl68
-rw-r--r--offapi/com/sun/star/text/textfield/docinfo/Keywords.idl55
-rw-r--r--offapi/com/sun/star/text/textfield/docinfo/PrintAuthor.idl56
-rw-r--r--offapi/com/sun/star/text/textfield/docinfo/PrintDateTime.idl73
-rw-r--r--offapi/com/sun/star/text/textfield/docinfo/Revision.idl55
-rw-r--r--offapi/com/sun/star/text/textfield/docinfo/Subject.idl55
-rw-r--r--offapi/com/sun/star/text/textfield/docinfo/Title.idl55
-rw-r--r--offapi/com/sun/star/tiledrendering/XTiledRenderable.idl81
-rw-r--r--offapi/com/sun/star/ucb/AlreadyInitializedException.idl42
-rw-r--r--offapi/com/sun/star/ucb/AnyCompareFactory.idl42
-rw-r--r--offapi/com/sun/star/ucb/AuthenticationFallbackRequest.idl37
-rw-r--r--offapi/com/sun/star/ucb/AuthenticationRequest.idl93
-rw-r--r--offapi/com/sun/star/ucb/CachedContentResultSet.idl71
-rw-r--r--offapi/com/sun/star/ucb/CachedContentResultSetFactory.idl37
-rw-r--r--offapi/com/sun/star/ucb/CachedContentResultSetStub.idl57
-rw-r--r--offapi/com/sun/star/ucb/CachedContentResultSetStubFactory.idl38
-rw-r--r--offapi/com/sun/star/ucb/CachedDynamicResultSet.idl67
-rw-r--r--offapi/com/sun/star/ucb/CachedDynamicResultSetFactory.idl38
-rw-r--r--offapi/com/sun/star/ucb/CachedDynamicResultSetStub.idl68
-rw-r--r--offapi/com/sun/star/ucb/CachedDynamicResultSetStubFactory.idl38
-rw-r--r--offapi/com/sun/star/ucb/CertificateValidationRequest.idl51
-rw-r--r--offapi/com/sun/star/ucb/CheckinArgument.idl60
-rw-r--r--offapi/com/sun/star/ucb/CmisContentProvider.idl38
-rw-r--r--offapi/com/sun/star/ucb/Command.idl56
-rw-r--r--offapi/com/sun/star/ucb/CommandAbortedException.idl42
-rw-r--r--offapi/com/sun/star/ucb/CommandEnvironment.idl57
-rw-r--r--offapi/com/sun/star/ucb/CommandFailedException.idl52
-rw-r--r--offapi/com/sun/star/ucb/CommandInfo.idl54
-rw-r--r--offapi/com/sun/star/ucb/CommandInfoChange.idl47
-rw-r--r--offapi/com/sun/star/ucb/CommandInfoChangeEvent.idl57
-rw-r--r--offapi/com/sun/star/ucb/ConnectionMode.idl48
-rw-r--r--offapi/com/sun/star/ucb/Content.idl983
-rw-r--r--offapi/com/sun/star/ucb/ContentAction.idl147
-rw-r--r--offapi/com/sun/star/ucb/ContentCreationError.idl60
-rw-r--r--offapi/com/sun/star/ucb/ContentCreationException.idl45
-rw-r--r--offapi/com/sun/star/ucb/ContentEvent.idl100
-rw-r--r--offapi/com/sun/star/ucb/ContentInfo.idl94
-rw-r--r--offapi/com/sun/star/ucb/ContentInfoAttribute.idl64
-rw-r--r--offapi/com/sun/star/ucb/ContentProvider.idl65
-rw-r--r--offapi/com/sun/star/ucb/ContentProviderInfo.idl49
-rw-r--r--offapi/com/sun/star/ucb/ContentProviderProxy.idl74
-rw-r--r--offapi/com/sun/star/ucb/ContentProviderProxyFactory.idl36
-rw-r--r--offapi/com/sun/star/ucb/ContentResultSet.idl193
-rw-r--r--offapi/com/sun/star/ucb/ContentResultSetCapability.idl43
-rw-r--r--offapi/com/sun/star/ucb/ContentTransmitter.idl47
-rw-r--r--offapi/com/sun/star/ucb/CrossReference.idl50
-rw-r--r--offapi/com/sun/star/ucb/DefaultHierarchyDataSource.idl52
-rw-r--r--offapi/com/sun/star/ucb/DocumentHeaderField.idl46
-rw-r--r--offapi/com/sun/star/ucb/DocumentStoreMode.idl48
-rw-r--r--offapi/com/sun/star/ucb/DuplicateCommandIdentifierException.idl48
-rw-r--r--offapi/com/sun/star/ucb/DuplicateProviderException.idl43
-rw-r--r--offapi/com/sun/star/ucb/DynamicResultSet.idl50
-rw-r--r--offapi/com/sun/star/ucb/Error.idl336
-rw-r--r--offapi/com/sun/star/ucb/ExpandContentProvider.idl49
-rw-r--r--offapi/com/sun/star/ucb/ExportStreamInfo.idl48
-rw-r--r--offapi/com/sun/star/ucb/FTPContent.idl189
-rw-r--r--offapi/com/sun/star/ucb/FTPContentProvider.idl57
-rw-r--r--offapi/com/sun/star/ucb/FetchError.idl59
-rw-r--r--offapi/com/sun/star/ucb/FetchResult.idl73
-rw-r--r--offapi/com/sun/star/ucb/FileContent.idl220
-rw-r--r--offapi/com/sun/star/ucb/FileContentProvider.idl94
-rw-r--r--offapi/com/sun/star/ucb/FileSystemNotation.idl57
-rw-r--r--offapi/com/sun/star/ucb/FolderList.idl48
-rw-r--r--offapi/com/sun/star/ucb/FolderListCommand.idl50
-rw-r--r--offapi/com/sun/star/ucb/FolderListEntry.idl63
-rw-r--r--offapi/com/sun/star/ucb/GIOContentProvider.idl34
-rw-r--r--offapi/com/sun/star/ucb/GlobalTransferCommandArgument.idl68
-rw-r--r--offapi/com/sun/star/ucb/GlobalTransferCommandArgument2.idl36
-rw-r--r--offapi/com/sun/star/ucb/GnomeVFSContentProvider.idl38
-rw-r--r--offapi/com/sun/star/ucb/GnomeVFSDocumentContent.idl83
-rw-r--r--offapi/com/sun/star/ucb/GnomeVFSFolderContent.idl91
-rw-r--r--offapi/com/sun/star/ucb/HelpContent.idl171
-rw-r--r--offapi/com/sun/star/ucb/HelpContentProvider.idl54
-rw-r--r--offapi/com/sun/star/ucb/HierarchyContentProvider.idl100
-rw-r--r--offapi/com/sun/star/ucb/HierarchyDataReadAccess.idl150
-rw-r--r--offapi/com/sun/star/ucb/HierarchyDataReadWriteAccess.idl84
-rw-r--r--offapi/com/sun/star/ucb/HierarchyDataSource.idl104
-rw-r--r--offapi/com/sun/star/ucb/HierarchyFolderContent.idl180
-rw-r--r--offapi/com/sun/star/ucb/HierarchyLinkContent.idl147
-rw-r--r--offapi/com/sun/star/ucb/HierarchyRootFolderContent.idl178
-rw-r--r--offapi/com/sun/star/ucb/IOErrorCode.idl188
-rw-r--r--offapi/com/sun/star/ucb/IllegalIdentifierException.idl43
-rw-r--r--offapi/com/sun/star/ucb/InsertCommandArgument.idl56
-rw-r--r--offapi/com/sun/star/ucb/InsertCommandArgument2.idl36
-rw-r--r--offapi/com/sun/star/ucb/InteractiveAppException.idl45
-rw-r--r--offapi/com/sun/star/ucb/InteractiveAugmentedIOException.idl45
-rw-r--r--offapi/com/sun/star/ucb/InteractiveBadTransferURLException.idl42
-rw-r--r--offapi/com/sun/star/ucb/InteractiveFileIOException.idl48
-rw-r--r--offapi/com/sun/star/ucb/InteractiveIOException.idl43
-rw-r--r--offapi/com/sun/star/ucb/InteractiveLockingException.idl46
-rw-r--r--offapi/com/sun/star/ucb/InteractiveLockingLockExpiredException.idl42
-rw-r--r--offapi/com/sun/star/ucb/InteractiveLockingLockedException.idl47
-rw-r--r--offapi/com/sun/star/ucb/InteractiveLockingNotLockedException.idl45
-rw-r--r--offapi/com/sun/star/ucb/InteractiveNetworkConnectException.idl43
-rw-r--r--offapi/com/sun/star/ucb/InteractiveNetworkException.idl41
-rw-r--r--offapi/com/sun/star/ucb/InteractiveNetworkGeneralException.idl39
-rw-r--r--offapi/com/sun/star/ucb/InteractiveNetworkOffLineException.idl39
-rw-r--r--offapi/com/sun/star/ucb/InteractiveNetworkReadException.idl44
-rw-r--r--offapi/com/sun/star/ucb/InteractiveNetworkResolveNameException.idl43
-rw-r--r--offapi/com/sun/star/ucb/InteractiveNetworkWriteException.idl44
-rw-r--r--offapi/com/sun/star/ucb/InteractiveWrongMediumException.idl43
-rw-r--r--offapi/com/sun/star/ucb/Link.idl45
-rw-r--r--offapi/com/sun/star/ucb/ListAction.idl109
-rw-r--r--offapi/com/sun/star/ucb/ListActionType.idl174
-rw-r--r--offapi/com/sun/star/ucb/ListEvent.idl45
-rw-r--r--offapi/com/sun/star/ucb/ListenerAlreadySetException.idl43
-rw-r--r--offapi/com/sun/star/ucb/Lock.idl66
-rw-r--r--offapi/com/sun/star/ucb/LockDepth.idl49
-rw-r--r--offapi/com/sun/star/ucb/LockEntry.idl46
-rw-r--r--offapi/com/sun/star/ucb/LockScope.idl46
-rw-r--r--offapi/com/sun/star/ucb/LockType.idl52
-rw-r--r--offapi/com/sun/star/ucb/MissingInputStreamException.idl47
-rw-r--r--offapi/com/sun/star/ucb/MissingPropertiesException.idl49
-rw-r--r--offapi/com/sun/star/ucb/NameClash.idl64
-rw-r--r--offapi/com/sun/star/ucb/NameClashException.idl41
-rw-r--r--offapi/com/sun/star/ucb/NameClashResolveRequest.idl68
-rw-r--r--offapi/com/sun/star/ucb/NumberedSortingInfo.idl47
-rw-r--r--offapi/com/sun/star/ucb/ODMAContent.idl167
-rw-r--r--offapi/com/sun/star/ucb/ODMAContentProvider.idl78
-rw-r--r--offapi/com/sun/star/ucb/OpenCommandArgument.idl75
-rw-r--r--offapi/com/sun/star/ucb/OpenCommandArgument2.idl52
-rw-r--r--offapi/com/sun/star/ucb/OpenCommandArgument3.idl36
-rw-r--r--offapi/com/sun/star/ucb/OpenMode.idl79
-rw-r--r--offapi/com/sun/star/ucb/OutgoingMessageState.idl71
-rw-r--r--offapi/com/sun/star/ucb/PackageContentProvider.idl120
-rw-r--r--offapi/com/sun/star/ucb/PackageFolderContent.idl208
-rw-r--r--offapi/com/sun/star/ucb/PackageStreamContent.idl162
-rw-r--r--offapi/com/sun/star/ucb/PersistentPropertySet.idl57
-rw-r--r--offapi/com/sun/star/ucb/PostCommandArgument.idl50
-rw-r--r--offapi/com/sun/star/ucb/PostCommandArgument2.idl49
-rw-r--r--offapi/com/sun/star/ucb/Priority.idl60
-rw-r--r--offapi/com/sun/star/ucb/PropertiesManager.idl42
-rw-r--r--offapi/com/sun/star/ucb/PropertyCommandArgument.idl46
-rw-r--r--offapi/com/sun/star/ucb/PropertySetRegistry.idl47
-rw-r--r--offapi/com/sun/star/ucb/PropertyValueInfo.idl45
-rw-r--r--offapi/com/sun/star/ucb/PropertyValueState.idl58
-rw-r--r--offapi/com/sun/star/ucb/RecipientInfo.idl105
-rw-r--r--offapi/com/sun/star/ucb/RememberAuthentication.idl51
-rw-r--r--offapi/com/sun/star/ucb/RemoteAccessContentProvider.idl58
-rw-r--r--offapi/com/sun/star/ucb/RemoteContentProviderAcceptor.idl53
-rw-r--r--offapi/com/sun/star/ucb/RemoteContentProviderChangeAction.idl48
-rw-r--r--offapi/com/sun/star/ucb/RemoteContentProviderChangeEvent.idl51
-rw-r--r--offapi/com/sun/star/ucb/RemoteProxyContentProvider.idl67
-rw-r--r--offapi/com/sun/star/ucb/ResultSetException.idl42
-rw-r--r--offapi/com/sun/star/ucb/Rule.idl77
-rw-r--r--offapi/com/sun/star/ucb/RuleAction.idl91
-rw-r--r--offapi/com/sun/star/ucb/RuleOperator.idl75
-rw-r--r--offapi/com/sun/star/ucb/RuleSet.idl52
-rw-r--r--offapi/com/sun/star/ucb/RuleTerm.idl65
-rw-r--r--offapi/com/sun/star/ucb/SearchCommandArgument.idl50
-rw-r--r--offapi/com/sun/star/ucb/SearchCriterium.idl44
-rw-r--r--offapi/com/sun/star/ucb/SearchInfo.idl70
-rw-r--r--offapi/com/sun/star/ucb/SearchRecursion.idl52
-rw-r--r--offapi/com/sun/star/ucb/SendInfo.idl48
-rw-r--r--offapi/com/sun/star/ucb/SendMediaTypes.idl47
-rw-r--r--offapi/com/sun/star/ucb/ServiceNotFoundException.idl39
-rw-r--r--offapi/com/sun/star/ucb/SimpleFileAccess.idl40
-rw-r--r--offapi/com/sun/star/ucb/SortedDynamicResultSetFactory.idl38
-rw-r--r--offapi/com/sun/star/ucb/SortingInfo.idl45
-rw-r--r--offapi/com/sun/star/ucb/Store.idl36
-rw-r--r--offapi/com/sun/star/ucb/SynchronizePolicy.idl52
-rw-r--r--offapi/com/sun/star/ucb/TransferCommandOperation.idl47
-rw-r--r--offapi/com/sun/star/ucb/TransferInfo.idl74
-rw-r--r--offapi/com/sun/star/ucb/TransferInfo2.idl31
-rw-r--r--offapi/com/sun/star/ucb/TransferResult.idl50
-rw-r--r--offapi/com/sun/star/ucb/TransientDocumentsContentProvider.idl146
-rw-r--r--offapi/com/sun/star/ucb/TransientDocumentsDocumentContent.idl182
-rw-r--r--offapi/com/sun/star/ucb/TransientDocumentsFolderContent.idl192
-rw-r--r--offapi/com/sun/star/ucb/TransientDocumentsRootContent.idl146
-rw-r--r--offapi/com/sun/star/ucb/TransientDocumentsStreamContent.idl153
-rw-r--r--offapi/com/sun/star/ucb/URLAuthenticationRequest.idl45
-rw-r--r--offapi/com/sun/star/ucb/UniversalContentBroker.idl70
-rw-r--r--offapi/com/sun/star/ucb/UnsupportedCommandException.idl43
-rw-r--r--offapi/com/sun/star/ucb/UnsupportedDataSinkException.idl50
-rw-r--r--offapi/com/sun/star/ucb/UnsupportedNameClashException.idl60
-rw-r--r--offapi/com/sun/star/ucb/UnsupportedOpenModeException.idl49
-rw-r--r--offapi/com/sun/star/ucb/VerificationMode.idl52
-rw-r--r--offapi/com/sun/star/ucb/WebDAVContentProvider.idl105
-rw-r--r--offapi/com/sun/star/ucb/WebDAVDocumentContent.idl167
-rw-r--r--offapi/com/sun/star/ucb/WebDAVFolderContent.idl195
-rw-r--r--offapi/com/sun/star/ucb/WebDAVHTTPMethod.idl117
-rw-r--r--offapi/com/sun/star/ucb/WelcomeDynamicResultSetStruct.idl53
-rw-r--r--offapi/com/sun/star/ucb/XAnyCompare.idl62
-rw-r--r--offapi/com/sun/star/ucb/XAnyCompareFactory.idl51
-rw-r--r--offapi/com/sun/star/ucb/XCachedContentResultSetFactory.idl58
-rw-r--r--offapi/com/sun/star/ucb/XCachedContentResultSetStubFactory.idl51
-rw-r--r--offapi/com/sun/star/ucb/XCachedDynamicResultSetFactory.idl68
-rw-r--r--offapi/com/sun/star/ucb/XCachedDynamicResultSetStubFactory.idl105
-rw-r--r--offapi/com/sun/star/ucb/XCommandEnvironment.idl63
-rw-r--r--offapi/com/sun/star/ucb/XCommandInfo.idl100
-rw-r--r--offapi/com/sun/star/ucb/XCommandInfoChangeListener.idl50
-rw-r--r--offapi/com/sun/star/ucb/XCommandInfoChangeNotifier.idl58
-rw-r--r--offapi/com/sun/star/ucb/XCommandProcessor.idl129
-rw-r--r--offapi/com/sun/star/ucb/XCommandProcessor2.idl59
-rw-r--r--offapi/com/sun/star/ucb/XContent.idl81
-rw-r--r--offapi/com/sun/star/ucb/XContentAccess.idl75
-rw-r--r--offapi/com/sun/star/ucb/XContentCreator.idl77
-rw-r--r--offapi/com/sun/star/ucb/XContentEventListener.idl49
-rw-r--r--offapi/com/sun/star/ucb/XContentIdentifier.idl74
-rw-r--r--offapi/com/sun/star/ucb/XContentIdentifierFactory.idl53
-rw-r--r--offapi/com/sun/star/ucb/XContentIdentifierMapping.idl110
-rw-r--r--offapi/com/sun/star/ucb/XContentProvider.idl80
-rw-r--r--offapi/com/sun/star/ucb/XContentProviderFactory.idl52
-rw-r--r--offapi/com/sun/star/ucb/XContentProviderManager.idl159
-rw-r--r--offapi/com/sun/star/ucb/XContentProviderSupplier.idl48
-rw-r--r--offapi/com/sun/star/ucb/XContentTransmitter.idl49
-rw-r--r--offapi/com/sun/star/ucb/XDataContainer.idl86
-rw-r--r--offapi/com/sun/star/ucb/XDynamicResultSet.idl177
-rw-r--r--offapi/com/sun/star/ucb/XDynamicResultSetListener.idl65
-rw-r--r--offapi/com/sun/star/ucb/XFetchProvider.idl61
-rw-r--r--offapi/com/sun/star/ucb/XFetchProviderForContentAccess.idl108
-rw-r--r--offapi/com/sun/star/ucb/XFileIdentifierConverter.idl85
-rw-r--r--offapi/com/sun/star/ucb/XInteractionAuthFallback.idl33
-rw-r--r--offapi/com/sun/star/ucb/XInteractionHandlerSupplier.idl53
-rw-r--r--offapi/com/sun/star/ucb/XInteractionReplaceExistingData.idl45
-rw-r--r--offapi/com/sun/star/ucb/XInteractionSupplyAuthentication.idl151
-rw-r--r--offapi/com/sun/star/ucb/XInteractionSupplyAuthentication2.idl65
-rw-r--r--offapi/com/sun/star/ucb/XInteractionSupplyName.idl50
-rw-r--r--offapi/com/sun/star/ucb/XParameterizedContentProvider.idl98
-rw-r--r--offapi/com/sun/star/ucb/XPersistentPropertySet.idl57
-rw-r--r--offapi/com/sun/star/ucb/XProgressHandler.idl69
-rw-r--r--offapi/com/sun/star/ucb/XPropertyMatcher.idl56
-rw-r--r--offapi/com/sun/star/ucb/XPropertyMatcherFactory.idl50
-rw-r--r--offapi/com/sun/star/ucb/XPropertySetRegistry.idl63
-rw-r--r--offapi/com/sun/star/ucb/XPropertySetRegistryFactory.idl52
-rw-r--r--offapi/com/sun/star/ucb/XRecycler.idl59
-rw-r--r--offapi/com/sun/star/ucb/XRemoteContentProviderAcceptor.idl88
-rw-r--r--offapi/com/sun/star/ucb/XRemoteContentProviderActivator.idl64
-rw-r--r--offapi/com/sun/star/ucb/XRemoteContentProviderChangeListener.idl51
-rw-r--r--offapi/com/sun/star/ucb/XRemoteContentProviderChangeNotifier.idl62
-rw-r--r--offapi/com/sun/star/ucb/XRemoteContentProviderConnectionControl.idl68
-rw-r--r--offapi/com/sun/star/ucb/XRemoteContentProviderDistributor.idl82
-rw-r--r--offapi/com/sun/star/ucb/XRemoteContentProviderDoneListener.idl54
-rw-r--r--offapi/com/sun/star/ucb/XRemoteContentProviderSupplier.idl53
-rw-r--r--offapi/com/sun/star/ucb/XSimpleFileAccess.idl244
-rw-r--r--offapi/com/sun/star/ucb/XSimpleFileAccess2.idl56
-rw-r--r--offapi/com/sun/star/ucb/XSimpleFileAccess3.idl67
-rw-r--r--offapi/com/sun/star/ucb/XSortedDynamicResultSetFactory.idl62
-rw-r--r--offapi/com/sun/star/ucb/XSourceInitialization.idl62
-rw-r--r--offapi/com/sun/star/ucb/XUniversalContentBroker.idl131
-rw-r--r--offapi/com/sun/star/ucb/XWebDAVCommandEnvironment.idl57
-rw-r--r--offapi/com/sun/star/ui/ActionTrigger.idl56
-rw-r--r--offapi/com/sun/star/ui/ActionTriggerContainer.idl83
-rw-r--r--offapi/com/sun/star/ui/ActionTriggerSeparator.idl39
-rw-r--r--offapi/com/sun/star/ui/ActionTriggerSeparatorType.idl43
-rw-r--r--offapi/com/sun/star/ui/AddressBookSourceDialog.idl51
-rw-r--r--offapi/com/sun/star/ui/ConfigurableUIElement.idl100
-rw-r--r--offapi/com/sun/star/ui/ConfigurationEvent.idl50
-rw-r--r--offapi/com/sun/star/ui/ContextChangeEventMultiplexer.idl36
-rw-r--r--offapi/com/sun/star/ui/ContextChangeEventObject.idl44
-rw-r--r--offapi/com/sun/star/ui/ContextMenuExecuteEvent.idl52
-rw-r--r--offapi/com/sun/star/ui/ContextMenuInterceptorAction.idl52
-rw-r--r--offapi/com/sun/star/ui/DockingArea.idl68
-rw-r--r--offapi/com/sun/star/ui/DocumentAcceleratorConfiguration.idl40
-rw-r--r--offapi/com/sun/star/ui/GlobalAcceleratorConfiguration.idl36
-rw-r--r--offapi/com/sun/star/ui/ImageManager.idl37
-rw-r--r--offapi/com/sun/star/ui/ImageType.idl62
-rw-r--r--offapi/com/sun/star/ui/ItemDescriptor.idl93
-rw-r--r--offapi/com/sun/star/ui/ItemStyle.idl165
-rw-r--r--offapi/com/sun/star/ui/ItemType.idl49
-rw-r--r--offapi/com/sun/star/ui/LayoutSize.idl49
-rw-r--r--offapi/com/sun/star/ui/ModuleAcceleratorConfiguration.idl39
-rw-r--r--offapi/com/sun/star/ui/ModuleUICategoryDescription.idl66
-rw-r--r--offapi/com/sun/star/ui/ModuleUICommandDescription.idl74
-rw-r--r--offapi/com/sun/star/ui/ModuleUIConfigurationManager.idl80
-rw-r--r--offapi/com/sun/star/ui/ModuleUIConfigurationManagerSupplier.idl42
-rw-r--r--offapi/com/sun/star/ui/ModuleWindowStateConfiguration.idl88
-rw-r--r--offapi/com/sun/star/ui/UICategoryDescription.idl40
-rw-r--r--offapi/com/sun/star/ui/UIConfigurationManager.idl39
-rw-r--r--offapi/com/sun/star/ui/UIElement.idl89
-rw-r--r--offapi/com/sun/star/ui/UIElementFactory.idl57
-rw-r--r--offapi/com/sun/star/ui/UIElementFactoryManager.idl43
-rw-r--r--offapi/com/sun/star/ui/UIElementSettings.idl81
-rw-r--r--offapi/com/sun/star/ui/UIElementType.idl77
-rw-r--r--offapi/com/sun/star/ui/WindowContentFactory.idl49
-rw-r--r--offapi/com/sun/star/ui/WindowContentFactoryManager.idl41
-rw-r--r--offapi/com/sun/star/ui/WindowStateConfiguration.idl44
-rw-r--r--offapi/com/sun/star/ui/XAcceleratorConfiguration.idl272
-rw-r--r--offapi/com/sun/star/ui/XContextChangeEventListener.idl38
-rw-r--r--offapi/com/sun/star/ui/XContextChangeEventMultiplexer.idl116
-rw-r--r--offapi/com/sun/star/ui/XContextMenuInterception.idl49
-rw-r--r--offapi/com/sun/star/ui/XContextMenuInterceptor.idl44
-rw-r--r--offapi/com/sun/star/ui/XDeck.idl92
-rw-r--r--offapi/com/sun/star/ui/XDecks.idl37
-rw-r--r--offapi/com/sun/star/ui/XDockingAreaAcceptor.idl102
-rw-r--r--offapi/com/sun/star/ui/XImageManager.idl223
-rw-r--r--offapi/com/sun/star/ui/XModuleUIConfigurationManager.idl92
-rw-r--r--offapi/com/sun/star/ui/XModuleUIConfigurationManager2.idl62
-rw-r--r--offapi/com/sun/star/ui/XModuleUIConfigurationManagerSupplier.idl58
-rw-r--r--offapi/com/sun/star/ui/XPanel.idl94
-rw-r--r--offapi/com/sun/star/ui/XPanels.idl41
-rw-r--r--offapi/com/sun/star/ui/XSidebar.idl41
-rw-r--r--offapi/com/sun/star/ui/XSidebarPanel.idl57
-rw-r--r--offapi/com/sun/star/ui/XSidebarProvider.idl68
-rw-r--r--offapi/com/sun/star/ui/XStatusbarItem.idl115
-rw-r--r--offapi/com/sun/star/ui/XToolPanel.idl55
-rw-r--r--offapi/com/sun/star/ui/XUIConfiguration.idl76
-rw-r--r--offapi/com/sun/star/ui/XUIConfigurationListener.idl70
-rw-r--r--offapi/com/sun/star/ui/XUIConfigurationManager.idl241
-rw-r--r--offapi/com/sun/star/ui/XUIConfigurationManager2.idl70
-rw-r--r--offapi/com/sun/star/ui/XUIConfigurationManagerSupplier.idl51
-rw-r--r--offapi/com/sun/star/ui/XUIConfigurationPersistence.idl96
-rw-r--r--offapi/com/sun/star/ui/XUIConfigurationStorage.idl75
-rw-r--r--offapi/com/sun/star/ui/XUIElement.idl80
-rw-r--r--offapi/com/sun/star/ui/XUIElementFactory.idl130
-rw-r--r--offapi/com/sun/star/ui/XUIElementFactoryManager.idl57
-rw-r--r--offapi/com/sun/star/ui/XUIElementFactoryRegistration.idl159
-rw-r--r--offapi/com/sun/star/ui/XUIElementSettings.idl88
-rw-r--r--offapi/com/sun/star/ui/XUIFunctionListener.idl53
-rw-r--r--offapi/com/sun/star/ui/XUpdateModel.idl35
-rw-r--r--offapi/com/sun/star/ui/dialogs/AddressBookSourcePilot.idl43
-rw-r--r--offapi/com/sun/star/ui/dialogs/CommonFilePickerElementIds.idl71
-rw-r--r--offapi/com/sun/star/ui/dialogs/ControlActions.idl93
-rw-r--r--offapi/com/sun/star/ui/dialogs/DialogClosedEvent.idl51
-rw-r--r--offapi/com/sun/star/ui/dialogs/ExecutableDialogException.idl39
-rw-r--r--offapi/com/sun/star/ui/dialogs/ExecutableDialogResults.idl46
-rw-r--r--offapi/com/sun/star/ui/dialogs/ExtendedFilePickerElementIds.idl62
-rw-r--r--offapi/com/sun/star/ui/dialogs/FilePicker.idl69
-rw-r--r--offapi/com/sun/star/ui/dialogs/FilePickerEvent.idl49
-rw-r--r--offapi/com/sun/star/ui/dialogs/FilePreviewImageFormats.idl44
-rw-r--r--offapi/com/sun/star/ui/dialogs/FilterOptionsDialog.idl74
-rw-r--r--offapi/com/sun/star/ui/dialogs/FolderPicker.idl38
-rw-r--r--offapi/com/sun/star/ui/dialogs/ListboxControlActions.idl76
-rw-r--r--offapi/com/sun/star/ui/dialogs/TemplateDescription.idl155
-rw-r--r--offapi/com/sun/star/ui/dialogs/Wizard.idl72
-rw-r--r--offapi/com/sun/star/ui/dialogs/WizardButton.idl53
-rw-r--r--offapi/com/sun/star/ui/dialogs/WizardTravelType.idl47
-rw-r--r--offapi/com/sun/star/ui/dialogs/XAsynchronousExecutableDialog.idl55
-rw-r--r--offapi/com/sun/star/ui/dialogs/XControlAccess.idl88
-rw-r--r--offapi/com/sun/star/ui/dialogs/XControlInformation.idl94
-rw-r--r--offapi/com/sun/star/ui/dialogs/XDialogClosedListener.idl54
-rw-r--r--offapi/com/sun/star/ui/dialogs/XExecutableDialog.idl58
-rw-r--r--offapi/com/sun/star/ui/dialogs/XFilePicker.idl107
-rw-r--r--offapi/com/sun/star/ui/dialogs/XFilePicker2.idl62
-rw-r--r--offapi/com/sun/star/ui/dialogs/XFilePicker3.idl78
-rw-r--r--offapi/com/sun/star/ui/dialogs/XFilePickerControlAccess.idl136
-rw-r--r--offapi/com/sun/star/ui/dialogs/XFilePickerListener.idl100
-rw-r--r--offapi/com/sun/star/ui/dialogs/XFilePickerNotifier.idl58
-rw-r--r--offapi/com/sun/star/ui/dialogs/XFilePreview.idl122
-rw-r--r--offapi/com/sun/star/ui/dialogs/XFilterGroupManager.idl65
-rw-r--r--offapi/com/sun/star/ui/dialogs/XFilterManager.idl79
-rw-r--r--offapi/com/sun/star/ui/dialogs/XFolderPicker.idl78
-rw-r--r--offapi/com/sun/star/ui/dialogs/XFolderPicker2.idl53
-rw-r--r--offapi/com/sun/star/ui/dialogs/XSLTFilterDialog.idl38
-rw-r--r--offapi/com/sun/star/ui/dialogs/XWizard.idl221
-rw-r--r--offapi/com/sun/star/ui/dialogs/XWizardController.idl78
-rw-r--r--offapi/com/sun/star/ui/dialogs/XWizardPage.idl79
-rw-r--r--offapi/com/sun/star/ui/test/UITest.idl29
-rw-r--r--offapi/com/sun/star/ui/test/XUIObject.idl36
-rw-r--r--offapi/com/sun/star/ui/test/XUITest.idl36
-rw-r--r--offapi/com/sun/star/ui/theModuleUIConfigurationManagerSupplier.idl52
-rw-r--r--offapi/com/sun/star/ui/theUICategoryDescription.idl64
-rw-r--r--offapi/com/sun/star/ui/theUIElementFactoryManager.idl44
-rw-r--r--offapi/com/sun/star/ui/theWindowContentFactoryManager.idl41
-rw-r--r--offapi/com/sun/star/ui/theWindowStateConfiguration.idl63
-rw-r--r--offapi/com/sun/star/util/AliasProgrammaticPair.idl46
-rw-r--r--offapi/com/sun/star/util/AtomClassRequest.idl55
-rw-r--r--offapi/com/sun/star/util/AtomDescription.idl54
-rw-r--r--offapi/com/sun/star/util/CellProtection.idl54
-rw-r--r--offapi/com/sun/star/util/ChangesEvent.idl60
-rw-r--r--offapi/com/sun/star/util/ChangesSet.idl48
-rw-r--r--offapi/com/sun/star/util/CloseVetoException.idl41
-rw-r--r--offapi/com/sun/star/util/Color.idl43
-rw-r--r--offapi/com/sun/star/util/DataEditorEvent.idl43
-rw-r--r--offapi/com/sun/star/util/DataEditorEventType.idl43
-rw-r--r--offapi/com/sun/star/util/Date.idl53
-rw-r--r--offapi/com/sun/star/util/DateTime.idl76
-rw-r--r--offapi/com/sun/star/util/DateTimeRange.idl99
-rw-r--r--offapi/com/sun/star/util/DateTimeWithTimezone.idl43
-rw-r--r--offapi/com/sun/star/util/DateWithTimezone.idl43
-rw-r--r--offapi/com/sun/star/util/Duration.idl83
-rw-r--r--offapi/com/sun/star/util/ElementChange.idl54
-rw-r--r--offapi/com/sun/star/util/Endianness.idl58
-rw-r--r--offapi/com/sun/star/util/InvalidStateException.idl41
-rw-r--r--offapi/com/sun/star/util/JobManager.idl37
-rw-r--r--offapi/com/sun/star/util/Language.idl35
-rw-r--r--offapi/com/sun/star/util/MalformedNumberFormatException.idl47
-rw-r--r--offapi/com/sun/star/util/MeasureUnit.idl96
-rw-r--r--offapi/com/sun/star/util/ModeChangeEvent.idl51
-rw-r--r--offapi/com/sun/star/util/NotLockedException.idl41
-rw-r--r--offapi/com/sun/star/util/NotNumericException.idl40
-rw-r--r--offapi/com/sun/star/util/NumberFormat.idl116
-rw-r--r--offapi/com/sun/star/util/NumberFormatProperties.idl65
-rw-r--r--offapi/com/sun/star/util/NumberFormatSettings.idl70
-rw-r--r--offapi/com/sun/star/util/NumberFormats.idl50
-rw-r--r--offapi/com/sun/star/util/NumberFormatsSupplier.idl58
-rw-r--r--offapi/com/sun/star/util/NumberFormatter.idl40
-rw-r--r--offapi/com/sun/star/util/OfficeInstallationDirectories.idl53
-rw-r--r--offapi/com/sun/star/util/PathSettings.idl43
-rw-r--r--offapi/com/sun/star/util/PathSubstitution.idl84
-rw-r--r--offapi/com/sun/star/util/ReplaceDescriptor.idl46
-rw-r--r--offapi/com/sun/star/util/RevisionTag.idl58
-rw-r--r--offapi/com/sun/star/util/SearchAlgorithms.idl42
-rw-r--r--offapi/com/sun/star/util/SearchAlgorithms2.idl42
-rw-r--r--offapi/com/sun/star/util/SearchDescriptor.idl139
-rw-r--r--offapi/com/sun/star/util/SearchFlags.idl146
-rw-r--r--offapi/com/sun/star/util/SearchOptions.idl75
-rw-r--r--offapi/com/sun/star/util/SearchOptions2.idl52
-rw-r--r--offapi/com/sun/star/util/SearchResult.idl59
-rw-r--r--offapi/com/sun/star/util/SortDescriptor.idl93
-rw-r--r--offapi/com/sun/star/util/SortDescriptor2.idl48
-rw-r--r--offapi/com/sun/star/util/SortField.idl54
-rw-r--r--offapi/com/sun/star/util/SortFieldType.idl52
-rw-r--r--offapi/com/sun/star/util/Sortable.idl53
-rw-r--r--offapi/com/sun/star/util/TextSearch.idl39
-rw-r--r--offapi/com/sun/star/util/TextSearch2.idl39
-rw-r--r--offapi/com/sun/star/util/Time.idl59
-rw-r--r--offapi/com/sun/star/util/TimeWithTimezone.idl44
-rw-r--r--offapi/com/sun/star/util/TriState.idl55
-rw-r--r--offapi/com/sun/star/util/URL.idl112
-rw-r--r--offapi/com/sun/star/util/URLTransformer.idl39
-rw-r--r--offapi/com/sun/star/util/UriAbbreviation.idl39
-rw-r--r--offapi/com/sun/star/util/VetoException.idl42
-rw-r--r--offapi/com/sun/star/util/XAccounting.idl34
-rw-r--r--offapi/com/sun/star/util/XAtomServer.idl130
-rw-r--r--offapi/com/sun/star/util/XBinaryDataContainer.idl34
-rw-r--r--offapi/com/sun/star/util/XBroadcaster.idl72
-rw-r--r--offapi/com/sun/star/util/XCacheInfo.idl30
-rw-r--r--offapi/com/sun/star/util/XCancellable.idl46
-rw-r--r--offapi/com/sun/star/util/XChainable.idl66
-rw-r--r--offapi/com/sun/star/util/XChangesBatch.idl68
-rw-r--r--offapi/com/sun/star/util/XChangesListener.idl50
-rw-r--r--offapi/com/sun/star/util/XChangesNotifier.idl51
-rw-r--r--offapi/com/sun/star/util/XChangesSet.idl57
-rw-r--r--offapi/com/sun/star/util/XCloneable.idl44
-rw-r--r--offapi/com/sun/star/util/XCloseBroadcaster.idl64
-rw-r--r--offapi/com/sun/star/util/XCloseListener.idl120
-rw-r--r--offapi/com/sun/star/util/XCloseable.idl120
-rw-r--r--offapi/com/sun/star/util/XDataEditor.idl60
-rw-r--r--offapi/com/sun/star/util/XDataEditorListener.idl44
-rw-r--r--offapi/com/sun/star/util/XFlushListener.idl46
-rw-r--r--offapi/com/sun/star/util/XFlushable.idl54
-rw-r--r--offapi/com/sun/star/util/XImportable.idl50
-rw-r--r--offapi/com/sun/star/util/XIndent.idl47
-rw-r--r--offapi/com/sun/star/util/XJobManager.idl50
-rw-r--r--offapi/com/sun/star/util/XLinkUpdate.idl46
-rw-r--r--offapi/com/sun/star/util/XLocalizedAliases.idl93
-rw-r--r--offapi/com/sun/star/util/XLockable.idl70
-rw-r--r--offapi/com/sun/star/util/XMergeable.idl50
-rw-r--r--offapi/com/sun/star/util/XModeChangeApproveListener.idl56
-rw-r--r--offapi/com/sun/star/util/XModeChangeBroadcaster.idl76
-rw-r--r--offapi/com/sun/star/util/XModeChangeListener.idl49
-rw-r--r--offapi/com/sun/star/util/XModeSelector.idl61
-rw-r--r--offapi/com/sun/star/util/XModifiable.idl59
-rw-r--r--offapi/com/sun/star/util/XModifiable2.idl71
-rw-r--r--offapi/com/sun/star/util/XModifyBroadcaster.idl54
-rw-r--r--offapi/com/sun/star/util/XModifyListener.idl52
-rw-r--r--offapi/com/sun/star/util/XNumberFormatPreviewer.idl112
-rw-r--r--offapi/com/sun/star/util/XNumberFormatTypes.idl96
-rw-r--r--offapi/com/sun/star/util/XNumberFormats.idl179
-rw-r--r--offapi/com/sun/star/util/XNumberFormatsSupplier.idl57
-rw-r--r--offapi/com/sun/star/util/XNumberFormatter.idl117
-rw-r--r--offapi/com/sun/star/util/XNumberFormatter2.idl52
-rw-r--r--offapi/com/sun/star/util/XOfficeInstallationDirectories.idl102
-rw-r--r--offapi/com/sun/star/util/XPathSettings.idl139
-rw-r--r--offapi/com/sun/star/util/XPropertyReplace.idl78
-rw-r--r--offapi/com/sun/star/util/XProtectable.idl64
-rw-r--r--offapi/com/sun/star/util/XRefreshListener.idl46
-rw-r--r--offapi/com/sun/star/util/XRefreshable.idl54
-rw-r--r--offapi/com/sun/star/util/XReplaceDescriptor.idl49
-rw-r--r--offapi/com/sun/star/util/XReplaceable.idl63
-rw-r--r--offapi/com/sun/star/util/XSearchDescriptor.idl49
-rw-r--r--offapi/com/sun/star/util/XSearchable.idl95
-rw-r--r--offapi/com/sun/star/util/XSortable.idl98
-rw-r--r--offapi/com/sun/star/util/XStringAbbreviation.idl73
-rw-r--r--offapi/com/sun/star/util/XStringEscape.idl70
-rw-r--r--offapi/com/sun/star/util/XStringMapping.idl43
-rw-r--r--offapi/com/sun/star/util/XStringSubstitution.idl117
-rw-r--r--offapi/com/sun/star/util/XStringWidth.idl53
-rw-r--r--offapi/com/sun/star/util/XTextSearch.idl57
-rw-r--r--offapi/com/sun/star/util/XTextSearch2.idl38
-rw-r--r--offapi/com/sun/star/util/XTimeStamped.idl62
-rw-r--r--offapi/com/sun/star/util/XURLTransformer.idl128
-rw-r--r--offapi/com/sun/star/util/XUniqueIDFactory.idl41
-rw-r--r--offapi/com/sun/star/util/XUpdatable.idl43
-rw-r--r--offapi/com/sun/star/util/XUpdatable2.idl43
-rw-r--r--offapi/com/sun/star/util/theOfficeInstallationDirectories.idl48
-rw-r--r--offapi/com/sun/star/util/thePathSettings.idl52
-rw-r--r--offapi/com/sun/star/view/DocumentZoomType.idl58
-rw-r--r--offapi/com/sun/star/view/DuplexMode.idl53
-rw-r--r--offapi/com/sun/star/view/OfficeDocumentView.idl65
-rw-r--r--offapi/com/sun/star/view/PaperFormat.idl74
-rw-r--r--offapi/com/sun/star/view/PaperOrientation.idl46
-rw-r--r--offapi/com/sun/star/view/PrintJobEvent.idl48
-rw-r--r--offapi/com/sun/star/view/PrintOptions.idl90
-rw-r--r--offapi/com/sun/star/view/PrintSettings.idl91
-rw-r--r--offapi/com/sun/star/view/PrintableState.idl69
-rw-r--r--offapi/com/sun/star/view/PrintableStateEvent.idl46
-rw-r--r--offapi/com/sun/star/view/PrinterDescriptor.idl95
-rw-r--r--offapi/com/sun/star/view/RenderDescriptor.idl47
-rw-r--r--offapi/com/sun/star/view/RenderOptions.idl96
-rw-r--r--offapi/com/sun/star/view/SelectionType.idl59
-rw-r--r--offapi/com/sun/star/view/ViewSettings.idl60
-rw-r--r--offapi/com/sun/star/view/XControlAccess.idl53
-rw-r--r--offapi/com/sun/star/view/XFormLayerAccess.idl91
-rw-r--r--offapi/com/sun/star/view/XLineCursor.idl68
-rw-r--r--offapi/com/sun/star/view/XMultiSelectionSupplier.idl113
-rw-r--r--offapi/com/sun/star/view/XPrintJob.idl61
-rw-r--r--offapi/com/sun/star/view/XPrintJobBroadcaster.idl53
-rw-r--r--offapi/com/sun/star/view/XPrintJobListener.idl51
-rw-r--r--offapi/com/sun/star/view/XPrintSettingsSupplier.idl51
-rw-r--r--offapi/com/sun/star/view/XPrintable.idl73
-rw-r--r--offapi/com/sun/star/view/XPrintableBroadcaster.idl51
-rw-r--r--offapi/com/sun/star/view/XPrintableListener.idl51
-rw-r--r--offapi/com/sun/star/view/XRenderable.idl92
-rw-r--r--offapi/com/sun/star/view/XScreenCursor.idl48
-rw-r--r--offapi/com/sun/star/view/XSelectionChangeListener.idl53
-rw-r--r--offapi/com/sun/star/view/XSelectionSupplier.idl70
-rw-r--r--offapi/com/sun/star/view/XViewCursor.idl101
-rw-r--r--offapi/com/sun/star/view/XViewSettingsSupplier.idl50
-rw-r--r--offapi/com/sun/star/xforms/Binding.idl84
-rw-r--r--offapi/com/sun/star/xforms/InvalidDataOnSubmitException.idl45
-rw-r--r--offapi/com/sun/star/xforms/Model.idl37
-rw-r--r--offapi/com/sun/star/xforms/XDataTypeRepository.idl97
-rw-r--r--offapi/com/sun/star/xforms/XForms.idl38
-rw-r--r--offapi/com/sun/star/xforms/XFormsEvent.idl37
-rw-r--r--offapi/com/sun/star/xforms/XFormsSupplier.idl48
-rw-r--r--offapi/com/sun/star/xforms/XFormsUIHelper1.idl127
-rw-r--r--offapi/com/sun/star/xforms/XModel.idl198
-rw-r--r--offapi/com/sun/star/xforms/XModel2.idl44
-rw-r--r--offapi/com/sun/star/xforms/XSubmission.idl59
-rw-r--r--offapi/com/sun/star/xml/Attribute.idl52
-rw-r--r--offapi/com/sun/star/xml/AttributeContainer.idl45
-rw-r--r--offapi/com/sun/star/xml/AttributeData.idl56
-rw-r--r--offapi/com/sun/star/xml/ExportFilter.idl57
-rw-r--r--offapi/com/sun/star/xml/FastAttribute.idl47
-rw-r--r--offapi/com/sun/star/xml/ImportFilter.idl41
-rw-r--r--offapi/com/sun/star/xml/NamespaceContainer.idl43
-rw-r--r--offapi/com/sun/star/xml/ParaUserDefinedAttributesSupplier.idl54
-rw-r--r--offapi/com/sun/star/xml/TextUserDefinedAttributesSupplier.idl54
-rw-r--r--offapi/com/sun/star/xml/UserDefinedAttributesSupplier.idl54
-rw-r--r--offapi/com/sun/star/xml/XExportFilter.idl66
-rw-r--r--offapi/com/sun/star/xml/XImportFilter.idl70
-rw-r--r--offapi/com/sun/star/xml/XImportFilter2.idl71
-rw-r--r--offapi/com/sun/star/xml/XMLExportFilter.idl49
-rw-r--r--offapi/com/sun/star/xml/XMLImportFilter.idl50
-rw-r--r--offapi/com/sun/star/xml/crypto/CipherID.idl48
-rw-r--r--offapi/com/sun/star/xml/crypto/DigestID.idl71
-rw-r--r--offapi/com/sun/star/xml/crypto/GPGSEInitializer.idl39
-rw-r--r--offapi/com/sun/star/xml/crypto/NSSInitializer.idl45
-rw-r--r--offapi/com/sun/star/xml/crypto/NSSProfile.idl54
-rw-r--r--offapi/com/sun/star/xml/crypto/SEInitializer.idl37
-rw-r--r--offapi/com/sun/star/xml/crypto/SecurityEnvironment.idl36
-rw-r--r--offapi/com/sun/star/xml/crypto/SecurityOperationStatus.idl138
-rw-r--r--offapi/com/sun/star/xml/crypto/XCertificateCreator.idl55
-rw-r--r--offapi/com/sun/star/xml/crypto/XCipherContext.idl69
-rw-r--r--offapi/com/sun/star/xml/crypto/XCipherContextSupplier.idl70
-rw-r--r--offapi/com/sun/star/xml/crypto/XDigestContext.idl57
-rw-r--r--offapi/com/sun/star/xml/crypto/XDigestContextSupplier.idl61
-rw-r--r--offapi/com/sun/star/xml/crypto/XMLEncryptionException.idl35
-rw-r--r--offapi/com/sun/star/xml/crypto/XMLSecurityContext.idl36
-rw-r--r--offapi/com/sun/star/xml/crypto/XMLSignature.idl42
-rw-r--r--offapi/com/sun/star/xml/crypto/XMLSignatureException.idl35
-rw-r--r--offapi/com/sun/star/xml/crypto/XNSSInitializer.idl69
-rw-r--r--offapi/com/sun/star/xml/crypto/XSEInitializer.idl58
-rw-r--r--offapi/com/sun/star/xml/crypto/XSecurityEnvironment.idl115
-rw-r--r--offapi/com/sun/star/xml/crypto/XUriBinding.idl61
-rw-r--r--offapi/com/sun/star/xml/crypto/XXMLEncryption.idl73
-rw-r--r--offapi/com/sun/star/xml/crypto/XXMLEncryptionTemplate.idl83
-rw-r--r--offapi/com/sun/star/xml/crypto/XXMLSecurityContext.idl75
-rw-r--r--offapi/com/sun/star/xml/crypto/XXMLSecurityTemplate.idl76
-rw-r--r--offapi/com/sun/star/xml/crypto/XXMLSignature.idl77
-rw-r--r--offapi/com/sun/star/xml/crypto/XXMLSignatureTemplate.idl70
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/ConstOfSecurityId.idl37
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/ElementMarkPriority.idl53
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/ElementMarkType.idl41
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/ElementStackItem.idl52
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/XBlockerMonitor.idl48
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/XDecryptionResultBroadcaster.idl63
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/XDecryptionResultListener.idl52
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/XElementStackKeeper.idl60
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/XEncryptionResultBroadcaster.idl63
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/XEncryptionResultListener.idl55
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/XKeyCollector.idl49
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/XMissionTaker.idl48
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/XReferenceCollector.idl58
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/XReferenceResolvedBroadcaster.idl70
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/XReferenceResolvedListener.idl49
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/XSAXEventKeeper.idl134
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/XSAXEventKeeperStatusChangeBroadcaster.idl64
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/XSAXEventKeeperStatusChangeListener.idl66
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/XSecuritySAXEventKeeper.idl68
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/XSignatureCreationResultBroadcaster.idl64
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/XSignatureCreationResultListener.idl52
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/XSignatureVerifyResultBroadcaster.idl64
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/XSignatureVerifyResultListener.idl52
-rw-r--r--offapi/com/sun/star/xml/csax/XCompressedDocumentHandler.idl72
-rw-r--r--offapi/com/sun/star/xml/csax/XMLAttribute.idl45
-rw-r--r--offapi/com/sun/star/xml/dom/DOMException.idl43
-rw-r--r--offapi/com/sun/star/xml/dom/DOMExceptionType.idl48
-rw-r--r--offapi/com/sun/star/xml/dom/DocumentBuilder.idl33
-rw-r--r--offapi/com/sun/star/xml/dom/NodeType.idl45
-rw-r--r--offapi/com/sun/star/xml/dom/SAXDocumentBuilder.idl33
-rw-r--r--offapi/com/sun/star/xml/dom/SAXDocumentBuilderState.idl38
-rw-r--r--offapi/com/sun/star/xml/dom/XAttr.idl65
-rw-r--r--offapi/com/sun/star/xml/dom/XCDATASection.idl34
-rw-r--r--offapi/com/sun/star/xml/dom/XCharacterData.idl104
-rw-r--r--offapi/com/sun/star/xml/dom/XComment.idl35
-rw-r--r--offapi/com/sun/star/xml/dom/XDOMImplementation.idl78
-rw-r--r--offapi/com/sun/star/xml/dom/XDocument.idl171
-rw-r--r--offapi/com/sun/star/xml/dom/XDocumentBuilder.idl101
-rw-r--r--offapi/com/sun/star/xml/dom/XDocumentFragment.idl34
-rw-r--r--offapi/com/sun/star/xml/dom/XDocumentType.idl68
-rw-r--r--offapi/com/sun/star/xml/dom/XElement.idl146
-rw-r--r--offapi/com/sun/star/xml/dom/XEntity.idl49
-rw-r--r--offapi/com/sun/star/xml/dom/XEntityReference.idl34
-rw-r--r--offapi/com/sun/star/xml/dom/XNamedNodeMap.idl94
-rw-r--r--offapi/com/sun/star/xml/dom/XNode.idl268
-rw-r--r--offapi/com/sun/star/xml/dom/XNodeList.idl45
-rw-r--r--offapi/com/sun/star/xml/dom/XNotation.idl44
-rw-r--r--offapi/com/sun/star/xml/dom/XProcessingInstruction.idl53
-rw-r--r--offapi/com/sun/star/xml/dom/XSAXDocumentBuilder.idl50
-rw-r--r--offapi/com/sun/star/xml/dom/XSAXDocumentBuilder2.idl43
-rw-r--r--offapi/com/sun/star/xml/dom/XText.idl41
-rw-r--r--offapi/com/sun/star/xml/dom/events/AttrChangeType.idl36
-rw-r--r--offapi/com/sun/star/xml/dom/events/EventException.idl35
-rw-r--r--offapi/com/sun/star/xml/dom/events/EventType.idl168
-rw-r--r--offapi/com/sun/star/xml/dom/events/PhaseType.idl34
-rw-r--r--offapi/com/sun/star/xml/dom/events/XDocumentEvent.idl36
-rw-r--r--offapi/com/sun/star/xml/dom/events/XEvent.idl60
-rw-r--r--offapi/com/sun/star/xml/dom/events/XEventListener.idl36
-rw-r--r--offapi/com/sun/star/xml/dom/events/XEventTarget.idl49
-rw-r--r--offapi/com/sun/star/xml/dom/events/XMouseEvent.idl63
-rw-r--r--offapi/com/sun/star/xml/dom/events/XMutationEvent.idl53
-rw-r--r--offapi/com/sun/star/xml/dom/events/XUIEvent.idl43
-rw-r--r--offapi/com/sun/star/xml/dom/views/XAbstractView.idl35
-rw-r--r--offapi/com/sun/star/xml/dom/views/XDocumentView.idl33
-rw-r--r--offapi/com/sun/star/xml/input/SaxDocumentHandler.idl50
-rw-r--r--offapi/com/sun/star/xml/input/XAttributes.idl121
-rw-r--r--offapi/com/sun/star/xml/input/XElement.idl114
-rw-r--r--offapi/com/sun/star/xml/input/XNamespaceMapping.idl59
-rw-r--r--offapi/com/sun/star/xml/input/XRoot.idl91
-rw-r--r--offapi/com/sun/star/xml/sax/FastParser.idl23
-rw-r--r--offapi/com/sun/star/xml/sax/FastToken.idl46
-rw-r--r--offapi/com/sun/star/xml/sax/FastTokenHandler.idl33
-rw-r--r--offapi/com/sun/star/xml/sax/InputSource.idl74
-rw-r--r--offapi/com/sun/star/xml/sax/Parser.idl37
-rw-r--r--offapi/com/sun/star/xml/sax/SAXException.idl55
-rw-r--r--offapi/com/sun/star/xml/sax/SAXInvalidCharacterException.idl43
-rw-r--r--offapi/com/sun/star/xml/sax/SAXParseException.idl63
-rw-r--r--offapi/com/sun/star/xml/sax/Writer.idl39
-rw-r--r--offapi/com/sun/star/xml/sax/XAttributeList.idl87
-rw-r--r--offapi/com/sun/star/xml/sax/XDTDHandler.idl66
-rw-r--r--offapi/com/sun/star/xml/sax/XDocumentHandler.idl100
-rw-r--r--offapi/com/sun/star/xml/sax/XEntityResolver.idl57
-rw-r--r--offapi/com/sun/star/xml/sax/XErrorHandler.idl68
-rw-r--r--offapi/com/sun/star/xml/sax/XExtendedDocumentHandler.idl78
-rw-r--r--offapi/com/sun/star/xml/sax/XFastAttributeList.idl160
-rw-r--r--offapi/com/sun/star/xml/sax/XFastContextHandler.idl137
-rw-r--r--offapi/com/sun/star/xml/sax/XFastDocumentHandler.idl72
-rw-r--r--offapi/com/sun/star/xml/sax/XFastNamespaceHandler.idl51
-rw-r--r--offapi/com/sun/star/xml/sax/XFastParser.idl176
-rw-r--r--offapi/com/sun/star/xml/sax/XFastSAXSerializable.idl80
-rw-r--r--offapi/com/sun/star/xml/sax/XFastTokenHandler.idl64
-rw-r--r--offapi/com/sun/star/xml/sax/XLocator.idl62
-rw-r--r--offapi/com/sun/star/xml/sax/XParser.idl93
-rw-r--r--offapi/com/sun/star/xml/sax/XSAXSerializable.idl69
-rw-r--r--offapi/com/sun/star/xml/sax/XWriter.idl50
-rw-r--r--offapi/com/sun/star/xml/wrapper/XMLDocumentWrapper.idl42
-rw-r--r--offapi/com/sun/star/xml/wrapper/XMLElementWrapper.idl44
-rw-r--r--offapi/com/sun/star/xml/wrapper/XXMLDocumentWrapper.idl164
-rw-r--r--offapi/com/sun/star/xml/wrapper/XXMLElementWrapper.idl43
-rw-r--r--offapi/com/sun/star/xml/xpath/Libxml2ExtensionHandle.idl40
-rw-r--r--offapi/com/sun/star/xml/xpath/XPathAPI.idl32
-rw-r--r--offapi/com/sun/star/xml/xpath/XPathException.idl42
-rw-r--r--offapi/com/sun/star/xml/xpath/XPathExtension.idl37
-rw-r--r--offapi/com/sun/star/xml/xpath/XPathObjectType.idl45
-rw-r--r--offapi/com/sun/star/xml/xpath/XXPathAPI.idl189
-rw-r--r--offapi/com/sun/star/xml/xpath/XXPathExtension.idl37
-rw-r--r--offapi/com/sun/star/xml/xpath/XXPathObject.idl88
-rw-r--r--offapi/com/sun/star/xml/xslt/XSLT2Transformer.idl30
-rw-r--r--offapi/com/sun/star/xml/xslt/XSLTTransformer.idl32
-rw-r--r--offapi/com/sun/star/xml/xslt/XXSLTTransformer.idl36
-rw-r--r--offapi/com/sun/star/xsd/Boolean.idl42
-rw-r--r--offapi/com/sun/star/xsd/DataTypeClass.idl113
-rw-r--r--offapi/com/sun/star/xsd/Date.idl62
-rw-r--r--offapi/com/sun/star/xsd/DateTime.idl62
-rw-r--r--offapi/com/sun/star/xsd/Day.idl61
-rw-r--r--offapi/com/sun/star/xsd/Decimal.idl79
-rw-r--r--offapi/com/sun/star/xsd/Month.idl61
-rw-r--r--offapi/com/sun/star/xsd/String.idl62
-rw-r--r--offapi/com/sun/star/xsd/Time.idl62
-rw-r--r--offapi/com/sun/star/xsd/WhiteSpaceTreatment.idl50
-rw-r--r--offapi/com/sun/star/xsd/XDataType.idl85
-rw-r--r--offapi/com/sun/star/xsd/Year.idl61
3932 files changed, 306797 insertions, 0 deletions
diff --git a/offapi/com/sun/star/accessibility/Accessible.idl b/offapi/com/sun/star/accessibility/Accessible.idl
new file mode 100644
index 000000000..c3d5d5e52
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/Accessible.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_accessibility_Accessible_idl__
+#define __com_sun_star_accessibility_Accessible_idl__
+
+module com { module sun { module star { module accessibility {
+
+ interface XAccessible;
+
+/** Every class has to support this service in order to be accessible.
+
+ <p>It provides the means to derive a XAccessibleContext
+ object--which may but usually is not the same object as the object that
+ supports the XAccessible interface--that provides the
+ actual information that is needed to make it accessible.</p>
+
+ <p>Service <code>Accessible</code> is just a wrapper for the interface
+ <code>XAccessible</code>. See the interface's documentation for more
+ information.</p>
+
+ @see XAccessible
+
+ @since OOo 1.1.2
+*/
+service Accessible
+{
+ interface XAccessible;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/AccessibleContext.idl b/offapi/com/sun/star/accessibility/AccessibleContext.idl
new file mode 100644
index 000000000..e3233a3ee
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/AccessibleContext.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_accessibility_AccessibleContext_idl__
+#define __com_sun_star_accessibility_AccessibleContext_idl__
+
+module com { module sun { module star { module accessibility {
+
+ interface XAccessibleContext;
+ interface XAccessibleEventBroadcaster;
+
+/** Central service of the Accessibility API that gives access to various
+ facets of an object's content.
+
+ <p>This service has to be implemented by every class that represents the
+ actual accessibility information of another UNO service. It exposes two
+ kinds of information: A tree structure in which all accessible objects
+ are organized can be navigated in freely. It typically represents
+ spatial relationship of one object containing a set of children like a
+ dialog box contains a set of buttons. Additionally the
+ XAccessibleContext interface of this service exposes
+ methods that provide access to the actual object's content. This can be
+ the object's role, name, description, and so on.</p>
+
+ @see XAccessibleContext
+
+ @since OOo 1.1.2
+*/
+service AccessibleContext
+{
+ interface XAccessibleContext;
+
+ /** is implemented by accessible contexts that supports broadcasting of
+ accessible events.
+
+ @see AccessibleEventObject
+ @see AccessibleEventId
+ */
+ [optional] interface XAccessibleEventBroadcaster;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/AccessibleEventId.idl b/offapi/com/sun/star/accessibility/AccessibleEventId.idl
new file mode 100644
index 000000000..c7f5b488b
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/AccessibleEventId.idl
@@ -0,0 +1,448 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_accessibility_AccessibleEventId_idl__
+#define __com_sun_star_accessibility_AccessibleEventId_idl__
+
+module com { module sun { module star { module accessibility {
+
+/** These constants identify the type of AccessibleEventObject
+ objects.
+
+ <p>The AccessibleEventObject::OldValue and
+ AccessibleEventObject::NewValue fields contain, where
+ applicable and not otherwise stated, the old and new value of the
+ property in question.</p>
+
+ @see AccessibleEventObject
+ @see XAccessibleEventListener
+
+ @since OOo 1.1.2
+*/
+constants AccessibleEventId
+{
+ /** Use this event type to indicate a change of the name string
+ of an accessible object. The
+ AccessibleEventObject::OldValue and
+ AccessibleEventObject::NewValue fields contain the
+ name before and after the change.
+ */
+ const short NAME_CHANGED = 1;
+
+ /** Use this event type to indicate a change of the description string
+ of an accessible object. The
+ AccessibleEventObject::OldValue and
+ AccessibleEventObject::NewValue fields contain the
+ description before and after the change.
+ */
+ const short DESCRIPTION_CHANGED = 2;
+
+ /** The change of the number or attributes of actions of an accessible
+ object is signaled by events of this type.
+ <p>The AccessibleEventObject::OldValue and
+ AccessibleEventObject::NewValue fields contain the
+ old and new number of actions.
+ */
+ const short ACTION_CHANGED = 3;
+
+ /** State changes are signaled with this event type. Use one event for
+ every state that is set or reset. The
+ AccessibleEventObject::OldValue and
+ AccessibleEventObject::NewValue fields contain the
+ old and new value respectively. To set a state put the state id
+ into the AccessibleEventObject::NewValue field and
+ leave AccessibleEventObject::OldValue empty. To
+ reset a state put the state id into the
+ AccessibleEventObject::OldValue field and leave
+ AccessibleEventObject::NewValue empty.
+ */
+ const short STATE_CHANGED = 4;
+
+ /** Constant used to determine when the active descendant of a component
+ has changed. The active descendant is used in objects with
+ transient children. The AccessibleEventObject::NewValue
+ contains the now active object. The
+ AccessibleEventObject::OldValue contains the
+ previously active child. Empty references indicate that no child
+ has been respectively is currently active.
+ */
+ const short ACTIVE_DESCENDANT_CHANGED = 5;
+
+ /** This event indicates a change of the bounding rectangle of an
+ accessible object with respect only to its size or relative
+ position. If the absolute position changes but not the relative
+ position then it is not necessary to send an event.
+
+ <p>Use this event rather than the
+ VISIBLE_DATA_EVENT when really only the
+ (relative) bounding box of an accessible object has changed. It is
+ much more specific than the later one and reduces the number of
+ calls an AT-Tool has to make to retrieve all affected data.</p>
+
+ <p>The AccessibleEventObject::OldValue and
+ AccessibleEventObject::NewValue remain empty. Use
+ a call to the XAccessibleComponent::getBounds()
+ method to determine the new bounding box.</p>
+ */
+ const short BOUNDRECT_CHANGED = 6;
+
+ /** A child event indicates the addition of a new or the removal of an
+ existing child. The contents of the
+ AccessibleEventObject::OldValue and
+ AccessibleEventObject::NewValue fields determines
+ which of both has taken place.
+
+ <p>If a new child has been added then
+ the AccessibleEventObject::NewValue contains a
+ reference to this new object and
+ AccessibleEventObject::OldValue remains empty.</p>
+
+ <p>If a child has been removed then the
+ AccessibleEventObject::OldValue contains a
+ reference to this object and
+ AccessibleEventObject::NewValue remains empty.</p>
+
+ <p>If a child has been added and another one has been removed
+ don't set both fields at the same. Send separate events
+ instead.</p>
+
+ <p>Note that a child event is sent after a child has been added or
+ removed. Especially in the case of a removal this means that the
+ removed object does not have a parent anymore.</p>
+ */
+ const short CHILD = 7;
+
+ /** Use this event to tell the listeners to re-retrieve the whole set of
+ children. This should be used by a parent object which exchanges all
+ or most of its children. It is a short form of first sending one
+ CHILD event for every old child indicating that
+ this child is about to be removed and then sending one
+ CHILD for every new child indicating that this
+ child has been added to the list of children.
+
+ <p>When this API is used by Java or Gnome AT-Tools then a bridge can
+ generate the events described above automatically.</p>
+ */
+ const short INVALIDATE_ALL_CHILDREN = 8;
+
+ /** Events of this type indicate changes of the selection. The
+ AccessibleEventObject::OldValue and
+ AccessibleEventObject::NewValue fields remain empty.
+ */
+ const short SELECTION_CHANGED = 9;
+
+ /** A visible data event indicates the change of the visual appearance
+ of an accessible object. This includes for example most of the
+ attributes available over the XAccessibleComponent and
+ XAccessibleExtendedComponent interfaces. The
+ AccessibleEventObject::OldValue and
+ AccessibleEventObject::NewValue fields are left empty.
+ */
+ const short VISIBLE_DATA_CHANGED = 10;
+
+ /** This constant indicates changes of the value of an
+ XAccessibleValue interface. The
+ AccessibleEventObject::OldValue and
+ AccessibleEventObject::NewValue field contain the
+ old and new value as a number. Its exact type is implementation
+ dependent but has to be the same as is returned by the
+ XAccessibleValue::getCurrentValue() function.
+ */
+
+ const short VALUE_CHANGED = 11;
+
+ /** Identifies the change of a relation set: The content flow has
+ changed.
+
+ <p>Not used: The AccessibleEventObject::OldValue and
+ AccessibleEventObject::NewValue fields contain
+ references to the old and new predecessor. Note that both references
+ my be `NULL` to indicate that a flow to the sending object has not
+ existed or does not exist anymore.</p>
+ */
+ const short CONTENT_FLOWS_FROM_RELATION_CHANGED = 12;
+
+ /** Identifies the change of a relation set: The content flow has
+ changed.
+
+ <p>Not used: The AccessibleEventObject::OldValue and
+ AccessibleEventObject::NewValue fields contain
+ references to the old and new successor. Note that both references
+ my be `NULL` to indicate that a flow from the sending object has not
+ existed or does not exist anymore.</p>
+ */
+ const short CONTENT_FLOWS_TO_RELATION_CHANGED = 13;
+
+ /** Identifies the change of a relation set: The target object that is
+ doing the controlling has changed. The
+ AccessibleEventObject::OldValue and
+ AccessibleEventObject::NewValue fields contain the
+ old and new controlling objects.
+ */
+ const short CONTROLLED_BY_RELATION_CHANGED = 14;
+
+ /** Identifies the change of a relation set: The controller for the
+ target object has changed. The
+ AccessibleEventObject::OldValue and
+ AccessibleEventObject::NewValue fields contain the
+ old and new number of controlled objects.
+ */
+ const short CONTROLLER_FOR_RELATION_CHANGED = 15;
+
+ /** Identifies the change of a relation set: The target group for a
+ label has changed. The
+ AccessibleEventObject::OldValue and
+ AccessibleEventObject::NewValue fields contain the
+ old and new number labeled objects.
+ */
+ const short LABEL_FOR_RELATION_CHANGED = 16;
+
+ /** Identifies the change of a relation set: The objects that are doing
+ the labeling have changed. The
+ AccessibleEventObject::OldValue and
+ AccessibleEventObject::NewValue fields contain the
+ old and new accessible label.
+ */
+ const short LABELED_BY_RELATION_CHANGED = 17;
+
+ /** Identifies the change of a relation set: The group membership has
+ changed. The
+ AccessibleEventObject::OldValue and
+ AccessibleEventObject::NewValue fields contain the
+ old and new number of members.
+ */
+ const short MEMBER_OF_RELATION_CHANGED = 18;
+
+ /** Identifies the change of a relation set: The sub-window-of relation
+ has changed. The
+ AccessibleEventObject::OldValue and
+ AccessibleEventObject::NewValue fields contain the
+ old and new accessible parent window objects.
+ */
+ const short SUB_WINDOW_OF_RELATION_CHANGED = 19;
+
+ /** Events of this type are sent when the caret has moved to a new
+ position. The old and new position can be found in the
+ AccessibleEventObject::OldValue and
+ AccessibleEventObject::NewValue fields.
+ */
+ const short CARET_CHANGED = 20;
+
+ /** Events of this type signal changes of the selection. The old or new
+ selection is <em>not</em> available through the event object. You
+ have to query the XAccessibleText interface of the
+ event source for this information. The type of content of the
+ AccessibleEventObject::OldValue and
+ AccessibleEventObject::NewValue fields is not
+ specified at the moment. This may change in the future.
+ */
+ const short TEXT_SELECTION_CHANGED = 21;
+
+ /** Use this id to indicate general text changes, i.e. changes to text
+ that is exposed through the XAccessibleText and
+ XAccessibleEditableText interfaces.
+
+ <p>The affected text ranges are represented by
+ com::sun::star::accessibility::TextSegment structures.<p>
+
+ <p>The content of the AccessibleEventObject::OldValue and
+ AccessibleEventObject::NewValue expresses the type
+ of text change: <ul> <li>Insertion: the
+ AccessibleEventObject::NewValue field specifies the
+ inserted text after the insertion, the
+ AccessibleEventObject::OldValue field remains
+ empty.</li> <li>Deletion: the
+ AccessibleEventObject::OldValue field specifies the
+ deleted text before the deletion, the
+ AccessibleEventObject::NewValue field remains
+ empty.</li> <li>Update/Replace/Modification: the
+ AccessibleEventObject::OldValue and
+ AccessibleEventObject::NewValue fields specify the
+ modified text before respectively after the modification.</li>
+ <li>Unknown: when the type of text change or the place where it took
+ place can not be determined by the event broadcaster then both
+ fields remain empty. In this case the whole text may have changed
+ and the listener should refetch the text completely.</li> </ul>
+
+ <p>When broadcasting an event always prefer the first three cases
+ to the last one. Use it only as a last resort.</p>
+
+ <p> Text ranges should be as small as possible but, of course,
+ include all the text that is involved in a modification. That means
+ that when two or more discontinuous text ranges are inserted,
+ deleted, or otherwise modified the two fields of the event have to
+ cover all the affected text ranges as well as the text in
+ between.</p>
+ */
+ const short TEXT_CHANGED = 22;
+
+
+ /** This entry is reserved for future extension. Don't use it right now.
+ */
+ const short TEXT_ATTRIBUTE_CHANGED = 23;
+
+ /** Constant used to indicate that a hypertext element has received
+ focus. The AccessibleEventObject::OldValue field
+ contains the start index of previously focused element. The
+ AccessibleEventObject::NewValue field holds the
+ start index in the document of the current element that has focus. A
+ value of -1 indicates that an element does not or did not have
+ focus.
+ */
+ const short HYPERTEXT_CHANGED = 24;
+ /** Constant used to indicate that the table caption has changed. The
+ AccessibleEventObject::OldValue and
+ AccessibleEventObject::NewValue fields contain the
+ old and new accessible objects representing the table caption.
+ */
+ const short TABLE_CAPTION_CHANGED = 25;
+
+ /** Constant used to indicate that the column description has changed.
+ The AccessibleEventObject::NewValue field contains
+ the column index. The
+ AccessibleEventObject::OldValue is left empty.
+ */
+ const short TABLE_COLUMN_DESCRIPTION_CHANGED = 26;
+
+ /** Constant used to indicate that the column header has changed. The
+ AccessibleEventObject::OldValue is empty, the
+ AccessibleEventObject::NewValue field contains an
+ AccessibleTableModelChange representing the header
+ change.
+ */
+ const short TABLE_COLUMN_HEADER_CHANGED = 27;
+
+ /** Constant used to indicate that the table data has changed. The
+ AccessibleEventObject::OldValue is empty, the
+ AccessibleEventObject::NewValue field contains an
+ AccessibleTableModelChange representing the data
+ change.
+ */
+ const short TABLE_MODEL_CHANGED = 28;
+
+ /** Constant used to indicate that the row description has changed. The
+ AccessibleEventObject::NewValue field contains the
+ row index. The AccessibleEventObject::OldValue is
+ left empty.
+ */
+ const short TABLE_ROW_DESCRIPTION_CHANGED = 29;
+
+ /** Constant used to indicate that the row header has changed. The
+ AccessibleEventObject::OldValue is empty, the
+ AccessibleEventObject::NewValue field contains an
+ AccessibleTableModelChange representing the header
+ change.
+ */
+ const short TABLE_ROW_HEADER_CHANGED = 30;
+
+ /** Constant used to indicate that the table summary has changed. The
+ AccessibleEventObject::OldValue and
+ AccessibleEventObject::NewValue fields contain the
+ old and new accessible objects representing the table summary.
+ */
+ const short TABLE_SUMMARY_CHANGED = 31;
+
+ /** Constant used to indicate that a list box entry has been expanded.
+ AccessibleEventObject::OldValue is empty.
+ AccessibleEventObject::NewValue contains the expanded list box entry.
+
+ @since OOo 3.2
+ */
+ const short LISTBOX_ENTRY_EXPANDED = 32;
+
+ /** Constant used to indicate that a list box entry has been collapsed.
+ AccessibleEventObject::OldValue is empty.
+ AccessibleEventObject::NewValue contains the collapsed list box entry.
+
+ @since OOo 3.2
+ */
+ const short LISTBOX_ENTRY_COLLAPSED = 33;
+
+ /** Constant used to determine when the active descendant of a component
+ has been removed but unlike ACTIVE_DESCENDANT_CHANGED the descendant
+ that is to be removed does not have focus. The active descendant
+ is used in objects with transient children.
+
+ <p>AccessibleEventObject::OldValue contains the item to be removed.</p>
+ <p>AccessibleEventObject::NewValue is empty.</p>
+
+ @since LibreOffice 4.3
+ */
+ const short ACTIVE_DESCENDANT_CHANGED_NOFOCUS = 34;
+
+ /** An item in a container has been added to an already present selection
+
+ Example: a second list item has been selected in a listbox.
+
+ <p>AccessibleEventObject::OldValue is empty.</p>
+ <p>AccessibleEventObject::NewValue contains the item to be added.</p>
+
+ @since LibreOffice 4.3
+ */
+ const short SELECTION_CHANGED_ADD = 35;
+
+ /** An item in a container has been removed from the selection.
+
+ <p>AccessibleEventObject::OldValue contains the item to be removed.</p>
+ <p>AccessibleEventObject::NewValue is empty.</p>
+
+ @since LibreOffice 4.3
+ */
+ const short SELECTION_CHANGED_REMOVE = 36;
+
+ /** Multiple items in a container object have been added or removed
+ from the selection.
+
+ <p>AccessibleEventObject::OldValue and
+ AccessibleEventObject::NewValue is empty.</p>
+
+ @since LibreOffice 4.3
+ */
+ const short SELECTION_CHANGED_WITHIN = 37;
+
+ /** A change of page or slide.
+
+ @since LibreOffice 4.3
+ */
+ const short PAGE_CHANGED = 38;
+
+ /** The cursor has moved to/from a section
+
+ @since LibreOffice 4.3
+ */
+ const short SECTION_CHANGED = 39;
+
+ /** The cursor has moved to/from a section
+
+ @since LibreOffice 4.3
+ */
+ const short COLUMN_CHANGED = 40;
+
+ /** Constant used to indicate that the role of an accessible object has
+ changed.
+
+ @since LibreOffice 4.3
+ */
+ const short ROLE_CHANGED =41;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/AccessibleEventObject.idl b/offapi/com/sun/star/accessibility/AccessibleEventObject.idl
new file mode 100644
index 000000000..883e9af29
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/AccessibleEventObject.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_accessibility_AccessibleEventObject_idl__
+#define __com_sun_star_accessibility_AccessibleEventObject_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+
+module com { module sun { module star { module accessibility {
+
+/** this struct describes an accessible event, that is broadcasted from
+ the XAccessibleEventBroadcaster and notified to
+ XAccessibleEventListener.
+
+ <p>It is usually implemented by AccessibleContext.
+
+ @since OOo 1.1.2
+*/
+struct AccessibleEventObject: ::com::sun::star::lang::EventObject
+{
+ /** specifies the type of this event.
+
+ <p>For a list of possible events see AccessibleEventId.
+ */
+ short EventId;
+
+ /** for events that specifies a value change, this is
+ the new value.
+
+ Depending on the #EventId, this can be void.
+ */
+ any NewValue;
+
+ /** for events that specifies a value change, this is
+ the old value.
+
+ Depending on the #EventId, this can be void.
+ */
+ any OldValue;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/AccessibleRelation.idl b/offapi/com/sun/star/accessibility/AccessibleRelation.idl
new file mode 100644
index 000000000..f3b5e8402
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/AccessibleRelation.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_accessibility_AccessibleRelation_idl__
+#define __com_sun_star_accessibility_AccessibleRelation_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module accessibility {
+
+/** An AccessibleRelation object defines a one-to-many
+ relation.
+
+ <p>The represented relation points from the implementing object to a set
+ of target objects.</p>
+
+ @since OOo 1.1.2
+*/
+struct AccessibleRelation
+{
+ /** Type of the relation.
+
+ <p>Its value has to be one of the constants defined by
+ AccessibleRelationType. If that value is INVALID then
+ the whole relation is regarded as invalid. The content of the
+ TargetSet is then undefined.</p>
+
+ @see AccessibleRelationType
+ */
+ short RelationType;
+
+ /** Set of objects that are the relation's targets.
+
+ <p>The content of this set is undefined if the relation's type is
+ INVALID. The set must not contain references to one object more
+ than once.</p>
+ */
+ sequence< ::com::sun::star::uno::XInterface> TargetSet;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/AccessibleRelationType.idl b/offapi/com/sun/star/accessibility/AccessibleRelationType.idl
new file mode 100644
index 000000000..0ea803a81
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/AccessibleRelationType.idl
@@ -0,0 +1,123 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_accessibility_AccessibleRelationType_idl__
+#define __com_sun_star_accessibility_AccessibleRelationType_idl__
+
+module com { module sun { module star { module accessibility {
+
+/** Collection of relation types.
+
+ <p>This list of constants defines the available types of relations that
+ are usable by AccessibleRelation.</p>
+
+ <p>We are using constants instead of a more typesafe enum. The reason
+ for this is that IDL enums may not be extended. Therefore, in order to
+ include future extensions to the set of roles we have to use constants
+ here.</p>
+
+ @since OOo 1.1.2
+*/
+constants AccessibleRelationType
+{
+ /** Invalid relation type.
+
+ <p>Indicates an invalid relation type. This is used to indicate
+ that a retrieval method could not find a requested relation.</p>
+ */
+ const short INVALID = 0;
+
+ /** Content-flows-from relation.
+
+ <p>Indicates a content flow between the related objects.</p>
+ */
+ const short CONTENT_FLOWS_FROM = 1;
+
+ /** Content-flows-to relation.
+
+ <p>Indicates a content flow between the related objects.</p>
+ */
+ const short CONTENT_FLOWS_TO = 2;
+
+ /** Controlled-by relation type.
+
+ <p>Indicates an object is controlled by one or more target
+ objects.</p>
+ */
+ const short CONTROLLED_BY = 3;
+
+ /** Controller-for relation type.
+
+ <p>Indicates an object is a controller for one or more target
+ objects.</p>
+ */
+ const short CONTROLLER_FOR = 4;
+
+ /** Label-for relation type.
+
+ <p>Indicates an object is a label for one or more target
+ objects.</p>
+ */
+ const short LABEL_FOR = 5;
+
+ /** Labeled-by relation type.
+
+ <p>Indicates an object is labeled by one or more target objects.</p>
+ */
+ const short LABELED_BY = 6;
+
+ /** Member-of relation type.
+
+ <p>Indicates an object is a member of a group of one or more target
+ objects.</p>
+ */
+ const short MEMBER_OF = 7;
+
+ /** Sub-Window-of relation type.
+
+ <p>With this relation you can realize an alternative parent-child
+ relationship. The target of the relation contains the parent
+ window. Note that there is no relation that points the other way,
+ from the parent window to the child window.</p>
+ */
+ const short SUB_WINDOW_OF = 8;
+
+ /** Node-Child-of relation type.
+
+ <p>Indicates an object is a cell in a tree or tree table which is
+ displayed because a cell in the same column is expanded and
+ identifies that cell.</p>
+
+ @since OOo 3.0
+ */
+ const short NODE_CHILD_OF = 9;
+
+ /** Described-by relation type.
+
+ <p>Indicates an object is described by the target object.</p>
+
+ @since OOo 3.5
+ */
+ const short DESCRIBED_BY = 10;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/AccessibleRole.idl b/offapi/com/sun/star/accessibility/AccessibleRole.idl
new file mode 100644
index 000000000..9cf23aecd
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/AccessibleRole.idl
@@ -0,0 +1,749 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_accessibility_AccessibleRole_idl__
+#define __com_sun_star_accessibility_AccessibleRole_idl__
+
+module com { module sun { module star { module accessibility {
+
+/** Collection of roles.
+
+ <p>This collection of constants defines the set of possible roles of
+ classes implementing the XAccessible interface according to
+ the Java class javax.accessibility.AccessibleRole. The role of an
+ object describes its generic function like "button", "menu", or "text".
+ You can obtain an object's role by calling the
+ getAccessibleRole() method of the
+ XAccessibleContext interface.</p>
+
+ <p>We are using constants instead of a more typesafe enum. The reason
+ for this is that IDL enums may not be extended. Therefore, in order to
+ include future extensions to the set of roles we have to use constants
+ here.</p>
+
+ <p>For some roles there exist two labels with the same value. Please
+ use the one with the underscores. The other ones are somewhat
+ deprecated and will be removed in the future. </p>
+
+ @see XAccessibleContext
+
+ @since OOo 1.1.2
+*/
+constants AccessibleRole
+{
+
+ /** Unknown role.
+
+ <p>The object contains some Accessible information, but its role is
+ not known.</p>
+ */
+ const short UNKNOWN = 0;
+
+ /** Object is used to alert the user about something.
+ */
+ const short ALERT = 1;
+
+ /** The header for a column of data.
+ */
+ const short COLUMN_HEADER = 2;
+
+ /** Object that can be drawn into and is used to trap events.
+
+ <p>See also FRAME, GLASS_PANE, and
+ LAYERED_PANE.</p>
+ */
+ const short CANVAS = 3;
+
+ /** Check box role.
+
+ <p>A choice that can be checked or unchecked and provides a separate
+ indicator for the current state.</p>
+
+ <p>See also PUSH_BUTTON, TOGGLE_BUTTON,
+ and RADIO_BUTTON.</p>
+ */
+ const short CHECK_BOX = 4;
+
+ /** This role is used for check buttons that are menu items.
+
+ @see CHECK_BOX, MENU_ITEM
+ */
+ const short CHECK_MENU_ITEM = 5;
+
+ /** A specialized dialog that lets the user choose a color.
+ */
+ const short COLOR_CHOOSER = 6;
+
+ /** Combo box role.
+
+ <p>A list of choices the user can select from. Also optionally
+ allows the user to enter a choice of their own.</p>
+ */
+ const short COMBO_BOX = 7;
+
+ /** Date editor role.
+
+ <p>A DATE_EDITOR is a component that allows users to edit date and time.</p>
+ */
+ const short DATE_EDITOR = 8;
+
+ /** An iconified internal frame in a DESKTOP_PANE.
+
+ <p>See also DESKTOP_PANE and
+ INTERNAL_FRAME.</p>
+ */
+ const short DESKTOP_ICON = 9;
+
+ /** Desktop pane role.
+
+ <p>A pane that supports internal frames and iconified versions of
+ those internal frames.</p>
+ */
+ const short DESKTOP_PANE = 10;
+
+ /** Directory pane role.
+
+ <p>A pane that allows the user to navigate through and select the
+ contents of a directory. May be used by a file chooser.</p>
+
+ <p>See also FILE_CHOOSER.</p>
+ */
+ const short DIRECTORY_PANE = 11;
+
+ /** Dialog box role.
+
+ <p>A top level window with title bar and a border. A dialog is
+ similar to a frame, but it has fewer properties and is often used as
+ a secondary window for an application.</p>
+
+ <p>See also FRAME and WINDOW.</p>
+ */
+ const short DIALOG = 12;
+
+ /** View of a document.
+
+ <p>The view of an actual document. Its content depends on the
+ document type.</p>
+ */
+ const short DOCUMENT = 13;
+
+ /** Embedded (OLE) object.
+ */
+ const short EMBEDDED_OBJECT = 14;
+
+ /** Text that is used as an endnote (footnote at the end of a chapter or
+ section.
+ */
+ const short END_NOTE = 15;
+
+ /** File chooser role.
+
+ <p>A specialized dialog that displays the files in the directory
+ and lets the user select a file, browse a different directory, or
+ specify a filename. May use the directory pane to show the contents
+ of a directory.</p>
+
+ <p>See also DIRECTORY_PANE.</p>
+ */
+ const short FILE_CHOOSER = 16;
+
+ /** Filler role.
+
+ <p>An object that fills up space in a user interface. It is often
+ used in interfaces to tweak the spacing between components, but
+ serves no other purpose.</p>
+ */
+ const short FILLER = 17;
+
+ /** Font chooser role.
+
+ <p>A FONT_CHOOSER is a component that lets the user pick various
+ attributes for fonts.</p>
+ */
+ const short FONT_CHOOSER = 18;
+
+ /** Footer of a document page.
+ @see HEADER
+ */
+ const short FOOTER = 19;
+
+ /** Text that is used as a footnote.
+ */
+ const short FOOTNOTE = 20;
+
+ /** Frame role.
+
+ <p>A top level window with a title bar, border, menu bar, etc. It
+ is often used as the primary window for an application.</p>
+
+ <p>See also DIALOG, CANVAS, and
+ WINDOW.</p>
+ */
+ const short FRAME = 21;
+
+ /** Glass pane role.
+
+ <p>A pane that is guaranteed to be painted on top of all panes
+ beneath it.</p>
+
+ <p>See also ROOT_PANE and CANVAS.</p>
+ */
+ const short GLASS_PANE = 22;
+
+ /** Graphical object.
+ */
+ const short GRAPHIC = 23;
+
+ /** Group box role.
+
+ <p>A GROUP_BOX is a simple container that contains a
+ border around it and contains components inside it.</p>
+ */
+ const short GROUP_BOX = 24;
+
+ /** Header of a document page.
+ @see FOOTER
+ */
+ const short HEADER = 25;
+
+ /** Chapter or section heading.
+ */
+ const short HEADING = 26;
+
+ /** A hypertext anchor.
+ */
+ const short HYPER_LINK = 27;
+
+ /** A small fixed size picture, typically used to decorate components.
+ */
+ const short ICON = 28;
+
+ /** Internal frame role.
+
+ <p>A frame-like object that is clipped by a desktop pane. The
+ desktop pane, internal frame, and desktop icon objects are often
+ used to create multiple document interfaces within an
+ application.</p>
+
+ <p>See also DESKTOP_ICON, DESKTOP_PANE,
+ and FRAME.</p>
+ */
+ const short INTERNAL_FRAME = 29;
+
+ /** An object used to present an icon or short string in an interface.
+ <p>See also TEXT and STATIC.</p>
+ */
+ const short LABEL = 30;
+
+ /** layered pane role.
+
+ <p>A specialized pane that allows its children to be drawn in
+ layers, providing a form of stacking order. This is usually the pane
+ that holds the menu bar as well as the pane that contains most of
+ the visual components in a window.</p>
+
+ <p>See also GLASS_PANE and
+ ROOT_PANE.</p>
+ */
+ const short LAYERED_PANE = 31;
+
+ /** List role.
+
+ <p>An object that presents a list of objects to the user and allows
+ the user to select one or more of them. A list is usually contained
+ within a scroll pane.</p>
+
+ <p>See also SCROLL_PANE and
+ LIST_ITEM.</p>
+ */
+ const short LIST = 32;
+
+ /** List item role.
+
+ <p>An object that presents an element in a list. A list is usually
+ contained within a scroll pane.</p>
+
+ <p>See also SCROLL_PANE and LIST.</p>
+ */
+ const short LIST_ITEM = 33;
+
+ /** Menu role.
+
+ <p>An object usually found inside a menu bar that contains a list of
+ actions the user can choose from. A menu can have any object as its
+ children, but most often they are menu items, other menus, or
+ rudimentary objects such as radio buttons, check boxes, or
+ separators. For example, an application may have an "Edit" menu that
+ contains menu items for "Cut" and "Paste."</p>
+
+ <p>See also MENU_BAR, MENU_ITEM,
+ SEPARATOR, RADIO_BUTTON,
+ CHECK_BOX, and POPUP_MENU.</p>
+ */
+ const short MENU = 34;
+
+ /** Menu bar role.
+
+ <p>An object usually drawn at the top of the primary dialog box of
+ an application that contains a list of menus the user can choose
+ from. For example, a menu bar might contain menus for "File,"
+ "Edit," and "Help."</p>
+
+ <p>See also MENU, POPUP_MENU, and
+ LAYERED_PANE.</p>
+ */
+ const short MENU_BAR = 35;
+
+ /** Menu item role.
+
+ <p>An object usually contained in a menu that presents an action the
+ user can choose. For example, the "Cut" menu item in an "Edit" menu
+ would be an action the user can select to cut the selected area of
+ text in a document.</p>
+
+ <p>See also MENUBAR, SEPARATOR, and
+ POPUP_MENU.</p>
+ */
+ const short MENU_ITEM = 36;
+
+ /** A specialized pane whose primary use is inside a DIALOG.
+
+ <p>See also DIALOG.</p>
+ */
+ const short OPTION_PANE = 37;
+
+ /** Page tab role.
+
+ <p>An object that is a child of a page tab list. Its sole child is
+ the panel that is to be presented to the user when the user selects
+ the page tab from the list of tabs in the page tab list.</p>
+
+ <p>See also PAGE_TAB_LIST.</p>
+ */
+ const short PAGE_TAB = 38;
+
+ /** Page tab list role.
+
+ <p>An object that presents a series of panels (or page tabs), one at
+ a time, through some mechanism provided by the object. The most
+ common mechanism is a list of tabs at the top of the panel. The
+ children of a page tab list are all page tabs.</p>
+
+ <p>See also PAGE_TAB.</p>
+ */
+ const short PAGE_TAB_LIST = 39;
+
+ /** A generic container that is often used to group objects.
+ */
+ const short PANEL = 40;
+
+ /** Paragraph of text.
+ */
+ const short PARAGRAPH = 41;
+
+ /** Password text role.
+
+ <p>A text object used for passwords, or other places where the text
+ contents is not shown visibly to the user.</p>
+ */
+ const short PASSWORD_TEXT = 42;
+
+ /** Pop-up menu role.
+
+ <p>A temporary window that is usually used to offer the user a list
+ of choices, and then hides when the user selects one of those
+ choices.</p>
+
+ <p>See also MENU and MENU_ITEM.</p>
+ */
+ const short POPUP_MENU = 43;
+
+ /** Push button role.
+
+ <p>An object the user can manipulate to tell the application to do
+ something.</p>
+
+ <p>See also CHECK_BOX, TOGGLE_BUTTON,
+ RADIO_BUTTON, BUTTON_MENU and
+ BUTTON_DROPDOWN.</p>
+ */
+ const short PUSH_BUTTON = 44;
+
+ /** An object used to indicate how much of a task has been completed.
+ */
+ const short PROGRESS_BAR = 45;
+
+ /** Radio button role.
+
+ <p>A specialized check box that will cause other radio buttons in
+ the same group to become unchecked when this one is checked.</p>
+
+ <p>See also PUSH_BUTTON, TOGGLE_BUTTON,
+ and CHECK_BOX.</p>
+ */
+ const short RADIO_BUTTON = 46;
+
+ /** This role is used for radio buttons that are menu items.
+
+ @see RADIO_BUTTON, MENU_ITEM
+ */
+ const short RADIO_MENU_ITEM = 47;
+
+ /** The header for a row of data.
+ */
+ const short ROW_HEADER = 48;
+
+ /** Root pane role.
+
+ <p>A specialized pane that has a glass pane and a layered pane as
+ its children.</p>
+
+ <p>See also GLASS_PANE and LAYERED_PANE.</p>
+ */
+ const short ROOT_PANE = 49;
+
+ /** Scroll bar role.
+
+ <p>An object usually used to allow a user to incrementally view a
+ large amount of data. Usually used only by a scroll pane.</p>
+
+ <p>See also SCROLL_PANE.</p>
+ */
+ const short SCROLL_BAR = 50;
+
+ /** Scroll pane role.
+
+ <p>An object that allows a user to incrementally view a large amount
+ of information. Its children can include scroll bars and a
+ viewport.</p>
+
+ <p>See also SCROLL_BAR and VIEW_PORT.</p>
+ */
+ const short SCROLL_PANE = 51;
+
+ /** Object with graphical representation used to represent content on
+ draw pages.
+
+ @see com::sun::star::drawing::AccessibleShape
+ */
+ const short SHAPE = 52;
+
+ /** Separator role.
+
+ <p>An object usually contained in a menu to provide a visual and
+ logical separation of the contents in a menu. For example, the
+ "File" menu of an application might contain menu items for "Open,"
+ "Close," and "Exit," and will place a separator between "Close" and
+ "Exit" menu items.</p>
+
+ <p>See also MENU and MENU_ITEM.</p>
+ */
+ const short SEPARATOR = 53;
+
+ /** Slider role.
+
+ <p>An object that allows the user to select from a bounded
+ range. For example, a slider might be used to select a number
+ between 0 and 100.</p>
+ */
+ const short SLIDER = 54;
+
+ /** Spin box role.
+
+ <p>A SPIN_BOX is a simple spinner component and its
+ main use is for simple numbers.</p>
+ */
+ const short SPIN_BOX = 55;
+
+ /** Split pane role.
+
+ <p>A specialized panel that presents two other panels at the same
+ time. Between the two panels is a divider the user can manipulate to
+ make one panel larger and the other panel smaller.</p>
+ */
+ const short SPLIT_PANE = 56;
+
+ /** Status bar role.
+
+ <p>A STATUS_BAR is an simple component that can
+ contain multiple labels of status information to the user.</p>
+ */
+ const short STATUS_BAR = 57;
+
+ /** Table component.
+
+ <p>An object used to present information in terms of rows and
+ columns. An example might include a spreadsheet application.</p>
+ */
+ const short TABLE = 58;
+
+ /** Single cell in a table.
+ */
+ const short TABLE_CELL = 59;
+
+ /** Text role.
+
+ <p>An object that presents text to the user. The text is usually
+ editable by the user as opposed to a label or static text.</p>
+
+ <p>See also LABEL and STATIC.</p>
+ */
+ const short TEXT = 60;
+
+ /** Collection of objects that constitute a logical text entity.
+ */
+ const short TEXT_FRAME = 61;
+
+ /** Toggle button role.
+
+ <p>A specialized push button that can be checked or unchecked, but
+ does not provide a separate indicator for the current state.</p>
+
+ <p>See also PUSH_BUTTON, CHECK_BOX and
+ RADIO_BUTTON.</p>
+ */
+ const short TOGGLE_BUTTON = 62;
+
+ /** Tool bar role.
+
+ <p>A bar or palette usually composed of push buttons or toggle
+ buttons. It is often used to provide the most frequently used
+ functions for an application.</p>
+ */
+ const short TOOL_BAR = 63;
+
+ /** Tool tip role.
+
+ <p>An object that provides information about another object. The
+ accessible Description property of the tool tip is often displayed to
+ the user in a small "help bubble" when the user causes the mouse to
+ hover over the object associated with the tool tip.</p>
+ */
+ const short TOOL_TIP = 64;
+
+ /** Tree role.
+
+ <p>An object used to present hierarchical information to the
+ user. The individual nodes in the tree can be collapsed and expanded
+ to provide selective disclosure of the tree's contents.</p>
+ */
+ const short TREE = 65;
+
+ /** Viewport role.
+
+ <p>An object usually used in a scroll pane. It represents the
+ portion of the entire data that the user can see. As the user
+ manipulates the scroll bars, the contents of the viewport can
+ change.</p>
+
+ <p>See also SCROLL_PANE.</p>
+ */
+ const short VIEW_PORT = 66;
+
+ /** A top level window with no title or border.
+
+ <p>See also FRAME and DIALOG.</p>
+ */
+ const short WINDOW = 67;
+
+ /** Button dropdown role
+
+ <p>The object represents a button that drops down a list of items.</p>
+
+ <p>See also PUSH_BUTTON and BUTTON_MENU.</p>
+
+ @since OOo 3.0
+ */
+ const short BUTTON_DROPDOWN = 68;
+
+ /** Button menu role
+
+ <p>The object represents a button that drops down a menu.</p>
+
+ <p>See also PUSH_BUTTON and BUTTON_DROPDOWN.</p>
+
+ @since OOo 3.0
+ */
+ const short BUTTON_MENU = 69;
+
+ /** Caption role
+
+ <p>The object contains descriptive information, usually textual, about
+ another user interface element such as a table, chart, or image.</p>.
+
+ @since OOo 3.0
+ */
+ const short CAPTION = 70;
+
+ /** Chart role
+
+ <p>The object is a graphical depiction of quantitative data. It may contain multiple
+ subelements whose attributes and/or description may be queried to obtain both
+ the quantitative data and information about how the data is being presented.</p>
+
+ @since OOo 3.0
+ */
+ const short CHART = 71;
+
+ /** Edit bar role
+
+ <p>A role indicating the object acts as a formula for calculating a value.</p>
+
+ @since OOo 3.0
+ */
+ const short EDIT_BAR = 72;
+
+ /** Form role
+
+ <p>The object is a container for form controls, for instance as part of a web form
+ or user-input form within a document.</p>
+
+ @since OOo 3.0
+ */
+ const short FORM = 73;
+
+ /** Image map role
+
+ <p>Usually a graphic with multiple hotspots, where each hotspot can be activated
+ resulting in the loading of another document or section of a document.</p>
+
+ @since OOo 3.0
+ */
+ const short IMAGE_MAP = 74;
+
+ /** Note role
+
+ <p>An embedded note which is not visible until activated.</p>
+
+ @since OOo 3.0
+ */
+ const short NOTE = 75;
+
+ /** Page role
+
+ <p>An object representing a page of document content. It is used in documents
+ which are accessed by the user on a page by page basis.</p>
+
+ @since OOo 3.0
+ */
+ const short PAGE = 76;
+
+ /** Ruler role
+
+ <p>An object which describes margins and tab stops, etc. for text objects which it controls.</p>
+
+ @since OOo 3.0
+ */
+ const short RULER = 77;
+
+ /** Section role
+
+ <p>The object is a containing instance of document content which constitutes a particular
+ "logical" section of the document.</p>
+
+ @since OOo 3.0
+ */
+ const short SECTION = 78;
+
+ /** Tree item role
+
+ <p>An object that presents an element in a tree</p>
+
+ </p>See also TREE and TREE_TABLE.</p>
+
+ @since OOo 3.0
+ */
+ const short TREE_ITEM = 79;
+
+ /** Tree table role
+
+ <p>An object which represents both hierarchical and tabular information.</p>
+
+ @since OOo 3.0
+ */
+ const short TREE_TABLE = 80;
+
+ /** Comment role
+
+ <p>An object which represents a comment.</p>
+
+ <p>A comment is anchored at a certain content position in the document and
+ annotates this document content position or a certain text range of the document content.
+ In the OpenDocument file format a comment is known as an annotation.</p>
+
+ <p>See also COMMENT_END.</p>
+
+ @since OOo 3.2
+ */
+ const short COMMENT = 81;
+
+ /** Comment end role
+
+ <p>An invisible object which represents the end position of a text range which
+ is annotated by a comment - see COMMENT.</p>
+
+ <p>This object and the corresponding object representing the comment shall be
+ in relation of type MEMBER_OF.</p>
+
+ @since OOo 3.2
+ */
+ const short COMMENT_END = 82;
+
+ /** View of a presentation document.
+
+ <p>It's an specific variation of DOCUMENT for presentations.</p>
+
+ @since LibreOffice 4.3
+ */
+ const short DOCUMENT_PRESENTATION = 83;
+
+ /** View of an spreadsheet document.
+
+ <p>It's an specific variation of DOCUMENT for spreadsheets.</p>
+
+ @since LibreOffice 4.3
+ */
+ const short DOCUMENT_SPREADSHEET = 84;
+
+ /** View of a text document.
+
+ <p>It's an specific variation of DOCUMENT for text.</p>
+
+ @since LibreOffice 4.3
+ */
+ const short DOCUMENT_TEXT = 85;
+
+ /** Static text role.
+
+ <p>An object that presents a brief amount of information to the user.
+ The text is not editable by the user as opposed to a text, and not
+ meant to have a relation with another object as opposed to a
+ label.</p>
+
+ <p>See also LABEL and TEXT.</p>
+ */
+ const short STATIC = 86;
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/AccessibleScrollType.idl b/offapi/com/sun/star/accessibility/AccessibleScrollType.idl
new file mode 100644
index 000000000..fd096b09b
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/AccessibleScrollType.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_accessibility_AccessibleScrollType_idl__
+#define __com_sun_star_accessibility_AccessibleScrollType_idl__
+
+module com { module sun { module star { module accessibility {
+
+/** Scroll types
+
+ <p>Describes the type of scrolling that are available for the methods of
+ the XAccessibleScrollableText interface.</p>
+
+ @since LibreOffice 7.0
+*/
+enum AccessibleScrollType
+{
+ /**
+ Scroll the top left corner of the object or string such that the
+ top left corner is within the top level window.
+ */
+ SCROLL_TOP_LEFT,
+
+ /**
+ Scroll the bottom right corner of the object or string such that the
+ bottom right corner is within the top level window.
+ */
+ SCROLL_BOTTOM_RIGHT,
+
+ /**
+ Scroll the top edge of the object or string such that the top edge is
+ within the top level window.
+ */
+ SCROLL_TOP_EDGE,
+
+ /**
+ Scroll the bottom edge of the object or string such that the bottom
+ edge is within the top level window.
+ */
+ SCROLL_BOTTOM_EDGE,
+
+ /**
+ Scroll the left edge of the object or string such that the left edge
+ is within the top level window.
+ */
+ SCROLL_LEFT_EDGE,
+
+ /**
+ Scroll the right edge of the object or string such that the right edge
+ is within the top level window.
+ */
+ SCROLL_RIGHT_EDGE,
+
+ /**
+ Scroll the object or string such that as much as possible of the
+ object or string is within the top level window.
+ */
+ SCROLL_ANYWHERE
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/AccessibleStateType.idl b/offapi/com/sun/star/accessibility/AccessibleStateType.idl
new file mode 100644
index 000000000..7f64a6380
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/AccessibleStateType.idl
@@ -0,0 +1,247 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_accessibility_AccessibleStateType_idl__
+#define __com_sun_star_accessibility_AccessibleStateType_idl__
+
+module com { module sun { module star { module accessibility {
+
+/** Collection of state types.
+
+ <p>This list of constants defines the available set of states that an
+ object that implements XAccessibleContext can be in.</p>
+
+ <p>The comments describing the states is taken verbatim from the Java
+ Accessibility API 1.4 documentation.</p>
+
+ <p>We are using constants instead of a more typesafe enum. The reason
+ for this is that IDL enums may not be extended. Therefore, in order to
+ include future extensions to the set of roles we have to use constants
+ here.</p>
+
+ @since OOo 1.1.2
+*/
+constants AccessibleStateType
+{
+ /** Indicates an invalid state.
+ */
+ const short INVALID = 0;
+
+ /** Indicates a window is currently the active window.
+ */
+ const short ACTIVE = 1;
+
+ /** Indicates that the object is armed.
+ */
+ const short ARMED = 2;
+
+ /** Indicates the current object is busy.
+ */
+ const short BUSY = 3;
+
+ /** Indicates this object is currently checked.
+ */
+ const short CHECKED = 4;
+
+ /** User interface object corresponding to this object no longer exists.
+
+ <p>Indicates the user interface object corresponding to this object
+ no longer exists.</p>
+ */
+ const short DEFUNC = 5;
+
+ /** Indicates the user can change the contents of this object.
+ */
+ const short EDITABLE = 6;
+
+ /** Indicates this object is enabled.
+ */
+ const short ENABLED = 7;
+
+ /** Indicates this object allows progressive disclosure of its children.
+ */
+ const short EXPANDABLE = 8;
+
+ /** Indicates this object is expanded.
+ */
+ const short EXPANDED = 9;
+
+ /** Object can accept the keyboard focus.
+
+ <p>Indicates this object can accept keyboard focus, which means all
+ events resulting from typing on the keyboard will normally be passed
+ to it when it has focus.</p>
+ */
+ const short FOCUSABLE = 10;
+
+ /** Indicates this object currently has the keyboard focus.
+ */
+ const short FOCUSED = 11;
+
+ /** Indicates the orientation of this object is horizontal.
+ */
+ const short HORIZONTAL = 12;
+
+ /** Indicates this object is minimized and is represented only by an
+ icon.
+ */
+ const short ICONIFIED = 13;
+
+ /** Sometimes UI elements can have a state indeterminate.
+ This can happen e.g. if a check box reflects the bold state of text in a text processor.
+ When the current selection contains text which is bold and also text which is not bold, the state is indeterminate.
+
+ */
+ const short INDETERMINATE = 14;
+
+ /** Indicates the most (all) children are transient and it is not
+ necessary to add listener to the children. Only the active descendant
+ (given by the event) should be not transient to make it possible
+ to add listener to this object and recognize changes in this object.
+
+ The state is added to make a performance improvement. Now it is no
+ longer necessary to iterate over all children to find out whether
+ they are transient or not to decide whether to add listener or not.
+ If there is an object with this state no one should iterate over the
+ children to add listener. Only the active descendant should get
+ listener if it is not transient.
+ */
+ const short MANAGES_DESCENDANTS = 15;
+
+ /** Object is modal.
+
+ <p>Indicates something must be done with this object before the user
+ can interact with an object in a different window.</p>
+ */
+ const short MODAL = 16;
+
+ /** Indicates this (text) object can contain multiple lines of text
+ */
+ const short MULTI_LINE = 17;
+
+ /** More than one child may be selected at the same time.
+
+ <p>Indicates this object allows more than one of its children to be
+ selected at the same time.</p>
+ */
+ const short MULTI_SELECTABLE = 18;
+
+ /** Indicates this object paints every pixel within its rectangular
+ region.
+ */
+ const short OPAQUE = 19;
+
+ /** Indicates this object is currently pressed.
+ */
+ const short PRESSED = 20;
+
+ /** Indicates the size of this object is not fixed.
+ */
+ const short RESIZABLE = 21;
+
+ /** Object is selectable.
+
+ <p>Indicates this object is the child of an object that allows its
+ children to be selected, and that this child is one of those
+ children that can be selected.</p>
+ */
+ const short SELECTABLE = 22;
+
+ /** Object is selected.
+
+ <p>Indicates this object is the child of an object that allows its
+ children to be selected, and that this child is one of those
+ children that has been selected.</p>
+ */
+ const short SELECTED = 23;
+
+ /** Indicates this object is sensitive.
+ */
+ const short SENSITIVE = 24;
+
+ /** Object is displayed on the screen.
+
+ <p>An object has set the SHOWING state if itself and
+ all of its parents have set the VISIBLE state and it
+ lies at least partly inside the visible area of its parent. It is,
+ though, not necessarily visible on the screen because it may be
+ occluded by other objects.</p>
+ */
+ const short SHOWING = 25;
+
+ /** Indicates this (text) object can contain only a single line of text
+ */
+ const short SINGLE_LINE = 26;
+
+ /** Object information is stale and might not be up to date
+
+ <p>Indicates that the information that is returned from this object
+ might be out of sync with the application.</p>
+ */
+ const short STALE = 27;
+
+ /** Indicates this object is transient.
+ */
+ const short TRANSIENT= 28;
+
+ /** Indicates the orientation of this object is vertical.
+ */
+ const short VERTICAL = 29;
+
+ /** Object wants to be displayed on the screen.
+
+ <p>A set VISIBLE state indicates that an object wants
+ to be displayed on the screen. It is displayed, as indicated by a
+ set SHOWING state, if all of its parents have also
+ set the VISIBLE state and the object lies at least
+ partly in the visible area of its parent.</p>
+ */
+ const short VISIBLE = 30;
+
+ // The following constants have been introduced with the IA2 CWS:
+
+ // MOVEABLE only exists in MSAA/IA2, but not in ATK/JAA/NSAccessibility.
+ /** Indicates the position of the object is not fixed.
+ */
+ const short MOVEABLE = 31;
+
+ // DEFAULT exists in MSAA/IA2, and now also in ATK and NSAccessibility.
+ /** Indicates the object is the default button in a window
+ */
+ const short DEFAULT = 32;
+
+ // OFFSCREEN only exists in MSAA/IA2, but not in ATK/JAA/NSAccessibility.
+ // MT: Shouldn't this be the same like !SHOWING in UAA/ATK?
+ /** Indicates the object is outside of the screen area
+ */
+ const short OFFSCREEN = 33;
+
+ // COLLAPSED exists in MSAA/IA2, and now also in JAA, but not in ATK/NSAccessibility. In NSAccessibility, there is a notification for collapse.
+ // In opposite to MSAA, UAA has EXPANDABLE, so EXPANDABLE && !EXPANDED should be the same like COLLAPSED.
+ /** Indicates that the object is collapsed
+ */
+ const short COLLAPSE = 34;
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/AccessibleTableModelChange.idl b/offapi/com/sun/star/accessibility/AccessibleTableModelChange.idl
new file mode 100644
index 000000000..236c44014
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/AccessibleTableModelChange.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_accessibility_AccessibleTableModelChange_idl__
+#define __com_sun_star_accessibility_AccessibleTableModelChange_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module accessibility {
+
+/** This structure lets an event give access to a change of a table model.
+
+ <p>The data members of the AccessibleTableModelChange structure
+ give access to the type and cell range of a change of a table model. See
+ AccessibleTableModelChangeType for details of the change
+ type. The range of the affected rows, columns, and/or cells can be
+ obtained by accessing the other four data members.</p>
+
+ @since OOo 1.1.2
+*/
+struct AccessibleTableModelChange
+{
+ /** The type of the event as defined in
+ AccessibleTableModelChangeType.
+
+ <p>The model change either inserted or removed one or more rows
+ or columns or modified the content of a number of cells. See
+ AccessibleTableModelChangeType for details of the type
+ of the model change.</p>
+ */
+ short Type;
+
+ /** The lowest index of a row that has changed.
+
+ <p>The first row that has been changed or that contains
+ modified cells.</p>
+ */
+ long FirstRow;
+
+ /** The highest index of a row that has changed.
+
+ <p>The last row that has been changed or that contains modified
+ cells.</p>
+ */
+ long LastRow;
+
+ /** The lowest index of a column that has changed.
+
+ <p>The first column that has been changed or contains modified
+ cells.</p>
+ */
+ long FirstColumn;
+
+ /** The highest index of a column that has changed.
+
+ <p>The last column that has been changed or contains modified
+ cells.</p>
+ */
+ long LastColumn;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/AccessibleTableModelChangeType.idl b/offapi/com/sun/star/accessibility/AccessibleTableModelChangeType.idl
new file mode 100644
index 000000000..02164df97
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/AccessibleTableModelChangeType.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_accessibility_AccessibleTableModelChangeType_idl__
+#define __com_sun_star_accessibility_AccessibleTableModelChangeType_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module accessibility {
+
+/** Type of a change made to a table model.
+
+ <p>The value of this constants group are used by the
+ AccessibleTableModelChange structure to specify the
+ type of change that has been made to a table model.</p>
+
+ <p>Four of the constants,
+ AccessibleTableModelChangeType::ROWS_INSERTED,
+ AccessibleTableModelChangeType::COLUMNS_INSERTED,
+ AccessibleTableModelChangeType::ROWS_REMOVED and
+ AccessibleTableModelChangeType::COLUMNS_REMOVED describe
+ changes to the table's geometry. One or more rows or columns have
+ been inserted or removed. In contrast, the remaining constant
+ AccessibleTabelModelChangeType::UPDATE specifies a
+ change of the table's content.</p>
+
+ @since OOo 1.1.2
+*/
+constants AccessibleTableModelChangeType
+{
+ /** Some of the table data has changed.
+
+ <p>The number of rows and columns remains unchanged. Only (some of)
+ the content of the cells in the range that is specified by the
+ fields of the AccessibleTableModelChange structure have
+ been changed.</p>
+ */
+ const short UPDATE = 3;
+
+ /** One or more rows have been inserted.
+
+ <p>Use the fields of the AccessibleTableModelChange
+ structure to determine the indices of the rows that
+ have been inserted.
+ Column indices should be set to -1.</p>
+
+ @since LibreOffice 7.4
+ */
+ const short ROWS_INSERTED = 4;
+
+ /** One or more columns have been inserted.
+
+ <p>Use the fields of the AccessibleTableModelChange
+ structure to determine the indices of the columns that
+ have been inserted.
+ Row indices should be set to -1.</p>
+
+ @since LibreOffice 7.4
+ */
+ const short COLUMNS_INSERTED = 5;
+
+ /** One or more rows have been removed.
+
+ <p>Use the fields of the AccessibleTableModelChange
+ structure to determine the indices of the rows that
+ have been removed.
+ Column indices should be set to -1.</p>
+
+ @since LibreOffice 7.4
+ */
+ const short ROWS_REMOVED = 6;
+
+ /** One or more columns have been removed.
+
+ <p>Use the fields of the AccessibleTableModelChange
+ structure to determine the indices of the columns that
+ have been removed.
+ Row indices should be set to -1.</p>
+
+ @since LibreOffice 7.4
+ */
+ const short COLUMNS_REMOVED = 7;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/AccessibleTextType.idl b/offapi/com/sun/star/accessibility/AccessibleTextType.idl
new file mode 100644
index 000000000..17871d1a5
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/AccessibleTextType.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_accessibility_AccessibleTextType_idl__
+#define __com_sun_star_accessibility_AccessibleTextType_idl__
+
+module com { module sun { module star { module accessibility {
+
+
+/** Collection of types of text portions.
+
+ <p>This collection describes the types of text portions that can be
+ accessed with the help of the methods of the
+ XAccessibleText interface.</p>
+
+ @since OOo 1.1.2
+*/
+constants AccessibleTextType
+{
+ /** Single character.
+
+ <p>Indicates that single (multibyte) characters are used.</p>
+ */
+ const short CHARACTER = 1;
+
+ /** Single word.
+
+ <p>Indicates that single words are used. The definition of what a
+ word is, is implementation and language/locale dependent. While in
+ English a word is ended by a space or a special character like a
+ comma or a period, this is not necessarily true in other
+ languages.</p>
+ */
+ const short WORD = 2;
+
+ /** Single sentence.
+
+ <p>Indicates that single sentences are used. The definition of what
+ a sentence is, is implementation and language/locale dependent.
+ While in English a sentence is ended by a period, this is not
+ necessarily true in other languages.</p>
+ */
+ const short SENTENCE = 3;
+
+ /** Single paragraph.
+
+ <p>Indicates that single paragraphs are used. The definition of
+ what a paragraph is, is implementation and language/locale
+ dependent.</p>
+ */
+ const short PARAGRAPH = 4;
+
+ /** Single line.
+
+ <p>Indicates that single lines, as displayed on the screen, are
+ used. In contrast to the constants CHARACTER,
+ WORD, SENTENCE, and
+ PARAGRAPH which are content oriented this constant is
+ view oriented. It can be used to retrieve hyphenation
+ information.</p>
+ */
+ const short LINE = 5;
+
+ /** Single glyph.
+
+ <p>Glyphs are runs of one or more (multibyte) characters which are
+ displayed as one symbol.</p>
+ */
+ const short GLYPH = 6;
+
+ /** Attribute run.
+
+ <p>Each attribute run is a character run of maximal length where all
+ characters have the same attributes set.</p>
+ */
+ const short ATTRIBUTE_RUN = 7;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/IllegalAccessibleComponentStateException.idl b/offapi/com/sun/star/accessibility/IllegalAccessibleComponentStateException.idl
new file mode 100644
index 000000000..053ed162b
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/IllegalAccessibleComponentStateException.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_accessibility_IllegalAccessibleComponentStateException_idl__
+#define __com_sun_star_accessibility_IllegalAccessibleComponentStateException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+module com { module sun { module star { module accessibility {
+
+/** Indicates invalid or unavailable state information.
+
+ <p>This exception is thrown to indicate the an accessibility component
+ has been queried for state information that it can not provide. Used by
+ XAccessibleContext::getLocale().</p>
+
+ @see XAccessibleContext::getLocale()
+
+ @since OOo 1.1.2
+*/
+exception IllegalAccessibleComponentStateException
+ : ::com::sun::star::uno::Exception
+{
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/MSAAService.idl b/offapi/com/sun/star/accessibility/MSAAService.idl
new file mode 100644
index 000000000..5d59596ae
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/MSAAService.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_accessibility_Accessible_idl__
+#define __com_sun_star_accessibility_Accessible_idl__
+
+#include <com/sun/star/accessibility/XMSAAService.idl>
+
+module com { module sun { module star { module accessibility {
+
+service MSAAService: XMSAAService;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/TextSegment.idl b/offapi/com/sun/star/accessibility/TextSegment.idl
new file mode 100644
index 000000000..e75c77851
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/TextSegment.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_accessibility_TextSegment_idl__
+#define __com_sun_star_accessibility_TextSegment_idl__
+
+module com { module sun { module star { module accessibility {
+
+/** This structure describes a text segment that is embedded in a larger
+ portion of text. It is used for example by the
+ XAccessibleText interface to describe a text portion that
+ was inserted into or deleted from an accessible text.
+
+ <p>The indices TextSegment::SegmentStart and
+ TextSegment::SegmentEnd refer to the enclosing text.
+ The TextSegment::SegmentText member contains the text
+ between these two indices including the start index but not the end
+ index. With it you can use this structure without having to
+ access the XAccessibleText interface that represents the
+ enclosing text.</p>
+
+ <p>An empty text segment is expressed by
+ TextSegment::SegmentStart and
+ TextSegment::SegmentEnd set to the same value. While a
+ value of -1 signals an error (like the request for a word after the last
+ character of a text) all other values define the empty string at that
+ position.</p>
+
+ <p>The #SegmentText member is a copy of the
+ corresponding text segment of the enclosing text. Modifying this
+ structure does not alter the enclosing text.</p>
+
+ @see XAccessibleText
+
+ @since OOo 1.1.2
+*/
+
+struct TextSegment
+{
+ /** A copy of the text segment of the enclosing text delimited by the
+ text indices TextSegment::SegmentStart and
+ TextSegment::SegmentEnd. Modifying it does not
+ alter the enclosing text.
+ */
+ string SegmentText;
+
+ /** Index of the first character of the text segment represented by this
+ structure. The index refers to the enclosing text.
+ */
+ long SegmentStart;
+
+ /** Index of the character directly behind the last character of the
+ text segment represented by this structure. The index refers to the
+ enclosing text.
+ */
+ long SegmentEnd;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/XAccessible.idl b/offapi/com/sun/star/accessibility/XAccessible.idl
new file mode 100644
index 000000000..f1548fd51
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessible.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_accessibility_XAccessible_idl__
+#define __com_sun_star_accessibility_XAccessible_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module accessibility {
+
+ interface XAccessibleContext;
+
+/** This interface has to be implemented by any class that wants to be
+ accessible.
+
+ <p>It is used to provide access to the XAccessibleContext
+ interface but allows at the same time that the interface is implemented
+ by another class.</p>
+
+ <p>The distinction between the interfaces XAccessible and
+ XAccessibleContext makes it possible to split up the
+ implementation of the
+ class that is made accessible and the actual accessibility code into two
+ (mostly) independent parts. The only necessary dependence is the
+ XAccessible::getAccessibleContext() function
+ that returns the accessible context. This one-way link has to be
+ persistent in some sense: As long as there is at least one reference to
+ a specific XAccessibleContext object the
+ XAccessible object has to return the same context for every
+ call to XAccessible::getAccessibleContext().
+ This is necessary to allow the use of object identity for comparing
+ accessibility contexts for being equal.</p>
+
+ @see AccessibleContext
+
+ @since OOo 1.1.2
+*/
+interface XAccessible : ::com::sun::star::uno::XInterface
+{
+ /** Returns the AccessibleContext associated with this object.
+
+ <p>The idea to let this interface only return an
+ XAccessibleContext instead of directly supporting its
+ functions is to allow the separation of the implementation of the
+ functions that make a class accessible from the implementation of
+ that class. You may, of course, implement XAccessible
+ and XAccessibleContext in one class.</p>
+
+ @return
+ A reference to the object that contains the actual accessibility
+ information.
+
+ @see AccessibleContext
+ */
+ XAccessibleContext getAccessibleContext ();
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/XAccessibleAction.idl b/offapi/com/sun/star/accessibility/XAccessibleAction.idl
new file mode 100644
index 000000000..509d8a294
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleAction.idl
@@ -0,0 +1,113 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_accessibility_XAccessibleAction_idl__
+#define __com_sun_star_accessibility_XAccessibleAction_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+
+module com { module sun { module star { module accessibility {
+
+ interface XAccessibleKeyBinding;
+
+/** Implement this interface to give access to actions that can be executed
+ for accessible objects.
+
+ <p>Every accessible object that can be manipulated beyond its methods
+ exported over the accessibility API should support this interface to
+ expose all actions that it can perform. Each action can be performed or
+ be queried for a description or associated key bindings.</p>
+
+ @since OOo 1.1.2
+*/
+interface XAccessibleAction : ::com::sun::star::uno::XInterface
+{
+ /** Returns the number of accessible actions available in this object.
+
+ <p>If there are more than one, the first one is considered the
+ "default" action of the object.</p>
+
+ @return
+ The returned value of the number of actions is zero if there are
+ no actions.
+ */
+ long getAccessibleActionCount ();
+
+ /** Perform the specified Action on the object.
+
+ @param nIndex
+ This index specifies the action to perform. If it lies outside
+ the valid range `FALSE` is returned and no action is performed.
+ @return
+ Returns `TRUE` if the action was successfully performed. If
+ the action could not be performed successfully `FALSE` is
+ returned.
+
+ @throws IndexOutOfBoundsException
+ If no action with the given index exists then an
+ ::com::sun::star::lang::IndexOutOfBoundsException
+ exception is thrown.
+ */
+ boolean doAccessibleAction ([in] long nIndex)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ /** Returns a description of the specified action of the object.
+
+ @param nIndex
+ This index specifies the action of which to return a
+ description. If it lies outside the valid range an empty string
+ is returned.
+
+ @return
+ The returned value is a localized string of the specified action.
+
+ @throws IndexOutOfBoundsException
+ If the given index lies not in the valid range then an
+ ::com::sun::star::lang::IndexOutOfBoundsException
+ exception is thrown.
+ */
+ string getAccessibleActionDescription ([in] long nIndex)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ /** Returns a key binding object, if there is one, associated with the
+ specified action. Note that there can be several alternative key
+ bindings for an action. See XAccessibleKeyBinding for
+ more information about how key bindings are represented.
+
+ @param nIndex
+ This index specifies the action of which to return the key
+ binding.
+
+ @return
+ The returned object describes a set of key bindings associated
+ with the specified action.
+
+ @throws IndexOutOfBoundsException
+ if the given index is not valid.
+ */
+ XAccessibleKeyBinding getAccessibleActionKeyBinding ([in] long nIndex)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/XAccessibleComponent.idl b/offapi/com/sun/star/accessibility/XAccessibleComponent.idl
new file mode 100644
index 000000000..181ab31ba
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleComponent.idl
@@ -0,0 +1,214 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_accessibility_XAccessibleComponent_idl__
+#define __com_sun_star_accessibility_XAccessibleComponent_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/awt/XFocusListener.idl>
+#include <com/sun/star/awt/XFont.idl>
+#include <com/sun/star/awt/FontDescriptor.idl>
+#include <com/sun/star/awt/Point.idl>
+#include <com/sun/star/awt/Rectangle.idl>
+#include <com/sun/star/awt/Size.idl>
+#include <com/sun/star/util/Color.idl>
+
+module com { module sun { module star { module accessibility {
+
+ interface XAccessible;
+
+/** The XAccessibleComponent interface should be supported by
+ any class that can be rendered on the screen.
+
+ <p>This interface provides the standard mechanism for an assistive
+ technology to retrieve information concerning the graphical
+ representation of an object. This interface combines methods from
+ the Java interfaces <code>javax.accessibility.AccessibleComponent</code>
+ and <code>javax.accessibility.AccessibleExtendedComponent</code>.</p>
+
+ <p>Further information about the graphical appearance of an object can
+ be expressed with the XAccessibleExtendedComponent
+ interface.</p>
+
+ <p>Coordinates used by the functions of this interface are specified in
+ different coordinate systems. Their scale is the same and is equal to
+ that of the screen coordinate system. In other words all coordinates
+ are measured in pixel. They differ in their respective origin:
+ <ul><li>The screen coordinate system has its origin in the upper left
+ corner of the current screen. Used by the
+ getLocationOnScreen() function.</li>
+ <li>The origin of the parent coordinate system is the upper left corner
+ of the parent's bounding box. With no parent the screen coordinate
+ system is used instead. Used by the getLocation()
+ function.</li>
+ <li>The object coordinate system is relative to the upper left corner of
+ an object's bounding box. It is relative to itself so to speak. Used
+ by the containsPoint() and
+ getAccessibleAtPoint() functions.</li>
+ </ul></p>
+
+ <p>Key bindings which are associated with an accessible component can be
+ retrieved at the component's action. The reason for this is that key
+ bindings are associated with actions and directly with a component.
+ This distinction becomes important when there are more than one action.
+ To get access to the key bindings you have to get the
+ XAccessibleAction interface of a component, provided that
+ it is supported, and use the XAccessibleAction::getAccessibleKeyBinding().
+ </p>
+
+ @see XAccessibleExtendedComponent
+
+ @since OOo 1.1.2
+*/
+interface XAccessibleComponent : ::com::sun::star::uno::XInterface
+{
+ /** Tests whether the specified point lies within this object's bounds.
+
+ <p>The test point's coordinates are defined relative to the
+ coordinate system of the object. That means that when the object is
+ an opaque rectangle then both the points (0,0) and (with-1,height-1)
+ would yield a `TRUE` value.</p>
+
+ @param Point
+ Coordinates of the point to test. The origin of the coordinate
+ system is the upper left corner of the object's bounding box as
+ returned by the getBounds(). The scale of the
+ coordinate system is identical to that of the screen coordinate
+ system.
+
+ @return
+ Returns `TRUE` if the point lies within or on the object's bounding
+ box and `FALSE` otherwise.
+ */
+ boolean containsPoint ([in] ::com::sun::star::awt::Point Point);
+
+ /** Returns the Accessible child that is rendered under the given point.
+
+ <p>The test point's coordinates are defined relative to the
+ coordinate system of the object. That means that when the object is
+ an opaque rectangle then both the points (0,0) and (with-1,height-1)
+ would yield a `TRUE` value.</p>
+
+ @param Point
+ Coordinates of the test point for which to find the Accessible
+ child. The origin of the coordinate system is the upper left
+ corner of the object's bounding box as returned by the
+ getBounds(). The scale of the coordinate
+ system is identical to that of the screen coordinate system.
+
+ @return
+ If there is one child which is rendered so that its bounding box
+ contains the test point then a reference to that object is
+ returned. If there is more than one child which satisfies that
+ condition then a reference to that one is returned that is
+ painted on top of the others. If no there is no child which is
+ rendered at the test point an empty reference is returned.
+ */
+ XAccessible getAccessibleAtPoint ([in] ::com::sun::star::awt::Point Point);
+
+ /** Returns the bounding box of this object.
+
+ <p>The returned bounding box has the form of a rectangle. Its
+ coordinates are relative to the object's parent coordinate system.
+ Note that the two methods getLocation() and
+ getSize() return the same information. With method
+ getLocationOnScreen() you can get the bound box
+ position in screen coordinates.</p>
+
+ @return
+ The coordinates of the returned rectangle are relative to this
+ object's parent or relative to the screen on which this object
+ is rendered if it has no parent. If the object is not on any
+ screen the returned rectangle is empty and located at position
+ (0,0).
+ */
+ ::com::sun::star::awt::Rectangle getBounds ();
+
+ /** Returns the location of the upper left corner of the object's
+ bounding box relative to the parent.</p>
+
+ <p>The coordinates of the bounding box are given relative to the
+ parent's coordinate system.</p>
+
+ @return
+ The coordinates of the returned position are relative to this
+ object's parent or relative to the screen on which this object
+ is rendered if it has no parent. If the object is not on any
+ screen the returned position is (0,0).
+ */
+ ::com::sun::star::awt::Point getLocation ();
+
+ /** Returns the location of the upper left corner of the object's
+ bounding box in screen coordinates.
+
+ <p>This method returns the same point as does the method
+ getLocation(). The difference is that the
+ coordinates are absolute screen coordinates of the screen to which
+ the object is rendered instead of being relative to the object's
+ parent.</p>
+
+ @return
+ The coordinates of the returned position are relative to the
+ screen on which this object is rendered. If the object is not
+ on any screen the returned position is (0,0).
+ */
+ ::com::sun::star::awt::Point getLocationOnScreen ();
+
+ /** Returns the size of this object's bounding box.
+
+ @return
+ The returned size is the size of this object or empty if it is
+ not rendered on any screen.
+ */
+ ::com::sun::star::awt::Size getSize();
+
+ /** Grabs the focus to this object.
+
+ <p>If this object can not accept the focus,
+ i.e. isFocusTraversable() returns `FALSE` for this
+ object then nothing happens. Otherwise the object will attempt to
+ take the focus. Nothing happens if that fails, otherwise the object
+ has the focus. This method is called <code>requestFocus</code> in
+ the Java Accessibility API 1.4.</p>
+ */
+ void grabFocus ();
+
+ /** Returns the foreground color of this object.
+
+ @return
+ The returned color is the foreground color of this object or, if
+ that is not supported, the default foreground color.
+ */
+ ::com::sun::star::util::Color getForeground ();
+
+ /** Returns the background color of this object.
+
+ @return
+ The returned color is the background color of this object or, if
+ that is not supported, the default background color.
+ */
+ ::com::sun::star::util::Color getBackground ();
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/XAccessibleContext.idl b/offapi/com/sun/star/accessibility/XAccessibleContext.idl
new file mode 100644
index 000000000..fb3b9c9ca
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleContext.idl
@@ -0,0 +1,198 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_accessibility_XAccessibleContext_idl__
+#define __com_sun_star_accessibility_XAccessibleContext_idl__
+
+#include <com/sun/star/accessibility/IllegalAccessibleComponentStateException.idl>
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#include <com/sun/star/beans/XPropertyChangeListener.idl>
+#include <com/sun/star/lang/Locale.idl>
+
+module com { module sun { module star { module accessibility {
+
+ interface XAccessible;
+ interface XAccessibleRelationSet;
+ interface XAccessibleSelection;
+ interface XAccessibleStateSet;
+
+/** Implement this interface for exposing various aspects of a class's
+ content.
+
+ <p>This interface serves two purposes: On the one hand it gives access
+ to the tree structure in which all accessible objects are
+ organized. Each node in this tree supports this interface. On the other
+ hand it gives access to objects that expose the represented content.
+ That are role, state, name, description, and relations to other objects.
+ Take an OK button of a dialog as an example. Its role is
+ AccessibleRole::BUTTON, its name is "OK", and its description
+ is something like "Accepts all changes made in the dialog".</p>
+
+ @since OOo 1.1.2
+*/
+interface XAccessibleContext : ::com::sun::star::uno::XInterface
+{
+ /** Return the number of children.
+
+ <p>Returns the number of accessible children of the object.</p>
+
+ @return
+ The returned value is non-negative.
+ */
+ long getAccessibleChildCount();
+
+ /** Returns the i-th child of this object.
+
+ <p>The order in which the children are enumerated is implementation
+ dependent.</p>
+
+ @param i
+ The index may have any value. If it is outside the range from 0
+ to n-1, with n being the number of children as returned by
+ XAccessibleContext::getAccessibleChild() an empty
+ reference is returned.
+ @return
+ If the object has an i-th child the returned value is a
+ reference to that child. Otherwise an empty reference is
+ returned.
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ If no child with the given index exists then an
+ ::com::sun::star::lang::IndexOutOfBoundsException
+ exception is thrown.
+ */
+ XAccessible getAccessibleChild ([in] long i)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ /** Returns the parent of this object.
+
+ <p>This function may be called for every node, including the root
+ node, of the accessible tree.</p>
+
+ @return
+ The returned reference points to a valid object for all but the
+ root node. If called for the root node an empty reference is
+ returned.
+ */
+ XAccessible getAccessibleParent ();
+
+ /** Returns the index of this object in its accessible parent.
+
+ <p>If you call getAccessibleChild on the object's parent with the
+ index returned by this function you get a reference to this
+ object.</p>
+
+ @return
+ The returned index is zero based.
+ */
+ long getAccessibleIndexInParent ();
+
+ /** Returns the role of this object.
+
+ <p>The role is a generic description of an objects function. The
+ relation between role and name is similar to the relation between
+ class and object.</p>
+
+ @return
+ The returned value is a role defined in the enumeration
+ AccessibleRole.
+
+ @see AccessibleRole
+ for a list of the available roles.
+ */
+ short getAccessibleRole ();
+
+ /** Returns the object's description.
+
+ <p>Returns the object's localized description. The description should
+ complement the more generic descriptions given by an object's role
+ and name.</p>
+
+ @return
+ The returned string is the object's localized description.
+ */
+ string getAccessibleDescription ();
+
+ /** Return the object's localized name.
+
+ <p>See XAccessibleContext::getAccessibleRole()'s
+ documentation for the relation between an object's name and role.
+ Names should be unique, at least between children of the same
+ parent, although the uniqueness is neither enforced nor used inside
+ the API.</p>
+
+ @return
+ The returned string is the object's localized name.
+ */
+ string getAccessibleName ();
+
+ /** Returns the set of relations defined for this object.
+
+ <p>The returned set of relations is a copy of this object's relation
+ set: changing the returned object does not change this object's
+ relations.</p>
+
+ <p>There are two ways to represent an empty list of relations:
+ Return an empty reference or return a valid object that contains an
+ empty list.
+
+ @return
+ The returned value is either an empty reference or a reference to
+ a valid object that represents a copy of the objects list of
+ relations.
+ */
+ XAccessibleRelationSet getAccessibleRelationSet ();
+
+ /** Returns the set of states that are currently active for this
+ object.
+
+ <p>The returned state set is a copy: Changing the returned state set
+ will not be reflected by changing the object's set of states. See
+ the documentation of XAccessibleStateSet for a
+ description of the individual states.</p>
+
+ @return
+ A reference to this object's state set or an empty reference if
+ states are not supported.
+
+ @see XAccessibleStateSet
+ */
+ XAccessibleStateSet getAccessibleStateSet ();
+
+ /** Returns the locale of the component.
+
+ <p>This locale is used for example to determine the language to use
+ for the name and description texts.</p>
+
+ @return
+ If this object does not have a locale, the locale of its parent
+ is returned. If it does not have (yet) a parent it throws the
+ exception IllegalAccessibleComponentStateException.
+
+ @throws IllegalAccessibleComponentStateException
+ when this object does not (yet) have a parent.
+ */
+ ::com::sun::star::lang::Locale getLocale ()
+ raises (IllegalAccessibleComponentStateException);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/XAccessibleContext2.idl b/offapi/com/sun/star/accessibility/XAccessibleContext2.idl
new file mode 100644
index 000000000..e9d4feae1
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleContext2.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_accessibility_XAccessibleContext2_idl__
+#define __com_sun_star_accessibility_XAccessibleContext2_idl__
+
+module com { module sun { module star { module accessibility {
+
+/** Implement this interface for exposing more aspects of a class's
+ content.
+
+ <p>This is an extension of XAccessibleContext to add getAccessibleId().</p>
+
+ @since LibreOffice 6.3
+*/
+interface XAccessibleContext2 : ::com::sun::star::accessibility::XAccessibleContext
+{
+ /** Return the object's identifier.
+
+ <p>This is not meant to be presented to the user, but to be an ID
+ which is stable over application development. Typically, this is
+ the gtkbuilder ID. Such an ID can then be used to identify a given
+ well-known accessible object independently from the current locale,
+ user-visible labelling, or dialog structure. This can then be used for
+ tailored screen reading (e.g. automatically announcing the content of a
+ well-known object), or for automatic regression testing (to check the
+ behavior of well-known objects). Uniqueness within the window is thus
+ desirable when returning a non-empty string.</p>
+
+ @return
+ The returned string is the object's identifier.
+ */
+ string getAccessibleId ();
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/XAccessibleContext3.idl b/offapi/com/sun/star/accessibility/XAccessibleContext3.idl
new file mode 100644
index 000000000..8bc4dee3d
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleContext3.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_accessibility_XAccessibleContext3_idl__
+#define __com_sun_star_accessibility_XAccessibleContext3_idl__
+
+module com { module sun { module star { module accessibility {
+
+ interface XAccessible;
+
+/** Implement this interface to speed up operations when iterating over large amounts of children.
+ *
+ @since LibreOffice 6.4
+*/
+interface XAccessibleContext3 : ::com::sun::star::uno::XInterface
+{
+ /** Return the children.
+
+ <p>The order in which the children are enumerated is implementation
+ dependent.</p>
+ */
+ sequence<XAccessible> getAccessibleChildren();
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/XAccessibleEditableText.idl b/offapi/com/sun/star/accessibility/XAccessibleEditableText.idl
new file mode 100644
index 000000000..f330ba0ec
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleEditableText.idl
@@ -0,0 +1,228 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_accessibility_XAccessibleEditableText_idl__
+#define __com_sun_star_accessibility_XAccessibleEditableText_idl__
+
+#include <com/sun/star/accessibility/XAccessibleText.idl>
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+
+module com { module sun { module star { module accessibility {
+
+/** Implement this interface to give read and write access to a text
+ representation.
+
+ <p>This interface is typically used in conjunction with the
+ XAccessibleText interface and extents it about the ability
+ to modify the text represented by that interface.</p>
+
+ @since OOo 1.1.2
+*/
+interface XAccessibleEditableText
+ : ::com::sun::star::accessibility::XAccessibleText
+{
+ /** Copies the text range into the clipboard.
+
+ <p>The specified text between and including the two given indices is
+ copied into the system clipboard and is deleted afterwards from the
+ text represented by this object. This is equivalent to calling
+ first XAccessibleText::copyText() and then
+ XAccessibleEditableText::deleteText() with the given
+ start and end indices.</p>
+
+ <p>The text indices are interpreted like those in the
+ XAccessibleText::getTextRange() method. </p>
+
+ @param nStartIndex
+ Start index of the text to moved into the clipboard.
+ The valid range is 0..length.
+
+ @param nEndIndex
+ End index of the text to moved into the clipboard.
+ The valid range is 0..length.
+
+ @return
+ Returns a flag that indicates whether the operation has been
+ executed successfully.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the indices are invalid
+ */
+ boolean cutText ([in] long nStartIndex, [in] long nEndIndex)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ /** Pastes text from the clipboard.
+
+ <p>The text in the system clipboard is pasted into the text
+ represented by this object at the given index. This method is
+ similar to the XAccessibleEditableText::insertText()
+ method. If the index is not valid then the system clipboard text is
+ not inserted.</p>
+
+ @param nIndex
+ Index at which to insert the text from the system clipboard into
+ the text represented by this object.
+ The valid range is 0..length.
+
+ @return
+ Returns a flag that indicates whether the operation has been
+ executed successfully.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the index is invalid
+ */
+ boolean pasteText ([in] long nIndex)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ /** Deletes a range of text.
+
+ <p>The text between and including the two given indices is deleted
+ from the text represented by this object.</p>
+
+ <p>The text indices are interpreted like those in the
+ XAccessibleText::getTextRange() method. </p>
+
+ @param nStartIndex
+ Start index of the text to be deleted.
+ The valid range is 0..length.
+
+ @param nEndIndex
+ End index of the text to be deleted.
+ The valid range is 0..length.
+
+ @return
+ Returns a flag that indicates whether the operation has been
+ executed successfully.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the indices are invalid
+ */
+ boolean deleteText ([in] long nStartIndex, [in] long nEndIndex)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ /** Inserts text at the specified position.
+
+ <p>The specified string is inserted at the given index into the text
+ represented by this object.</p>
+
+ @param sText
+ Text that is inserted.
+
+ @param nIndex
+ Index at which to insert the text.
+ The valid range is 0..length.
+
+ @return
+ Returns a flag that indicates whether the operation has been
+ executed successfully.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the indices are invalid
+ */
+ boolean insertText ([in] string sText, [in] long nIndex)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ /** Replaces text.
+
+ <p>The text between the two given indices is replaced
+ by the specified replacement string. This method is
+ equivalent to calling first
+ XAccessibleEditableText::deleteText() with the two
+ indices and afterwards calling
+ XAccessibleEditableText::insertText() with the
+ replacement text and the start index.</p>
+
+ <p>The text indices are interpreted like those in the
+ XAccessibleText::getTextRange() method. </p>
+
+ @param nStartIndex
+ Start index of the text to be replaced.
+ The valid range is 0..length.
+
+ @param nEndIndex
+ Start index of the text to be replaced.
+ The valid range is 0..length.
+
+ @param sReplacement
+ The Text that replaces the text between the given indices.
+
+ @return
+ Returns a flag that indicates whether the operation has been
+ executed successfully.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the indices are invalid
+ */
+ boolean replaceText ([in] long nStartIndex, [in] long nEndIndex,
+ [in] string sReplacement)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ /** Replaces the attributes of a text range by the given set of
+ attributes.
+
+ <p>Sets the attributes for the text between and including the two
+ given indices to those given. The old attributes of this text
+ portion are replaced by the new list of attributes.</p>
+
+ <p>The text indices are interpreted like those in the
+ XAccessibleText::getTextRange() method. </p>
+
+ @param nStartIndex
+ Start index of the text whose attributes are modified.
+ The valid range is 0..length.
+
+ @param nEndIndex
+ Start index of the text whose attributes are modified.
+ The valid range is 0..length.
+
+ @param aAttributeSet
+ Set of attributes that replaces the old list of attributes of
+ the specified text portion.
+
+ @return
+ Returns a flag that indicates whether the operation has been
+ executed successfully.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the indices are invalid
+ */
+ boolean setAttributes ([in] long nStartIndex, [in] long nEndIndex,
+ [in] sequence<::com::sun::star::beans::PropertyValue> aAttributeSet)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ /** Replaces the whole text with the given text.
+
+ <p>The text content of this object is set to the given string.</p>
+
+ @param sText
+ The new text that replaces the old text.
+
+ @return
+ Returns a flag that indicates whether the operation has been
+ executed successfully.
+ */
+ boolean setText ([in] string sText);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/XAccessibleEventBroadcaster.idl b/offapi/com/sun/star/accessibility/XAccessibleEventBroadcaster.idl
new file mode 100644
index 000000000..a8fa56ea4
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleEventBroadcaster.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_accessibility_XAccessibleEventBroadcaster_idl__
+#define __com_sun_star_accessibility_XAccessibleEventBroadcaster_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module accessibility {
+
+ interface XAccessibleEventListener;
+
+/** makes it possible to register listeners which are called whenever
+ an accessibility event (see AccessibleEventObject) occurs.
+
+ @see AccessibleEventObject
+ @see XAccessibleEventListener
+
+ @since OOo 1.1.2
+ */
+interface XAccessibleEventBroadcaster: ::com::sun::star::uno::XInterface
+{
+
+ /** registers the given XAccessibleEventListener.
+ */
+ void addAccessibleEventListener( [in] XAccessibleEventListener xListener );
+
+
+ /** unregisters the given XAccessibleEventListener.
+ */
+ void removeAccessibleEventListener( [in] XAccessibleEventListener xListener );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/XAccessibleEventListener.idl b/offapi/com/sun/star/accessibility/XAccessibleEventListener.idl
new file mode 100644
index 000000000..e1645c4e9
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleEventListener.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_accessibility_XAccessibleEventListener_idl__
+#define __com_sun_star_accessibility_XAccessibleEventListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+#include <com/sun/star/accessibility/AccessibleEventObject.idl>
+
+module com { module sun { module star { module accessibility {
+
+/** makes it possible to register a component as a listener, which is called whenever
+ an accessibility event occurs.
+
+ @see XAccessibleEventBroadcaster
+
+ @since OOo 1.1.2
+ */
+interface XAccessibleEventListener: ::com::sun::star::lang::XEventListener
+{
+
+ /** is called whenever an accessible event (see AccessibleEventObject) occurs.
+ */
+ void notifyEvent( [in] AccessibleEventObject aEvent );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/XAccessibleExtendedAttributes.idl b/offapi/com/sun/star/accessibility/XAccessibleExtendedAttributes.idl
new file mode 100644
index 000000000..11eb96327
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleExtendedAttributes.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_accessibility_XAccessibleAttribute_idl__
+#define __com_sun_star_accessibility_XAccessibleAttribute_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+
+module com { module sun { module star { module accessibility {
+
+interface XAccessibleExtendedAttributes : ::com::sun::star::uno::XInterface
+{
+ /* Returns the attribute of this object' formula */ // MT: I guess it's not formula only?
+ any getExtendedAttributes() raises (::com::sun::star::lang::IndexOutOfBoundsException);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/XAccessibleExtendedComponent.idl b/offapi/com/sun/star/accessibility/XAccessibleExtendedComponent.idl
new file mode 100644
index 000000000..a5af6c73b
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleExtendedComponent.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_accessibility_XAccessibleExtendedComponent_idl__
+#define __com_sun_star_accessibility_XAccessibleExtendedComponent_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/awt/XFocusListener.idl>
+#include <com/sun/star/awt/XFont.idl>
+#include <com/sun/star/awt/FontDescriptor.idl>
+#include <com/sun/star/awt/Point.idl>
+#include <com/sun/star/awt/Rectangle.idl>
+#include <com/sun/star/awt/Size.idl>
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+
+module com { module sun { module star { module accessibility {
+
+/** The XAccessibleExtendedComponent interface contains
+ additional methods to those of the XAccessibleComponent
+ interface. These methods provide information that is used not as often. The
+ division into two interfaces allows classes to support the more
+ frequently used methods of the XAccessibleComponent
+ interface and only support the XAccessibleExtendedComponent
+ interface if that makes sense for the class.
+
+ <p>This interface provides extended access to retrieve information
+ concerning the graphical representation of an object. This interface
+ combines methods from the Java interfaces
+ <code>javax.accessibility.AccessibleComponent</code> and
+ <code>javax.accessibility.AccessibleExtendedComponent</code>.</p>
+
+ @since OOo 1.1.2
+*/
+interface XAccessibleExtendedComponent : XAccessibleComponent
+{
+ /** Returns the font of this object.
+
+ @return
+ The returned reference to a font object is empty if a font is not
+ supported by this object.
+ */
+ ::com::sun::star::awt::XFont getFont ();
+
+ /** Returns the titled border text.
+
+ <p>This method stems from the Java interface
+ <code>AccessibleExtendedComponent</code>.</p>
+
+ @return
+ The returned value is the titled border text of the object or
+ empty if that is not supported.
+ */
+ string getTitledBorderText ();
+
+ /** Returns the tool tip text of this object.
+
+ <p>This method stems from the Java interface
+ <code>AccessibleExtendedComponent</code>.</p>
+
+ @return
+ Returns the localized tool tip text of the object. If tool tips
+ are not supported and empty string is returned.
+ */
+ string getToolTipText ();
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/XAccessibleGroupPosition.idl b/offapi/com/sun/star/accessibility/XAccessibleGroupPosition.idl
new file mode 100644
index 000000000..1c2ca50b7
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleGroupPosition.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_accessibility_XAccessibleGroupPosition_idl__
+#define __com_sun_star_accessibility_XAccessibleGroupPosition_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+
+module com { module sun { module star { module accessibility {
+
+interface XAccessibleGroupPosition : ::com::sun::star::uno::XInterface
+{
+ /* Returns the group position of the object */
+ sequence<long> getGroupPosition( [in] any accoject ) raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ /* Returns the hyperlink URL info of the object */
+ string getObjectLink( [in] any accoject ) raises (::com::sun::star::lang::IndexOutOfBoundsException);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/XAccessibleHyperlink.idl b/offapi/com/sun/star/accessibility/XAccessibleHyperlink.idl
new file mode 100644
index 000000000..067c529d6
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleHyperlink.idl
@@ -0,0 +1,131 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_accessibility_XAccessibleHyperlink_idl__
+#define __com_sun_star_accessibility_XAccessibleHyperlink_idl__
+
+#include <com/sun/star/accessibility/XAccessibleAction.idl>
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+
+module com { module sun { module star { module accessibility {
+
+/** Implement this interface to represent a hyperlink or a group of
+ hyperlinks.
+
+ <p>Single hyperlinks correspond to simple &lt;a href&gt; tags. Groups
+ of hyperlinks are contained in client side image maps. Linked objects
+ and anchors are implementation dependent. This interface inherits the
+ XAccessibleAction interface. Especially that interface's
+ XAccessibleAction::getActionCount() method is needed to
+ obtain a maximum value for the indices passed to the
+ XAccessibleHyperlink::getAccessibleActionAnchor() and
+ XAccessibleHyperlink::getAccessibleActionObject()
+ methods.</p>
+
+ <p>Furthermore, the object that implements this interface has to be
+ connected implicitly or explicitly with an object that implements the
+ XAccessibleText interface. The XAccessibleHyperlink::getStartIndex() and
+ XAccessibleHyperlink::getEndIndex() methods return
+ indices with respect to the text exposed by that interface.</p>
+
+ @since OOo 1.1.2
+*/
+interface XAccessibleHyperlink :
+ ::com::sun::star::accessibility::XAccessibleAction
+{
+ /** Returns an object that represents the link anchor, as appropriate
+ for that link.
+
+ <p>For an HTML link for example, this method would return the string
+ enclosed by the &lt&a href&gt; tag.</p>
+
+ @param nIndex
+ This index identifies the anchor when, as in the case of an
+ image map, there is more than one link represented by this
+ object. The valid maximal index can be determined by calling
+ the XAccessibleAction::getActionCount() method.
+
+ @return
+ If the index is not valid then an exception is thrown.
+ Otherwise it returns an implementation dependent value.
+ */
+ any getAccessibleActionAnchor ([in] long nIndex)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ /** Returns an object that represents the link anchor, as appropriate
+ for that link.
+
+ <p>For an HTML link for example, this method would return the URL of
+ the &lt&a href&gt; tag.</p>
+
+ @param nIndex
+ This index identifies the action object when, as in the case of
+ an image map, there is more than one link represented by this
+ object. The valid maximal index can be determined by calling
+ the XAccessibleAction::getActionCount() method.
+
+ @return
+ If the index is not valid then an exception is thrown.
+ Otherwise it returns an implementation dependent value.
+ */
+ any getAccessibleActionObject ([in] long nIndex)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ /** Returns the index at which the textual representation of the
+ hyperlink (group) starts.
+
+ <p>The returned value relates to the XAccessibleText
+ interface that owns this hyperlink.</p>
+
+ @return
+ The index relates to the text exposed by the
+ XAccessibleHypertext interface.
+ */
+ long getStartIndex ();
+
+ /** Returns the index at which the textual representation of the
+ hyperlink (group) ends.
+
+ <p>The returned value relates to the XAccessibleText
+ interface that owns this hyperlink.</p>
+
+ @return
+ The index relates to the text exposed by the
+ XAccessibleText interface.
+ */
+ long getEndIndex ();
+
+ /** Returns whether the document referenced by this links is
+ still valid.
+
+ <p>This is a volatile state that may change without further warning
+ like e.g. sending an appropriate event.</p>
+
+ @return
+ Returns `TRUE` if the referenced document is still valid and
+ `FALSE` otherwise.
+ */
+ boolean isValid ();
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/XAccessibleHypertext.idl b/offapi/com/sun/star/accessibility/XAccessibleHypertext.idl
new file mode 100644
index 000000000..24e87b0ea
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleHypertext.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_accessibility_XAccessibleHypertext_idl__
+#define __com_sun_star_accessibility_XAccessibleHypertext_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#include <com/sun/star/accessibility/XAccessibleText.idl>
+
+module com { module sun { module star { module accessibility {
+
+ interface XAccessibleHyperlink;
+
+
+/** Implement this interface to expose the hypertext structure of a document.
+
+ <p>The XAccessibleHypertext interface is the main interface
+ to expose hyperlinks in a document, typically a text document, that are
+ used to reference other (parts of) documents. For supporting the
+ XAccessibleHypertext::getLinkIndex() method of this
+ interface and other character related methods of the
+ XAccessibleHyperlink interface, it is necessary to also
+ support the XAccessibleText interface.</p>
+
+ @see XAccessibleHyperlink, XAccessibleText
+
+ @since OOo 1.1.2
+*/
+interface XAccessibleHypertext
+ : ::com::sun::star::accessibility::XAccessibleText
+{
+ /** Returns the number of links and link groups contained within this
+ hypertext document.
+
+ @return
+ The number of links and link groups within this hypertext
+ document. Returns 0 if there is no link.
+ */
+ long getHyperLinkCount ();
+
+ /** Return the specified link.
+
+ <p>The returned XAccessibleHyperlink object
+ encapsulates the hyperlink and provides several kinds of information
+ describing it.</p>
+
+ @param nLinkIndex
+ This index specifies the hyperlink to return.
+
+ @return
+ If the given index is valid, i.e. lies in the interval from 0
+ to the number of links minus one, a reference to the specified
+ hyperlink object is returned. If the index is invalid then an
+ empty reference is returned.
+ */
+ XAccessibleHyperlink getHyperLink ([in] long nLinkIndex)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+
+ /** Returns the index of the hyperlink that is associated with this
+ character index.
+
+ <p>In a HTML document this is the case when a &lt;a href&gt; tag
+ spans (includes) the given character index.</p>
+
+ @param nCharIndex
+ Index of the character for which to return the link index. If
+ the XAccessibleText interface is used to represent
+ the text containing the link, then the character index is only
+ valid if it is greater than or equal to zero and lower than the
+ number of characters in the text. See that interface's
+ documentation for more details.
+
+ @return
+ Returns the index of the hyperlink that is associated with this
+ character index, or throws an exception if there is no hyperlink
+ associated with this index.
+
+ @see XAccessibleText.
+ */
+ long getHyperLinkIndex ([in] long nCharIndex)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/XAccessibleImage.idl b/offapi/com/sun/star/accessibility/XAccessibleImage.idl
new file mode 100644
index 000000000..b63d182fb
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleImage.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_accessibility_XAccessibleImage_idl__
+#define __com_sun_star_accessibility_XAccessibleImage_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module accessibility {
+
+/** Implement this interface to represent images and icons.
+
+ <p>This interface is used for a representation of images like icons of
+ buttons. The corresponding interface of the Java Accessibility API is
+ AccessibleIcon. This interface lets you retrieve an image's size and
+ description.</p>
+
+ @since OOo 1.1.2
+*/
+interface XAccessibleImage : ::com::sun::star::uno::XInterface
+{
+ /** Returns the localized description of the image.
+
+ <p>It depends on the usage of an image whether the description
+ should express the image's function (e.g. for icons) or the actual
+ content of the image (e.g. for image maps or non-iconic images
+ embedded into a document.)</p>
+
+ @return
+ Returns a localized string that describes the image's function
+ or content.
+ */
+ string getAccessibleImageDescription ();
+
+ /** Returns the height of the image.
+
+ <p>The height is returned in units specified by the parents
+ coordinate system.</p>
+
+ @return
+ Returns the image's height with respect to the parent's
+ coordinate system.
+ */
+ long getAccessibleImageHeight ();
+
+ /** Returns the width of the image.
+
+ <p>The width is returned in units specified by the parents
+ coordinate system.</p>
+
+ @return
+ Returns the image's width with respect to the parent's
+ coordinate system.
+ */
+ long getAccessibleImageWidth ();
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/XAccessibleKeyBinding.idl b/offapi/com/sun/star/accessibility/XAccessibleKeyBinding.idl
new file mode 100644
index 000000000..9e03d7ddf
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleKeyBinding.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_accessibility_XAccessibleKeyBinding_idl__
+#define __com_sun_star_accessibility_XAccessibleKeyBinding_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/awt/KeyStroke.idl>
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+
+module com { module sun { module star { module accessibility {
+
+/** This interface can be used to represent any number of key bindings which
+ then can be associated to a certain action.
+
+ <p>There can be zero, one, or more key bindings. Each key binding consists
+ of a sequence of ::com::sun::star::awt::KeyStroke
+ objects. The association of an action with a key binding is established
+ by the XAccessibleAction interface returning an
+ XAccessibleKeyBinding object.</p>
+
+ <p>A key binding describes alternative ways how to invoke an action with
+ pressing one or more keys after each other. Each individual sequence of
+ key strokes </p>
+
+ @since OOo 1.1.2
+*/
+interface XAccessibleKeyBinding : ::com::sun::star::uno::XInterface
+{
+ /** Return the number of available key bindings.
+ @return
+ The returned value may be 0 to indicate that there are no key
+ bindings or the positive number of the available key bindings.
+ */
+ long getAccessibleKeyBindingCount ();
+
+ /** The returned sequence of key strokes describes one method to invoke
+ the associated action (the one from which you obtained the object at
+ which you called this method) by pressing keys. The keys specified
+ by each of the returned key strokes have to be pressed at the same
+ time (the Control-key and the A-key for example). The keys of
+ one key stroke have to be released before pressing those of the
+ next. The order of the key strokes in the sequence define the order
+ in which to press them.
+ @param nIndex
+ The index selects one of alternative key bindings. It has to
+ non-negative and smaller then the number of key bindings as
+ returned by the getAccessibleKeyBindingCount()
+ method.
+ @return
+ The returned sequence of key strokes specifies one way to invoke
+ the associated action. The sequence may be empty (but should
+ not be; better not to return such a key binding at all).
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the index is not valid.
+ */
+ sequence<::com::sun::star::awt::KeyStroke> getAccessibleKeyBinding ([in] long nIndex)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/XAccessibleMultiLineText.idl b/offapi/com/sun/star/accessibility/XAccessibleMultiLineText.idl
new file mode 100644
index 000000000..6b81009ab
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleMultiLineText.idl
@@ -0,0 +1,136 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_accessibility_XAccessibleMultiLineText_idl__
+#define __com_sun_star_accessibility_XAccessibleMultiLineText_idl__
+
+#include <com/sun/star/accessibility/XAccessibleText.idl>
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+
+module com { module sun { module star { module accessibility {
+
+/** Implement this interface to give provide a mapping between text index
+ and line numbers.
+
+ <p>This interface is typically used in conjunction with the
+ XAccessibleText interface and extents it with a notion
+ of line numbers</p>
+
+ @since OOo 3.0
+*/
+
+/// not yet published
+interface XAccessibleMultiLineText
+ : ::com::sun::star::accessibility::XAccessibleText
+{
+ /** Returns the line number at the specified index.
+
+ <p>For a text object that is spread over multiple lines, this method
+ provides a mapping from a text index to the corresponding line number.
+ </p>
+
+ @param nIndex
+ Index for which the line number should be returned.
+ The valid range is 0..length.
+
+ @return
+ Returns the line number of the specified text index.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the index is invalid.
+ */
+ long getLineNumberAtIndex([in] long nIndex)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ /** Returns the text of the specified line.
+
+ <p>Returns the substring of text that makes up the specified line
+ number.</p>
+
+ <p>The number of lines can be obtained by calling
+ XAccessibleMultiLineText::getLineNumberAtIndex()
+ with the index of the last character. In a loop, the last line
+ has been reached when TextSegment::SegmentEnd
+ of the returned value is equal to the index of the last
+ character of the text.</p>
+
+ @param nLineNo
+ The number of the line to return the substring from.
+ The valid range is 0..getLineNumberAtIndex(getCharacterCount()).
+
+ @return
+ Returns the requested text portion. This portion may be empty
+ or invalid when no appropriate text portion is found.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the line number is invalid
+ */
+
+ TextSegment getTextAtLineNumber([in] long nLineNo)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ /** Returns the text of the line in which the caret is located.
+
+ <p>The substring returned will most of the time be identical to
+ calling XAccessibleText::getTextAtIndex() with
+ the index returned by XAccessibleText::getCaretPosition()
+ and type AccessibleTextType::LINE beside the
+ following special case:</p>
+
+ <p>Some text implementations place the caret at the end of the current
+ line when the <b>End</b> key gets pressed. Since the index of this position
+ is identical to the one of the first character of the following line,
+ XAccessibleMultiLineText::getLineNumberAtIndex() will
+ return the line following the current one in this case.</p>
+
+ @return
+ Returns the requested text portion. This portion may be empty
+ or invalid if the paragraph object does not have a valid caret
+ position.
+ */
+
+ TextSegment getTextAtLineWithCaret();
+
+ /** Returns the number of the line in which the caret is located.
+
+ <p>The line number returned will most of the time be identical to
+ calling XAccessibleMultiLineText::getLineNumberAtIndex()
+ with the index returned by XAccessibleText::getCaretPosition()
+ beside the following special case:</p>
+
+ <p>Some text implementations place the caret at the end of the current
+ line when the <b>End</b> key gets pressed. Since the index of this position
+ is identical to the one of the first character of the following line,
+ XAccessibleMultiLineText::getLineNumberAtIndex() will
+ return the line following the current one in this case.</p>
+
+ @return
+ Returns the index of the line in which the caret is located or -1
+ if the paragraph does not have a valid caret position.
+ */
+
+ long getNumberOfLineWithCaret();
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/XAccessibleRelationSet.idl b/offapi/com/sun/star/accessibility/XAccessibleRelationSet.idl
new file mode 100644
index 000000000..95db6b1e5
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleRelationSet.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_accessibility_XAccessibleRelationSet_idl__
+#define __com_sun_star_accessibility_XAccessibleRelationSet_idl__
+
+#include <com/sun/star/accessibility/AccessibleRelation.idl>
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+
+module com { module sun { module star { module accessibility {
+
+/** Implement this interface to give access to an object's set of relations.
+
+ <p>Such relation are modeled with the AccessibleRelation
+ structure. This interface is used for representing sets of relations
+ between Accessible objects. Most of the convenience
+ methods of the corresponding AccessibleRelationSet interface of the Java
+ Accessibility API have been removed from this interface in order to
+ clean it up. These methods are add(),
+ addAll(), clear(), and
+ remove(). The other methods have been renamed to achieve
+ a greater conformance with the other accessibility interfaces.</p>
+
+ @since OOo 1.1.2
+*/
+interface XAccessibleRelationSet : ::com::sun::star::uno::XInterface
+{
+ /** Returns the number of relations in this relation set.
+
+ @return
+ Returns the number of relations or zero if there are none.
+ */
+ long getRelationCount ();
+
+ /** Returns the relation of this relation set that is specified by
+ the given index.
+
+ @param nIndex
+ This index specifies the relation to return.
+
+ @return
+ For a valid index, i.e. inside the range 0 to the number of
+ relations minus one, the returned value is the requested
+ relation. If the index is invalid then the returned relation
+ has the type INVALID.
+
+ */
+ AccessibleRelation getRelation ([in] long nIndex)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ /** Tests whether the relation set contains a relation matching the
+ specified key.
+
+ @param aRelationType
+ The type of relation to look for in this set of relations. This
+ has to be one of the constants of
+ AccessibleRelationType.
+
+ @return
+ Returns `TRUE` if there is a (at least one) relation of the
+ given type and `FALSE` if there is no such relation in the set.
+ */
+ boolean containsRelation ([in] short aRelationType);
+
+ /** Retrieve and return the relation with the given relation type.
+
+ @param aRelationType
+ The type of the relation to return. This has to be one of the
+ constants of AccessibleRelationType.
+
+ @return
+ If a relation with the given type could be found than (a copy
+ of) this relation is returned. Otherwise a relation with the
+ type INVALID is returned.
+ */
+ AccessibleRelation getRelationByType ([in] short aRelationType);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/XAccessibleSelection.idl b/offapi/com/sun/star/accessibility/XAccessibleSelection.idl
new file mode 100644
index 000000000..0d9d18820
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleSelection.idl
@@ -0,0 +1,153 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_accessibility_XAccessibleSelection_idl__
+#define __com_sun_star_accessibility_XAccessibleSelection_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+
+module com { module sun { module star { module accessibility {
+
+ interface XAccessible;
+
+/** Implement this interface to represent a selection of accessible objects.
+
+ <p>This interface is the standard mechanism to obtain and modify the
+ currently selected children. Every object that has children that can be
+ selected should support this interface.</p>
+
+ <p>The XAccessibleSelection interface has to be implemented
+ in conjunction with the XAccessibleContext interface that
+ provides the children on which the first operates.</p>
+
+ <p>It depends on the class implementing this interface, whether it
+ supports single or multi selection.</p>
+
+ @since OOo 1.1.2
+*/
+interface XAccessibleSelection : ::com::sun::star::uno::XInterface
+{
+ /** Selects the specified Accessible child of the
+ object.
+
+ <p>Depending on the implementing class the child is added to the
+ current set a selected children (multi selection) or a previously
+ selected child is deselected first (single selection).</p>
+
+ @param nChildIndex
+ Index of the child which is to add to the selection. This index
+ refers to all the children of this object.
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the given index does not lie in the valid range of 0 up to
+ the result of
+ XAccessibleContext::getAccessibleChildCount()-1.
+ */
+ void selectAccessibleChild ([in] long nChildIndex)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ /** Determines if the specified child of this object is selected.
+
+ @param nChildIndex
+ Index of the child for which to detect whether it is selected.
+ This index refers to all the children of this object.
+
+ @return
+ Returns `TRUE` if the specified child is selected and `FALSE`
+ if it is not selected.
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the given index does not lie in the valid range of 0 up to
+ the result of
+ XAccessibleContext::getAccessibleChildCount()-1.
+ */
+ boolean isAccessibleChildSelected ([in] long nChildIndex)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ /** Clears the selection, so that no children of the
+ object are selected.
+ */
+ void clearAccessibleSelection ();
+
+ /** Select all children.
+
+ <p>Causes every child of the object to be selected if the object
+ supports multiple selections. If multiple selection is not
+ supported then the first child, if it exists, is selected and all
+ other children are deselected.</p>
+ */
+ void selectAllAccessibleChildren ();
+
+ /** Returns the number of Accessible children that are currently
+ selected.
+
+ <p>This number specifies the valid interval of indices that can be
+ used as arguments for the method
+ XAccessibleSelection::getSelectedAccessibleChild().</p>
+
+ @return
+ Returns the number of selected children of this object or 0 if
+ no child is selected.
+ */
+ long getSelectedAccessibleChildCount ();
+
+ /** Returns the specified selected Accessible child.
+
+ @param nSelectedChildIndex
+ This index refers only to the selected children, not to all the
+ children of this object. Even if all children are selected, the
+ indices enumerating the selected children need not be the same
+ as those enumerating all children. If only single selection is
+ supported the only valid value is 0.
+
+ @return
+ If the index is valid, i.e. not negative and lower than the
+ number of selected children, then a valid reference to the
+ corresponding XAccessible child is returned.
+ Otherwise an exception is thrown.
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the given index does not lie in the valid range of 0 up to
+ the result of
+ XAccessibleRelationSet::getAccessibleChildCount()-1.
+ */
+ XAccessible getSelectedAccessibleChild ([in] long nSelectedChildIndex)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ /** Removes the specified child from the set of this object's
+ selected children. Note that not all applications support
+ deselection: calls to this method may be silently ignored.
+
+ @param nChildIndex
+ This index refers to all children not just the selected ones.
+ If the specified child is not selected or it can not be
+ deselected for any reason then the method call is silently
+ ignored.
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the given index does not lie in the valid range of 0 up to,
+ but not including, the result of
+ XAccessibleContext::getAccessibleChildCount().
+ */
+ void deselectAccessibleChild ([in] long nChildIndex)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/XAccessibleStateSet.idl b/offapi/com/sun/star/accessibility/XAccessibleStateSet.idl
new file mode 100644
index 000000000..910caf843
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleStateSet.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_accessibility_XAccessibleStateSet_idl__
+#define __com_sun_star_accessibility_XAccessibleStateSet_idl__
+
+#include <com/sun/star/accessibility/AccessibleStateType.idl>
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module accessibility {
+
+ interface XAccessible;
+
+/** Implement this interface to represent a set of states.
+
+ <p>The interface XAccessibleStateSet represents a set of
+ states of an accessible object. It can hold any combination of states
+ defined by the constants collection
+ AccessibleStateType.</p>
+
+ @since OOo 1.1.2
+*/
+interface XAccessibleStateSet : ::com::sun::star::uno::XInterface
+{
+ /** Checks whether the current state set is empty.
+
+ @return
+ Returns `TRUE` if there is no state in this state set and
+ `FALSE` if there is at least one set state in it.
+ */
+ boolean isEmpty ();
+
+ /** Checks if the given state is a member of the state set of the called
+ object.
+
+ @param aState
+ The state for which to check membership. This has to be one of
+ the constants of AccessibleStateType.
+
+ @return
+ Returns `TRUE` if the given state is a member of this object's
+ state set and `FALSE` otherwise.
+ */
+ boolean contains ([in] short aState);
+
+ /** Checks if all of the given states are in the state set of the called
+ object.
+
+ @param aStateSet
+ This sequence of states is interpreted as set and every of its
+ members, duplicates are ignored, is checked for membership in
+ this object's state set. Each state has to be one of the
+ constants of AccessibleStateType.
+
+ @return
+ Returns `TRUE` if all states of the given state set are members
+ of this object's state set. `FALSE` is returned if at least
+ one of the states in the given state is not a member of this
+ object's state set.
+ */
+ boolean containsAll ([in] sequence<short> aStateSet);
+
+ /** Get all currently set states as a sequence of state ids.
+
+ <p>The purpose of this function is to reduce the communication
+ between accessibility objects and AT. Without this function an
+ AT-Tool had to call contains() for every state
+ type. Now a single call is sufficient.</p>
+
+ @return
+ The returned sequence contains one entry for every currently set
+ state. This entry is the id of that state. The order of the
+ states in the sequence is undefined.
+ */
+ sequence<short> getStates ();
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/XAccessibleTable.idl b/offapi/com/sun/star/accessibility/XAccessibleTable.idl
new file mode 100644
index 000000000..0b365ccd3
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleTable.idl
@@ -0,0 +1,377 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_accessibility_XAccessibleTable_idl__
+#define __com_sun_star_accessibility_XAccessibleTable_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+
+module com { module sun { module star { module accessibility {
+
+ interface XAccessible;
+
+/** Implement this interface to give access to a two-dimensional table.
+
+ <p>The XAccessibleTable interface is used to represent
+ two-dimensional tables. This interface combines the two interfaces
+ <code>javax.accessibility.AccessibleTable</code> and
+ <code>javax.accessibility.AccessibleExtendedTable</code> of the Java Accessibility API
+ (version 1.4).</p>
+
+ <p>All XAccessible objects that represent cells or
+ cell-clusters of a table have to be at the same time children of the
+ table. This is necessary to be able to convert row and column indices
+ into child indices and vice versa with the methods
+ XAccessibleTable::getAccessibleIndex(),
+ XAccessibleTable::getAccessibleRow(), and
+ XAccessibleTable::getAccessibleColumn().</p>
+
+ <p>The range of valid coordinates for this interface are implementation
+ dependent. However, that range includes at least the intervals from the
+ from the first row or column with the index 0 up to the last (but not
+ including) used row or column as returned by
+ XAccessibleTable::getAccessibleRowCount() and
+ XAccessibleTable::getAccessibleColumnCount(). In case of
+ the Calc the current range of valid indices for retrieving data include
+ the maximal table size--256 columns and 32000 rows--minus one.</p>
+
+ @since OOo 1.1.2
+*/
+interface XAccessibleTable : ::com::sun::star::uno::XInterface
+{
+ /** Returns the number of used rows in the table.
+
+ <p>The implementation, however, may allow the access of columns
+ beyond this number.</p>
+
+ @return
+ Returns the number of used rows in the table or 0 for an empty
+ table.
+ */
+ long getAccessibleRowCount ();
+
+ /** Returns the number of used columns in the table.
+
+ <p>The implementation, however, may allow the access of columns
+ beyond this number.</p>
+
+ @return
+ Returns the number of used columns in the table or 0 for an empty
+ table.
+ */
+ long getAccessibleColumnCount ();
+
+ /** Returns the description text of the specified row in the
+ table.
+
+ @param nRow
+ The index of the row for which to retrieve the description.
+
+ @return
+ Returns the description text of the specified row in the table
+ if such a description exists. Otherwise an empty string is
+ returned.
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the specified row index is not valid, i.e. lies not inside
+ the valid range of 0 up to
+ XAccessibleTable::getAccessibleRowCount() - 1.
+
+ */
+ string getAccessibleRowDescription ([in] long nRow)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ /** Returns the description text of the specified column in the
+ table.
+
+ @param nColumn
+ The index of the column for which to retrieve the description.
+
+ @return
+ Returns the description text of the specified row in the table
+ if such a description exists. Otherwise an empty string is
+ returned.
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the specified column index is not valid, i.e. lies not inside
+ the valid range of 0 up to
+ XAccessibleTable::getAccessibleColumnCount() - 1.
+ */
+ string getAccessibleColumnDescription ([in] long nColumn)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ /** Returns the number of rows occupied by the Accessible at the
+ specified row and column in the table.
+
+ <p>The result differs from 1 if the specified cell spans multiple
+ rows.</p>
+
+ @param nRow
+ Row index of the accessible for which to return the column
+ extent.
+
+ @param nColumn
+ Column index of the accessible for which to return the column
+ extent.
+
+ @return
+ Returns the row extent of the specified cell.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the specified row index is not valid, i.e. lies not inside
+ the valid range of 0 up to
+ XAccessibleTable::getAccessibleRowCount() - 1.
+ */
+ long getAccessibleRowExtentAt ([in] long nRow, [in] long nColumn)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ /** Returns the number of columns occupied by the Accessible at the
+ specified row and column in the table.
+
+ <p>The result differs from 1 if the specified cell spans multiple
+ columns.</p>
+
+ @param nRow
+ Row index of the accessible for which to return the column
+ extent.
+
+ @param nColumn
+ Column index of the accessible for which to return the column
+ extent.
+
+ @return
+ Returns the column extent of the specified.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the specified column index is not valid, i.e. lies not inside
+ the valid range of 0 up to
+ XAccessibleTable::getAccessibleColumnCount() - 1.
+ */
+ long getAccessibleColumnExtentAt ([in] long nRow, [in] long nColumn)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ /** Returns the row headers as an XAccessibleTable
+ object.
+
+ <p>Content and size of the returned table are implementation
+ dependent.</p>
+
+ @return
+ Returns always a valid reference to an
+ XAccessibleTable object.
+ */
+ XAccessibleTable getAccessibleRowHeaders ();
+
+ /** Returns the column headers as an XAccessibleTable
+ object.
+
+ <p>Content and size of the returned table are implementation
+ dependent.</p>
+
+ @return
+ Returns always a valid reference to an
+ XAccessibleTable object.
+ */
+ XAccessibleTable getAccessibleColumnHeaders ();
+
+ /** Returns a list of the indices of completely selected rows in a
+ table.
+
+ @return
+ The returned sequence contains indices of all completely
+ selected rows in the table. This sequence is in ascending
+ order. If no row is selected then the sequence is empty.
+ */
+ sequence<long> getSelectedAccessibleRows ();
+
+ /** Returns a list of the indices of completely selected columns in a
+ table.
+
+ @return
+ The returned sequence contains indices of all completely
+ selected columns in the table. This sequence is in ascending
+ order. If no column is selected then the sequence is empty.
+ */
+ sequence<long> getSelectedAccessibleColumns ();
+
+ /** Returns a boolean value indicating whether the specified row is
+ completely selected.
+
+ @param nRow
+ Index of the row for which to determine whether it is selected.
+
+ @return
+ Returns `TRUE` if the specified row is selected completely and
+ `FALSE` otherwise.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the specified row index is not valid, i.e. lies not inside
+ the valid range of 0 up to
+ XAccessibleTable::getAccessibleRowCount() - 1.
+ */
+ boolean isAccessibleRowSelected ([in] long nRow)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ /** Returns a boolean value indicating whether the specified column
+ is completely selected.
+
+ @param nColumn
+ Index of the column for which to determine whether it is
+ selected.
+
+ @return
+ Returns `TRUE` if the specified column is selected completely
+ and `FALSE` otherwise.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the specified column index is not valid, i.e. lies not inside
+ the valid range of 0 up to
+ XAccessibleTable::getAccessibleColumnCount() - 1.
+ */
+ boolean isAccessibleColumnSelected ([in] long nColumn)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ /** Returns the XAccessible object at the specified row
+ and column in the table.
+
+ <p>This method has been renamed from the Java name
+ <code>getAccessibleAt</code> to
+ XAccessibleTable::getAccessibleCellAt() to avoid
+ ambiguities with the
+ XAccessibleComponent::getAccessibleAt() method when
+ accessed, for instance, from StarBasic.</p>
+
+ @param nRow
+ The row index for which to retrieve the cell.
+
+ @param nColumn
+ The column index for which to retrieve the cell.
+
+ @return
+ If both row and column index are valid then the corresponding
+ XAccessible object is returned that represents the
+ requested cell regardless of whether the cell is currently
+ visible (on the screen).
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the specified column and/or row index is not valid, i.e. lies not inside
+ the valid range of 0 up to
+ XAccessibleTable::getAccessibleColumnCount() - 1.
+ */
+ XAccessible getAccessibleCellAt ([in] long nRow, [in] long nColumn)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ /** Returns the caption for the table.
+
+ @return
+ If the table has a caption then a reference to it is returned,
+ else an empty reference is returned.
+ */
+ XAccessible getAccessibleCaption ();
+
+ /** Returns the summary description of the table.
+
+ @return
+ Returns a reference to an implementation dependent
+ XAccessible object representing the table's summary
+ or an empty reference if the table does not support a summary.
+ */
+ XAccessible getAccessibleSummary ();
+
+ /** Returns a boolean value indicating whether the accessible at the
+ specified row and column is selected.
+
+ @param nRow
+ Row index of the cell for which to determine if the accessible
+ object that spans that cell is selected.
+
+ @param nColumn
+ Column index of the cell for which to determine if the
+ accessible object that spans that cell is selected.
+
+ @return
+ Returns `TRUE` if the given row and column indices are valid
+ and the specified accessible object is selected. Otherwise
+ `FALSE` is returned.
+ */
+ boolean isAccessibleSelected ([in] long nRow, [in] long nColumn)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ /** Returns the child index of the accessible object that spans the
+ specified cell.
+
+ <p>This is the same index that would be returned by calling
+ XAccessibleContext::getAccessibleIndexInParent() for
+ that accessible object.</p>
+
+ @param nRow
+ Row index of the accessible object for which to return the child
+ index.
+
+ @param nColumn
+ Row index of the accessible object for which to return the child
+ index.
+
+ @return
+ Child index of the specified accessible object or -1 if one or
+ both of the given indices is/are invalid.
+ */
+ long getAccessibleIndex ([in] long nRow, [in] long nColumn)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ /** Translate the given child index into the corresponding row
+ index.
+
+ @param nChildIndex
+ Index of the child of the table for which to return the row
+ index.
+
+ @return
+ Returns the row index of the cell of the specified child or the
+ index of the first row if the child spans multiple rows.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if nChildIndex addresses an invalid row.
+ */
+ long getAccessibleRow ([in] long nChildIndex)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ /** Translate the given child index into the corresponding column
+ index.
+
+ @param nChildIndex
+ Index of the child of the table for which to return the column
+ index.
+
+ @return
+ Returns the column index of the cell of the specified child or
+ the index of the first column if the child spans multiple
+ columns.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if nChildIndex addresses an invalid column.
+ */
+ long getAccessibleColumn ([in] long nChildIndex)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/XAccessibleTableSelection.idl b/offapi/com/sun/star/accessibility/XAccessibleTableSelection.idl
new file mode 100644
index 000000000..a5b3d2f26
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleTableSelection.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_accessibility_XAccessibleTableSelection_idl__
+#define __com_sun_star_accessibility_XAccessibleTableSelection_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+
+module com { module sun { module star { module accessibility {
+
+interface XAccessible;
+
+interface XAccessibleTableSelection : ::com::sun::star::uno::XInterface
+{
+ boolean selectRow ([in] long row) raises (::com::sun::star::lang::IndexOutOfBoundsException);
+ boolean unselectRow ([in] long row) raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ boolean selectColumn ([in] long column) raises (::com::sun::star::lang::IndexOutOfBoundsException);
+ boolean unselectColumn ([in] long column) raises (::com::sun::star::lang::IndexOutOfBoundsException);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/XAccessibleText.idl b/offapi/com/sun/star/accessibility/XAccessibleText.idl
new file mode 100644
index 000000000..98af06445
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleText.idl
@@ -0,0 +1,527 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_accessibility_XAccessibleText_idl__
+#define __com_sun_star_accessibility_XAccessibleText_idl__
+
+#include <com/sun/star/accessibility/AccessibleTextType.idl>
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/awt/Point.idl>
+#include <com/sun/star/awt/Rectangle.idl>
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/beans/UnknownPropertyException.idl>
+#include <com/sun/star/accessibility/TextSegment.idl>
+
+module com { module sun { module star { module accessibility {
+
+/** Implement this interface to give read-only access to a text.
+
+ <p>The XAccessibleText interface should be implemented by
+ all UNO components that present textual information on the display like
+ buttons, text entry fields, or text portions of the document window.
+ The interface provides access to the text's content, attributes, and
+ spatial location. However, text can not be modified with this
+ interface. That is the task of the XAccessibleEditableText
+ interface.</p>
+
+ <p>The text length, i.e. the number of characters in the text, is
+ returned by XAccessibleText::getCharacterCount().
+ All methods that operate on particular characters (e.g.
+ XAccessibleText::getCharacterAt()) use character
+ indices from 0 to length-1. All methods that operate on character
+ positions (e.g. XAccessibleText::getTextRange())
+ use indices from 0 to length.</p>
+
+ <p>Please note that accessible text does not necessarily support
+ selection. In this case it should behave as if there where no
+ selection. An empty selection is used for example to express the
+ current cursor position.</p>
+
+ @since OOo 1.1.2
+*/
+interface XAccessibleText : ::com::sun::star::uno::XInterface
+{
+ /** Return the position of the caret.
+
+ <p>Returns the offset of the caret. The caret is often called text
+ cursor. The caret is actually the position between two characters.
+ Its position/offset is that of the character to the right of it.</p>
+
+ @return
+ The returned offset is relative to the text represented by this
+ object.
+ */
+ long getCaretPosition ();
+
+ /** Set the position of the caret.
+
+ <p>The caret is often called text cursor. The caret is actually the
+ position between two characters. Its position/offset is that of the
+ character to the right of it.</p>
+
+ <p>Setting the caret position may or may not alter the current
+ selection. A change of the selection is notified to the
+ accessibility event listeners with an
+ AccessibleEventId::ACCESSIBLE_SELECTION_EVENT.</p>
+
+ <p>When the new caret position differs from the old one (which, of
+ course, is the standard case) this is notified to the accessibility
+ event listeners with an
+ AccessibleEventId::ACCESSIBLE_CARET_EVENT.</p>
+
+ @param nIndex
+ The new index of the caret. This caret is actually placed to
+ the left side of the character with that index. An index of 0
+ places the caret so that the next insertion goes before the
+ first character. An index of getCharacterCount()
+ leads to insertion after the last character.
+
+ @return
+ Returns `TRUE` if the caret has been moved and `FALSE`
+ otherwise. A `TRUE` value does not necessarily mean that the
+ caret has been positioned exactly at the required position.
+ If that position lies inside a read-only area the caret is
+ positioned before or behind it. Listen to the caret event to
+ determine the new position.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the index is not valid.
+ */
+ boolean setCaretPosition ([in] long nIndex)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ /** Return the character at the specified position.
+
+ <p>Returns the character at the given index.</p>
+
+ @param nIndex
+ The index of the character to return.
+ The valid range is 0..length-1.
+
+ @return
+ the character at the index nIndex.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the index is invalid
+ */
+ char getCharacter ([in] long nIndex)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ /** Get the attribute set for the specified position.
+
+ <p>Returns a set of attributes that are associated for the character
+ at the given index. To prevent the method from returning possibly
+ large sets of attributes that the caller is not interested in the
+ caller has to provide a list of attributes that he wants to be
+ returned.</p>
+
+ @param nIndex
+ The index of the character for which to return its attributes.
+ The valid range is 0..length-1.
+
+ @param aRequestedAttributes
+ This string sequence defines the set of attributes that the
+ caller is interested in. When there are attributes defined that
+ are not listed in the sequence then they are not returned. When
+ there are requested attributes that are not defined for the
+ character then they are ignored, too.
+
+ <p>An empty sequence signals the callers interest in all the
+ attributes. This is useful in two cases: a) Simply as a way to
+ avoid passing a potentially large array to the called object or
+ b) when the caller does not know what attributes the called
+ objects supports but is interested in all of them
+ nevertheless.</p>
+
+ @return
+ Returns the explicitly or implicitly (empty
+ aRequestedAttributes argument) requested attributes
+ of the specified character. Each attribute is represented by a
+ ::com::sun::star::beans::PropertyValue
+ object. The returned list of attribute descriptions contains
+ all attributes that are both members of the sequence of
+ requested attributes and are defined for the character at the
+ specified index.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the index is invalid
+
+ @see CharacterProperties
+ */
+ sequence<::com::sun::star::beans::PropertyValue>
+ getCharacterAttributes (
+ [in] long nIndex,
+ [in] sequence<string> aRequestedAttributes)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException,
+ ::com::sun::star::beans::UnknownPropertyException);
+
+
+ /** Return the bounding box of the specified position.
+
+ <p>Returns the bounding box of the indexed character.</p>
+
+ <p>The virtual character after the last character of the represented
+ text, i.e. the one at position length is a special case. It
+ represents the current input position and will therefore typically
+ be queried by AT more often than other positions. Because it does
+ not represent an existing character its bounding box is defined in
+ relation to preceding characters. It should be roughly equivalent to
+ the bounding box of some character when inserted at the end of the
+ text. Its height typically being the maximal height of all the
+ characters in the text or the height of the preceding character, its
+ width being at least one pixel so that the bounding box is not
+ degenerate.<br>
+ Note that the index "length" is not always valid. Whether it is
+ or not is implementation dependent. It typically is when text is
+ editable or otherwise when on the screen the caret can be placed
+ behind the text. You can be sure that the index is valid after you
+ have received an AccessibleEventId::CARET event
+ for this index.</p>
+ @param nIndex
+ Index of the character for which to return its bounding box.
+ The valid range is 0..length.
+
+ @return
+ The bounding box of the referenced character. The bounding box
+ of the virtual character at position length has to have
+ non-empty dimensions.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the index is invalid
+ */
+ ::com::sun::star::awt::Rectangle getCharacterBounds ([in] long nIndex)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+
+ /** Return the number of characters in the represented text.
+
+ <p>Returns the number of characters in the text represented by this
+ object or, in other words, the text length.</p>
+
+ @return
+ Returns the number of characters of this object's text. A zero
+ value indicates an empty text.
+ */
+ long getCharacterCount ();
+
+
+ /** Return the text position for the specified screen position.
+
+ <p>Given a point in local coordinates, i.e. relative to the
+ coordinate system of the object, return the zero-based index of
+ the character under that point. The same functionality could be
+ achieved by using the bounding boxes for each character as returned
+ by XAccessibleText::getCharacterBounds(). The method
+ XAccessibleText::getIndexAtPoint(), however, can be
+ implemented in a more efficient way.</p>
+
+ @param aPoint
+ The position for which to look up the index of the character
+ that is rendered on to the display at that point.
+
+ @return
+ Index of the character under the given point or -1 if the point
+ is invalid or there is no character under the point.
+ */
+ long getIndexAtPoint ([in] ::com::sun::star::awt::Point aPoint);
+
+ /** Return the selected text.
+
+ <p>Returns the portion of the text that is selected.</p>
+
+ @return
+ The returned text is the selected portion of the object's text.
+ If no text is selected when this method is called or when
+ selection is not supported an empty string is returned.
+ */
+ string getSelectedText ();
+
+ /** Return the position of the start of the selection.
+
+ <p>Returns the index of the start of the selected text.</p>
+
+ @return
+ If there is no selection or selection is not supported the
+ position of selection start and end will be the same undefined
+ value.
+ */
+ long getSelectionStart ();
+
+ /** Return the position of the end of the selection.
+
+ <p>Returns the index of the end of the selected text.</p>
+
+ @return
+ If there is no selection or selection is not supported the
+ position of selection start and end will be the same undefined
+ value.
+ */
+ long getSelectionEnd ();
+
+ /** Set a new selection.
+
+ <p>Sets the selected text portion according to the given indices.
+ The old selection is replaced by the new selection.</p>
+
+ <p>The selection encompasses the same string of text that
+ XAccessibleText::getTextRange() would have
+ selected. See there for details.</p>
+
+ <p>Setting the selection may or may not change the caret position.
+ Typically the caret is moved to the position after the second
+ argument. When the caret is moved this is notified to the
+ accessibility event listeners with an
+ AccessibleEventId::ACCESSIBLE_CARET_EVENT.</p>
+
+ @param nStartIndex
+ The first character of the new selection.
+ The valid range is 0..length.
+
+ @param nEndIndex
+ The position after the last character of the new selection.
+ The valid range is 0..length.
+
+ @return
+ Returns `TRUE` if the selection has been set successfully and
+ `FALSE` otherwise or when selection is not supported.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the indices are invalid
+ */
+ boolean setSelection ([in] long nStartIndex, [in] long nEndIndex)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ /** Return the whole text.
+
+ <p>Returns the complete text. This is equivalent to a call to
+ XAccessibleText::getTextRange() with the arguments
+ zero and <code>getCharacterCount()-1</code>.</p>
+
+ @return
+ Returns a string that contains the complete text.
+ */
+ string getText ();
+
+ /** Return the specified text range.
+
+ <p>Returns the substring between the two given indices.</p>
+
+ <p>The substring starts with the character at nStartIndex
+ (inclusive) and up to the character at nEndIndex (exclusive),
+ if nStartIndex is less or equal nEndIndex. If nEndIndex is
+ lower than nStartIndex, the result is the same as a call with
+ the two arguments being exchanged.</p>
+
+ <p>The whole text can be requested by passing the indices zero and
+ <code>getCharacterCount()</code>. If both indices have the same
+ value, an empty string is returned.</p>
+
+ @param nStartIndex
+ Index of the first character to include in the returned string.
+ The valid range is 0..length.
+
+ @param nEndIndex
+ Index of the last character to exclude in the returned string.
+ The valid range is 0..length.
+
+ @return
+ Returns the substring starting with the character at nStartIndex
+ (inclusive) and up to the character at nEndIndex (exclusive), if
+ nStartIndex is less than or equal to nEndIndex.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the indices are invalid
+ */
+ string getTextRange ([in] long nStartIndex, [in] long nEndIndex)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ /** Get a text portion around the given position.
+
+ <p>Returns the substring of the specified text type that contains
+ the character at the given index, if any. For example, given the
+ text type AccessibleTextType::WORD, the word
+ which contains the character at position nIndex is returned, or an
+ empty string if no word is found at the that position.</p>
+
+ @param nIndex
+ Index of the character whose containing text portion is to be
+ returned.
+ The valid range is 0..length.
+
+ @param nTextType
+ The type of the text portion to return. See
+ AccessibleTextType for the complete list.
+
+ @return
+ Returns the requested text portion. This portion may be empty
+ or invalid when no appropriate text portion is found or text
+ type is invalid.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the index is invalid
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if the given text type is not valid.
+ */
+ TextSegment getTextAtIndex([in] long nIndex, [in] short nTextType)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException,
+ ::com::sun::star::lang::IllegalArgumentException);
+
+ /** Get a text portion before the given position.
+
+ <p>Returns the substring of the specified text type that is
+ located before the given character and does not include
+ it. The result of this method should be same as a result for
+ XAccessibleText::getTextAtIndex() with a
+ suitably decreased index value.</p>
+
+ <p>For example, if text type is
+ AccessibleTextType::WORD, then the complete word
+ that is closest to and located before nIndex is returned.</p>
+
+ <p>If the index is valid, but no suitable word (or other text
+ type) is found, an empty text segment is returned.</p>
+
+ @param nIndex
+ Index of the character for which to return the text part before
+ it. The index character will not be part of the returned
+ string.
+ The valid range is 0..length.
+
+ @param nTextType
+ The type of the text portion to return. See
+ AccessibleTextType for the complete list.
+
+ @return
+ Returns the requested text portion. This portion may be empty
+ or invalid when no appropriate text portion is found or text
+ type is invalid.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the index is invalid.
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if the given text type is not valid.
+ */
+ TextSegment getTextBeforeIndex([in] long nIndex, [in] short nTextType)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException,
+ ::com::sun::star::lang::IllegalArgumentException);
+
+ /** Get a text portion behind the given position.
+
+ <p>Returns the substring of the specified text type that is
+ located after the given character and does not include
+ it. The result of this method should be same as a result for
+ XAccessibleText::getTextAtIndex() with a
+ suitably increased index value.</p>
+
+ <p>For example, if text type is
+ AccessibleTextType::WORD, then the complete word
+ that is closest to and located behind nIndex is returned.</p>
+
+ <p>If the index is valid, but no suitable word (or other text
+ type) is found, an empty string is returned.</p>
+
+ @param nIndex
+ Index of the character for which to return the text part after
+ it. The index character will be part of the returned string.
+ The valid range is 0..length.
+
+ @param nTextType
+ The type of the text portion to return. See
+ AccessibleTextType for the complete list.
+
+ @return
+ Returns the requested text portion. This portion may be empty
+ or invalid when no appropriate text portion is found or text
+ type is invalid.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the index is invalid
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if the given text type is not valid.
+ */
+ TextSegment getTextBehindIndex([in] long nIndex, [in] short nTextType)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException,
+ ::com::sun::star::lang::IllegalArgumentException);
+
+ /** Copy the specified text into the clipboard.
+
+ <p>Copy the specified text into the clipboard. The text that is
+ copied is the same text that would have been selected by the
+ XAccessibleText::getTextRange() method. </p>
+
+ <p>The other clipboard related methods
+ XAccessibleEditableText::cutText() and
+ XAccessibleEditableText::deleteText() can be found in
+ the XAccessibleEditableText because of their
+ destructive nature.</p>
+
+ @param nStartIndex
+ Start index of the text to copied into the clipboard.
+ The valid range is 0..length.
+
+ @param nEndIndex
+ End index of the text to copied into the clipboard.
+ The valid range is 0..length.
+
+ @return
+ Returns `TRUE` if the specified text has been copied
+ successfully into the clipboard.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the indices are invalid
+ */
+ boolean copyText ([in] long nStartIndex, [in] long nEndIndex)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ /** Scroll the specified text to make it visible on screen.
+
+ @param nStartIndex
+ Start index of the text to scroll.
+ The valid range is 0..length.
+
+ @param nEndIndex
+ End index of the text to scroll.
+ The valid range is nStartIndex..length.
+
+ @param aScrollType
+ Type of scroll to perform. See AccessibleScrollType for the
+ complete list.
+
+ @return
+ Returns `TRUE` if the specified text has been scrolled
+ successfully.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the indices are invalid
+
+ @since LibreOffice 7.0
+ */
+ boolean
+ scrollSubstringTo ([in] long nStartIndex, [in] long nEndIndex,
+ [in] AccessibleScrollType aScrollType)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/XAccessibleTextAttributes.idl b/offapi/com/sun/star/accessibility/XAccessibleTextAttributes.idl
new file mode 100644
index 000000000..f8d459be6
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleTextAttributes.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_accessibility_XAccessibleTextAttributes_idl__
+#define __com_sun_star_accessibility_XAccessibleTextAttributes_idl__
+
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/beans/UnknownPropertyException.idl>
+
+module com { module sun { module star { module accessibility {
+
+/** Implement this interface to give access to the attributes of a text.
+
+ @since OOo 2.0.4
+*/
+interface XAccessibleTextAttributes
+{
+ /** Get the default attribute set for the text.
+
+ <p>Returns a set of all default paragraph and default character
+ attributes that are associated for the text. To prevent the method
+ from returning possibly large sets of attributes that the caller
+ is not interested in the caller can provide a list of attributes
+ that he wants to be returned.</p>
+
+ @param RequestedAttributes
+ This string sequence defines the set of attributes that the
+ caller is interested in. When there are requested attributes
+ that are not defined for the text then they are ignored.
+
+ <p>When the sequence is empty all attributes are returned.</p>
+
+ @return
+ Returns the requested attributes of the text. Each attribute
+ is represented by a ::com::sun::star::beans::PropertyValue
+ object.
+ */
+ sequence<::com::sun::star::beans::PropertyValue>
+ getDefaultAttributes ( [in] sequence<string> RequestedAttributes )
+ raises ( ::com::sun::star::beans::UnknownPropertyException );
+
+ /** Get the run attribute set for the specified position.
+
+ <p>Returns a set of character attributes that are associated for
+ the character at the given index and are directly set or are set
+ via a character style. To prevent the method from returning all of
+ these attributes the caller can provide a list of attributes
+ that he wants to be returned.</p>
+
+ @param Index
+ The index of the character for which to return its attributes.
+ The valid range is 0..length of text-1.
+
+ @param RequestedAttributes
+ This string sequence defines the set of attributes that the
+ caller is interested in. When there are requested attributes
+ that are not defined for the text then they are ignored.
+
+ <p>When the sequence is empty all attributes are returned.</p>
+
+ @return
+ Returns the requested attributes of the specified character.
+ Each attribute is represented by a
+ ::com::sun::star::beans::PropertyValue object.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the index is invalid
+ */
+ sequence<::com::sun::star::beans::PropertyValue>
+ getRunAttributes ( [in] long Index,
+ [in] sequence<string> RequestedAttributes )
+ raises (::com::sun::star::beans::UnknownPropertyException,
+ ::com::sun::star::lang::IndexOutOfBoundsException);
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/XAccessibleTextMarkup.idl b/offapi/com/sun/star/accessibility/XAccessibleTextMarkup.idl
new file mode 100644
index 000000000..bf9fb3617
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleTextMarkup.idl
@@ -0,0 +1,124 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_accessibility_XAccessibleTextMarkup_idl__
+#define __com_sun_star_accessibility_XAccessibleTextMarkup_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#include <com/sun/star/accessibility/XAccessibleText.idl>
+#include <com/sun/star/accessibility/TextSegment.idl>
+
+module com { module sun { module star { module accessibility {
+
+ interface XAccessibleTextMarkup;
+
+
+/** Implement this interface to expose the text markups of a text.
+
+ <p>The XAccessibleTextMarkup interface is the main interface
+ to expose text markups in a text, typically of a text document, that are
+ used to reference other (parts of) documents. For supporting the
+ XAccessibleTextMarkup::getTextMarkupIndex() method of this
+ interface and other character related methods of the
+ XAccessibleTextMarkup interface, it is necessary to also
+ support the XAccessibleText interface.</p>
+
+ @see XAccessibleText
+
+ @since OOo 3.0
+*/
+interface XAccessibleTextMarkup
+ : ::com::sun::star::accessibility::XAccessibleText
+{
+ /** Returns the number of text markup of the given text markup type
+ of a text.
+
+ <p>Throws IllegalArgumentException, if given text
+ markup type is out of valid range.</p>
+
+ @param TextMarkupType
+ This specifies the type of text markups, whose count should
+ be returned - see TextMarkupType.
+
+ @return
+ The number of text markup of the given text markup type.
+ Returns 0 if there is no text markup.
+ */
+ long getTextMarkupCount ( [in] long TextMarkupType )
+ raises (::com::sun::star::lang::IllegalArgumentException);
+
+ /** Returns the text segment of the text markup of the given index and
+ of the given text mark type
+
+ <p>Throws IndexOutOfBoundsException, if given index
+ is out of valid range.</p>
+ <p>Throws IllegalArgumentException, if given text
+ markup type is out of valid range.</p>
+
+ @param TextMarkupIndex
+ This index specifies the text markup to return.
+
+ @param TextMarkupType
+ This specifies the type of the text markup to be returned - see
+ TextMarkupType.
+
+ @return
+ If the given index is in range [0..getTextMarkupCount(TextMarkupType)-1],
+ the text segment - see TextSegment - of the text markup
+ of the given text markup type is returned.
+ */
+ TextSegment getTextMarkup ( [in] long TextMarkupIndex,
+ [in] long TextMarkupType )
+ raises (::com::sun::star::lang::IndexOutOfBoundsException,
+ ::com::sun::star::lang::IllegalArgumentException);
+
+ /** returns a sequence of the text segments of the text markups at the given
+ character index and of the given text markup type.
+
+ <p>Throws IndexOutOfBoundsException, if given character
+ index is out of range [0..number of characters in the text).</p>
+ <p>Throws IllegalArgumentException, if given text
+ markup type is out of valid range.</p>
+
+ @param CharIndex
+ This index specifies the character index in the text.
+
+ @param TextMarkupType
+ This specifies the type of the text markups to be returned - see
+ TextMarkupType.
+
+ @return
+ If character index is in range [0..number of characters in the text-1],
+ a sequence of TextSegments of the text markups at
+ given character index of the given text markup type are returned.
+ The sequence is empty, if no such text markup is found.
+ */
+ sequence<TextSegment> getTextMarkupAtIndex ( [in] long CharIndex,
+ [in] long TextMarkupType )
+ raises (::com::sun::star::lang::IndexOutOfBoundsException,
+ ::com::sun::star::lang::IllegalArgumentException);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/XAccessibleTextSelection.idl b/offapi/com/sun/star/accessibility/XAccessibleTextSelection.idl
new file mode 100644
index 000000000..ecc61e721
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleTextSelection.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_accessibility_XAccessibleTextSelection_idl__
+#define __com_sun_star_accessibility_XAccessibleTextSelection_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/awt/Point.idl>
+#include <com/sun/star/awt/Rectangle.idl>
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+module com { module sun { module star { module accessibility {
+
+interface XAccessibleTextSelection : ::com::sun::star::uno::XInterface
+{
+ boolean scrollToPosition ([in] ::com::sun::star::awt::Point aPoint, [in] boolean isLeftTop) raises (::com::sun::star::lang::IllegalArgumentException);
+
+ long getSelectedPortionCount();
+
+ long getSeletedPositionStart ([in] long nSelectedPortionIndex) raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ long getSeletedPositionEnd ([in] long nSelectedPortionIndex) raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ long addSelection( [in] long selectionIndex, [in]long startOffset, [in] long endOffset) raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ boolean removeSelection( [in] long selectionIndex ) raises (::com::sun::star::lang::IndexOutOfBoundsException);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/XAccessibleValue.idl b/offapi/com/sun/star/accessibility/XAccessibleValue.idl
new file mode 100644
index 000000000..45001976f
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleValue.idl
@@ -0,0 +1,114 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_accessibility_XAccessibleValue_idl__
+#define __com_sun_star_accessibility_XAccessibleValue_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module accessibility {
+
+/** Implement this interface to give access to a single numerical value.
+
+ <p>The XAccessibleValue interface represents a single
+ numerical value and should be implemented by any class that supports
+ numerical value like scroll bars and spin boxes. This interface lets
+ you access the value and its upper and lower bounds.</p>
+
+ @since OOo 1.1.2
+*/
+interface XAccessibleValue : ::com::sun::star::uno::XInterface
+{
+ /** Returns the value of this object as a number.
+
+ <p>The exact return type is implementation dependent. Typical types
+ are long and double.</p>
+
+ @return
+ Returns the current value represented by this object.
+ */
+ any getCurrentValue ();
+
+ /** Sets the value of this object to the given number.
+
+ <p>The argument is clipped to the valid interval whose upper and
+ lower bounds are returned by the methods
+ getMaximumAccessibleValue() and
+ getMinimumAccessibleValue(), i.e. if it is lower than
+ the minimum value the new value will be the minimum and if it is
+ greater than the maximum then the new value will be the maximum.</p>
+
+ @param aNumber
+ The new value represented by this object. The set of admissible
+ types for this argument is implementation dependent.
+
+ @return
+ Returns `TRUE` if the new value could successfully be set and
+ `FALSE` otherwise.
+ */
+ boolean setCurrentValue ([in] any aNumber);
+
+ /** Returns the maximal value that can be represented by this object.
+
+ <p>The type of the returned value is implementation dependent. It
+ does not have to be the same type as that returned by
+ getCurrentAccessibleValue().</p>
+
+ @return
+ Returns the maximal value in an implementation dependent type.
+ If this object has no upper bound then an empty object is
+ returned.
+ */
+ any getMaximumValue ();
+
+ /** Returns the minimal value that can be represented by this object.
+
+ <p>The type of the returned value is implementation dependent. It
+ does not have to be the same type as that returned by
+ getCurrentAccessibleValue().</p>
+
+ @return
+ Returns the minimal value in an implementation dependent type.
+ If this object has no lower bound then an empty object is
+ returned.
+ */
+ any getMinimumValue ();
+
+ /** Returns the minimal increment by which the value represented by this
+ object can be adjusted.
+
+ <p>The type of the returned value is implementation dependent. It
+ does not have to be the same type as that returned by
+ getCurrentAccessibleValue().</p>
+
+ @return
+ Returns the minimal increment value in an implementation dependent type.
+ If this object has no minimum increment value, then an empty object is
+ returned.
+
+ @since LibreOffice 7.3
+ */
+ any getMinimumIncrement ();
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/XMSAAService.idl b/offapi/com/sun/star/accessibility/XMSAAService.idl
new file mode 100644
index 000000000..42b259196
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XMSAAService.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_accessibility_XMSAASERVICE_idl__
+#define __com_sun_star_accessibility_XMSAASERVICE_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+
+module com { module sun { module star { module accessibility {
+
+/** The interface must be implemented for a server that can support MSAA com objects and send win32 accessible events
+*/
+interface XMSAAService : ::com::sun::star::lang::XComponent
+{
+ /** Return com object pointer.
+
+ @return
+ A reference to the object that contains the actual accessibility information.
+
+ @see AccessibleContext
+ */
+ hyper getAccObjectPtr([in] hyper hWnd, [in] hyper lParam, [in] hyper wParam);
+
+ void handleWindowOpened([in] hyper i);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/animations/AnimateColor.idl b/offapi/com/sun/star/animations/AnimateColor.idl
new file mode 100644
index 000000000..3e07383fb
--- /dev/null
+++ b/offapi/com/sun/star/animations/AnimateColor.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_animations_AnimateColor_idl__
+#define __com_sun_star_animations_AnimateColor_idl__
+
+#include <com/sun/star/animations/XAnimate.idl>
+
+
+module com { module sun { module star { module animations {
+
+
+/**
+ @since LibreOffice 4.1
+*/
+service AnimateColor : com::sun::star::animations::XAnimate;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/animations/AnimateMotion.idl b/offapi/com/sun/star/animations/AnimateMotion.idl
new file mode 100644
index 000000000..130196424
--- /dev/null
+++ b/offapi/com/sun/star/animations/AnimateMotion.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_animations_AnimateMotion_idl__
+#define __com_sun_star_animations_AnimateMotion_idl__
+
+#include <com/sun/star/animations/XAnimationNode.idl>
+
+
+module com { module sun { module star { module animations {
+
+
+/**
+ @since LibreOffice 4.1
+*/
+service AnimateMotion : com::sun::star::animations::XAnimationNode;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/animations/AnimatePhysics.idl b/offapi/com/sun/star/animations/AnimatePhysics.idl
new file mode 100644
index 000000000..87fe960e6
--- /dev/null
+++ b/offapi/com/sun/star/animations/AnimatePhysics.idl
@@ -0,0 +1,25 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.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_animations_AnimatePhysics_idl__
+#define __com_sun_star_animations_AnimatePhysics_idl__
+
+#include <com/sun/star/animations/XAnimationNode.idl>
+
+
+module com { module sun { module star { module animations {
+
+
+service AnimatePhysics : com::sun::star::animations::XAnimationNode;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/offapi/com/sun/star/animations/AnimateSet.idl b/offapi/com/sun/star/animations/AnimateSet.idl
new file mode 100644
index 000000000..8c1c1aa97
--- /dev/null
+++ b/offapi/com/sun/star/animations/AnimateSet.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_animations_AnimateSet_idl__
+#define __com_sun_star_animations_AnimateSet_idl__
+
+#include <com/sun/star/animations/XAnimate.idl>
+
+
+module com { module sun { module star { module animations {
+
+
+/**
+ @since LibreOffice 4.1
+*/
+service AnimateSet : com::sun::star::animations::XAnimate;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/animations/AnimationAdditiveMode.idl b/offapi/com/sun/star/animations/AnimationAdditiveMode.idl
new file mode 100644
index 000000000..2da7e3643
--- /dev/null
+++ b/offapi/com/sun/star/animations/AnimationAdditiveMode.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_animations_AnimationAdditiveMode_idl__
+#define __com_sun_star_animations_AnimationAdditiveMode_idl__
+
+
+ module com { module sun { module star { module animations {
+
+
+/** Specifies the additive mode for the animation.
+
+ @see XAnimate
+ @see http://www.w3.org/TR/smil20/animation.html#adef-calcMode
+ @see http://www.w3.org/TR/smil20/animation.html#adef-SplineAnimation-calcMode
+*/
+constants AnimationAdditiveMode
+{
+ const short BASE = 0;
+ const short SUM = 1;
+ const short REPLACE = 2;
+ const short MULTIPLY = 3;
+ const short NONE = 4;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/animations/AnimationCalcMode.idl b/offapi/com/sun/star/animations/AnimationCalcMode.idl
new file mode 100644
index 000000000..c6e42ccec
--- /dev/null
+++ b/offapi/com/sun/star/animations/AnimationCalcMode.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_animations_AnimationCalcMode_idl__
+#define __com_sun_star_animations_AnimationCalcMode_idl__
+
+
+ module com { module sun { module star { module animations {
+
+
+/** Specifies the interpolation mode for the animation.
+
+ @see XAnimation
+ @see http://www.w3.org/TR/smil20/animation.html#adef-calcMode
+ @see http://www.w3.org/TR/smil20/animation.html#adef-SplineAnimation-calcMode
+*/
+constants AnimationCalcMode
+{
+ /** This specifies that the animation function will jump from one value to the next without any interpolation.
+ */
+ const short DISCRETE = 0;
+
+ /** Simple linear interpolation between values is used to calculate the animation function.
+ <br>
+ This is the default.
+ */
+ const short LINEAR = 1;
+
+ /** Defines interpolation to produce an even pace of change across the animation.
+ <br>
+ This is only supported for values that define a linear numeric range, and
+ for which some notion of "distance" between points can be calculated
+ (e.g. position, width, height, etc.).
+ */
+ const short PACED = 2;
+
+ /** Interpolates from one value in the values list to the next according to a
+ time function defined by a cubic Bezier spline. The points of the spline are
+ defined in the XAnimate::KeyTimes attribute, and the control points
+ for each interval are defined in the XAnimate::TimeFilter attribute.
+ */
+ const short SPLINE = 3;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/animations/AnimationColorSpace.idl b/offapi/com/sun/star/animations/AnimationColorSpace.idl
new file mode 100644
index 000000000..3e2005b74
--- /dev/null
+++ b/offapi/com/sun/star/animations/AnimationColorSpace.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_animations_AnimationColorSpace_idl__
+#define __com_sun_star_animations_AnimationColorSpace_idl__
+
+
+ module com { module sun { module star { module animations {
+
+
+/** defines the color space that is used for interpolation.
+ <br>
+ This does not change how colors are interpreted but how to
+ interpolate from one color to another.
+
+ @see XAnimateColor::ColorSpace
+*/
+constants AnimationColorSpace
+{
+ /** defines that the RGB color space is used for interpolation.
+ */
+ const short RGB = 0;
+
+ /** defines that the HSL color space is used for interpolation.
+ */
+ const short HSL = 1;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/animations/AnimationEndSync.idl b/offapi/com/sun/star/animations/AnimationEndSync.idl
new file mode 100644
index 000000000..f75d5e151
--- /dev/null
+++ b/offapi/com/sun/star/animations/AnimationEndSync.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_animations_AnimationEndSync_idl__
+#define __com_sun_star_animations_AnimationEndSync_idl__
+
+
+ module com { module sun { module star { module animations {
+
+
+/** @see http://www.w3.org/TR/smil20/smil-timing.html#adef-endsync
+*/
+constants AnimationEndSync
+{
+ /** The par, excl, or media element's implicit duration ends with the earliest
+ active end of all the child elements. This does not refer to the lexical
+ first child, or to the first child to start, but rather refers to the first
+ child to end its (first) active duration.
+ */
+ const short FIRST = 0;
+
+ /** The par, excl, or media element's implicit duration ends with the last active
+ end of the child elements. This does not refer to the lexical last child, or
+ to the last child to start, but rather refers to the last active end of all
+ children that have a resolved, definite begin time. If the time container
+ has no children with a resolved begin time, the time container ends
+ immediately. If child elements have multiple begin times, or otherwise
+ restart, the child elements must complete all instances of active durations
+ for resolved begin times.
+ This is the default value for par and excl elements.
+ */
+ const short LAST = 1;
+
+ /** The par, excl, or media element's implicit duration ends when all of the
+ child elements have ended their respective active durations. Elements with
+ indefinite or unresolved begin times will keep the simple duration of the
+ time container from ending.
+ When all elements have completed the active duration one or more times,
+ the parent time container can end.
+ */
+ const short ALL = 2;
+
+ /** The time container element's implicit duration ends when the intrinsic
+ media duration of the element ends. This must be defined by a host language.
+ If the time container element does not define an intrinsic media duration,
+ the host language must define the simple duration for the element.
+ This is the default value for media time container elements.
+ */
+ const short MEDIA = 3;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/animations/AnimationFill.idl b/offapi/com/sun/star/animations/AnimationFill.idl
new file mode 100644
index 000000000..7892a4399
--- /dev/null
+++ b/offapi/com/sun/star/animations/AnimationFill.idl
@@ -0,0 +1,91 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_animations_AnimationFill_idl__
+#define __com_sun_star_animations_AnimationFill_idl__
+
+
+ module com { module sun { module star { module animations {
+
+
+/** This constants are used for the members fill() and fillDefault()
+ of the an XTimeContainer.
+
+ @see XTimeContainer
+ @see http://www.w3.org/TR/smil20/smil-timing.html#adef-fill
+*/
+constants AnimationFill
+{
+ /** The fill behavior for the element is determined by the value of the XTiming::FillDefault attribute.
+ This is the default value for the XTiming::Fill...
+ If the application of fillDefault to an element would result in the element having a value
+ of fill that is not allowed on that element, the element will instead have a fill value of
+ AnimationFill::AUTO.
+ */
+ const short DEFAULT = 0;
+
+ /** Specifies that the value of this attribute (and of the fill behavior) are
+ inherited from the XTiming::FillDefault value
+ of the parent element. If there is no parent element, the value is AnimationFill::AUTO.
+ This is the default value for the XTiming::FillDefault.
+ */
+ const short INHERIT = 0;
+
+ /** Specifies that the element will not extend past the end of the last instance of the simple duration. */
+ const short REMOVE = 1;
+
+ /** Specifies that the element will extend past the end of the last instance of the simple duration by
+ "freezing" the element state at that point. The parent time container of the element determines how
+ long the element is frozen (as described immediately below).
+ */
+ const short FREEZE = 2;
+
+ /** Setting this to "hold" has the same effect as setting to "freeze", except that the element is always
+ frozen to extend to the end of the simple duration of the parent time container of the element
+ (independent of the type of time container). For profiles that support a layered layout model
+ (e.g., SMIL 2.0 Language Profile), held elements (elements with fill="hold") will refresh their display
+ area when a layer is added on top then later removed.
+ */
+ const short HOLD = 3;
+
+ /** Setting this to "transition" has the same effect as setting to "freeze", except that the element is
+ removed at the end of the transition. This value is only allowed on elements with media directly
+ associated with them. If specified on any other element (e.g. a time container element in the SMIL
+ language profile), the attribute is ignored. See the SMIL Transitions module.
+ */
+ const short TRANSITION = 4;
+
+ /** The fill behavior for this element depends on whether the element specifies any of the attributes
+ that define the simple or active duration:
+ <ul>
+ <li>If none of the attributes duration, end, repeatCount or repeatDuration are specified on
+ the element, then the element will have a fill behavior identical to that if it were specified
+ as AnimationFill::FREEZE.</li>
+ <li>Otherwise, the element will have a fill behavior identical to that if it were specified as
+ AnimationFill::REMOVE.</li>
+ </ul>
+ */
+ const short AUTO = 5;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/animations/AnimationNodeType.idl b/offapi/com/sun/star/animations/AnimationNodeType.idl
new file mode 100644
index 000000000..7c6abb105
--- /dev/null
+++ b/offapi/com/sun/star/animations/AnimationNodeType.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_animations_AnimationNodeType_idl__
+#define __com_sun_star_animations_AnimationNodeType_idl__
+
+
+ module com { module sun { module star { module animations {
+
+
+/** This constants defines a type for an animation node.
+ <br>
+ It can be used to quickly identify semantic blocks inside an animation hierarchy.
+
+ @see AnimationNode
+*/
+constants AnimationNodeType
+{
+ /** Defines a custom time node. */
+ const short CUSTOM = 0;
+
+ /** Defines a parallel time container. */
+ const short PAR = 1;
+
+ /** Defines a sequence time container. */
+ const short SEQ = 2;
+
+ /** Defines an iterate time container. */
+ const short ITERATE = 3;
+
+ /** Defines a generic attribute animation. */
+ const short ANIMATE = 4;
+
+ /** Defines a simple mean of just setting the value of
+ an attribute for a specified duration. */
+ const short SET = 5;
+
+ /** Defines a move animation along a path. */
+ const short ANIMATEMOTION = 6;
+
+ /** Defines an animation of a color attribute. */
+ const short ANIMATECOLOR = 7;
+
+ /** Defines an animation of a transformation attribute. */
+ const short ANIMATETRANSFORM = 8;
+
+ /** Defines an animation of a filter behavior. */
+ const short TRANSITIONFILTER = 9;
+
+ /** Defines an audio effect. */
+ const short AUDIO = 10;
+
+ /** Defines a command effect. */
+ const short COMMAND = 11;
+
+ /** Defines a physics animation
+
+ @since LibreOffice 7.1
+ */
+ const short ANIMATEPHYSICS = 12;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/animations/AnimationRestart.idl b/offapi/com/sun/star/animations/AnimationRestart.idl
new file mode 100644
index 000000000..78ded7ff5
--- /dev/null
+++ b/offapi/com/sun/star/animations/AnimationRestart.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_animations_AnimationRestart_idl__
+#define __com_sun_star_animations_AnimationRestart_idl__
+
+
+ module com { module sun { module star { module animations {
+
+
+/** defines the restart behavior
+
+ @see XTiming::Restart
+ @see XTiming::RestartDefault
+ @see http://www.w3.org/TR/smil20/smil-timing.html#adef-restart
+*/
+constants AnimationRestart
+{
+ /** The restart behavior for the element is determined by the value of the XTiming::RestartDefault attribute.
+ This is the default value for the XTiming::Restart attribute.
+ */
+ const short DEFAULT = 0;
+
+ /** Specifies that the value of this attribute (and of the restart behavior) are
+ inherited from the XTiming::RestartDefault value of the parent element.
+ If there is no parent element, the value is AnimationRestart::ALWAYS.
+ This is the default value for the XTiming::RestartDefault attribute.
+ */
+ const short INHERIT = 0;
+
+ /** The element can be restarted at any time.
+ */
+ const short ALWAYS = 1;
+
+ /** The element can only be restarted when it is not active (i.e. it can be restarted after the active end).
+ Attempts to restart the element during its active duration are ignored.
+ */
+ const short WHEN_NOT_ACTIVE = 2;
+
+ /** The element cannot be restarted for the remainder of the current simple
+ duration of the parent time container.
+ */
+ const short NEVER = 3;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/animations/AnimationTransformType.idl b/offapi/com/sun/star/animations/AnimationTransformType.idl
new file mode 100644
index 000000000..52e5f3834
--- /dev/null
+++ b/offapi/com/sun/star/animations/AnimationTransformType.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_animations_AnimationTransformType_idl__
+#define __com_sun_star_animations_AnimationTransformType_idl__
+
+
+ module com { module sun { module star { module animations {
+
+
+/** Specifies the transformation type for an XAnimateTransform.
+
+ @see http://www.w3.org/TR/SVG/animate.html#AnimateTransformElementTypeAttribute
+*/
+constants AnimationTransformType
+{
+ /** defines a translation
+ */
+ const short TRANSLATE = 0;
+
+ /** defines a scale
+ */
+ const short SCALE = 1;
+
+ /** defines a rotation
+ */
+ const short ROTATE = 2;
+
+ /** defines a skew transformation for x-axis
+ */
+ const short SKEWX = 3;
+
+ /** defines a skew transformation for y-axis
+ */
+ const short SKEWY = 4;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/animations/AnimationValueType.idl b/offapi/com/sun/star/animations/AnimationValueType.idl
new file mode 100644
index 000000000..9fc1ab3d3
--- /dev/null
+++ b/offapi/com/sun/star/animations/AnimationValueType.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_animations_AnimationValueType_idl__
+#define __com_sun_star_animations_AnimationValueType_idl__
+
+
+ module com { module sun { module star { module animations {
+
+
+/** @see XAnimateAttribute::ValueType
+*/
+constants AnimationValueType
+{
+ /** The animation value represents a string.
+ */
+ const short STRING = 0;
+
+ /** The animation value represents a number.
+ */
+ const short NUMBER = 1;
+
+ /** The animation value represents a color.
+ */
+ const short COLOR = 2;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/animations/Audio.idl b/offapi/com/sun/star/animations/Audio.idl
new file mode 100644
index 000000000..929a3dce9
--- /dev/null
+++ b/offapi/com/sun/star/animations/Audio.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_animations_Audio_idl__
+#define __com_sun_star_animations_Audio_idl__
+
+#include <com/sun/star/animations/XAudio.idl>
+
+
+module com { module sun { module star { module animations {
+
+
+/**
+ @since LibreOffice 4.1
+*/
+service Audio : com::sun::star::animations::XAudio;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/animations/Command.idl b/offapi/com/sun/star/animations/Command.idl
new file mode 100644
index 000000000..21a30c7a8
--- /dev/null
+++ b/offapi/com/sun/star/animations/Command.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_animations_Command_idl__
+#define __com_sun_star_animations_Command_idl__
+
+#include <com/sun/star/animations/XCommand.idl>
+
+
+module com { module sun { module star { module animations {
+
+
+/**
+ @since LibreOffice 4.1
+*/
+service Command : com::sun::star::animations::XCommand;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/animations/Event.idl b/offapi/com/sun/star/animations/Event.idl
new file mode 100644
index 000000000..4cef55e13
--- /dev/null
+++ b/offapi/com/sun/star/animations/Event.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_animations_Event_idl__
+#define __com_sun_star_animations_Event_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+ module com { module sun { module star { module animations {
+
+
+/** an event has a source that causes an event to be fired and a trigger
+ that defines under which condition an event should be raised and
+ an offset if the event should be raised a defined amount of time
+ after the event is triggered.
+*/
+struct Event
+{
+ /** this is the source for this event. */
+ any Source;
+
+ /** this is the trigger that fires this event. */
+ short Trigger;
+
+ /** an optional offset in seconds or Timing::INDEFINITE. This is the timespan
+ between the triggering of the event and actually raising the event
+ */
+ any Offset;
+
+ /** an option repeat value. If the #Trigger is
+ EventTrigger, this is the number of repeats
+ after which the event is initially raised.
+ */
+ unsigned short Repeat;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/animations/EventTrigger.idl b/offapi/com/sun/star/animations/EventTrigger.idl
new file mode 100644
index 000000000..37e2dacab
--- /dev/null
+++ b/offapi/com/sun/star/animations/EventTrigger.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_animations_EventTrigger_idl__
+#define __com_sun_star_animations_EventTrigger_idl__
+
+
+ module com { module sun { module star { module animations {
+
+
+constants EventTrigger
+{
+ /** Nothing triggers this event.
+ */
+ const short NONE = 0;
+
+ const short ON_BEGIN = 1;
+ const short ON_END = 2;
+
+ /** This event is raised when the element local timeline begins to play.
+ It will be raised each time the element begins the active duration
+ (i.e. when it restarts, but not when it repeats).
+
+ @see http://www.w3.org/TR/smil20/smil-timing.html#Timing-DOMEvents
+ */
+ const short BEGIN_EVENT = 3;
+
+ /** This event is raised at the active end of the element. Note that this
+ event is not raised at the simple end of each repeat.
+
+ @see http://www.w3.org/TR/smil20/smil-timing.html#Timing-DOMEvents
+ */
+ const short END_EVENT = 4;
+
+ const short ON_CLICK = 5;
+
+ const short ON_DBL_CLICK = 6;
+ const short ON_MOUSE_ENTER = 7;
+ const short ON_MOUSE_LEAVE = 8;
+
+ /** This event is raised when the user wants the presentation to go one step forward.
+ */
+ const short ON_NEXT = 9;
+
+ /** This event is raised when the user wants the presentation to go one step backward.
+ */
+ const short ON_PREV = 10;
+
+ const short ON_STOP_AUDIO = 11;
+
+ /** This event is raised when the element local timeline repeats.
+ It will be raised each time the element repeats, after the first iteration.
+
+ @see http://www.w3.org/TR/smil20/smil-timing.html#Timing-DOMEvents
+ */
+ const short REPEAT = 12;
+};
+
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/animations/IterateContainer.idl b/offapi/com/sun/star/animations/IterateContainer.idl
new file mode 100644
index 000000000..a6310f5f1
--- /dev/null
+++ b/offapi/com/sun/star/animations/IterateContainer.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_animations_IterateContainer_idl__
+#define __com_sun_star_animations_IterateContainer_idl__
+
+#include <com/sun/star/animations/XTimeContainer.idl>
+
+
+module com { module sun { module star { module animations {
+
+
+/**
+ @since LibreOffice 4.1
+*/
+service IterateContainer : com::sun::star::animations::XTimeContainer;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/animations/ParallelTimeContainer.idl b/offapi/com/sun/star/animations/ParallelTimeContainer.idl
new file mode 100644
index 000000000..a74b77cd9
--- /dev/null
+++ b/offapi/com/sun/star/animations/ParallelTimeContainer.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_animations_ParallelTimeContainer_idl__
+#define __com_sun_star_animations_ParallelTimeContainer_idl__
+
+#include <com/sun/star/animations/XParallelTimeContainer.idl>
+
+module com { module sun { module star { module animations {
+
+
+/**
+ @since LibreOffice 4.1
+*/
+service ParallelTimeContainer : com::sun::star::animations::XParallelTimeContainer;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/animations/SequenceTimeContainer.idl b/offapi/com/sun/star/animations/SequenceTimeContainer.idl
new file mode 100644
index 000000000..75746bf5b
--- /dev/null
+++ b/offapi/com/sun/star/animations/SequenceTimeContainer.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_animations_SequenceTimeContainer_idl__
+#define __com_sun_star_animations_SequenceTimeContainer_idl__
+
+#include <com/sun/star/animations/XTimeContainer.idl>
+
+
+ module com { module sun { module star { module animations {
+
+
+/**
+ @since LibreOffice 4.1
+*/
+service SequenceTimeContainer : XTimeContainer;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/animations/TargetProperties.idl b/offapi/com/sun/star/animations/TargetProperties.idl
new file mode 100644
index 000000000..2720b67ea
--- /dev/null
+++ b/offapi/com/sun/star/animations/TargetProperties.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_animations_TargetProperties_idl__
+#define __com_sun_star_animations_TargetProperties_idl__
+
+#include <com/sun/star/beans/NamedValue.idl>
+
+
+ module com { module sun { module star { module animations {
+
+
+/** Properties of an animated target.<p>
+
+ This struct collects all global attributes that apply to an
+ animation target. An animation target is anything that is
+ referenced from a given XAnimationNode tree as a target object.
+ */
+struct TargetProperties
+{
+ /// Target for which this struct specifies properties
+ any Target;
+
+ /// Global target properties
+ sequence< ::com::sun::star::beans::NamedValue > Properties;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/animations/TimeFilterPair.idl b/offapi/com/sun/star/animations/TimeFilterPair.idl
new file mode 100644
index 000000000..acfe4a4f4
--- /dev/null
+++ b/offapi/com/sun/star/animations/TimeFilterPair.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_animations_TimeFilterPair_idl__
+#define __com_sun_star_animations_TimeFilterPair_idl__
+
+
+ module com { module sun { module star { module animations {
+
+
+struct TimeFilterPair
+{
+ double Time;
+
+ double Progress;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/animations/Timing.idl b/offapi/com/sun/star/animations/Timing.idl
new file mode 100644
index 000000000..8042a732d
--- /dev/null
+++ b/offapi/com/sun/star/animations/Timing.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_animations_Timing_idl__
+#define __com_sun_star_animations_Timing_idl__
+
+
+ module com { module sun { module star { module animations {
+
+
+enum Timing
+{
+ /** specifies that a duration, end or start time is indefinite*/
+ INDEFINITE,
+
+ /** specifies a simple duration as the intrinsic media duration.
+ This is only valid for elements that define media.
+ */
+ MEDIA
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/animations/TransitionSubType.idl b/offapi/com/sun/star/animations/TransitionSubType.idl
new file mode 100644
index 000000000..a9234faed
--- /dev/null
+++ b/offapi/com/sun/star/animations/TransitionSubType.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_animations_TransitionSubType_idl__
+#define __com_sun_star_animations_TransitionSubType_idl__
+
+
+ module com { module sun { module star { module animations {
+
+
+/** @see http://www.w3.org/TR/smil20/smil-transitions.html#Table%201:%20Taxonomy%20Table
+*/
+constants TransitionSubType
+{
+ const short DEFAULT = 0;
+ const short LEFTTORIGHT = 1;
+ const short TOPTOBOTTOM = 2;
+ const short TOPLEFT = 3;
+ const short TOPRIGHT = 4;
+ const short BOTTOMRIGHT = 5;
+ const short BOTTOMLEFT = 6;
+ const short TOPCENTER = 7;
+ const short RIGHTCENTER = 8;
+ const short BOTTOMCENTER = 9;
+ const short LEFTCENTER = 10;
+ const short CORNERSIN = 11;
+ const short CORNERSOUT = 12;
+ const short VERTICAL = 13;
+ const short HORIZONTAL = 14;
+ const short DIAGONALBOTTOMLEFT = 15;
+ const short DIAGONALTOPLEFT = 16;
+ const short DOUBLEBARNDOOR = 17;
+ const short DOUBLEDIAMOND = 18;
+ const short DOWN = 19;
+ const short LEFT = 20;
+ const short UP = 21;
+ const short RIGHT = 22;
+ const short RECTANGLE = 25;
+ const short DIAMOND = 26;
+ const short CIRCLE = 27;
+ const short FOURPOINT = 28;
+ const short FIVEPOINT = 29;
+ const short SIXPOINT = 30;
+ const short HEART = 31;
+ const short KEYHOLE = 32;
+ const short CLOCKWISETWELVE = 33;
+ const short CLOCKWISETHREE = 34;
+ const short CLOCKWISESIX = 35;
+ const short CLOCKWISENINE = 36;
+ const short TWOBLADEVERTICAL = 37;
+ const short TWOBLADEHORIZONTAL = 38;
+ const short FOURBLADE = 39;
+ const short CLOCKWISETOP = 40;
+ const short CLOCKWISERIGHT = 41;
+ const short CLOCKWISEBOTTOM = 42;
+ const short CLOCKWISELEFT = 43;
+ const short CLOCKWISETOPLEFT = 44;
+ const short COUNTERCLOCKWISEBOTTOMLEFT = 45;
+ const short CLOCKWISEBOTTOMRIGHT = 46;
+ const short COUNTERCLOCKWISETOPRIGHT = 47;
+ const short CENTERTOP = 48;
+ const short CENTERRIGHT = 49;
+ const short TOP = 50;
+ const short BOTTOM = 52;
+ const short FANOUTVERTICAL = 54;
+ const short FANOUTHORIZONTAL = 55;
+ const short FANINVERTICAL = 56;
+ const short FANINHORIZONTAL = 57;
+ const short PARALLELVERTICAL = 58;
+ const short PARALLELDIAGONAL = 59;
+ const short OPPOSITEVERTICAL = 60;
+ const short OPPOSITEHORIZONTAL = 61;
+ const short PARALLELDIAGONALTOPLEFT = 62;
+ const short PARALLELDIAGONALBOTTOMLEFT = 63;
+ const short TOPLEFTHORIZONTAL = 64;
+ const short TOPLEFTDIAGONAL = 65;
+ const short TOPRIGHTDIAGONAL = 66;
+ const short BOTTOMRIGHTDIAGONAL = 67;
+ const short BOTTOMLEFTDIAGONAL = 68;
+ const short TOPLEFTCLOCKWISE = 69;
+ const short TOPRIGHTCLOCKWISE = 70;
+ const short BOTTOMRIGHTCLOCKWISE = 71;
+ const short BOTTOMLEFTCLOCKWISE = 72;
+ const short TOPLEFTCOUNTERCLOCKWISE = 73;
+ const short TOPRIGHTCOUNTERCLOCKWISE = 74;
+ const short BOTTOMRIGHTCOUNTERCLOCKWISE = 75;
+ const short BOTTOMLEFTCOUNTERCLOCKWISE = 76;
+ const short VERTICALTOPSAME = 77;
+ const short VERTICALBOTTOMSAME = 78;
+ const short VERTICALTOPLEFTOPPOSITE = 79;
+ const short VERTICALBOTTOMLEFTOPPOSITE = 80;
+ const short HORIZONTALLEFTSAME = 81;
+ const short HORIZONTALRIGHTSAME = 82;
+ const short HORIZONTALTOPLEFTOPPOSITE = 83;
+ const short HORIZONTALTOPRIGHTOPPOSITE = 84;
+ const short DIAGONALBOTTOMLEFTOPPOSITE = 85;
+ const short DIAGONALTOPLEFTOPPOSITE = 86;
+ const short TWOBOXTOP = 87;
+ const short TWOBOXBOTTOM = 88;
+ const short TWOBOXLEFT = 89;
+ const short TWOBOXRIGHT = 90;
+ const short FOURBOXVERTICAL = 91;
+ const short FOURBOXHORIZONTAL = 92;
+ const short VERTICALLEFT = 93;
+ const short VERTICALRIGHT = 94;
+ const short HORIZONTALLEFT = 95;
+ const short HORIZONTALRIGHT = 96;
+ const short FROMLEFT = 97;
+ const short FROMTOP = 98;
+ const short FROMRIGHT = 99;
+ const short FROMBOTTOM = 100;
+ const short CROSSFADE = 101;
+ const short FADETOCOLOR = 102;
+ const short FADEFROMCOLOR = 103;
+ const short FADEOVERCOLOR = 104;
+
+ // Most of those below are non-standard, not in SMIL 2.0
+ const short THREEBLADE = 105;
+ const short EIGHTBLADE = 106;
+ const short ONEBLADE = 107;
+ const short ACROSS = 108;
+ const short TOPLEFTVERTICAL = 109; // Is in SMIL
+ const short COMBHORIZONTAL = 110;
+ const short COMBVERTICAL = 111;
+ const short IN = 112; // Not actually a subtype, and apparently unused
+ const short OUT = 113; // Ditto
+ const short ROTATEIN = 114;
+ const short ROTATEOUT = 115;
+ const short FROMTOPLEFT = 116;
+ const short FROMTOPRIGHT = 117;
+ const short FROMBOTTOMLEFT = 118;
+ const short FROMBOTTOMRIGHT = 119;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/animations/TransitionType.idl b/offapi/com/sun/star/animations/TransitionType.idl
new file mode 100644
index 000000000..9052bd119
--- /dev/null
+++ b/offapi/com/sun/star/animations/TransitionType.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_animations_TransitionType_idl__
+#define __com_sun_star_animations_TransitionType_idl__
+
+
+ module com { module sun { module star { module animations {
+
+
+/** @see http://www.w3.org/TR/smil20/smil-transitions.html#Table%201:%20Taxonomy%20Table
+*/
+constants TransitionType
+{
+ const short BARWIPE = 1;
+ const short BOXWIPE = 2;
+ const short FOURBOXWIPE = 3;
+ const short BARNDOORWIPE = 4;
+ const short DIAGONALWIPE = 5;
+ const short BOWTIEWIPE = 6;
+ const short MISCDIAGONALWIPE = 7;
+ const short VEEWIPE = 8;
+ const short BARNVEEWIPE = 9;
+ const short ZIGZAGWIPE = 10;
+ const short BARNZIGZAGWIPE = 11;
+ const short IRISWIPE = 12;
+ const short TRIANGLEWIPE = 13;
+ const short ARROWHEADWIPE = 14;
+ const short PENTAGONWIPE = 15;
+ const short HEXAGONWIPE = 16;
+ const short ELLIPSEWIPE = 17;
+ const short EYEWIPE = 18;
+ const short ROUNDRECTWIPE = 19;
+ const short STARWIPE = 20;
+ const short MISCSHAPEWIPE = 21;
+ const short CLOCKWIPE = 22;
+ const short PINWHEELWIPE = 23;
+ const short SINGLESWEEPWIPE = 24;
+ const short FANWIPE = 25;
+ const short DOUBLEFANWIPE = 26;
+ const short DOUBLESWEEPWIPE = 27;
+ const short SALOONDOORWIPE = 28;
+ const short WINDSHIELDWIPE = 29;
+ const short SNAKEWIPE = 30;
+ const short SPIRALWIPE = 31;
+ const short PARALLELSNAKESWIPE = 32;
+ const short BOXSNAKESWIPE = 33;
+ const short WATERFALLWIPE = 34;
+ const short PUSHWIPE = 35;
+ const short SLIDEWIPE = 36;
+ const short FADE = 37;
+
+ // Non-standard, not in SMIL 2.0:
+ const short RANDOMBARWIPE = 38;
+ const short CHECKERBOARDWIPE = 39;
+ const short DISSOLVE = 40;
+ const short BLINDSWIPE = 41;
+ const short RANDOM = 42;
+ const short ZOOM = 43;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/animations/ValuePair.idl b/offapi/com/sun/star/animations/ValuePair.idl
new file mode 100644
index 000000000..982071dc9
--- /dev/null
+++ b/offapi/com/sun/star/animations/ValuePair.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_animations_ValuePair_idl__
+#define __com_sun_star_animations_ValuePair_idl__
+
+
+ module com { module sun { module star { module animations {
+
+
+struct ValuePair
+{
+ any First;
+ any Second;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/animations/XAnimate.idl b/offapi/com/sun/star/animations/XAnimate.idl
new file mode 100644
index 000000000..39c2b9009
--- /dev/null
+++ b/offapi/com/sun/star/animations/XAnimate.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_animations_XAnimate_idl__
+#define __com_sun_star_animations_XAnimate_idl__
+
+#include <com/sun/star/animations/XAnimationNode.idl>
+#include <com/sun/star/animations/TimeFilterPair.idl>
+
+
+ module com { module sun { module star { module animations {
+
+
+/** Interface for generic animation.
+
+ @see http://www.w3.org/TR/smil20/animation.html#edef-animate
+*/
+interface XAnimate : XAnimationNode
+{
+ /** This attribute specifies the target element to be animated.
+ <br>
+ See documentation of used animation engine for supported targets.
+ */
+ [attribute] any Target;
+
+ /** This attribute specifies an optional subitem from the target element
+ that should be animated.
+ <br>
+ A value of zero should always be the default and animate the complete target.
+ <br>
+ See documentation of used animation engine for supported subitems.
+ */
+ [attribute] short SubItem;
+
+ /** Specifies the target attribute.
+
+ @see http://www.w3.org/TR/smil20/animation.html#adef-attributeName
+ */
+ [attribute] string AttributeName;
+
+ /** A sequence of one or more values, each of which must be a legal value for
+ the specified attribute.
+
+ @see http://www.w3.org/TR/smil20/animation.html#adef-values
+ */
+ [attribute] sequence< any > Values;
+
+ [attribute] sequence< double > KeyTimes;
+
+ /**
+ @see AnimationValueType
+ */
+ [attribute] short ValueType;
+
+ /** Specifies the interpolation mode for the animation.
+ <br>
+ If the target attribute does not support linear interpolation (e.g. for strings),
+ or if the values attribute has only one value, the CalcMode attribute is ignored
+ and discrete interpolation is used.
+
+ @see AnimationCalcMode;
+ */
+ [attribute] short CalcMode;
+
+ /** Controls whether or not the animation is cumulative.
+
+ @see http://www.w3.org/TR/smil20/animation.html#adef-accumulate
+ */
+ [attribute] boolean Accumulate;
+
+ /** Controls whether or not the animation is additive.
+
+ @see AnimationAdditiveMode
+ @see http://www.w3.org/TR/smil20/animation.html#adef-additive
+ */
+ [attribute] short Additive;
+
+ /** Specifies the starting value of the animation.
+ <br>
+ Must be a legal value for the specified attribute.
+ Ignored if the #Values attribute is specified.
+
+ @see http://www.w3.org/TR/smil20/animation.html#adef-from
+ */
+ [attribute] any From;
+
+ /** Specifies the ending value of the animation.
+ <br>
+ Must be a legal value for the specified attribute.
+ Ignored if the #Values attribute is specified.
+
+ @see http://www.w3.org/TR/smil20/animation.html#adef-to
+ */
+ [attribute] any To;
+
+ /** Specifies a relative offset value for the animation.
+ <br>
+ Must be a legal value of a domain for which addition to the attributeType
+ domain is defined and which yields a value in the attributeType domain.
+ Ignored if the values attribute is specified.
+ Ignored if the #Values attribute is specified.
+
+ @see http://www.w3.org/TR/smil20/animation.html#adef-by
+ */
+ [attribute] any By;
+
+ /** todo: timeFilter="0,0; 0.14,0.36; 0.43,0.73; 0.71,0.91; 1.0,1.0" ?
+ */
+ [attribute] sequence< TimeFilterPair > TimeFilter;
+
+ /** if this string is set, its contents will be parsed as a formula.
+ All values are used as a parameter for this formula and the computed
+ result will be used.
+ */
+ [attribute] string Formula;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/animations/XAnimateColor.idl b/offapi/com/sun/star/animations/XAnimateColor.idl
new file mode 100644
index 000000000..d02b65f1b
--- /dev/null
+++ b/offapi/com/sun/star/animations/XAnimateColor.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_animations_XAnimateColor_idl__
+#define __com_sun_star_animations_XAnimateColor_idl__
+
+#include <com/sun/star/animations/XAnimate.idl>
+
+
+ module com { module sun { module star { module animations {
+
+
+/** Interface for animation by defining color changes over time.
+ <br>
+ Only color value will be legal values for the following members
+ <ul>
+ <li>XAnimate::Values</li>
+ <li>XAnimate::From</li>
+ <li>XAnimate::To</li>
+ <li>XAnimate::By</li>
+ </ul>
+ @see http://www.w3.org/TR/smil20/animation.html#edef-animateColor
+*/
+interface XAnimateColor : XAnimate
+{
+ /** defines the color space which is used to perform the interpolation.
+ <br>
+ @see AnimationColorSpace
+ */
+ [attribute] short ColorInterpolation;
+
+ /** defines the direction which is used to perform the interpolation
+ inside the color space defined with #ColorInterpolation.
+ <br>
+ Values could be `TRUE` for clockwise and `FALSE` for counterclockwise.
+
+ This attribute will be ignored for color spaces where this does
+ not make any sense.
+ */
+ [attribute] boolean Direction;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/animations/XAnimateMotion.idl b/offapi/com/sun/star/animations/XAnimateMotion.idl
new file mode 100644
index 000000000..51d79126a
--- /dev/null
+++ b/offapi/com/sun/star/animations/XAnimateMotion.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_animations_XAnimateMotion_idl__
+#define __com_sun_star_animations_XAnimateMotion_idl__
+
+#include <com/sun/star/animations/XAnimate.idl>
+
+
+ module com { module sun { module star { module animations {
+
+
+/** Interface for animation by defining motion on a path.
+
+ @see http://www.w3.org/TR/smil20/animation.html#edef-animateMotion
+*/
+interface XAnimateMotion : XAnimate
+{
+ /** Specifies an optional path.
+ <br>
+ If a path is used, the #From, #To and
+ #By members are ignored.
+ The value type of the path depends on the used rendering system.
+ Possible types maybe a svg:d path encoded in a string.
+ */
+ [attribute] any Path;
+
+ /** Specifies the origin of motion for the animation. The values and semantics
+ of this attribute are dependent upon the used animation engine.
+ */
+ [attribute] any Origin;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/animations/XAnimatePhysics.idl b/offapi/com/sun/star/animations/XAnimatePhysics.idl
new file mode 100644
index 000000000..0b1ba7577
--- /dev/null
+++ b/offapi/com/sun/star/animations/XAnimatePhysics.idl
@@ -0,0 +1,57 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.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_animations_XAnimatePhysics_idl__
+#define __com_sun_star_animations_XAnimatePhysics_idl__
+
+#include <com/sun/star/animations/XAnimate.idl>
+
+
+ module com { module sun { module star { module animations {
+
+
+/** Interface for physics animation.
+
+ @since LibreOffice 7.1
+*/
+interface XAnimatePhysics : XAnimate
+{
+ /** Specifies an optional horizontal starting velocity
+
+ Expressed in 1/100 mm.
+ */
+ [attribute] any StartVelocityX;
+
+ /** Specifies an optional vertical starting velocity
+
+ Expressed in 1/100 mm.
+ */
+ [attribute] any StartVelocityY;
+
+ /** Specifies an optional density value
+
+ Expressed in kg/m^2.
+ Should be non-negative.
+ Has a default value of 1.
+ */
+ [attribute] any Density;
+
+ /** Specifies an optional bounciness value
+
+ Takes a value between [0,1], 1 being no energy loss on collisions
+ Has a default value of 0.1
+ */
+ [attribute] any Bounciness;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/offapi/com/sun/star/animations/XAnimateSet.idl b/offapi/com/sun/star/animations/XAnimateSet.idl
new file mode 100644
index 000000000..bfd6714c7
--- /dev/null
+++ b/offapi/com/sun/star/animations/XAnimateSet.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_animations_XAnimateSet_idl__
+#define __com_sun_star_animations_XAnimateSet_idl__
+
+#include <com/sun/star/animations/XAnimate.idl>
+
+
+ module com { module sun { module star { module animations {
+
+
+/** Interface for animation by simply setting the value of the target attribute to a constant value.
+ This interface provides a simple means of just setting the value of an attribute for
+ a specified duration.
+
+ When using XAnimateSet, the following members are ignored
+ <ul>
+ <li>XAnimate::Values</li>
+ <li>XAnimate::KeyTimes</li>
+ <li>XAnimate::CalcMode</li>
+ <li>XAnimate::Accumulate</li>
+ <li>XAnimate::Additive</li>
+ <li>XAnimate::From</li>
+ <li>XAnimate::By</li>
+ <li>XAnimate::TimeFilter</li>
+ </ul>
+
+ @see http://www.w3.org/TR/smil20/animation.html#edef-set
+*/
+interface XAnimateSet : XAnimate
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/animations/XAnimateTransform.idl b/offapi/com/sun/star/animations/XAnimateTransform.idl
new file mode 100644
index 000000000..940625ea9
--- /dev/null
+++ b/offapi/com/sun/star/animations/XAnimateTransform.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_animations_XAnimateTransform_idl__
+#define __com_sun_star_animations_XAnimateTransform_idl__
+
+#include <com/sun/star/animations/XAnimate.idl>
+
+
+ module com { module sun { module star { module animations {
+
+
+/** animates a transformation attribute on a target element, thereby allowing
+ animations to control translation, scaling, rotation and/or skewing.
+
+ The member XAnimate::Attributes contains a short from
+ AnimationTransformType.
+
+ Depending on the value in XAnimate::Attributes, the
+ members XAnimate::From, XAnimate::To,
+ XAnimate::By or XAnimate::Values
+ contain the following
+
+ <ul>
+ <li>AnimationTransformType::TRANSLATE<br>
+ ValuePair of <i>tx</i> and <i>ty</i></li>
+ <li>AnimationTransformType::SCALE<br>
+ ValuePair of <i>sx</i> and <i>sy</i></li>
+ <li>AnimationTransformType::ROTATE<br>
+ Values for a rotation angle</li>
+ <li>AnimationTransformType::SKEWX<br>
+ Values for a skew-angle</li>
+ <li>AnimationTransformType::SKEWY<br>
+ Values for a skew-angle</li>
+ </ul>
+
+ @see http://www.w3.org/TR/SVG/animate.html#AnimateTransformElement
+*/
+interface XAnimateTransform : XAnimate
+{
+ /**
+ @see AnimationTransformType
+ */
+ [attribute] short TransformType;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/animations/XAnimationListener.idl b/offapi/com/sun/star/animations/XAnimationListener.idl
new file mode 100644
index 000000000..6d45a1807
--- /dev/null
+++ b/offapi/com/sun/star/animations/XAnimationListener.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_animations_XAnimationListener_idl__
+#define __com_sun_star_animations_XAnimationListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+#include <com/sun/star/animations/XAnimationNode.idl>
+
+
+ module com { module sun { module star { module animations {
+
+
+/** makes it possible to register listeners, which are called whenever
+ an animation event occurs.
+
+ @since OOo 3.0
+ */
+interface XAnimationListener : ::com::sun::star::lang::XEventListener
+{
+ /** This event is raised when the element local timeline begins to play.
+ <p>It will be raised each time the element begins the active duration (i.e. when it restarts, but not when it repeats).</p>
+ <p>It may be raised both in the course of normal (i.e. scheduled or interactive) timeline play, as well as in the
+ case that the element was begun with an interface method.</p>
+
+ @param Node
+ The node that begins to play.
+ */
+ void beginEvent( [in] XAnimationNode Node );
+
+ /** This event is raised at the active end of the element.
+ <p>Note that this event is not raised at the simple end of each repeat.</p>
+ <p>This event may be raised both in the course of normal (i.e. scheduled or interactive) timeline play, as well as in the
+ case that the element was ended with a DOM method.</p>
+
+ @param Node
+ The node that stops playing.
+ */
+ void endEvent( [in] XAnimationNode Node );
+
+ /** This event is raised when the element local timeline repeats.
+ <p>It will be raised each time the element repeats, after the first iteration.</p>
+ <p>Associated with the repeat event is an integer that indicates which repeat iteration is
+ beginning.
+
+ @param Node
+ The node that repeats.
+
+ @param Repeat
+ The value is a 0-based integer, but the repeat event is not raised for the first iteration and so the observed values will be >= 1.
+ */
+ void repeat( [in] XAnimationNode Node, [in] long Repeat );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/animations/XAnimationNode.idl b/offapi/com/sun/star/animations/XAnimationNode.idl
new file mode 100644
index 000000000..5c7286ce3
--- /dev/null
+++ b/offapi/com/sun/star/animations/XAnimationNode.idl
@@ -0,0 +1,243 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_animations_XAnimationNode_idl__
+#define __com_sun_star_animations_XAnimationNode_idl__
+
+#include <com/sun/star/container/XChild.idl>
+#include <com/sun/star/beans/NamedValue.idl>
+
+
+ module com { module sun { module star { module animations {
+
+
+interface XAnimationNode : ::com::sun::star::container::XChild
+{
+ /** a value from AnimationNodeType.
+
+ @see http://www.w3.org/TR/smil20/smil-timing.html#adef-timeContainer
+ */
+ [readonly, attribute] short Type;
+
+ /** a sequence of values that define the beginning of this element
+ <br>
+ #Begin is
+ <ul>
+ <li>`double` describes the element begin as an offset in seconds from an implicit syncbase.
+ The definition of the implicit syncbase depends upon the element's parent time container.
+ The offset is measured in parent simple time.</li>
+ <li>Event describes an event and an optional offset that determine the
+ element begin. The element begin is defined relative to the time that the event
+ is raised.</li>
+ <li>Timing::INDEFINITE the begin of the element will be determined by an
+ external event to the element.</li>
+ <li>sequence&lt;any&gt; a sequence of values described above if more than
+ one begin value is defined for this element.</li>
+ <li>`VOID` if no begin behavior is defined for this element.</li>
+ </ul>
+
+ @see http://www.w3.org/TR/smil20/smil-timing.html#adef-begin
+ */
+ [attribute] any Begin;
+
+ /** defines the length of the simple duration.
+ <br>
+ #Duration is
+ <ul>
+ <li>`double` specifies the length of the simple duration in seconds.</li>
+ <li>Timing::INDEFINITE specifies the simple duration as indefinite.</li>
+ <li>Timing::MEDIA specifies the simple duration as the intrinsic media duration. This is only valid for elements that define media.</li>
+ <li>`VOID` the simple duration for the element is defined to be the implicit duration of the element.</li>
+ </ul>
+
+ @see http://www.w3.org/TR/smil20/smil-timing.html#adef-dur
+ */
+ [attribute] any Duration;
+
+ /** a sequence of values that define the ending of this element
+ <br>
+ #End is
+ <ul>
+ <li>`double` describes the element end as an offset in seconds from an implicit syncbase.
+ The definition of the implicit syncbase depends upon the element's parent time container.
+ The offset is measured in parent simple time.</li>
+ <li>Event describes an event and an optional offset that determine the
+ element end. The element end is defined relative to the time that the event
+ is raised.</li>
+ <li>Timing::INDEFINITE the end of the element will be determined by an
+ external event to the element.</li>
+ <li>sequence&lt;any&gt; a sequence of values described above if more than
+ one begin value is defined for this element.</li>
+ <li>`VOID` if no end behavior is defined for this element.</li>
+ </ul>
+
+ @see http://www.w3.org/TR/smil20/smil-timing.html#adef-end
+ */
+ [attribute] any End;
+
+ /** controls the implicit duration of time containers,
+ as a function of the children.
+ <br>
+ The EndSync attribute is only valid for
+ par and excl time container elements, and media elements with timed
+ children (e.g. animate or area elements).
+
+ #EndSync is
+ either a `short` constant from EndSync,
+ an interface reference to a child XTimeContainer
+ or `VOID`.
+
+ @see http://www.w3.org/TR/smil20/smil-timing.html#adef-endsync
+ */
+ [attribute] any EndSync;
+
+ /** the number of iterations of the simple duration.
+ <br>
+ #RepeatCount is
+ <ul>
+ <li>`double`
+ this is a numeric value that specifies the number of iterations.
+ It can include partial iterations expressed as fraction values.
+ A fractional value describes a portion of the simple duration.
+ Values must be greater than 0.</li>
+ <li>Timing::INDEFINITE the element is defined to repeat indefinitely
+ (subject to the constraints of the parent time container).</li>
+ <li>`VOID`
+ no repeat count is defined for this element.</li>
+ </ul>
+
+ @see EndSync
+ @see http://www.w3.org/TR/smil20/smil-timing.html#adef-repeatCount
+ */
+ [attribute] any RepeatCount;
+
+ /** the total duration for repeat.
+ <br>
+ #RepeatDuration is
+ <ul>
+ <li>`double`
+ specifies the duration in element active time
+ to repeat the simple duration in seconds.</li>
+ <li>Timing::INDEFINITE the element is defined to repeat indefinitely
+ (subject to the constraints of the parent time container).</li>
+ <li>`VOID`
+ No repeat duration is defined for this element. </li>
+ </ul>
+
+ @see http://www.w3.org/TR/smil20/smil-timing.html#adef-repeatDur
+ */
+ [attribute] any RepeatDuration;
+
+ /** the attribute that specify the behavior how an element
+ should be extended beyond the active duration by freezing the final
+ state of the element.
+ <br>
+ #Fill is
+ a value from AnimationFill.
+
+ @see Fill
+ @see http://www.w3.org/TR/smil20/smil-timing.html#adef-fill
+ */
+ [attribute] short Fill;
+
+ /** the default value for the fill behavior for this element and all
+ descendants.
+ <br>
+ #FillDefault is
+ <ul>
+ <li>The values AnimationFill::REMOVE, AnimationFill::FREEZE,
+ AnimationFill::HOLD, AnimationFill::TRANSITION and AnimationFill::AUTO
+ specify that the element fill behavior is the respective value.</li>
+ <li>The value AnimationFill::INHERIT specifies that the value of this attribute
+ (and of the fill behavior) are inherited from the #FillDefault value of the parent
+ element. If there is no parent element, the value is AnimationFill::AUTO.</li>
+ </ul>
+
+ @see Fill
+ @see http://www.w3.org/TR/smil20/smil-timing.html#adef-fillDefault
+ */
+ [attribute] short FillDefault;
+
+ /** defines the restart behavior of this element.
+ <br>
+ #Restart is
+ a `short` value from AnimationRestart.
+
+ @see AnimationRestart
+ @see http://www.w3.org/TR/smil20/smil-timing.html#adef-restart
+ */
+ [attribute] short Restart;
+
+ /** defines the default restart behavior for this element and all descendants.
+
+ @returns
+ a value from Restart.
+
+ @see AnimationRestart
+ @see http://www.w3.org/TR/smil20/smil-timing.html#adef-restartDefault
+ */
+ [attribute] short RestartDefault;
+
+ /** defines the acceleration for this element.
+ <br>
+ Element time will accelerate from a rate of 0 at the beginning up
+ to a run rate, over the course of the specified proportion of the
+ simple duration.
+
+ #Acceleration is
+ a value between 0 (no acceleration) and 1 (acceleration until end
+ of the elements duration).
+
+ @see http://www.w3.org/TR/smil20/smil-timemanip.html#adef-accelerate
+ */
+ [attribute] double Acceleration;
+
+ /** defines the deceleration for this element.
+ Element time will deceleration from a run rate to a rate of 0 at the
+ ending, over the course of the specified proportion of the
+ simple duration.
+
+ #Decelerate is
+ a value between 0 (no deceleration) and 1 (deceleration from beginning
+ of the elements duration).
+
+ @see http://www.w3.org/TR/smil20/smil-timemanip.html#adef-decelerate
+ */
+ [attribute] double Decelerate;
+
+ /** defines the auto reverse settings for this element.
+
+ #AutoReverse is
+ <ul>
+ <li>`FALSE` if the animation is played normal.</li>
+ <li>`TRUE` if the animation is played forwards and then backwards. This doubles the duration</li>
+ </ul>
+
+ @see http://www.w3.org/TR/smil20/smil-timemanip.html#adef-autoReverse
+ */
+ [attribute] boolean AutoReverse;
+
+ [attribute] sequence< ::com::sun::star::beans::NamedValue > UserData;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/animations/XAnimationNodeSupplier.idl b/offapi/com/sun/star/animations/XAnimationNodeSupplier.idl
new file mode 100644
index 000000000..a9d83911f
--- /dev/null
+++ b/offapi/com/sun/star/animations/XAnimationNodeSupplier.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_animations_XAnimationNodeSupplier_idl__
+#define __com_sun_star_animations_XAnimationNodeSupplier_idl__
+
+#include <com/sun/star/animations/XAnimationNode.idl>
+
+
+ module com { module sun { module star { module animations {
+
+
+interface XAnimationNodeSupplier
+{
+ XAnimationNode getAnimationNode();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/animations/XAudio.idl b/offapi/com/sun/star/animations/XAudio.idl
new file mode 100644
index 000000000..957a84238
--- /dev/null
+++ b/offapi/com/sun/star/animations/XAudio.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_animations_XAudio_idl__
+#define __com_sun_star_animations_XAudio_idl__
+
+#include <com/sun/star/animations/XAnimationNode.idl>
+
+
+ module com { module sun { module star { module animations {
+
+
+interface XAudio : XAnimationNode
+{
+ /** This attribute specifies the source element that contains the audio.
+ */
+ [attribute] any Source;
+
+ [attribute] double Volume;
+
+ /** Specifies if the source shape should be hidden during slideshow (defaults to false).
+
+ @since LibreOffice 7.2
+ */
+ [attribute] boolean HideDuringShow;
+
+ /** Specifies if the source shape is a narration for the slide (defaults to false).
+
+ @since LibreOffice 7.2
+ */
+ [attribute] boolean Narration;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/animations/XCommand.idl b/offapi/com/sun/star/animations/XCommand.idl
new file mode 100644
index 000000000..15df81664
--- /dev/null
+++ b/offapi/com/sun/star/animations/XCommand.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_animations_XCommand_idl__
+#define __com_sun_star_animations_XCommand_idl__
+
+#include <com/sun/star/animations/XAnimationNode.idl>
+
+
+ module com { module sun { module star { module animations {
+
+
+/** Execution of the XCommand animation node causes the slide show component
+ to call back the application to perform the command.
+*/
+interface XCommand : XAnimationNode
+{
+ /** The application specific target.
+ See documentation of used application for supported targets.
+ */
+ [attribute] any Target;
+
+ /** This identifies the application specific command.
+ See documentation of used application for commands.
+ */
+ [attribute] short Command;
+
+ /** The application specific parameter for this command.
+ See documentation of used application for supported parameters
+ for different commands and target combinations.
+ */
+ [attribute] any Parameter;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/animations/XIterateContainer.idl b/offapi/com/sun/star/animations/XIterateContainer.idl
new file mode 100644
index 000000000..5268c05f5
--- /dev/null
+++ b/offapi/com/sun/star/animations/XIterateContainer.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_animations_XIterateContainer_idl__
+#define __com_sun_star_animations_XIterateContainer_idl__
+
+#include <com/sun/star/animations/XTimeContainer.idl>
+
+
+ module com { module sun { module star { module animations {
+
+
+/** An iterate container iterates over subitems of a given target object
+ and animates them by subsequently executes the contained effects on them.
+ <br>
+ This could be used to animate a target text word by word or letter by
+ letter.
+*/
+interface XIterateContainer : XTimeContainer
+{
+ /** a target that contains iterable contents, f.e. a paragraph.
+ <br>
+ See documentation of used animation engine for supported targets.
+ */
+ [attribute] any Target;
+
+ /** This attribute specifies an optional subitem from the target element
+ that should be animated.
+ <br>
+ A value of zero should always be the default and animate the complete target.
+ <br>
+ See documentation of used animation engine for supported subitems.
+ */
+ [attribute] short SubItem;
+
+ /** the type of iteration, this depends on the target.
+ <br>
+ See documentation of used animation engine for supported iteration types.
+ */
+ [attribute] short IterateType;
+
+ /** the time interval in second before the next iterated content is animated.
+ */
+ [attribute] double IterateInterval;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/animations/XParallelTimeContainer.idl b/offapi/com/sun/star/animations/XParallelTimeContainer.idl
new file mode 100644
index 000000000..42c38645e
--- /dev/null
+++ b/offapi/com/sun/star/animations/XParallelTimeContainer.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_animations_XParallelTimeContainer_idl__
+#define __com_sun_star_animations_XParallelTimeContainer_idl__
+
+#include <com/sun/star/animations/XTimeContainer.idl>
+#include <com/sun/star/container/XEnumerationAccess.idl>
+
+module com { module sun { module star { module animations {
+
+
+/**
+ @since LibreOffice 4.1
+*/
+interface XParallelTimeContainer
+{
+ interface com::sun::star::animations::XTimeContainer;
+ interface com::sun::star::container::XEnumerationAccess;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/animations/XTimeContainer.idl b/offapi/com/sun/star/animations/XTimeContainer.idl
new file mode 100644
index 000000000..66845eb97
--- /dev/null
+++ b/offapi/com/sun/star/animations/XTimeContainer.idl
@@ -0,0 +1,89 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_animations_XTimeContainer_idl__
+#define __com_sun_star_animations_XTimeContainer_idl__
+
+#include <com/sun/star/animations/XAnimationNode.idl>
+#include <com/sun/star/container/XContainer.idl>
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/container/ElementExistException.idl>
+
+
+ module com { module sun { module star { module animations {
+
+
+/**
+
+ Supported modules
+ <ul>
+ <li>BasicInlineTiming</li>
+ <li>EventTiming</li>
+ <li>FillDefault</li>
+ <li>MultiArcTiming</li>
+ <li>
+ RepeatTiming
+ <b>
+ The deprecated <code>repeat</code> is not supported.
+ </b>
+ </li>
+ <li>RestartDefault</li>
+ <li>RestartTiming</li>
+ <li>TimeContainerAttributes</li>
+ </ul>
+ @see http://www.w3.org/TR/smil20/smil-timing.html
+ @see http://www.w3.org/TR/smil20/smil-timing.html#Timing-TimingConcepts
+*/
+interface XTimeContainer : XAnimationNode
+{
+ XAnimationNode insertBefore( [in] XAnimationNode newChild, [in] XAnimationNode refChild )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::container::NoSuchElementException,
+ com::sun::star::container::ElementExistException,
+ com::sun::star::lang::WrappedTargetException );
+
+ XAnimationNode insertAfter( [in] XAnimationNode newChild, [in] XAnimationNode refChild )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::container::NoSuchElementException,
+ com::sun::star::container::ElementExistException,
+ com::sun::star::lang::WrappedTargetException );
+
+ XAnimationNode replaceChild( [in] XAnimationNode newChild, [in] XAnimationNode oldChild )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::container::NoSuchElementException,
+ com::sun::star::container::ElementExistException,
+ com::sun::star::lang::WrappedTargetException );
+
+ XAnimationNode removeChild( [in] XAnimationNode oldChild )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::container::NoSuchElementException,
+ com::sun::star::lang::WrappedTargetException );
+
+ XAnimationNode appendChild( [in] XAnimationNode newChild )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::container::ElementExistException,
+ com::sun::star::lang::WrappedTargetException );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/animations/XTransitionFilter.idl b/offapi/com/sun/star/animations/XTransitionFilter.idl
new file mode 100644
index 000000000..2f0921f14
--- /dev/null
+++ b/offapi/com/sun/star/animations/XTransitionFilter.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_animations_XTransitionFilter_idl__
+#define __com_sun_star_animations_XTransitionFilter_idl__
+
+#include <com/sun/star/animations/XAnimate.idl>
+
+
+ module com { module sun { module star { module animations {
+
+
+/**
+ Base members XAnimate::Values, XAnimate::From,
+ XAnimate::To and XAnimate::By can be used
+ with `double` values that set the transition progress the specific
+ amount of time.
+
+
+ @see http://www.w3.org/TR/smil20/smil-transitions.html#edef-transitionFilter
+*/
+interface XTransitionFilter : XAnimate
+{
+ /** This is the type or family of transition.
+ <br>This attribute is required and must be one of the transition families listed in
+ TransitionType.
+ */
+ [attribute] short Transition;
+
+ /** This is the subtype of the transition.
+ <br>
+ This must be one of the transition subtypes appropriate for the specified #Type
+ as listed in TransitionSubType.
+ TransitionSubType::DEFAULT is the default.
+ */
+ [attribute] short Subtype;
+
+ /** Indicates whether the transitionFilter's parent element will transition in or out.
+ Legal values are `TRUE` indicating that the parent media will become more visible as
+ the transition progress increases and `FALSE` indicating that the parent media will
+ become less visible as the transition progress increases.
+
+ The default value is `TRUE`.
+ */
+ [attribute] boolean Mode;
+
+ /** This specifies the direction the transition will run.
+ <br>
+ The legal values are `TRUE` for forward and `FALSE` for reverse.
+ The default value is `TRUE`.
+ Note that this does not impact the media being transitioned to, but
+ only affects the geometry of the transition.
+ Transitions which do not have a reverse interpretation should ignore the
+ direction attribute and assume the default value of `TRUE`.
+ */
+ [attribute] boolean Direction;
+
+ /** If the value of the #Type attribute is TransitionType::FADE and
+ the value of the #Subtype attribute is TransitionSubType::FADETOCOLOR or
+ TransitionSubType::FADEFROMCOLOR, then this attribute specifies the starting or ending
+ color of the fade.
+ The default value is 0 (black).
+
+ */
+ [attribute] long FadeColor;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/auth/AuthenticationFailedException.idl b/offapi/com/sun/star/auth/AuthenticationFailedException.idl
new file mode 100644
index 000000000..0548c92f9
--- /dev/null
+++ b/offapi/com/sun/star/auth/AuthenticationFailedException.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_auth_AuthenticationFailedException_idl__
+#define __com_sun_star_auth_AuthenticationFailedException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+module com { module sun { module star { module auth {
+
+/** indicates failure to authenticate using the specified security context.
+
+ @since OOo 1.1.2
+ */
+published exception AuthenticationFailedException : ::com::sun::star::uno::Exception
+{
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/auth/InvalidArgumentException.idl b/offapi/com/sun/star/auth/InvalidArgumentException.idl
new file mode 100644
index 000000000..93d31cec9
--- /dev/null
+++ b/offapi/com/sun/star/auth/InvalidArgumentException.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_auth_InvalidArgumentException_idl__
+#define __com_sun_star_auth_InvalidArgumentException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+module com { module sun { module star { module auth {
+
+/** indicates an invalid argument was passed to SSO API.
+
+ @since OOo 1.1.2
+ */
+published exception InvalidArgumentException : ::com::sun::star::uno::Exception
+{
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/auth/InvalidContextException.idl b/offapi/com/sun/star/auth/InvalidContextException.idl
new file mode 100644
index 000000000..85c523571
--- /dev/null
+++ b/offapi/com/sun/star/auth/InvalidContextException.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_auth_InvalidContextException_idl__
+#define __com_sun_star_auth_InvalidContextException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+module com { module sun { module star { module auth {
+
+/** indicates an attempt was made to use an invalid source or target context.
+
+ @since OOo 1.1.2
+ */
+published exception InvalidContextException : ::com::sun::star::uno::Exception
+{
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/auth/InvalidCredentialException.idl b/offapi/com/sun/star/auth/InvalidCredentialException.idl
new file mode 100644
index 000000000..06ce32992
--- /dev/null
+++ b/offapi/com/sun/star/auth/InvalidCredentialException.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_auth_InvalidCredentialException_idl__
+#define __com_sun_star_auth_InvalidCredentialException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+module com { module sun { module star { module auth {
+
+/** indicates an attempt was made to use an invalid or non existent credential.
+
+ @since OOo 1.1.2
+ */
+published exception InvalidCredentialException : ::com::sun::star::uno::Exception
+{
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/auth/InvalidPrincipalException.idl b/offapi/com/sun/star/auth/InvalidPrincipalException.idl
new file mode 100644
index 000000000..fe7de4ab3
--- /dev/null
+++ b/offapi/com/sun/star/auth/InvalidPrincipalException.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_auth_InvalidPrincipalException_idl__
+#define __com_sun_star_auth_InvalidPrincipalException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+module com { module sun { module star { module auth {
+
+/** indicates an invalid principal was specified.
+
+ @since OOo 1.1.2
+ */
+
+published exception InvalidPrincipalException : ::com::sun::star::uno::Exception
+{
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/auth/PersistenceFailureException.idl b/offapi/com/sun/star/auth/PersistenceFailureException.idl
new file mode 100644
index 000000000..2ea221675
--- /dev/null
+++ b/offapi/com/sun/star/auth/PersistenceFailureException.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_auth_PersistenceFailureException_idl__
+#define __com_sun_star_auth_PersistenceFailureException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+module com { module sun { module star { module auth {
+
+/** indicates an underlying persistence implementation failure.
+
+ @since OOo 1.1.2
+ */
+
+published exception PersistenceFailureException : ::com::sun::star::uno::Exception
+{
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/auth/SSOManagerFactory.idl b/offapi/com/sun/star/auth/SSOManagerFactory.idl
new file mode 100644
index 000000000..424159eb4
--- /dev/null
+++ b/offapi/com/sun/star/auth/SSOManagerFactory.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_auth_SSOManagerFactory_idl__
+#define __com_sun_star_auth_SSOManagerFactory_idl__
+
+#include <com/sun/star/auth/XSSOManagerFactory.idl>
+
+module com { module sun { module star { module auth {
+
+/** represents a starting point for Single Sign-on interactions.
+ <P>The Single Sign-on ( SSO ) APIs provide UNO based access to underlying
+ SSO implementations ( e.g. Kerberos ). The aim of the SSO APIs is to
+ enable authentication ( possibly mutual ) between a client ( source or
+ initiator ) and a network service ( target or acceptor ). This is
+ achieved via. the creation and processing of security tokens sent
+ between the two parties. The steps which should be followed to
+ successfully use the SSO APIs are as follows:
+ <UL>
+ <LI>Create an XSSOManagerFactory instance</LI>
+ <LI>Use this factory to create/retrieve an XSSOManager
+ instance.</LI>
+ <LI>Depending on whether your code is acting as SSO source or target,
+ you should use the XSSOManager instance to create an
+ initiator security context, XSSOInitiatorContext or an
+ acceptor security context, XSSOAcceptorContext
+ respectively.</LI>
+ <LI>On the initiator side, use the previously created context to process
+ security tokens received from the acceptor side and to create
+ security tokens to send to the acceptor side. On the acceptor side,
+ use the previously created context to process security tokens
+ received from the initiator side and to create security tokens to
+ send to the initiator side.</LI>
+ </UL>
+
+ The interface supports the creation of XSSOManager instances
+ which can subsequently be used to create security contexts.
+
+ @since OOo 1.1.2
+ */
+
+published service SSOManagerFactory: XSSOManagerFactory;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/auth/SSOPasswordCache.idl b/offapi/com/sun/star/auth/SSOPasswordCache.idl
new file mode 100644
index 000000000..7bf03cbb8
--- /dev/null
+++ b/offapi/com/sun/star/auth/SSOPasswordCache.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_auth_SSOPasswordCache_idl__
+#define __com_sun_star_auth_SSOPasswordCache_idl__
+
+#include <com/sun/star/auth/XSSOPasswordCache.idl>
+
+module com { module sun { module star { module auth {
+
+/** provided as a convenience for simple username/password based Single Sign-on
+ implementations which don't provide some sort of authentication information
+ repository.
+
+ provides access to a cache which maps usernames to associated passwords.
+ Individual cache entries may be persisted.
+
+ @since OOo 1.1.2
+ */
+published service SSOPasswordCache: XSSOPasswordCache;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/auth/UnsupportedException.idl b/offapi/com/sun/star/auth/UnsupportedException.idl
new file mode 100644
index 000000000..11535d31d
--- /dev/null
+++ b/offapi/com/sun/star/auth/UnsupportedException.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_auth_UnsupportedException_idl__
+#define __com_sun_star_auth_UnsupportedException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+module com { module sun { module star { module auth {
+
+/** indicates an operation unsupported by the implementation.
+
+ @since OOo 1.1.2
+ */
+
+published exception UnsupportedException : ::com::sun::star::uno::Exception
+{
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/auth/XSSOAcceptorContext.idl b/offapi/com/sun/star/auth/XSSOAcceptorContext.idl
new file mode 100644
index 000000000..af3421548
--- /dev/null
+++ b/offapi/com/sun/star/auth/XSSOAcceptorContext.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_auth_XSSOAcceptorContext_idl__
+#define __com_sun_star_auth_XSSOAcceptorContext_idl__
+
+#include <com/sun/star/auth/AuthenticationFailedException.idl>
+#include <com/sun/star/auth/InvalidArgumentException.idl>
+#include <com/sun/star/auth/InvalidContextException.idl>
+#include <com/sun/star/auth/InvalidCredentialException.idl>
+#include <com/sun/star/auth/XSSOContext.idl>
+
+module com { module sun { module star { module auth {
+
+/** represents an acceptor side security context.
+ <P>This context may be used to authenticate a Single Sign-on initiator based
+ on a security token sent by the initiator and to generate a token to be
+ sent back to the initiator so that it can authenticate the acceptor.
+
+ @since OOo 1.1.2
+*/
+
+published interface XSSOAcceptorContext : ::com::sun::star::auth::XSSOContext
+{
+ /** accepts/authenticates an SSO token sent from the context initiator side.
+ <P>
+ accept() should be called only once. Subsequent calls produce
+ undefined results.
+
+ @param Token
+ the SSO token sent by the initiator.
+
+ @returns
+ the sequence of bytes to be sent back to the initiator to allow
+ authentication of the acceptor side, if mutual authentication is
+ supported by the security context. If mutual authentication is not
+ supported a zero length sequence is returned.
+ */
+
+ sequence< byte > accept( [in] sequence< byte > Token )
+ raises( InvalidArgumentException,
+ InvalidCredentialException,
+ InvalidContextException,
+ AuthenticationFailedException );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/auth/XSSOContext.idl b/offapi/com/sun/star/auth/XSSOContext.idl
new file mode 100644
index 000000000..9aa21a364
--- /dev/null
+++ b/offapi/com/sun/star/auth/XSSOContext.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_auth_XSSOContext_idl__
+#define __com_sun_star_auth_XSSOContext_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module auth {
+
+/** Base SSO security context representation
+
+ @since OOo 1.1.2
+ */
+published interface XSSOContext : ::com::sun::star::uno::XInterface
+{
+ /** retrieves the principal name of the source/initiator of the context.
+ <P>
+ In the case of an acceptor side security context, the source principal
+ name is available only after the initiator has been authenticated.
+
+ @returns
+ the source principal name
+ */
+ string getSource();
+
+ /** retrieves the principal name of the target/acceptor of the context.
+
+ @returns
+ the target principal name
+ */
+ string getTarget();
+
+ /** retrieves the mechanism associated with the context.
+
+ @returns
+ the mechanism name
+ */
+ string getMechanism();
+
+ /** retrieves whether or not the context supports mutual authentication
+
+ @returns
+ `TRUE` if mutual authentication is supported, `FALSE` otherwise.
+ */
+ boolean getMutual();
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/auth/XSSOInitiatorContext.idl b/offapi/com/sun/star/auth/XSSOInitiatorContext.idl
new file mode 100644
index 000000000..57eb15615
--- /dev/null
+++ b/offapi/com/sun/star/auth/XSSOInitiatorContext.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_auth_XSSOInitiatorContext_idl__
+#define __com_sun_star_auth_XSSOInitiatorContext_idl__
+
+#include <com/sun/star/auth/AuthenticationFailedException.idl>
+#include <com/sun/star/auth/InvalidArgumentException.idl>
+#include <com/sun/star/auth/InvalidContextException.idl>
+#include <com/sun/star/auth/InvalidCredentialException.idl>
+#include <com/sun/star/auth/XSSOContext.idl>
+
+module com { module sun { module star { module auth {
+
+/** represents an initiator side security context.
+ <P>This context may be used to initialize authentication tokens to send to
+ an acceptor and to authenticate any token sent back in response.
+
+ @since OOo 1.1.2
+ */
+published interface XSSOInitiatorContext : ::com::sun::star::auth::XSSOContext
+{
+ /** initializes an SSO Token to send to the acceptor side and
+ authenticates an SSO Token returned by the acceptor if the
+ context supports mutual authentication.
+ <P>
+ init should be called only once for contexts which don't support
+ mutual authentication and at most twice for contexts which do
+ support mutual authentication. Additional calls produce undefined
+ results.
+
+ @param Token
+ the SSO token received from the acceptor side in response to an
+ authentication request. This token is ignored on the first call
+ to init and should only be specified for the second call on a
+ context supporting mutual authentication.
+
+ @returns
+ the sequence of bytes to be sent to the acceptor side as part of
+ an authentication request. This sequence will be non zero length
+ for the first call to init, zero length for the second call to init
+ on a context supporting mutual authentication and undefined in all
+ other cases.
+ */
+ sequence< byte > init( [in] sequence< byte > Token )
+ raises( InvalidArgumentException,
+ InvalidCredentialException,
+ InvalidContextException,
+ AuthenticationFailedException );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/auth/XSSOManager.idl b/offapi/com/sun/star/auth/XSSOManager.idl
new file mode 100644
index 000000000..ba31289bf
--- /dev/null
+++ b/offapi/com/sun/star/auth/XSSOManager.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_auth_XSSOManager_idl__
+#define __com_sun_star_auth_XSSOManager_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/auth/InvalidArgumentException.idl>
+#include <com/sun/star/auth/InvalidCredentialException.idl>
+#include <com/sun/star/auth/InvalidPrincipalException.idl>
+#include <com/sun/star/auth/UnsupportedException.idl>
+#include <com/sun/star/auth/XSSOAcceptorContext.idl>
+#include <com/sun/star/auth/XSSOInitiatorContext.idl>
+
+module com { module sun { module star { module auth {
+
+/** supports the creation of security contexts for both
+ the initiator/source side and the acceptor/target side.
+
+ @since OOo 1.1.2
+ */
+published interface XSSOManager : ::com::sun::star::uno::XInterface
+{
+ /** retrieves the mechanism name of all security contexts created using
+ this manager.
+
+ @returns
+ the mechanism name ( e.g. "KERBEROS" )
+ */
+ string getMechanism();
+
+
+ /** creates an initiator side security context.
+
+ @param SourcePrincipal
+ the name of the initiator side principal for which the context
+ will be created.
+
+ @param TargetPrincipal
+ the name of the target/acceptor side principal to which the source
+ principal intends to authenticate.
+
+ @param TargetHost
+ the host name associated with the target principal.
+
+ @returns
+ the newly created initiator context.
+ */
+ XSSOInitiatorContext createInitiatorContext(
+ [in] string SourcePrincipal,
+ [in] string TargetPrincipal,
+ [in] string TargetHost )
+ raises( InvalidArgumentException,
+ InvalidCredentialException,
+ InvalidPrincipalException,
+ UnsupportedException );
+
+
+ /** creates an acceptor side security context.
+
+ @param TargetPrincipal
+ the name of the acceptor side principal.
+
+ @returns
+ the newly created acceptor side context.
+ */
+ XSSOAcceptorContext createAcceptorContext(
+ [in] string TargetPrincipal )
+ raises( InvalidArgumentException,
+ InvalidCredentialException,
+ InvalidPrincipalException,
+ UnsupportedException );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/auth/XSSOManagerFactory.idl b/offapi/com/sun/star/auth/XSSOManagerFactory.idl
new file mode 100644
index 000000000..c66edbd3c
--- /dev/null
+++ b/offapi/com/sun/star/auth/XSSOManagerFactory.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_auth_XSSOManagerFactory_idl__
+#define __com_sun_star_auth_XSSOManagerFactory_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/auth/XSSOManager.idl>
+
+module com { module sun { module star { module auth {
+
+/** Factory for creating an SSO Manager supporting the user's configured
+ security mechanism
+
+ @since OOo 1.1.2
+ */
+
+published interface XSSOManagerFactory : ::com::sun::star::uno::XInterface
+{
+ /** provides a XSSOManager to be used in subsequent security
+ context creation.
+
+ @returns
+ the relevant XSSOManager instance
+ */
+ XSSOManager getSSOManager();
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/auth/XSSOPasswordCache.idl b/offapi/com/sun/star/auth/XSSOPasswordCache.idl
new file mode 100644
index 000000000..23aac255b
--- /dev/null
+++ b/offapi/com/sun/star/auth/XSSOPasswordCache.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_auth_XSSOPasswordCache_idl__
+#define __com_sun_star_auth_XSSOPasswordCache_idl__
+
+#include <com/sun/star/auth/InvalidArgumentException.idl>
+#include <com/sun/star/auth/PersistenceFailureException.idl>
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module auth {
+
+/** supports password caching for security mechanisms which use passwords as
+ credentials or as an input to credential creation but don't have
+ an external method to cache these passwords.
+
+ @since OOo 1.1.2
+ */
+
+published interface XSSOPasswordCache : ::com::sun::star::uno::XInterface
+{
+ /** adds a username/password combination to the cache.
+ <P>
+ If an entry for the specified username already exists in the cache, it
+ will be overwritten.
+
+ @param UserName
+ the user name to add
+
+ @param Password
+ the associated password
+
+ @param Persist
+ indicates whether or not the username/password combination should be
+ persisted
+ */
+ void addPassword( [in] string UserName,
+ [in] string Password,
+ [in] boolean Persist )
+ raises( InvalidArgumentException,
+ PersistenceFailureException );
+
+ /** retrieves a password for a given user from the cache.
+ <P>
+ Non persistent cache is searched first, followed by the
+ persistent cache ( if it exists ).
+
+ @param UserName
+ the name of the user whose password should be retrieved
+
+ @param Persist
+ indicates whether or not the password is persistent
+
+ @returns
+ the required password
+ */
+ string getPassword( [in] string UserName, [out] boolean Persist )
+ raises( InvalidArgumentException,
+ PersistenceFailureException );
+
+ /** removes a password from the cache
+
+ @param UserName
+ the name of the user whose password should be removed.
+
+ @param RemovePersist
+ indicates whether or not the password should also be removed, if
+ present, from persistent cache.
+ */
+ void removePassword( [in] string UserName, [in] boolean RemovePersist )
+ raises( InvalidArgumentException,
+ PersistenceFailureException );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/AccessibleButton.idl b/offapi/com/sun/star/awt/AccessibleButton.idl
new file mode 100644
index 000000000..d4022e85b
--- /dev/null
+++ b/offapi/com/sun/star/awt/AccessibleButton.idl
@@ -0,0 +1,108 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_awt_AccessibleButton_idl__
+#define __com_sun_star_awt_AccessibleButton_idl__
+
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#include <com/sun/star/accessibility/XAccessibleExtendedComponent.idl>
+#include <com/sun/star/accessibility/XAccessibleText.idl>
+#include <com/sun/star/accessibility/XAccessibleAction.idl>
+#include <com/sun/star/accessibility/XAccessibleValue.idl>
+
+module com { module sun { module star { module awt {
+
+/** specifies accessibility support for a button.
+
+ @since OOo 1.1.2
+ */
+service AccessibleButton
+{
+ /** This interface gives access to the structural information of a button:
+
+ <ul>
+ <li>Role: The role of a button is
+ com::sun::star::accessibility::AccessibleRole::PUSH_BUTTON.</li>
+ <li>Name: The name of a button is its localized label.</li>
+ <li>Description: The description of a button is its localized
+ help text.</li>
+ <li>Children: There are no children.</li>
+ <li>Parent: The parent is the window that contains the button.</li>
+ <li>Relations: There are no relations.</li>
+ <li>States: The states supported by this service are
+ <ul>
+ <li>com::sun::star::accessibility::AccessibleStateType::CHECKED
+ is set if the object is currently checked.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ is set if the object has already been disposed
+ and subsequent calls to this object result in
+ com::sun::star::lang::DisposedException
+ exceptions.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::ENABLED
+ is set if the object is enabled.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::FOCUSABLE
+ is always set.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::FOCUSED
+ is set if the object currently has the keyboard focus.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::PRESSED
+ is set if the object is currently pressed.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::SHOWING
+ is set if the object is displayed on the screen.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::VISIBLE
+ is always set.</li>
+ </ul>
+ </li>
+ </ul>
+ */
+ interface ::com::sun::star::accessibility::XAccessibleContext;
+
+ interface ::com::sun::star::accessibility::XAccessibleEventBroadcaster;
+
+ interface ::com::sun::star::accessibility::XAccessibleComponent;
+
+ interface ::com::sun::star::accessibility::XAccessibleExtendedComponent;
+
+ /** This interface gives read-only access to the text representation
+ of a button.
+ */
+ interface ::com::sun::star::accessibility::XAccessibleText;
+
+ /** This interface gives access to the actions that can be executed for
+ a button. The supported actions for a button are:
+ <ul>
+ <li>click</li>
+ </ul>
+ */
+ interface ::com::sun::star::accessibility::XAccessibleAction;
+
+ /** This interface gives access to the numerical value of a button,
+ which is related to the button's
+ com::sun::star::accessibility::AccessibleStateType::PRESSED state.
+ */
+ interface ::com::sun::star::accessibility::XAccessibleValue;
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/AccessibleCheckBox.idl b/offapi/com/sun/star/awt/AccessibleCheckBox.idl
new file mode 100644
index 000000000..9ef4d9e9f
--- /dev/null
+++ b/offapi/com/sun/star/awt/AccessibleCheckBox.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_awt_AccessibleCheckBox_idl__
+#define __com_sun_star_awt_AccessibleCheckBox_idl__
+
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#include <com/sun/star/accessibility/XAccessibleExtendedComponent.idl>
+#include <com/sun/star/accessibility/XAccessibleText.idl>
+#include <com/sun/star/accessibility/XAccessibleAction.idl>
+#include <com/sun/star/accessibility/XAccessibleValue.idl>
+
+module com { module sun { module star { module awt {
+
+/** specifies accessibility support for a check box.
+
+ @since OOo 1.1.2
+ */
+service AccessibleCheckBox
+{
+ /** This interface gives access to the structural information of a
+ check box:
+
+ <ul>
+ <li>Role: The role of a check box is
+ com::sun::star::accessibility::AccessibleRole::CHECK_BOX.</li>
+ <li>Name: The name of a check box is its localized label.</li>
+ <li>Description: The description of a check box is its localized
+ help text.</li>
+ <li>Children: There are no children.</li>
+ <li>Parent: The parent is the window that contains the check box.</li>
+ <li>Relations: There are no relations.</li>
+ <li>States: The states supported by this service are
+ <ul>
+ <li>com::sun::star::accessibility::AccessibleStateType::CHECKED
+ is set if the object is currently checked.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ is set if the object has already been disposed
+ and subsequent calls to this object result in
+ com::sun::star::lang::DisposedException
+ exceptions.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::ENABLED
+ is set if the object is enabled.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::FOCUSABLE
+ is always set.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::FOCUSED
+ is set if the object currently has the keyboard focus.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::SHOWING
+ is set if the object is displayed on the screen.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::VISIBLE
+ is always set.</li>
+ </ul>
+ </li>
+ </ul>
+ */
+ interface ::com::sun::star::accessibility::XAccessibleContext;
+
+ interface ::com::sun::star::accessibility::XAccessibleEventBroadcaster;
+
+ interface ::com::sun::star::accessibility::XAccessibleComponent;
+
+ interface ::com::sun::star::accessibility::XAccessibleExtendedComponent;
+
+ /** This interface gives read-only access to the text representation
+ of a check box.
+ */
+ interface ::com::sun::star::accessibility::XAccessibleText;
+
+ /** This interface gives access to the actions that can be executed for
+ a check box. The supported actions for a check box are:
+ <ul>
+ <li>click</li>
+ </ul>
+ */
+ interface ::com::sun::star::accessibility::XAccessibleAction;
+
+ /** This interface gives access to the numerical value of a
+ check box, which is related to the check box state:
+
+ <pre>
+ 0: not checked
+ 1: checked
+ 2: don't know
+ </pre>
+ */
+ interface ::com::sun::star::accessibility::XAccessibleValue;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/AccessibleComboBox.idl b/offapi/com/sun/star/awt/AccessibleComboBox.idl
new file mode 100644
index 000000000..aa350b59c
--- /dev/null
+++ b/offapi/com/sun/star/awt/AccessibleComboBox.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_awt_AccessibleComboBox_idl__
+#define __com_sun_star_awt_AccessibleComboBox_idl__
+
+#include <com/sun/star/accessibility/AccessibleContext.idl>
+
+module com { module sun { module star { module accessibility {
+
+ interface XAccessibleText;
+ interface XAccessibleExtendedComponent;
+ interface XAccessibleComponent;
+
+}; }; }; };
+
+module com { module sun { module star { module awt {
+
+/** specifies accessibility support for a combo box.
+
+ @see com::sun::star::accessibility::AccessibleContext
+ @see com::sun::star::accessibility::XAccessibleComponent
+ @see com::sun::star::accessibility::XAccessibleExtendedComponent
+ @since OOo 1.1.2
+*/
+service AccessibleComboBox
+{
+ /** This interface gives access to the structural information of a combo box:
+
+ <ul>
+ <li>Role: The role of a combo box is
+ com::sun::star::accessibility::AccessibleRole::COMBO_BOX.</li>
+ <li>Name: The name of a combo box is its localized label.</li>
+ <li>Description: The description of a combo box is its localized
+ help text.</li>
+ <li>Children: There exists two children.
+ The first is a com::sun::star::awt::AccessibleTextField
+ and the 2nd is a com::sun::star::awt::AccessibleList. </li>
+ <li>Parent: The parent is the window that contains the combo box.</li>
+ <li>Relations: There are no relations.</li>
+ <li>States: The states supported by this service are
+ <ul>
+ <li>com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ is set if the object has already been disposed
+ and subsequent calls to this object result in
+ com::sun::star::lang::DisposedException
+ exceptions.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::ENABLED
+ is set if the object is enabled.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::FOCUSABLE
+ is always set.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::FOCUSED
+ is set if the object currently has the keyboard focus.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::ACTIVE
+ is set if a child has currently the focus.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::RESIZABLE
+ is set if the object can be resized.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::SHOWING
+ is set if the object is displayed on the screen.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::VISIBLE
+ is always set.</li>
+ </ul>
+ </li>
+ </ul>
+ */
+
+ service com::sun::star::accessibility::AccessibleContext;
+
+ interface com::sun::star::accessibility::XAccessibleComponent;
+ interface com::sun::star::accessibility::XAccessibleExtendedComponent;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/AccessibleDropDownComboBox.idl b/offapi/com/sun/star/awt/AccessibleDropDownComboBox.idl
new file mode 100644
index 000000000..5e3aea6df
--- /dev/null
+++ b/offapi/com/sun/star/awt/AccessibleDropDownComboBox.idl
@@ -0,0 +1,104 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_awt_AccessibleDropDownComboBox_idl__
+#define __com_sun_star_awt_AccessibleDropDownComboBox_idl__
+
+#include <com/sun/star/accessibility/AccessibleContext.idl>
+
+
+module com { module sun { module star { module accessibility {
+
+ interface XAccessibleAction;
+ interface XAccessibleExtendedComponent;
+ interface XAccessibleComponent;
+
+}; }; }; };
+
+module com { module sun { module star { module awt {
+
+/** specifies accessibility support for a dropdown combo box.
+
+ @see com::sun::star::accessibility::AccessibleContext
+
+ @see com::sun::star::accessibility::XAccessibleComponent
+ @see com::sun::star::accessibility::XAccessibleExtendedComponent
+ @see com::sun::star::accessibility::XAccessibleAction
+
+ @since OOo 1.1.2
+*/
+service AccessibleDropDownComboBox
+{
+ /** This interface gives access to the structural information of a dropdown combo box:
+
+ <ul>
+ <li>Role: The role of a dropdown combo box is
+ com::sun::star::accessibility::AccessibleRole::COMBO_BOX.</li>
+ <li>Name: The name of a dropdown combo box is its localized label.</li>
+ <li>Description: The description of a dropdown combo box is its localized
+ help text.</li>
+ <li>Children: There exists two children.
+ The first is a com::sun::star::awt::AccessibleTextField
+ and the 2nd is a com::sun::star::awt::AccessibleList. </li>
+ <li>Parent: The parent is the window that contains the dropdown combo box.</li>
+ <li>Relations: There are no relations.</li>
+ <li>States: The states supported by this service are
+ <ul>
+ <li>com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ is set if the object has already been disposed
+ and subsequent calls to this object result in
+ com::sun::star::lang::DisposedException
+ exceptions.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::ENABLED
+ is set if the object is enabled.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::FOCUSABLE
+ is always set.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::FOCUSED
+ is set if the object currently has the keyboard focus.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::ACTIVE
+ is set if a child has currently the focus.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::RESIZABLE
+ is set if the object can be resized.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::SHOWING
+ is set if the object is displayed on the screen.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::VISIBLE
+ is always set.</li>
+ </ul>
+ </li>
+ </ul>
+ */
+ service com::sun::star::accessibility::AccessibleContext;
+
+ interface com::sun::star::accessibility::XAccessibleComponent;
+ interface com::sun::star::accessibility::XAccessibleExtendedComponent;
+
+ /** This interface gives access to the actions that can be executed for
+ a dropdown combo box. The supported actions for a dropdown combo box are:
+ <ul>
+ <li>togglePopup</li>
+ </ul>
+ */
+ interface com::sun::star::accessibility::XAccessibleAction;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/AccessibleDropDownListBox.idl b/offapi/com/sun/star/awt/AccessibleDropDownListBox.idl
new file mode 100644
index 000000000..62a649186
--- /dev/null
+++ b/offapi/com/sun/star/awt/AccessibleDropDownListBox.idl
@@ -0,0 +1,104 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_awt_AccessibleDropDownListBox_idl__
+#define __com_sun_star_awt_AccessibleDropDownListBox_idl__
+
+#include <com/sun/star/accessibility/AccessibleContext.idl>
+
+
+module com { module sun { module star { module accessibility {
+
+ interface XAccessibleAction;
+ interface XAccessibleExtendedComponent;
+ interface XAccessibleComponent;
+
+}; }; }; };
+
+module com { module sun { module star { module awt {
+
+
+/** specifies accessibility support for a dropdown list box.
+
+ @see com::sun::star::accessibility::AccessibleContext
+
+ @see com::sun::star::accessibility::XAccessibleComponent
+ @see com::sun::star::accessibility::XAccessibleExtendedComponent
+ @see com::sun::star::accessibility::XAccessibleAction
+
+ @since OOo 1.1.2
+*/
+service AccessibleDropDownListBox
+{
+ /** This interface gives access to the structural information of a dropdown list box:
+
+ <ul>
+ <li>Role: The role of a dropdown list box is
+ com::sun::star::accessibility::AccessibleRole::COMBO_BOX.</li>
+ <li>Name: The name of a dropdown list box is its localized label.</li>
+ <li>Description: The description of a dropdown list box is its localized
+ help text.</li>
+ <li>Children: There exists one child.
+ It is of type com::sun::star::awt::AccessibleList.</li>
+ <li>Parent: The parent is the window that contains the dropdown list box.</li>
+ <li>Relations: There are no relations.</li>
+ <li>States: The states supported by this service are
+ <ul>
+ <li>com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ is set if the object has already been disposed
+ and subsequent calls to this object result in
+ com::sun::star::lang::DisposedException
+ exceptions.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::ENABLED
+ is set if the object is enabled.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::FOCUSABLE
+ is always set.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::FOCUSED
+ is set if the object currently has the keyboard focus.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::ACTIVE
+ is set if a child has currently the focus.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::RESIZABLE
+ is set if the object can be resized.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::SHOWING
+ is set if the object is displayed on the screen.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::VISIBLE
+ is always set.</li>
+ </ul>
+ </li>
+ </ul>
+ */
+ service com::sun::star::accessibility::AccessibleContext;
+
+ interface com::sun::star::accessibility::XAccessibleComponent;
+ interface com::sun::star::accessibility::XAccessibleExtendedComponent;
+
+ /** This interface gives access to the actions that can be executed for
+ a dropdown list box. The supported actions for a dropdown list box are:
+ <ul>
+ <li>togglePopup</li>
+ </ul>
+ */
+ interface com::sun::star::accessibility::XAccessibleAction;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/AccessibleEdit.idl b/offapi/com/sun/star/awt/AccessibleEdit.idl
new file mode 100644
index 000000000..3c4cce690
--- /dev/null
+++ b/offapi/com/sun/star/awt/AccessibleEdit.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_awt_AccessibleEdit_idl__
+#define __com_sun_star_awt_AccessibleEdit_idl__
+
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#include <com/sun/star/accessibility/XAccessibleExtendedComponent.idl>
+#include <com/sun/star/accessibility/XAccessibleText.idl>
+#include <com/sun/star/accessibility/XAccessibleEditableText.idl>
+
+module com { module sun { module star { module awt {
+
+/** specifies accessibility support for an edit.
+
+ @since OOo 1.1.2
+ */
+service AccessibleEdit
+{
+ /** This interface gives access to the structural information of an edit:
+
+ <ul>
+ <li>Role: The role of an edit is
+ com::sun::star::accessibility::AccessibleRole::TEXT.
+ If the text content of the edit is password protected
+ the role is
+ com::sun::star::accessibility::AccessibleRole::PASSWORD_TEXT.</li>
+ <li>Name: If the relation of type
+ com::sun::star::accessibility::AccessibleRelationType::LABELED_BY
+ is set, the name of the edit is the localized label of the target
+ object, otherwise there is no name.</li>
+ <li>Description: The description of an edit is its localized
+ help text.</li>
+ <li>Children: There are no children.</li>
+ <li>Parent: The parent is the window that contains the edit.</li>
+ <li>Relations: The relations supported by this service are
+ <ul>
+ <li>com::sun::star::accessibility::AccessibleRelationType::LABELED_BY
+ is set if the object is labeled by one or more target
+ objects.</li>
+ </ul>
+ </li>
+ <li>States: The states supported by this service are
+ <ul>
+ <li>com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ is set if the object has already been disposed
+ and subsequent calls to this object result in
+ com::sun::star::lang::DisposedException
+ exceptions.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::EDITABLE
+ is set
+ if the content of the object can be changed by the user.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::ENABLED
+ is set if the object is enabled.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::FOCUSABLE
+ is always set.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::FOCUSED
+ is set if the object currently has the keyboard focus.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::SHOWING
+ is set if the object is displayed on the screen.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::VISIBLE
+ is always set.</li>
+ </ul>
+ </li>
+ </ul>
+ */
+ interface ::com::sun::star::accessibility::XAccessibleContext;
+
+ interface ::com::sun::star::accessibility::XAccessibleEventBroadcaster;
+
+ interface ::com::sun::star::accessibility::XAccessibleComponent;
+
+ interface ::com::sun::star::accessibility::XAccessibleExtendedComponent;
+
+ /** This interface gives read-only access to the text representation
+ of an edit.
+ */
+ interface ::com::sun::star::accessibility::XAccessibleText;
+
+ /** This interface extends the
+ com::sun::star::accessibility::XAccessibleText
+ interface and gives read and write access to the text representation
+ of an edit.
+ */
+ interface ::com::sun::star::accessibility::XAccessibleEditableText;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/AccessibleFixedText.idl b/offapi/com/sun/star/awt/AccessibleFixedText.idl
new file mode 100644
index 000000000..bf50561bc
--- /dev/null
+++ b/offapi/com/sun/star/awt/AccessibleFixedText.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_awt_AccessibleFixedText_idl__
+#define __com_sun_star_awt_AccessibleFixedText_idl__
+
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#include <com/sun/star/accessibility/XAccessibleExtendedComponent.idl>
+#include <com/sun/star/accessibility/XAccessibleText.idl>
+
+module com { module sun { module star { module awt {
+
+/** specifies accessibility support for a fixed text.
+
+ @since OOo 1.1.2
+ */
+service AccessibleFixedText
+{
+ /** This interface gives access to the structural information of a
+ fixed text:
+
+ <ul>
+ <li>Role: The role of a fixed text is
+ com::sun::star::accessibility::AccessibleRole::LABEL.</li>
+ <li>Name: The name of a fixed text is its localized label.</li>
+ <li>Description: The description of a fixed text is its localized
+ help text.</li>
+ <li>Children: There are no children.</li>
+ <li>Parent: The parent is the window that contains the fixed text.</li>
+ <li>Relations: The relations supported by this service are
+ <ul>
+ <li>com::sun::star::accessibility::AccessibleRelationType::LABEL_FOR
+ is set if the object is a label for one or more target
+ objects.</li>
+ </ul>
+ </li>
+ <li>States: The states supported by this service are
+ <ul>
+ <li>com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ is set if the object has already been disposed
+ and subsequent calls to this object result in
+ com::sun::star::lang::DisposedException
+ exceptions.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::ENABLED
+ is set if the object is enabled.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::MULTI_LINE
+ is set if the object contains multiple lines of text.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::SHOWING
+ is set if the object is displayed on the screen.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::VISIBLE
+ is always set.</li>
+ </ul>
+ </li>
+ </ul>
+ */
+ interface ::com::sun::star::accessibility::XAccessibleContext;
+
+ interface ::com::sun::star::accessibility::XAccessibleEventBroadcaster;
+
+ interface ::com::sun::star::accessibility::XAccessibleComponent;
+
+ interface ::com::sun::star::accessibility::XAccessibleExtendedComponent;
+
+ /** This interface gives read-only access to the text representation
+ of a fixed text.
+ */
+ interface ::com::sun::star::accessibility::XAccessibleText;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/AccessibleIconChoiceControl.idl b/offapi/com/sun/star/awt/AccessibleIconChoiceControl.idl
new file mode 100644
index 000000000..9d9325753
--- /dev/null
+++ b/offapi/com/sun/star/awt/AccessibleIconChoiceControl.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_awt_AccessibleIconChoiceControl_idl__
+#define __com_sun_star_awt_AccessibleIconChoiceControl_idl__
+
+#include <com/sun/star/accessibility/AccessibleContext.idl>
+
+
+module com { module sun { module star { module accessibility {
+
+ interface XAccessibleSelection;
+ interface XAccessibleComponent;
+
+}; }; }; };
+
+module com { module sun { module star { module awt {
+
+/** specifies accessibility support for an icon choice control.
+
+ @see com::sun::star::accessibility::AccessibleContext
+ @see com::sun::star::accessibility::XAccessibleComponent
+
+ @since OOo 1.1.2
+*/
+service AccessibleIconChoiceControl
+{
+ /** This interface gives access to the structural information of an icon choice control:
+
+ <ul>
+ <li>Role: The role of an icon choice control is
+ com::sun::star::accessibility::AccessibleRole::TREE.</li>
+ <li>Name: The name of an icon choice control is IconChoiceControl.</li>
+ <li>Description: The description of an icon choice control is its localized
+ help text.</li>
+ <li>Children: There exists children of type com::sun::star::awt::AccessibleIconChoiceControlEntry.
+ </li>
+ <li>Parent: The parent is the window that contains the icon choice control.</li>
+ <li>Relations: There are no relations.</li>
+ <li>States: The states supported by this service are
+ <ul>
+ <li>com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ is set if the object has already been disposed
+ and subsequent calls to this object result in
+ com::sun::star::lang::DisposedException
+ exceptions.</li>
+ <li><com::sun::star::accessibility::AccessibleStateType::ENABLED
+ is set if the object is enabled.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::FOCUSABLE
+ is always set.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::FOCUSED
+ is set if the object currently has the keyboard focus.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::ACTIVE
+ is set if a child has currently the focus.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::RESIZABLE
+ is set if the object can be resized.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::SHOWING
+ is set if the object is displayed on the screen.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::VISIBLE
+ is always set.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::MANAGES_DESCENDANTS
+ is always set. Children are transient.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::MULTI_SELECTABLE
+ is set when multi selection is enabled.</li>
+ </ul>
+ </li>
+ </ul>
+ */
+ service com::sun::star::accessibility::AccessibleContext;
+
+ interface com::sun::star::accessibility::XAccessibleComponent;
+
+ /** This interface gives access to the selectable children of a
+ icon choice control.
+ */
+ interface com::sun::star::accessibility::XAccessibleSelection;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/AccessibleIconChoiceControlEntry.idl b/offapi/com/sun/star/awt/AccessibleIconChoiceControlEntry.idl
new file mode 100644
index 000000000..aa20ed170
--- /dev/null
+++ b/offapi/com/sun/star/awt/AccessibleIconChoiceControlEntry.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_awt_AccessibleIconChoiceControlEntry_idl__
+#define __com_sun_star_awt_AccessibleIconChoiceControlEntry_idl__
+
+#include <com/sun/star/accessibility/AccessibleContext.idl>
+
+
+module com { module sun { module star { module accessibility {
+
+ interface XAccessibleText;
+ interface XAccessibleComponent;
+
+}; }; }; };
+
+module com { module sun { module star { module awt {
+
+/** specifies accessibility support for an icon choice control entry.
+
+ @see com::sun::star::accessibility::AccessibleContext
+
+ @see com::sun::star::accessibility::XAccessibleComponent
+ @see com::sun::star::accessibility::XAccessibleText
+
+ @since OOo 1.1.2
+*/
+service AccessibleIconChoiceControlEntry
+{
+ /** This interface gives access to the structural information of an icon choice control entry:
+
+ <ul>
+ <li>Role: The role of an icon choice control entry is
+ com::sun::star::accessibility::AccessibleRole::LABEL.</li>
+ <li>Name: The name of an icon choice control entry is it's text.</li>
+ <li>Description: The description of an icon choice control entry is empty.</li>
+ <li>Children: There exist no children.
+ </li>
+ <li>Parent: The parent is either the com::sun::star::awt::AccessibleIconChoiceControl.</li>
+ <li>Relations: There are no relations.</li>
+ <li>States: The states supported by this service are
+ <ul>
+ <li>com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ is set if the object has already been disposed
+ and subsequent calls to this object result in
+ com::sun::star::lang::DisposedException
+ exceptions.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::ENABLED
+ is set if the object is enabled.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::SHOWING
+ is set if the object is displayed on the screen.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::VISIBLE
+ is always set.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::TRANSIENT
+ is always set.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::SELECTABLE
+ is always set.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::SELECTED
+ is set when it is selected.</li>
+ </ul>
+ </li>
+ </ul>
+ */
+ service com::sun::star::accessibility::AccessibleContext;
+
+ interface com::sun::star::accessibility::XAccessibleComponent;
+
+ /** This interface gives read-only access to the text representation
+ of an icon choice control entry.
+ */
+ interface com::sun::star::accessibility::XAccessibleText;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/AccessibleList.idl b/offapi/com/sun/star/awt/AccessibleList.idl
new file mode 100644
index 000000000..c351d21c7
--- /dev/null
+++ b/offapi/com/sun/star/awt/AccessibleList.idl
@@ -0,0 +1,120 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_awt_AccessibleList_idl__
+#define __com_sun_star_awt_AccessibleList_idl__
+
+#include <com/sun/star/accessibility/AccessibleContext.idl>
+
+module com { module sun { module star { module accessibility {
+
+ interface XAccessible;
+ interface XAccessibleExtendedComponent;
+ interface XAccessibleComponent;
+ interface XAccessibleSelection;
+
+}; }; }; };
+
+module com { module sun { module star { module awt {
+
+
+
+/** Accessible lists are used by combo boxes as container for
+ the list items.
+
+ @see com::sun::star::accessibility::AccessibleContext
+
+ @see com::sun::star::accessibility::XAccessibleComponent
+ @see com::sun::star::accessibility::XAccessibleExtendedComponent
+ @see ::com::sun::star::accessibility::XAccessibleSelection
+
+ @since OOo 1.1.2
+*/
+service AccessibleList
+{
+ /** This interface gives access to the structural information of a list:
+
+ <ul>
+ <li>Role: The role of a list is
+ ::com::sun::star::accessibility::AccessibleRole::LIST.</li>
+ <li>Name: The name of a list is its localized label.</li>
+ <li>Description: The description of a list is its localized
+ help text.</li>
+ <li>Children: There exists children.
+ Each child is of type com::sun::star::awt::AccessibleListItem. </li>
+ <li>Parent: The parent can be of type
+ <ul>
+ <li>com::sun::star::awt::AccessibleComboBox</li>
+ <li>com::sun::star::awt::AccessibleListBox</li>
+ <li>com::sun::star::awt::AccessibleDropDownListBox</li>
+ <li>com::sun::star::awt::AccessibleDropDownComboBox</li>
+ </ul>
+ </li>
+ <li>Relations: There are no relations.</li>
+ <li>States: The states supported by this service are
+ <ul>
+ <li>com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ is set if the object has already been disposed
+ and subsequent calls to this object result in
+ com::sun::star::lang::DisposedException
+ exceptions.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::ENABLED
+ is set if the object is enabled.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::FOCUSABLE
+ is always set.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::FOCUSED
+ is set if the object currently has the keyboard focus.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::ACTIVE
+ is set if a child has currently the focus.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::RESIZABLE
+ is set if the object can be resized.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::SHOWING
+ is set if the object is displayed on the screen.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::VISIBLE
+ is always set.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::MULTI_SELECTABLE
+ is set if the list supports multi selection.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::MANAGES_DESCENDANTS
+ is always set.
+ The children are transient.</li>
+ </ul>
+ </li>
+ </ul>
+ */
+ service com::sun::star::accessibility::AccessibleContext;
+
+ interface com::sun::star::accessibility::XAccessibleComponent;
+ interface com::sun::star::accessibility::XAccessibleExtendedComponent;
+
+ /** Support of the com::sun::star::accessibility::XAccessible interface may be
+ discontinued in the future.
+ */
+ interface com::sun::star::accessibility::XAccessible;
+
+ /** This interface gives access to the selectable children of a
+ list.
+ */
+ interface com::sun::star::accessibility::XAccessibleSelection;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/AccessibleListBox.idl b/offapi/com/sun/star/awt/AccessibleListBox.idl
new file mode 100644
index 000000000..388af78b8
--- /dev/null
+++ b/offapi/com/sun/star/awt/AccessibleListBox.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_awt_AccessibleListBox_idl__
+#define __com_sun_star_awt_AccessibleListBox_idl__
+
+#include <com/sun/star/accessibility/AccessibleContext.idl>
+
+module com { module sun { module star { module accessibility {
+
+ interface XAccessibleSelection;
+ interface XAccessibleExtendedComponent;
+ interface XAccessibleComponent;
+
+}; }; }; };
+
+module com { module sun { module star { module awt {
+/** specifies accessibility support for a list box.
+
+ @see com::sun::star::accessibility::AccessibleContext
+
+ @see com::sun::star::accessibility::XAccessibleComponent
+ @see com::sun::star::accessibility::XAccessibleExtendedComponent
+
+ @since OOo 1.1.2
+*/
+service AccessibleListBox
+{
+ /** This interface gives access to the structural information of a list box:
+
+ <ul>
+ <li>Role: The role of a list box is
+ com::sun::star::accessibility::AccessibleRole::PANEL.</li>
+ <li>Name: The name of a list box is its localized label.</li>
+ <li>Description: The description of a list box is its localized
+ help text.</li>
+ <li>Children: There exists one child.
+ It is of type com::sun::star::awt::AccessibleList.</li>
+ <li>Parent: The parent is the window that contains the list box.</li>
+ <li>Relations: There are no relations.</li>
+ <li>States: The states supported by this service are
+ <ul>
+ <li>com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ is set if the object has already been disposed
+ and subsequent calls to this object result in
+ com::sun::star::lang::DisposedException
+ exceptions.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::ENABLED
+ is set if the object is enabled.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::FOCUSABLE
+ is always set.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::FOCUSED
+ is set if the object currently has the keyboard focus.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::ACTIVE
+ is set if a child has currently the focus.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::RESIZABLE
+ is set if the object can be resized.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::SHOWING
+ is set if the object is displayed on the screen.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::VISIBLE
+ is always set.</li>
+ </ul>
+ </li>
+ </ul>
+ */
+ service com::sun::star::accessibility::AccessibleContext;
+
+ interface com::sun::star::accessibility::XAccessibleComponent;
+ interface com::sun::star::accessibility::XAccessibleExtendedComponent;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/AccessibleListBoxList.idl b/offapi/com/sun/star/awt/AccessibleListBoxList.idl
new file mode 100644
index 000000000..7ff907899
--- /dev/null
+++ b/offapi/com/sun/star/awt/AccessibleListBoxList.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_awt_AccessibleListBoxList_idl__
+#define __com_sun_star_awt_AccessibleListBoxList_idl__
+
+#include <com/sun/star/awt/AccessibleList.idl>
+
+
+module com { module sun { module star { module awt {
+
+/** Accessible list box lists are used by list boxes as container for
+ the list items. In addition of the simple container functionality of the
+ AccessibleList service the
+ com::sun::star::accessibility::XAccessibleSelection interface is supported.
+
+ @since OOo 1.1.2
+*/
+service AccessibleListBoxList
+{
+ service AccessibleList;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/AccessibleListItem.idl b/offapi/com/sun/star/awt/AccessibleListItem.idl
new file mode 100644
index 000000000..f4aa65a5c
--- /dev/null
+++ b/offapi/com/sun/star/awt/AccessibleListItem.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_awt_AccessibleListItem_idl__
+#define __com_sun_star_awt_AccessibleListItem_idl__
+
+#include <com/sun/star/accessibility/AccessibleContext.idl>
+
+
+module com { module sun { module star { module accessibility {
+
+ interface XAccessibleText;
+ interface XAccessibleComponent;
+
+}; }; }; };
+
+module com { module sun { module star { module awt {
+
+/** specifies accessibility support for a list item.
+
+ @see com::sun::star::accessibility::AccessibleContext
+ @see com::sun::star::accessibility::XAccessibleComponent
+ @see com::sun::star::accessibility::XAccessibleText
+
+ @since OOo 1.1.2
+*/
+service AccessibleListItem
+{
+ /** This interface gives access to the structural information of a list item:
+
+ <ul>
+ <li>Role: The role of a list item is
+ com::sun::star::accessibility::AccessibleRole::LIST_ITEM.</li>
+ <li>Name: The name of a list item is the text of the item.</li>
+ <li>Description: The description of a list item is empty.</li>
+ <li>Children: There exists no children.</li>
+ <li>Parent: The parent is of type com::sun::star::awt::AccessibleList.</li>
+ <li>Relations: There are no relations.</li>
+ <li>States: The states supported by this service are
+ <ul>
+ <li>com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ is set if the object has already been disposed
+ and subsequent calls to this object result in
+ com::sun::star::lang::DisposedException
+ exceptions.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::ENABLED
+ is always set.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::SHOWING
+ is set if the object is displayed on the screen.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::VISIBLE
+ is always set.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::TRANSIENT
+ is always set.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::SELECTABLE
+ is always set.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::SELECTED
+ is set when the item is selected.</li>
+ </ul>
+ </li>
+ </ul>
+ */
+ service com::sun::star::accessibility::AccessibleContext;
+
+ interface com::sun::star::accessibility::XAccessibleComponent;
+
+ /** This interface gives read-only access to the text representation
+ of a list item.
+ */
+ interface com::sun::star::accessibility::XAccessibleText;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/AccessibleMenu.idl b/offapi/com/sun/star/awt/AccessibleMenu.idl
new file mode 100644
index 000000000..d0bcd5197
--- /dev/null
+++ b/offapi/com/sun/star/awt/AccessibleMenu.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_awt_AccessibleMenu_idl__
+#define __com_sun_star_awt_AccessibleMenu_idl__
+
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#include <com/sun/star/accessibility/XAccessibleExtendedComponent.idl>
+#include <com/sun/star/accessibility/XAccessibleText.idl>
+#include <com/sun/star/accessibility/XAccessibleAction.idl>
+#include <com/sun/star/accessibility/XAccessibleValue.idl>
+#include <com/sun/star/accessibility/XAccessibleSelection.idl>
+
+module com { module sun { module star { module awt {
+
+/** specifies accessibility support for a menu.
+
+ @since OOo 1.1.2
+ */
+service AccessibleMenu
+{
+ /** This interface gives access to the structural information of a menu:
+
+ <ul>
+ <li>Role: The role of a menu is
+ com::sun::star::accessibility::AccessibleRole::MENU.</li>
+ <li>Name: The name of a menu is the localized item text.</li>
+ <li>Description: The description of a menu is its localized
+ help text.</li>
+ <li>Children: The children of a menu are menus, menu items or
+ menu separators, whose accessible context supports the services
+ AccessibleMenu, AccessibleMenuItem or
+ AccessibleMenuSeparator.</li>
+ <li>Parent: The parent of a menu is a menu bar, a pop-up menu or
+ a menu, whose accessible context supports the services
+ AccessibleMenuBar, AccessiblePopupMenu
+ or AccessibleMenu.</li>
+ <li>Relations: There are no relations.</li>
+ <li>States: The states supported by this service are
+ <ul>
+ <li>com::sun::star::accessibility::AccessibleStateType::ARMED
+ is set if the object is highlighted.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::CHECKED
+ is set if the object is currently checked.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ is set if the object has already been disposed
+ and subsequent calls to this object result in
+ com::sun::star::lang::DisposedException
+ exceptions.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::ENABLED
+ is set if the object is enabled.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::OPAQUE
+ is always set.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::SELECTABLE
+ is always set.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::SELECTED
+ is set if the object is selected.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::SHOWING
+ is set if the object is displayed on the screen.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::VISIBLE
+ is always set.</li>
+ </ul>
+ </li>
+ </ul>
+ */
+ interface ::com::sun::star::accessibility::XAccessibleContext;
+
+ interface ::com::sun::star::accessibility::XAccessibleEventBroadcaster;
+
+ interface ::com::sun::star::accessibility::XAccessibleComponent;
+
+ interface ::com::sun::star::accessibility::XAccessibleExtendedComponent;
+
+ /** This interface gives read-only access to the text representation
+ of a menu.
+ */
+ interface ::com::sun::star::accessibility::XAccessibleText;
+
+ /** This interface gives access to the actions that can be executed for
+ a menu. The supported actions for a menu are:
+ <ul>
+ <li>select</li>
+ </ul>
+ */
+ interface ::com::sun::star::accessibility::XAccessibleAction;
+
+ /** This interface gives access to the numerical value of a
+ menu, which is related to the menu's
+ com::sun::star::accessibility::AccessibleStateType::SELECTED state.
+ */
+ interface ::com::sun::star::accessibility::XAccessibleValue;
+
+ /** This interface gives access to the selectable children of a
+ menu.
+ */
+ interface ::com::sun::star::accessibility::XAccessibleSelection;
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/AccessibleMenuBar.idl b/offapi/com/sun/star/awt/AccessibleMenuBar.idl
new file mode 100644
index 000000000..5ed8059e3
--- /dev/null
+++ b/offapi/com/sun/star/awt/AccessibleMenuBar.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_awt_AccessibleMenuBar_idl__
+#define __com_sun_star_awt_AccessibleMenuBar_idl__
+
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#include <com/sun/star/accessibility/XAccessibleExtendedComponent.idl>
+#include <com/sun/star/accessibility/XAccessibleSelection.idl>
+
+module com { module sun { module star { module awt {
+
+/** specifies accessibility support for a menu bar.
+
+ @since OOo 1.1.2
+ */
+service AccessibleMenuBar
+{
+ /** This interface gives access to the structural information of a
+ menu bar:
+
+ <ul>
+ <li>Role: The role of a menu bar is
+ com::sun::star::accessibility::AccessibleRole::MENU_BAR.</li>
+ <li>Name: There is no name.</li>
+ <li>Description: The description of a menu bar is its localized
+ help text.</li>
+ <li>Children: The children of a menu bar are menus, menu items or
+ menu separators, whose accessible context supports the services
+ AccessibleMenu, AccessibleMenuItem or
+ AccessibleMenuSeparator.</li>
+ <li>Parent: The parent is the window that contains the menu bar.</li>
+ <li>Relations: There are no relations.</li>
+ <li>States: The states supported by this service are
+ <ul>
+ <li>com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ is set if the object has already been disposed
+ and subsequent calls to this object result in
+ com::sun::star::lang::DisposedException
+ exceptions.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::ENABLED
+ is set if the object is enabled.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::FOCUSABLE
+ is always set.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::FOCUSED
+ is set if the object currently has the keyboard focus.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::OPAQUE
+ is always set.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::SHOWING
+ is set if the object is displayed on the screen.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::VISIBLE
+ is always set.</li>
+ </ul>
+ </li>
+ </ul>
+ */
+ interface ::com::sun::star::accessibility::XAccessibleContext;
+
+ interface ::com::sun::star::accessibility::XAccessibleEventBroadcaster;
+
+ interface ::com::sun::star::accessibility::XAccessibleComponent;
+
+ interface ::com::sun::star::accessibility::XAccessibleExtendedComponent;
+
+ /** This interface gives access to the selectable children of a
+ menu bar.
+ */
+ interface ::com::sun::star::accessibility::XAccessibleSelection;
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/AccessibleMenuItem.idl b/offapi/com/sun/star/awt/AccessibleMenuItem.idl
new file mode 100644
index 000000000..efbe09efe
--- /dev/null
+++ b/offapi/com/sun/star/awt/AccessibleMenuItem.idl
@@ -0,0 +1,113 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_awt_AccessibleMenuItem_idl__
+#define __com_sun_star_awt_AccessibleMenuItem_idl__
+
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#include <com/sun/star/accessibility/XAccessibleExtendedComponent.idl>
+#include <com/sun/star/accessibility/XAccessibleText.idl>
+#include <com/sun/star/accessibility/XAccessibleAction.idl>
+#include <com/sun/star/accessibility/XAccessibleValue.idl>
+
+module com { module sun { module star { module awt {
+
+/** specifies accessibility support for a menu item.
+
+ @since OOo 1.1.2
+ */
+service AccessibleMenuItem
+{
+ /** This interface gives access to the structural information of a
+ menu item:
+
+ <ul>
+ <li>Role: The role of a menu item is
+ com::sun::star::accessibility::AccessibleRole::MENU_ITEM.</li>
+ <li>Name: The name of a menu item is the localized item text.</li>
+ <li>Description: The description of a menu item is its localized
+ help text.</li>
+ <li>Children: There are no children.</li>
+ <li>Parent: The parent of a menu item is a menu bar, a pop-up menu or
+ a menu, whose accessible context supports the services
+ AccessibleMenuBar, AccessiblePopupMenu
+ or AccessibleMenu.</li>
+ <li>Relations: There are no relations.</li>
+ <li>States: The states supported by this service are
+ <ul>
+ <li>com::sun::star::accessibility::AccessibleStateType::ARMED
+ is set if the object is highlighted.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::CHECKED
+ is set if the object is currently checked.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ is set if the object has already been disposed
+ and subsequent calls to this object result in
+ com::sun::star::lang::DisposedException
+ exceptions.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::ENABLED
+ is set if the object is enabled.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::OPAQUE
+ is always set.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::SELECTABLE
+ is always set.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::SELECTED
+ is set if the object is selected.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::SHOWING
+ is set if the object is displayed on the screen.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::VISIBLE
+ is always set.</li>
+ </ul>
+ </li>
+ </ul>
+ */
+ interface ::com::sun::star::accessibility::XAccessibleContext;
+
+ interface ::com::sun::star::accessibility::XAccessibleEventBroadcaster;
+
+ interface ::com::sun::star::accessibility::XAccessibleComponent;
+
+ interface ::com::sun::star::accessibility::XAccessibleExtendedComponent;
+
+ /** This interface gives read-only access to the text representation
+ of a menu item.
+ */
+ interface ::com::sun::star::accessibility::XAccessibleText;
+
+ /** This interface gives access to the actions that can be executed for
+ a menu item. The supported actions for a menu item are:
+ <ul>
+ <li>select</li>
+ </ul>
+ */
+ interface ::com::sun::star::accessibility::XAccessibleAction;
+
+ /** This interface gives access to the numerical value of a
+ menu item, which is related to the menu item's
+ com::sun::star::accessibility::AccessibleStateType::SELECTED state.
+ */
+ interface ::com::sun::star::accessibility::XAccessibleValue;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/AccessibleMenuSeparator.idl b/offapi/com/sun/star/awt/AccessibleMenuSeparator.idl
new file mode 100644
index 000000000..ff2a282f5
--- /dev/null
+++ b/offapi/com/sun/star/awt/AccessibleMenuSeparator.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_awt_AccessibleMenuSeparator_idl__
+#define __com_sun_star_awt_AccessibleMenuSeparator_idl__
+
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#include <com/sun/star/accessibility/XAccessibleExtendedComponent.idl>
+
+module com { module sun { module star { module awt {
+
+/** specifies accessibility support for a menu separator.
+
+ @since OOo 1.1.2
+ */
+service AccessibleMenuSeparator
+{
+ /** This interface gives access to the structural information of a
+ menu separator:
+
+ <ul>
+ <li>Role: The role of a menu separator is
+ com::sun::star::accessibility::AccessibleRole::SEPARATOR.</li>
+ <li>Name: There is no name.</li>
+ <li>Description: There is no description.</li>
+ <li>Children: There are no children.</li>
+ <li>Parent: The parent of a menu separator is a menu bar,
+ a pop-up menu or a menu, whose accessible context supports the
+ services AccessibleMenuBar,
+ AccessiblePopupMenu or
+ AccessibleMenu.</li>
+ <li>Relations: There are no relations.</li>
+ <li>States: The states supported by this service are
+ <ul>
+ <li><com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ is set if the object has already been disposed
+ and subsequent calls to this object result in
+ com::sun::star::lang::DisposedException
+ exceptions.</li>
+ <li><com::sun::star::accessibility::AccessibleStateType::ENABLED
+ is set if the object is enabled.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::OPAQUE
+ is always set.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::SELECTABLE
+ is always set.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::SELECTED
+ is set if the object is selected.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::SHOWING
+ is set if the object is displayed on the screen.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::VISIBLE
+ is always set.</li>
+ </ul>
+ </li>
+ </ul>
+ */
+ interface ::com::sun::star::accessibility::XAccessibleContext;
+
+ interface ::com::sun::star::accessibility::XAccessibleEventBroadcaster;
+
+ interface ::com::sun::star::accessibility::XAccessibleComponent;
+
+ interface ::com::sun::star::accessibility::XAccessibleExtendedComponent;
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/AccessiblePopupMenu.idl b/offapi/com/sun/star/awt/AccessiblePopupMenu.idl
new file mode 100644
index 000000000..b70db67a2
--- /dev/null
+++ b/offapi/com/sun/star/awt/AccessiblePopupMenu.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_awt_AccessiblePopupMenu_idl__
+#define __com_sun_star_awt_AccessiblePopupMenu_idl__
+
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#include <com/sun/star/accessibility/XAccessibleExtendedComponent.idl>
+#include <com/sun/star/accessibility/XAccessibleSelection.idl>
+
+module com { module sun { module star { module awt {
+
+/** specifies accessibility support for a pop-up menu.
+
+ @since OOo 1.1.2
+ */
+service AccessiblePopupMenu
+{
+ /** This interface gives access to the structural information of a
+ pop-up menu:
+
+ <ul>
+ <li>Role: The role of a pop-up menu is
+ com::sun::star::accessibility::AccessibleRole::POPUP_MENU.</li>
+ <li>Name: There is no name.</li>
+ <li>Description: The description of a pop-up menu is its localized
+ help text.</li>
+ <li>Children: The children of a pop-up menu are menus, menu items or
+ menu separators, whose accessible context supports the services
+ AccessibleMenu, AccessibleMenuItem or
+ AccessibleMenuSeparator.</li>
+ <li>Parent: The parent is the window that contains the pop-up menu.</li>
+ <li>Relations: There are no relations.</li>
+ <li>States: The states supported by this service are
+ <ul>
+ <li>com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ is set if the object has already been disposed
+ and subsequent calls to this object result in
+ com::sun::star::lang::DisposedException
+ exceptions.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::ENABLED
+ is set if the object is enabled.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::FOCUSABLE
+ is always set.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::FOCUSED
+ is set if the object currently has the keyboard focus.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::OPAQUE
+ is always set.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::SHOWING
+ is set if the object is displayed on the screen.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::VISIBLE
+ is always set.</li>
+ </ul>
+ </li>
+ </ul>
+ */
+ interface ::com::sun::star::accessibility::XAccessibleContext;
+
+ interface ::com::sun::star::accessibility::XAccessibleEventBroadcaster;
+
+ interface ::com::sun::star::accessibility::XAccessibleComponent;
+
+ interface ::com::sun::star::accessibility::XAccessibleExtendedComponent;
+
+ /** This interface gives access to the selectable children of a
+ pop-up menu.
+ */
+ interface ::com::sun::star::accessibility::XAccessibleSelection;
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/AccessibleRadioButton.idl b/offapi/com/sun/star/awt/AccessibleRadioButton.idl
new file mode 100644
index 000000000..e065cb536
--- /dev/null
+++ b/offapi/com/sun/star/awt/AccessibleRadioButton.idl
@@ -0,0 +1,113 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_awt_AccessibleRadioButton_idl__
+#define __com_sun_star_awt_AccessibleRadioButton_idl__
+
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#include <com/sun/star/accessibility/XAccessibleExtendedComponent.idl>
+#include <com/sun/star/accessibility/XAccessibleText.idl>
+#include <com/sun/star/accessibility/XAccessibleAction.idl>
+#include <com/sun/star/accessibility/XAccessibleValue.idl>
+
+module com { module sun { module star { module awt {
+
+/** specifies accessibility support for a radio button.
+
+ @since OOo 1.1.2
+ */
+service AccessibleRadioButton
+{
+ /** This interface gives access to the structural information of a
+ radio button:
+
+ <ul>
+ <li>Role: The role of a radio button is
+ com::sun::star::accessibility::AccessibleRole::RADIO_BUTTON.</li>
+ <li>Name: The name of a radio button is its localized label.</li>
+ <li>Description: The description of a radio button is its localized
+ help text.</li>
+ <li>Children: There are no children.</li>
+ <li>Parent: The parent is the window that contains the radio button.</li>
+ <li>Relations: The relations supported by this service are
+ <ul>
+ <li>com::sun::star::accessibility::AccessibleRelationType::MEMBER_OF
+ is set if the object is a member of a group of one or more
+ target objects.</li>
+ </ul>
+ </li>
+ <li>States: The states supported by this service are
+ <ul>
+ <li>com::sun::star::accessibility::AccessibleStateType::CHECKED
+ is set if the object is currently checked.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ is set if the object has already been disposed
+ and subsequent calls to this object result in
+ com::sun::star::lang::DisposedException
+ exceptions.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::ENABLED
+ is set if the object is enabled.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::FOCUSABLE
+ is always set.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::FOCUSED
+ is set if the object currently has the keyboard focus.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::SHOWING
+ is set if the object is displayed on the screen.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::VISIBLE
+ is always set.</li>
+ </ul>
+ </li>
+ </ul>
+ */
+ interface ::com::sun::star::accessibility::XAccessibleContext;
+
+ interface ::com::sun::star::accessibility::XAccessibleEventBroadcaster;
+
+ interface ::com::sun::star::accessibility::XAccessibleComponent;
+
+ interface ::com::sun::star::accessibility::XAccessibleExtendedComponent;
+
+ /** This interface gives read-only access to the text representation
+ of a radio button.
+ */
+ interface ::com::sun::star::accessibility::XAccessibleText;
+
+ /** This interface gives access to the actions that can be executed for
+ a radio button. The supported actions for a radio button are:
+ <ul>
+ <li>click</li>
+ </ul>
+ */
+ interface ::com::sun::star::accessibility::XAccessibleAction;
+
+ /** This interface gives access to the numerical value of a
+ radio button, which is related to the radio button's
+ com::sun::star::accessibility::AccessibleStateType::CHECKED state.
+ */
+ interface ::com::sun::star::accessibility::XAccessibleValue;
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/AccessibleScrollBar.idl b/offapi/com/sun/star/awt/AccessibleScrollBar.idl
new file mode 100644
index 000000000..3ad246c9f
--- /dev/null
+++ b/offapi/com/sun/star/awt/AccessibleScrollBar.idl
@@ -0,0 +1,104 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_awt_AccessibleScrollBar_idl__
+#define __com_sun_star_awt_AccessibleScrollBar_idl__
+
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#include <com/sun/star/accessibility/XAccessibleExtendedComponent.idl>
+#include <com/sun/star/accessibility/XAccessibleAction.idl>
+#include <com/sun/star/accessibility/XAccessibleValue.idl>
+
+module com { module sun { module star { module awt {
+
+/** specifies accessibility support for a scroll bar.
+
+ @since OOo 1.1.2
+ */
+service AccessibleScrollBar
+{
+ /** This interface gives access to the structural information of a
+ scroll bar:
+
+ <ul>
+ <li>Role: The role of a scroll bar is
+ com::sun::star::accessibility::AccessibleRole::SCROLL_BAR.</li>
+ <li>Name: There is no name.</li>
+ <li>Description: The description of a scroll bar is its localized
+ help text.</li>
+ <li>Children: There are no children.</li>
+ <li>Parent: The parent is the window that contains the scroll bar.</li>
+ <li>Relations: There are no relations.</li>
+ <li>States: The states supported by this service are
+ <ul>
+ <li>com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ is set if the object has already been disposed
+ and subsequent calls to this object result in
+ com::sun::star::lang::DisposedException
+ exceptions.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::ENABLED
+ is set if the object is enabled.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::FOCUSABLE
+ is always set.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::FOCUSED
+ is set if the object currently has the keyboard focus.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::HORIZONTAL
+ is set if the orientation of the object is horizontal.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::SHOWING
+ is set if the object is displayed on the screen.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::VERTICAL
+ is set if the orientation of the object is vertical.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::VISIBLE
+ is always set.</li>
+ </ul>
+ </li>
+ </ul>
+ */
+ interface ::com::sun::star::accessibility::XAccessibleContext;
+
+ interface ::com::sun::star::accessibility::XAccessibleEventBroadcaster;
+
+ interface ::com::sun::star::accessibility::XAccessibleComponent;
+
+ interface ::com::sun::star::accessibility::XAccessibleExtendedComponent;
+
+ /** This interface gives access to the actions that can be executed for
+ a scroll bar. The supported actions for a scroll bar are:
+ <ul>
+ <li>decrementLine</li>
+ <li>incrementLine</li>
+ <li>decrementBlock</li>
+ <li>incrementBlock</li>
+ </ul>
+ */
+ interface ::com::sun::star::accessibility::XAccessibleAction;
+
+ /** This interface gives access to the numerical value of a scroll bar,
+ which is related to the position of the scroll bar thumb.
+ */
+ interface ::com::sun::star::accessibility::XAccessibleValue;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/AccessibleStatusBar.idl b/offapi/com/sun/star/awt/AccessibleStatusBar.idl
new file mode 100644
index 000000000..9cca46691
--- /dev/null
+++ b/offapi/com/sun/star/awt/AccessibleStatusBar.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_awt_AccessibleStatusBar_idl__
+#define __com_sun_star_awt_AccessibleStatusBar_idl__
+
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#include <com/sun/star/accessibility/XAccessibleExtendedComponent.idl>
+
+module com { module sun { module star { module awt {
+
+/** specifies accessibility support for a status bar.
+
+ @since OOo 1.1.2
+ */
+service AccessibleStatusBar
+{
+ /** This interface gives access to the structural information of a
+ status bar:
+
+ <ul>
+ <li>Role: The role of a status bar is
+ com::sun::star::accessibility::AccessibleRole::STATUS_BAR.</li>
+ <li>Name: There is no name.</li>
+ <li>Description: There is no description.</li>
+ <li>Children: The children of a status bar are status bar items,
+ whose accessible context supports the service
+ AccessibleStatusBarItem.</li>
+ <li>Parent: The parent is the window that contains the status bar.</li>
+ <li>Relations: There are no relations.</li>
+ <li>States: The states supported by this service are
+ <ul>
+ <li>com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ is set if the object has already been disposed
+ and subsequent calls to this object result in
+ com::sun::star::lang::DisposedException
+ exceptions.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::ENABLED
+ is set if the object is enabled.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::SHOWING
+ is set if the object is displayed on the screen.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::VISIBLE
+ is always set.</li>
+ </ul>
+ </li>
+ </ul>
+ */
+ interface ::com::sun::star::accessibility::XAccessibleContext;
+
+ interface ::com::sun::star::accessibility::XAccessibleEventBroadcaster;
+
+ interface ::com::sun::star::accessibility::XAccessibleComponent;
+
+ interface ::com::sun::star::accessibility::XAccessibleExtendedComponent;
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/AccessibleStatusBarItem.idl b/offapi/com/sun/star/awt/AccessibleStatusBarItem.idl
new file mode 100644
index 000000000..7b2cc61b9
--- /dev/null
+++ b/offapi/com/sun/star/awt/AccessibleStatusBarItem.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_awt_AccessibleStatusBarItem_idl__
+#define __com_sun_star_awt_AccessibleStatusBarItem_idl__
+
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#include <com/sun/star/accessibility/XAccessibleExtendedComponent.idl>
+#include <com/sun/star/accessibility/XAccessibleText.idl>
+
+module com { module sun { module star { module awt {
+
+/** specifies accessibility support for a status bar item.
+
+ @since OOo 1.1.2
+ */
+service AccessibleStatusBarItem
+{
+ /** This interface gives access to the structural information of a
+ status bar item:
+
+ <ul>
+ <li>Role: The role of a status bar item is
+ com::sun::star::accessibility::AccessibleRole::LABEL.</li>
+ <li>Name: The name of a status bar item is its localized
+ configuration name.</li>
+ <li>Description: The description of a status bar item is
+ its localized help text.</li>
+ <li>Children: There are no children.</li>
+ <li>Parent: The parent of a status bar item is the status bar,
+ whose accessible context supports the service
+ AccessibleStatusBar.</li>
+ <li>Relations: There are no relations.</li>
+ <li>States: The states supported by this service are
+ <ul>
+ <li>com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ is set if the object has already been disposed
+ and subsequent calls to this object result in
+ com::sun::star::lang::DisposedException
+ exceptions.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::ENABLED
+ is always set.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::SHOWING
+ is set if the object is displayed on the screen.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::VISIBLE
+ is always set.</li>
+ </ul>
+ </li>
+ </ul>
+ */
+ interface ::com::sun::star::accessibility::XAccessibleContext;
+
+ interface ::com::sun::star::accessibility::XAccessibleEventBroadcaster;
+
+ interface ::com::sun::star::accessibility::XAccessibleComponent;
+
+ interface ::com::sun::star::accessibility::XAccessibleExtendedComponent;
+
+ /** This interface gives read-only access to the text representation
+ of the status bar item.
+ */
+ interface ::com::sun::star::accessibility::XAccessibleText;
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/AccessibleTabBar.idl b/offapi/com/sun/star/awt/AccessibleTabBar.idl
new file mode 100644
index 000000000..f8c3b316e
--- /dev/null
+++ b/offapi/com/sun/star/awt/AccessibleTabBar.idl
@@ -0,0 +1,89 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_awt_AccessibleTabBar_idl__
+#define __com_sun_star_awt_AccessibleTabBar_idl__
+
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#include <com/sun/star/accessibility/XAccessibleExtendedComponent.idl>
+
+module com { module sun { module star { module awt {
+
+/** specifies accessibility support for a tabbar.
+
+ @since OOo 1.1.2
+ */
+service AccessibleTabBar
+{
+ /** This interface gives access to the structural information of a
+ tabbar:
+
+ <ul>
+ <li>Role: The role of a tabbar is
+ com::sun::star::accessibility::AccessibleRole::PANEL.</li>
+ <li>Name: There is no name.</li>
+ <li>Description: The description of a tabbar is its localized
+ help text.</li>
+ <li>Children: The children of a tabbar are tabbar buttons,
+ the tabbar sizer and the tabbar page list,
+ whose accessible context supports the service
+ AccessibleTabBarPageList.</li>
+ <li>Parent: The parent is the window that contains the
+ tabbar.</li>
+ <li>Relations: There are no relations.</li>
+ <li>States: The states supported by this service are
+ <ul>
+ <li>com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ is set if the object has already been disposed
+ and subsequent calls to this object result in
+ com::sun::star::lang::DisposedException
+ exceptions.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::ENABLED
+ is set if the object is enabled.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::FOCUSABLE
+ is always set.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::FOCUSED
+ is set if the object currently has the keyboard focus.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::RESIZABLE
+ is set if the size of the object is not fixed.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::SHOWING
+ is set if the object is displayed on the screen.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::VISIBLE
+ is always set.</li>
+ </ul>
+ </li>
+ </ul>
+ */
+ interface ::com::sun::star::accessibility::XAccessibleContext;
+
+ interface ::com::sun::star::accessibility::XAccessibleEventBroadcaster;
+
+ interface ::com::sun::star::accessibility::XAccessibleComponent;
+
+ interface ::com::sun::star::accessibility::XAccessibleExtendedComponent;
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/AccessibleTabBarPage.idl b/offapi/com/sun/star/awt/AccessibleTabBarPage.idl
new file mode 100644
index 000000000..0d47e13cb
--- /dev/null
+++ b/offapi/com/sun/star/awt/AccessibleTabBarPage.idl
@@ -0,0 +1,86 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_awt_AccessibleTabBarPage_idl__
+#define __com_sun_star_awt_AccessibleTabBarPage_idl__
+
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#include <com/sun/star/accessibility/XAccessibleExtendedComponent.idl>
+
+module com { module sun { module star { module awt {
+
+/** specifies accessibility support for a tabbar page.
+
+ @since OOo 1.1.2
+ */
+service AccessibleTabBarPage
+{
+ /** This interface gives access to the structural information of a
+ tabbar page:
+
+ <ul>
+ <li>Role: The role of a tabbar page is
+ com::sun::star::accessibility::AccessibleRole::PAGE_TAB.</li>
+ <li>Name: The name of a tabbar page is the localized
+ tabbar page text.</li>
+ <li>Description: The description of a tabbar page is its localized
+ help text.</li>
+ <li>Children: There are no children.</li>
+ <li>Parent: The parent of a tabbar page is the tabbar page list,
+ whose accessible context supports the service
+ AccessibleTabBarPageList.</li>
+ <li>Relations: There are no relations.</li>
+ <li>States: The states supported by this service are
+ <ul>
+ <li>com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ is set if the object has already been disposed
+ and subsequent calls to this object result in
+ com::sun::star::lang::DisposedException
+ exceptions.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::ENABLED
+ is set if the object is enabled.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::SELECTABLE
+ is always set.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::SELECTED
+ is set if the object is selected.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::SHOWING
+ is set if the object is displayed on the screen.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::VISIBLE
+ is always set.</li>
+ </ul>
+ </li>
+ </ul>
+ */
+ interface ::com::sun::star::accessibility::XAccessibleContext;
+
+ interface ::com::sun::star::accessibility::XAccessibleEventBroadcaster;
+
+ interface ::com::sun::star::accessibility::XAccessibleComponent;
+
+ interface ::com::sun::star::accessibility::XAccessibleExtendedComponent;
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/AccessibleTabBarPageList.idl b/offapi/com/sun/star/awt/AccessibleTabBarPageList.idl
new file mode 100644
index 000000000..849088455
--- /dev/null
+++ b/offapi/com/sun/star/awt/AccessibleTabBarPageList.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_awt_AccessibleTabBarPageList_idl__
+#define __com_sun_star_awt_AccessibleTabBarPageList_idl__
+
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#include <com/sun/star/accessibility/XAccessibleExtendedComponent.idl>
+#include <com/sun/star/accessibility/XAccessibleSelection.idl>
+
+module com { module sun { module star { module awt {
+
+/** specifies accessibility support for a tabbar page list.
+
+ @since OOo 1.1.2
+ */
+service AccessibleTabBarPageList
+{
+ /** This interface gives access to the structural information of a
+ tabbar page list:
+
+ <ul>
+ <li>Role: The role of a tabbar page list is
+ com::sun::star::accessibility::AccessibleRole::PAGE_TAB_LIST.</li>
+ <li>Name: There is no name.</li>
+ <li>Description: There is no description.</li>
+ <li>Children: The children of a tabbar page list are tabbar pages,
+ whose accessible context supports the service
+ AccessibleTabBarPage.</li>
+ <li>Parent: The parent of a tabbar page list is the tabbar,
+ whose accessible context supports the service
+ AccessibleTabBar.</li>
+ <li>Relations: There are no relations.</li>
+ <li>States: The states supported by this service are
+ <ul>
+ <li>com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ is set if the object has already been disposed
+ and subsequent calls to this object result in
+ com::sun::star::lang::DisposedException
+ exceptions.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::ENABLED
+ is set if the object is enabled.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::SHOWING
+ is set if the object is displayed on the screen.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::VISIBLE
+ is always set.</li>
+ </ul>
+ </li>
+ </ul>
+ */
+ interface ::com::sun::star::accessibility::XAccessibleContext;
+
+ interface ::com::sun::star::accessibility::XAccessibleEventBroadcaster;
+
+ interface ::com::sun::star::accessibility::XAccessibleComponent;
+
+ interface ::com::sun::star::accessibility::XAccessibleExtendedComponent;
+
+ /** This interface gives access to the selectable children of a
+ tabbar page list.
+ */
+ interface ::com::sun::star::accessibility::XAccessibleSelection;
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/AccessibleTabControl.idl b/offapi/com/sun/star/awt/AccessibleTabControl.idl
new file mode 100644
index 000000000..36c99fa4d
--- /dev/null
+++ b/offapi/com/sun/star/awt/AccessibleTabControl.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_awt_AccessibleTabControl_idl__
+#define __com_sun_star_awt_AccessibleTabControl_idl__
+
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#include <com/sun/star/accessibility/XAccessibleExtendedComponent.idl>
+#include <com/sun/star/accessibility/XAccessibleSelection.idl>
+
+module com { module sun { module star { module awt {
+
+/** specifies accessibility support for a tab control.
+
+ @since OOo 1.1.2
+ */
+service AccessibleTabControl
+{
+ /** This interface gives access to the structural information of a
+ tab control:
+
+ <ul>
+ <li>Role: The role of a tab control is
+ com::sun::star::accessibility::AccessibleRole::PAGE_TAB_LIST.</li>
+ <li>Name: There is no name.</li>
+ <li>Description: The description of a tab control is its localized
+ help text.</li>
+ <li>Children: The children of a tab control are tab pages,
+ whose accessible context supports the service
+ AccessibleTabPage.</li>
+ <li>Parent: The parent is the window that contains the
+ tab control.</li>
+ <li>Relations: There are no relations.</li>
+ <li>States: The states supported by this service are
+ <ul>
+ <li>com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ is set if the object has already been disposed
+ and subsequent calls to this object result in
+ com::sun::star::lang::DisposedException
+ exceptions.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::ENABLED
+ is set if the object is enabled.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::FOCUSABLE
+ is always set.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::FOCUSED
+ is set if the object currently has the keyboard focus.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::SHOWING
+ is set if the object is displayed on the screen.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::VISIBLE
+ is always set.</li>
+ </ul>
+ </li>
+ </ul>
+ */
+ interface ::com::sun::star::accessibility::XAccessibleContext;
+
+ interface ::com::sun::star::accessibility::XAccessibleEventBroadcaster;
+
+ interface ::com::sun::star::accessibility::XAccessibleComponent;
+
+ interface ::com::sun::star::accessibility::XAccessibleExtendedComponent;
+
+ /** This interface gives access to the selectable children of a
+ tab control.
+ */
+ interface ::com::sun::star::accessibility::XAccessibleSelection;
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/AccessibleTabPage.idl b/offapi/com/sun/star/awt/AccessibleTabPage.idl
new file mode 100644
index 000000000..76de39818
--- /dev/null
+++ b/offapi/com/sun/star/awt/AccessibleTabPage.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_awt_AccessibleTabPage_idl__
+#define __com_sun_star_awt_AccessibleTabPage_idl__
+
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#include <com/sun/star/accessibility/XAccessibleExtendedComponent.idl>
+#include <com/sun/star/accessibility/XAccessibleText.idl>
+
+module com { module sun { module star { module awt {
+
+/** specifies accessibility support for a tab page.
+
+ @since OOo 1.1.2
+ */
+service AccessibleTabPage
+{
+ /** This interface gives access to the structural information of a
+ tab page:
+
+ <ul>
+ <li>Role: The role of a tab page is
+ com::sun::star::accessibility::AccessibleRole::PAGE_TAB.</li>
+ <li>Name: The name of a tab page is the localized tab page text.</li>
+ <li>Description: The description of a tab page is its localized
+ help text.</li>
+ <li>Children: The child of a tab page is a panel.</li>
+ <li>Parent: The parent of a tab page is the tab control,
+ whose accessible context supports the service
+ AccessibleTabControl.</li>
+ <li>Relations: There are no relations.</li>
+ <li>States: The states supported by this service are
+ <ul>
+ <li>com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ is set if the object has already been disposed
+ and subsequent calls to this object result in
+ com::sun::star::lang::DisposedException
+ exceptions.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::ENABLED
+ is set if the object is enabled.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::FOCUSABLE
+ is always set.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::FOCUSED
+ is set if the object currently has the keyboard focus.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::SELECTABLE
+ is always set.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::SELECTED
+ is set if the object is selected.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::SHOWING
+ is set if the object is displayed on the screen.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::VISIBLE
+ is always set.</li>
+ </ul>
+ </li>
+ </ul>
+ */
+ interface ::com::sun::star::accessibility::XAccessibleContext;
+
+ interface ::com::sun::star::accessibility::XAccessibleEventBroadcaster;
+
+ interface ::com::sun::star::accessibility::XAccessibleComponent;
+
+ interface ::com::sun::star::accessibility::XAccessibleExtendedComponent;
+
+ /** This interface gives read-only access to the text representation
+ of a tab page.
+ */
+ interface ::com::sun::star::accessibility::XAccessibleText;
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/AccessibleTextField.idl b/offapi/com/sun/star/awt/AccessibleTextField.idl
new file mode 100644
index 000000000..c7b3b3f42
--- /dev/null
+++ b/offapi/com/sun/star/awt/AccessibleTextField.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_awt_AccessibleTextField_idl__
+#define __com_sun_star_awt_AccessibleTextField_idl__
+
+#include <com/sun/star/accessibility/AccessibleContext.idl>
+
+
+module com { module sun { module star { module accessibility {
+
+ interface XAccessibleExtendedComponent;
+ interface XAccessibleComponent;
+ interface XAccessibleText;
+
+}; }; }; };
+
+module com { module sun { module star { module awt {
+
+
+/** Text fields are like edit fields as described by the
+ AccessibleEdit service but without the ability to edit the
+ text.
+ @see com::sun::star::accessibility::AccessibleContext
+ @see com::sun::star::accessibility::XAccessibleComponent
+ @see com::sun::star::accessibility::XAccessibleExtendedComponent
+ @see com::sun::star::accessibility::XAccessibleText
+
+ @since OOo 1.1.2
+*/
+service AccessibleTextField
+{
+ /** This interface gives access to the structural information of a text field:
+
+ <ul>
+ <li>Role: The role of a text field is
+ com::sun::star::accessibility::AccessibleRole::TEXT.</li>
+ <li>Name: The name of a text field is its localized label.</li>
+ <li>Description: The description of a text field is its localized
+ help text.</li>
+ <li>Children: There exists no children.</li>
+ <li>Parent: The parent is the window that contains the text field.</li>
+ <li>Relations: There are no relations.</li>
+ <li>States: The states supported by this service are
+ <ul>
+ <li>com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ is set if the object has already been disposed
+ and subsequent calls to this object result in
+ com::sun::star::lang::DisposedException
+ exceptions.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::ENABLED
+ is set if the object is enabled.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::FOCUSABLE
+ is always set.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::FOCUSED
+ is set if the object currently has the keyboard focus.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::ACTIVE
+ is set if a child has currently the focus.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::RESIZABLE
+ is set if the object can be resized.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::SHOWING
+ is set if the object is displayed on the screen.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::VISIBLE
+ is always set.</li>
+ </ul>
+ </li>
+ </ul>
+ */
+
+ service com::sun::star::accessibility::AccessibleContext;
+
+ /** This interface gives read-only access to the text representation
+ of a text field.
+ */
+ interface com::sun::star::accessibility::XAccessibleText;
+ interface com::sun::star::accessibility::XAccessibleComponent;
+ interface com::sun::star::accessibility::XAccessibleExtendedComponent;
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/AccessibleToolBox.idl b/offapi/com/sun/star/awt/AccessibleToolBox.idl
new file mode 100644
index 000000000..2d4701329
--- /dev/null
+++ b/offapi/com/sun/star/awt/AccessibleToolBox.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_awt_AccessibleToolBox_idl__
+#define __com_sun_star_awt_AccessibleToolBox_idl__
+
+#include <com/sun/star/accessibility/AccessibleContext.idl>
+
+
+module com { module sun { module star { module accessibility {
+
+ interface XAccessibleExtendedComponent;
+ interface XAccessibleComponent;
+
+}; }; }; };
+
+module com { module sun { module star { module awt {
+
+
+
+/** specifies accessibility support for a tool box.
+
+ @see com::sun::star::accessibility::AccessibleContext
+ @see com::sun::star::accessibility::XAccessibleComponent
+ @see com::sun::star::accessibility::XAccessibleExtendedComponent
+
+ @since OOo 1.1.2
+*/
+service AccessibleToolBox
+{
+ /** This interface gives access to the structural information of a tool box:
+
+ <ul>
+ <li>Role: The role of a tool box is
+ com::sun::star::accessibility::AccessibleRole::TOOL_BAR.</li>
+ <li>Name: The name of a tool box is its localized label.</li>
+ <li>Description: The description of a tool box is its localized
+ help text.</li>
+ <li>Children: There exists children of type com::sun::star::awt::AccessibleToolBoxItem.
+ </li>
+ <li>Parent: The parent is the window that contains the tool box.</li>
+ <li>Relations: There are no relations.</li>
+ <li>States: The states supported by this service are
+ <ul>
+ <li>com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ is set if the object has already been disposed
+ and subsequent calls to this object result in
+ com::sun::star::lang::DisposedException
+ exceptions.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::ENABLED
+ is set if the object is enabled.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::FOCUSABLE
+ is always set.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::FOCUSED
+ is set if the object currently has the keyboard focus.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::ACTIVE
+ is set if a child has currently the focus.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::RESIZABLE
+ is set if the object can be resized.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::SHOWING
+ is set if the object is displayed on the screen.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::VISIBLE
+ is always set.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::VERTICAL
+ is set if the tool box is vertical.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::HORIZONTAL
+ is set if the tool box is horizontal.</li>
+ </ul>
+ </li>
+ </ul>
+ */
+ service com::sun::star::accessibility::AccessibleContext;
+
+ interface com::sun::star::accessibility::XAccessibleComponent;
+ interface com::sun::star::accessibility::XAccessibleExtendedComponent;
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/AccessibleToolBoxItem.idl b/offapi/com/sun/star/awt/AccessibleToolBoxItem.idl
new file mode 100644
index 000000000..d35325338
--- /dev/null
+++ b/offapi/com/sun/star/awt/AccessibleToolBoxItem.idl
@@ -0,0 +1,120 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_awt_AccessibleToolBoxItem_idl__
+#define __com_sun_star_awt_AccessibleToolBoxItem_idl__
+
+#include <com/sun/star/accessibility/AccessibleContext.idl>
+
+
+module com { module sun { module star { module accessibility {
+
+ interface XAccessibleAction;
+ interface XAccessibleText;
+ interface XAccessibleValue;
+ interface XAccessibleExtendedComponent;
+ interface XAccessibleComponent;
+
+}; }; }; };
+
+module com { module sun { module star { module awt {
+
+/** specifies accessibility support for a tool box item.
+
+ @see com::sun::star::accessibility::AccessibleContext
+
+ @see com::sun::star::accessibility::XAccessibleComponent
+ @see com::sun::star::accessibility::XAccessibleExtendedComponent
+
+ @see com::sun::star::accessibility::XAccessibleAction
+ @see com::sun::star::accessibility::XAccessibleText
+ @see com::sun::star::accessibility::XAccessibleValue
+
+ @since OOo 1.1.2
+*/
+service AccessibleToolBoxItem
+{
+ /** This interface gives access to the structural information of a tool box item:
+
+ <ul>
+ <li>Role: The role of a tool box item is
+ com::sun::star::accessibility::AccessibleRole::PUSH_BUTTON when the item is a push button, or
+ com::sun::star::accessibility::AccessibleRole::TOGGLE_BUTTON when the item is a button and checkable, or
+ com::sun::star::accessibility::AccessibleRole::PANEL when the item is a window, or
+ com::sun::star::accessibility::AccessibleRole::FILLER when the item is a fill item, or
+ com::sun::star::accessibility::AccessibleRole::SEPARATOR when the item is a separator.</li>
+ <li>Name: The name of a tool box item is the name set.</li>
+ <li>Description: The description of a tool box item is its localized
+ help text.</li>
+ <li>Children: There can exist one child.
+ This can be any kind of accessible object.</li>
+ <li>Parent: The parent is the tool box that contains the tool box item.</li>
+ <li>Relations: There are no relations.</li>
+ <li>States: The states supported by this service are
+ <ul>
+ <li>com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ is set if the object has already been disposed
+ and subsequent calls to this object result in
+ com::sun::star::lang::DisposedException
+ exceptions.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::ENABLED
+ is set if the object is enabled.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::FOCUSABLE
+ is always set.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::FOCUSED
+ is set if the object currently has the keyboard focus.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::SHOWING
+ is set if the object is displayed on the screen.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::VISIBLE
+ is always set.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::CHECKED
+ is set if the tool box item is checked.</li>
+ </ul>
+ </li>
+ </ul>
+ */
+ service com::sun::star::accessibility::AccessibleContext;
+
+ interface com::sun::star::accessibility::XAccessibleComponent;
+ interface com::sun::star::accessibility::XAccessibleExtendedComponent;
+
+ /** This interface gives access to the actions that can be executed for
+ a menu. The supported actions for a tool box item are:
+ <ul>
+ <li>click</li>
+ </ul>
+ */
+ interface com::sun::star::accessibility::XAccessibleAction;
+
+ /** This interface gives read-only access to the text representation
+ of a tool box item.
+ */
+ interface com::sun::star::accessibility::XAccessibleText;
+ /** This interface gives access to the numerical value of a
+ tool box item, which is related to the tool box item's
+ com::sun::star::accessibility::AccessibleStateType::CHECKED state.
+ */
+ interface com::sun::star::accessibility::XAccessibleValue;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/AccessibleTreeListBox.idl b/offapi/com/sun/star/awt/AccessibleTreeListBox.idl
new file mode 100644
index 000000000..5119965f8
--- /dev/null
+++ b/offapi/com/sun/star/awt/AccessibleTreeListBox.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_awt_AccessibleTreeListBox_idl__
+#define __com_sun_star_awt_AccessibleTreeListBox_idl__
+
+#include <com/sun/star/accessibility/AccessibleContext.idl>
+
+
+module com { module sun { module star { module accessibility {
+
+ interface XAccessibleSelection;
+ interface XAccessibleComponent;
+
+}; }; }; };
+
+module com { module sun { module star { module awt {
+
+/** specifies accessibility support for a tree list box.
+
+ @see com::sun::star::accessibility::AccessibleContext
+
+ @see com::sun::star::accessibility::XAccessibleComponent
+ @see com::sun::star::accessibility::XAccessibleSelection
+
+ @since OOo 1.1.2
+*/
+service AccessibleTreeListBox
+{
+ /** This interface gives access to the structural information of a tree list box:
+
+ <ul>
+ <li>Role: The role of a tree list box is
+ com::sun::star::accessibility::AccessibleRole::TREE.</li>
+ <li>Name: The name of a tree list box is its localized label.</li>
+ <li>Description: The description of a tree list box is its localized
+ help text.</li>
+ <li>Children: There exists children of type com::sun::star::awt::AccessibleTreeListBoxEntry.
+ </li>
+ <li>Parent: The parent is the window that contains the tree list box.</li>
+ <li>Relations: There are no relations.</li>
+ <li>States: The states supported by this service are
+ <ul>
+ <li>com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ is set if the object has already been disposed
+ and subsequent calls to this object result in
+ com::sun::star::lang::DisposedException
+ exceptions.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::ENABLED
+ is set if the object is enabled.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::FOCUSABLE
+ is always set.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::FOCUSED
+ is set if the object currently has the keyboard focus.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::ACTIVE
+ is set if a child has currently the focus.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::RESIZABLE
+ is set if the object can be resized.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::SHOWING
+ is set if the object is displayed on the screen.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::VISIBLE
+ is always set.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::MULTI_SELECTABLE
+ is set when multi selection is enabled.</li>
+ </ul>
+ </li>
+ </ul>
+ */
+ service com::sun::star::accessibility::AccessibleContext;
+
+ interface com::sun::star::accessibility::XAccessibleComponent;
+
+ /** This interface gives access to the selectable children of a
+ tree list box.
+ */
+ interface com::sun::star::accessibility::XAccessibleSelection;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/AccessibleTreeListBoxEntry.idl b/offapi/com/sun/star/awt/AccessibleTreeListBoxEntry.idl
new file mode 100644
index 000000000..c9e67ef78
--- /dev/null
+++ b/offapi/com/sun/star/awt/AccessibleTreeListBoxEntry.idl
@@ -0,0 +1,120 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_awt_AccessibleTreeListBoxEntry_idl__
+#define __com_sun_star_awt_AccessibleTreeListBoxEntry_idl__
+
+#include <com/sun/star/accessibility/AccessibleContext.idl>
+
+
+module com { module sun { module star { module accessibility {
+
+ interface XAccessibleAction;
+ interface XAccessibleSelection;
+ interface XAccessibleText;
+ interface XAccessibleComponent;
+
+}; }; }; };
+
+module com { module sun { module star { module awt {
+
+
+/** specifies accessibility support for a treelistbox entry.
+
+ @see com::sun::star::accessibility::AccessibleContext
+
+ @see com::sun::star::accessibility::XAccessibleAction
+ @see com::sun::star::accessibility::XAccessibleSelection
+ @see com::sun::star::accessibility::XAccessibleText
+
+ @since OOo 1.1.2
+*/
+service AccessibleTreeListBoxEntry
+{
+ /** This interface gives access to the structural information of a tree list box entry:
+
+ <ul>
+ <li>Role: The role of a tree list box entry is
+ com::sun::star::accessibility::AccessibleRole::LABEL.</li>
+ <li>Name: The name of a tree list box entry is it's text.</li>
+ <li>Description: The description of a tree list box entry is empty.</li>
+ <li>Children: There can exist children of type com::sun::star::awt::AccessibleTreeListBoxEntry.
+ </li>
+ <li>Parent: The parent is either the com::sun::star::awt::AccessibleTreeListBox
+ or a com::sun::star::awt::AccessibleTreeListBoxEntry that contains the tree list box entry.</li>
+ <li>Relations: There are no relations.</li>
+ <li>States: The states supported by this service are
+ <ul>
+ <li>com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ is set if the object has already been disposed
+ and subsequent calls to this object result in
+ com::sun::star::lang::DisposedException
+ exceptions.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::ENABLED
+ is set if the object is enabled.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::SHOWING
+ is set if the object is displayed on the screen.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::VISIBLE
+ is always set.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::EDITABLE
+ is set when a tree list box entry can be edited.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::EXPANDABLE
+ is always set.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::EXPANDED
+ is set when it is expanded.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::COLLAPSED
+ is set when it is collapsed.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::CHECKED
+ is set when it is checked.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::SELECTABLE
+ is always set.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::SELECTED
+ is set when it is selected.</li>
+ </ul>
+ </li>
+ </ul>
+ */
+ service com::sun::star::accessibility::AccessibleContext;
+
+ interface com::sun::star::accessibility::XAccessibleComponent;
+
+ /** This interface gives access to the actions that can be executed for
+ a menu. The supported actions for a tree list box entry are:
+ <ul>
+ <li>toggleExpand</li>
+ </ul>
+ */
+ interface com::sun::star::accessibility::XAccessibleAction;
+
+ /** This interface gives access to the selectable children of a
+ tree list box entry.
+ */
+ interface com::sun::star::accessibility::XAccessibleSelection;
+
+ /** This interface gives read-only access to the text representation
+ of a tool box item.
+ */
+ interface com::sun::star::accessibility::XAccessibleText;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/AccessibleWindow.idl b/offapi/com/sun/star/awt/AccessibleWindow.idl
new file mode 100644
index 000000000..f5883c9e3
--- /dev/null
+++ b/offapi/com/sun/star/awt/AccessibleWindow.idl
@@ -0,0 +1,96 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_awt_AccessibleWindow_idl__
+#define __com_sun_star_awt_AccessibleWindow_idl__
+
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#include <com/sun/star/accessibility/XAccessibleExtendedComponent.idl>
+
+module com { module sun { module star { module awt {
+
+/** specifies accessibility support for a window.
+
+ @since OOo 1.1.2
+ */
+service AccessibleWindow
+{
+ /** This interface gives access to the structural information of a window:
+
+ <ul>
+ <li>Role: The role of a window is not fixed. A window may have
+ one of the following roles:
+ <ul>
+ <li>com::sun::star::accessibility::AccessibleRole::DIALOG</li>
+ <li>com::sun::star::accessibility::AccessibleRole::FRAME</li>
+ <li>com::sun::star::accessibility::AccessibleRole::LAYERED_PANE</li>
+ <li>com::sun::star::accessibility::AccessibleRole::PANEL</li>
+ <li>com::sun::star::accessibility::AccessibleRole::ROOT_PANE</li>
+ <li>com::sun::star::accessibility::AccessibleRole::SCROLL_PANE</li>
+ <li>com::sun::star::accessibility::AccessibleRole::SPLIT_PANE</li>
+ <li>com::sun::star::accessibility::AccessibleRole::WINDOW</li>
+ <li>...</li>
+ </ul>
+ </li>
+ <li>Name: The name of a window is its localized title.</li>
+ <li>Description: The description of a window is its localized
+ help text.</li>
+ <li>Children: The children of a window are the child windows.</li>
+ <li>Parent: The parent of a window is the parent window.</li>
+ <li>Relations: There are no relations.</li>
+ <li>States: The states supported by this service are
+ <ul>
+ <li>com::sun::star::accessibility::AccessibleStateType::ACTIVE
+ is set if the object is currently the active object.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ is set if the object has already been disposed
+ and subsequent calls to this object result in
+ com::sun::star::lang::DisposedException
+ exceptions.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::ENABLED
+ is set if the object is enabled.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::FOCUSABLE
+ is always set.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::FOCUSED
+ is set if the object currently has the keyboard focus.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::MODAL
+ is set if the object is modal.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::RESIZABLE
+ is set if the size of the object is not fixed.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::SHOWING
+ is set if the object is displayed on the screen.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::VISIBLE
+ is always set.</li>
+ </ul>
+ </li>
+ </ul>
+ */
+ interface ::com::sun::star::accessibility::XAccessibleContext;
+ interface ::com::sun::star::accessibility::XAccessibleEventBroadcaster;
+ interface ::com::sun::star::accessibility::XAccessibleComponent;
+ interface ::com::sun::star::accessibility::XAccessibleExtendedComponent;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/ActionEvent.idl b/offapi/com/sun/star/awt/ActionEvent.idl
new file mode 100644
index 000000000..f938e713d
--- /dev/null
+++ b/offapi/com/sun/star/awt/ActionEvent.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_awt_ActionEvent_idl__
+#define __com_sun_star_awt_ActionEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** a semantic event which indicates that a component-defined action occurred.
+
+ <p>This high-level event is generated by a component (such as a Button)
+ when the component-specific action occurs (such as being pressed).
+ The event is passed to every XActionListener object
+ that registered to receive such events using the component's
+ <code>addActionListener</code> method.</p>
+
+ <p>The object that implements the XActionListener interface
+ gets this ActionEvent when the event occurs. The listener is therefore
+ spared the details of processing individual mouse movements and mouse
+ clicks, and can instead process a "meaningful" (semantic) event like
+ "button pressed".</p>
+ */
+published struct ActionEvent: com::sun::star::lang::EventObject
+{
+
+ /** contains the command string associated with this action.
+ */
+ string ActionCommand;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/AdjustmentEvent.idl b/offapi/com/sun/star/awt/AdjustmentEvent.idl
new file mode 100644
index 000000000..6a8fd3b39
--- /dev/null
+++ b/offapi/com/sun/star/awt/AdjustmentEvent.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_awt_AdjustmentEvent_idl__
+#define __com_sun_star_awt_AdjustmentEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+
+#include <com/sun/star/awt/AdjustmentType.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** adjustment event emitted by adjustable objects.
+ */
+published struct AdjustmentEvent: com::sun::star::lang::EventObject
+{
+
+ /** contains the current value in the adjustment event.
+ */
+ long Value;
+
+
+ /** contains the type of the adjustment event.
+ */
+ com::sun::star::awt::AdjustmentType Type;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/AdjustmentType.idl b/offapi/com/sun/star/awt/AdjustmentType.idl
new file mode 100644
index 000000000..eb21111a3
--- /dev/null
+++ b/offapi/com/sun/star/awt/AdjustmentType.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_awt_AdjustmentType_idl__
+#define __com_sun_star_awt_AdjustmentType_idl__
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies the adjustment type.
+ */
+published enum AdjustmentType
+{
+
+ /** adjustment is originated by a line jump.
+
+ <p>A line jump can, for example, be caused by a click on
+ one of the pointer buttons.</p>
+ */
+ ADJUST_LINE,
+
+
+ /** adjustment is originated by a page jump.
+
+ <p>A page jump can, for example, be caused by a click in the
+ background area of the scrollbar (neither one of the pointer
+ buttons, nor the thumb).</p>
+ */
+ ADJUST_PAGE,
+
+
+ /** adjustment is originated by dragging the thumb.
+ */
+ ADJUST_ABS
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/AnimatedImagesControl.idl b/offapi/com/sun/star/awt/AnimatedImagesControl.idl
new file mode 100644
index 000000000..99ccd222e
--- /dev/null
+++ b/offapi/com/sun/star/awt/AnimatedImagesControl.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_awt_AnimatedImagesControl_idl__
+#define __com_sun_star_awt_AnimatedImagesControl_idl__
+
+#include <com/sun/star/awt/UnoControl.idl>
+
+
+module com { module sun { module star { module awt {
+
+interface XAnimation;
+
+
+/** is the default control used for an AnimatedImagesControlModel, displayed a series of
+ images.
+
+ @since OOo 3.4
+ */
+service AnimatedImagesControl
+{
+ service com::sun::star::awt::UnoControl;
+
+ interface XAnimation;
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/AnimatedImagesControlModel.idl b/offapi/com/sun/star/awt/AnimatedImagesControlModel.idl
new file mode 100644
index 000000000..5bbfd0938
--- /dev/null
+++ b/offapi/com/sun/star/awt/AnimatedImagesControlModel.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_awt_AnimatedImagesControlModel_idl__
+#define __com_sun_star_awt_AnimatedImagesControlModel_idl__
+
+#include <com/sun/star/awt/UnoControlModel.idl>
+
+
+module com { module sun { module star { module awt {
+
+interface XAnimatedImages;
+
+
+/** describes the model for a control displaying a series of images
+
+ @since OOo 3.4
+ */
+service AnimatedImagesControlModel
+{
+ service com::sun::star::awt::UnoControlModel;
+
+ interface XAnimatedImages;
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/AsyncCallback.idl b/offapi/com/sun/star/awt/AsyncCallback.idl
new file mode 100644
index 000000000..277ee51f8
--- /dev/null
+++ b/offapi/com/sun/star/awt/AsyncCallback.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_awt_AsyncCallback_idl__
+#define __com_sun_star_awt_AsyncCallback_idl__
+
+#include <com/sun/star/awt/XRequestCallback.idl>
+
+module com { module sun { module star { module awt {
+
+/** An implementation which uses the message queue to call the
+ callback implementation asynchronously.
+
+ @see XRequestCallback
+ */
+service AsyncCallback: XRequestCallback;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/CharSet.idl b/offapi/com/sun/star/awt/CharSet.idl
new file mode 100644
index 000000000..dfd3030f2
--- /dev/null
+++ b/offapi/com/sun/star/awt/CharSet.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_awt_CharSet_idl__
+#define __com_sun_star_awt_CharSet_idl__
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** These values are used to specify the characters which are available in
+ a font and their codes.
+
+ <P>The currently defined constants of <CODE>CharSet</CODE> have the same
+ numerical values as the corresponding enum values of the C/C++
+ <CODE>rtl_TextEncoding</CODE> (from <CODE>rtl/textenc.h</CODE>). This
+ correspondence is by design. Since <CODE>CharSet</CODE> is deprecated,
+ however, it is not planned to add further constants to keep it in sync with
+ <CODE>rtl_TextEncoding</CODE>.</P>
+
+ @deprecated
+ */
+published constants CharSet
+{
+
+ /** specifies an unknown character set.
+ */
+ const short DONTKNOW = 0;
+
+
+ /** specifies the ANSI character set.
+ */
+ const short ANSI = 1;
+
+
+ /** specifies the Apple Macintosh character set.
+ */
+ const short MAC = 2;
+
+
+ /** specifies the IBM PC character set number 437.
+ */
+ const short IBMPC_437 = 3;
+
+
+ /** specifies the IBM PC character set number 850.
+ */
+ const short IBMPC_850 = 4;
+
+
+ /** specifies the IBM PC character set number 860.
+ */
+ const short IBMPC_860 = 5;
+
+
+ /** specifies the IBM PC character set number 861.
+ */
+ const short IBMPC_861 = 6;
+
+
+ /** specifies the IBM PC character set number 863.
+ */
+ const short IBMPC_863 = 7;
+
+
+ /** specifies the IBM PC character set number 865.
+ */
+ const short IBMPC_865 = 8;
+
+
+ /** specifies the system character set.
+ */
+ const short SYSTEM = 9;
+
+
+ /** specifies a set of symbols.
+ */
+ const short SYMBOL = 10;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/Command.idl b/offapi/com/sun/star/awt/Command.idl
new file mode 100644
index 000000000..a821378cd
--- /dev/null
+++ b/offapi/com/sun/star/awt/Command.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_awt_Command_idl__
+#define __com_sun_star_awt_Command_idl__
+
+
+module com { module sun { module star { module awt {
+
+/** these values specify the different command types available.
+*/
+
+published constants Command
+{
+
+
+ /** specifies a requests for a context menu.
+ */
+ const short CONTEXTMENU = 1;
+
+
+ /** specifies the beginning of a drag operation.
+ */
+ const short STARTDRAG = 2;
+
+
+ /** specifies a mouse wheel operation.
+ */
+ const short WHEEL = 3;
+
+
+ /** specifies the beginning of an auto scroll operation.
+ */
+ const short STARTAUTOSCROLL = 4;
+
+
+ /** specifies an auto scroll operation.
+ */
+ const short AUTOSCROLL = 5;
+
+
+ /** specifies a request for a voice operation.
+ */
+ const short VOICE = 6;
+
+
+ /** specifies the beginning of an extended text input operation.
+ */
+ const short STARTEXTTEXTINPUT = 7;
+
+
+ /** specifies an extended text input operation.
+ */
+ const short EXTTEXTINPUT = 8;
+
+
+ /** specifies the end of an extended text input operation.
+ */
+ const short ENDEXTTEXTINPUT = 9;
+
+
+ /** specifies that the input context has been changed.
+ */
+ const short INPUTCONTEXTCHANGE = 10;
+
+
+ /** specifies the cursor position.
+ */
+ const short CURSORPOS = 11;
+
+
+ /** specifies a paste selection command.
+ */
+ const short PASTESELECTION = 12;
+
+
+ /** specifies that the state of a key modifier has changed.
+ */
+ const short MODKEYCHANGE = 13;
+
+
+ /** specifies a Hangul hanja conversion command.
+ */
+ const short HANGUL_HANJA_CONVERSION = 14;
+
+
+ /** specifies a user-defined command.
+ */
+ const short USER = 4096;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/ContainerWindowProvider.idl b/offapi/com/sun/star/awt/ContainerWindowProvider.idl
new file mode 100644
index 000000000..7a4334f24
--- /dev/null
+++ b/offapi/com/sun/star/awt/ContainerWindowProvider.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_awt_ContainerWindowProvider_idl__
+#define __com_sun_star_awt_ContainerWindowProvider_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/awt/XContainerWindowProvider.idl>
+
+
+
+module com { module sun { module star { module awt {
+
+
+/** specifies a provider for container windows implementing the
+ com::sun::star::awt::XWindow interface.
+ */
+service ContainerWindowProvider : com::sun::star::awt::XContainerWindowProvider;
+
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/DeviceCapability.idl b/offapi/com/sun/star/awt/DeviceCapability.idl
new file mode 100644
index 000000000..8a6358d99
--- /dev/null
+++ b/offapi/com/sun/star/awt/DeviceCapability.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_awt_DeviceCapability_idl__
+#define __com_sun_star_awt_DeviceCapability_idl__
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** defines which capabilities a device supports.
+ */
+published constants DeviceCapability
+{
+
+ /** supports the device raster operations.
+
+ @see XGraphics::setRasterOp
+ */
+ const long RASTEROPERATIONS = 1;
+
+
+ /** supports the XDevice::createBitmap(),
+ the XDevice::createDevice() and the
+ XGraphics::copy() methods.
+
+ @see XGraphics::setRasterOp
+ */
+ const long GETBITS = 2;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/DeviceInfo.idl b/offapi/com/sun/star/awt/DeviceInfo.idl
new file mode 100644
index 000000000..f24828101
--- /dev/null
+++ b/offapi/com/sun/star/awt/DeviceInfo.idl
@@ -0,0 +1,91 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_awt_DeviceInfo_idl__
+#define __com_sun_star_awt_DeviceInfo_idl__
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** contains information about a device.
+ */
+published struct DeviceInfo
+{
+
+ /** contains the width of the device in pixels.
+ */
+ long Width;
+
+
+ /** contains the height of the device in pixels.
+ */
+ long Height;
+
+
+ /** contains the inset from the left.
+ */
+ long LeftInset;
+
+
+ /** contains the inset from the top.
+ */
+ long TopInset;
+
+
+ /** contains the inset from the right.
+ */
+ long RightInset;
+
+
+ /** contains the inset from the bottom.
+ */
+ long BottomInset;
+
+
+ /** contains the X-axis resolution of the device in pixel/meter.
+ */
+ double PixelPerMeterX;
+
+
+ /** contains the Y-axis resolution of the device in pixel/meter.
+ */
+ double PixelPerMeterY;
+
+
+ /** contains the color-depth of the device.
+ */
+ short BitsPerPixel;
+
+
+ /** specifies special operations which are possible on the device.
+
+ @see DeviceCapability
+ */
+ long Capabilities;
+
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/DialogProvider.idl b/offapi/com/sun/star/awt/DialogProvider.idl
new file mode 100644
index 000000000..bfdbe0d2a
--- /dev/null
+++ b/offapi/com/sun/star/awt/DialogProvider.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_awt_DialogProvider_idl__
+#define __com_sun_star_awt_DialogProvider_idl__
+
+#include <com/sun/star/awt/XDialogProvider.idl>
+#include <com/sun/star/container/XNameContainer.idl>
+#include <com/sun/star/frame/XModel.idl>
+#include <com/sun/star/io/XInputStream.idl>
+#include <com/sun/star/script/XScriptListener.idl>
+
+
+
+module com { module sun { module star { module awt {
+
+
+/** Specifies a provider for dialogs implementing the
+ com::sun::star::awt::XDialog interface.
+ */
+service DialogProvider : com::sun::star::awt::XDialogProvider
+{
+
+ createWithModel([in] com::sun::star::frame::XModel Model);
+
+ createWithModelAndScripting([in] com::sun::star::frame::XModel Model,
+ [in] com::sun::star::io::XInputStream InStream,
+ [in] com::sun::star::container::XNameContainer DialogLib,
+ [in] com::sun::star::script::XScriptListener ScriptListener);
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/DialogProvider2.idl b/offapi/com/sun/star/awt/DialogProvider2.idl
new file mode 100644
index 000000000..49afa12d8
--- /dev/null
+++ b/offapi/com/sun/star/awt/DialogProvider2.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_awt_DialogProvider2_idl__
+#define __com_sun_star_awt_DialogProvider2_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/awt/XDialogProvider2.idl>
+
+
+
+module com { module sun { module star { module awt {
+
+
+/** specifies a provider for dialogs implementing the
+ com::sun::star::awt::XDialog interface.
+ */
+service DialogProvider2 : com::sun::star::awt::XDialogProvider2;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/DockingData.idl b/offapi/com/sun/star/awt/DockingData.idl
new file mode 100644
index 000000000..ffea2bf44
--- /dev/null
+++ b/offapi/com/sun/star/awt/DockingData.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_awt_DockingData_idl__
+#define __com_sun_star_awt_DockingData_idl__
+
+#include <com/sun/star/awt/Rectangle.idl>
+
+
+module com { module sun { module star { module awt {
+
+
+/** data returned by docking handler
+
+ */
+struct DockingData
+{
+
+ /** specifies the position and size where the window would be placed
+ if the user releases the mouse
+ */
+ com::sun::star::awt::Rectangle TrackingRectangle;
+
+
+ /** specifies that the window should be floating (TRUE) or docked (FALSE)
+ */
+ boolean bFloating;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/DockingEvent.idl b/offapi/com/sun/star/awt/DockingEvent.idl
new file mode 100644
index 000000000..f4bc7f222
--- /dev/null
+++ b/offapi/com/sun/star/awt/DockingEvent.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_awt_DockingEvent_idl__
+#define __com_sun_star_awt_DockingEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+
+#include <com/sun/star/awt/Rectangle.idl>
+#include <com/sun/star/awt/Point.idl>
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies a docking event.
+ */
+struct DockingEvent: com::sun::star::lang::EventObject
+{
+
+ /** specifies the current tracking rectangle
+ */
+ com::sun::star::awt::Rectangle TrackingRectangle;
+
+
+ /** specifies the current mouse position in frame coordinates
+ */
+ com::sun::star::awt::Point MousePos;
+
+
+ /** specifies if the layout should be adjusted immediately
+ */
+ boolean bLiveMode;
+
+
+ /** specifies if the docking procedure is interactive which means that
+ the user is currently dragging the window to a new position
+ if this member is `FALSE` the window will be docked or undocked immediately
+ using the returned tracking rectangle
+ */
+ boolean bInteractive;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/EndDockingEvent.idl b/offapi/com/sun/star/awt/EndDockingEvent.idl
new file mode 100644
index 000000000..6dc1ef6f7
--- /dev/null
+++ b/offapi/com/sun/star/awt/EndDockingEvent.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_awt_EndDockingEvent_idl__
+#define __com_sun_star_awt_EndDockingEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+#include <com/sun/star/awt/Rectangle.idl>
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies an end docking event.
+ */
+struct EndDockingEvent: com::sun::star::lang::EventObject
+{
+
+ /** specifies the new bounding rectangle of the window
+ */
+ com::sun::star::awt::Rectangle WindowRectangle;
+
+
+ /** specifies if the window is now floating `TRUE` or docked `FALSE`
+ */
+ boolean bFloating;
+
+
+ /** specifies that the docking procedure was canceled
+ */
+ boolean bCancelled;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/EndPopupModeEvent.idl b/offapi/com/sun/star/awt/EndPopupModeEvent.idl
new file mode 100644
index 000000000..e0de19ace
--- /dev/null
+++ b/offapi/com/sun/star/awt/EndPopupModeEvent.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_awt_EndPopupModeEvent_idl__
+#define __com_sun_star_awt_EndPopupModeEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+#include <com/sun/star/awt/Point.idl>
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies an end pop-up mode event.
+ */
+struct EndPopupModeEvent: com::sun::star::lang::EventObject
+{
+
+ /** specifies how the pop-up mode was ended
+ `TRUE` means the window should be teared-off and positioned at FloatingPosition
+ `FALSE` means the window was closed
+ */
+ boolean bTearoff;
+
+
+ /** specifies the new position of the floating window in frame coordinates
+ if bTearoff is `TRUE`
+ */
+ com::sun::star::awt::Point FloatingPosition;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/EnhancedMouseEvent.idl b/offapi/com/sun/star/awt/EnhancedMouseEvent.idl
new file mode 100644
index 000000000..66c18b8ae
--- /dev/null
+++ b/offapi/com/sun/star/awt/EnhancedMouseEvent.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_awt_EnhancedMouseEvent_idl__
+#define __com_sun_star_awt_EnhancedMouseEvent_idl__
+
+#include <com/sun/star/awt/MouseEvent.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies an event from the mouse.
+
+ @see MouseEvent
+
+ @since OOo 2.0
+
+ */
+published struct EnhancedMouseEvent: com::sun::star::awt::MouseEvent
+{
+
+ /** contains the object on the location of the mouse.
+ */
+
+ com::sun::star::uno::XInterface Target;
+
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/FieldUnit.idl b/offapi/com/sun/star/awt/FieldUnit.idl
new file mode 100644
index 000000000..4813f128c
--- /dev/null
+++ b/offapi/com/sun/star/awt/FieldUnit.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_awt_FieldUnit_idl__
+#define __com_sun_star_awt_FieldUnit_idl__
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies attributes for the MetricField map units.
+
+ <p><b>IMPORTANT:</b> These constants have to be disjunct with
+ constants in util/MeasureUnit.</p>
+ */
+constants FieldUnit
+{
+ const short FUNIT_NONE = 0;
+ const short FUNIT_MM = 1;
+ const short FUNIT_CM = 2;
+ const short FUNIT_M = 3;
+ const short FUNIT_KM = 4;
+ const short FUNIT_TWIP = 5;
+ const short FUNIT_POINT = 6;
+ const short FUNIT_PICA = 7;
+ const short FUNIT_INCH = 8;
+ const short FUNIT_FOOT = 9;
+ const short FUNIT_MILE = 10;
+ const short FUNIT_CUSTOM = 11;
+ const short FUNIT_PERCENT = 12;
+ const short FUNIT_100TH_MM = 13;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/FocusChangeReason.idl b/offapi/com/sun/star/awt/FocusChangeReason.idl
new file mode 100644
index 000000000..e49532318
--- /dev/null
+++ b/offapi/com/sun/star/awt/FocusChangeReason.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_awt_FocusChangeReason_idl__
+#define __com_sun_star_awt_FocusChangeReason_idl__
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** A combination of these values can be used to specify the reason
+ for a focus change.
+ */
+published constants FocusChangeReason
+{
+
+ /** Focus changed because TAB was pressed.
+ */
+ const long TAB = 1;
+
+
+ /** Focus changed because Key Left/Right/Up/Down was pressed.
+ */
+ const long CURSOR = 2;
+
+
+ /** Focus changed because mnemonic key was pressed.
+ */
+ const long MNEMONIC = 4;
+
+
+ /** Changed Focus to the next control.
+ */
+ const long FORWARD = 16;
+
+
+ /** Changed Focus to the previous control.
+ */
+ const long BACKWARD = 32;
+
+
+ /** Changed Focus forward from last to first or backward from first to
+ last.
+ */
+ const long AROUND = 64;
+
+
+ /** Focus changed because mnemonic key was pressed and this mnemonic is
+ unique.
+ */
+ const long UNIQUEMNEMONIC = 256;
+
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/FocusEvent.idl b/offapi/com/sun/star/awt/FocusEvent.idl
new file mode 100644
index 000000000..9c303b786
--- /dev/null
+++ b/offapi/com/sun/star/awt/FocusEvent.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_awt_FocusEvent_idl__
+#define __com_sun_star_awt_FocusEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies a keyboard focus event.
+
+ <p>There are two levels of focus change events: permanent and temporary.
+ Permanent focus change events occur when focus is directly moved
+ from one component to another, such as through calls to requestFocus()
+ or as the user uses the Tab key to traverse components.
+ Temporary focus change events occur when focus is
+ gained or lost for a component as the indirect result of another
+ operation, such as window deactivation or a scrollbar drag. In this
+ case, the original focus state will automatically be restored once
+ that operation is finished, or for the case of window deactivation,
+ when the window is reactivated. Both permanent and temporary focus
+ events are delivered using the FOCUS_GAINED and FOCUS_LOST event ids;
+ the levels may be distinguished in the event using the isTemporary()
+ method.</p>
+ */
+published struct FocusEvent: com::sun::star::lang::EventObject
+{
+
+ /** specifies the reason for the focus change as an arithmetic-or
+ combination of FocusChangeReason.
+
+ @see FocusChangeReason
+ */
+ short FocusFlags;
+
+
+ /** contains the window which gets the focus on a lose focus event.
+ */
+ com::sun::star::uno::XInterface NextFocus;
+
+
+ /** specifies if this focus change event is a temporary change.
+ */
+ boolean Temporary;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/FontDescriptor.idl b/offapi/com/sun/star/awt/FontDescriptor.idl
new file mode 100644
index 000000000..3e83889e0
--- /dev/null
+++ b/offapi/com/sun/star/awt/FontDescriptor.idl
@@ -0,0 +1,163 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_awt_FontDescriptor_idl__
+#define __com_sun_star_awt_FontDescriptor_idl__
+
+#include <com/sun/star/awt/FontSlant.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** describes the characteristics of a font.
+
+ <p>For example, this can be used to select a font.</p>
+ */
+published struct FontDescriptor
+{
+
+ /** specifies the exact name of the font.
+ */
+ string Name;
+
+
+ /** specifies the height of the font in the measure of the
+ destination.
+ */
+ short Height;
+
+
+ /** specifies the width of the font in the measure of the
+ destination.
+ */
+ short Width;
+
+
+ /** specifies the style name of the font.
+ */
+ string StyleName;
+
+
+ /** specifies the general style of the font.
+
+ <p>Use one value out of the constant group
+ com::sun::star::awt::FontFamily.</p>
+ */
+ short Family;
+
+
+ /** specifies the character set which is supported by the font.
+
+ <p>Use one value out of the constant group
+ com::sun::star::awt::CharSet.</p>
+ */
+ short CharSet;
+
+
+ /** specifies the pitch of the font.
+
+ <p>Use one value out of the constant group
+ com::sun::star::awt::FontPitch.</p>
+ */
+ short Pitch;
+
+
+ /** specifies the character width.
+
+ <p>Depending on the specified width, a font that supports this
+ width may be selected.</p>
+
+ <p>The value is expressed as a percentage.</p>
+ */
+ float CharacterWidth;
+
+
+ /** specifies the thickness of the line.
+
+ <p>Depending on the specified weight, a font that supports this
+ thickness may be selected.</p>
+
+ <p>The value is expressed as a percentage.</p>
+ */
+ float Weight;
+
+
+ /** specifies the slant of the font.
+ */
+ com::sun::star::awt::FontSlant Slant;
+
+
+ /** specifies the kind of underlining.
+
+ <p>Use one value out of the constant group
+ com::sun::star::awt::FontUnderline.</p>
+ */
+ short Underline;
+
+
+ /** specifies the kind of strikeout.
+
+ <p>Use one value out of the constant group
+ com::sun::star::awt::FontStrikeout.</p>
+ */
+ short Strikeout;
+
+
+ /** specifies the rotation of the font.
+
+ <p>The unit of measure is degrees; 0 is the baseline.</p>
+ */
+ float Orientation;
+
+
+ /** For requesting, it specifies if there is a kerning table available.
+ For selecting, it specifies if the kerning table is to be used.
+ */
+ boolean Kerning;
+
+
+ /** specifies if only words get underlined.
+
+ <p>`TRUE` means that only non-space characters get underlined,
+ `FALSE` means that the spacing also gets underlined.</p>
+
+ <p>This property is only valid if the property
+ com::sun::star::awt::FontDescriptor::Underline
+ is not FontUnderline::NONE.</p>
+ */
+ boolean WordLineMode;
+
+
+ /** specifies the technology of the font representation.
+
+ <p>One or more values out of the constant group
+ com::sun::star::awt::FontType can be combined by
+ an arithmetical or-operation.</p>
+ */
+ short Type;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/FontEmphasisMark.idl b/offapi/com/sun/star/awt/FontEmphasisMark.idl
new file mode 100644
index 000000000..7fa3641d7
--- /dev/null
+++ b/offapi/com/sun/star/awt/FontEmphasisMark.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_awt_FontEmphasisMark_idl__
+#define __com_sun_star_awt_FontEmphasisMark_idl__
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** These values are used to specify the kind of emphasis mark.
+
+ <p>They may be expanded in future versions.</p>
+ */
+published constants FontEmphasisMark
+{
+
+ /** specifies no emphasis mark.
+ */
+ const short NONE = 0x0000;
+
+
+ /** specifies emphasis mark dot.
+ */
+ const short DOT = 0x0001;
+
+
+ /** specifies emphasis mark circle.
+ */
+ const short CIRCLE = 0x0002;
+
+
+ /** specifies emphasis mark disc.
+ */
+ const short DISC = 0x0003;
+
+
+ /** specifies emphasis mark accent.
+ */
+ const short ACCENT = 0x0004;
+
+
+ /** specifies that the emphasis mark should be positioned above the
+ characters.
+ */
+ const short ABOVE = 0x1000;
+
+
+ /** specifies that the emphasis mark should be positioned below the
+ characters.
+ */
+ const short BELOW = 0x2000;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/FontFamily.idl b/offapi/com/sun/star/awt/FontFamily.idl
new file mode 100644
index 000000000..88f37f888
--- /dev/null
+++ b/offapi/com/sun/star/awt/FontFamily.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_awt_FontFamily_idl__
+#define __com_sun_star_awt_FontFamily_idl__
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** These values are used to specify the general kind of font.
+
+ <p>They may be expanded in future versions.</p>
+ */
+published constants FontFamily
+{
+
+ /** specifies an unknown font family.
+ */
+ const short DONTKNOW = 0;
+
+
+ /** specifies the family of decorative fonts.
+ */
+ const short DECORATIVE = 1;
+
+
+ /** specifies the family of modern fonts.
+ */
+ const short MODERN = 2;
+
+
+ /** specifies the family roman fonts (with serifs).
+ */
+ const short ROMAN = 3;
+
+
+ /** specifies the family of script fonts.
+ */
+ const short SCRIPT = 4;
+
+
+ /** specifies the family roman fonts (without serifs).
+ */
+ const short SWISS = 5;
+
+
+ /** specifies the family system fonts.
+ */
+ const short SYSTEM = 6;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/FontPitch.idl b/offapi/com/sun/star/awt/FontPitch.idl
new file mode 100644
index 000000000..fac202182
--- /dev/null
+++ b/offapi/com/sun/star/awt/FontPitch.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_awt_FontPitch_idl__
+#define __com_sun_star_awt_FontPitch_idl__
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** These values are used to specify whether the width of a character is
+ fixed or variable.
+
+ <p>They may be expanded in future versions.</p>
+ */
+published constants FontPitch
+{
+
+ /** specifies that the pitch for this font is unknown.
+ */
+ const short DONTKNOW = 0;
+
+
+ /** specifies a font with a fixed character width.
+ */
+ const short FIXED = 1;
+
+
+ /** specifies a font with a variable character width.
+ */
+ const short VARIABLE = 2;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/FontRelief.idl b/offapi/com/sun/star/awt/FontRelief.idl
new file mode 100644
index 000000000..2807b883f
--- /dev/null
+++ b/offapi/com/sun/star/awt/FontRelief.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_awt_FontRelief_idl__
+#define __com_sun_star_awt_FontRelief_idl__
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** These values are used to specify the kind of relief.
+
+ <p>They may be expanded in future versions.</p>
+ */
+
+published constants FontRelief
+{
+
+ /** specifies no relief.
+ */
+ const short NONE = 0;
+
+
+ /** specifies no embossed.
+ */
+ const short EMBOSSED = 1;
+
+
+ /** specifies no engraved.
+ */
+ const short ENGRAVED = 2;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/FontSlant.idl b/offapi/com/sun/star/awt/FontSlant.idl
new file mode 100644
index 000000000..7f56b159e
--- /dev/null
+++ b/offapi/com/sun/star/awt/FontSlant.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_awt_FontSlant_idl__
+#define __com_sun_star_awt_FontSlant_idl__
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** used to specify the slant of a font.
+ */
+published enum FontSlant
+{
+
+ /** specifies a font without slant.
+ */
+ NONE,
+
+
+ /** specifies an oblique font (slant not designed into the font).
+ */
+ OBLIQUE,
+
+
+ /** specifies an italic font (slant designed into the font).
+ */
+ ITALIC,
+
+
+ /** specifies a font with an unknown slant.
+ */
+ DONTKNOW,
+
+
+ /** specifies a reverse oblique font (slant not designed into the font).
+ */
+ REVERSE_OBLIQUE,
+
+
+ /** specifies a reverse italic font (slant designed into the font).
+ */
+ REVERSE_ITALIC
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/FontStrikeout.idl b/offapi/com/sun/star/awt/FontStrikeout.idl
new file mode 100644
index 000000000..f813df349
--- /dev/null
+++ b/offapi/com/sun/star/awt/FontStrikeout.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_awt_FontStrikeout_idl__
+#define __com_sun_star_awt_FontStrikeout_idl__
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** These values are used to specify the kind of strikeout.
+
+ <p>They may be expanded in future versions.</p>
+ */
+published constants FontStrikeout
+{
+
+ /** specifies not to strike out the characters.
+ */
+ const short NONE = 0;
+
+
+ /** specifies to strike out the characters with a single line.
+ */
+ const short SINGLE = 1;
+
+
+ /** specifies to strike out the characters with a double line.
+ */
+ const short DOUBLE = 2;
+
+
+ /** The strikeout mode is not specified.
+ */
+ const short DONTKNOW = 3;
+
+
+ /** specifies to strike out the characters with a bold line.
+ */
+ const short BOLD = 4;
+
+
+ /** specifies to strike out the characters with slashes.
+ */
+ const short SLASH = 5;
+
+
+ /** specifies to strike out the characters with X's.
+ */
+ const short X = 6;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/FontType.idl b/offapi/com/sun/star/awt/FontType.idl
new file mode 100644
index 000000000..76ab60e61
--- /dev/null
+++ b/offapi/com/sun/star/awt/FontType.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_awt_FontType_idl__
+#define __com_sun_star_awt_FontType_idl__
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** These values are used to specify the technology of the font representation.
+
+ <p>They may be expanded in future versions.</p>
+ */
+published constants FontType
+{
+
+ /** The type of the font is not known.
+ */
+ const short DONTKNOW = 0;
+
+
+ /** specifies a raster font.
+ */
+ const short RASTER = 1;
+
+
+ /** specifies a device font.
+ */
+ const short DEVICE = 2;
+
+
+ /** specifies a scalable font.
+ */
+ const short SCALABLE = 4;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/FontUnderline.idl b/offapi/com/sun/star/awt/FontUnderline.idl
new file mode 100644
index 000000000..7f6d56fad
--- /dev/null
+++ b/offapi/com/sun/star/awt/FontUnderline.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_awt_FontUnderline_idl__
+#define __com_sun_star_awt_FontUnderline_idl__
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** These values are used to specify the kind of underlining.
+
+ <p>They may be expanded in future versions.</p>
+ */
+published constants FontUnderline
+{
+
+ /** specifies no underlining.
+ */
+ const short NONE = 0;
+
+
+ /** specifies underlining with a single line.
+ */
+ const short SINGLE = 1;
+
+
+ /** specifies underlining with a double line.
+ */
+ const short DOUBLE = 2;
+
+
+ /** specifies underlining with a dotted line.
+ */
+ const short DOTTED = 3;
+
+
+ /** The kind of underlining is not known.
+ */
+ const short DONTKNOW = 4;
+
+
+ /** specifies underlining with a dashed line.
+ */
+ const short DASH = 5;
+
+
+ /** specifies underlining with long dashes.
+ */
+ const short LONGDASH = 6;
+
+
+ /** specifies underlining with a dash and dot sequence.
+ */
+ const short DASHDOT = 7;
+
+
+ /** specifies underlining with a dash, dot, dot sequence.
+ */
+ const short DASHDOTDOT = 8;
+
+
+ /** specifies underlining with a small wave.
+ */
+ const short SMALLWAVE = 9;
+
+
+ /** specifies underlining with a wave.
+ */
+ const short WAVE = 10;
+
+
+ /** specifies underlining with a double wave.
+ */
+ const short DOUBLEWAVE = 11;
+
+
+ /** specifies underlining with a bold line.
+ */
+ const short BOLD = 12;
+
+
+ /** specifies underlining with bold dots.
+ */
+ const short BOLDDOTTED = 13;
+
+
+ /** specifies underlining with bold dashes.
+ */
+ const short BOLDDASH = 14;
+
+
+ /** specifies underlining with long bold dashes.
+ */
+ const short BOLDLONGDASH = 15;
+
+
+ /** specifies underlining with a dash and dot sequence in bold.
+ */
+ const short BOLDDASHDOT = 16;
+
+
+ /** specifies underlining with a dash, dot, dot sequence in bold.
+ */
+ const short BOLDDASHDOTDOT = 17;
+
+
+ /** specifies underlining with a bold wave.
+ */
+ const short BOLDWAVE = 18;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/FontWeight.idl b/offapi/com/sun/star/awt/FontWeight.idl
new file mode 100644
index 000000000..d6377e5f6
--- /dev/null
+++ b/offapi/com/sun/star/awt/FontWeight.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_awt_FontWeight_idl__
+#define __com_sun_star_awt_FontWeight_idl__
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** These values are used to specify whether a font is thin or bold.
+
+ <p>They may be expanded in future versions.</p>
+ */
+published constants FontWeight
+{
+
+ /** The font weight is not specified/known.
+ */
+ const float DONTKNOW = 0.000000;
+
+
+ /** specifies a 50% font weight.
+ */
+ const float THIN = 50.000000;
+
+
+ /** specifies a 60% font weight.
+ */
+ const float ULTRALIGHT = 60.000000;
+
+
+ /** specifies a 75% font weight.
+ */
+ const float LIGHT = 75.000000;
+
+
+ /** specifies a 90% font weight.
+ */
+ const float SEMILIGHT = 90.000000;
+
+
+ /** specifies a normal font weight.
+ */
+ const float NORMAL = 100.000000;
+
+
+ /** specifies a 110% font weight.
+ */
+ const float SEMIBOLD = 110.000000;
+
+
+ /** specifies a 150% font weight.
+ */
+ const float BOLD = 150.000000;
+
+
+ /** specifies a 175% font weight.
+ */
+ const float ULTRABOLD = 175.000000;
+
+
+ /** specifies a 200% font weight.
+ */
+ const float BLACK = 200.000000;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/FontWidth.idl b/offapi/com/sun/star/awt/FontWidth.idl
new file mode 100644
index 000000000..40b86a278
--- /dev/null
+++ b/offapi/com/sun/star/awt/FontWidth.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_awt_FontWidth_idl__
+#define __com_sun_star_awt_FontWidth_idl__
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** These values are used to specify the width of the characters of a font.
+
+ <p>They may be expanded in future versions.</p>
+ */
+published constants FontWidth
+{
+
+ /** The width of the font is not specified/known.
+ */
+ const float DONTKNOW = 0.000000;
+
+
+ /** The width of the font is condensed to 50%.
+ */
+ const float ULTRACONDENSED = 50.000000;
+
+
+ /** The width of the font is condensed to 60%.
+ */
+ const float EXTRACONDENSED = 60.000000;
+
+
+ /** The width of the font is condensed to 75%.
+ */
+ const float CONDENSED = 75.000000;
+
+
+ /** The width of the font is condensed to 90%.
+ */
+ const float SEMICONDENSED = 90.000000;
+
+
+ /** The width of the font is normal.
+ */
+ const float NORMAL = 100.000000;
+
+
+ /** The width of the font is expanded to 110%.
+ */
+ const float SEMIEXPANDED = 110.000000;
+
+
+ /** The width of the font is expanded to 150%.
+ */
+ const float EXPANDED = 150.000000;
+
+
+ /** The width of the font is expanded to 175%.
+ */
+ const float EXTRAEXPANDED = 175.000000;
+
+
+ /** The width of the font is expanded to 200%.
+ */
+ const float ULTRAEXPANDED = 200.000000;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/Gradient.idl b/offapi/com/sun/star/awt/Gradient.idl
new file mode 100644
index 000000000..caa722a22
--- /dev/null
+++ b/offapi/com/sun/star/awt/Gradient.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_awt_Gradient_idl__
+#define __com_sun_star_awt_Gradient_idl__
+
+#include <com/sun/star/awt/GradientStyle.idl>
+
+#include <com/sun/star/util/Color.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** Describes a gradient between two colors. Many aspects of the
+ * gradient are undefined, like the algorithm and color space to use
+ * to interpolate between the colors and what "intensity" means.
+ */
+published struct Gradient
+{
+
+ /** specifies the style of the gradient.
+ */
+ com::sun::star::awt::GradientStyle Style;
+
+
+ /** specifies the color at the start point of the gradient.
+ */
+ com::sun::star::util::Color StartColor;
+
+
+ /** specifies the color at the end point of the gradient.
+ */
+ com::sun::star::util::Color EndColor;
+
+
+ /** angle of the gradient in 1/10 degree.
+ */
+ short Angle;
+
+
+ /** per cent of the total width where just the start color is used.
+ */
+ short Border;
+
+
+ /** Specifies the X-coordinate, where the gradient begins.
+ * This is effectively the center of the RADIAL, ELLIPTICAL, SQUARE and
+ * RECT style gradients.
+ */
+ short XOffset;
+
+
+ /** Specifies the Y-coordinate, where the gradient begins. See
+ previous field.
+ */
+ short YOffset;
+
+
+ /** Specifies the intensity at the start point of the gradient. What that means is undefined.
+ */
+ short StartIntensity;
+
+
+ /** specifies the intensity at the end point of the gradient.
+ */
+ short EndIntensity;
+
+
+ /** Specifies the number of steps of change color. What that means
+ * is undefined.
+ */
+ short StepCount;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/GradientStyle.idl b/offapi/com/sun/star/awt/GradientStyle.idl
new file mode 100644
index 000000000..afb6df0aa
--- /dev/null
+++ b/offapi/com/sun/star/awt/GradientStyle.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_awt_GradientStyle_idl__
+#define __com_sun_star_awt_GradientStyle_idl__
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specify the style of color dispersion.
+ */
+published enum GradientStyle
+{
+
+ /** specifies a linear gradient.
+ */
+ LINEAR,
+
+
+ /** specifies an axial gradient.
+ */
+ AXIAL,
+
+
+ /** specifies a radial gradient.
+ */
+ RADIAL,
+
+
+ /** specifies an elliptical gradient.
+ */
+ ELLIPTICAL,
+
+
+ /** specifies a gradient in the shape of a square.
+ */
+ SQUARE,
+
+
+ /** specifies a gradient in the shape of a rectangle.
+ */
+ RECT
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/ImageAlign.idl b/offapi/com/sun/star/awt/ImageAlign.idl
new file mode 100644
index 000000000..b50b01c47
--- /dev/null
+++ b/offapi/com/sun/star/awt/ImageAlign.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_awt_ImageAlign_idl__
+#define __com_sun_star_awt_ImageAlign_idl__
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies the alignment of an image.
+ */
+published constants ImageAlign
+{
+
+ /** specifies to align left.
+ */
+ const short LEFT = 0;
+
+
+ /** specifies to align top.
+ */
+ const short TOP = 1;
+
+
+ /** specifies to align right.
+ */
+ const short RIGHT = 2;
+
+
+ /** specifies to align bottom.
+ */
+ const short BOTTOM = 3;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/ImageDrawMode.idl b/offapi/com/sun/star/awt/ImageDrawMode.idl
new file mode 100644
index 000000000..328b06899
--- /dev/null
+++ b/offapi/com/sun/star/awt/ImageDrawMode.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_awt_ImageDrawMode_idl__
+#define __com_sun_star_awt_ImageDrawMode_idl__
+
+module com { module sun { module star { module awt {
+
+/** defines modes how an image is drawn onto a device
+
+ @see com::sun::star::awt::XGraphics2::drawImage()
+ @since LibreOffice 4.1
+ */
+constants ImageDrawMode
+{
+ /** the image is drawn as is, without any color transformation.
+ */
+ const short NONE = 0x0000;
+
+ /** the image is drawn as if it represented a feature whose state is disabled.
+ */
+ const short DISABLE = 0x0001;
+
+ /** the image is drawn as being highlighted.
+ See com::sun::star::awt::XStyleSettings::HighlightColor.
+ */
+ const short HIGHLIGHT = 0x0002;
+
+ /** the image is drawn as being deactivated.
+ See com::sun::star::awt::XStyleSettings::DeactiveColor.
+ */
+ const short DEACTIVE = 0x0004;
+
+ /** the image is drawn semi-transparent.
+ */
+ const short SEMITRANSPARENT = 0x0010;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/ImagePosition.idl b/offapi/com/sun/star/awt/ImagePosition.idl
new file mode 100644
index 000000000..84cda7027
--- /dev/null
+++ b/offapi/com/sun/star/awt/ImagePosition.idl
@@ -0,0 +1,91 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_awt_ImagePosition_idl__
+#define __com_sun_star_awt_ImagePosition_idl__
+
+
+module com { module sun { module star { module awt {
+
+
+/** specifies the position of an image, relative to another object
+
+ @see ImageAlign
+*/
+constants ImagePosition
+{
+ /** specifies that the image should be positioned at the left of, and top-aligned to, the other object
+ */
+ const short LeftTop = 0;
+
+ /** specifies that the image should be positioned at the left of, and vertically centered to, the other object
+ */
+ const short LeftCenter = 1;
+
+ /** specifies that the image should be positioned at the left of, and bottom-aligned to, the other object
+ */
+ const short LeftBottom = 2;
+
+ /** specifies that the image should be positioned at the right of, and top-aligned to, the other object
+ */
+ const short RightTop = 3;
+
+ /** specifies that the image should be positioned at the right of, and vertically centered to, the other object
+ */
+ const short RightCenter = 4;
+
+ /** specifies that the image should be positioned at the right of, and bottom-aligned to, the other object
+ */
+ const short RightBottom = 5;
+
+ /** specifies that the image should be positioned above and left-aligned to the other object
+ */
+ const short AboveLeft = 6;
+
+ /** specifies that the image should be positioned above and horizontally centered to the other object
+ */
+ const short AboveCenter = 7;
+
+ /** specifies that the image should be positioned above and right-aligned to the other object
+ */
+ const short AboveRight = 8;
+
+ /** specifies that the image should be positioned below and left-aligned to the other object
+ */
+ const short BelowLeft = 9;
+
+ /** specifies that the image should be positioned below and horizontally centered to the other object
+ */
+ const short BelowCenter = 10;
+
+ /** specifies that the image should be positioned below and right-aligned centered to the other object
+ */
+ const short BelowRight = 11;
+
+ /** specifies that the image should be horizontally and vertically centered to the other object.
+ */
+ const short Centered = 12;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/ImageScaleMode.idl b/offapi/com/sun/star/awt/ImageScaleMode.idl
new file mode 100644
index 000000000..cb05a16a7
--- /dev/null
+++ b/offapi/com/sun/star/awt/ImageScaleMode.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_awt_ImageScaleMode_idl__
+#define __com_sun_star_awt_ImageScaleMode_idl__
+
+module com { module sun { module star { module awt {
+
+/** defines modes how an image displayed in a given area should be scaled to fit this area
+ */
+constants ImageScaleMode
+{
+ /** specifies that no scaling should happen at all
+ */
+ const short NONE = 0;
+
+ /** specifies that the image should be scaled up or down to the size of the surrounding area isotropically,
+ i.e. by keeping its aspect ratio.
+ */
+ const short ISOTROPIC = 1;
+
+ /** specifies that the image should be scaled up or down to the size of the surrounding area anisotropically.
+
+ <p>The image will finally cover all of the surrounding area, but its dimensions might be distorted.</p>
+ */
+ const short ANISOTROPIC = 2;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/ImageStatus.idl b/offapi/com/sun/star/awt/ImageStatus.idl
new file mode 100644
index 000000000..7ca9f4447
--- /dev/null
+++ b/offapi/com/sun/star/awt/ImageStatus.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_awt_ImageStatus_idl__
+#define __com_sun_star_awt_ImageStatus_idl__
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** These values are used to specify to which degree an image is available.
+ */
+published constants ImageStatus
+{
+
+ /** This conveys that an error was encountered while producing the image.
+ */
+ const long IMAGESTATUS_ERROR = 1;
+
+
+ /** This conveys that one frame of the image is complete but there are more
+ frames to be delivered.
+ */
+ const long IMAGESTATUS_SINGLEFRAMEDONE = 2;
+
+
+ /** This conveys that the image is complete and there are no more pixels or
+ frames to be delivered.
+ */
+ const long IMAGESTATUS_STATICIMAGEDONE = 3;
+
+
+ /** This conveys that the image creation process was deliberately aborted.
+ */
+ const long IMAGESTATUS_ABORTED = 4;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/InputEvent.idl b/offapi/com/sun/star/awt/InputEvent.idl
new file mode 100644
index 000000000..303fa21ba
--- /dev/null
+++ b/offapi/com/sun/star/awt/InputEvent.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_awt_InputEvent_idl__
+#define __com_sun_star_awt_InputEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** the root event class for all component-level input events.
+
+ <p>Input events are delivered to listeners before they are
+ processed normally by the source where they originated.</p>
+
+ @see WindowEvent
+ */
+published struct InputEvent: com::sun::star::lang::EventObject
+{
+
+ /** contains the modifier keys which were pressed while the event occurred.
+
+ <p>Zero or more constants from the
+ com::sun::star::awt::KeyModifier group.</p>
+ */
+ short Modifiers;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/InvalidateStyle.idl b/offapi/com/sun/star/awt/InvalidateStyle.idl
new file mode 100644
index 000000000..8d043c076
--- /dev/null
+++ b/offapi/com/sun/star/awt/InvalidateStyle.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_awt_InvalidateStyle_idl__
+#define __com_sun_star_awt_InvalidateStyle_idl__
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies how to invalidate windows.
+ */
+published constants InvalidateStyle
+{
+
+ /** The child windows are invalidated, too.
+ */
+ const short CHILDREN = 1;
+
+
+ /** The child windows are not invalidated.
+ */
+ const short NOCHILDREN = 2;
+
+
+ /** The invalidated area is painted with the background color/pattern.
+ */
+ const short NOERASE = 4;
+
+
+ /** The invalidated area is updated immediately.
+ */
+ const short UPDATE = 8;
+
+
+ /** The parent window is invalidated, too.
+ */
+ const short TRANSPARENT = 16;
+
+
+ /** The parent window is not invalidated.
+ */
+ const short NOTRANSPARENT = 32;
+
+
+ /** The area is invalidated regardless of overlapping child windows.
+ */
+ const short NOCLIPCHILDREN = 16384;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/ItemEvent.idl b/offapi/com/sun/star/awt/ItemEvent.idl
new file mode 100644
index 000000000..2cd762148
--- /dev/null
+++ b/offapi/com/sun/star/awt/ItemEvent.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_awt_ItemEvent_idl__
+#define __com_sun_star_awt_ItemEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies an event occurred to an item of a menu, a list box etc.
+ */
+published struct ItemEvent: com::sun::star::lang::EventObject
+{
+
+ /** specifies which item is newly selected.
+ */
+ long Selected;
+
+
+ /** specifies which item is newly highlighted.
+ */
+ long Highlighted;
+
+
+ /** specifies the id of the item.
+ */
+ long ItemId;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/ItemListEvent.idl b/offapi/com/sun/star/awt/ItemListEvent.idl
new file mode 100644
index 000000000..85e702396
--- /dev/null
+++ b/offapi/com/sun/star/awt/ItemListEvent.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_awt_ItemListEvent_idl__
+#define __com_sun_star_awt_ItemListEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+#include <com/sun/star/beans/Optional.idl>
+
+
+module com { module sun { module star { module awt {
+
+
+/** is the event broadcasted by a XListItems implementation for changes
+ in its item list.
+ */
+struct ItemListEvent : ::com::sun::star::lang::EventObject
+{
+ /** specifies the position of the item which is affected by the event
+
+ <p>In case the event is not related to a single item, but to the complete list, the value of this
+ member is undefined.</p>
+ */
+ long ItemPosition;
+
+ /** the text of the item.
+
+ <p>If the event being notified did not touch the text of an item, this member is empty. For instance, upon
+ invocation of XItemList::setItemImage(), only <code>ItemImageURL</code> will be set, and
+ <code>ItemText</code> will be empty.</p>
+ */
+ ::com::sun::star::beans::Optional< string >
+ ItemText;
+
+ /** the URL of the image of the item
+
+ <p>If the event being notified did not touch the image of an item, this member is empty. For instance, upon
+ invocation of XItemList::setItemText(), only <code>ItemText</code> will be set, and
+ <code>ItemImageURL</code> will be empty.</p>
+ */
+ ::com::sun::star::beans::Optional< string >
+ ItemImageURL;
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/Key.idl b/offapi/com/sun/star/awt/Key.idl
new file mode 100644
index 000000000..7ad04ae22
--- /dev/null
+++ b/offapi/com/sun/star/awt/Key.idl
@@ -0,0 +1,462 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_awt_Key_idl__
+#define __com_sun_star_awt_Key_idl__
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** These values are used to specify distinct physical keys, plus
+ some special values used by the macOS implementation.
+ */
+published constants Key
+{
+
+ const short NUM0 = 256;
+
+
+ const short NUM1 = 257;
+
+
+ const short NUM2 = 258;
+
+
+ const short NUM3 = 259;
+
+
+ const short NUM4 = 260;
+
+
+ const short NUM5 = 261;
+
+
+ const short NUM6 = 262;
+
+
+ const short NUM7 = 263;
+
+
+ const short NUM8 = 264;
+
+
+ const short NUM9 = 265;
+
+
+ const short A = 512;
+
+
+ const short B = 513;
+
+
+ const short C = 514;
+
+
+ const short D = 515;
+
+
+ const short E = 516;
+
+
+ const short F = 517;
+
+
+ const short G = 518;
+
+
+ const short H = 519;
+
+
+ const short I = 520;
+
+
+ const short J = 521;
+
+
+ const short K = 522;
+
+
+ const short L = 523;
+
+
+ const short M = 524;
+
+
+ const short N = 525;
+
+
+ const short O = 526;
+
+
+ const short P = 527;
+
+
+ const short Q = 528;
+
+
+ const short R = 529;
+
+
+ const short S = 530;
+
+
+ const short T = 531;
+
+
+ const short U = 532;
+
+
+ const short V = 533;
+
+
+ const short W = 534;
+
+
+ const short X = 535;
+
+
+ const short Y = 536;
+
+
+ const short Z = 537;
+
+
+ const short F1 = 768;
+
+
+ const short F2 = 769;
+
+
+ const short F3 = 770;
+
+
+ const short F4 = 771;
+
+
+ const short F5 = 772;
+
+
+ const short F6 = 773;
+
+
+ const short F7 = 774;
+
+
+ const short F8 = 775;
+
+
+ const short F9 = 776;
+
+
+ const short F10 = 777;
+
+
+ const short F11 = 778;
+
+
+ const short F12 = 779;
+
+
+ const short F13 = 780;
+
+
+ const short F14 = 781;
+
+
+ const short F15 = 782;
+
+
+ const short F16 = 783;
+
+
+ const short F17 = 784;
+
+
+ const short F18 = 785;
+
+
+ const short F19 = 786;
+
+
+ const short F20 = 787;
+
+
+ const short F21 = 788;
+
+
+ const short F22 = 789;
+
+
+ const short F23 = 790;
+
+
+ const short F24 = 791;
+
+
+ const short F25 = 792;
+
+
+ const short F26 = 793;
+
+
+ const short DOWN = 1024;
+
+
+ const short UP = 1025;
+
+
+ const short LEFT = 1026;
+
+
+ const short RIGHT = 1027;
+
+
+ const short HOME = 1028;
+
+
+ const short END = 1029;
+
+
+ const short PAGEUP = 1030;
+
+
+ const short PAGEDOWN = 1031;
+
+
+ const short RETURN = 1280;
+
+
+ const short ESCAPE = 1281;
+
+
+ const short TAB = 1282;
+
+
+ const short BACKSPACE = 1283;
+
+
+ const short SPACE = 1284;
+
+
+ const short INSERT = 1285;
+
+
+ const short DELETE = 1286;
+
+
+ const short ADD = 1287;
+
+
+ const short SUBTRACT = 1288;
+
+
+ const short MULTIPLY = 1289;
+
+
+ const short DIVIDE = 1290;
+
+
+ const short POINT = 1291;
+
+
+ const short COMMA = 1292;
+
+
+ const short LESS = 1293;
+
+
+ const short GREATER = 1294;
+
+
+ const short EQUAL = 1295;
+
+
+ const short OPEN = 1296;
+
+
+ const short CUT = 1297;
+
+
+ const short COPY = 1298;
+
+
+ const short PASTE = 1299;
+
+
+ const short UNDO = 1300;
+
+
+ const short REPEAT = 1301;
+
+
+ const short FIND = 1302;
+
+
+ const short PROPERTIES = 1303;
+
+
+ const short FRONT = 1304;
+
+
+ const short CONTEXTMENU = 1305;
+
+
+ const short HELP = 1306;
+
+
+ const short MENU = 1307;
+
+
+ const short HANGUL_HANJA = 1308;
+
+
+ const short DECIMAL = 1309;
+
+
+ const short TILDE = 1310;
+
+
+ const short QUOTELEFT = 1311;
+
+
+ const short CAPSLOCK = 1312;
+
+
+ const short NUMLOCK = 1313;
+
+
+ const short SCROLLLOCK = 1314;
+
+
+ const short DELETE_TO_BEGIN_OF_LINE = 1536;
+
+
+ const short DELETE_TO_END_OF_LINE = 1537;
+
+
+ const short DELETE_TO_BEGIN_OF_PARAGRAPH = 1538;
+
+
+ const short BRACKETLEFT = 1315;
+
+
+ const short BRACKETRIGHT = 1316;
+
+
+ const short SEMICOLON = 1317;
+
+
+ /** @since LibreOffice 4.3 **/
+ const short QUOTERIGHT = 1318;
+
+
+ /** The following values don't correspond to physical keys on any
+ keyboard but are used in the macOS implementation of VCL. They
+ correspond to some of the action messages of the NSResponder
+ abstract class.
+ */
+
+ const short DELETE_TO_END_OF_PARAGRAPH = 1539;
+
+
+ const short DELETE_WORD_BACKWARD = 1540;
+
+
+ const short DELETE_WORD_FORWARD = 1541;
+
+
+ const short INSERT_LINEBREAK = 1542;
+
+
+ const short INSERT_PARAGRAPH = 1543;
+
+
+ const short MOVE_WORD_BACKWARD = 1544;
+
+
+ const short MOVE_WORD_FORWARD = 1545;
+
+
+ const short MOVE_TO_BEGIN_OF_LINE = 1546;
+
+
+ const short MOVE_TO_END_OF_LINE = 1547;
+
+
+ const short MOVE_TO_BEGIN_OF_PARAGRAPH = 1548;
+
+
+ const short MOVE_TO_END_OF_PARAGRAPH = 1549;
+
+
+ const short SELECT_BACKWARD = 1550;
+
+
+ const short SELECT_FORWARD = 1551;
+
+
+ const short SELECT_WORD_BACKWARD = 1552;
+
+
+ const short SELECT_WORD_FORWARD = 1553;
+
+
+ const short SELECT_WORD = 1554;
+
+
+ const short SELECT_LINE = 1555;
+
+
+ const short SELECT_PARAGRAPH = 1556;
+
+
+ const short SELECT_ALL = 1557;
+
+
+ const short SELECT_TO_BEGIN_OF_LINE = 1558;
+
+
+ const short SELECT_TO_END_OF_LINE = 1559;
+
+
+ const short MOVE_TO_BEGIN_OF_DOCUMENT = 1560;
+
+
+ const short MOVE_TO_END_OF_DOCUMENT = 1561;
+
+
+ const short SELECT_TO_BEGIN_OF_DOCUMENT = 1562;
+
+
+ const short SELECT_TO_END_OF_DOCUMENT = 1563;
+
+
+ const short SELECT_TO_BEGIN_OF_PARAGRAPH = 1564;
+
+
+ const short SELECT_TO_END_OF_PARAGRAPH = 1565;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/KeyEvent.idl b/offapi/com/sun/star/awt/KeyEvent.idl
new file mode 100644
index 000000000..3f1489d2c
--- /dev/null
+++ b/offapi/com/sun/star/awt/KeyEvent.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_awt_KeyEvent_idl__
+#define __com_sun_star_awt_KeyEvent_idl__
+
+#include <com/sun/star/awt/InputEvent.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies a key event.
+
+ @see InputEvent
+ */
+published struct KeyEvent: com::sun::star::awt::InputEvent
+{
+
+ /** contains the integer code representing the key of the event.
+
+ <p>This is a constant from the constant group Key.</p>
+ */
+ short KeyCode;
+
+
+ /** contains the Unicode character generated by this event or 0.
+ */
+ char KeyChar;
+
+
+ /** contains the function type of the key event.
+
+ <p>This is a constant from the constant group
+ KeyFunction.</p>
+ */
+ short KeyFunc;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/KeyFunction.idl b/offapi/com/sun/star/awt/KeyFunction.idl
new file mode 100644
index 000000000..132c68b0f
--- /dev/null
+++ b/offapi/com/sun/star/awt/KeyFunction.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_awt_KeyFunction_idl__
+#define __com_sun_star_awt_KeyFunction_idl__
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** These values are used to specify logical key functions.
+ */
+published constants KeyFunction
+{
+
+ const short DONTKNOW = 0;
+
+
+ const short NEW = 1;
+
+
+ const short OPEN = 2;
+
+
+ const short SAVE = 3;
+
+
+ const short SAVEAS = 4;
+
+
+ const short PRINT = 5;
+
+
+ const short CLOSE = 6;
+
+
+ const short QUIT = 7;
+
+
+ const short CUT = 8;
+
+
+ const short COPY = 9;
+
+
+ const short PASTE = 10;
+
+
+ const short UNDO = 11;
+
+
+ const short REDO = 12;
+
+
+ const short DELETE = 13;
+
+
+ const short REPEAT = 14;
+
+
+ const short FIND = 15;
+
+
+ const short FINDBACKWARD = 16;
+
+
+ const short PROPERTIES = 17;
+
+
+ const short FRONT = 18;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/KeyGroup.idl b/offapi/com/sun/star/awt/KeyGroup.idl
new file mode 100644
index 000000000..87ef5a0c0
--- /dev/null
+++ b/offapi/com/sun/star/awt/KeyGroup.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_awt_KeyGroup_idl__
+#define __com_sun_star_awt_KeyGroup_idl__
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** These values are used to specify functional groups of keys.
+
+ @deprecated
+ */
+published constants KeyGroup
+{
+
+ /** specifies a numeric key.
+ */
+ const short NUM = 256;
+
+
+ /** specifies an alphabetic key.
+ */
+ const short ALPHA = 512;
+
+
+ /** specifies a function key.
+ */
+ const short FKEYS = 768;
+
+
+ /** specifies a cursor key.
+ */
+ const short CURSOR = 1024;
+
+
+ /** specifies other keys.
+ */
+ const short MISC = 1280;
+
+
+ /** specifies the group mask.
+ */
+ const short TYPE = 3840;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/KeyModifier.idl b/offapi/com/sun/star/awt/KeyModifier.idl
new file mode 100644
index 000000000..c1dbf5044
--- /dev/null
+++ b/offapi/com/sun/star/awt/KeyModifier.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_awt_KeyModifier_idl__
+#define __com_sun_star_awt_KeyModifier_idl__
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** These values are used to specify which modifier keys are pressed.
+ */
+published constants KeyModifier
+{
+
+ /** refers to both shift keys.
+ */
+ const short SHIFT = 1;
+
+
+ /** refers in the most cases to the "Ctrl" key (Cmd on macOS).
+ */
+ const short MOD1 = 2;
+
+
+ /** refers in the most cases to the "Alt" key.
+ */
+ const short MOD2 = 4;
+
+ /** refers in the most cases to the "Ctrl" key (macOS)
+ */
+ const short MOD3 = 8;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/KeyStroke.idl b/offapi/com/sun/star/awt/KeyStroke.idl
new file mode 100644
index 000000000..91404bec1
--- /dev/null
+++ b/offapi/com/sun/star/awt/KeyStroke.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_awt_KeyStroke_idl__
+#define __com_sun_star_awt_KeyStroke_idl__
+
+
+
+module com { module sun { module star { module awt {
+
+
+/** Describes a key stroke for hotkeys etc.
+
+ @since OOo 1.1.2
+ */
+published struct KeyStroke
+{
+
+ /** contains the modifier keys which were pressed while the event occurred.
+
+ <p>Zero or more constants from the group
+ com::sun::star::awt::KeyModifier.</p>
+ */
+ short Modifiers;
+
+
+ /** contains the integer code representing the key of the event.
+
+ <p>This is a constant from the constant group
+ com::sun::star::awt::Key.</p>
+ */
+ short KeyCode;
+
+
+ /** contains the Unicode character generated by this event or 0.
+ */
+ char KeyChar;
+
+
+ /** contains the function type of the key event.
+
+ <p>This is a constant from the constant group
+ com::sun::star::awt::KeyFunction.</p>
+ */
+ short KeyFunc;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/LineEndFormat.idl b/offapi/com/sun/star/awt/LineEndFormat.idl
new file mode 100644
index 000000000..832efc389
--- /dev/null
+++ b/offapi/com/sun/star/awt/LineEndFormat.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_awt_LineEndFormat_idl__
+#define __com_sun_star_awt_LineEndFormat_idl__
+
+
+
+module com { module sun { module star { module awt {
+
+
+/** These values are used to specify which line end format should be used in strings
+ */
+constants LineEndFormat
+{
+
+ /** specifies that line ends are to be represented by a carriage
+ return character (`\r`)
+ */
+ const short CARRIAGE_RETURN = 0;
+
+
+ /** specifies that line ends are to be represented by a line feed
+ character (`\n`)
+ */
+ const short LINE_FEED = 1;
+
+
+ /** specifies that line ends are to be represented by a line feed
+ character (`\n`), followed by a carriage return character (`\r`).
+ */
+ const short CARRIAGE_RETURN_LINE_FEED = 2;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/MenuBar.idl b/offapi/com/sun/star/awt/MenuBar.idl
new file mode 100644
index 000000000..ce28b1a75
--- /dev/null
+++ b/offapi/com/sun/star/awt/MenuBar.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_awt_MenuBar_idl__
+#define __com_sun_star_awt_MenuBar_idl__
+
+#include <com/sun/star/awt/XMenuBar.idl>
+
+module com { module sun { module star { module awt {
+
+/** describes a menu for top-level windows.
+ <p>A menu bar can only be used by top-level windows. They support
+ the interface com::sun::star::awt::XTopWindow
+ to set an menu bar object.
+ </p>
+ */
+published service MenuBar : XMenuBar;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/MenuEvent.idl b/offapi/com/sun/star/awt/MenuEvent.idl
new file mode 100644
index 000000000..16820242b
--- /dev/null
+++ b/offapi/com/sun/star/awt/MenuEvent.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_awt_MenuEvent_idl__
+#define __com_sun_star_awt_MenuEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+
+module com { module sun { module star { module awt {
+
+/** specifies a menu event.
+ */
+published struct MenuEvent: com::sun::star::lang::EventObject
+{
+ /** contains the item ID.
+ */
+ short MenuId;
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/MenuItemStyle.idl b/offapi/com/sun/star/awt/MenuItemStyle.idl
new file mode 100644
index 000000000..194a732ae
--- /dev/null
+++ b/offapi/com/sun/star/awt/MenuItemStyle.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_awt_MenuItemStyle_idl__
+#define __com_sun_star_awt_MenuItemStyle_idl__
+
+module com { module sun { module star { module awt {
+
+/** These values are used to specify the properties of a menu item.
+ */
+constants MenuItemStyle
+{
+ /** specifies an item which can be checked independently.
+ */
+ const short CHECKABLE = 1;
+
+ /** specifies an item which can be checked dependent on the neighbouring
+ items.
+ */
+ const short RADIOCHECK = 2;
+
+ /** specifies to check this item automatically on select.
+ */
+ const short AUTOCHECK = 4;
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/MenuItemType.idl b/offapi/com/sun/star/awt/MenuItemType.idl
new file mode 100644
index 000000000..cd538a39c
--- /dev/null
+++ b/offapi/com/sun/star/awt/MenuItemType.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_awt_MenuItemType_idl__
+#define __com_sun_star_awt_MenuItemType_idl__
+
+module com { module sun { module star { module awt {
+
+/** specifies the type of a menu item, as returned by
+ com::sun::star::awt::XMenu::getItemType().
+ */
+published enum MenuItemType
+{
+ /** specifies that the menu item type is unknown.
+ */
+ DONTKNOW,
+
+ /** specifies that the menu item has a text.
+ */
+ STRING,
+
+ /** specifies that the menu item has an image.
+ */
+ IMAGE,
+
+ /** specifies that the menu item has a text <b>and</b> an image.
+ */
+ STRINGIMAGE,
+
+ /** specifies that the menu item is a separator.
+ */
+ SEPARATOR
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/MessageBoxButtons.idl b/offapi/com/sun/star/awt/MessageBoxButtons.idl
new file mode 100644
index 000000000..a893cf782
--- /dev/null
+++ b/offapi/com/sun/star/awt/MessageBoxButtons.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_awt_MessageBoxButtons_idl__
+#define __com_sun_star_awt_MessageBoxButtons_idl__
+
+module com { module sun { module star { module awt {
+
+/** defines constants for the possible message box button
+ combinations.
+
+ */
+constants MessageBoxButtons
+{
+ /** specifies a message with "OK" button.
+ */
+ const long BUTTONS_OK = 1;
+
+ /** specifies a message box with "OK" and "CANCEL" button.
+ */
+ const long BUTTONS_OK_CANCEL = 2;
+
+ /** specifies a message box with "YES" and "NO" button.
+ */
+ const long BUTTONS_YES_NO = 3;
+
+ /** specifies a message box with "YES", "NO" and "CANCEL" button.
+ */
+ const long BUTTONS_YES_NO_CANCEL = 4;
+
+ /** specifies a message box with "RETRY" and "CANCEL" button.
+ */
+ const long BUTTONS_RETRY_CANCEL = 5;
+
+ /** specifies a message box with "ABORT", "IGNORE" and "RETRY" button.
+ */
+ const long BUTTONS_ABORT_IGNORE_RETRY = 6;
+
+ /** specifies that OK is the default button.
+ */
+ const long DEFAULT_BUTTON_OK = 0x10000;
+
+ /** specifies that CANCEL is the default button.
+ */
+ const long DEFAULT_BUTTON_CANCEL = 0x20000;
+
+ /** specifies that RETRY is the default button.
+ */
+ const long DEFAULT_BUTTON_RETRY = 0x30000;
+
+ /** specifies that YES is the default button.
+ */
+ const long DEFAULT_BUTTON_YES = 0x40000;
+
+ /** specifies that NO is the default button.
+ */
+ const long DEFAULT_BUTTON_NO = 0x50000;
+
+ /** specifies that IGNORE is the default button.
+ */
+ const long DEFAULT_BUTTON_IGNORE = 0x60000;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/MessageBoxResults.idl b/offapi/com/sun/star/awt/MessageBoxResults.idl
new file mode 100644
index 000000000..4c4ccf5f5
--- /dev/null
+++ b/offapi/com/sun/star/awt/MessageBoxResults.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_awt_MessageBoxResults_idl__
+#define __com_sun_star_awt_MessageBoxResults_idl__
+
+module com { module sun { module star { module awt {
+
+/** These constants are used to specify a result of executing a XMessageBox.
+
+ @since LibreOffice 4.2
+ */
+constants MessageBoxResults
+{
+ /** The user canceled the XMessageBox, by pressing "Cancel" or "Abort" button.
+ */
+ const short CANCEL = 0;
+
+ /** The user pressed the "Ok" button.
+ */
+ const short OK = 1;
+
+ /** The user pressed the "Yes" button.
+ */
+ const short YES = 2;
+
+ /** The user pressed the "No" button.
+ */
+ const short NO = 3;
+
+ /** The user pressed the "Retry" button.
+ */
+ const short RETRY = 4;
+
+ /** The user pressed the "Ignore" button.
+ */
+ const short IGNORE = 5;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/MessageBoxType.idl b/offapi/com/sun/star/awt/MessageBoxType.idl
new file mode 100644
index 000000000..eaac92274
--- /dev/null
+++ b/offapi/com/sun/star/awt/MessageBoxType.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_awt_MessageBoxType_idl__
+#define __com_sun_star_awt_MessageBoxType_idl__
+
+module com { module sun { module star { module awt {
+
+/** specifies the type of a XMessageBox.
+
+ @since LibreOffice 4.2
+ */
+published enum MessageBoxType
+{
+ /** A normal message box.
+ */
+ MESSAGEBOX,
+
+ /** A message box to inform the user about a certain event
+ */
+ INFOBOX,
+
+ /** A message to warn the user about a certain problem.
+ */
+ WARNINGBOX,
+
+ /** A message box to provide an error message to the user.
+ */
+ ERRORBOX,
+
+ /** A message box to query information from the user.
+ */
+ QUERYBOX
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/MouseButton.idl b/offapi/com/sun/star/awt/MouseButton.idl
new file mode 100644
index 000000000..0b55f727f
--- /dev/null
+++ b/offapi/com/sun/star/awt/MouseButton.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_awt_MouseButton_idl__
+#define __com_sun_star_awt_MouseButton_idl__
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** These values are used to specify which keys on the mouse are pressed.
+ */
+published constants MouseButton
+{
+
+ /** specifies the left mouse button as being pressed.
+ */
+ const short LEFT = 1;
+
+
+ /** specifies the right mouse button as being pressed.
+ */
+ const short RIGHT = 2;
+
+
+ /** specifies the middle mouse button as being pressed.
+ */
+ const short MIDDLE = 4;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/MouseEvent.idl b/offapi/com/sun/star/awt/MouseEvent.idl
new file mode 100644
index 000000000..b16bc6e4c
--- /dev/null
+++ b/offapi/com/sun/star/awt/MouseEvent.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_awt_MouseEvent_idl__
+#define __com_sun_star_awt_MouseEvent_idl__
+
+#include <com/sun/star/awt/InputEvent.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies an event from the mouse.
+
+ <p>This event is also used for pop-up menu requests on objects.
+ See #PopupTrigger for details.</p>
+
+ @see XMouseListener
+ @see XMouseMotionListener
+ @see InputEvent
+ */
+published struct MouseEvent: com::sun::star::awt::InputEvent
+{
+
+ /** contains the pressed mouse buttons.
+
+ <p>Zero ore more constants from the
+ com::sun::star::awt::MouseButton group.</p>
+ */
+ short Buttons;
+
+
+ /** contains the x coordinate location of the mouse.
+ */
+ long X;
+
+
+ /** contains the y coordinate location of the mouse.
+ */
+ long Y;
+
+
+ /** contains the number of mouse clicks associated with event.
+ */
+ long ClickCount;
+
+
+ /** specifies if this event is a pop-up menu trigger event.
+
+ <p>If this member is `TRUE`, the event describes a request for a pop-up menu,
+ also known as context menu, on an object.</p>
+
+ <p>In this case, X and Y describe the position
+ where the request was issued. If those members are <code>-1</code>, then the
+ request was issued using the keyboard, by pressing the operating-system dependent
+ key combination for this purpose.</p>
+
+ @see XMouseListener::mousePressed
+ */
+ boolean PopupTrigger;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/MouseWheelBehavior.idl b/offapi/com/sun/star/awt/MouseWheelBehavior.idl
new file mode 100644
index 000000000..d4bad0500
--- /dev/null
+++ b/offapi/com/sun/star/awt/MouseWheelBehavior.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_awt_MouseWheelBehavior_idl__
+#define __com_sun_star_awt_MouseWheelBehavior_idl__
+
+
+module com { module sun { module star { module awt {
+
+
+/** describes the scroll behavior of the mouse wheel for a control
+ @since OOo 3.2
+ */
+constants MouseWheelBehavior
+{
+ /** defines that the mouse wheel cannot be used to scroll through the control's content
+ */
+ const short SCROLL_DISABLED = 0;
+
+ /** defines that the mouse can only be used to scroll through the control's content if it currently
+ has the focus.
+ */
+ const short SCROLL_FOCUS_ONLY = 1;
+
+ /** defines that the mouse can be used to scroll through the control's content, no matter whether or not
+ it has the focus, as long as the mouse pointer is over the control.
+ */
+ const short SCROLL_ALWAYS = 2;
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/PaintEvent.idl b/offapi/com/sun/star/awt/PaintEvent.idl
new file mode 100644
index 000000000..d9099e3e5
--- /dev/null
+++ b/offapi/com/sun/star/awt/PaintEvent.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_awt_PaintEvent_idl__
+#define __com_sun_star_awt_PaintEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+
+#include <com/sun/star/awt/Rectangle.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies the paint event for a component.
+
+ <p>This event is a special type which is used to ensure that
+ paint/update method calls are serialized along with the other
+ events delivered from the event queue.</p>
+
+ @see WindowEvent
+ */
+published struct PaintEvent: com::sun::star::lang::EventObject
+{
+
+ /** contains the rectangle area which needs to be repainted.
+ */
+ com::sun::star::awt::Rectangle UpdateRect;
+
+
+ /** contains the number of paint events that follows this event if
+ it is a multiple PaintEvent. You can collect the PaintEvent
+ until Count is zero.
+ */
+ short Count;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/Point.idl b/offapi/com/sun/star/awt/Point.idl
new file mode 100644
index 000000000..4a1accd1a
--- /dev/null
+++ b/offapi/com/sun/star/awt/Point.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_awt_Point_idl__
+#define __com_sun_star_awt_Point_idl__
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies a 2-dimensional point using the Cartesian coordinate system.
+ */
+published struct Point
+{
+ /** specifies the x-coordinate.
+ */
+ long X;
+
+
+ /** specifies the y-coordinate.
+ */
+ long Y;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/Pointer.idl b/offapi/com/sun/star/awt/Pointer.idl
new file mode 100644
index 000000000..04e96ddb3
--- /dev/null
+++ b/offapi/com/sun/star/awt/Pointer.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_awt_Pointer_idl__
+#define __com_sun_star_awt_Pointer_idl__
+
+#include <com/sun/star/awt/XPointer.idl>
+
+
+module com { module sun { module star { module awt {
+
+
+/**
+ @since LibreOffice 4.1
+ */
+service Pointer : XPointer;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/PopupMenu.idl b/offapi/com/sun/star/awt/PopupMenu.idl
new file mode 100644
index 000000000..5040da5d8
--- /dev/null
+++ b/offapi/com/sun/star/awt/PopupMenu.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_awt_PopupMenu_idl__
+#define __com_sun_star_awt_PopupMenu_idl__
+
+#include <com/sun/star/awt/XPopupMenu.idl>
+
+module com { module sun { module star { module awt {
+
+/** describes a popup menu which is a recursive container for commands
+ <p>A popup menu can be used as a standalone object to display a context
+ menu. It's also possible to use a popup menu to integrate it into
+ another menu.</p>
+ */
+published service PopupMenu : XPopupMenu;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/PopupMenuDirection.idl b/offapi/com/sun/star/awt/PopupMenuDirection.idl
new file mode 100644
index 000000000..021ab5cf7
--- /dev/null
+++ b/offapi/com/sun/star/awt/PopupMenuDirection.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_awt_PopupMenuDirection_idl__
+#define __com_sun_star_awt_PopupMenuDirection_idl__
+
+module com { module sun { module star { module awt {
+
+/** These values are used to specify the direction in which
+ a pop-up menu will grow.
+
+ <p>They may be expanded in future versions.</p>
+ */
+published constants PopupMenuDirection
+{
+ /** opens on execute in a default direction.
+ */
+ const short EXECUTE_DEFAULT = 0;
+
+ /** opens on execute downwards.
+ */
+ const short EXECUTE_DOWN = 1;
+
+ /** opens on execute upwards.
+ */
+ const short EXECUTE_UP = 2;
+
+ /** opens on execute to the left.
+ */
+ const short EXECUTE_LEFT = 4;
+
+ /** opens on execute to the right.
+ */
+ const short EXECUTE_RIGHT = 8;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/PosSize.idl b/offapi/com/sun/star/awt/PosSize.idl
new file mode 100644
index 000000000..260f4b449
--- /dev/null
+++ b/offapi/com/sun/star/awt/PosSize.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_awt_PosSize_idl__
+#define __com_sun_star_awt_PosSize_idl__
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** These constants are used to flag the parameters of a rectangle.
+ */
+published constants PosSize
+{
+
+ /** flags the x-coordinate.
+ */
+ const short X = 1;
+
+
+ /** flags the y-coordinate.
+ */
+ const short Y = 2;
+
+
+ /** flags the width.
+ */
+ const short WIDTH = 4;
+
+
+ /** flags the height.
+ */
+ const short HEIGHT = 8;
+
+
+ /** flags the x- and y-coordinate.
+ */
+ const short POS = 3;
+
+
+ /** flags the width and height.
+ */
+ const short SIZE = 12;
+
+
+ /** flags the x- and y-coordinate, width and height.
+ */
+ const short POSSIZE = 15;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/PrinterException.idl b/offapi/com/sun/star/awt/PrinterException.idl
new file mode 100644
index 000000000..e5926e1ce
--- /dev/null
+++ b/offapi/com/sun/star/awt/PrinterException.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_awt_PrinterException_idl__
+#define __com_sun_star_awt_PrinterException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** fired if a resource cannot be locked.
+
+ <p>It is an error if the exception occurs in a non-transacted task.
+ A transacted task repeats later.</p>
+ */
+published exception PrinterException: com::sun::star::uno::Exception
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/PrinterServer.idl b/offapi/com/sun/star/awt/PrinterServer.idl
new file mode 100644
index 000000000..063e75bc1
--- /dev/null
+++ b/offapi/com/sun/star/awt/PrinterServer.idl
@@ -0,0 +1,27 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.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_awt_PrinterServer_idl__
+#define __com_sun_star_awt_PrinterServer_idl__
+
+#include <com/sun/star/awt/XPrinterServer.idl>
+
+module com { module sun { module star { module awt {
+
+/** mechanism to discover and manage printers
+
+ @since LibreOffice 4.1
+ */
+service PrinterServer: com::sun::star::awt::XPrinterServer2;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/PushButtonType.idl b/offapi/com/sun/star/awt/PushButtonType.idl
new file mode 100644
index 000000000..ad77a2e68
--- /dev/null
+++ b/offapi/com/sun/star/awt/PushButtonType.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_awt_PushButtonType_idl__
+#define __com_sun_star_awt_PushButtonType_idl__
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies the default actions of a button.
+ */
+published enum PushButtonType
+{
+
+ /** acts like a standard push button.
+ */
+ STANDARD,
+
+
+ /** acts like an OK button.
+ */
+ OK,
+
+
+ /** acts like a cancel button.
+ */
+ CANCEL,
+
+
+ /** acts like a help button.
+ */
+ HELP
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/RasterOperation.idl b/offapi/com/sun/star/awt/RasterOperation.idl
new file mode 100644
index 000000000..fa1073dc7
--- /dev/null
+++ b/offapi/com/sun/star/awt/RasterOperation.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_awt_RasterOperation_idl__
+#define __com_sun_star_awt_RasterOperation_idl__
+
+
+
+module com { module sun { module star { module awt {
+
+
+/** These values are used to specify the binary pixel-operation applied
+ when pixels are written to the device.
+*/
+published enum RasterOperation
+{
+
+ /** sets all pixel as written in the output operation.
+ */
+ OVERPAINT,
+
+
+ /** uses the pixel written as one and the current pixel as
+ the other operator of an exclusive or-operation.
+ */
+ XOR,
+
+
+ /** All bits which are affected by this operation are set to 0.
+ */
+ ZEROBITS,
+
+
+ /** All bits which are affected by this operation are set to 1.
+ */
+ ALLBITS,
+
+
+ /** All bits which are affected by this operation are inverted.
+ */
+ INVERT
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/Rectangle.idl b/offapi/com/sun/star/awt/Rectangle.idl
new file mode 100644
index 000000000..45971cfa3
--- /dev/null
+++ b/offapi/com/sun/star/awt/Rectangle.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_awt_Rectangle_idl__
+#define __com_sun_star_awt_Rectangle_idl__
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies a rectangular area by position and size.
+ */
+published struct Rectangle
+{
+ /** specifies the x-coordinate.
+ */
+ long X;
+
+
+ /** specifies the y-coordinate.
+ */
+ long Y;
+
+
+ /** specifies the width.
+ */
+ long Width;
+
+
+ /** specifies the height.
+ */
+ long Height;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/RoadmapItem.idl b/offapi/com/sun/star/awt/RoadmapItem.idl
new file mode 100644
index 000000000..1072b82e0
--- /dev/null
+++ b/offapi/com/sun/star/awt/RoadmapItem.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_awt_RoadmapItem_idl__
+#define __com_sun_star_awt_RoadmapItem_idl__
+
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/* specifies a RoadmapItem which serves as an Element in a Container like the Roadmap
+ * specified in com::sun::star::awt::UnoControlRoadmapModel and
+ * com::sun::star::awt::UnoControlRoadmap
+ */
+service RoadmapItem
+{
+ /** The ID uniquely identifies the roadmap item.
+ * When the RoadmapItem is inserted into the Roadmap via "insertByIndex"
+ * the default value of the ID is the first available absolute digit that
+ * has not yet been assigned to other existing RoadmapItems.
+ */
+ [property] short ID;
+
+ /** The Label of the RoadmapItem does not include its Prefix that is automatically
+ * set after the following algorithm:
+ * (Index + 1) + ". " + Label
+ */
+ [property] string Label;
+
+
+ /** When "Interactive" is true the RoadmapItem supports a certain "HyperLabel
+ * functionality":
+ * Moving the mouse pointer over the RoadmapItem will change it to a Refhand and
+ * underline the Label for the time the mouse pointer resides over the RoadmapItem.
+ * Clicking with mouse pointer will then notify the Roadmap Container.
+ * The property Interactive" is readonly because it is adapted from the container of the
+ * RoadmapItem.
+ */
+ [property] boolean Interactive;
+
+
+ /** determines whether a control is enabled or disabled.
+ */
+ [property] boolean Enabled;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/ScrollBarOrientation.idl b/offapi/com/sun/star/awt/ScrollBarOrientation.idl
new file mode 100644
index 000000000..a5390a0d1
--- /dev/null
+++ b/offapi/com/sun/star/awt/ScrollBarOrientation.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_awt_ScrollBarOrientation_idl__
+#define __com_sun_star_awt_ScrollBarOrientation_idl__
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** These constants are used to specify the orientation of a scroll bar.
+ */
+published constants ScrollBarOrientation
+{
+
+ /** specifies a horizontal scroll bar.
+ */
+ const long HORIZONTAL = 0;
+
+
+ /** specifies a vertical scroll bar.
+ */
+ const long VERTICAL = 1;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/Selection.idl b/offapi/com/sun/star/awt/Selection.idl
new file mode 100644
index 000000000..9a55bb001
--- /dev/null
+++ b/offapi/com/sun/star/awt/Selection.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_awt_Selection_idl__
+#define __com_sun_star_awt_Selection_idl__
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies a numerical range.
+ */
+published struct Selection
+{
+
+ /** specifies the lower limit of the range.
+ */
+ long Min;
+
+
+ /** specifies the upper limit of the range.
+ */
+ long Max;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/SimpleFontMetric.idl b/offapi/com/sun/star/awt/SimpleFontMetric.idl
new file mode 100644
index 000000000..5939399bd
--- /dev/null
+++ b/offapi/com/sun/star/awt/SimpleFontMetric.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_awt_SimpleFontMetric_idl__
+#define __com_sun_star_awt_SimpleFontMetric_idl__
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** describes the general metrics of a certain font.
+ */
+published struct SimpleFontMetric
+{
+ /** specifies the portion of a lower case character that
+ rises above the height of the character "x" of the font.
+
+ <p>For example, the letters "b", "d", "h", "k" and "l"
+ have an ascent unequal to 0.</p>
+
+ <p>The ascent is measured in pixels, thus the font metric is
+ device dependent.</p>
+ */
+ short Ascent;
+
+
+ /** specifies the portion of a letter falling below the baseline.
+
+ <p>For example, the letters "g", "p", and "y"
+ have a descent unequal to 0.</p>
+
+ <p>The descent is measured in pixels, thus the font metric is
+ device dependent.</p>
+ */
+ short Descent;
+
+
+ /** specifies the vertical space between lines of this font;
+ it is also called internal line spacing.
+
+ <p>The leading is measured in pixels, thus the font metric is
+ device dependent.</p>
+ */
+ short Leading;
+
+
+ /** specifies the slant of the characters (italic).
+
+ <p>The slant is measured in degrees from 0 to 359.</p>
+ */
+ short Slant;
+
+
+ /** specifies the code of the first printable character in the font.
+ */
+ char FirstChar;
+
+
+ /** specifies the code of the last printable character in the font.
+ */
+ char LastChar;
+
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/Size.idl b/offapi/com/sun/star/awt/Size.idl
new file mode 100644
index 000000000..6b9e48bfd
--- /dev/null
+++ b/offapi/com/sun/star/awt/Size.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_awt_Size_idl__
+#define __com_sun_star_awt_Size_idl__
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies the 2-dimensional size of an area using width and height.
+ */
+published struct Size
+{
+
+ /** specifies the width.
+ */
+ long Width;
+
+
+ /** specifies the height.
+ */
+ long Height;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/SpinEvent.idl b/offapi/com/sun/star/awt/SpinEvent.idl
new file mode 100644
index 000000000..8ec65011e
--- /dev/null
+++ b/offapi/com/sun/star/awt/SpinEvent.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_awt_SpinEvent_idl__
+#define __com_sun_star_awt_SpinEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies a spin button event.
+ */
+published struct SpinEvent: com::sun::star::lang::EventObject
+{
+
+ /** This is a dummy field only. Please ignore.
+ */
+ short dummy1;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/SpinningProgressControlModel.idl b/offapi/com/sun/star/awt/SpinningProgressControlModel.idl
new file mode 100644
index 000000000..98cbc23b4
--- /dev/null
+++ b/offapi/com/sun/star/awt/SpinningProgressControlModel.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_awt_SpinningProgressControlModel_idl__
+#define __com_sun_star_awt_SpinningProgressControlModel_idl__
+
+#include <com/sun/star/awt/AnimatedImagesControlModel.idl>
+
+
+module com { module sun { module star { module awt {
+
+
+/** is a specialization of the AnimatedImagesControlModel.
+
+ <p>To show a progress which cannot be expressed as a percentage of execution,
+ it displays animated images from a standard image set.</p>
+
+ <p>Three image sets are provided, of size 16x16, 32x32, and 64x64 pixels.</p>
+ */
+service SpinningProgressControlModel
+{
+ service AnimatedImagesControlModel;
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/Style.idl b/offapi/com/sun/star/awt/Style.idl
new file mode 100644
index 000000000..8a2f978c9
--- /dev/null
+++ b/offapi/com/sun/star/awt/Style.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_awt_Style_idl__
+#define __com_sun_star_awt_Style_idl__
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies the style of a window.
+ */
+published constants Style
+{
+
+ /** specifies a frame.
+ */
+ const short FRAME = 0;
+
+
+ /** specifies a dialog.
+ */
+ const short DIALOG = 1;
+
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/SystemDependentXWindow.idl b/offapi/com/sun/star/awt/SystemDependentXWindow.idl
new file mode 100644
index 000000000..e5ac39320
--- /dev/null
+++ b/offapi/com/sun/star/awt/SystemDependentXWindow.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_awt_SystemDependentXWindow_idl__
+#define __com_sun_star_awt_SystemDependentXWindow_idl__
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies a system dependent XWindow.
+
+ <p>This is the structure returned in the
+ XSystemDependentWindowPeer::getWindowHandle() call,
+ if the system type is
+ com::sun::star::lang::SystemDependent::XWINDOW.</p>
+
+ @deprecated
+ */
+published struct SystemDependentXWindow
+{
+
+ /** The XWindow handle if possible, otherwise 0.
+ */
+ long WindowHandle;
+
+
+ /** The display pointer.
+ */
+ hyper DisplayPointer;
+
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/SystemPointer.idl b/offapi/com/sun/star/awt/SystemPointer.idl
new file mode 100644
index 000000000..b7ae1af9f
--- /dev/null
+++ b/offapi/com/sun/star/awt/SystemPointer.idl
@@ -0,0 +1,411 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_awt_SystemPointer_idl__
+#define __com_sun_star_awt_SystemPointer_idl__
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies the shape of a mouse pointer.
+ */
+published constants SystemPointer
+{
+
+ /** specifies the normal arrow-like mouse pointer.
+ */
+ const long ARROW = 0;
+
+
+ /** specifies an invisible mouse pointer.
+ */
+ const long INVISIBLE = 1;
+
+
+ /** specifies a waiting symbol as a mouse pointer (for example hourglass).
+ */
+ const long WAIT = 2;
+
+
+ /** specifies a mouse pointer for text (cursor-like).
+ */
+ const long TEXT = 3;
+
+
+ /** specifies a mouse pointer for on-line help.
+ */
+ const long HELP = 4;
+
+
+ /** specifies a cross as a mouse pointer.
+ */
+ const long CROSS = 5;
+
+
+ /** specifies a mouse pointer which symbolizes movement.
+ */
+ const long MOVE = 6;
+
+
+ /** specifies a mouse pointer which symbolizes resizing for a top border.
+ */
+ const long NSIZE = 7;
+
+
+ /** specifies a mouse pointer which symbolizes resizing for a bottom
+ border.
+ */
+ const long SSIZE = 8;
+
+
+ /** specifies a mouse pointer which symbolizes resizing for a left border.
+ */
+ const long WSIZE = 9;
+
+
+ /** specifies a mouse pointer which symbolizes resizing for a right border.
+ */
+ const long ESIZE = 10;
+
+
+ /** specifies a mouse pointer which symbolizes resizing for the top-left
+ corner.
+ */
+ const long NWSIZE = 11;
+
+
+ /** specifies a mouse pointer which symbolizes resizing for the top-right
+ corner.
+ */
+ const long NESIZE = 12;
+
+
+ /** specifies a mouse pointer which symbolizes resizing for the bottom-left
+ corner.
+ */
+ const long SWSIZE = 13;
+
+
+ /** specifies a mouse pointer which symbolizes resizing for the
+ bottom-right corner.
+ */
+ const long SESIZE = 14;
+
+
+ /** specifies a mouse pointer which symbolizes window resizing for a top
+ border.
+ */
+ const long WINDOW_NSIZE = 15;
+
+
+ /** specifies a mouse pointer which symbolizes window resizing for a bottom
+ border.
+ */
+ const long WINDOW_SSIZE = 16;
+
+
+ /** specifies a mouse pointer which symbolizes window resizing for a left
+ border.
+ */
+ const long WINDOW_WSIZE = 17;
+
+
+ /** specifies a mouse pointer which symbolizes window resizing for a right
+ border.
+ */
+ const long WINDOW_ESIZE = 18;
+
+
+ /** specifies a mouse pointer which symbolizes window resizing for the
+ top-left corner.
+ */
+ const long WINDOW_NWSIZE = 19;
+
+
+ /** specifies a mouse pointer which symbolizes window resizing for the
+ top-right corner.
+ */
+ const long WINDOW_NESIZE = 20;
+
+
+ /** specifies a mouse pointer which symbolizes window resizing for the
+ bottom-left corner.
+ */
+ const long WINDOW_SWSIZE = 21;
+
+
+ /** specifies a mouse pointer which symbolizes window resizing for the
+ bottom-right corner.
+ */
+ const long WINDOW_SESIZE = 22;
+
+
+ /** specifies a mouse pointer which symbolizes horizontal splitting.
+ */
+ const long HSPLIT = 23;
+
+
+ /** specifies a mouse pointer which symbolizes vertical splitting.
+ */
+ const long VSPLIT = 24;
+
+
+ /** specifies a mouse pointer which symbolizes horizontal resizing.
+ */
+ const long HSIZEBAR = 25;
+
+
+ /** specifies a mouse pointer which symbolizes vertical resizing.
+ */
+ const long VSIZEBAR = 26;
+
+
+ /** specifies a hand symbol as mouse pointer.
+ */
+ const long HAND = 27;
+
+
+ /** specifies a pointing hand symbol as mouse pointer.
+ */
+ const long REFHAND = 28;
+
+
+ /** specifies a pen symbol as mouse pointer.
+ */
+ const long PEN = 29;
+
+
+ /** specifies a magnify symbol as mouse pointer.
+ */
+ const long MAGNIFY = 30;
+
+
+ /** specifies a fill symbol as mouse pointer.
+ */
+ const long FILL = 31;
+
+
+ /** specifies a rotate symbol as mouse pointer.
+ */
+ const long ROTATE = 32;
+
+
+ /** specifies a horizontal shear symbol as mouse pointer.
+ */
+ const long HSHEAR = 33;
+
+
+ /** specifies a vertical shear symbol as mouse pointer.
+ */
+ const long VSHEAR = 34;
+
+
+ /** specifies a mirror symbol as mouse pointer.
+ */
+ const long MIRROR = 35;
+
+
+ /** specifies a crook symbol as mouse pointer.
+ */
+ const long CROOK = 36;
+
+
+ /** specifies a crop symbol as mouse pointer.
+ */
+ const long CROP = 37;
+
+
+ /** specifies a mouse pointer which symbolizes moving a point.
+ */
+ const long MOVEPOINT = 38;
+
+
+ /** specifies a mouse pointer which symbolizes moving a Bezier weight.
+ */
+ const long MOVEBEZIERWEIGHT = 39;
+
+
+ /** specifies a mouse pointer which symbolizes moving data.
+ */
+ const long MOVEDATA = 40;
+
+
+ /** specifies a mouse pointer which symbolizes copying data.
+ */
+ const long COPYDATA = 41;
+
+
+ /** specifies a mouse pointer which symbolizes linking data.
+ */
+ const long LINKDATA = 42;
+
+
+ /** specifies a mouse pointer which symbolizes moving a data link.
+ */
+ const long MOVEDATALINK = 43;
+
+
+ /** specifies a mouse pointer which symbolizes copying a data link.
+ */
+ const long COPYDATALINK = 44;
+
+
+ /** specifies a mouse pointer which symbolizes moving a file.
+ */
+ const long MOVEFILE = 45;
+
+
+ /** specifies a mouse pointer which symbolizes copying a file.
+ */
+ const long COPYFILE = 46;
+
+
+ /** specifies a mouse pointer which symbolizes linking a file.
+ */
+ const long LINKFILE = 47;
+
+
+ /** specifies a mouse pointer which symbolizes moving a file link.
+ */
+ const long MOVEFILELINK = 48;
+
+
+ /** specifies a mouse pointer which symbolizes copying a file link.
+ */
+ const long COPYFILELINK = 49;
+
+
+ /** specifies a mouse pointer which symbolizes moving multiple files.
+ */
+ const long MOVEFILES = 50;
+
+
+ /** specifies a mouse pointer which symbolizes copying multiple files.
+ */
+ const long COPYFILES = 51;
+
+
+ /** specifies a mouse pointer which symbolizes "not allowed".
+ */
+ const long NOTALLOWED = 52;
+
+
+ /** specifies a mouse pointer which symbolizes drawing a line.
+ */
+ const long DRAW_LINE = 53;
+
+
+ /** specifies a mouse pointer which symbolizes drawing a rectangle.
+ */
+ const long DRAW_RECT = 54;
+
+
+ /** specifies a mouse pointer which symbolizes drawing a polygon.
+ */
+ const long DRAW_POLYGON = 55;
+
+
+ /** specifies a mouse pointer which symbolizes drawing a Bezier.
+ */
+ const long DRAW_BEZIER = 56;
+
+
+ /** specifies a mouse pointer which symbolizes drawing an arc.
+ */
+ const long DRAW_ARC = 57;
+
+
+ /** specifies a mouse pointer which symbolizes drawing a pie.
+ */
+ const long DRAW_PIE = 58;
+
+
+ /** specifies a mouse pointer which symbolizes drawing a circle cut.
+ */
+ const long DRAW_CIRCLECUT = 59;
+
+
+ /** specifies a mouse pointer which symbolizes drawing an ellipse.
+ */
+ const long DRAW_ELLIPSE = 60;
+
+
+ /** specifies a mouse pointer which symbolizes drawing free handed.
+ */
+ const long DRAW_FREEHAND = 61;
+
+
+ /** specifies a mouse pointer which symbolizes drawing a connector.
+ */
+ const long DRAW_CONNECT = 62;
+
+
+ /** specifies a mouse pointer which symbolizes drawing text.
+ */
+ const long DRAW_TEXT = 63;
+
+
+ /** specifies a mouse pointer which symbolizes drawing a text caption.
+ */
+ const long DRAW_CAPTION = 64;
+
+
+ /** specifies a mouse pointer which symbolizes a chart.
+ */
+ const long CHART = 65;
+
+
+ /** specifies a mouse pointer which symbolizes a detective.
+ */
+ const long DETECTIVE = 66;
+
+
+ /** specifies a mouse pointer which symbolizes a pivot column.
+ */
+ const long PIVOT_COL = 67;
+
+
+ /** specifies a mouse pointer which symbolizes a pivot row.
+ */
+ const long PIVOT_ROW = 68;
+
+
+ /** specifies a mouse pointer which symbolizes a pivot field.
+ */
+ const long PIVOT_FIELD = 69;
+
+
+ /** specifies a mouse pointer which symbolizes a chain.
+ */
+ const long CHAIN = 70;
+
+
+ /** specifies a mouse pointer which symbolizes "chaining not allowed".
+ */
+ const long CHAIN_NOTALLOWED = 71;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/TabController.idl b/offapi/com/sun/star/awt/TabController.idl
new file mode 100644
index 000000000..52aad7a75
--- /dev/null
+++ b/offapi/com/sun/star/awt/TabController.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_awt_TabController_idl__
+#define __com_sun_star_awt_TabController_idl__
+
+#include <com/sun/star/awt/XTabController.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies a standard tab controller.
+ */
+published service TabController : XTabController;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/TabControllerModel.idl b/offapi/com/sun/star/awt/TabControllerModel.idl
new file mode 100644
index 000000000..118bf2a4d
--- /dev/null
+++ b/offapi/com/sun/star/awt/TabControllerModel.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_awt_TabControllerModel_idl__
+#define __com_sun_star_awt_TabControllerModel_idl__
+
+#include <com/sun/star/awt/XTabControllerModel.idl>
+#include <com/sun/star/io/XPersistObject.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies a standard tab controller model.
+ */
+published service TabControllerModel
+{
+ interface com::sun::star::awt::XTabControllerModel;
+
+ interface com::sun::star::io::XPersistObject;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/TextAlign.idl b/offapi/com/sun/star/awt/TextAlign.idl
new file mode 100644
index 000000000..e29227c30
--- /dev/null
+++ b/offapi/com/sun/star/awt/TextAlign.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_awt_TextAlign_idl__
+#define __com_sun_star_awt_TextAlign_idl__
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies the alignment of text.
+ */
+published constants TextAlign
+{
+
+ /** specifies to left align text.
+ */
+ const long LEFT = 0;
+
+
+ /** specifies to center text.
+ */
+ const long CENTER = 1;
+
+
+ /** specifies to right align text.
+ */
+ const long RIGHT = 2;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/TextEvent.idl b/offapi/com/sun/star/awt/TextEvent.idl
new file mode 100644
index 000000000..1fbe07a2c
--- /dev/null
+++ b/offapi/com/sun/star/awt/TextEvent.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_awt_TextEvent_idl__
+#define __com_sun_star_awt_TextEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies a text event.
+ */
+published struct TextEvent: com::sun::star::lang::EventObject
+{
+
+ /** This is a dummy field only. Please ignore.
+ */
+ short dummy1;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/Toolkit.idl b/offapi/com/sun/star/awt/Toolkit.idl
new file mode 100644
index 000000000..2290688c4
--- /dev/null
+++ b/offapi/com/sun/star/awt/Toolkit.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_awt_Toolkit_idl__
+#define __com_sun_star_awt_Toolkit_idl__
+
+#include <com/sun/star/awt/XToolkit2.idl>
+
+
+module com { module sun { module star { module awt {
+
+/** describes a toolkit that creates windows on a screen.
+
+ <p>The design of the interfaces for the toolkit implementation
+ should be remote. This means that the calls to the interfaces
+ of the toolkit should be one-way. Too many synchronous calls kill the
+ remote performance.</p>
+ */
+published service Toolkit : XToolkit2;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/UnoControl.idl b/offapi/com/sun/star/awt/UnoControl.idl
new file mode 100644
index 000000000..06d8e5abb
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControl.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_awt_UnoControl_idl__
+#define __com_sun_star_awt_UnoControl_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/awt/XControl.idl>
+#include <com/sun/star/awt/XWindow.idl>
+#include <com/sun/star/awt/XView.idl>
+#include <com/sun/star/accessibility/XAccessible.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies an abstract control.
+
+ <p>All components which implement this service can
+ be integrated in a windowing environment. This service describes
+ the controller of the Smalltalk model view controller design.</p>
+
+ <p>You must set a model and a stub to the UnoControl before using
+ other methods. The implementation only allows the change of the
+ graphics (XView) if the window is not visible. The
+ change of the graphics in visible state should redirect the output
+ to these graphics, but this behavior is implementation-specific.</p>
+
+ <p>The change of data directly at the control may not affect the
+ model data. To ensure this behavior, modify the data of the model.</p>
+ */
+published service UnoControl
+{
+ interface com::sun::star::lang::XComponent;
+
+ interface com::sun::star::awt::XControl;
+
+ interface com::sun::star::awt::XWindow;
+
+ interface com::sun::star::awt::XView;
+
+ /** provides access to the accessible context associated with this object.
+
+ @since OOo 1.1.2
+ */
+ [optional] interface com::sun::star::accessibility::XAccessible;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/UnoControlButton.idl b/offapi/com/sun/star/awt/UnoControlButton.idl
new file mode 100644
index 000000000..80aee22c8
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlButton.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_awt_UnoControlButton_idl__
+#define __com_sun_star_awt_UnoControlButton_idl__
+
+#include <com/sun/star/awt/UnoControl.idl>
+
+#include <com/sun/star/awt/XButton.idl>
+
+#include <com/sun/star/awt/XLayoutConstrains.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies a button control.
+ */
+published service UnoControlButton
+{
+ service com::sun::star::awt::UnoControl;
+
+ interface com::sun::star::awt::XButton;
+
+ interface com::sun::star::awt::XLayoutConstrains;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/UnoControlButtonModel.idl b/offapi/com/sun/star/awt/UnoControlButtonModel.idl
new file mode 100644
index 000000000..3627b37bd
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlButtonModel.idl
@@ -0,0 +1,247 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_awt_UnoControlButtonModel_idl__
+#define __com_sun_star_awt_UnoControlButtonModel_idl__
+
+#include <com/sun/star/awt/FontDescriptor.idl>
+#include <com/sun/star/awt/UnoControlModel.idl>
+#include <com/sun/star/style/VerticalAlignment.idl>
+#include <com/sun/star/graphic/XGraphic.idl>
+#include <com/sun/star/util/Color.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies the standard model of a UnoControlButton.
+ */
+published service UnoControlButtonModel
+{
+ service com::sun::star::awt::UnoControlModel;
+
+
+ /** specifies the horizontal alignment of the text in the control.
+
+ <pre>
+ 0: left
+ 1: center
+ 2: right
+ </pre>
+ */
+ [optional, property] short Align;
+
+
+ /** specifies the background color (RGB) of the control.
+ */
+ [property] com::sun::star::util::Color BackgroundColor;
+
+
+ /** specifies that the button is the default button on the document.
+ */
+ [property] boolean DefaultButton;
+
+
+ /** determines whether the control is enabled or disabled.
+ */
+ [property] boolean Enabled;
+
+
+ /** specifies whether the button control should grab the focus when clicked.
+
+ <p>If set to `TRUE` (which is the default), the button control automatically grabs the
+ focus when the user clicks onto it with the mouse.<br/>
+ If set to `FALSE`, the focus is preserved when the user operates the button control with
+ the mouse.</p>
+
+ @since OOo 2.0
+ */
+ [optional, property] boolean FocusOnClick;
+
+
+ /** specifies the font attributes of the text in the control.
+ */
+ [property] com::sun::star::awt::FontDescriptor FontDescriptor;
+
+
+ /** specifies the com::sun::star::text::FontEmphasis
+ value of the text in the control.
+ */
+ [property] short FontEmphasisMark;
+
+
+ /** specifies the com::sun::star::text::FontRelief
+ value of the text in the control.
+ */
+ [property] short FontRelief;
+
+
+ /** specifies the help text of the control.
+ */
+ [property] string HelpText;
+
+
+ /** specifies the help URL of the control.
+ */
+ [property] string HelpURL;
+
+
+ /** specifies the alignment of the image inside the button as
+ ImageAlign value.
+ */
+ [property] short ImageAlign;
+
+
+ /** specifies the position of the image, if any, relative to the text, if any
+
+ <p>Valid values of this property are specified with ImagePosition.</p>
+
+ <p>If this property is present, it supersedes the #ImageAlign property - setting
+ one of both properties sets the other one to the best possible match.</p>
+ */
+ [optional, property] short ImagePosition;
+
+
+ /** specifies a URL to an image to use for the button.
+ @see Graphic
+ */
+ [property] string ImageURL;
+
+
+ /** specifies a graphic to be displayed at the button
+
+ <p>If this property is present, it interacts with the #ImageURL in the
+ following way:
+ <ul><li>If #ImageURL is set, #Graphic will be reset
+ to an object as loaded from the given image URL, or `NULL` if #ImageURL
+ does not point to a valid image file.</li>
+ <li>If #Graphic is set, #ImageURL will be reset
+ to an empty string.</li>
+ </ul></p>
+
+ @since OOo 2.1
+ */
+ [optional, property, transient] com::sun::star::graphic::XGraphic Graphic;
+
+
+ /** specifies the label of the control.
+ */
+ [property] string Label;
+
+
+ /** specifies that the text may be displayed on more than one line.
+
+ @since OOo 2.0
+ */
+ [optional, property] boolean MultiLine;
+
+
+ /** specifies that the control will be printed with the document.
+ */
+ [property] boolean Printable;
+
+
+ /** specifies the default action of the button as PushButtonType value.
+ */
+ [property] short PushButtonType;
+
+
+ /** specifies whether the control should show repeating behavior.
+
+ <p>Normally, when you click a button with the mouse, you need to
+ release the mouse button, and press it again. With this property
+ set to `TRUE`, the button is repeatedly pressed while you hold
+ down the mouse button.</p>
+
+ @since OOo 2.0
+ */
+ [optional, property] boolean Repeat;
+
+
+ /** specifies the mouse repeat delay, in milliseconds.
+
+ <p>When the user presses a mouse in a control area where this triggers
+ an action (such as pressing the button), then usual control implementations
+ allow to repeatedly trigger this action, without the need to release the
+ mouse button and to press it again. The delay between two such triggers
+ is specified with this property.</p>
+
+ @since OOo 2.0
+ */
+ [optional, property] long RepeatDelay;
+
+
+ /** specifies the state of the control.
+
+ If #Toggle property is set to `TRUE`, the pressed state
+ is enabled and its pressed state can be obtained with this property.
+
+ <pre>
+ 0: not pressed
+ 1: pressed
+ 2: don't know
+ </pre>
+ @see #Toggle
+ */
+ [property] short State;
+
+
+ /** specifies that the control can be reached with the TAB key.
+ */
+ [property] boolean Tabstop;
+
+
+ /** specifies the text color (RGB) of the control.
+ */
+ [property] com::sun::star::util::Color TextColor;
+
+
+ /** specifies the text line color (RGB) of the control.
+ */
+ [property] com::sun::star::util::Color TextLineColor;
+
+
+ /** specifies whether the button should toggle on a single operation.
+
+ <p>If this property is set to `TRUE`, a single operation of the button control (pressing space
+ while it is focused, or clicking onto it) toggles it between a <em>pressed</em> and a <em>not
+ pressed</em> state.</p>
+
+ <p>The default for this property is `FALSE`, which means the button behaves like a usual
+ push button.</p>
+
+ @since OOo 2.0
+ */
+ [optional, property] boolean Toggle;
+
+
+ /** specifies the vertical alignment of the text in the control.
+
+ @since OOo 2.0
+ */
+ [optional, property] com::sun::star::style::VerticalAlignment VerticalAlign;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/UnoControlCheckBox.idl b/offapi/com/sun/star/awt/UnoControlCheckBox.idl
new file mode 100644
index 000000000..9b2554f67
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlCheckBox.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_awt_UnoControlCheckBox_idl__
+#define __com_sun_star_awt_UnoControlCheckBox_idl__
+
+#include <com/sun/star/awt/UnoControl.idl>
+
+#include <com/sun/star/awt/XCheckBox.idl>
+#include <com/sun/star/awt/XLayoutConstrains.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies a check box control.
+ */
+published service UnoControlCheckBox
+{
+ service com::sun::star::awt::UnoControl;
+
+ interface com::sun::star::awt::XCheckBox;
+
+ interface com::sun::star::awt::XLayoutConstrains;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/UnoControlCheckBoxModel.idl b/offapi/com/sun/star/awt/UnoControlCheckBoxModel.idl
new file mode 100644
index 000000000..d880efa05
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlCheckBoxModel.idl
@@ -0,0 +1,200 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_awt_UnoControlCheckBoxModel_idl__
+#define __com_sun_star_awt_UnoControlCheckBoxModel_idl__
+
+#include <com/sun/star/awt/FontDescriptor.idl>
+#include <com/sun/star/awt/UnoControlModel.idl>
+#include <com/sun/star/style/VerticalAlignment.idl>
+#include <com/sun/star/util/Color.idl>
+#include <com/sun/star/graphic/XGraphic.idl>
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies the standard model of a UnoControlCheckBox.
+ */
+published service UnoControlCheckBoxModel
+{
+ service com::sun::star::awt::UnoControlModel;
+
+
+ /** specifies the horizontal alignment of the text in the control.
+
+ <pre>
+ 0: left
+ 1: center
+ 2: right
+ </pre>
+
+ @since OOo 2.0
+ */
+ [optional, property] short Align;
+
+
+ /** specifies the background color (RGB) of the control.
+ */
+ [optional, property] long BackgroundColor;
+
+
+ /** determines whether the control is enabled or disabled.
+ */
+ [property] boolean Enabled;
+
+
+ /** specifies the font attributes of the text in the control.
+ */
+ [property] com::sun::star::awt::FontDescriptor FontDescriptor;
+
+
+ /** specifies the com::sun::star::text::FontEmphasis
+ value of the text in the control.
+ */
+ [property] short FontEmphasisMark;
+
+
+ /** specifies the com::sun::star::text::FontRelief
+ value of the text in the control.
+ */
+ [property] short FontRelief;
+
+
+ /** specifies the help text of the control.
+ */
+ [property] string HelpText;
+
+
+ /** specifies the help URL of the control.
+ */
+ [property] string HelpURL;
+
+
+ /** specifies the position of the image, if any, relative to the text, if any
+
+ <p>Valid values of this property are specified with ImagePosition.</p>
+ */
+ [optional, property] short ImagePosition;
+
+
+ /** specifies a URL to an image to display besides the label of the control
+ @see Graphic
+ */
+ [optional, property] string ImageURL;
+
+
+ /** specifies a graphic to be displayed besides the label of the control
+
+ <p>If this property is present, it interacts with the #ImageURL in the
+ following way:
+ <ul><li>If #ImageURL is set, #Graphic will be reset
+ to an object as loaded from the given image URL, or `NULL` if #ImageURL
+ does not point to a valid image file.</li>
+ <li>If #Graphic is set, #ImageURL will be reset
+ to an empty string.</li>
+ </ul></p>
+
+ @since OOo 2.1
+ */
+ [optional, property, transient] com::sun::star::graphic::XGraphic Graphic;
+
+
+ /** specifies the label of the control.
+ */
+ [property] string Label;
+
+
+ /** specifies that the text may be displayed on more than one line.
+
+ @since OOo 2.0
+ */
+ [optional, property] boolean MultiLine;
+
+
+ /** specifies that the control will be printed with the document.
+ */
+ [property] boolean Printable;
+
+
+ /** specifies the state of the control.
+
+ <pre>
+ 0: not checked
+ 1: checked
+ 2: don't know
+ </pre>
+ */
+ [property] short State;
+
+
+ /** specifies that the control can be reached with the TAB key.
+ */
+ [property] boolean Tabstop;
+
+
+ /** specifies the text color (RGB) of the control.
+ */
+ [property] com::sun::star::util::Color TextColor;
+
+
+ /** specifies the text line color (RGB) of the control.
+ */
+ [property] com::sun::star::util::Color TextLineColor;
+
+
+ /** specifies that the control may have the state "don't know".
+ */
+ [property] boolean TriState;
+
+
+ /** specifies the vertical alignment of the text in the control.
+
+ @since OOo 2.0
+ */
+ [optional, property] com::sun::star::style::VerticalAlignment VerticalAlign;
+
+
+ /** specifies a visual effect to apply to the check box control
+
+ <p>Possible values for this property are VisualEffect::FLAT and
+ VisualEffect::LOOK3D.</p>
+
+ @see com::sun::star::awt::VisualEffect
+
+ @since OOo 2.0
+ */
+ [optional, property] short VisualEffect;
+
+ /** denotes the writing mode used in the control, as specified in the
+ com::sun::star::text::WritingMode2 constants group.
+
+ <p>Only com::sun::star::text::WritingMode2::LR_TB and
+ com::sun::star::text::WritingMode2::RL_TB are supported at the moment.</p>
+
+ @since OOo 3.1
+ */
+ [optional, property] short WritingMode;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/UnoControlComboBox.idl b/offapi/com/sun/star/awt/UnoControlComboBox.idl
new file mode 100644
index 000000000..685053465
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlComboBox.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_awt_UnoControlComboBox_idl__
+#define __com_sun_star_awt_UnoControlComboBox_idl__
+
+#include <com/sun/star/awt/UnoControlEdit.idl>
+
+#include <com/sun/star/awt/XComboBox.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies a combo box control.
+ */
+published service UnoControlComboBox
+{
+ service com::sun::star::awt::UnoControlEdit;
+
+ interface com::sun::star::awt::XComboBox;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/UnoControlComboBoxModel.idl b/offapi/com/sun/star/awt/UnoControlComboBoxModel.idl
new file mode 100644
index 000000000..a3405e181
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlComboBoxModel.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_awt_UnoControlComboBoxModel_idl__
+#define __com_sun_star_awt_UnoControlComboBoxModel_idl__
+
+#include <com/sun/star/awt/FontDescriptor.idl>
+#include <com/sun/star/awt/UnoControlModel.idl>
+
+#include <com/sun/star/util/Color.idl>
+
+#include <com/sun/star/awt/XItemList.idl>
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies the standard model of a UnoControlComboBox.
+ */
+published service UnoControlComboBoxModel
+{
+ service com::sun::star::awt::UnoControlModel;
+
+
+ /** specifies the horizontal alignment of the text in the control.
+
+ <pre>
+ 0: left
+ 1: center
+ 2: right
+ </pre>
+ */
+ [optional, property] short Align;
+
+
+ /** specifies whether automatic completion of text is enabled.
+ */
+ [property] boolean Autocomplete;
+
+
+ /** specifies the background color (RGB) of the control.
+ */
+ [property] com::sun::star::util::Color BackgroundColor;
+
+
+ /** specifies the border style of the control.
+
+ <pre>
+ 0: No border
+ 1: 3D border
+ 2: simple border
+ </pre>
+ */
+ [property] short Border;
+
+
+ /** specifies the color of the border, if present
+
+ <p>Not every border style (see #Border) may support coloring.
+ For instance, usually a border with 3D effect will ignore the BorderColor setting.</p>
+
+ @since OOo 2.0
+ */
+ [optional, property] long BorderColor;
+
+
+ /** specifies if the control has a drop down button.
+ */
+ [property] boolean Dropdown;
+
+
+ /** determines whether the control is enabled or disabled.
+ */
+ [property] boolean Enabled;
+
+
+ /** specifies the font attributes of the text in the control.
+ */
+ [property] com::sun::star::awt::FontDescriptor FontDescriptor;
+
+
+ /** specifies the com::sun::star::text::FontEmphasis
+ value of the text in the control.
+ */
+ [property] short FontEmphasisMark;
+
+
+ /** specifies the com::sun::star::text::FontRelief
+ value of the text in the control.
+ */
+ [property] short FontRelief;
+
+
+ /** specifies the help text of the control.
+ */
+ [property] string HelpText;
+
+
+ /** specifies the help URL of the control.
+ */
+ [property] string HelpURL;
+
+
+ /** specifies whether the selection in the control should be hidden when
+ the control is not active (focused).
+
+ @since OOo 2.0
+ */
+ [optional, property] boolean HideInactiveSelection;
+
+
+ /** specifies the maximum line count displayed in the drop down box.
+ */
+ [property] short LineCount;
+
+
+ /** specifies the maximum character count.
+
+ <p>There's no limitation, if set to 0.</p>
+ */
+ [property] short MaxTextLen;
+
+
+ /** specifies that the control will be printed with the document.
+ */
+ [property] boolean Printable;
+
+
+ /** specifies that the content of the control cannot be modified by the user.
+ */
+ [property] boolean ReadOnly;
+
+
+ /** specifies the list of items.
+ */
+ [property] sequence<string> StringItemList;
+
+
+ /** specifies that the control can be reached with the TAB key.
+ */
+ [property] boolean Tabstop;
+
+
+ /** specifies the text displayed in the control.
+ */
+ [property] string Text;
+
+
+ /** specifies the text color (RGB) of the control.
+ */
+ [property] com::sun::star::util::Color TextColor;
+
+
+ /** specifies the text line color (RGB) of the control.
+ */
+ [property] com::sun::star::util::Color TextLineColor;
+
+ /** denotes the writing mode used in the control, as specified in the
+ com::sun::star::text::WritingMode2 constants group.
+
+ <p>Only com::sun::star::text::WritingMode2::LR_TB and
+ com::sun::star::text::WritingMode2::RL_TB are supported at the moment.</p>
+
+ @since OOo 3.1
+ */
+ [optional, property] short WritingMode;
+
+ /** defines how the mouse wheel can be used to scroll through the control's content.
+
+ <p>Usually, the mouse wheel scroll through the control's entry list. Using this property,
+ and one of the MouseWheelBehavior constants, you can control under which circumstances
+ this is possible.</p>
+ */
+ [optional, property] short MouseWheelBehavior;
+
+ /** allows manipulating the list of items in the combo box more fine-grained than the
+ #StringItemList property.
+ */
+ [optional] interface XItemList;
+
+ /** specifies the list of raw typed (not stringized) items.
+
+ <p>This list corresponds with the StringItemList and if given
+ has to be of the same length, the elements' positions matching
+ those of their string representation in StringItemList.</p>
+
+ <p>If a new value is entered via the ComboBox edit then this
+ list will be invalidated.</p>
+
+ @since LibreOffice 5.4
+ */
+ [optional, property] sequence<any> TypedItemList;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/UnoControlContainer.idl b/offapi/com/sun/star/awt/UnoControlContainer.idl
new file mode 100644
index 000000000..54b1b4093
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlContainer.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_awt_UnoControlContainer_idl__
+#define __com_sun_star_awt_UnoControlContainer_idl__
+
+#include <com/sun/star/awt/UnoControl.idl>
+#include <com/sun/star/awt/XUnoControlContainer.idl>
+#include <com/sun/star/awt/XControlContainer.idl>
+#include <com/sun/star/container/XContainer.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies an abstract control which contains other controls.
+ */
+published service UnoControlContainer
+{
+ service com::sun::star::awt::UnoControl;
+
+ interface com::sun::star::awt::XUnoControlContainer;
+
+ interface com::sun::star::awt::XControlContainer;
+
+ interface com::sun::star::container::XContainer;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/UnoControlContainerModel.idl b/offapi/com/sun/star/awt/UnoControlContainerModel.idl
new file mode 100644
index 000000000..b63a37f09
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlContainerModel.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_awt_UnoControlContainerModel_idl__
+#define __com_sun_star_awt_UnoControlContainerModel_idl__
+
+#include <com/sun/star/awt/UnoControlModel.idl>
+
+#include <com/sun/star/util/Color.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies the standard model of a UnoControlContainer.
+ */
+published service UnoControlContainerModel
+{
+ service com::sun::star::awt::UnoControlModel;
+
+
+ /** specifies the background color (RGB) of the control.
+ */
+ [property] com::sun::star::util::Color BackgroundColor;
+
+
+ /** determines whether a control is enabled or disabled.
+ */
+ [property] boolean Enabled;
+
+
+ /** specifies the border style of the control.
+
+ <pre>
+ 0: No border
+ 1: 3D border
+ 2: simple border
+ </pre>
+ */
+ [property] short Border;
+
+
+ /** specifies the color of the border, if present
+
+ <p>Not every border style (see #Border) may support coloring.
+ For instance, usually a border with 3D effect will ignore the BorderColor setting.</p>
+
+ @since OOo 2.0
+ */
+ [optional, property] long BorderColor;
+
+
+ /** specifies whether the control will be printed with the document.
+ */
+ [property] boolean Printable;
+
+
+ /** specifies the text displayed in the control.
+ */
+ [property] string Text;
+
+
+ /** specifies the help text of the control.
+ */
+ [property] string HelpText;
+
+
+ /** specifies the help URL of the control.
+ */
+ [property] string HelpURL;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/UnoControlCurrencyField.idl b/offapi/com/sun/star/awt/UnoControlCurrencyField.idl
new file mode 100644
index 000000000..0099f7c46
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlCurrencyField.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_awt_UnoControlCurrencyField_idl__
+#define __com_sun_star_awt_UnoControlCurrencyField_idl__
+
+#include <com/sun/star/awt/UnoControlEdit.idl>
+#include <com/sun/star/awt/XSpinField.idl>
+#include <com/sun/star/awt/XCurrencyField.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies a currency field control.
+
+ <p>A currency field makes it possible to enter, display and edit
+ currency values.</p>
+ */
+published service UnoControlCurrencyField
+{
+ service com::sun::star::awt::UnoControlEdit;
+
+ /** gives access to the value of a spin field and makes it possible to
+ register for spin events.
+
+ @since OOo 1.1.2
+ */
+ [optional] interface com::sun::star::awt::XSpinField;
+
+ interface com::sun::star::awt::XCurrencyField;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/UnoControlCurrencyFieldModel.idl b/offapi/com/sun/star/awt/UnoControlCurrencyFieldModel.idl
new file mode 100644
index 000000000..cb2bcc7d5
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlCurrencyFieldModel.idl
@@ -0,0 +1,233 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_awt_UnoControlCurrencyFieldModel_idl__
+#define __com_sun_star_awt_UnoControlCurrencyFieldModel_idl__
+
+#include <com/sun/star/awt/FontDescriptor.idl>
+#include <com/sun/star/awt/UnoControlModel.idl>
+
+#include <com/sun/star/util/Color.idl>
+
+#include <com/sun/star/style/VerticalAlignment.idl>
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies the standard model of a UnoControlCurrencyField.
+ */
+published service UnoControlCurrencyFieldModel
+{
+ service com::sun::star::awt::UnoControlModel;
+
+
+ /** specifies the background color (RGB) of the control.
+ */
+ [property] com::sun::star::util::Color BackgroundColor;
+
+
+ /** specifies the border style of the control.
+
+ <pre>
+ 0: No border
+ 1: 3D border
+ 2: simple border
+ </pre>
+ */
+ [property] short Border;
+
+
+ /** specifies the color of the border, if present
+
+ <p>Not every border style (see #Border) may support coloring.
+ For instance, usually a border with 3D effect will ignore the BorderColor setting.</p>
+
+ @since OOo 2.0
+ */
+ [optional, property] long BorderColor;
+
+
+ /** specifies the currency symbol.
+ */
+ [property] string CurrencySymbol;
+
+
+ /** specifies the decimal accuracy.
+ */
+ [property] short DecimalAccuracy;
+
+
+ /** determines whether the control is enabled or disabled.
+ */
+ [property] boolean Enabled;
+
+
+ /** specifies the font attributes of the text in the control.
+ */
+ [property] com::sun::star::awt::FontDescriptor FontDescriptor;
+
+
+ /** specifies the com::sun::star::text::FontEmphasis
+ value of the text in the control.
+ */
+ [property] short FontEmphasisMark;
+
+
+ /** specifies the com::sun::star::text::FontRelief
+ value of the text in the control.
+ */
+ [property] short FontRelief;
+
+
+ /** specifies the help text of the control.
+ */
+ [property] string HelpText;
+
+
+ /** specifies the help URL of the control.
+ */
+ [property] string HelpURL;
+
+
+ /** specifies whether the selection in the control should be hidden when
+ the control is not active (focused).
+
+ @since OOo 2.0
+ */
+ [optional, property] boolean HideInactiveSelection;
+
+
+ /** specifies whether the currency symbol is to be prepended.
+ */
+
+ [property] boolean PrependCurrencySymbol;
+
+
+ /** specifies that the control will be printed with the document.
+ */
+ [property] boolean Printable;
+
+
+ /** specifies that the content of the control cannot be modified by the user.
+ */
+ [property] boolean ReadOnly;
+
+
+ /** specifies whether the mouse should show repeating behavior, i.e.
+ repeatedly trigger an action when keeping pressed.
+
+ @since OOo 2.0
+ */
+ [optional, property] boolean Repeat;
+
+
+ /** specifies the mouse repeat delay, in milliseconds.
+
+ <p>When the user presses a mouse in a control area where this triggers
+ an action (such as spinning the value), then usual control implementations
+ allow to repeatedly trigger this action, without the need to release the
+ mouse button and to press it again. The delay between two such triggers
+ is specified with this property.</p>
+
+ @since OOo 2.0
+ */
+ [optional, property] long RepeatDelay;
+
+
+ /** specifies whether the thousands separator is to be displayed.
+ */
+ [property] boolean ShowThousandsSeparator;
+
+
+ /** specifies that the control has a spin button.
+ */
+ [property] boolean Spin;
+
+
+ /** specifies that the value is checked during the user input.
+ */
+ [property] boolean StrictFormat;
+
+
+ /** specifies that the control can be reached with the TAB key.
+ */
+ [property] boolean Tabstop;
+
+
+ /** specifies the text color (RGB) of the control.
+ */
+ [property] com::sun::star::util::Color TextColor;
+
+
+ /** specifies the text line color (RGB) of the control.
+ */
+ [property] com::sun::star::util::Color TextLineColor;
+
+
+ /** specifies the value displayed in the control.
+ */
+ [property] double Value;
+
+
+ /** specifies the maximum value that can be entered.
+ */
+ [property] double ValueMax;
+
+
+ /** specifies the minimum value that can be entered.
+ */
+ [property] double ValueMin;
+
+
+ /** specifies the value step when using the spin button.
+ */
+ [property] double ValueStep;
+
+ /** denotes the writing mode used in the control, as specified in the
+ com::sun::star::text::WritingMode2 constants group.
+
+ <p>Only com::sun::star::text::WritingMode2::LR_TB and
+ com::sun::star::text::WritingMode2::RL_TB are supported at the moment.</p>
+
+ @since OOo 3.1
+ */
+ [optional, property] short WritingMode;
+
+ /** defines how the mouse wheel can be used to scroll through the control's content.
+
+ <p>Usually, the mouse wheel spins the numeric value displayed in the control. Using this property,
+ and one of the MouseWheelBehavior constants, you can control under which circumstances
+ this is possible.</p>
+ */
+ [optional, property] short MouseWheelBehavior;
+
+
+ /** specifies the vertical alignment of the text in the control.
+
+ @since OOo 3.3
+ */
+ [optional, property] com::sun::star::style::VerticalAlignment VerticalAlign;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/UnoControlDateField.idl b/offapi/com/sun/star/awt/UnoControlDateField.idl
new file mode 100644
index 000000000..058f350c8
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlDateField.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_awt_UnoControlDateField_idl__
+#define __com_sun_star_awt_UnoControlDateField_idl__
+
+#include <com/sun/star/awt/UnoControlEdit.idl>
+#include <com/sun/star/awt/XSpinField.idl>
+#include <com/sun/star/awt/XDateField.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies a date field control.
+
+ <p>A date field makes it possible to enter, display and edit date values.</p>
+ */
+published service UnoControlDateField
+{
+ service com::sun::star::awt::UnoControlEdit;
+
+ /** gives access to the value of a spin field and makes it possible to
+ register for spin events.
+
+ @since OOo 1.1.2
+ */
+ [optional] interface com::sun::star::awt::XSpinField;
+
+ interface com::sun::star::awt::XDateField;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/UnoControlDateFieldModel.idl b/offapi/com/sun/star/awt/UnoControlDateFieldModel.idl
new file mode 100644
index 000000000..46536c59f
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlDateFieldModel.idl
@@ -0,0 +1,245 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_awt_UnoControlDateFieldModel_idl__
+#define __com_sun_star_awt_UnoControlDateFieldModel_idl__
+
+#include <com/sun/star/util/Date.idl>
+#include <com/sun/star/awt/FontDescriptor.idl>
+#include <com/sun/star/awt/UnoControlModel.idl>
+
+#include <com/sun/star/util/Color.idl>
+
+#include <com/sun/star/style/VerticalAlignment.idl>
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies the standard model of a UnoControlDateField.
+ */
+published service UnoControlDateFieldModel
+{
+ service com::sun::star::awt::UnoControlModel;
+
+
+ /** specifies the background color(RGB) of the control.
+ */
+ [property] com::sun::star::util::Color BackgroundColor;
+
+
+ /** specifies the border style of the control.
+
+ <pre>
+ 0: No border
+ 1: 3D border
+ 2: simple border
+ </pre>
+ */
+ [property] short Border;
+
+
+ /** specifies the color of the border, if present
+
+ <p>Not every border style (see #Border) may support coloring.
+ For instance, usually a border with 3D effect will ignore the BorderColor setting.</p>
+
+ @since OOo 2.0
+ */
+ [optional, property] long BorderColor;
+
+
+ /** specifies the date displayed in the control.
+ */
+ [property] ::com::sun::star::util::Date Date;
+
+
+ /** specifies the format of the displayed date.
+
+ <pre>
+ 0: system short
+ 1: system short YY
+ 2: system short YYYY
+ 3: system long
+ 4: short DDMMYY
+ 5: short MMDDYY
+ 6: short YYMMDD
+ 7: short DDMMYYYY
+ 8: short MMDDYYYY
+ 9: short YYYYMMDD
+ 10: short YYMMDD DIN5008
+ 11: short YYYYMMDD DIN5008
+ </pre>
+ */
+ [property] short DateFormat;
+
+
+ /** specifies the maximum date that can be entered.
+ */
+ [property] ::com::sun::star::util::Date DateMax;
+
+
+ /** specifies the minimum date that can be entered.
+ */
+ [property] ::com::sun::star::util::Date DateMin;
+
+
+ /** specifies, if the date century is displayed.
+ */
+ [property] boolean DateShowCentury;
+
+
+ /** specifies, if the control has a dropdown button.
+ */
+ [property] boolean Dropdown;
+
+
+ /** determines whether the control is enabled or disabled.
+ */
+ [property] boolean Enabled;
+
+
+ /** specifies the font attributes of the text in the control.
+ */
+ [property] com::sun::star::awt::FontDescriptor FontDescriptor;
+
+
+ /** specifies the com::sun::star::text::FontEmphasis
+ value of the text in the control.
+ */
+ [property] short FontEmphasisMark;
+
+
+ /** specifies the com::sun::star::text::FontRelief
+ value of the text in the control.
+ */
+ [property] short FontRelief;
+
+
+ /** specifies the help text of the control.
+ */
+ [property] string HelpText;
+
+
+ /** specifies the help URL of the control.
+ */
+ [property] string HelpURL;
+
+
+ /** specifies whether the selection in the control should be hidden when
+ the control is not active (focused).
+
+ @since OOo 2.0
+ */
+ [optional, property] boolean HideInactiveSelection;
+
+
+ /** specifies that the control will be printed with the document.
+ */
+ [property] boolean Printable;
+
+
+ /** specifies that the content of the control cannot be modified by the user.
+ */
+ [property] boolean ReadOnly;
+
+
+ /** specifies whether the mouse should show repeating behavior, i.e.
+ repeatedly trigger an action when keeping pressed.
+
+ @since OOo 2.0
+ */
+ [optional, property] boolean Repeat;
+
+
+ /** specifies the mouse repeat delay, in milliseconds.
+
+ <p>When the user presses a mouse in a control area where this triggers
+ an action (such as spinning the value), then usual control implementations
+ allow to repeatedly trigger this action, without the need to release the
+ mouse button and to press it again. The delay between two such triggers
+ is specified with this property.</p>
+
+ @since OOo 2.0
+ */
+ [optional, property] long RepeatDelay;
+
+
+ /** specifies that the control has a spin button.
+ */
+ [property] boolean Spin;
+
+
+ /** specifies that the date is checked during the user input.
+ */
+ [property] boolean StrictFormat;
+
+
+ /** specifies that the control can be reached with the TAB key.
+ */
+ [property] boolean Tabstop;
+
+
+ /** specifies the text displayed in the control.
+
+ @since OOo 2.0
+ */
+ [optional, property] string Text;
+
+
+ /** specifies the text color (RGB) of the control.
+ */
+ [property] com::sun::star::util::Color TextColor;
+
+
+ /** specifies the text line color (RGB) of the control.
+ */
+ [property] com::sun::star::util::Color TextLineColor;
+
+ /** denotes the writing mode used in the control, as specified in the
+ com::sun::star::text::WritingMode2 constants group.
+
+ <p>Only com::sun::star::text::WritingMode2::LR_TB and
+ com::sun::star::text::WritingMode2::RL_TB are supported at the moment.</p>
+
+ @since OOo 3.1
+ */
+ [optional, property] short WritingMode;
+
+ /** defines how the mouse wheel can be used to scroll through the control's content.
+
+ <p>Usually, the mouse wheel spins the numeric value displayed in the control. Using this property,
+ and one of the MouseWheelBehavior constants, you can control under which circumstances
+ this is possible.</p>
+ */
+ [optional, property] short MouseWheelBehavior;
+
+
+ /** specifies the vertical alignment of the text in the control.
+
+ @since OOo 3.3
+ */
+ [optional, property] com::sun::star::style::VerticalAlignment VerticalAlign;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/UnoControlDialog.idl b/offapi/com/sun/star/awt/UnoControlDialog.idl
new file mode 100644
index 000000000..67e0b79b8
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlDialog.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_awt_UnoControlDialog_idl__
+#define __com_sun_star_awt_UnoControlDialog_idl__
+
+#include <com/sun/star/awt/XUnoControlDialog.idl>
+
+module com { module sun { module star { module awt {
+
+
+/** specifies a dialog control.
+ */
+published service UnoControlDialog : XUnoControlDialog;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/UnoControlDialogElement.idl b/offapi/com/sun/star/awt/UnoControlDialogElement.idl
new file mode 100644
index 000000000..ea84602f0
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlDialogElement.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_awt_UnoControlDialogElement_idl__
+#define __com_sun_star_awt_UnoControlDialogElement_idl__
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies a set of properties to describe the model of an
+ UnoControl which is embedded in a
+ UnoControlDialogModel.
+ */
+published service UnoControlDialogElement
+{
+
+ /** specifies the height of the control.
+ */
+ [property] long Height;
+
+
+ /** specifies the name of the control.
+ */
+ [property] string Name;
+
+
+ /** specifies the horizontal position of the control.
+ */
+ [property] string PositionX;
+
+
+ /** specifies the vertical position of the control.
+ */
+ [property] string PositionY;
+
+
+ /** specifies the step of the control.
+ */
+ [property] long Step;
+
+
+ /** specifies the tabindex of the control.
+ */
+ [property] short TabIndex;
+
+
+ /** specifies the tag of the control.
+ */
+ [property] string Tag;
+
+
+ /** specifies the width of the control.
+ */
+ [property] long Width;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/UnoControlDialogModel.idl b/offapi/com/sun/star/awt/UnoControlDialogModel.idl
new file mode 100644
index 000000000..428ef7352
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlDialogModel.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_awt_UnoControlDialogModel_idl__
+#define __com_sun_star_awt_UnoControlDialogModel_idl__
+
+#include <com/sun/star/awt/FontDescriptor.idl>
+#include <com/sun/star/awt/UnoControlModel.idl>
+#include <com/sun/star/container/XContainer.idl>
+#include <com/sun/star/container/XNameContainer.idl>
+
+#include <com/sun/star/lang/XMultiServiceFactory.idl>
+#include <com/sun/star/util/Color.idl>
+#include <com/sun/star/graphic/XGraphic.idl>
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies the standard model of a UnoControlDialog.
+ */
+published service UnoControlDialogModel
+{
+ service com::sun::star::awt::UnoControlModel;
+
+ /** allows to create control models, which support the
+ UnoControlDialogElement service and can be inserted into
+ this container.
+ */
+ interface com::sun::star::lang::XMultiServiceFactory;
+
+ interface com::sun::star::container::XContainer;
+
+ interface com::sun::star::container::XNameContainer;
+
+
+ /** specifies the background color (RGB) of the dialog.
+ */
+ [property] com::sun::star::util::Color BackgroundColor;
+
+
+ /** specifies if the dialog is closeable.
+ */
+ [property] boolean Closeable;
+
+
+ /** determines whether a dialog is enabled or disabled.
+ */
+ [property] boolean Enabled;
+
+
+ /** specifies the font attributes of the text in the caption bar of the dialog.
+ */
+ [property] com::sun::star::awt::FontDescriptor FontDescriptor;
+
+
+ /** specifies the com::sun::star::text::FontEmphasis
+ value of the text in the caption bar of the dialog.
+ */
+ [property] short FontEmphasisMark;
+
+
+ /** specifies the com::sun::star::text::FontRelief
+ value of the text in the caption bar of the dialog.
+ */
+ [property] short FontRelief;
+
+
+ /** specifies the help text of the dialog.
+ */
+ [property] string HelpText;
+
+
+ /** specifies the help URL of the dialog.
+ */
+ [property] string HelpURL;
+
+
+ /** specifies if the dialog is moveable.
+ */
+ [property] boolean Moveable;
+
+
+ /** specifies if the dialog is sizeable.
+ */
+ [property] boolean Sizeable;
+
+
+ /** specifies the text color (RGB) of the dialog.
+ */
+ [property] com::sun::star::util::Color TextColor;
+
+
+ /** specifies the text line color (RGB) of the dialog.
+ */
+ [property] com::sun::star::util::Color TextLineColor;
+
+
+ /** specifies the text that is displayed in the caption bar of the dialog.
+ */
+ [property] string Title;
+
+
+ /** If set to true the dialog will have the desktop as parent.
+
+ @since OOo 2.3
+ */
+ [optional, property] boolean DesktopAsParent;
+
+ /** specifies a URL that references a graphic that should be used as a
+ background image.
+ @see Graphic
+
+ @since OOo 2.4
+ */
+ [optional, property] string ImageURL;
+
+ /** specifies a graphic to be displayed as a background image
+
+ <p>If this property is present, it interacts with the #ImageURL in the
+ following way:
+ <ul><li>If #ImageURL is set, #Graphic will be reset
+ to an object as loaded from the given image URL, or `NULL` if #ImageURL
+ does not point to a valid image file.</li>
+ <li>If #Graphic is set, #ImageURL will be reset
+ to an empty string.</li>
+ </ul></p>
+
+ @since OOo 2.4
+ */
+ [optional, property, transient] com::sun::star::graphic::XGraphic Graphic;
+
+ /** specifies that a horizontal scrollbar should be added to the dialog
+ @since LibreOffice 4.0
+ */
+ [optional, property] boolean HScroll;
+
+ /** specifies that a vertical scrollbar should be added to the dialog
+ @since LibreOffice 4.0
+ */
+ [optional, property] boolean VScroll;
+
+ /** specifies the horizontal position of the scrolled dialog content
+ @since LibreOffice 4.0
+ */
+ [optional, property] long ScrollLeft;
+
+ /** specifies the vertical position of the scrolled dialog content
+ @since LibreOffice 4.0
+ */
+ [optional, property] long ScrollTop;
+
+ /** specifies the total width of the scrollable dialog content
+ @since LibreOffice 4.0
+ */
+ [optional, property] long ScrollWidth;
+
+ /** specifies the total height of the scrollable dialog content
+ @since LibreOffice 4.0
+ */
+ [optional, property] long ScrollHeight;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/UnoControlDialogModelProvider.idl b/offapi/com/sun/star/awt/UnoControlDialogModelProvider.idl
new file mode 100644
index 000000000..94abbaa32
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlDialogModelProvider.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_awt_UnoControlDialogModelProvider_idl__
+#define __com_sun_star_awt_UnoControlDialogModelProvider_idl__
+
+#include <com/sun/star/container/XNameContainer.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+module com { module sun { module star { module awt {
+
+
+/** specifies a service to load a dialog model and allows to access the control models inside
+
+ @since OOo 3.3
+ */
+service UnoControlDialogModelProvider : com::sun::star::container::XNameContainer
+{
+ /** Creates a new dialog model
+ */
+ create([in] string URL)raises ( com::sun::star::lang::IllegalArgumentException );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/UnoControlEdit.idl b/offapi/com/sun/star/awt/UnoControlEdit.idl
new file mode 100644
index 000000000..0b35afb5e
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlEdit.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_awt_UnoControlEdit_idl__
+#define __com_sun_star_awt_UnoControlEdit_idl__
+
+#include <com/sun/star/awt/UnoControl.idl>
+
+#include <com/sun/star/awt/XTextComponent.idl>
+#include <com/sun/star/awt/XLayoutConstrains.idl>
+
+#include <com/sun/star/awt/XTextLayoutConstrains.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies an edit control.
+ */
+published service UnoControlEdit
+{
+ service com::sun::star::awt::UnoControl;
+
+ interface com::sun::star::awt::XTextComponent;
+
+ interface com::sun::star::awt::XLayoutConstrains;
+
+ interface com::sun::star::awt::XTextLayoutConstrains;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/UnoControlEditModel.idl b/offapi/com/sun/star/awt/UnoControlEditModel.idl
new file mode 100644
index 000000000..2d173e599
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlEditModel.idl
@@ -0,0 +1,245 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_awt_UnoControlEditModel_idl__
+#define __com_sun_star_awt_UnoControlEditModel_idl__
+
+#include <com/sun/star/awt/FontDescriptor.idl>
+#include <com/sun/star/awt/UnoControlModel.idl>
+
+#include <com/sun/star/util/Color.idl>
+
+#include <com/sun/star/style/VerticalAlignment.idl>
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies the standard model of a UnoControlEdit.
+ */
+published service UnoControlEditModel
+{
+ service com::sun::star::awt::UnoControlModel;
+
+
+ /** specifies the horizontal alignment of the text in the control.
+
+ <pre>
+ 0: left
+ 1: center
+ 2: right
+ </pre>
+ */
+ [property] short Align;
+
+
+ /** If set to true an horizontal scrollbar will be added automatically
+ when needed.
+
+ @since OOo 2.3
+ */
+ [optional, property] boolean AutoHScroll;
+
+
+ /** If set to true a vertical scrollbar will be added automatically
+ when needed.
+
+ @since OOo 2.3
+ */
+ [optional, property] boolean AutoVScroll;
+
+
+ /** specifies the background color (RGB) of the control.
+ */
+ [property] com::sun::star::util::Color BackgroundColor;
+
+
+ /** specifies the border style of the control.
+
+ <pre>
+ 0: No border
+ 1: 3D border
+ 2: simple border
+ </pre>
+ */
+ [property] short Border;
+
+
+ /** specifies the color of the border, if present
+
+ <p>Not every border style (see #Border) may support coloring.
+ For instance, usually a border with 3D effect will ignore the BorderColor setting.</p>
+
+ @since OOo 2.0
+ */
+ [optional, property] long BorderColor;
+
+
+ /** specifies the echo character for a password edit field.
+ */
+ [optional, property] short EchoChar;
+
+
+ /** determines whether the control is enabled or disabled.
+ */
+ [property] boolean Enabled;
+
+
+ /** specifies the font attributes of the text in the control.
+ */
+ [property] com::sun::star::awt::FontDescriptor FontDescriptor;
+
+
+ /** specifies the com::sun::star::text::FontEmphasis
+ value of the text in the control.
+ */
+ [property] short FontEmphasisMark;
+
+
+ /** specifies the com::sun::star::text::FontRelief
+ value of the text in the control.
+ */
+ [property] short FontRelief;
+
+
+ /** specifies if hard line breaks will be returned in the
+ XTextComponent::getText() method.
+ */
+ [property] boolean HardLineBreaks;
+
+
+ /** specifies the help text of the control.
+ */
+ [property] string HelpText;
+
+
+ /** specifies the help URL of the control.
+ */
+ [property] string HelpURL;
+
+
+ /** specifies whether the selection in the control should be hidden when
+ the control is not active (focused).
+
+ @since OOo 2.0
+ */
+ [optional, property] boolean HideInactiveSelection;
+
+
+ /** specifies if the content of the control can be scrolled in
+ the horizontal direction.
+ */
+ [property] boolean HScroll;
+
+
+ /** specifies which line end type should be used for multi line text
+
+ <p>Controls working with this model care for this setting when the user enters
+ text. Every line break entered into the control will be treated according to this
+ setting, so that the #Text property always contains only
+ line ends in the format specified.</p>
+
+ <p>Possible values are all constants from the LineEndFormat group.</p>
+
+ <p>Note that this setting is usually not relevant when you set new text via the API.
+ No matter which line end format is used in this new text then, usual control implementations
+ should recognize all line end formats and display them properly.</p>
+
+ @since OOo 2.0
+ */
+ [optional, property] short LineEndFormat;
+
+
+ /** specifies the maximum character count.
+
+ <p>There's no limitation, if set to 0.</p>
+ */
+ [property] short MaxTextLen;
+
+
+ /** specifies that the control may have more than one line.
+ */
+ [property] boolean MultiLine;
+
+
+ /** specifies whether the control paints it background or not.
+
+ @since OOo 2.3
+ */
+ [optional, property] boolean PaintTransparent;
+
+
+ /** specifies that the control will be printed with the document.
+ */
+ [property] boolean Printable;
+
+
+ /** specifies that the content of the control cannot be modified by the user.
+ */
+ [property] boolean ReadOnly;
+
+
+ /** specifies that the control can be reached with the TAB key.
+ */
+ [property] boolean Tabstop;
+
+
+ /** specifies the text displayed in the control.
+ */
+ [property] string Text;
+
+
+ /** specifies the text color (RGB) of the control.
+ */
+ [property] com::sun::star::util::Color TextColor;
+
+
+ /** specifies the text line color (RGB) of the control.
+ */
+ [property] com::sun::star::util::Color TextLineColor;
+
+
+ /** specifies if the content of the control can be scrolled in
+ the vertical direction.
+ */
+ [property] boolean VScroll;
+
+ /** denotes the writing mode used in the control, as specified in the
+ com::sun::star::text::WritingMode2 constants group.
+
+ <p>Only com::sun::star::text::WritingMode2::LR_TB and
+ com::sun::star::text::WritingMode2::RL_TB are supported at the moment.</p>
+
+ @since OOo 3.1
+ */
+ [optional, property] short WritingMode;
+
+
+ /** specifies the vertical alignment of the text in the control.
+
+ @since OOo 3.3
+ */
+ [optional, property] com::sun::star::style::VerticalAlignment VerticalAlign;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/UnoControlFileControl.idl b/offapi/com/sun/star/awt/UnoControlFileControl.idl
new file mode 100644
index 000000000..20af4b387
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlFileControl.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_awt_UnoControlFileControl_idl__
+#define __com_sun_star_awt_UnoControlFileControl_idl__
+
+#include <com/sun/star/awt/UnoControlEdit.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies a file control.
+
+ <p>A file control extends the UnoControlEdit with a file
+ dialog.</p>
+ */
+published service UnoControlFileControl
+{
+ service com::sun::star::awt::UnoControlEdit;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/UnoControlFileControlModel.idl b/offapi/com/sun/star/awt/UnoControlFileControlModel.idl
new file mode 100644
index 000000000..f8c053abb
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlFileControlModel.idl
@@ -0,0 +1,150 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_awt_UnoControlFileControlModel_idl__
+#define __com_sun_star_awt_UnoControlFileControlModel_idl__
+
+#include <com/sun/star/awt/FontDescriptor.idl>
+#include <com/sun/star/awt/UnoControlModel.idl>
+
+#include <com/sun/star/util/Color.idl>
+
+#include <com/sun/star/style/VerticalAlignment.idl>
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies the standard model of a UnoControlFileControl.
+ */
+published service UnoControlFileControlModel
+{
+ service com::sun::star::awt::UnoControlModel;
+
+
+ /** specifies the background color (RGB) of the control.
+ */
+ [property] com::sun::star::util::Color BackgroundColor;
+
+
+ /** specifies the border style of the control.
+
+ <pre>
+ 0: No border
+ 1: 3D border
+ 2: simple border
+ </pre>
+ */
+ [property] short Border;
+
+
+ /** specifies the color of the border, if present
+
+ <p>Not every border style (see #Border) may support coloring.
+ For instance, usually a border with 3D effect will ignore the BorderColor setting.</p>
+
+ @since OOo 2.0
+ */
+ [optional, property] long BorderColor;
+
+
+ /** determines whether a control is enabled or disabled.
+ */
+ [property] boolean Enabled;
+
+
+ /** specifies the font attributes of the text in the control.
+ */
+ [property] com::sun::star::awt::FontDescriptor FontDescriptor;
+
+
+ /** specifies the com::sun::star::text::FontEmphasis
+ value of the text in the control.
+ */
+ [property] short FontEmphasisMark;
+
+
+ /** specifies the com::sun::star::text::FontRelief
+ value of the text in the control.
+ */
+ [property] short FontRelief;
+
+
+ /** specifies the help text of the control.
+ */
+ [property] string HelpText;
+
+
+ /** specifies the help URL of the control.
+ */
+ [property] string HelpURL;
+
+
+ /** specifies whether the selection in the control should be hidden when
+ the control is not active (focused).
+
+ @since OOo 2.0
+ */
+ [optional, property] boolean HideInactiveSelection;
+
+
+ /** specifies that the control will be printed with the document.
+ */
+ [property] boolean Printable;
+
+
+ /** specifies that the content of the control cannot be modified by the user.
+
+ @since OOo 1.1.2
+ */
+ [optional, property] boolean ReadOnly;
+
+
+ /** specifies that the control can be reached with the TAB key.
+ */
+ [property] boolean Tabstop;
+
+
+ /** specifies the text displayed in the control.
+ */
+ [property] string Text;
+
+
+ /** specifies the text color (RGB) of the control.
+ */
+ [property] com::sun::star::util::Color TextColor;
+
+
+ /** specifies the text line color (RGB) of the control.
+ */
+ [property] com::sun::star::util::Color TextLineColor;
+
+
+ /** specifies the vertical alignment of the text in the control.
+
+ @since OOo 3.3
+ */
+ [optional, property] com::sun::star::style::VerticalAlignment VerticalAlign;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/UnoControlFixedHyperlink.idl b/offapi/com/sun/star/awt/UnoControlFixedHyperlink.idl
new file mode 100644
index 000000000..9f076f2b9
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlFixedHyperlink.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_awt_UnoControlFixedHyperlink_idl__
+#define __com_sun_star_awt_UnoControlFixedHyperlink_idl__
+
+#include <com/sun/star/awt/UnoControl.idl>
+#include <com/sun/star/awt/XFixedHyperlink.idl>
+#include <com/sun/star/awt/XLayoutConstrains.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies a control for displaying fixed hyperlink.
+ */
+service UnoControlFixedHyperlink
+{
+ service com::sun::star::awt::UnoControl;
+
+ interface com::sun::star::awt::XFixedHyperlink;
+
+ interface com::sun::star::awt::XLayoutConstrains;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/UnoControlFixedHyperlinkModel.idl b/offapi/com/sun/star/awt/UnoControlFixedHyperlinkModel.idl
new file mode 100644
index 000000000..fb4ff2762
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlFixedHyperlinkModel.idl
@@ -0,0 +1,150 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_awt_UnoControlFixedHyperlinkModel_idl__
+#define __com_sun_star_awt_UnoControlFixedHyperlinkModel_idl__
+
+#include <com/sun/star/awt/FontDescriptor.idl>
+#include <com/sun/star/awt/UnoControlModel.idl>
+#include <com/sun/star/style/VerticalAlignment.idl>
+#include <com/sun/star/util/Color.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies the standard model of a UnoControlFixedHyperlink.
+ */
+service UnoControlFixedHyperlinkModel
+{
+ service com::sun::star::awt::UnoControlModel;
+
+
+ /** specifies the horizontal alignment of the text in the control.
+
+ <pre>
+ 0: left
+ 1: center
+ 2: right
+ </pre>
+ */
+ [property] short Align;
+
+
+ /** specifies the background color (RGB) of the control.
+ */
+ [property] com::sun::star::util::Color BackgroundColor;
+
+
+ /** specifies the border style of the control.
+
+ <pre>
+ 0: No border
+ 1: 3D border
+ 2: simple border
+ </pre>
+ */
+ [property] short Border;
+
+
+ /** specifies the color of the border, if present
+
+ <p>Not every border style (see #Border) may support coloring.
+ For instance, usually a border with 3D effect will ignore the BorderColor setting.</p>
+
+ @since OOo 2.0
+ */
+ [optional, property] long BorderColor;
+
+
+ /** determines whether the control is enabled or disabled.
+ */
+ [property] boolean Enabled;
+
+
+ /** specifies the font attributes of the text in the control.
+ */
+ [property] com::sun::star::awt::FontDescriptor FontDescriptor;
+
+
+ /** specifies the com::sun::star::text::FontEmphasis
+ value of the text in the control.
+ */
+ [property] short FontEmphasisMark;
+
+
+ /** specifies the com::sun::star::text::FontRelief
+ value of the text in the control.
+ */
+ [property] short FontRelief;
+
+
+ /** specifies the help text of the control.
+ */
+ [property] string HelpText;
+
+
+ /** specifies the help URL of the control.
+ */
+ [property] string HelpURL;
+
+
+ /** specifies the label of the control.
+ */
+ [property] string Label;
+
+
+ /** specifies that the text may be displayed on more than one line.
+ */
+ [property] boolean MultiLine;
+
+
+ /** specifies that the control will be printed with the document.
+ */
+ [property] boolean Printable;
+
+
+ /** specifies the text color (RGB) of the control.
+ */
+ [property] com::sun::star::util::Color TextColor;
+
+
+ /** specifies the text line color (RGB) of the control.
+ */
+ [property] com::sun::star::util::Color TextLineColor;
+
+
+ /** specifies the URL.
+ */
+ [property] string URL;
+
+
+ /** specifies the vertical alignment of the text in the control.
+
+ @since OOo 2.0
+ */
+ [optional, property] com::sun::star::style::VerticalAlignment VerticalAlign;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/UnoControlFixedLine.idl b/offapi/com/sun/star/awt/UnoControlFixedLine.idl
new file mode 100644
index 000000000..3c8885c5c
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlFixedLine.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_awt_UnoControlFixedLine_idl__
+#define __com_sun_star_awt_UnoControlFixedLine_idl__
+
+#include <com/sun/star/awt/UnoControl.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies a fixed line control.
+ */
+published service UnoControlFixedLine
+{
+ service com::sun::star::awt::UnoControl;
+
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/UnoControlFixedLineModel.idl b/offapi/com/sun/star/awt/UnoControlFixedLineModel.idl
new file mode 100644
index 000000000..3514b3050
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlFixedLineModel.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_awt_UnoControlFixedLineModel_idl__
+#define __com_sun_star_awt_UnoControlFixedLineModel_idl__
+
+#include <com/sun/star/awt/FontDescriptor.idl>
+#include <com/sun/star/awt/UnoControlModel.idl>
+#include <com/sun/star/util/Color.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies the standard model of a UnoControlFixedLine.
+ */
+published service UnoControlFixedLineModel
+{
+ service com::sun::star::awt::UnoControlModel;
+
+
+ /** determines whether the control is enabled or disabled.
+ */
+ [property] boolean Enabled;
+
+
+ /** specifies the font attributes of the text in the control.
+ */
+ [property] com::sun::star::awt::FontDescriptor FontDescriptor;
+
+
+ /** specifies the com::sun::star::text::FontEmphasis
+ value of the text in the control.
+ */
+ [property] short FontEmphasisMark;
+
+
+ /** specifies the com::sun::star::text::FontRelief
+ value of the text in the control.
+ */
+ [property] short FontRelief;
+
+
+ /** specifies the help text of the control.
+ */
+ [property] string HelpText;
+
+
+ /** specifies the help URL of the control.
+ */
+ [property] string HelpURL;
+
+
+ /** specifies the label of the control.
+ */
+ [property] string Label;
+
+
+ /** specifies the orientation of the control.
+
+ <pre>
+ 0: horizontal
+ 1: vertical
+ </pre>
+ */
+ [property] long Orientation;
+
+
+ /** specifies that the control will be printed with the document.
+ */
+ [property] boolean Printable;
+
+
+ /** specifies the text color (RGB) of the control.
+ */
+ [property] com::sun::star::util::Color TextColor;
+
+
+ /** specifies the text line color (RGB) of the control.
+ */
+ [property] com::sun::star::util::Color TextLineColor;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/UnoControlFixedText.idl b/offapi/com/sun/star/awt/UnoControlFixedText.idl
new file mode 100644
index 000000000..732e2cd8e
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlFixedText.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_awt_UnoControlFixedText_idl__
+#define __com_sun_star_awt_UnoControlFixedText_idl__
+
+#include <com/sun/star/awt/UnoControl.idl>
+
+#include <com/sun/star/awt/XFixedText.idl>
+
+#include <com/sun/star/awt/XLayoutConstrains.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies a control for displaying fixed text.
+ */
+published service UnoControlFixedText
+{
+ service com::sun::star::awt::UnoControl;
+
+ interface com::sun::star::awt::XFixedText;
+
+ interface com::sun::star::awt::XLayoutConstrains;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/UnoControlFixedTextModel.idl b/offapi/com/sun/star/awt/UnoControlFixedTextModel.idl
new file mode 100644
index 000000000..75bff7aec
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlFixedTextModel.idl
@@ -0,0 +1,153 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_awt_UnoControlFixedTextModel_idl__
+#define __com_sun_star_awt_UnoControlFixedTextModel_idl__
+
+#include <com/sun/star/awt/FontDescriptor.idl>
+#include <com/sun/star/awt/UnoControlModel.idl>
+#include <com/sun/star/style/VerticalAlignment.idl>
+#include <com/sun/star/util/Color.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies the standard model of a UnoControlFixedText.
+ */
+published service UnoControlFixedTextModel
+{
+ service com::sun::star::awt::UnoControlModel;
+
+
+ /** specifies the horizontal alignment of the text in the control.
+
+ <pre>
+ 0: left
+ 1: center
+ 2: right
+ </pre>
+ */
+ [property] short Align;
+
+
+ /** specifies the background color (RGB) of the control.
+ */
+ [property] com::sun::star::util::Color BackgroundColor;
+
+
+ /** specifies the border style of the control.
+
+ <pre>
+ 0: No border
+ 1: 3D border
+ 2: simple border
+ </pre>
+ */
+ [property] short Border;
+
+
+ /** specifies the color of the border, if present
+
+ <p>Not every border style (see #Border) may support coloring.
+ For instance, usually a border with 3D effect will ignore the BorderColor setting.</p>
+
+ @since OOo 2.0
+ */
+ [optional, property] long BorderColor;
+
+
+ /** determines whether the control is enabled or disabled.
+ */
+ [property] boolean Enabled;
+
+
+ /** specifies the font attributes of the text in the control.
+ */
+ [property] com::sun::star::awt::FontDescriptor FontDescriptor;
+
+
+ /** specifies the com::sun::star::text::FontEmphasis
+ value of the text in the control.
+ */
+ [property] short FontEmphasisMark;
+
+
+ /** specifies the com::sun::star::text::FontRelief
+ value of the text in the control.
+ */
+ [property] short FontRelief;
+
+
+ /** specifies the help text of the control.
+ */
+ [property] string HelpText;
+
+
+ /** specifies the help URL of the control.
+ */
+ [property] string HelpURL;
+
+
+ /** specifies the label of the control.
+ */
+ [property] string Label;
+
+
+ /** specifies that the text may be displayed on more than one line.
+ */
+ [property] boolean MultiLine;
+
+
+ /** specifies that the control will be printed with the document.
+ */
+ [property] boolean Printable;
+
+
+ /** specifies the text color (RGB) of the control.
+ */
+ [property] com::sun::star::util::Color TextColor;
+
+
+ /** specifies the text line color (RGB) of the control.
+ */
+ [property] com::sun::star::util::Color TextLineColor;
+
+
+ /** specifies the vertical alignment of the text in the control.
+
+ @since OOo 2.0
+ */
+ [optional, property] com::sun::star::style::VerticalAlignment VerticalAlign;
+
+ //-------------------------------------------------------------------------
+
+ /** suppresses automatic accelerator assignment on this control.
+
+ @since OOo 2.4
+ */
+ [optional, property] boolean NoLabel;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/UnoControlFormattedField.idl b/offapi/com/sun/star/awt/UnoControlFormattedField.idl
new file mode 100644
index 000000000..619b0701a
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlFormattedField.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_awt_UnoControlFormattedField_idl__
+#define __com_sun_star_awt_UnoControlFormattedField_idl__
+
+#include <com/sun/star/awt/UnoControlEdit.idl>
+#include <com/sun/star/awt/XSpinField.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies a formatted field control.
+ */
+published service UnoControlFormattedField
+{
+ service com::sun::star::awt::UnoControlEdit;
+
+ /** gives access to the value of a spin field and makes it possible to
+ register for spin events.
+
+ @since OOo 1.1.2
+ */
+ [optional] interface com::sun::star::awt::XSpinField;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/UnoControlFormattedFieldModel.idl b/offapi/com/sun/star/awt/UnoControlFormattedFieldModel.idl
new file mode 100644
index 000000000..25b75dd1d
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlFormattedFieldModel.idl
@@ -0,0 +1,271 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_awt_UnoControlFormattedFieldModel_idl__
+#define __com_sun_star_awt_UnoControlFormattedFieldModel_idl__
+
+#include <com/sun/star/awt/FontDescriptor.idl>
+#include <com/sun/star/awt/UnoControlModel.idl>
+#include <com/sun/star/util/Color.idl>
+#include <com/sun/star/util/XNumberFormatsSupplier.idl>
+#include <com/sun/star/style/VerticalAlignment.idl>
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies the standard model of a UnoControlFormattedField .
+ */
+published service UnoControlFormattedFieldModel
+{
+ service com::sun::star::awt::UnoControlModel;
+
+
+ /** specifies the horizontal alignment of the text in the control.
+
+ <pre>
+ 0: left
+ 1: center
+ 2: right
+ </pre>
+ */
+ [property] short Align;
+
+
+ /** specifies the background color (RGB) of the control.
+ */
+ [property] com::sun::star::util::Color BackgroundColor;
+
+
+ /** specifies the border style of the control.
+
+ <pre>
+ 0: No border
+ 1: 3D border
+ 2: simple border
+ </pre>
+ */
+ [property] short Border;
+
+
+ /** specifies the color of the border, if present
+
+ <p>Not every border style (see #Border) may support coloring.
+ For instance, usually a border with 3D effect will ignore the BorderColor setting.</p>
+
+ @since OOo 2.0
+ */
+ [optional, property] long BorderColor;
+
+
+ /** specifies the default value of the formatted field.
+
+ <p>This may be a numeric value (double) or a string, depending on
+ the formatting of the field.</p>
+ */
+ [property] any EffectiveDefault;
+
+
+ /** specifies the maximum value that can be entered.
+
+ <p>This property is ignored if the format of the field is no numeric
+ format.</p>
+ */
+ [property] double EffectiveMax;
+
+
+ /** specifies the minimum value that can be entered.
+
+ <p>This property is ignored if the format of the field is no numeric
+ format.</p>
+ */
+ [property] double EffectiveMin;
+
+
+ /** specifies the current value of the formatted field.
+
+ <p>This may be a numeric value (double) or a string, depending on
+ the formatting of the field.</p>
+ */
+ [property] double EffectiveValue;
+
+
+ /** determines whether the control is enabled or disabled.
+ */
+ [property] boolean Enabled;
+
+
+ /** specifies the font attributes of the text in the control.
+ */
+ [property] com::sun::star::awt::FontDescriptor FontDescriptor;
+
+
+ /** specifies the com::sun::star::text::FontEmphasis
+ value of the text in the control.
+ */
+ [property] short FontEmphasisMark;
+
+
+ /** specifies the com::sun::star::text::FontRelief
+ value of the text in the control.
+ */
+ [property] short FontRelief;
+
+
+ /** specifies the format to be used when formatting the field input
+ and output.
+
+ <p>This value is meaningful relative to the FormatsSupplier property
+ only.</p>
+ */
+ [property] long FormatKey;
+
+
+ /** supplies the formats the field should work with.
+ */
+ [property] com::sun::star::util::XNumberFormatsSupplier FormatsSupplier;
+
+
+ /** specifies the help text of the control.
+ */
+ [property] string HelpText;
+
+
+ /** specifies the help URL of the control.
+ */
+ [property] string HelpURL;
+
+
+
+ /** specifies whether the selection in the control should be hidden when
+ the control is not active (focused).
+
+ @since OOo 2.0
+ */
+ [optional, property] boolean HideInactiveSelection;
+
+
+ /** specifies the maximum character count.
+
+ <p>There's no limitation, if set to 0.</p>
+ */
+ [property] short MaxTextLen;
+
+
+ /** specifies that the control will be printed with the document.
+ */
+ [property] boolean Printable;
+
+
+ /** specifies that the content of the control cannot be modified by the
+ user.
+ */
+ [property] boolean ReadOnly;
+
+
+ /** specifies whether the mouse should show repeating behavior, i.e.
+ repeatedly trigger an action when keeping pressed.
+
+ @since OOo 2.0
+ */
+ [optional, property] boolean Repeat;
+
+
+ /** specifies the mouse repeat delay, in milliseconds.
+
+ <p>When the user presses a mouse in a control area where this triggers
+ an action (such as spinning the value), then usual control implementations
+ allow to repeatedly trigger this action, without the need to release the
+ mouse button and to press it again. The delay between two such triggers
+ is specified with this property.</p>
+
+ @since OOo 2.0
+ */
+ [optional, property] long RepeatDelay;
+
+
+ /** specifies that the control has a spin button.
+ */
+ [property] boolean Spin;
+
+
+ /** specifies that the text is checked during the user input.
+
+ <p>This property is optional - not every component implementing this
+ service is required to provide it, as real-time input checking on a
+ formatted field may be pretty expensive.</p>
+ */
+ [optional, property] boolean StrictFormat;
+
+
+ /** specifies that the control can be reached with the TAB key.
+ */
+ [property] boolean Tabstop;
+
+
+ /** specifies the text displayed in the control.
+ */
+ [property] string Text;
+
+
+ /** specifies the text color (RGB) of the control.
+ */
+ [property] com::sun::star::util::Color TextColor;
+
+
+ /** specifies the text line color (RGB) of the control.
+ */
+ [property] com::sun::star::util::Color TextLineColor;
+
+
+ /** specifies that the text is treated as a number.
+ */
+ [property] boolean TreatAsNumber;
+
+ /** denotes the writing mode used in the control, as specified in the
+ com::sun::star::text::WritingMode2 constants group.
+
+ <p>Only com::sun::star::text::WritingMode2::LR_TB and
+ com::sun::star::text::WritingMode2::RL_TB are supported at the moment.</p>
+
+ @since OOo 3.1
+ */
+ [optional, property] short WritingMode;
+
+ /** defines how the mouse wheel can be used to scroll through the control's content.
+
+ <p>Usually, the mouse wheel spins the numeric value displayed in the control. Using this property,
+ and one of the MouseWheelBehavior constants, you can control under which circumstances
+ this is possible.</p>
+ */
+ [optional, property] short MouseWheelBehavior;
+
+
+ /** specifies the vertical alignment of the text in the control.
+
+ @since OOo 3.3
+ */
+ [optional, property] com::sun::star::style::VerticalAlignment VerticalAlign;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/UnoControlGroupBox.idl b/offapi/com/sun/star/awt/UnoControlGroupBox.idl
new file mode 100644
index 000000000..10a7c0de9
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlGroupBox.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_awt_UnoControlGroupBox_idl__
+#define __com_sun_star_awt_UnoControlGroupBox_idl__
+
+#include <com/sun/star/awt/UnoControl.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies a group box control.
+ */
+published service UnoControlGroupBox
+{
+ service com::sun::star::awt::UnoControl;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/UnoControlGroupBoxModel.idl b/offapi/com/sun/star/awt/UnoControlGroupBoxModel.idl
new file mode 100644
index 000000000..414680c39
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlGroupBoxModel.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_awt_UnoControlGroupBoxModel_idl__
+#define __com_sun_star_awt_UnoControlGroupBoxModel_idl__
+
+#include <com/sun/star/awt/FontDescriptor.idl>
+#include <com/sun/star/awt/UnoControlModel.idl>
+
+#include <com/sun/star/util/Color.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies the standard model of a UnoControlGroupBox.
+ */
+published service UnoControlGroupBoxModel
+{
+ service com::sun::star::awt::UnoControlModel;
+
+
+ /** determines whether the control is enabled or disabled.
+ */
+ [property] boolean Enabled;
+
+
+ /** specifies the font attributes of the text in the control.
+ */
+ [property] com::sun::star::awt::FontDescriptor FontDescriptor;
+
+
+ /** specifies the com::sun::star::text::FontEmphasis
+ value of the text in the control.
+ */
+ [property] short FontEmphasisMark;
+
+
+ /** specifies the com::sun::star::text::FontRelief
+ value of the text in the control.
+ */
+ [property] short FontRelief;
+
+
+ /** specifies the help text of the control.
+ */
+ [property] string HelpText;
+
+
+ /** specifies the help URL of the control.
+ */
+ [property] string HelpURL;
+
+
+ /** specifies the label of the control.
+ */
+ [property] string Label;
+
+
+ /** specifies that the control will be printed with the document.
+ */
+ [property] boolean Printable;
+
+
+ /** specifies the text color (RGB) of the control.
+ */
+ [property] com::sun::star::util::Color TextColor;
+
+
+ /** specifies the text line color (RGB) of the control.
+ */
+ [property] com::sun::star::util::Color TextLineColor;
+
+ /** denotes the writing mode used in the control, as specified in the
+ com::sun::star::text::WritingMode2 constants group.
+
+ <p>Only com::sun::star::text::WritingMode2::LR_TB and
+ com::sun::star::text::WritingMode2::RL_TB are supported at the moment.</p>
+
+ @since OOo 3.1
+ */
+ [optional, property] short WritingMode;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/UnoControlImageControl.idl b/offapi/com/sun/star/awt/UnoControlImageControl.idl
new file mode 100644
index 000000000..ff53a5ea6
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlImageControl.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_awt_UnoControlImageControl_idl__
+#define __com_sun_star_awt_UnoControlImageControl_idl__
+
+#include <com/sun/star/awt/UnoControl.idl>
+#include <com/sun/star/awt/XLayoutConstrains.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies a control for displaying an image.
+ */
+published service UnoControlImageControl
+{
+ service com::sun::star::awt::UnoControl;
+
+ interface com::sun::star::awt::XLayoutConstrains;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/UnoControlImageControlModel.idl b/offapi/com/sun/star/awt/UnoControlImageControlModel.idl
new file mode 100644
index 000000000..310039d1a
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlImageControlModel.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_awt_UnoControlImageControlModel_idl__
+#define __com_sun_star_awt_UnoControlImageControlModel_idl__
+
+#include <com/sun/star/awt/UnoControlModel.idl>
+#include <com/sun/star/util/Color.idl>
+#include <com/sun/star/graphic/XGraphic.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies the standard model of a UnoControlImageControl.
+ */
+published service UnoControlImageControlModel
+{
+ service com::sun::star::awt::UnoControlModel;
+
+
+ /** specifies the background color (RGB) of the control.
+ */
+ [property] com::sun::star::util::Color BackgroundColor;
+
+
+ /** specifies the border style of the control.
+
+ <pre>
+ 0: No border
+ 1: 3D border
+ 2: simple border
+ </pre>
+ */
+ [property] short Border;
+
+
+ /** specifies the color of the border, if present
+
+ <p>Not every border style (see #Border) may support coloring.
+ For instance, usually a border with 3D effect will ignore the BorderColor setting.</p>
+
+ @since OOo 2.0
+ */
+ [optional, property] long BorderColor;
+
+
+ /** determines whether the control is enabled or disabled.
+ */
+ [property] boolean Enabled;
+
+
+ /** specifies the help text of the control.
+ */
+ [property] string HelpText;
+
+
+ /** specifies the help URL of the control.
+ */
+ [property] string HelpURL;
+
+
+ /** specifies a URL to an image to use for the control.
+ @see Graphic
+ */
+ [property] string ImageURL;
+
+
+ /** specifies a graphic to be displayed on the control
+
+ <p>If this property is present, it interacts with the #ImageURL in the
+ following way:
+ <ul><li>If #ImageURL is set, #Graphic will be reset
+ to an object as loaded from the given image URL, or `NULL` if #ImageURL
+ does not point to a valid image file.</li>
+ <li>If #Graphic is set, #ImageURL will be reset
+ to an empty string.</li>
+ </ul></p>
+
+ @since OOo 2.1
+ */
+ [optional, property, transient] com::sun::star::graphic::XGraphic Graphic;
+
+
+ /** specifies that the control will be printed with the document.
+ */
+ [property] boolean Printable;
+
+
+ /** specifies if the image is automatically scaled to the size of the
+ control.
+ */
+ [property] boolean ScaleImage;
+
+ /** defines how to scale the image
+
+ <p>If this property is present, it supersedes the #ScaleImage property.</p>
+
+ <p>The value of this property is one of the ImageScaleMode constants.</p>
+
+ @since OOo 3.1
+ */
+ [property, optional] short ScaleMode;
+
+
+ /** specifies that the control can be reached with the TAB key.
+
+ @since OOo 1.1.2
+ */
+ [optional, property] boolean Tabstop;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/UnoControlListBox.idl b/offapi/com/sun/star/awt/UnoControlListBox.idl
new file mode 100644
index 000000000..37327b47e
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlListBox.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_awt_UnoControlListBox_idl__
+#define __com_sun_star_awt_UnoControlListBox_idl__
+
+#include <com/sun/star/awt/UnoControl.idl>
+
+#include <com/sun/star/awt/XListBox.idl>
+#include <com/sun/star/awt/XLayoutConstrains.idl>
+
+#include <com/sun/star/awt/XTextLayoutConstrains.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies a list box control.
+
+ <p>A list box displays a list of strings and allows a selection within
+ these.</p>
+ */
+published service UnoControlListBox
+{
+ service com::sun::star::awt::UnoControl;
+
+ interface com::sun::star::awt::XListBox;
+
+ interface com::sun::star::awt::XLayoutConstrains;
+
+ interface com::sun::star::awt::XTextLayoutConstrains;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/UnoControlListBoxModel.idl b/offapi/com/sun/star/awt/UnoControlListBoxModel.idl
new file mode 100644
index 000000000..e74202e82
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlListBoxModel.idl
@@ -0,0 +1,206 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_awt_UnoControlListBoxModel_idl__
+#define __com_sun_star_awt_UnoControlListBoxModel_idl__
+
+#include <com/sun/star/awt/FontDescriptor.idl>
+#include <com/sun/star/awt/UnoControlModel.idl>
+#include <com/sun/star/util/Color.idl>
+#include <com/sun/star/awt/XItemList.idl>
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies the standard model of a UnoControlListBox.
+ */
+published service UnoControlListBoxModel
+{
+ service com::sun::star::awt::UnoControlModel;
+
+
+ /** specifies the horizontal alignment of the text in the control.
+
+ <pre>
+ 0: left
+ 1: center
+ 2: right
+ </pre>
+ */
+ [optional, property] short Align;
+
+
+ /** specifies the background color (RGB) of the control.
+ */
+ [property] com::sun::star::util::Color BackgroundColor;
+
+
+ /** specifies the border style of the control.
+
+ <pre>
+ 0: No border
+ 1: 3D border
+ 2: simple border
+ </pre>
+ */
+ [property] short Border;
+
+
+ /** specifies the color of the border, if present
+
+ <p>Not every border style (see #Border) may support coloring.
+ For instance, usually a border with 3D effect will ignore the BorderColor setting.</p>
+
+ @since OOo 2.0
+ */
+ [optional, property] long BorderColor;
+
+
+ /** specifies if the control has a drop down button.
+ */
+ [property] boolean Dropdown;
+
+
+ /** determines whether the control is enabled or disabled.
+ */
+ [property] boolean Enabled;
+
+
+ /** specifies the font attributes of the text in the control.
+ */
+ [property] com::sun::star::awt::FontDescriptor FontDescriptor;
+
+
+ /** specifies the com::sun::star::text::FontEmphasis
+ value of the text in the control.
+ */
+ [property] short FontEmphasisMark;
+
+
+ /** specifies the com::sun::star::text::FontRelief
+ value of the text in the control.
+ */
+ [property] short FontRelief;
+
+
+ /** specifies the help text of the control.
+ */
+ [property] string HelpText;
+
+
+ /** specifies the help URL of the control.
+ */
+ [property] string HelpURL;
+
+
+ /** specifies the maximum line count displayed in the drop down box.
+ */
+ [property] short LineCount;
+
+
+ /** specifies if more than one entry can be selected.
+ */
+ [property] boolean MultiSelection;
+
+
+ /** specifies that the control will be printed with the document.
+ */
+ [property] boolean Printable;
+
+
+ /** specifies that the content of the control cannot be modified by the user.
+ */
+ [property] boolean ReadOnly;
+
+
+ /** specifies the sequence of selected items, identified by the position.
+ */
+ [property] sequence<short> SelectedItems;
+
+
+ /** specifies the list of items.
+ */
+ [property] sequence<string> StringItemList;
+
+
+ /** specifies that the control can be reached with the TAB key.
+ */
+ [property] boolean Tabstop;
+
+
+ /** specifies the text color (RGB) of the control.
+ */
+ [property] com::sun::star::util::Color TextColor;
+
+
+ /** specifies the text line color (RGB) of the control.
+ */
+ [property] com::sun::star::util::Color TextLineColor;
+
+ /** denotes the writing mode used in the control, as specified in the
+ com::sun::star::text::WritingMode2 constants group.
+
+ <p>Only com::sun::star::text::WritingMode2::LR_TB and
+ com::sun::star::text::WritingMode2::RL_TB are supported at the moment.</p>
+
+ @since OOo 3.1
+ */
+ [optional, property] short WritingMode;
+
+ /** defines how the mouse wheel can be used to scroll through the control's content.
+
+ <p>Usually, the mouse wheel scroll through the control's entry list. Using this property,
+ and one of the MouseWheelBehavior constants, you can control under which circumstances
+ this is possible.</p>
+ */
+ [optional, property] short MouseWheelBehavior;
+
+ /** allows manipulating the list of items in the list box more fine-grained than the
+ #StringItemList property.
+
+ @since OOo 3.3
+ */
+ [optional] interface XItemList;
+
+ /** specifies where an item separator - a horizontal line - is drawn.
+
+ <p>If this is not `NULL`, then a horizontal line will be drawn between the item at the given position,
+ and the following item.</p>
+
+ @since OOo 3.3
+ */
+ [optional, property, maybevoid] short ItemSeparatorPos;
+
+ /** specifies the list of raw typed (not stringized) items.
+
+ <p>This list corresponds with the StringItemList and if given
+ has to be of the same length, the elements' positions matching
+ those of their string representation in StringItemList.</p>
+
+ @since LibreOffice 5.4
+ */
+ [optional, property] sequence<any> TypedItemList;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/UnoControlModel.idl b/offapi/com/sun/star/awt/UnoControlModel.idl
new file mode 100644
index 000000000..2e5d830f3
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlModel.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_awt_UnoControlModel_idl__
+#define __com_sun_star_awt_UnoControlModel_idl__
+
+#include <com/sun/star/awt/UnoControlDialogElement.idl>
+#include <com/sun/star/awt/XControlModel.idl>
+
+#include <com/sun/star/lang/XComponent.idl>
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+#include <com/sun/star/beans/XMultiPropertySet.idl>
+
+#include <com/sun/star/io/XPersistObject.idl>
+
+#include <com/sun/star/util/XCloneable.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies the standard model of a UnoControl
+ in the <em>Smalltalk model view controller design</em>.
+
+ <p>The interfaces com::sun::star::beans::XPropertySet
+ and com::sun::star::beans::XMultiPropertySet need
+ access to the model data from the embedding environment. The control
+ and the model can specify additional interfaces to exchange data or
+ export more functionality from the model.</p>
+ */
+published service UnoControlModel
+{
+ /** This service is present when the control model is embedded in an
+ UnoControlDialogModel.
+ */
+ [optional] service com::sun::star::awt::UnoControlDialogElement;
+
+ interface com::sun::star::awt::XControlModel;
+
+ interface com::sun::star::lang::XComponent;
+
+ interface com::sun::star::beans::XPropertySet;
+
+ interface com::sun::star::beans::XMultiPropertySet;
+
+ interface com::sun::star::io::XPersistObject;
+
+ interface com::sun::star::util::XCloneable;
+
+
+ /** specifies the service name of the default control for this model.
+ */
+ [property] string DefaultControl;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/UnoControlNumericField.idl b/offapi/com/sun/star/awt/UnoControlNumericField.idl
new file mode 100644
index 000000000..004e9883c
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlNumericField.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_awt_UnoControlNumericField_idl__
+#define __com_sun_star_awt_UnoControlNumericField_idl__
+
+#include <com/sun/star/awt/UnoControlEdit.idl>
+#include <com/sun/star/awt/XSpinField.idl>
+#include <com/sun/star/awt/XNumericField.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies a numeric field control.
+
+ <p>A numeric field makes it possible to enter, display and edit
+ formatted numeric values.</p>
+ */
+published service UnoControlNumericField
+{
+ service com::sun::star::awt::UnoControlEdit;
+
+ /** gives access to the value of a spin field and makes it possible to
+ register for spin events.
+
+ @since OOo 1.1.2
+ */
+ [optional] interface com::sun::star::awt::XSpinField;
+
+ interface com::sun::star::awt::XNumericField;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/UnoControlNumericFieldModel.idl b/offapi/com/sun/star/awt/UnoControlNumericFieldModel.idl
new file mode 100644
index 000000000..61c5bc61f
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlNumericFieldModel.idl
@@ -0,0 +1,223 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_awt_UnoControlNumericFieldModel_idl__
+#define __com_sun_star_awt_UnoControlNumericFieldModel_idl__
+
+#include <com/sun/star/awt/FontDescriptor.idl>
+#include <com/sun/star/awt/UnoControlModel.idl>
+
+#include <com/sun/star/util/Color.idl>
+
+#include <com/sun/star/style/VerticalAlignment.idl>
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies the standard model of a UnoControlNumericField.
+ */
+published service UnoControlNumericFieldModel
+{
+ service com::sun::star::awt::UnoControlModel;
+
+
+ /** specifies the background color(RGB) of the control.
+ */
+ [property] com::sun::star::util::Color BackgroundColor;
+
+
+ /** specifies the border style of the control.
+
+ <pre>
+ 0: No border
+ 1: 3D border
+ 2: simple border
+ </pre>
+ */
+ [property] short Border;
+
+
+ /** specifies the color of the border, if present
+
+ <p>Not every border style (see #Border) may support coloring.
+ For instance, usually a border with 3D effect will ignore the BorderColor setting.</p>
+
+ @since OOo 2.0
+ */
+ [optional, property] long BorderColor;
+
+
+ /** specifies the decimal accuracy.
+ */
+ [property] short DecimalAccuracy;
+
+
+ /** determines whether the control is enabled or disabled.
+ */
+ [property] boolean Enabled;
+
+
+ /** specifies the font attributes of the text in the control.
+ */
+ [property] com::sun::star::awt::FontDescriptor FontDescriptor;
+
+
+ /** specifies the com::sun::star::text::FontEmphasis
+ value of the text in the control.
+ */
+ [property] short FontEmphasisMark;
+
+
+ /** specifies the com::sun::star::text::FontRelief
+ value of the text in the control.
+ */
+ [property] short FontRelief;
+
+
+ /** specifies the help text of the control.
+ */
+ [property] string HelpText;
+
+
+ /** specifies the help URL of the control.
+ */
+ [property] string HelpURL;
+
+
+ /** specifies whether the selection in the control should be hidden when
+ the control is not active (focused).
+
+ @since OOo 2.0
+ */
+ [optional, property] boolean HideInactiveSelection;
+
+
+ /** specifies that the control will be printed with the document.
+ */
+ [property] boolean Printable;
+
+
+ /** specifies that the content of the control cannot be modified by the
+ user.
+ */
+ [property] boolean ReadOnly;
+
+
+ /** specifies whether the mouse should show repeating behavior, i.e.
+ repeatedly trigger an action when keeping pressed.
+
+ @since OOo 2.0
+ */
+ [optional, property] boolean Repeat;
+
+
+ /** specifies the mouse repeat delay, in milliseconds.
+
+ <p>When the user presses a mouse in a control area where this triggers
+ an action (such as spinning the value), then usual control implementations
+ allow to repeatedly trigger this action, without the need to release the
+ mouse button and to press it again. The delay between two such triggers
+ is specified with this property.</p>
+
+ @since OOo 2.0
+ */
+ [optional, property] long RepeatDelay;
+
+
+ /** specifies whether the thousands separator is to be displayed.
+ */
+ [property] boolean ShowThousandsSeparator;
+
+
+ /** specifies that the control has a spin button.
+ */
+ [property] boolean Spin;
+
+
+ /** specifies that the value is checked during the user input.
+ */
+ [property] boolean StrictFormat;
+
+
+ /** specifies that the control can be reached with the TAB key.
+ */
+ [property] boolean Tabstop;
+
+
+ /** specifies the text color (RGB) of the control.
+ */
+ [property] com::sun::star::util::Color TextColor;
+
+
+ /** specifies the text line color (RGB) of the control.
+ */
+ [property] com::sun::star::util::Color TextLineColor;
+
+
+ /** specifies the value displayed in the control.
+ */
+ [property] double Value;
+
+
+ /** specifies the maximum value that can be entered.
+ */
+ [property] double ValueMax;
+
+
+ /** specifies the minimum value that can be entered.
+ */
+ [property] double ValueMin;
+
+
+ /** specifies the value step when using the spin button.
+ */
+ [property] double ValueStep;
+
+ /** denotes the writing mode used in the control, as specified in the
+ com::sun::star::text::WritingMode2 constants group.
+
+ <p>Only com::sun::star::text::WritingMode2::LR_TB and
+ com::sun::star::text::WritingMode2::RL_TB are supported at the moment.</p>
+
+ @since OOo 3.1
+ */
+ [optional, property] short WritingMode;
+
+ /** defines how the mouse wheel can be used to scroll through the control's content.
+
+ <p>Usually, the mouse wheel spins the numeric value displayed in the control. Using this property,
+ and one of the MouseWheelBehavior constants, you can control under which circumstances
+ this is possible.</p>
+ */
+ [optional, property] short MouseWheelBehavior;
+
+
+ /** specifies the vertical alignment of the text in the control.
+
+ @since OOo 3.3
+ */
+ [optional, property] com::sun::star::style::VerticalAlignment VerticalAlign;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/UnoControlPatternField.idl b/offapi/com/sun/star/awt/UnoControlPatternField.idl
new file mode 100644
index 000000000..4254eda79
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlPatternField.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_awt_UnoControlPatternField_idl__
+#define __com_sun_star_awt_UnoControlPatternField_idl__
+
+#include <com/sun/star/awt/UnoControlEdit.idl>
+#include <com/sun/star/awt/XSpinField.idl>
+#include <com/sun/star/awt/XPatternField.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies a pattern field control.
+
+ <p>A pattern field makes it possible to enter, display and edit text
+ which conforms to a specified pattern.</p>
+ */
+published service UnoControlPatternField
+{
+ service com::sun::star::awt::UnoControlEdit;
+
+ /** gives access to the value of a spin field and makes it possible to
+ register for spin events.
+
+ @since OOo 1.1.2
+ */
+ [optional] interface com::sun::star::awt::XSpinField;
+
+ interface com::sun::star::awt::XPatternField;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/UnoControlPatternFieldModel.idl b/offapi/com/sun/star/awt/UnoControlPatternFieldModel.idl
new file mode 100644
index 000000000..4c0d6069c
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlPatternFieldModel.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_awt_UnoControlPatternFieldModel_idl__
+#define __com_sun_star_awt_UnoControlPatternFieldModel_idl__
+
+#include <com/sun/star/awt/FontDescriptor.idl>
+#include <com/sun/star/awt/UnoControlModel.idl>
+
+#include <com/sun/star/util/Color.idl>
+
+#include <com/sun/star/style/VerticalAlignment.idl>
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies the standard model of a UnoControlPatternField.
+ */
+published service UnoControlPatternFieldModel
+{
+ service com::sun::star::awt::UnoControlModel;
+
+
+ /** specifies the background color (RGB) of the control.
+ */
+ [property] com::sun::star::util::Color BackgroundColor;
+
+
+ /** specifies the border style of the control.
+
+ <pre>
+ 0: No border
+ 1: 3D border
+ 2: simple border
+ </pre>
+ */
+ [property] short Border;
+
+
+ /** specifies the color of the border, if present
+
+ <p>Not every border style (see #Border) may support coloring.
+ For instance, usually a border with 3D effect will ignore the BorderColor setting.</p>
+
+ @since OOo 2.0
+ */
+ [optional, property] long BorderColor;
+
+
+ /** specifies the edit mask.
+ */
+ [property] string EditMask;
+
+
+ /** determines whether the control is enabled or disabled.
+ */
+ [property] boolean Enabled;
+
+
+ /** specifies the font attributes of the text in the control.
+ */
+ [property] com::sun::star::awt::FontDescriptor FontDescriptor;
+
+
+ /** specifies the com::sun::star::text::FontEmphasis
+ value of the text in the control.
+ */
+ [property] short FontEmphasisMark;
+
+
+ /** specifies the com::sun::star::text::FontRelief
+ value of the text in the control.
+ */
+ [property] short FontRelief;
+
+
+ /** specifies the help text of the control.
+ */
+ [property] string HelpText;
+
+
+ /** specifies the help URL of the control.
+ */
+ [property] string HelpURL;
+
+
+ /** specifies whether the selection in the control should be hidden when
+ the control is not active (focused).
+
+ @since OOo 2.0
+ */
+ [optional, property] boolean HideInactiveSelection;
+
+
+ /** specifies the literal mask.
+ */
+ [property] string LiteralMask;
+
+
+ /** specifies the maximum character count.
+ */
+ [property] short MaxTextLen;
+
+
+ /** specifies that the control will be printed with the document.
+ */
+ [property] boolean Printable;
+
+
+ /** specifies that the content of the control cannot be modified by the
+ user.
+ */
+ [property] boolean ReadOnly;
+
+
+ /** specifies that the text is checked during the user input.
+ */
+ [property] boolean StrictFormat;
+
+
+ /** specifies that the control can be reached with the TAB key.
+ */
+ [property] boolean Tabstop;
+
+
+ /** specifies the text displayed in the control.
+ */
+ [property] string Text;
+
+
+ /** specifies the text color (RGB) of the control.
+ */
+ [property] com::sun::star::util::Color TextColor;
+
+
+ /** specifies the text line color (RGB) of the control.
+ */
+ [property] com::sun::star::util::Color TextLineColor;
+
+ /** denotes the writing mode used in the control, as specified in the
+ com::sun::star::text::WritingMode2 constants group.
+
+ <p>Only com::sun::star::text::WritingMode2::LR_TB and
+ com::sun::star::text::WritingMode2::RL_TB are supported at the moment.</p>
+
+ @since OOo 3.1
+ */
+ [optional, property] short WritingMode;
+
+ /** defines how the mouse wheel can be used to scroll through the control's content.
+
+ <p>Usually, the mouse wheel spins the numeric value displayed in the control. Using this property,
+ and one of the MouseWheelBehavior constants, you can control under which circumstances
+ this is possible.</p>
+ */
+ [optional, property] short MouseWheelBehavior;
+
+
+ /** specifies the vertical alignment of the text in the control.
+
+ @since OOo 3.3
+ */
+ [optional, property] com::sun::star::style::VerticalAlignment VerticalAlign;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/UnoControlProgressBar.idl b/offapi/com/sun/star/awt/UnoControlProgressBar.idl
new file mode 100644
index 000000000..87e906396
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlProgressBar.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_awt_UnoControlProgressBar_idl__
+#define __com_sun_star_awt_UnoControlProgressBar_idl__
+
+#include <com/sun/star/awt/UnoControl.idl>
+
+#include <com/sun/star/awt/XProgressBar.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies a progress bar control.
+ */
+published service UnoControlProgressBar
+{
+ service com::sun::star::awt::UnoControl;
+
+ interface com::sun::star::awt::XProgressBar;
+
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/UnoControlProgressBarModel.idl b/offapi/com/sun/star/awt/UnoControlProgressBarModel.idl
new file mode 100644
index 000000000..fec3c58f8
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlProgressBarModel.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_awt_UnoControlProgressBarModel_idl__
+#define __com_sun_star_awt_UnoControlProgressBarModel_idl__
+
+#include <com/sun/star/awt/UnoControlModel.idl>
+
+#include <com/sun/star/util/Color.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies the standard model of a UnoControlProgressBar.
+ */
+published service UnoControlProgressBarModel
+{
+ service com::sun::star::awt::UnoControlModel;
+
+
+ /** specifies the background color (RGB) of the control.
+ */
+ [property] com::sun::star::util::Color BackgroundColor;
+
+
+ /** specifies the border style of the control.
+
+ <pre>
+ 0: No border
+ 1: 3D border
+ 2: simple border
+ </pre>
+ */
+ [property] short Border;
+
+
+ /** specifies the color of the border, if present
+
+ <p>Not every border style (see #Border) may support coloring.
+ For instance, usually a border with 3D effect will ignore the BorderColor setting.</p>
+
+ @since OOo 2.0
+ */
+ [optional, property] long BorderColor;
+
+
+ /** determines whether the control is enabled or disabled.
+ */
+ [property] boolean Enabled;
+
+
+ /** specifies the fill color (RGB) of the control.
+ */
+ [property] com::sun::star::util::Color FillColor;
+
+
+ /** specifies the help text of the control.
+ */
+ [property] string HelpText;
+
+
+ /** specifies the help URL of the control.
+ */
+ [property] string HelpURL;
+
+
+ /** specifies that the control will be printed with the document.
+ */
+ [property] boolean Printable;
+
+
+ /** specifies the progress value of the control.
+ */
+ [property] long ProgressValue;
+
+
+ /** specifies the maximum progress value of the control.
+ */
+ [property] long ProgressValueMax;
+
+
+ /** specifies the minimum progress value of the control.
+ */
+ [property] long ProgressValueMin;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/UnoControlRadioButton.idl b/offapi/com/sun/star/awt/UnoControlRadioButton.idl
new file mode 100644
index 000000000..c14f40c3b
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlRadioButton.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_awt_UnoControlRadioButton_idl__
+#define __com_sun_star_awt_UnoControlRadioButton_idl__
+
+#include <com/sun/star/awt/UnoControl.idl>
+
+#include <com/sun/star/awt/XRadioButton.idl>
+#include <com/sun/star/awt/XLayoutConstrains.idl>
+
+
+
+module com { module sun { module star { module awt {
+
+
+/** specifies a radio button control.
+ */
+published service UnoControlRadioButton
+{
+ service com::sun::star::awt::UnoControl;
+
+ interface com::sun::star::awt::XRadioButton;
+
+ interface com::sun::star::awt::XLayoutConstrains;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/UnoControlRadioButtonModel.idl b/offapi/com/sun/star/awt/UnoControlRadioButtonModel.idl
new file mode 100644
index 000000000..dd5db1927
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlRadioButtonModel.idl
@@ -0,0 +1,195 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_awt_UnoControlRadioButtonModel_idl__
+#define __com_sun_star_awt_UnoControlRadioButtonModel_idl__
+
+#include <com/sun/star/awt/FontDescriptor.idl>
+#include <com/sun/star/awt/UnoControlModel.idl>
+#include <com/sun/star/style/VerticalAlignment.idl>
+#include <com/sun/star/util/Color.idl>
+#include <com/sun/star/graphic/XGraphic.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies the standard model of a UnoControlRadioButton.
+ */
+published service UnoControlRadioButtonModel
+{
+ service com::sun::star::awt::UnoControlModel;
+
+
+ /** specifies the horizontal alignment of the text in the control.
+
+ <pre>
+ 0: left
+ 1: center
+ 2: right
+ </pre>
+
+ @since OOo 2.0
+ */
+ [optional, property] short Align;
+
+
+ /** specifies the background color (RGB) of the control.
+ */
+ [optional, property] long BackgroundColor;
+
+
+ /** determines whether the control is enabled or disabled.
+ */
+ [property] boolean Enabled;
+
+
+ /** specifies the font attributes of the text in the control.
+ */
+ [property] com::sun::star::awt::FontDescriptor FontDescriptor;
+
+
+ /** specifies the com::sun::star::text::FontEmphasis
+ value of the text in the control.
+ */
+ [property] short FontEmphasisMark;
+
+
+ /** specifies the com::sun::star::text::FontRelief
+ value of the text in the control.
+ */
+ [property] short FontRelief;
+
+
+ /** specifies the help text of the control.
+ */
+ [property] string HelpText;
+
+
+ /** specifies the help URL of the control.
+ */
+ [property] string HelpURL;
+
+
+ /** specifies the position of the image, if any, relative to the text, if any
+
+ <p>Valid values of this property are specified with ImagePosition.</p>
+ */
+ [optional, property] short ImagePosition;
+
+
+ /** specifies a URL to an image to display besides the label of the control
+ @see Graphic
+ */
+ [optional, property] string ImageURL;
+
+
+ /** specifies a graphic to be displayed besides the label of the control
+
+ <p>If this property is present, it interacts with the #ImageURL in the
+ following way:
+ <ul><li>If #ImageURL is set, #Graphic will be reset
+ to an object as loaded from the given image URL, or `NULL` if #ImageURL
+ does not point to a valid image file.</li>
+ <li>If #Graphic is set, #ImageURL will be reset
+ to an empty string.</li>
+ </ul></p>
+
+ @since OOo 2.1
+ */
+ [optional, property, transient] com::sun::star::graphic::XGraphic Graphic;
+
+
+ /** specifies the label of the control.
+ */
+ [property] string Label;
+
+
+ /** specifies that the text may be displayed on more than one line.
+
+ @since OOo 2.0
+ */
+ [optional, property] boolean MultiLine;
+
+
+ /** specifies that the control will be printed with the document.
+ */
+ [property] boolean Printable;
+
+
+ /** specifies the state of the control.
+
+ <pre>
+ 0: not checked
+ 1: checked
+ </pre>
+ */
+ [property] short State;
+
+
+ /** specifies that the control can be reached with the TAB key.
+ */
+ [property] boolean Tabstop;
+
+
+ /** specifies the text color (RGB) of the control.
+ */
+ [property] com::sun::star::util::Color TextColor;
+
+
+ /** specifies the text line color (RGB) of the control.
+ */
+ [property] com::sun::star::util::Color TextLineColor;
+
+
+ /** specifies the vertical alignment of the text in the control.
+
+ @since OOo 2.0
+ */
+ [optional, property] com::sun::star::style::VerticalAlignment VerticalAlign;
+
+
+ /** specifies a visual effect to apply to the radio button control.
+
+ <p>Possible values for this property are VisualEffect::FLAT and
+ VisualEffect::LOOK3D.</p>
+
+ @see com::sun::star::awt::VisualEffect
+
+ @since OOo 2.0
+ */
+ [optional, property] short VisualEffect;
+
+ /** denotes the writing mode used in the control, as specified in the
+ com::sun::star::text::WritingMode2 constants group.
+
+ <p>Only com::sun::star::text::WritingMode2::LR_TB and
+ com::sun::star::text::WritingMode2::RL_TB are supported at the moment.</p>
+
+ @since OOo 3.1
+ */
+ [optional, property] short WritingMode;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/UnoControlRoadmap.idl b/offapi/com/sun/star/awt/UnoControlRoadmap.idl
new file mode 100644
index 000000000..26813bc1d
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlRoadmap.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_awt_UnoControlRoadmap_idl__
+#define __com_sun_star_awt_UnoControlRoadmap_idl__
+
+#include <com/sun/star/awt/UnoControl.idl>
+#include <com/sun/star/awt/XItemEventBroadcaster.idl>
+#include <com/sun/star/beans/XPropertyChangeListener.idl>
+
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies a Roadmap control. The model of the Roadmap control must be a
+ UnoControlRoadmapModel
+
+ <p>The model properties are implemented in the control as follows:
+ <ul><li>CurrentItem: The RGB code of the background color is RGB(194, 211, 238)</li>
+ <li>ImageURL: The image referenced by the URL is placed in the lower right corner
+ of the control.</li>
+ <li>Graphic: The graphic is placed in the lower right corner of the control.</li>
+ <li>Complete: When set to `FALSE` a non interactive RoadmapItem is appended
+ after the last roadmap item, labeled with three dots, indicating incompleteness.</li>
+ <li>Interactive: When activating a RoadmapItem (see RoadmapItem) the
+ information about which Item has been selected is passed over when an itemlistener
+ has been registered at the control.</li>
+ </ul></p>
+*/
+service UnoControlRoadmap
+{
+ service com::sun::star::awt::UnoControl;
+
+ /** This interface allows to add an Itemlistener to the roadmap.
+ If the property "Interactive" at the com::sun::star::awt::UnoControlRoadmapModel
+ is set to "true" the listener is triggered each time the user selects a RoadmapItem
+ by Mouse click or pressing space bar at the currently focused RoadmapItem.
+ The property ItemID of the com::sun::star::awt::ItemEvent:: is assigned
+ the value of the property "ID" of the activated RoadmapItem.
+ */
+ interface com::sun::star::awt::XItemEventBroadcaster;
+
+
+};
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/UnoControlRoadmapModel.idl b/offapi/com/sun/star/awt/UnoControlRoadmapModel.idl
new file mode 100644
index 000000000..cf2d13c4a
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlRoadmapModel.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_awt_UnoControlRoadmapModel_idl__
+#define __com_sun_star_awt_UnoControlRoadmapModel_idl__
+
+
+#include <com/sun/star/awt/UnoControlModel.idl>
+#include <com/sun/star/container/XIndexContainer.idl>
+#include <com/sun/star/beans/XPropertyChangeListener.idl>
+#include <com/sun/star/graphic/XGraphic.idl>
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies the standard model of a UnoControlContainer.
+ */
+service UnoControlRoadmapModel
+{
+ service com::sun::star::awt::UnoControlModel;
+
+ /** The control serves as an indexed container typically for RoadmapItems
+ as specified in com::sun::star::awt:RoadmapItem. The RoadmapItems are
+ held in a sequence.
+ When inserting such items their ID is set equal to the Index of their
+ insertion by default.
+ After removing items the CurrentItem property is - when beyond the upper sequence
+ boundaries - set equal to last index of the RoadmapItem Array.
+ */
+ interface com::sun::star::container::XIndexContainer;
+
+
+
+ /** specifies the background color (RGB) of the control.
+ The Default value is white
+ */
+ [property] long BackgroundColor;
+
+
+ /** determines whether the control is interactive or not.
+
+ <p>A roadmap control which is interactive allows selecting its items out-of-order,
+ by simply clicking them.</p>
+ */
+ [property] boolean Interactive;
+
+
+ /** determines whether the control container is complete or not. If it is
+ false than a non - interactive RoadmapItem is appended
+ */
+ [property] boolean Complete;
+
+
+
+ /** specifies a URL to an image to use for the control.
+ The image is placed in the lower right corner of the control
+ @see Graphic
+ */
+ [property] string ImageURL;
+
+
+ /** specifies a graphic to be displayed on the control
+
+ <p>If this property is present, it interacts with the #ImageURL in the
+ following way:
+ <ul><li>If #ImageURL is set, #Graphic will be reset
+ to an object as loaded from the given image URL, or `NULL` if #ImageURL
+ does not point to a valid image file.</li>
+ <li>If #Graphic is set, #ImageURL will be reset
+ to an empty string.</li>
+ </ul></p>
+
+ @since OOo 2.1
+ */
+ [optional, property, transient] com::sun::star::graphic::XGraphic Graphic;
+
+
+ /** specifies the border style of the control.
+
+ <pre>
+ 0: No border
+ 1: 3D border
+ 2: simple border
+ </pre>
+ */
+ [property] short Border;
+
+
+ /** specifies whether the control will be printed with the document.
+ */
+ [property] boolean Printable;
+
+
+ /** specifies the text displayed in the control.
+ */
+ [property] string Text;
+
+
+ /** refers to the ID of the currently selected item. Initially this property is set to "-1"
+ which is equal to "undefined"
+ If the Roadmap Item that the CurrentItemID refers to is removed the property
+ "CurrentItemID" is set to -1
+ */
+ [property] short CurrentItemID;
+
+
+
+ /** specifies the help text of the control.
+ */
+ [property] string HelpText;
+
+
+
+ /** specifies the help URL of the control.
+ */
+ [property] string HelpURL;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/UnoControlScrollBar.idl b/offapi/com/sun/star/awt/UnoControlScrollBar.idl
new file mode 100644
index 000000000..2ea1f2acf
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlScrollBar.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_awt_UnoControlScrollBar_idl__
+#define __com_sun_star_awt_UnoControlScrollBar_idl__
+
+#include <com/sun/star/awt/UnoControl.idl>
+#include <com/sun/star/awt/XScrollBar.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies a scroll bar control.
+ */
+published service UnoControlScrollBar
+{
+ service com::sun::star::awt::UnoControl;
+
+ interface com::sun::star::awt::XScrollBar;
+
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/UnoControlScrollBarModel.idl b/offapi/com/sun/star/awt/UnoControlScrollBarModel.idl
new file mode 100644
index 000000000..662bf368c
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlScrollBarModel.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_awt_UnoControlScrollBarModel_idl__
+#define __com_sun_star_awt_UnoControlScrollBarModel_idl__
+
+#include <com/sun/star/awt/UnoControlModel.idl>
+#include <com/sun/star/util/Color.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies the standard model of a UnoControlScrollBar.
+ */
+published service UnoControlScrollBarModel
+{
+ service com::sun::star::awt::UnoControlModel;
+
+
+ /** specifies the RGB color to be used for the control.
+
+ @since OOo 2.0
+ */
+ [optional, property] com::sun::star::util::Color BackgroundColor;
+
+
+ /** specifies the increment for a block move.
+ */
+ [property] long BlockIncrement;
+
+
+ /** specifies the border style of the control.
+
+ <pre>
+ 0: No border
+ 1: 3D border
+ 2: simple border
+ </pre>
+ */
+ [property] short Border;
+
+
+ /** specifies the color of the border, if present
+
+ <p>Not every border style (see #Border) may support coloring.
+ For instance, usually a border with 3D effect will ignore the BorderColor setting.</p>
+
+ @since OOo 2.0
+ */
+ [optional, property] long BorderColor;
+
+
+ /** determines whether the control is enabled or disabled.
+ */
+ [property] boolean Enabled;
+
+
+ /** specifies the help text of the control.
+ */
+ [property] string HelpText;
+
+
+ /** specifies the help URL of the control.
+ */
+ [property] string HelpURL;
+
+
+ /** specifies the increment for a single line move.
+ */
+ [property] long LineIncrement;
+
+
+ /** specifies the scrolling behavior of the control.
+
+ <p>`TRUE` means, that when the user moves the slider in the scroll bar,
+ the content of the window is updated immediately.
+ `FALSE` means, that the window is only updated after the user has
+ released the mouse button.</p>
+
+ @since OOo 2.0
+ */
+ [optional, property] boolean LiveScroll;
+
+
+ /** specifies the ScrollBarOrientation of the control.
+ */
+ [property] long Orientation;
+
+
+ /** specifies that the control will be printed with the document.
+ */
+ [property] boolean Printable;
+
+
+ /** specifies the mouse repeat delay, in milliseconds.
+
+ <p>When the user presses a mouse in a control area where this triggers
+ an action (such as scrolling the scrollbar), then usual control implementations
+ allow to repeatedly trigger this action, without the need to release the
+ mouse button and to press it again. The delay between two such triggers
+ is specified with this property.</p>
+
+ @since OOo 2.0
+ */
+ [optional, property] long RepeatDelay;
+
+
+ /** specifies the scroll value of the control.
+ */
+ [property] long ScrollValue;
+
+
+ /** specifies the minimum scroll value of the control.
+
+ <p>If this optional property is not present, clients of the component should assume
+ a minimal scroll value of 0.</p>
+ */
+ [optional, property] long ScrollValueMin;
+
+
+ /** specifies the maximum scroll value of the control.
+ */
+ [property] long ScrollValueMax;
+
+
+ /** specifies the RGB color to be used when painting symbols which are
+ part of the control's appearance, such as the arrow buttons.
+
+ @since OOo 2.0
+ */
+ [optional, property] com::sun::star::util::Color SymbolColor;
+
+
+ /** specifies that the control can be reached with the TAB key.
+
+ @since OOo 2.0
+ */
+ [optional, property] boolean Tabstop;
+
+
+ /** specifies the visible size of the scroll bar.
+ */
+ [property] long VisibleSize;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/UnoControlSpinButton.idl b/offapi/com/sun/star/awt/UnoControlSpinButton.idl
new file mode 100644
index 000000000..034943eb1
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlSpinButton.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_awt_UnoControlSpinButton_idl__
+#define __com_sun_star_awt_UnoControlSpinButton_idl__
+
+#include <com/sun/star/awt/UnoControl.idl>
+#include <com/sun/star/awt/XSpinValue.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies a spin button control.
+
+ <p>The model of a UnoControlSpinButton control must support
+ the UnoControlSpinButtonModel service.
+ */
+service UnoControlSpinButton
+{
+ service com::sun::star::awt::UnoControl;
+
+ interface com::sun::star::awt::XSpinValue;
+
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/UnoControlSpinButtonModel.idl b/offapi/com/sun/star/awt/UnoControlSpinButtonModel.idl
new file mode 100644
index 000000000..2a1d6e9be
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlSpinButtonModel.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_awt_UnoControlSpinButtonModel_idl__
+#define __com_sun_star_awt_UnoControlSpinButtonModel_idl__
+
+#include <com/sun/star/awt/UnoControlModel.idl>
+#include <com/sun/star/util/Color.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies the standard model of a UnoControlSpinButton.
+
+ <p>A spin button is a control which has a numeric value associated with it,
+ and allows to change this value using two spin buttons.</p>
+
+ <p>A spin button is similar to a scroll bar, but it usually has no
+ (own) visual representation of the associated value, but is used to propagate
+ its value to other controls.</p>
+
+ @see UnoControlScrollBarModel
+ */
+service UnoControlSpinButtonModel
+{
+ service com::sun::star::awt::UnoControlModel;
+
+
+ /** specifies the border style of the control.
+
+ <pre>
+ 0: No border
+ 1: 3D border
+ 2: simple border
+ </pre>
+ */
+ [property] short Border;
+
+
+ /** specifies the color of the border, if present
+
+ <p>Not every border style (see #Border) may support coloring.
+ For instance, usually a border with 3D effect will ignore the BorderColor setting.</p>
+
+ @since OOo 2.0
+ */
+ [optional, property] long BorderColor;
+
+
+ /** determines whether the control is enabled or disabled.
+ */
+ [property] boolean Enabled;
+
+
+ /** specifies the help text of the control.
+ */
+ [property] string HelpText;
+
+
+ /** specifies the help URL of the control.
+ */
+ [property] string HelpURL;
+
+
+ /** specifies the increment by which the value is changed when using operating
+ the spin button.
+ */
+ [property] long SpinIncrement;
+
+
+ /** specifies the ScrollBarOrientation of the control.
+ */
+ [property] long Orientation;
+
+
+ /** specifies whether the control will be printed with the document.
+ */
+ [property] boolean Printable;
+
+
+ /** specifies the current value of the control.
+ */
+ [property] long SpinValue;
+
+
+ /** specifies the minimum value of the control.
+ */
+ [property] long SpinValueMin;
+
+
+ /** specifies the maximum value of the control.
+ */
+ [property] long SpinValueMax;
+
+
+ /** specifies the RGB color to be used for the control
+ */
+ [property] com::sun::star::util::Color BackgroundColor;
+
+
+ /** specifies the RGB color to be used when painting symbols which are
+ part of the control's appearance, such as the arrow buttons.
+ */
+ [property] com::sun::star::util::Color SymbolColor;
+
+
+ /** specifies whether the mouse should show repeating behavior, i.e.
+ repeatedly trigger an action when keeping pressed.
+ */
+ [property] boolean Repeat;
+
+
+ /** specifies the mouse repeat delay, in milliseconds.
+
+ <p>When the user presses a mouse in a control area where this triggers
+ an action (such as spinning the value), then usual control implementations
+ allow to repeatedly trigger this action, without the need to release the
+ mouse button and to press it again. The delay between two such triggers
+ is specified with this property.</p>
+ */
+ [property] long RepeatDelay;
+
+ /** defines how the mouse wheel can be used to scroll through the control's content.
+
+ <p>Usually, the mouse wheel spins the numeric value displayed in the control. Using this property,
+ and one of the MouseWheelBehavior constants, you can control under which circumstances
+ this is possible.</p>
+ */
+ [optional, property] short MouseWheelBehavior;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/UnoControlTimeField.idl b/offapi/com/sun/star/awt/UnoControlTimeField.idl
new file mode 100644
index 000000000..1c37e99a6
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlTimeField.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_awt_UnoControlTimeField_idl__
+#define __com_sun_star_awt_UnoControlTimeField_idl__
+
+#include <com/sun/star/awt/UnoControlEdit.idl>
+#include <com/sun/star/awt/XSpinField.idl>
+#include <com/sun/star/awt/XTimeField.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies a time field control.
+
+ <p>A time field makes it possible to enter, display, and edit time
+ values.</p>
+ */
+published service UnoControlTimeField
+{
+ service com::sun::star::awt::UnoControlEdit;
+
+ /** gives access to the value of a spin field and makes it possible to
+ register for spin events.
+
+ @since OOo 1.1.2
+ */
+ [optional] interface com::sun::star::awt::XSpinField;
+
+ interface com::sun::star::awt::XTimeField;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/UnoControlTimeFieldModel.idl b/offapi/com/sun/star/awt/UnoControlTimeFieldModel.idl
new file mode 100644
index 000000000..7801cd973
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlTimeFieldModel.idl
@@ -0,0 +1,229 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_awt_UnoControlTimeFieldModel_idl__
+#define __com_sun_star_awt_UnoControlTimeFieldModel_idl__
+
+#include <com/sun/star/util/Time.idl>
+#include <com/sun/star/awt/FontDescriptor.idl>
+#include <com/sun/star/awt/UnoControlModel.idl>
+
+#include <com/sun/star/util/Color.idl>
+
+#include <com/sun/star/style/VerticalAlignment.idl>
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies the standard model of a UnoControlTimeField.
+ */
+published service UnoControlTimeFieldModel
+{
+ service com::sun::star::awt::UnoControlModel;
+
+
+ /** specifies the background color (RGB) of the control.
+ */
+ [property] com::sun::star::util::Color BackgroundColor;
+
+
+ /** specifies the border style of the control.
+
+ <pre>
+ 0: No border
+ 1: 3D border
+ 2: simple border
+ </pre>
+ */
+ [property] short Border;
+
+
+ /** specifies the color of the border, if present
+
+ <p>Not every border style (see #Border) may support coloring.
+ For instance, usually a border with 3D effect will ignore the BorderColor setting.</p>
+
+ @since OOo 2.0
+ */
+ [optional, property] long BorderColor;
+
+
+ /** determines whether the control is enabled or disabled.
+ */
+ [property] boolean Enabled;
+
+
+ /** specifies the font attributes of the text in the control.
+ */
+ [property] com::sun::star::awt::FontDescriptor FontDescriptor;
+
+
+ /** specifies the com::sun::star::text::FontEmphasis
+ value of the text in the control.
+ */
+ [property] short FontEmphasisMark;
+
+
+ /** specifies the com::sun::star::text::FontRelief
+ value of the text in the control.
+ */
+ [property] short FontRelief;
+
+
+ /** specifies the help text of the control.
+ */
+ [property] string HelpText;
+
+
+ /** specifies the help URL of the control.
+ */
+ [property] string HelpURL;
+
+
+ /** specifies whether the selection in the control should be hidden when
+ the control is not active (focused).
+
+ @since OOo 2.0
+ */
+ [optional, property] boolean HideInactiveSelection;
+
+
+ /** specifies that the control will be printed with the document.
+ */
+ [property] boolean Printable;
+
+
+ /** specifies that the content of the control cannot be modified by the user.
+ */
+ [property] boolean ReadOnly;
+
+
+ /** specifies whether the mouse should show repeating behavior, i.e.
+ repeatedly trigger an action when keeping pressed.
+
+ @since OOo 2.0
+ */
+ [optional, property] boolean Repeat;
+
+
+ /** specifies the mouse repeat delay, in milliseconds.
+
+ <p>When the user presses a mouse in a control area where this triggers
+ an action (such as spinning the value), then usual control implementations
+ allow to repeatedly trigger this action, without the need to release the
+ mouse button and to press it again. The delay between two such triggers
+ is specified with this property.</p>
+
+ @since OOo 2.0
+ */
+ [optional, property] long RepeatDelay;
+
+
+ /** specifies that the control has a spin button.
+ */
+ [property] boolean Spin;
+
+
+ /** specifies that the date is checked during the user input.
+ */
+ [property] boolean StrictFormat;
+
+
+ /** specifies that the control can be reached with the TAB key.
+ */
+ [property] boolean Tabstop;
+
+
+ /** specifies the text displayed in the control.
+
+ @since OOo 2.0
+ */
+ [optional, property] string Text;
+
+
+ /** specifies the text color (RGB) of the control.
+ */
+ [property] com::sun::star::util::Color TextColor;
+
+
+ /** specifies the text line color (RGB) of the control.
+ */
+ [property] com::sun::star::util::Color TextLineColor;
+
+
+ /** specifies the time displayed in the control.
+ */
+ [property] com::sun::star::util::Time Time;
+
+
+ /** specifies the format of the displayed time.
+
+ <pre>
+ 0: 24h short
+ 1: 24h long
+ 2: 12h short
+ 3: 12h long
+ 4: Duration short
+ 5: Duration long
+ </pre>
+ */
+ [property] short TimeFormat;
+
+
+ /** specifies the maximum time that can be entered.
+ */
+ [property] com::sun::star::util::Time TimeMax;
+
+
+ /** specifies the minimum time that can be entered.
+ */
+ [property] com::sun::star::util::Time TimeMin;
+
+ /** denotes the writing mode used in the control, as specified in the
+ com::sun::star::text::WritingMode2 constants group.
+
+ <p>Only com::sun::star::text::WritingMode2::LR_TB and
+ com::sun::star::text::WritingMode2::RL_TB are supported at the moment.</p>
+
+ @since OOo 3.1
+ */
+ [optional, property] short WritingMode;
+
+ /** defines how the mouse wheel can be used to scroll through the control's content.
+
+ <p>Usually, the mouse wheel spins the numeric value displayed in the control. Using this property,
+ and one of the MouseWheelBehavior constants, you can control under which circumstances
+ this is possible.</p>
+ */
+ [optional, property] short MouseWheelBehavior;
+
+
+ /** specifies the vertical alignment of the text in the control.
+
+ @since OOo 3.3
+ */
+ [optional, property] com::sun::star::style::VerticalAlignment VerticalAlign;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/VclContainerEvent.idl b/offapi/com/sun/star/awt/VclContainerEvent.idl
new file mode 100644
index 000000000..10e6e4c3d
--- /dev/null
+++ b/offapi/com/sun/star/awt/VclContainerEvent.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_awt_VclContainerEvent_idl__
+#define __com_sun_star_awt_VclContainerEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies a container event.
+
+ <p>These events are provided <strong>only</strong> for notification
+ purposes.</p>
+
+ @see XVclContainerListener
+ */
+published struct VclContainerEvent: com::sun::star::lang::EventObject
+{
+
+ /** returns the child component that was added or removed.
+ */
+ com::sun::star::uno::XInterface Child;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/VclWindowPeerAttribute.idl b/offapi/com/sun/star/awt/VclWindowPeerAttribute.idl
new file mode 100644
index 000000000..350c4b904
--- /dev/null
+++ b/offapi/com/sun/star/awt/VclWindowPeerAttribute.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_awt_VclWindowPeerAttribute_idl__
+#define __com_sun_star_awt_VclWindowPeerAttribute_idl__
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies attributes for the VCL window implementation.
+
+ <p><b>IMPORTANT:</b> These constants have to be disjunct with
+ constants in WindowAttribute.</p>
+
+ @deprecated
+ */
+published constants VclWindowPeerAttribute
+{
+
+ const long HSCROLL = 256;
+
+
+ const long VSCROLL = 512;
+
+
+ const long LEFT = 1024;
+
+
+ const long CENTER = 2048;
+
+
+ const long RIGHT = 4096;
+
+
+ const long SPIN = 8192;
+
+
+ const long SORT = 16384;
+
+
+ const long DROPDOWN = 32768;
+
+
+ const long DEFBUTTON = 65536;
+
+
+ const long READONLY = 262144;
+
+
+ const long CLIPCHILDREN = 524288;
+
+
+ const long NOBORDER = 1048576;
+
+
+ const long GROUP = 2097152;
+
+
+ const long OK = 4194304;
+
+
+ const long OK_CANCEL = 8388608;
+
+
+ const long YES_NO = 16777216;
+
+
+ const long YES_NO_CANCEL = 33554432;
+
+
+ const long RETRY_CANCEL = 67108864;
+
+
+ const long DEF_OK = 134217728;
+
+
+ const long DEF_CANCEL = 268435456;
+
+
+ const long DEF_RETRY = 536870912;
+
+
+ const long DEF_YES = 1073741824;
+
+
+ const long DEF_NO = -2147483648;
+
+
+ const long NOLABEL = 536870912; //added for issue79712
+
+
+ const long AUTOHSCROLL = 1073741824;
+
+
+ const long AUTOVSCROLL = -2147483648;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/VisualEffect.idl b/offapi/com/sun/star/awt/VisualEffect.idl
new file mode 100644
index 000000000..cc1b4fdbb
--- /dev/null
+++ b/offapi/com/sun/star/awt/VisualEffect.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_awt_VisualEffect_idl__
+#define __com_sun_star_awt_VisualEffect_idl__
+
+
+module com { module sun { module star { module awt {
+
+
+/** These values are used to specify the visual effect of controls
+
+ <p>The list may grow in future versions.</p>
+*/
+constants VisualEffect
+{
+ /** specifies that no visual effect is to be applied
+ */
+ const short NONE = 0;
+
+ /** specifies a 3D-like look
+ */
+ const short LOOK3D = 1;
+
+ /** specifies a "flat" look
+ */
+ const short FLAT = 2;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/WindowAttribute.idl b/offapi/com/sun/star/awt/WindowAttribute.idl
new file mode 100644
index 000000000..922d53593
--- /dev/null
+++ b/offapi/com/sun/star/awt/WindowAttribute.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_awt_WindowAttribute_idl__
+#define __com_sun_star_awt_WindowAttribute_idl__
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** These values are used to specify the decorations of a window.
+
+ <p><b>IMPORTANT:</b> These constants have to be disjunct with
+ constants in VclWindowPeerAttribute.</p>
+ */
+published constants WindowAttribute
+{
+
+ /** specifies that the window is initially visible.
+ */
+ const long SHOW = 1;
+
+
+ /** specifies that the window fills the complete desktop area.
+
+ <p>This applies only to top windows.</p>
+ */
+ const long FULLSIZE = 2;
+
+
+ /** specifies that the window is optimum size.
+
+ <p>This applies only to top windows.</p>
+ */
+ const long OPTIMUMSIZE = 4;
+
+
+ /** specifies that the window is minimum size.
+
+ <p>This applies only to top windows.</p>
+ */
+ const long MINSIZE = 8;
+
+
+ /** specifies that the window has visible borders.
+
+ <p>This applies only to top windows.</p>
+ */
+ const long BORDER = 16;
+
+
+ /** specifies that the size of the window can be changed by the user.
+
+ <p>This applies only to top windows.</p>
+ */
+ const long SIZEABLE = 32;
+
+
+ /** specifies that the window can be moved by the user.
+
+ <p>This applies only to top windows.</p>
+ */
+ const long MOVEABLE = 64;
+
+
+ /** specifies that the window can be closed by the user.
+
+ <p>This applies only to top windows.</p>
+ */
+ const long CLOSEABLE = 128;
+
+
+ /** specifies that the window should support the
+ com::sun::star::awt::XSystemDependentWindowPeer
+ interface.
+
+ <p>This flag may be ignored, but in this case no system-dependent
+ extension works.</p>
+
+ @see XSystemDependentWindowPeer
+ @see com::sun::star::lang::SystemDependent
+
+ @deprecated
+ conflicts with VclWindowPeerAttribute::HSCROLL
+ */
+ const long SYSTEMDEPENDENT = 256;
+
+
+ /** specifies that the window should have no decoration.
+ */
+ const long NODECORATION = 512;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/WindowClass.idl b/offapi/com/sun/star/awt/WindowClass.idl
new file mode 100644
index 000000000..6709a9b2f
--- /dev/null
+++ b/offapi/com/sun/star/awt/WindowClass.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_awt_WindowClass_idl__
+#define __com_sun_star_awt_WindowClass_idl__
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies the class of a window.
+ */
+published enum WindowClass
+{
+
+ /** specifies a top level window on the desktop. It is also a container.
+ */
+ TOP,
+
+
+ /** is a modal top level window on the desktop. It is also a container.
+ */
+ MODALTOP,
+
+
+ /** is a container that may contain other components.
+ It is not a top window.
+ */
+ CONTAINER,
+
+
+ /** is the simplest window. It can be a container.
+ */
+ SIMPLE
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/WindowDescriptor.idl b/offapi/com/sun/star/awt/WindowDescriptor.idl
new file mode 100644
index 000000000..7cd5dee8f
--- /dev/null
+++ b/offapi/com/sun/star/awt/WindowDescriptor.idl
@@ -0,0 +1,156 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_awt_WindowDescriptor_idl__
+#define __com_sun_star_awt_WindowDescriptor_idl__
+
+#include <com/sun/star/awt/WindowClass.idl>
+
+#include <com/sun/star/awt/XWindowPeer.idl>
+
+#include <com/sun/star/awt/Rectangle.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** describes a window.
+ */
+published struct WindowDescriptor
+{
+
+ /** specifies the type of window.
+ */
+ com::sun::star::awt::WindowClass Type;
+
+
+ /** specifies the name of the component service.
+
+ <p>A zero length name means that the VCL creates a blank top,
+ a container, or a simple window.
+ The following service names are defined:<br/>
+ <ul>
+ <li>buttondialog</li>
+ <li>cancelbutton</li>
+ <li>checkbox</li>
+ <li>combobox</li>
+ <li>control</li>
+ <li>currencybox</li>
+ <li>currencyfield</li>
+ <li>datebox</li>
+ <li>datefield</li>
+ <li>dialog</li>
+ <li>dockingarea</li>
+ <li>dockingwindow</li>
+ <li>edit</li>
+ <li>errorbox</li>
+ <li>fixedbitmap</li>
+ <li>fixedimage</li>
+ <li>fixedline</li>
+ <li>fixedtext</li>
+ <li>floatingwindow</li>
+ <li>framewindow</li>
+ <li>groupbox</li>
+ <li>helpbutton</li>
+ <li>imagebutton</li>
+ <li>imageradiobutton</li>
+ <li>infobox</li>
+ <li>listbox</li>
+ <li>longcurrencybox</li>
+ <li>longcurrencyfield</li>
+ <li>menubutton</li>
+ <li>messbox</li>
+ <li>metricbox</li>
+ <li>metricfield</li>
+ <li>modaldialog</li>
+ <li>modelessdialog</li>
+ <li>morebutton</li>
+ <li>multilistbox</li>
+ <li>numericbox</li>
+ <li>numericfield</li>
+ <li>okbutton</li>
+ <li>patternbox</li>
+ <li>patternfield</li>
+ <li>pushbutton</li>
+ <li>querybox</li>
+ <li>radiobutton</li>
+ <li>scrollbar</li>
+ <li>scrollbarbox</li>
+ <li>spinbutton</li>
+ <li>spinfield</li>
+ <li>splitter</li>
+ <li>splitwindow</li>
+ <li>statusbar</li>
+ <li>systemchildwindow</li>
+ <li>tabcontrol</li>
+ <li>tabdialog</li>
+ <li>tabpage</li>
+ <li>timebox</li>
+ <li>timefield</li>
+ <li>toolbox</li>
+ <li>tristatebox</li>
+ <li>warningbox</li>
+ <li>window</li>
+ <li>workwindow</li>
+ </ul>
+ </p>
+ */
+ string WindowServiceName;
+
+
+ /** specifies the parent of the component.
+
+ <p>If <code>Parent == 0 && ParentIndex == -1</code>,
+ then the window is on the desktop.</p>
+ */
+ com::sun::star::awt::XWindowPeer Parent;
+
+
+ /** specifies the index of the parent window, if available.
+
+ <p>If <code>Parent == 0</code> and this struct is a member of an array,
+ then this is the offset from the beginning of the array to the parent.
+ A value of -1 means desktop.</p>
+ */
+ short ParentIndex;
+
+
+ /** specifies the position and size of the window.
+
+ <p>This member is ignored if the window attribute is
+ com::sun::star::awt::WindowAttribute::FULLSIZE.</p>
+ */
+ com::sun::star::awt::Rectangle Bounds;
+
+
+ /** specifies the window attributes.
+
+ <p>Use one value out of the constant group
+ com::sun::star::awt::WindowAttribute.</p>
+ */
+ long WindowAttributes;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/WindowEvent.idl b/offapi/com/sun/star/awt/WindowEvent.idl
new file mode 100644
index 000000000..1293acb16
--- /dev/null
+++ b/offapi/com/sun/star/awt/WindowEvent.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_awt_WindowEvent_idl__
+#define __com_sun_star_awt_WindowEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies a window event.
+ */
+published struct WindowEvent: com::sun::star::lang::EventObject
+{
+
+ /** specifies the outer x position of the window.
+ */
+ long X;
+
+
+ /** specifies the outer y position of the window.
+ */
+ long Y;
+
+
+ /** specifies the outer (total) width of the window.
+ */
+ long Width;
+
+
+ /** specifies the outer (total) height of the window.
+ */
+ long Height;
+
+
+ /** specifies the inset from the left.
+
+ <p>The inset is the distance between the outer and the inner window,
+ that means the left inset is the width of the left border.</p>
+ */
+ long LeftInset;
+
+
+ /** specifies the inset from the top.
+
+ <p>The inset is the distance between the outer and the inner window,
+ that means the top inset is the height of the top border.</p>
+ */
+ long TopInset;
+
+
+ /** specifies the inset from the right.
+
+ <p>The inset is the distance between the outer and the inner window,
+ that means the right inset is the width of the right border.</p>
+ */
+ long RightInset;
+
+
+ /** specifies the inset from the bottom.
+
+ <p>The inset is the distance between the outer and the inner window,
+ that means the bottom inset is the height of the bottom border.</p>
+ */
+ long BottomInset;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XActionListener.idl b/offapi/com/sun/star/awt/XActionListener.idl
new file mode 100644
index 000000000..bf42392fb
--- /dev/null
+++ b/offapi/com/sun/star/awt/XActionListener.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_awt_XActionListener_idl__
+#define __com_sun_star_awt_XActionListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+
+#include <com/sun/star/awt/ActionEvent.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** makes it possible to receive action events.
+ */
+published interface XActionListener: com::sun::star::lang::XEventListener
+{
+
+ /** is invoked when an action is performed.
+ */
+ void actionPerformed( [in] com::sun::star::awt::ActionEvent rEvent );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XActivateListener.idl b/offapi/com/sun/star/awt/XActivateListener.idl
new file mode 100644
index 000000000..30e33412c
--- /dev/null
+++ b/offapi/com/sun/star/awt/XActivateListener.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_awt_XActivateListener_idl__
+#define __com_sun_star_awt_XActivateListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+
+#include <com/sun/star/lang/EventObject.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** makes it possible to receive activate events.
+
+ @see XFocusListener
+ @see XTopWindowListener
+ */
+published interface XActivateListener: com::sun::star::lang::XEventListener
+{
+
+ /** is invoked when a window is activated.
+
+ <p>A window is activated if a child or itself got the focus.</p>
+
+ @see XFocusListener::focusGained
+ */
+ void windowActivated( [in] com::sun::star::lang::EventObject e );
+
+
+ /** is invoked when a window is deactivated.
+
+ <p>A window is deactivated if a child or itself lost the focus.</p>
+
+ @see XFocusListener::focusLost
+ */
+ void windowDeactivated( [in] com::sun::star::lang::EventObject e );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XAdjustmentListener.idl b/offapi/com/sun/star/awt/XAdjustmentListener.idl
new file mode 100644
index 000000000..f91736fb5
--- /dev/null
+++ b/offapi/com/sun/star/awt/XAdjustmentListener.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_awt_XAdjustmentListener_idl__
+#define __com_sun_star_awt_XAdjustmentListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+
+#include <com/sun/star/awt/AdjustmentEvent.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** makes it possible to receive adjustment events.
+ */
+published interface XAdjustmentListener: com::sun::star::lang::XEventListener
+{
+
+ /** is invoked when the adjustment has changed.
+ */
+ void adjustmentValueChanged( [in] com::sun::star::awt::AdjustmentEvent rEvent );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XAnimatedImages.idl b/offapi/com/sun/star/awt/XAnimatedImages.idl
new file mode 100644
index 000000000..722a00126
--- /dev/null
+++ b/offapi/com/sun/star/awt/XAnimatedImages.idl
@@ -0,0 +1,167 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_awt_XAnimatedImages_idl__
+#define __com_sun_star_awt_XAnimatedImages_idl__
+
+#include <com/sun/star/container/XContainerListener.idl>
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#include <com/sun/star/container/XContainer.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+module com { module sun { module star { module awt {
+
+
+/** allows administrating a set of images, to be displayed as animated seres.
+
+ <p>Components implementing this interface maintain a variable number of image sets. Components displaying
+ those images will choose the best-fitting image set depending on the available space, and possibly other
+ restrictions.</p>
+
+ @since OOo 3.4
+ */
+interface XAnimatedImages
+{
+ /** specifies the time in milliseconds between two animation steps.
+
+ <p>This is the minimum time, the actual value might be longer due to
+ system load. The default value will be 100 ms.</p>
+ */
+ [attribute] long StepTime;
+
+ /** specifies whether the animation should start over with the first image of the image series when the last image
+ has been played.
+
+ <p>The default value for this attribute is `TRUE`.</p>
+ */
+ [attribute] boolean AutoRepeat;
+
+ /** controls the way the images are scaled up or down, when the available space is larger or smaller
+ than what is needed for them.
+
+ <p>Allowed values are those from the ImageScaleMode constants group.</p>
+ */
+ [attribute] short ScaleMode
+ {
+ set raises (::com::sun::star::lang::IllegalArgumentException);
+ };
+
+ /** returns the number of images sets maintained by the component.
+ */
+ long
+ getImageSetCount();
+
+ /** returns the URLs of the image set with the given index
+
+ @param iIndex
+ the index of the set those image URLs are to be retrieved. Must be greater than or equal to <code>0</code>,
+ and smaller than the value returned by getImageSetCount().
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the <code>iIndex</code> is not a valid index.
+ */
+ sequence< string >
+ getImageSet
+ (
+ [in] long iIndex
+ )
+ raises
+ (
+ ::com::sun::star::lang::IndexOutOfBoundsException
+ );
+
+ /** sets the URLs of the image set with the given index
+
+ @param iIndex
+ the index at which a new image set should be inserted. Must be greater than or equal to <code>0</code>,
+ and smaller than or equal to the value returned by getImageSetCount().
+ @param iImageURLs
+ the URLs for the images for the given set. Will be resolved using a com::sun::star::graphic::GraphicProvider.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the <code>iIndex</code> is not a valid index.
+ */
+ void
+ insertImageSet
+ (
+ [in] long iIndex,
+ [in] sequence< string > iImageURLs
+ )
+ raises
+ (
+ ::com::sun::star::lang::IndexOutOfBoundsException
+ );
+
+ /** replaces the image set given by index with a new one
+
+ @param iIndex
+ the index of the set those image URLs are to be replaced. Must be greater than or equal to <code>0</code>,
+ and smaller than the value returned by getImageSetCount().
+
+ @param iImageURLs
+ the URLs for the images for the given set. Will be resolved using a com::sun::star::graphic::GraphicProvider.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the <code>iIndex</code> is not a valid index.
+ */
+ void
+ replaceImageSet
+ (
+ [in] long iIndex,
+ [in] sequence< string > iImageURLs
+ )
+ raises
+ (
+ ::com::sun::star::lang::IndexOutOfBoundsException
+ );
+
+
+ /** removes the image set with the given index
+
+ @param iIndex
+ the index of the set to remove. Must be greater than or equal to <code>0</code>,
+ and smaller than the value returned by getImageSetCount().
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the <code>iIndex</code> is not a valid index.
+ */
+ void
+ removeImageSet
+ (
+ [in] long iIndex
+ )
+ raises
+ (
+ ::com::sun::star::lang::IndexOutOfBoundsException
+ );
+
+
+ /** allows other components to observer the insertion, removal, and replacement of image sets
+ */
+ interface ::com::sun::star::container::XContainer;
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XAnimation.idl b/offapi/com/sun/star/awt/XAnimation.idl
new file mode 100644
index 000000000..cd3bc76a4
--- /dev/null
+++ b/offapi/com/sun/star/awt/XAnimation.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_awt_XAnimation_idl__
+#define __com_sun_star_awt_XAnimation_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module awt {
+
+
+/** allows controlling an animation.
+
+ @since OOo 3.4
+ */
+interface XAnimation
+{
+ /** starts the animation
+ */
+ void startAnimation();
+
+ /** stops the animation
+ */
+ void stopAnimation();
+
+ /** determines whether the animation is currently running
+ */
+ boolean isAnimationRunning();
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XBitmap.idl b/offapi/com/sun/star/awt/XBitmap.idl
new file mode 100644
index 000000000..92d0da4c5
--- /dev/null
+++ b/offapi/com/sun/star/awt/XBitmap.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_awt_XBitmap_idl__
+#define __com_sun_star_awt_XBitmap_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/awt/Size.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** provides a bitmap in the Microsoft DIB format.
+ */
+published interface XBitmap: com::sun::star::uno::XInterface
+{
+
+ /** returns the size of the bitmap in pixel.
+ */
+ com::sun::star::awt::Size getSize();
+
+
+ /** returns the device independent bitmap.
+ */
+ sequence<byte> getDIB();
+
+
+ /** returns the transparency mask of the device independent bitmap.
+ */
+ sequence<byte> getMaskDIB();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XButton.idl b/offapi/com/sun/star/awt/XButton.idl
new file mode 100644
index 000000000..3840d4076
--- /dev/null
+++ b/offapi/com/sun/star/awt/XButton.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_awt_XButton_idl__
+#define __com_sun_star_awt_XButton_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/awt/XActionListener.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** makes it possible to set the label of a button and to register for action events.
+ */
+published interface XButton: com::sun::star::uno::XInterface
+{
+
+ /** registers an event handler for button action events.
+ */
+ void addActionListener( [in] com::sun::star::awt::XActionListener l );
+
+
+ /** unregisters an event handler for button action events.
+ */
+ void removeActionListener( [in] com::sun::star::awt::XActionListener l );
+
+
+ /** sets the label of the button.
+ */
+ void setLabel( [in] string Label );
+
+
+ /** sets a command string for pushing the button.
+
+ @param Command
+ value can be used to detect which button is pressed.
+ */
+ void setActionCommand( [in] string Command );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XCallback.idl b/offapi/com/sun/star/awt/XCallback.idl
new file mode 100644
index 000000000..4432f3e64
--- /dev/null
+++ b/offapi/com/sun/star/awt/XCallback.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_awt_XCallback_idl__
+#define __com_sun_star_awt_XCallback_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module awt {
+
+
+/** specifies an interface which can be used to call back
+ an implementation
+ */
+interface XCallback
+{
+
+ /** notifies the callback implementation
+
+ @param aData
+ private data which was provided when the callback was requested.
+ */
+ void notify( [in] any aData );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XCheckBox.idl b/offapi/com/sun/star/awt/XCheckBox.idl
new file mode 100644
index 000000000..bac7f31a9
--- /dev/null
+++ b/offapi/com/sun/star/awt/XCheckBox.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_awt_XCheckBox_idl__
+#define __com_sun_star_awt_XCheckBox_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/awt/XItemListener.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** gives access to the state of a check box and makes it possible
+ to register for events.
+ */
+published interface XCheckBox: com::sun::star::uno::XInterface
+{
+
+ /** registers a listener for item events.
+ */
+ void addItemListener( [in] com::sun::star::awt::XItemListener l );
+
+
+ /** unregisters a listener for item events.
+ */
+ void removeItemListener( [in] com::sun::star::awt::XItemListener l );
+
+
+ /** returns the state of the check box.
+
+ @see com::sun::star::awt::UnoControlCheckBoxModel::State
+ */
+ short getState();
+
+
+ /** sets the state of the check box.
+
+ @see com::sun::star::awt::UnoControlCheckBoxModel::State
+ */
+ void setState( [in] short n );
+
+
+ /** sets the label of the check box.
+ */
+ void setLabel( [in] string Label );
+
+
+ /** enables or disables the tri state mode.
+ */
+ void enableTriState( [in] boolean b );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XComboBox.idl b/offapi/com/sun/star/awt/XComboBox.idl
new file mode 100644
index 000000000..67b69e1c1
--- /dev/null
+++ b/offapi/com/sun/star/awt/XComboBox.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_awt_XComboBox_idl__
+#define __com_sun_star_awt_XComboBox_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/awt/XItemListener.idl>
+
+#include <com/sun/star/awt/XActionListener.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** gives access to the items of a combo box and makes it possible to
+ register item and action event listeners.
+ */
+published interface XComboBox: com::sun::star::uno::XInterface
+{
+
+ /** registers a listener for item events.
+ */
+ void addItemListener( [in] com::sun::star::awt::XItemListener l );
+
+
+ /** unregisters a listener for item events.
+ */
+ void removeItemListener( [in] com::sun::star::awt::XItemListener l );
+
+
+ /** registers a listener for action events.
+ */
+ void addActionListener( [in] com::sun::star::awt::XActionListener l );
+
+
+ /** unregisters a listener for action events.
+ */
+ void removeActionListener( [in] com::sun::star::awt::XActionListener l );
+
+
+ /** adds an item at the specified position.
+ */
+ void addItem( [in] string aItem, [in] short nPos );
+
+
+ /** adds multiple items at the specified position.
+ */
+ void addItems( [in] sequence<string> aItems, [in] short nPos );
+
+
+ /** removes a number of items at the specified position.
+ */
+ void removeItems( [in] short nPos, [in] short nCount );
+
+
+ /** returns the number of items in the combo box.
+ */
+ short getItemCount();
+
+
+ /** returns the item at the specified position.
+ */
+ string getItem( [in] short nPos );
+
+
+ /** returns all items of the combo box.
+ */
+ sequence<string> getItems();
+
+
+ /** returns the number of visible lines in the drop down mode.
+ */
+ short getDropDownLineCount();
+
+
+ /** sets the number of visible lines for drop down mode.
+ */
+ void setDropDownLineCount( [in] short nLines );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XContainerWindowEventHandler.idl b/offapi/com/sun/star/awt/XContainerWindowEventHandler.idl
new file mode 100644
index 000000000..96d268f3d
--- /dev/null
+++ b/offapi/com/sun/star/awt/XContainerWindowEventHandler.idl
@@ -0,0 +1,91 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_awt_XContainerWindowEventHandler_idl__
+#define __com_sun_star_awt_XContainerWindowEventHandler_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/awt/XWindow.idl>
+#include <com/sun/star/lang/WrappedTargetException.idl>
+
+
+
+module com { module sun { module star { module awt {
+
+
+/** Handles events fired by windows represented by a
+ com::sun::star::awt::XWindow interface.
+ */
+interface XContainerWindowEventHandler : ::com::sun::star::uno::XInterface {
+
+
+ /** Handles an event generated by a window.
+
+ The implementation must be aware that the EventObject argument contains types
+ which it is not prepared to handle. Similarly this applies for the MethodName
+ argument. In this case the method should simply return false.
+
+ @param xWindow
+ the window instance that generated the event. If used in the scope of
+ com::sun::star::awt::XContainerWindowProvider this
+ is the same window instance that was returned by the createContainerWindow
+ method when passing the XContainerWindowEventHandler instance receiving the
+ event as handler parameter.
+
+ @param EventObject
+ an object describing the event which occurred in the window or anything else that
+ provides additional information for the event.
+ If the event was caused by the window or any of the controls which it contains
+ then the any should contain an object derived from
+ com::sun::star::lang::EventObject. Typically this would be one
+ of the several com::sun::star::awt::*Event types.
+
+ @param MethodName
+ the name of the function which is to be called.
+
+ @returns
+ true if the event was handled, otherwise false.
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if the implementation of the method, which is determined by the argument MethodName,
+ throws an exception. This exception is then wrapped into a
+ com::sun::star::lang::WrappedTargetException.
+
+ */
+ boolean callHandlerMethod(
+ [in] com::sun::star::awt::XWindow xWindow,
+ [in] any EventObject,
+ [in] string MethodName)
+ raises(com::sun::star::lang::WrappedTargetException);
+
+
+ /** returns a sequence of supported method names
+
+ @returns
+ all method names that will be accepted in calls to callHandlerMethod.
+ */
+ sequence<string> getSupportedMethodNames();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XContainerWindowProvider.idl b/offapi/com/sun/star/awt/XContainerWindowProvider.idl
new file mode 100644
index 000000000..454b575e8
--- /dev/null
+++ b/offapi/com/sun/star/awt/XContainerWindowProvider.idl
@@ -0,0 +1,115 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_awt_XContainerWindowProvider_idl__
+#define __com_sun_star_awt_XContainerWindowProvider_idl__
+
+#include <com/sun/star/awt/XWindow.idl>
+#include <com/sun/star/awt/XWindowPeer.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+module com { module sun { module star { module awt {
+
+
+/** provides container windows implementing the
+ com::sun::star::awt::XWindow interface.
+ */
+interface XContainerWindowProvider : ::com::sun::star::uno::XInterface {
+
+
+ /** creates a window for the given URL
+
+ @param URL
+ is the URL.
+
+ @param WindowType
+ Type of Window to be created,
+ for future use, not supported yet
+
+ @param xParent
+ a valid XWindowPeer reference which is used as a parent.
+ This parameter must not be null.
+
+ @param xHandler
+ is the interface that will be called to handle the Events that
+ are generated by the window (and all controls placed on it) and
+ bound to the handler using a vnd.sun.star.UNO URL specifying a
+ handler method to be called. Usually this will be done directly
+ by the user.
+
+ xHandler can handle events in two different ways:
+
+ 1. By supporting the com::sun::star::awt::XContainerWindowEventHandler
+ interface. This is a generic interface to accept event notifications.
+
+ 2. By providing interfaces that directly implement the handler
+ methods to be called. The XContainerWindowProvider implementation then
+ will try to access these events using the
+ com::sun::star::beans::IntrospectionIntrospection
+ service. To make this possible the handler implementation also has to
+ support com::sun::star::lang::XTypeProvider.
+
+ If XContainerWindowEventHandler is supported XContainerWindowEventHandler.callHandlerMethod()
+ is always called first to handle the event. Only if the event cannot be
+ handled by XContainerWindowEventHandler (callHandlerMethod() then has to return
+ false) or if XContainerWindowEventHandler is not supported at all the Introspection
+ based access will be used.
+
+ The Introspection based access tries to call a method named according to the
+ HandlerMethodName specified by a
+ <code>vnd.sun.star.UNO:<i>HandlerMethodName</i></code> URL.
+ First a method
+
+ void HandlerMethodName( [in] com::sun::star::awt::XWindow xWindow, [in] any aEvent )
+
+ will be searched. The signature is similar to XContainerWindowEventHandler.
+ callHandlerMethod except for MethodName itself that isn't needed
+ here. For more information about these parameters, see
+ com::sun::star::awt::XContainerWindowEventHandler.
+
+ If this method is found, it will be called, otherwise a method
+
+ void HandlerMethodName( void )
+
+ will be searched and called.
+
+ @returns
+ a window implementing the com::sun::star::awt::XWindow interface.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if no window for the given URL is found or if the URL is invalid
+ or xParent is null.
+
+ @see com::sun::star::awt::XContainerWindowEventHandler
+
+ */
+ com::sun::star::awt::XWindow createContainerWindow
+ ( [in] string URL, [in] string WindowType,
+ [in] com::sun::star::awt::XWindowPeer xParent,
+ [in] com::sun::star::uno::XInterface xHandler )
+ raises ( com::sun::star::lang::IllegalArgumentException );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XControl.idl b/offapi/com/sun/star/awt/XControl.idl
new file mode 100644
index 000000000..cc00f48e9
--- /dev/null
+++ b/offapi/com/sun/star/awt/XControl.idl
@@ -0,0 +1,115 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_awt_XControl_idl__
+#define __com_sun_star_awt_XControl_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/awt/XToolkit.idl>
+
+#include <com/sun/star/awt/XWindowPeer.idl>
+
+#include <com/sun/star/awt/XControlModel.idl>
+
+#include <com/sun/star/awt/XView.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** identifies a control.
+
+ <p>Implementations of this interface are abstract windows.
+ The main reason to instantiate this implementation is to show the window
+ on the screen. Before the window appears on the screen, the
+ XControl::createPeer() method must be called.</p>
+
+ <p>If the implementation of the control does not distinguish
+ between model, view and controller, it must allow to set
+ a new XGraphics in the view, so that the control can be printed.</p>
+ */
+published interface XControl: com::sun::star::lang::XComponent
+{
+
+ /** sets the context of the control.
+ */
+ void setContext( [in] com::sun::star::uno::XInterface Context );
+
+
+ /** gets the context of the control.
+ */
+ com::sun::star::uno::XInterface getContext();
+
+
+ /** creates a "child" window on the screen.
+
+ <p>If the parent is NULL, then the desktop window of the toolkit
+ is the parent.</p>
+ */
+ void createPeer( [in] com::sun::star::awt::XToolkit Toolkit,
+ [in] com::sun::star::awt::XWindowPeer Parent );
+
+
+ /** returns the peer which was previously created or set.
+ */
+ com::sun::star::awt::XWindowPeer getPeer();
+
+
+ /** sets a model for the control.
+ */
+ boolean setModel( [in] com::sun::star::awt::XControlModel Model );
+
+
+ /** returns the model for this control.
+ */
+ com::sun::star::awt::XControlModel getModel();
+
+
+ /** returns the view of this control.
+ */
+ com::sun::star::awt::XView getView();
+
+
+ /** sets the design mode for use in a design editor.
+
+ <p>Normally the control will be painted directly without a peer.</p>
+ */
+ void setDesignMode( [in] boolean bOn );
+
+
+ /** returns `TRUE` if the control is in design mode, `FALSE` otherwise.
+ */
+ boolean isDesignMode();
+
+
+ /** returns `TRUE` if the control is transparent, `FALSE` otherwise.
+ */
+ boolean isTransparent();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XControlContainer.idl b/offapi/com/sun/star/awt/XControlContainer.idl
new file mode 100644
index 000000000..8c31ce879
--- /dev/null
+++ b/offapi/com/sun/star/awt/XControlContainer.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_awt_XControlContainer_idl__
+#define __com_sun_star_awt_XControlContainer_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/awt/XControl.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** Provides access to the controls within an
+ UnoControlContainer.
+ */
+published interface XControlContainer: com::sun::star::uno::XInterface
+{
+
+ /** sets the status text in the status bar of the container.
+ */
+ void setStatusText( [in] string StatusText );
+
+
+ /** returns all controls.
+ */
+ sequence<com::sun::star::awt::XControl> getControls();
+
+
+ /** returns the control with the specified name.
+ */
+ com::sun::star::awt::XControl getControl( [in] string aName );
+
+
+ /** adds the given control with the specified name to the container.
+ */
+ void addControl( [in] string Name,
+ [in] com::sun::star::awt::XControl Control );
+
+
+ /** removes the given control from the container.
+ */
+ void removeControl( [in] com::sun::star::awt::XControl Control );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XControlModel.idl b/offapi/com/sun/star/awt/XControlModel.idl
new file mode 100644
index 000000000..b2ef34908
--- /dev/null
+++ b/offapi/com/sun/star/awt/XControlModel.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_awt_XControlModel_idl__
+#define __com_sun_star_awt_XControlModel_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** identifies a control model.
+ */
+published interface XControlModel: com::sun::star::uno::XInterface
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XCurrencyField.idl b/offapi/com/sun/star/awt/XCurrencyField.idl
new file mode 100644
index 000000000..88cf88068
--- /dev/null
+++ b/offapi/com/sun/star/awt/XCurrencyField.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_awt_XCurrencyField_idl__
+#define __com_sun_star_awt_XCurrencyField_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** gives access to the value and formatting of a currency field.
+ */
+published interface XCurrencyField: com::sun::star::uno::XInterface
+{
+
+ /** sets the value which is displayed in the currency field.
+ */
+ void setValue( [in] double Value );
+
+
+ /** returns the value which is currently displayed in the currency field.
+ */
+ double getValue();
+
+
+ /** sets the minimum value that can be entered by the user.
+ */
+ void setMin( [in] double Value );
+
+
+ /** returns the currently set minimum value that can be entered by the
+ user.
+ */
+ double getMin();
+
+
+ /** sets the maximum value that can be entered by the user.
+ */
+ void setMax( [in] double Value );
+
+
+ /** returns the currently set maximum value that can be entered by the
+ user.
+ */
+ double getMax();
+
+
+ /** sets the first value to be set on POS1 key.
+ */
+ void setFirst( [in] double Value );
+
+
+ /** returns the currently set first value which is set on POS1 key.
+ */
+ double getFirst();
+
+
+ /** sets the last value to be set on END key.
+ */
+ void setLast( [in] double Value );
+
+
+ /** returns the currently set last value which is set on END key.
+ */
+ double getLast();
+
+
+ /** sets the increment value for the spin button.
+ */
+ void setSpinSize( [in] double Value );
+
+
+ /** returns the currently set increment value for the spin button.
+ */
+ double getSpinSize();
+
+
+ /** sets the number of decimals.
+ */
+ void setDecimalDigits( [in] short nDigits );
+
+
+ /** returns the currently set number of decimals.
+ */
+ short getDecimalDigits();
+
+
+ /** determines if the format is checked during user input.
+ */
+ void setStrictFormat( [in] boolean bStrict );
+
+
+ /** returns whether the format is currently checked during user input.
+ */
+ boolean isStrictFormat();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XDataTransferProviderAccess.idl b/offapi/com/sun/star/awt/XDataTransferProviderAccess.idl
new file mode 100644
index 000000000..573535597
--- /dev/null
+++ b/offapi/com/sun/star/awt/XDataTransferProviderAccess.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_awt_XDataTransferProviderAccess_idl__
+#define __com_sun_star_awt_XDataTransferProviderAccess_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module datatransfer {
+module dnd {
+ published interface XDragGestureRecognizer;
+ published interface XDragSource;
+ published interface XDropTarget;
+};
+module clipboard {
+ published interface XClipboard;
+};
+}; }; }; };
+
+
+module com { module sun { module star { module awt {
+
+ published interface XWindow;
+
+
+/** This interface extends the XToolkit interface with clipboard and
+ drag-and-drop support.
+*/
+published interface XDataTransferProviderAccess: com::sun::star::uno::XInterface
+{
+
+ /** returns the drag gesture recognizer of the specified window.
+
+ @returns the drag gesture recognizer.
+
+ @param window
+ a window created by the same toolkit instance.
+ */
+ com::sun::star::datatransfer::dnd::XDragGestureRecognizer getDragGestureRecognizer( [in] XWindow window );
+
+
+ /** returns the drag source of the specified window.
+
+ @returns the drag source.
+
+ @param window
+ a window created by the same toolkit instance.
+ */
+ com::sun::star::datatransfer::dnd::XDragSource getDragSource( [in] XWindow window );
+
+
+ /** returns the drop target of the specified window.
+
+ @returns the drop target.
+
+ @param window
+ a window created by the same toolkit instance.
+ */
+ com::sun::star::datatransfer::dnd::XDropTarget getDropTarget( [in] XWindow window );
+
+
+ /** returns the specified clipboard.
+
+ @returns the specified clipboard (if available).
+
+ @param clipboardName
+ the name of the clipboard to return.
+ If an empty string is passed in, the default clipboard is returned.
+ */
+ com::sun::star::datatransfer::clipboard::XClipboard getClipboard( [in] string clipboardName );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XDateField.idl b/offapi/com/sun/star/awt/XDateField.idl
new file mode 100644
index 000000000..72d1c80f9
--- /dev/null
+++ b/offapi/com/sun/star/awt/XDateField.idl
@@ -0,0 +1,123 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_awt_XDateField_idl__
+#define __com_sun_star_awt_XDateField_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/util/Date.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** gives access to the value and settings of a date field.
+ */
+published interface XDateField: com::sun::star::uno::XInterface
+{
+
+ /** sets the date value which is displayed in the date field.
+ */
+ void setDate( [in] ::com::sun::star::util::Date Date );
+
+
+ /** returns the date value which is currently displayed in the date field.
+ */
+ ::com::sun::star::util::Date getDate();
+
+
+ /** sets the minimum date value that can be entered by the user.
+ */
+ void setMin( [in] ::com::sun::star::util::Date Date );
+
+
+ /** returns the currently set minimum date value that can be entered by
+ the user.
+ */
+ ::com::sun::star::util::Date getMin();
+
+
+ /** sets the maximum date value that can be entered by the user.
+ */
+ void setMax( [in] ::com::sun::star::util::Date Date );
+
+
+ /** returns the currently set maximum date value that can be entered by
+ the user.
+ */
+ ::com::sun::star::util::Date getMax();
+
+
+ /** sets the first value to be set on POS1 key.
+ */
+ void setFirst( [in] ::com::sun::star::util::Date Date );
+
+
+ /** returns the currently set first value which is set on POS1 key.
+ */
+ ::com::sun::star::util::Date getFirst();
+
+
+ /** sets the last value to be set on END key.
+ */
+ void setLast( [in] ::com::sun::star::util::Date Date );
+
+
+ /** returns the currently set last value which is set on END key.
+ */
+ ::com::sun::star::util::Date getLast();
+
+
+ /** determines if the long date format is to be used.
+ */
+ void setLongFormat( [in] boolean bLong );
+
+
+ /** determines if the long date format is currently used.
+ */
+ boolean isLongFormat();
+
+
+ /** sets an empty value for the date.
+ */
+ void setEmpty();
+
+
+ /** returns whether currently an empty value is set for the date.
+ */
+ boolean isEmpty();
+
+
+ /** determines if the format is checked during user input.
+ */
+ void setStrictFormat( [in] boolean bStrict );
+
+
+ /** returns whether the format is currently checked during user input.
+ */
+ boolean isStrictFormat();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XDevice.idl b/offapi/com/sun/star/awt/XDevice.idl
new file mode 100644
index 000000000..b9b43ae76
--- /dev/null
+++ b/offapi/com/sun/star/awt/XDevice.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_awt_XDevice_idl__
+#define __com_sun_star_awt_XDevice_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/awt/DeviceInfo.idl>
+
+#include <com/sun/star/awt/FontDescriptor.idl>
+
+
+ module com { module sun { module star { module awt {
+
+ published interface XGraphics;
+ published interface XFont;
+ published interface XBitmap;
+ published interface XDisplayBitmap;
+
+
+/** provides information about a graphical output device and
+ offers a factory for the <em>graphics</em> which provides write
+ operations on the device.
+ */
+published interface XDevice: com::sun::star::uno::XInterface
+{
+
+ /** creates a new graphics whose output operation is directed to this
+ device.
+ */
+ XGraphics createGraphics();
+
+
+ /** creates a new device which is compatible with this one.
+
+ <p>If the device does not support the GETBITS device capability,
+ this method returns `NULL`.</p>
+ */
+ XDevice createDevice( [in] long nWidth,
+ [in] long nHeight );
+
+
+ /** returns information about the device.
+ */
+ com::sun::star::awt::DeviceInfo getInfo();
+
+
+ /** returns the list of available font descriptors.
+ */
+ sequence<FontDescriptor> getFontDescriptors();
+
+
+ /** returns information about a font offered by this device.
+
+ @returns the font of this device.
+
+ @param aDescriptor
+ specifies the description of a font.
+ The unit of measure is pixel for this device.
+ */
+ com::sun::star::awt::XFont getFont( [in] FontDescriptor aDescriptor );
+
+
+ /** creates a bitmap with the current device depth.
+
+ <p>If the specified area does not lie entirely in the device, the bits
+ outside are not specified.</p>
+ */
+ XBitmap createBitmap( [in] long nX,
+ [in] long nY,
+ [in] long nWidth,
+ [in] long nHeight );
+
+
+ /** creates a device compatible bitmap.
+
+ <p>The data of the bitmap is in process memory instead of in the device,
+ so that the output operation is fast.</p>
+ */
+ XDisplayBitmap createDisplayBitmap( [in] XBitmap Bitmap );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XDialog.idl b/offapi/com/sun/star/awt/XDialog.idl
new file mode 100644
index 000000000..5a9492472
--- /dev/null
+++ b/offapi/com/sun/star/awt/XDialog.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_awt_XDialog_idl__
+#define __com_sun_star_awt_XDialog_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** makes it possible to show and hide a dialog and gives access to
+ the title of the dialog.
+ */
+published interface XDialog: com::sun::star::uno::XInterface
+{
+
+ /** sets the title of the dialog.
+ */
+ void setTitle( [in] string Title );
+
+
+ /** gets the title of the dialog.
+ */
+ string getTitle();
+
+
+ /** runs the dialog modally: shows it, and waits for the execution to end.
+ Returns an exit code (e.g., indicating the button that was used to end the execution).
+ */
+ short execute();
+
+
+ /** hides the dialog and then causes XDialog::execute()
+ to return.
+ */
+ void endExecute();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XDialog2.idl b/offapi/com/sun/star/awt/XDialog2.idl
new file mode 100644
index 000000000..b39dfed5f
--- /dev/null
+++ b/offapi/com/sun/star/awt/XDialog2.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_awt_XDialog2_idl__
+#define __com_sun_star_awt_XDialog2_idl__
+
+#include <com/sun/star/awt/XDialog.idl>
+
+
+
+module com { module sun { module star { module awt {
+
+
+/** Makes it possible to end a dialog and set a help id.
+
+ @since OOo 3.0
+ */
+published interface XDialog2: com::sun::star::awt::XDialog
+{
+ /** hides the dialog and then causes XDialog::execute()
+ to return with the given result value.
+ */
+ void endDialog ( [in] long Result );
+ /** sets the help id so that the standard help button action will
+ show the appropriate help page.
+ */
+ void setHelpId ( [in] string Id );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XDialogEventHandler.idl b/offapi/com/sun/star/awt/XDialogEventHandler.idl
new file mode 100644
index 000000000..f4a7316ca
--- /dev/null
+++ b/offapi/com/sun/star/awt/XDialogEventHandler.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_awt_XDialogEventHandler_idl__
+#define __com_sun_star_awt_XDialogEventHandler_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/awt/XDialog.idl>
+#include <com/sun/star/lang/WrappedTargetException.idl>
+
+
+
+module com { module sun { module star { module awt {
+
+
+/** Handles events fired by dialogs represented by a
+ com::sun::star::awt::XDialog interface.
+ */
+interface XDialogEventHandler : ::com::sun::star::uno::XInterface {
+
+
+ /** Handles an event generated by a dialog.
+
+ The implementation must be aware that the EventObject argument contains types
+ which it is not prepared to handle. Similarly this applies for the MethodName
+ argument. In this case the method should simply return false.
+
+ @param xDialog
+ the dialog instance that generated the event. This is the same dialog instance
+ that was returned by the com::sun::star::awt::XDialogProvider2
+ createDialogWithHandler method when passing the XDialogEventHandler instance
+ receiving the event as handler parameter.
+
+ @param EventObject
+ an object describing the event which occurred in the dialog or anything else that
+ provides additional information for the event.
+ If the event was caused by the dialog or any of the controls which it contains
+ then the any should contain an object derived from
+ com::sun::star::lang::EventObject. Typically this would be one
+ of the several com::sun::star::awt::*Event types.
+
+ @param MethodName
+ the name of the function which is to be called.
+
+ @returns
+ true if the event was handled, otherwise false.
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if the implementation of the method, which is determined by the argument MethodName,
+ throws an exception. This exception is then wrapped into a
+ com::sun::star::lang::WrappedTargetException.
+
+ */
+ boolean callHandlerMethod(
+ [in] com::sun::star::awt::XDialog xDialog,
+ [in] any EventObject,
+ [in] string MethodName)
+ raises(com::sun::star::lang::WrappedTargetException);
+
+
+ /** returns a sequence of supported method names
+
+ @returns
+ all method names that will be accepted in calls to callHandlerMethod.
+ */
+ sequence<string> getSupportedMethodNames();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XDialogProvider.idl b/offapi/com/sun/star/awt/XDialogProvider.idl
new file mode 100644
index 000000000..018fdf1ba
--- /dev/null
+++ b/offapi/com/sun/star/awt/XDialogProvider.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_awt_XDialogProvider_idl__
+#define __com_sun_star_awt_XDialogProvider_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/awt/XDialog.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+
+module com { module sun { module star { module awt {
+
+
+/** provides dialogs implementing the
+ com::sun::star::awt::XDialog interface.
+ */
+interface XDialogProvider : ::com::sun::star::uno::XInterface {
+
+
+ /** creates a dialog for the given URL.
+
+ @param URL
+ is the URL.
+
+ @returns
+ a dialog implementing the com::sun::star::awt::XDialog interface.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if no dialog for the given URL is found or if the URL is invalid.
+ */
+ com::sun::star::awt::XDialog createDialog( [in] string URL )
+ raises ( com::sun::star::lang::IllegalArgumentException );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XDialogProvider2.idl b/offapi/com/sun/star/awt/XDialogProvider2.idl
new file mode 100644
index 000000000..7365e1196
--- /dev/null
+++ b/offapi/com/sun/star/awt/XDialogProvider2.idl
@@ -0,0 +1,123 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_awt_XDialogProvider2_idl__
+#define __com_sun_star_awt_XDialogProvider2_idl__
+
+#include <com/sun/star/awt/XDialogProvider.idl>
+#include <com/sun/star/beans/NamedValue.idl>
+
+
+
+module com { module sun { module star { module awt {
+
+
+/** provides dialogs implementing the
+ com::sun::star::awt::XDialog interface.
+ */
+interface XDialogProvider2 : ::com::sun::star::awt::XDialogProvider {
+
+
+ /** creates a dialog for the given URL accepting an Interface used
+ to handle dialog events.
+
+ @param URL
+ is the URL.
+
+ @param xHandler
+ is the interface that will be called to handle the Events that
+ are generated by the dialog (and all controls placed on it) and
+ bound to the handler using a vnd.sun.star.UNO URL specifying a
+ handler method to be called. Usually this will be done directly
+ by the user.
+
+ xHandler can handle events in two different ways:
+
+ 1. By supporting the com::sun::star::awt::XDialogEventHandler interface.
+ This is a generic interface to accept event notifications.
+
+ 2. By providing interfaces that directly implement the handler
+ methods to be called. The XDialogProvider2 implementation then
+ will try to access these events using the
+ com::sun::star::beans::IntrospectionIntrospection
+ service. To make this possible the handler implementation also has to
+ support com::sun::star::lang::XTypeProvider.
+
+ If XDialogEventHandler is supported XDialogEventHandler.callHandlerMethod()
+ is always called first to handle the event. Only if the event cannot be
+ handled by XDialogEventHandler (callHandlerMethod() then has to return
+ false) or if XDialogEventHandler is not supported at all the Introspection
+ based access will be used.
+
+ The Introspection based access tries to call a method named according to the
+ HandlerMethodName specified by a
+ <code>vnd.sun.star.UNO:<i>HandlerMethodName</i></code> URL.
+ First a method
+
+ void HandlerMethodName( [in] com::sun::star::awt::XDialog xDialog, [in] any aEvent )
+
+ will be searched. The signature is similar to XDialogEventHandler.
+ callHandlerMethod except for MethodName itself that isn't needed
+ here. For more information about these parameters, see
+ com::sun::star::awt::XDialogEventHandler.
+
+ If this method is found, it will be called, otherwise a method
+
+ void HandlerMethodName( void )
+
+ will be searched and called.
+
+ @returns
+ a dialog implementing the com::sun::star::awt::XDialog interface.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if no dialog for the given URL is found or if the URL is invalid
+ or xHandler is null.
+
+ @see com::sun::star::awt::XDialogEventHandler
+
+ */
+ com::sun::star::awt::XDialog createDialogWithHandler
+ ( [in] string URL, [in] com::sun::star::uno::XInterface xHandler )
+ raises ( com::sun::star::lang::IllegalArgumentException );
+
+ /** creates a dialog for the given URL, accepting additional creation parameters
+
+ <p>The arguments accepted so far are
+ <ul><li><em>ParentWindow</em> - must be a component supporting the XWindowPeer interface,
+ or a component supporting the XControl interface, so an <code>XWindowPeer</code> can be
+ obtained from it. The given window will be used as parent window for the to-be-created dialog.</li>
+ <li><em>EventHandler</em> - specifies a component handling events in the dialog. See
+ createDialogWithHandler() for a detailed specification of dialog event handling.</li>
+ </ul>
+ </p>
+ */
+
+ XDialog createDialogWithArguments
+ ( [in] string URL,
+ [in] sequence< ::com::sun::star::beans::NamedValue > Arguments )
+ raises ( com::sun::star::lang::IllegalArgumentException );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XDisplayBitmap.idl b/offapi/com/sun/star/awt/XDisplayBitmap.idl
new file mode 100644
index 000000000..7ce17dd6e
--- /dev/null
+++ b/offapi/com/sun/star/awt/XDisplayBitmap.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_awt_XDisplayBitmap_idl__
+#define __com_sun_star_awt_XDisplayBitmap_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies an object as a bitmap for which data is formatted for
+ a specific output device.
+
+ <p>Drawing of this bitmap is only valid on a compatible device.</p>
+ */
+published interface XDisplayBitmap: com::sun::star::uno::XInterface
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XDisplayConnection.idl b/offapi/com/sun/star/awt/XDisplayConnection.idl
new file mode 100644
index 000000000..f9960f629
--- /dev/null
+++ b/offapi/com/sun/star/awt/XDisplayConnection.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_awt_XDisplayConnection_idl__
+#define __com_sun_star_awt_XDisplayConnection_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module awt {
+
+ published interface XEventHandler;
+
+
+/** This interface should be implemented by toolkits that want to give access
+ to their internal message handling loop.
+*/
+published interface XDisplayConnection: com::sun::star::uno::XInterface
+{
+
+ /** registers an event handler.
+
+ @param window
+ the platform specific window id. If empty, the handler should be
+ registered for all windows.
+
+ @param eventHandler
+ the handler to register.
+
+ @param eventMask
+ the event mask specifies the events the handler is interested in.
+ */
+ void addEventHandler( [in] any window, [in] XEventHandler eventHandler, [in] long eventMask );
+
+
+ /** removes an eventHandler from the handler list.
+
+ @param window
+ the platform specific window id the handler should be unregistered for.
+ If empty, the handler should be unregistered completely.
+
+ @param eventHandler
+ the handler to remove.
+ */
+ void removeEventHandler( [in] any window, [in] XEventHandler eventHandler );
+
+
+ /** register an error handler for toolkit specific errors.
+
+ @param errorHandler
+ the handler to register.
+ */
+ void addErrorHandler( [in] XEventHandler errorHandler );
+
+
+ /** remover an error handler from the handler list.
+
+ @param errorHandler
+ the handler to remove.
+ */
+ void removeErrorHandler( [in] XEventHandler errorHandler );
+
+
+ /** returns an identifier.
+
+ @returns a unique platform dependent identifier for a display connection.
+ */
+ any getIdentifier();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XDockableWindow.idl b/offapi/com/sun/star/awt/XDockableWindow.idl
new file mode 100644
index 000000000..d34289a5b
--- /dev/null
+++ b/offapi/com/sun/star/awt/XDockableWindow.idl
@@ -0,0 +1,124 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_awt_XDockableWindow_idl__
+#define __com_sun_star_awt_XDockableWindow_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/awt/XDockableWindowListener.idl>
+#include <com/sun/star/awt/Rectangle.idl>
+
+
+module com { module sun { module star { module awt {
+
+
+/** specifies the docking interface for a window component.
+
+ <p>A window can either be docked where it resides as a child window in
+ an application frame window or it can be floating where it will
+ reside in its own decorated top level window.
+ </p>
+ */
+interface XDockableWindow : com::sun::star::uno::XInterface
+{
+
+ /** adds a docking listener to the object.
+ only a single listener may be registered at any time.
+ */
+ void addDockableWindowListener( [in] com::sun::star::awt::XDockableWindowListener xListener );
+
+
+ /** removes the specified docking listener from the object.
+ */
+ void removeDockableWindowListener( [in] com::sun::star::awt::XDockableWindowListener xListener );
+
+
+ /** enable or disable docking, docking is disabled by default
+
+ @param bEnable
+ `TRUE` specifies that docking is enabled
+ `FALSE` specifies that docking is disabled and no
+ com::sun::star::awt::XDockableWindowListener will be called
+ */
+ void enableDocking( [in] boolean bEnable );
+
+
+ /** queries the current window state
+ @returns
+ `TRUE` if the window is floating
+ `FALSE` if the window is docked
+ */
+ boolean isFloating();
+
+
+ /** toggle between floating and docked state
+ @param bFloating
+ specifies the new floating mode:
+ `TRUE` means floating, `FALSE` means docked
+ */
+ void setFloatingMode( [in] boolean bFloating );
+
+
+ /** prevents the window from being undocked
+ this has no effect if the window is floating
+ */
+ void lock();
+
+
+ /** enables undocking
+ this has no effect if the window is floating
+ */
+ void unlock();
+
+
+ /** queries the current locking state
+ @returns
+ `TRUE` if the window is locked
+ `FALSE` if the window is not locked
+ */
+ boolean isLocked();
+
+
+ /** shows the window in a menu like style, i.e. without decoration
+ a special indicator will allow for tearing off the window
+ see com::sun::star::awt::XDockableWindowListener for
+ the corresponding events
+ @param WindowRect
+ specifies the position and size of the pop-up window in frame coordinates
+
+ @deprecated - doesn't do anything
+ */
+ void startPopupMode( [in] com::sun::star::awt::Rectangle WindowRect );
+
+
+ /** queries the current pop-up mode
+ @returns
+ `TRUE` if the window is in pop-up mode
+ `FALSE` if the window is not in pop-up mode
+
+ @deprecated - always returns `FALSE`
+ */
+ boolean isInPopupMode();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XDockableWindowListener.idl b/offapi/com/sun/star/awt/XDockableWindowListener.idl
new file mode 100644
index 000000000..f901bd36b
--- /dev/null
+++ b/offapi/com/sun/star/awt/XDockableWindowListener.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_awt_XDockableWindowListener_idl__
+#define __com_sun_star_awt_XDockableWindowListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+#include <com/sun/star/awt/DockingData.idl>
+#include <com/sun/star/awt/EndDockingEvent.idl>
+#include <com/sun/star/awt/DockingEvent.idl>
+#include <com/sun/star/awt/EndPopupModeEvent.idl>
+#include <com/sun/star/lang/EventObject.idl>
+
+
+module com { module sun { module star { module awt {
+
+
+/** makes it possible to receive docking events.
+ */
+interface XDockableWindowListener: com::sun::star::lang::XEventListener
+{
+
+ /** is invoked when the docking procedure starts.
+ */
+ void startDocking( [in] com::sun::star::awt::DockingEvent e );
+
+
+ /** is invoked during the docking procedure when the window has been moved.
+
+ on return the DockingData must contain either the old tracking rectangle
+ or a changed rectangle if required, additionally it must indicate if
+ the window should be docked or floating
+
+ Note: the tracking rectangle indicates to the user where the window would
+ be placed if he releases the mouse.
+
+ */
+ DockingData docking( [in] com::sun::star::awt::DockingEvent e );
+
+
+ /** is invoked when the docking procedure ends.
+ aWindowRect contains the new position and size of the window
+ */
+ void endDocking( [in] com::sun::star::awt::EndDockingEvent e );
+
+
+ /** is invoked when the floating mode is about to be changed between
+ floating and docked or vice versa
+
+ if returned FALSE the floating mode will not be changed
+ */
+ boolean prepareToggleFloatingMode( [in] com::sun::star::lang::EventObject e );
+
+
+ /** is invoked when the floating mode is changed between
+ floating and docked or vice versa
+ */
+ void toggleFloatingMode( [in] com::sun::star::lang::EventObject e );
+
+
+ /** is invoked when the window was actively closed
+ */
+ void closed( [in] com::sun::star::lang::EventObject e );
+
+
+ /** is invoked when the window currently is in pop-up mode and wants to be undocked
+ or closed
+ */
+ void endPopupMode( [in] com::sun::star::awt::EndPopupModeEvent e );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XEnhancedMouseClickHandler.idl b/offapi/com/sun/star/awt/XEnhancedMouseClickHandler.idl
new file mode 100644
index 000000000..daba7a928
--- /dev/null
+++ b/offapi/com/sun/star/awt/XEnhancedMouseClickHandler.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_awt_XEnhancedMouseClickHandler_idl__
+#define __com_sun_star_awt_XEnhancedMouseClickHandler_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+#include <com/sun/star/awt/EnhancedMouseEvent.idl>
+
+
+
+module com { module sun { module star { module awt {
+
+
+/** makes it possible to receive enhanced events from the mouse.
+
+ @since OOo 2.0
+
+ */
+published interface XEnhancedMouseClickHandler: ::com::sun::star::lang::XEventListener
+{
+
+ /** is invoked when a mouse button has been pressed on a window.
+ */
+ boolean mousePressed( [in] com::sun::star::awt::EnhancedMouseEvent e );
+
+
+ /** is invoked when a mouse button has been released on a window.
+ */
+ boolean mouseReleased( [in] com::sun::star::awt::EnhancedMouseEvent e );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XEventHandler.idl b/offapi/com/sun/star/awt/XEventHandler.idl
new file mode 100644
index 000000000..6efacb4b4
--- /dev/null
+++ b/offapi/com/sun/star/awt/XEventHandler.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_awt_XEventHandler_idl__
+#define __com_sun_star_awt_XEventHandler_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module awt {
+
+
+/** This interface can be implemented by clients that need access to the
+ toolkits window message loop.
+*/
+published interface XEventHandler: com::sun::star::uno::XInterface
+{
+
+
+ /** requests the implementor of this interface to handle a platform
+ dependent event.
+
+ @returns `TRUE` if the event was handled properly and no further
+ handling should take place, `FALSE` otherwise.
+
+ @param event
+ the platform dependent event.
+ */
+ boolean handleEvent( [in] any event );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XExtendedToolkit.idl b/offapi/com/sun/star/awt/XExtendedToolkit.idl
new file mode 100644
index 000000000..56662975a
--- /dev/null
+++ b/offapi/com/sun/star/awt/XExtendedToolkit.idl
@@ -0,0 +1,195 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_awt_XExtendedToolkit_idl__
+#define __com_sun_star_awt_XExtendedToolkit_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/awt/XTopWindow.idl>
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#include <com/sun/star/awt/XTopWindowListener.idl>
+#include <com/sun/star/awt/XKeyHandler.idl>
+#include <com/sun/star/awt/XFocusListener.idl>
+
+
+
+module com { module sun { module star { module awt {
+
+
+/** The XExtendedToolkit is an extension of the
+ ::com::sun::star::awt::XToolkit interface. It basically
+ provides access to three event broadcasters which are used for instance
+ in the context of accessibility. It is, however, not restricted to
+ accessibility.
+
+ <p>The first event broadcaster lets you keep track of the open top-level
+ windows (frames). To get the set of currently open top-level window use
+ the XExtendedToolkit::getTopWindowCount() and
+ XExtendedToolkit::getTopWindow() methods.</p>
+
+ <p>The second event broadcaster informs its listeners of key events.
+ Its listeners can, unlike with most other broadcasters/listeners,
+ consume events, so that other listeners will not be called for consumed
+ events.</p>
+
+ <p>The last event broadcaster sends events on focus changes of all
+ elements that can have the input focus.</p>
+
+ @deprecated
+ This interface was only implemented in an intermediate developer
+ release anyway.
+
+ @since OOo 1.1.2
+*/
+published interface XExtendedToolkit : ::com::sun::star::uno::XInterface
+{
+
+ /** This function returns the number of currently existing top-level
+ windows.
+ @return
+ Returns the number of top-level windows. This includes all
+ top-level windows, regardless of whether they are iconized,
+ visible, or active.
+ */
+ long getTopWindowCount ();
+
+
+ /** Return a reference to the specified top-level window. Note that the
+ number of top-level windows may change between a call to
+ getTopWindowCount() and successive calls to this
+ function.
+ @param nIndex
+ The index should be in the interval from 0 up to but not
+ including the number of top-level windows as returned by
+ getTopWindowCount().
+ @return
+ The returned value is a valid reference to a top-level window.
+ @throws IndexOutOfBoundsException
+ when the specified index is outside the valid range.
+ */
+ ::com::sun::star::awt::XTopWindow getTopWindow ([in] long nIndex)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+
+ /** Return the currently active top-level window, i.e. which has
+ currently the input focus.
+ @return
+ The returned reference may be empty when no top-level window is
+ active.
+ */
+ ::com::sun::star::awt::XTopWindow getActiveTopWindow ();
+
+ /** Add a new listener that is called for events that involve
+ ::com::sun::star::awt::XTopWindow. After having
+ obtained the current list of existing top-level windows you can
+ keep this list up-to-date by listening to opened or closed top-level
+ windows. Wait for activations or deactivations of top-level windows
+ to keep track of the currently active frame.
+ @param xListener
+ If this is a valid reference it is inserted into the list of
+ listeners. It is the task of the caller to not register the
+ same listener twice (otherwise that listener will be called
+ twice.)
+ */
+ void addTopWindowListener (
+ [in] ::com::sun::star::awt::XTopWindowListener xListener);
+
+
+ /** Remove the specified listener from the list of listeners.
+ @param xListener
+ If the reference is empty then nothing will be changed. If the
+ listener has been registered twice (or more) then all references
+ will be removed.
+ */
+ void removeTopWindowListener (
+ [in] ::com::sun::star::awt::XTopWindowListener xListener);
+
+
+ /** Add a new listener that is called on
+ ::com::sun::star::awt::KeyEvent. Every listener is
+ given the opportunity to consume the event, i.e. prevent the not yet
+ called listeners from being called.
+ @param xHandler
+ If this is a valid reference it is inserted into the list of
+ handlers. It is the task of the caller to not register the
+ same handler twice (otherwise that listener will be called
+ twice.)
+ */
+ void addKeyHandler (
+ [in] ::com::sun::star::awt::XKeyHandler xHandler);
+
+
+ /** Remove the specified listener from the list of listeners.
+ @param xHandler
+ If the reference is empty then nothing will be changed. If the
+ handler has been registered twice (or more) then all references
+ will be removed.
+ */
+ void removeKeyHandler (
+ [in] ::com::sun::star::awt::XKeyHandler xHandler);
+
+
+ /** Add a new listener that is called on
+ ::com::sun::star::awt::FocusEvent. Use this focus
+ broadcaster to keep track of the object that currently has the input
+ focus.
+ @param xListener
+ If this is a valid reference it is inserted into the list of
+ listeners. It is the task of the caller to not register the
+ same listener twice (otherwise that listener will be called
+ twice.)
+ */
+ void addFocusListener (
+ [in] ::com::sun::star::awt::XFocusListener xListener);
+
+
+ /** Remove the specified listener from the list of listeners.
+ @param xListener
+ If the reference is empty then nothing will be changed. If the
+ listener has been registered twice (or more) then all references
+ will be removed.
+ */
+ void removeFocusListener (
+ [in] ::com::sun::star::awt::XFocusListener xListener);
+
+
+ /** Broadcasts the a focusGained on all registered focus listeners
+ @param source
+ The object that has gained the input focus. It should implement
+ com::sun::star::accessibility::XAccessible.
+ */
+ void fireFocusGained (
+ [in] ::com::sun::star::uno::XInterface source);
+
+
+ /** Broadcasts the a focusGained on all registered focus listeners
+ @param source
+ The object that has lost the input focus. It should implement
+ com::sun::star::accessibility::XAccessible.
+ */
+ void fireFocusLost (
+ [in] ::com::sun::star::uno::XInterface source);
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XFileDialog.idl b/offapi/com/sun/star/awt/XFileDialog.idl
new file mode 100644
index 000000000..acf5f7a3f
--- /dev/null
+++ b/offapi/com/sun/star/awt/XFileDialog.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_awt_XFileDialog_idl__
+#define __com_sun_star_awt_XFileDialog_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** gives access to a file dialog.
+
+ @deprecated
+ */
+published interface XFileDialog: com::sun::star::uno::XInterface
+{
+
+ /** sets the path.
+ */
+ void setPath( [in] string Path );
+
+
+ /** returns the path.
+ */
+ string getPath();
+
+
+ /** sets the filters.
+ */
+ void setFilters( [in] sequence<string> rFilterNames,
+ [in] sequence<string> rMasks );
+
+
+ /** sets the current filter.
+ */
+ void setCurrentFilter( [in] string Filter );
+
+
+ /** returns the currently selected filter.
+ */
+ string getCurrentFilter();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XFixedHyperlink.idl b/offapi/com/sun/star/awt/XFixedHyperlink.idl
new file mode 100644
index 000000000..280b846bf
--- /dev/null
+++ b/offapi/com/sun/star/awt/XFixedHyperlink.idl
@@ -0,0 +1,86 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_awt_XFixedHyperlink_idl__
+#define __com_sun_star_awt_XFixedHyperlink_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/awt/XActionListener.idl>
+
+
+ module com { module sun { module star { module awt {
+
+
+/** gives access to the text and formatting of a fixed hyperlink field.
+ */
+interface XFixedHyperlink: com::sun::star::uno::XInterface
+{
+
+ /** sets the text of the control.
+ */
+ void setText( [in] string Text );
+
+
+ /** returns the text of the control.
+ */
+ string getText();
+
+
+ /** sets the url of the control.
+ */
+ void setURL( [in] string URL );
+
+
+ /** returns the url of the control.
+ */
+ string getURL();
+
+
+ /** sets the alignment of the text in the control.
+
+ <pre>
+ 0: left
+ 1: center
+ 2: right
+ </pre>
+ */
+ void setAlignment( [in] short nAlign );
+
+
+ /** returns the alignment of the text in the control.
+ */
+ short getAlignment();
+
+
+ /** registers an event handler for click action event.
+ */
+ void addActionListener( [in] com::sun::star::awt::XActionListener l );
+
+
+ /** unregisters an event handler for click action event.
+ */
+ void removeActionListener( [in] com::sun::star::awt::XActionListener l );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XFixedText.idl b/offapi/com/sun/star/awt/XFixedText.idl
new file mode 100644
index 000000000..3ad14b2de
--- /dev/null
+++ b/offapi/com/sun/star/awt/XFixedText.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_awt_XFixedText_idl__
+#define __com_sun_star_awt_XFixedText_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** gives access to the text and formatting of a fixed text field.
+ */
+published interface XFixedText: com::sun::star::uno::XInterface
+{
+
+ /** sets the text of the control.
+ */
+ void setText( [in] string Text );
+
+
+ /** returns the text of the control.
+ */
+ string getText();
+
+
+ /** sets the alignment of the text in the control.
+
+ <pre>
+ 0: left
+ 1: center
+ 2: right
+ </pre>
+ */
+ void setAlignment( [in] short nAlign );
+
+
+ /** returns the alignment of the text in the control.
+ */
+ short getAlignment();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XFocusListener.idl b/offapi/com/sun/star/awt/XFocusListener.idl
new file mode 100644
index 000000000..1b80fd3c8
--- /dev/null
+++ b/offapi/com/sun/star/awt/XFocusListener.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_awt_XFocusListener_idl__
+#define __com_sun_star_awt_XFocusListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+
+#include <com/sun/star/awt/FocusEvent.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** makes it possible to receive keyboard focus events.
+
+ <p>The window which has the keyboard focus is the window which gets
+ the keyboard events.</p>
+ */
+published interface XFocusListener: com::sun::star::lang::XEventListener
+{
+
+ /** is invoked when a window gains the keyboard focus.
+
+ @see XActivateListener::windowActivated
+ */
+ void focusGained( [in] com::sun::star::awt::FocusEvent e );
+
+
+ /** is invoked when a window loses the keyboard focus.
+
+ @see XActivateListener::windowDeactivated
+ */
+ void focusLost( [in] com::sun::star::awt::FocusEvent e );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XFont.idl b/offapi/com/sun/star/awt/XFont.idl
new file mode 100644
index 000000000..2045ea74b
--- /dev/null
+++ b/offapi/com/sun/star/awt/XFont.idl
@@ -0,0 +1,107 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_awt_XFont_idl__
+#define __com_sun_star_awt_XFont_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/awt/FontDescriptor.idl>
+
+#include <com/sun/star/awt/SimpleFontMetric.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** describes a font on a specific device.
+
+ <p>All values are in pixels within this device.</p>
+ */
+published interface XFont: com::sun::star::uno::XInterface
+{
+
+ /** returns the description of the font.
+
+ <p>The unit of measurement is pixels for the device.
+ */
+ com::sun::star::awt::FontDescriptor getFontDescriptor();
+
+
+ /** returns additional information about the font.
+ */
+ com::sun::star::awt::SimpleFontMetric getFontMetric();
+
+
+ /** returns the width of the specified character.
+
+ @returns
+ the character width measured in pixels for the device.
+ */
+ short getCharWidth( [in] char c );
+
+
+ /** returns the widths of the specified characters.
+
+ @returns
+ a sequence of the widths of subsequent characters for this font.
+ */
+ sequence<short> getCharWidths( [in] char nFirst, [in] char nLast );
+
+
+ /** returns the string width.
+
+ @returns
+ the width of the specified string of characters
+ measured in pixels for the device.
+ */
+ long getStringWidth( [in] string str );
+
+
+ /** returns the string and the character widths.
+
+ @returns
+ the width of the specified string of characters
+ measured in pixels for the device.
+
+ @param str
+ the input string.
+
+ @param aDXArray
+ receives the width of every single character
+ measured in pixels for the device.
+ */
+ long getStringWidthArray( [in] string str,
+ [out] sequence<long> aDXArray );
+
+
+ /** queries the kerning pair table.
+ */
+ void getKernPairs( [out] sequence<char> Chars1,
+ [out] sequence<char> Chars2,
+ [out] sequence<short> Kerns );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XFont2.idl b/offapi/com/sun/star/awt/XFont2.idl
new file mode 100644
index 000000000..c75ff2e60
--- /dev/null
+++ b/offapi/com/sun/star/awt/XFont2.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_awt_XFont2_idl__
+#define __com_sun_star_awt_XFont2_idl__
+
+#include <com/sun/star/awt/XFont.idl>
+
+
+module com { module sun { module star { module awt {
+
+
+/** extends the XFont interface and provides additional
+ information for a font.
+
+ @since OOo 3.0
+ */
+interface XFont2: com::sun::star::awt::XFont
+{
+
+ /** checks whether or not this font has all the glyphs for the text
+ specified by aText.
+
+ @param aText
+ The specified text for which glyphs are needed.
+
+ @return
+ Returns whether or not this font has all the glyphs for the
+ specified text.
+ */
+ boolean hasGlyphs( [in] string aText );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XFontMappingUse.idl b/offapi/com/sun/star/awt/XFontMappingUse.idl
new file mode 100644
index 000000000..8140d6a78
--- /dev/null
+++ b/offapi/com/sun/star/awt/XFontMappingUse.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_awt_XFontMappingUse_idl__
+#define __com_sun_star_awt_XFontMappingUse_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/awt/XFontMappingUseItem.idl>
+
+module com { module sun { module star { module awt {
+
+/**
+ This interface extends the XToolkit interface with support
+ for tracking how requested fonts are mapped to actual fonts
+ when laying out text.
+ @since LibreOffice 7.3
+*/
+published interface XFontMappingUse: com::sun::star::uno::XInterface
+{
+ /**
+ Activate tracking of how requested fonts are mapped to available
+ fonts.
+ */
+ void startTrackingFontMappingUse();
+
+ /**
+ Stop tracking of how requested fonts are mapped to available
+ fonts and return the mappings that took place since the call
+ to startTrackingFontMappingUse().
+ */
+ sequence<XFontMappingUseItem> finishTrackingFontMappingUse();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XFontMappingUseItem.idl b/offapi/com/sun/star/awt/XFontMappingUseItem.idl
new file mode 100644
index 000000000..2cb5a8936
--- /dev/null
+++ b/offapi/com/sun/star/awt/XFontMappingUseItem.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_awt_XFontMappingUseItem_idl__
+#define __com_sun_star_awt_XFontMappingUseItem_idl__
+
+module com { module sun { module star { module awt {
+
+/**
+ Information about a font mapping that took place.
+ @since LibreOffice 7.3
+*/
+published struct XFontMappingUseItem
+{
+ /**
+ The family name or 'familyName/styleName' (if style name is not empty)
+ of the requested font.
+ */
+ string originalFont;
+
+ /**
+ A list of fonts that were actually used, in their order. Each font
+ is identified as family name or 'familyName/styleName' (if style
+ name is not empty).
+ */
+ sequence<string> usedFonts;
+
+ /**
+ The number of times this mapping took place.
+ */
+ long count;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XGraphics.idl b/offapi/com/sun/star/awt/XGraphics.idl
new file mode 100644
index 000000000..c3311737c
--- /dev/null
+++ b/offapi/com/sun/star/awt/XGraphics.idl
@@ -0,0 +1,236 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_awt_XGraphics_idl__
+#define __com_sun_star_awt_XGraphics_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/util/Color.idl>
+#include <com/sun/star/awt/SimpleFontMetric.idl>
+#include <com/sun/star/awt/FontDescriptor.idl>
+#include <com/sun/star/awt/RasterOperation.idl>
+#include <com/sun/star/awt/Gradient.idl>
+
+
+module com { module sun { module star { module awt {
+
+published interface XRegion;
+published interface XDisplayBitmap;
+published interface XFont;
+published interface XDevice;
+
+
+/** provides the basic output operation of a device.
+ */
+published interface XGraphics: com::sun::star::uno::XInterface
+{
+ /** returns the device of this graphics.
+ */
+ XDevice getDevice();
+
+ /** returns the font metric of the current font.
+ */
+ SimpleFontMetric getFontMetric();
+
+ /** sets the font used by text operations.
+ */
+ void setFont( [in] XFont xNewFont );
+
+ /** creates a new font and sets the font.
+ */
+ void selectFont( [in] FontDescriptor aDescription );
+
+ /** sets the text color used by text operations.
+ */
+ void setTextColor( [in] com::sun::star::util::Color nColor );
+
+ /** sets the fill color used by text operations.
+ */
+ void setTextFillColor( [in] com::sun::star::util::Color nColor );
+
+ /** sets the line color.
+ */
+ void setLineColor( [in] com::sun::star::util::Color nColor );
+
+ /** sets the fill color.
+ */
+ void setFillColor( [in] com::sun::star::util::Color nColor );
+
+ /** sets the raster operation.
+
+ <p>If the device does not support raster operations
+ then this call is ignored.</p>
+ */
+ void setRasterOp( [in] RasterOperation ROP );
+
+ /** sets the clip region to specified clipping.
+ */
+ void setClipRegion( [in] XRegion Clipping );
+
+ /** builds the intersection with the current region.
+ */
+ void intersectClipRegion( [in] XRegion xClipping );
+
+ /** saves all current settings (Font, TextColor, TextFillColor,
+ LineColor, FillColor, RasterOp, ClipRegion).
+ */
+ void push();
+
+ /** restores all previous saved settings.
+ */
+ void pop();
+
+ /** copies a rectangle of pixels from another device into this one.
+ */
+ void copy( [in] XDevice xSource,
+ [in] long nSourceX,
+ [in] long nSourceY,
+ [in] long nSourceWidth,
+ [in] long nSourceHeight,
+ [in] long nDestX,
+ [in] long nDestY,
+ [in] long nDestWidth,
+ [in] long nDestHeight );
+
+ /** draws a part of the specified bitmap to the output device.
+ */
+ void draw( [in] XDisplayBitmap xBitmapHandle,
+ [in] long SourceX,
+ [in] long SourceY,
+ [in] long SourceWidth,
+ [in] long SourceHeight,
+ [in] long DestX,
+ [in] long DestY,
+ [in] long DestWidth,
+ [in] long DestHeight );
+
+ /** sets a single pixel in the output device.
+ */
+ void drawPixel( [in] long X,
+ [in] long Y );
+
+ /** draws a line in the output device.
+ */
+ void drawLine( [in] long X1,
+ [in] long Y1,
+ [in] long X2,
+ [in] long Y2 );
+
+ /** draws a rectangle in the output device.
+ */
+ void drawRect( [in] long X,
+ [in] long Y,
+ [in] long Width,
+ [in] long Height );
+
+ /** draws a rectangle with rounded corners in the output device.
+ */
+ void drawRoundedRect( [in] long X,
+ [in] long Y,
+ [in] long Width,
+ [in] long Height,
+ [in] long nHorzRound,
+ [in] long nVertRound );
+
+ /** draws multiple lines in the output device at once.
+ */
+ void drawPolyLine( [in] sequence<long> DataX,
+ [in] sequence<long> DataY );
+
+ /** draws a polygon line in the output device.
+ */
+ void drawPolygon( [in] sequence<long> DataX,
+ [in] sequence<long> DataY );
+
+ /** draws multiple polygons in the output device at once.
+ */
+ void drawPolyPolygon( [in] sequence< sequence<long> > DataX,
+ [in] sequence< sequence<long> > DataY );
+
+ /** draws an ellipse in the output device.
+ */
+ void drawEllipse( [in] long X,
+ [in] long Y,
+ [in] long Width,
+ [in] long Height );
+
+ /** draws an arc (part of a circle) in the output device.
+ */
+ void drawArc( [in] long X,
+ [in] long Y,
+ [in] long Width,
+ [in] long Height,
+ [in] long X1,
+ [in] long Y1,
+ [in] long X2,
+ [in] long Y2 );
+
+ /** draws a circular area in the output device.
+ */
+ void drawPie( [in] long X,
+ [in] long Y,
+ [in] long Width,
+ [in] long Height,
+ [in] long X1,
+ [in] long Y1,
+ [in] long X2,
+ [in] long Y2 );
+
+ /** draws a chord of a circular area in the output device.
+
+ <p>A chord is a segment of a circle. You get two chords from a
+ circle if you intersect the circle with a straight line
+ joining two points on the circle.</p>
+ */
+ void drawChord( [in] long nX,
+ [in] long nY,
+ [in] long nWidth,
+ [in] long nHeight,
+ [in] long nX1,
+ [in] long nY1,
+ [in] long nX2,
+ [in] long nY2 );
+
+ /** draws a color dispersion in the output device.
+ */
+ void drawGradient( [in] long nX,
+ [in] long nY,
+ [in] long nWidth,
+ [in] long Height,
+ [in] Gradient aGradient );
+
+ /** draws text in the output device.
+ */
+ void drawText( [in] long X,
+ [in] long Y,
+ [in] string Text );
+
+ /** draws texts in the output device using an explicit kerning table.
+ */
+ void drawTextArray( [in] long X,
+ [in] long Y,
+ [in] string Text,
+ [in] sequence<long> Longs );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XGraphics2.idl b/offapi/com/sun/star/awt/XGraphics2.idl
new file mode 100644
index 000000000..7460bf29b
--- /dev/null
+++ b/offapi/com/sun/star/awt/XGraphics2.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_awt_XGraphics2_idl__
+#define __com_sun_star_awt_XGraphics2_idl__
+
+#include <com/sun/star/awt/XGraphics.idl>
+#include <com/sun/star/awt/Rectangle.idl>
+#include <com/sun/star/graphic/XGraphic.idl>
+
+module com { module sun { module star { module awt {
+
+/** provides the basic output operation of a device.
+ */
+published interface XGraphics2: com::sun::star::awt::XGraphics
+{
+ /** clears the given rectangle on the device
+
+ @since LibreOffice 4.1
+ */
+ void clear( [in] Rectangle aRect );
+
+
+ /** draws a com::sun::star::graphic::XGraphic
+ in the output device.
+
+ <p>Note that some devices may not support this operation.</p>
+
+ @since LibreOffice 4.1
+
+ @param nX
+ the X coordinate on the device where the graphic will be drawn
+
+ @param nY
+ the Y coordinate on the device where the graphic will be drawn
+
+ @param nWidth
+ the width of the region on the device
+
+ @param nHeight
+ the height of the region on the device
+
+ @param nStyle
+ the style used to draw the image.
+ See com::sun::star::awt::ImageDrawMode.
+
+ @param aGraphic
+ the com::sun::star::graphic::XGraphic
+ to be drawn onto the device
+ */
+ void drawImage( [in] long nX,
+ [in] long nY,
+ [in] long nWidth,
+ [in] long nHeight,
+ [in] short nStyle,
+ [in] ::com::sun::star::graphic::XGraphic aGraphic );
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XImageButton.idl b/offapi/com/sun/star/awt/XImageButton.idl
new file mode 100644
index 000000000..9e78f6fbf
--- /dev/null
+++ b/offapi/com/sun/star/awt/XImageButton.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_awt_XImageButton_idl__
+#define __com_sun_star_awt_XImageButton_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/awt/XActionListener.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** makes it possible to register for action events of an image button
+ and sets the action command.
+ */
+published interface XImageButton: com::sun::star::uno::XInterface
+{
+
+ /** registers a listener for action events.
+ */
+ void addActionListener( [in] com::sun::star::awt::XActionListener l );
+
+
+ /** unregisters a listener for action events.
+ */
+ void removeActionListener( [in] com::sun::star::awt::XActionListener l );
+
+
+ /** sets the action command string.
+ */
+ void setActionCommand( [in] string Command );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XImageConsumer.idl b/offapi/com/sun/star/awt/XImageConsumer.idl
new file mode 100644
index 000000000..54b3a08d3
--- /dev/null
+++ b/offapi/com/sun/star/awt/XImageConsumer.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_awt_XImageConsumer_idl__
+#define __com_sun_star_awt_XImageConsumer_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+ module com { module sun { module star { module awt {
+
+ published interface XImageProducer;
+
+
+/** specifies a data sink for an image.
+
+ <p>An image consumer is a component which wants to display or just
+ receive an image from an image producer.</p>
+
+ @see XImageProducer
+ */
+published interface XImageConsumer: com::sun::star::uno::XInterface
+{
+
+ /** initializes the consumer with image dimensions.
+ */
+ void init( [in] long Width,
+ [in] long Height );
+
+
+ /** changes color model for next pixels
+ typically called once after initialization.
+ */
+ void setColorModel( [in] short BitCount,
+ [in] sequence<long> RGBAPal,
+ [in] long RedMask,
+ [in] long GreenMask,
+ [in] long BlueMask,
+ [in] long AlphaMask );
+
+
+ /** delivers a chunk of pixels as `long` values.
+
+ <p>The pixels of the image are delivered using one or more calls
+ to this method. Each call specifies the location and size of the
+ rectangle of source pixels that are contained in the array of pixels.
+ The specified color model object should be used to convert
+ the pixels into their corresponding color and alpha components. Pixel
+ (m,n) is stored in the pixels array at index (n * <var>nScanSize</var>
+ + m + nOffset).</p>
+ */
+ void setPixelsByBytes( [in] long nX,
+ [in] long nY,
+ [in] long nWidth,
+ [in] long nHeight,
+ [in] sequence<byte> aProducerData,
+ [in] long nOffset,
+ [in] long nScanSize );
+
+
+ /** delivers a chunk of pixels as `byte` values.
+
+ <p>The pixels of the image are delivered using one or more calls
+ to this method. Each call specifies the location and size of the
+ rectangle of source pixels that are contained in the array of pixels.
+ The specified color model object should be used to convert
+ the pixels into their corresponding color and alpha components. Pixel
+ (m,n) is stored in the pixels array at index (n * <var>nScanSize</var>
+ + m + nOffset).</p>
+ */
+ void setPixelsByLongs( [in] long nX,
+ [in] long nY,
+ [in] long nWidth,
+ [in] long nHeight,
+ [in] sequence<long> aProducerData,
+ [in] long nOffset,
+ [in] long nScanSize );
+
+
+ /** is called for the notification of the degree to which the
+ image is delivered.
+
+ <p>The complete method is called when the image producer
+ has finished delivering all of the pixels that the source image
+ contains, or when a single frame of a multi-frame animation has
+ been completed, or when an error in loading or producing the
+ image has occurred. The image consumer should remove itself from the
+ list of consumers registered with the image producer
+ at this time, unless it is interested in successive frames.</p>
+ */
+ void complete( [in] long Status,
+ [in] XImageProducer xProducer );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XImageProducer.idl b/offapi/com/sun/star/awt/XImageProducer.idl
new file mode 100644
index 000000000..d81a90013
--- /dev/null
+++ b/offapi/com/sun/star/awt/XImageProducer.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_awt_XImageProducer_idl__
+#define __com_sun_star_awt_XImageProducer_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/awt/XImageConsumer.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies a source for an image.
+ */
+published interface XImageProducer: com::sun::star::uno::XInterface
+{
+
+ /** registers an image consumer with the image producer for accessing
+ the image data during a later reconstruction of the image.
+
+ <p>The image producer may, at its discretion, start delivering the
+ image data to the consumer using the XImageConsumer
+ interface immediately, or when the next available image reconstruction
+ is triggered by a call to the startProduction method.</p>
+ */
+ void addConsumer( [in] com::sun::star::awt::XImageConsumer xConsumer );
+
+
+ /** removes the given com::sun::star::awt::XImageConsumer
+ callback from the list of consumers currently registered to receive
+ image data.
+
+ <p>It is not considered an error to remove a consumer that is not
+ currently registered. The image producer should stop sending data
+ to this consumer as soon as it is feasible.</p>
+ */
+ void removeConsumer( [in] com::sun::star::awt::XImageConsumer xConsumer );
+
+
+ /** registers the given image consumer as a consumer
+ and starts an immediate reconstruction of the image data.
+
+ <p>The image data will then be delivered to this consumer and any other
+ consumer which may have already been registered with the producer.
+ This method differs from the addConsumer method in that a reproduction of
+ the image data should be triggered as soon as possible.</p>
+ */
+ void startProduction();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XInfoPrinter.idl b/offapi/com/sun/star/awt/XInfoPrinter.idl
new file mode 100644
index 000000000..577d88268
--- /dev/null
+++ b/offapi/com/sun/star/awt/XInfoPrinter.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_awt_XInfoPrinter_idl__
+#define __com_sun_star_awt_XInfoPrinter_idl__
+
+#include <com/sun/star/awt/XPrinterPropertySet.idl>
+
+#include <com/sun/star/awt/XDevice.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** represents an information printer.
+ */
+published interface XInfoPrinter: com::sun::star::awt::XPrinterPropertySet
+{
+
+ /** creates a new object which implements an XDevice.
+
+ <p>The current settings are used as a template.</p>
+ */
+ com::sun::star::awt::XDevice createDevice();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XItemEventBroadcaster.idl b/offapi/com/sun/star/awt/XItemEventBroadcaster.idl
new file mode 100644
index 000000000..c1588c0a3
--- /dev/null
+++ b/offapi/com/sun/star/awt/XItemEventBroadcaster.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_awt_XItemEventBroadcaster_idl__
+#define __com_sun_star_awt_XItemEventBroadcaster_idl__
+
+#include <com/sun/star/awt/XItemListener.idl>
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** registers item listeners at controls like the com::sun::star::awt::Roadmap
+ */
+
+interface XItemEventBroadcaster: com::sun::star::uno::XInterface
+{
+
+ /** registers a listener for item events.
+ */
+ void addItemListener( [in] com::sun::star::awt::XItemListener l );
+
+
+ /** unregisters a listener for item events.
+ */
+ void removeItemListener( [in] com::sun::star::awt::XItemListener l );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XItemList.idl b/offapi/com/sun/star/awt/XItemList.idl
new file mode 100644
index 000000000..7f4cf3831
--- /dev/null
+++ b/offapi/com/sun/star/awt/XItemList.idl
@@ -0,0 +1,275 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_awt_XItemList_idl__
+#define __com_sun_star_awt_XItemList_idl__
+
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#include <com/sun/star/beans/Pair.idl>
+
+
+module com { module sun { module star { module awt {
+
+interface XItemListListener;
+
+
+/** provides convenient access to the list of items in a list box
+ */
+interface XItemList
+{
+ /** is the number of items in the list
+ */
+ [attribute, readonly] long ItemCount;
+
+ /** inserts a new item into the list
+
+ @param Position
+ the position at which the item should be inserted. Must be greater or equal to 0, and
+ lesser than or equal to #ItemCount.
+
+ @param ItemText
+ the text of the item to be inserted.
+
+ @param ItemImageURL
+ the URL of the image to display for the item
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if <code>Position</code> is invalid.
+ */
+ void insertItem(
+ [in] long Position,
+ [in] string ItemText,
+ [in] string ItemImageURL
+ )
+ raises ( ::com::sun::star::lang::IndexOutOfBoundsException );
+
+ /** inserts an item which has only a text, but no image
+
+ @param Position
+ the position at which the item should be inserted. Must be greater or equal to 0, and
+ lesser than or equal to #ItemCount.
+
+ @param ItemText
+ the text of the item to be inserted.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if <code>Position</code> is invalid.
+ */
+ void insertItemText(
+ [in] long Position,
+ [in] string ItemText
+ )
+ raises ( ::com::sun::star::lang::IndexOutOfBoundsException );
+
+ /** inserts an item which has only an image, but no text
+
+ @param Position
+ the position at which the item should be inserted. Must be greater or equal to 0, and
+ lesser than or equal to #ItemCount.
+
+ @param ItemImageURL
+ the URL of the image to display for the item
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if <code>Position</code> is invalid.
+ */
+ void insertItemImage(
+ [in] long Position,
+ [in] string ItemImageURL
+ )
+ raises ( ::com::sun::star::lang::IndexOutOfBoundsException );
+
+ /** removes an item from the list
+
+ @param Position
+ the position of the item which should be removed. Must be greater or equal to 0, and
+ lesser than #ItemCount.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if <code>Position</code> is invalid.
+ */
+ void removeItem(
+ [in] long Position
+ )
+ raises ( ::com::sun::star::lang::IndexOutOfBoundsException );
+
+ /** removes all items from the list
+ */
+ void removeAllItems();
+
+ /** sets a new text for an existing item
+
+ @param Position
+ the position of the item whose text is to be changed. Must be greater or equal to 0, and
+ lesser than #ItemCount.
+
+ @param ItemText
+ the new text of the item
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if <code>Position</code> is invalid.
+ */
+ void setItemText(
+ [in] long Position,
+ [in] string ItemText
+ )
+ raises ( ::com::sun::star::lang::IndexOutOfBoundsException );
+
+ /** sets a new image for an existing item
+
+ @param Position
+ the position of the item whose image is to be changed. Must be greater or equal to 0, and
+ lesser than #ItemCount.
+
+ @param ItemImageURL
+ the new URL of the image to display for the item
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if <code>Position</code> is invalid.
+ */
+ void setItemImage(
+ [in] long Position,
+ [in] string ItemImageURL
+ )
+ raises ( ::com::sun::star::lang::IndexOutOfBoundsException );
+
+ /** sets both a new position and text for an existing item
+
+ @param Position
+ the position of the item whose text and image is to be changed. Must be greater or equal to 0, and
+ lesser than #ItemCount.
+
+ @param ItemText
+ the new text of the item
+
+ @param ItemImageURL
+ the new URL of the image to display for the item
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if <code>Position</code> is invalid.
+ */
+ void setItemTextAndImage(
+ [in] long Position,
+ [in] string ItemText,
+ [in] string ItemImageURL
+ )
+ raises ( ::com::sun::star::lang::IndexOutOfBoundsException );
+
+ /** associates an implementation dependent value with the given list item.
+
+ <p>You can use this to store data for an item which does not interfere with the displayed
+ text and image, but can be used by the client of the list box for an arbitrary purpose.</p>
+
+ @param Position
+ the position of the item whose data value should be set. Must be greater or equal to 0, and
+ lesser than #ItemCount.
+
+ @param ItemData
+ the data to associate with the list item
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if <code>Position</code> is invalid.
+
+ @see getItemData
+ */
+ void setItemData(
+ [in] long Position,
+ [in] any ItemData
+ )
+ raises ( ::com::sun::star::lang::IndexOutOfBoundsException );
+
+ /** retrieves the text of an existing item
+
+ @param Position
+ the position of the item whose text should be retrieved. Must be greater or equal to 0, and
+ lesser than #ItemCount.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if <code>Position</code> is invalid.
+ */
+ string getItemText(
+ [in] long Position
+ )
+ raises ( ::com::sun::star::lang::IndexOutOfBoundsException );
+
+ /** retrieves the URL of the image of an existing item
+
+ @param Position
+ the position of the item whose image should be retrieved. Must be greater or equal to 0, and
+ lesser than #ItemCount.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if <code>Position</code> is invalid.
+ */
+ string getItemImage(
+ [in] long Position
+ )
+ raises ( ::com::sun::star::lang::IndexOutOfBoundsException );
+
+ /** retrieves both the text and the image URL of an existing item
+
+ @param Position
+ the position of the item whose text and image should be retrieved. Must be greater or equal to 0, and
+ lesser than #ItemCount.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if <code>Position</code> is invalid.
+ */
+ ::com::sun::star::beans::Pair< string, string >
+ getItemTextAndImage(
+ [in] long Position
+ )
+ raises ( ::com::sun::star::lang::IndexOutOfBoundsException );
+
+ /** retrieves the implementation dependent value associated with the given list item.
+ @param Position
+ the position of the item whose data value should be retrieved. Must be greater or equal to 0, and
+ lesser than #ItemCount.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if <code>Position</code> is invalid.
+
+ @see setItemData
+ */
+ any getItemData(
+ [in] long Position
+ )
+ raises ( ::com::sun::star::lang::IndexOutOfBoundsException );
+
+ /** retrieves the texts and images of all items in the list
+ */
+ sequence< ::com::sun::star::beans::Pair< string, string > >
+ getAllItems();
+
+ /** registers a listener which is notified about changes in the item list.
+ */
+ void addItemListListener( [in] XItemListListener Listener );
+
+ /** revokes a listener which is notified about changes in the item list.
+ */
+ void removeItemListListener( [in] XItemListListener Listener );
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XItemListListener.idl b/offapi/com/sun/star/awt/XItemListListener.idl
new file mode 100644
index 000000000..d8761517d
--- /dev/null
+++ b/offapi/com/sun/star/awt/XItemListListener.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_awt_XItemListListener_idl__
+#define __com_sun_star_awt_XItemListListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+#include <com/sun/star/awt/ItemListEvent.idl>
+
+
+module com { module sun { module star { module awt {
+
+
+/** describes a listener for changes in an item list
+ @see XListItems
+ */
+interface XItemListListener : ::com::sun::star::lang::XEventListener
+{
+ /** is called when an item is inserted into the list
+ */
+ void listItemInserted(
+ [in] ItemListEvent Event
+ );
+
+ /** is called when an item is removed from the list
+ */
+ void listItemRemoved(
+ [in] ItemListEvent Event
+ );
+
+ /** is called when an item in the list is modified, i.e. its text or image changed
+ */
+ void listItemModified(
+ [in] ItemListEvent Event
+ );
+ /** is called when the list has been completely cleared, i.e. after an invocation of
+ XItemList::removeAllItems()
+ */
+ void allItemsRemoved(
+ [in] ::com::sun::star::lang::EventObject Event
+ );
+
+ /** is called when the changes to the item list which occurred are too complex to be notified
+ in single events.
+
+ <p>Consumers of this event should discard their cached information about the current item list,
+ and completely refresh it from the XItemList's current state.</p>
+ */
+ void itemListChanged(
+ [in] ::com::sun::star::lang::EventObject Event
+ );
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XItemListener.idl b/offapi/com/sun/star/awt/XItemListener.idl
new file mode 100644
index 000000000..f34cd4c7e
--- /dev/null
+++ b/offapi/com/sun/star/awt/XItemListener.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_awt_XItemListener_idl__
+#define __com_sun_star_awt_XItemListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+
+#include <com/sun/star/awt/ItemEvent.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** makes it possible to receive events from a component
+ when the state of an item changes.
+ */
+published interface XItemListener: com::sun::star::lang::XEventListener
+{
+
+ /** is invoked when an item changes its state.
+ */
+ void itemStateChanged( [in] com::sun::star::awt::ItemEvent rEvent );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XKeyHandler.idl b/offapi/com/sun/star/awt/XKeyHandler.idl
new file mode 100644
index 000000000..a913694c3
--- /dev/null
+++ b/offapi/com/sun/star/awt/XKeyHandler.idl
@@ -0,0 +1,91 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_awt_XKeyHandler_idl__
+#define __com_sun_star_awt_XKeyHandler_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+
+#include <com/sun/star/awt/KeyEvent.idl>
+
+
+module com { module sun { module star { module awt {
+
+/** This key handler is similar to
+ ::com::sun::star::awt::XKeyListener but allows the
+ consumption of key events. If a key event is consumed by one
+ handler both the following handlers, with respect to the list of key
+ handlers of the broadcaster, and a following handling by the
+ broadcaster will not take place.
+
+ @since OOo 1.1.2
+*/
+published interface XKeyHandler : ::com::sun::star::lang::XEventListener
+{
+ /** This function is called by the broadcaster, an
+ ::com::sun::star::awt::XExtendedToolkit for
+ instance, after a key has been pressed but before it is released.
+ The return value decides about whether other handlers will be
+ called and a handling by the broadcaster will take place.
+
+ <p>Consume the event if the action performed by the implementation
+ is mutually exclusive with the default action of the broadcaster or,
+ when known, with that of other handlers.</p>
+
+ <p>Consuming this event does not prevent the pending key-release
+ event from being broadcasted.</p>
+
+ @param aEvent
+ The key event informs about the pressed key.
+ @return
+ When `FALSE` is returned the other handlers are called and a
+ following handling of the event by the broadcaster takes place.
+ Otherwise, when `TRUE` is returned, no other handler will be
+ called and the broadcaster will take no further actions
+ regarding the event.
+ */
+ boolean keyPressed ([in] com::sun::star::awt::KeyEvent aEvent);
+
+ /** This function is called by the broadcaster, an
+ ::com::sun::star::awt::XExtendedToolkit for
+ instance, after a key has been pressed and released. The return
+ value decides about whether other handlers will be called and a
+ handling by the broadcaster will take place.
+
+ <p>Consume the event if the action performed by the implementation
+ is mutually exclusive with the default action of the broadcaster or,
+ when known, with that of other handlers.</p>
+
+ @param aEvent
+ The key event informs about the pressed key.
+ @return
+ When `FALSE` is returned the other handlers are called and a
+ following handling of the event by the broadcaster takes place.
+ Otherwise, when `TRUE` is returned, no other handler will be
+ called and the broadcaster will take no further actions
+ regarding the event.
+ */
+ boolean keyReleased ([in] com::sun::star::awt::KeyEvent aEvent);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XKeyListener.idl b/offapi/com/sun/star/awt/XKeyListener.idl
new file mode 100644
index 000000000..323d5c536
--- /dev/null
+++ b/offapi/com/sun/star/awt/XKeyListener.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_awt_XKeyListener_idl__
+#define __com_sun_star_awt_XKeyListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+
+#include <com/sun/star/awt/KeyEvent.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** makes it possible to receive keyboard events.
+ *
+ * @see com::sun::star::awt::XKeyHandler This interface allows you receive (and consume) key events,
+ * even on windows which are not at the top.
+ */
+published interface XKeyListener: com::sun::star::lang::XEventListener
+{
+
+ /** is invoked when a key has been pressed.
+ */
+ void keyPressed( [in] com::sun::star::awt::KeyEvent e );
+
+
+ /** is invoked when a key has been released.
+ */
+ void keyReleased( [in] com::sun::star::awt::KeyEvent e );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XLayoutConstrains.idl b/offapi/com/sun/star/awt/XLayoutConstrains.idl
new file mode 100644
index 000000000..80af33445
--- /dev/null
+++ b/offapi/com/sun/star/awt/XLayoutConstrains.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_awt_XLayoutConstrains_idl__
+#define __com_sun_star_awt_XLayoutConstrains_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/awt/Size.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies the layout constraints for a surrounding container.
+ */
+published interface XLayoutConstrains: com::sun::star::uno::XInterface
+{
+
+ /** returns the minimum size for this component.
+ */
+ com::sun::star::awt::Size getMinimumSize();
+
+
+ /** returns the preferred size for this component.
+ */
+ com::sun::star::awt::Size getPreferredSize();
+
+
+ /** calculates the adjusted size for a given maximum size.
+ */
+ com::sun::star::awt::Size calcAdjustedSize( [in] com::sun::star::awt::Size aNewSize );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XListBox.idl b/offapi/com/sun/star/awt/XListBox.idl
new file mode 100644
index 000000000..d11d8a08e
--- /dev/null
+++ b/offapi/com/sun/star/awt/XListBox.idl
@@ -0,0 +1,166 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_awt_XListBox_idl__
+#define __com_sun_star_awt_XListBox_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/awt/XItemListener.idl>
+
+#include <com/sun/star/awt/XActionListener.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** gives access to the items of a list box and makes it possible to
+ register item and action event listeners.
+ */
+published interface XListBox: com::sun::star::uno::XInterface
+{
+
+ /** registers a listener for item events.
+ */
+ void addItemListener( [in] com::sun::star::awt::XItemListener l );
+
+
+ /** unregisters a listener for item events.
+ */
+ void removeItemListener( [in] com::sun::star::awt::XItemListener l );
+
+
+ /** registers a listener for action events.
+ */
+ void addActionListener( [in] com::sun::star::awt::XActionListener l );
+
+
+ /** unregisters a listener for action events.
+ */
+ void removeActionListener( [in] com::sun::star::awt::XActionListener l );
+
+
+ /** adds an item at the specified position.
+ */
+ void addItem( [in] string aItem,
+ [in] short nPos );
+
+
+ /** adds multiple items at the specified position.
+ */
+ void addItems( [in] sequence<string> aItems,
+ [in] short nPos );
+
+
+ /** removes a number of items at the specified position.
+ */
+ void removeItems( [in] short nPos,
+ [in] short nCount );
+
+
+ /** returns the number of items in the listbox.
+ */
+ short getItemCount();
+
+
+ /** returns the item at the specified position.
+ */
+ string getItem( [in] short nPos );
+
+
+ /** returns all items of the list box.
+ */
+ sequence<string> getItems();
+
+
+ /** returns the position of the currently selected item.
+ When multiple items are selected, the position of the first one is returned.
+ When nothing is selected, -1 is returned.
+ */
+ short getSelectedItemPos();
+
+
+ /** returns the positions of all currently selected items.
+ */
+ sequence<short> getSelectedItemsPos();
+
+
+ /** returns the currently selected item.
+ When multiple items are selected, the first one is returned.
+ When nothing is selected, an empty string is returned.
+ */
+ string getSelectedItem();
+
+
+ /** returns all currently selected items.
+ */
+ sequence<string> getSelectedItems();
+
+
+ /** selects/deselects the item at the specified position.
+ */
+ void selectItemPos( [in] short nPos,
+ [in] boolean bSelect );
+
+
+ /** selects/deselects multiple items at the specified positions.
+ */
+ void selectItemsPos( [in] sequence<short> aPositions,
+ [in] boolean bSelect );
+
+
+ /** selects/deselects the specified item.
+ */
+ void selectItem( [in] string aItem,
+ [in] boolean bSelect );
+
+
+ /** returns `TRUE` if multiple items can be selected,
+ `FALSE` if only one item can be selected.
+ */
+ boolean isMutipleMode();
+
+
+ /** determines if only a single item or multiple items can be selected.
+ */
+ void setMultipleMode( [in] boolean bMulti );
+
+
+ /** returns the number of visible lines in drop down mode.
+ */
+ short getDropDownLineCount();
+
+
+ /** sets the number of visible lines for drop down mode.
+ */
+ void setDropDownLineCount( [in] short nLines );
+
+
+ /** makes the item at the specified position visible by scrolling.
+ */
+ void makeVisible( [in] short nEntry );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XMenu.idl b/offapi/com/sun/star/awt/XMenu.idl
new file mode 100644
index 000000000..08967962e
--- /dev/null
+++ b/offapi/com/sun/star/awt/XMenu.idl
@@ -0,0 +1,299 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_awt_XMenu_idl__
+#define __com_sun_star_awt_XMenu_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/awt/MenuItemType.idl>
+
+module com { module sun { module star { module awt {
+
+published interface XPopupMenu;
+published interface XMenuListener;
+
+/** specifies a simple menu.
+ */
+published interface XMenu: com::sun::star::uno::XInterface
+{
+ /** adds the specified menu listener to receive events from this menu.
+
+ @param xListener
+ the XMenuListener to be added.
+ */
+ void addMenuListener( [in] XMenuListener xListener );
+
+ /** removes the specified menu listener so that it no longer
+ receives events from this menu.
+
+ @param xListener
+ the XMenuListener to be removed.
+ */
+ void removeMenuListener( [in] XMenuListener xListener );
+
+ /** inserts an item into the menu.
+ <p>The item is appended if the position is greater than or equal to
+ getItemCount() or if it is negative.</p>
+
+ @param nItemId
+ specifies the ID of the menu item to be inserted.
+
+ @param aText
+ specifies the label of the menu item.
+
+ @param nItemStyle
+ specifies the style of the menu item, as defined in
+ MenuItemStyle.
+
+ @param nItemPos
+ specifies the position where the menu item will be inserted.
+ */
+ void insertItem( [in] short nItemId,
+ [in] string aText,
+ [in] short nItemStyle,
+ [in] short nItemPos );
+
+ /** removes one or more items from the menu.
+
+ @param nItemPos
+ specifies the position of the (first) menu item to be removed.
+
+ @param nCount
+ specifies the number of menu items to remove.
+ */
+ void removeItem( [in] short nItemPos,
+ [in] short nCount );
+
+ /** removes all items from the menu.
+ */
+ void clear();
+
+ /** returns the number of items in the menu.
+
+ @return
+ the number of items in this XMenu.
+ */
+ short getItemCount();
+
+ /** returns the ID of the item at the specified position.
+
+ @param nItemPos
+ specifies the position of the menu item for which the item ID is queried.
+
+ @return
+ the ID of the menu item at the given position.
+ */
+ short getItemId( [in] short nItemPos );
+
+ /** returns the position of the item with the specified ID.
+
+ @param nItemId
+ specifies the ID of the menu item for which the item position is queried.
+
+ @return
+ the position of the menu item with the specified ID.
+ */
+ short getItemPos( [in] short nItemId );
+
+ /** retrieves the type of the menu item.
+
+ @param nItemPos
+ specifies the position of the menu item for which the item type is queried.
+
+ @return
+ a MenuItemType indicating the item type.
+ */
+ ::com::sun::star::awt::MenuItemType getItemType( [in] short nItemPos );
+
+ /** enables or disables the menu item.
+
+ @param nItemId
+ specifies the menu item ID.
+
+ @param bEnable
+ specifies whether the menu item should be enabled (`TRUE`) or
+ disabled (`FALSE`).
+ */
+ void enableItem( [in] short nItemId,
+ [in] boolean bEnable );
+
+ /** returns the state of the menu item.
+
+ @param nItemId
+ specifies the menu item ID.
+
+ @return
+ `TRUE` if the item is enabled, `FALSE` otherwise.
+ */
+ boolean isItemEnabled( [in] short nItemId );
+
+ /** specifies whether disabled menu entries should be hidden, or not.
+
+ @param bHide
+ if `TRUE`, disabled menu entries are hidden.
+ */
+ void hideDisabledEntries( [in] boolean bHide );
+
+ /** specifies whether mnemonics are automatically assigned to menu items, or not.
+
+ @param bEnable
+ if `TRUE`, mnemonics are automatically assigned to menu items.
+ */
+ void enableAutoMnemonics( [in] boolean bEnable );
+
+ /** sets the text for the menu item.
+
+ @param nItemId
+ specifies the ID of the menu item.
+
+ @param aText
+ specifies the label of the menu item.
+ */
+ void setItemText( [in] short nItemId,
+ [in] string aText );
+
+ /** returns the string for the given item id.
+
+ @param nItemId
+ specifies the ID of the menu item.
+
+ @return
+ the label of the menu item.
+ */
+ string getItemText( [in] short nItemId );
+
+ /** sets the command string for the menu item.
+
+ @param nItemId
+ specifies the menu item ID for which the command should be set.
+
+ @param aCommand
+ specifies the command for the menu item.
+ */
+ void setCommand( [in] short nItemId,
+ [in] string aCommand );
+
+ /** retrieves the command string for the menu item.
+
+ @param nItemId
+ specifies the menu item ID for which the command URL should be set.
+
+ @return
+ the command of the menu item.
+ */
+ string getCommand( [in] short nItemId );
+
+ /** sets the help command string for the menu item.
+
+ @param nItemId
+ specifies the menu item ID for which the help command URL be set.
+
+ @param aCommand
+ specifies the help command for the menu item.
+ */
+ void setHelpCommand( [in] short nItemId,
+ [in] string aCommand );
+
+ /** retrieves the help command string for the menu item.
+
+ @param nItemId
+ specifies the menu item ID for which the help command should be set.
+
+ @return
+ the help command of the menu item.
+ */
+ string getHelpCommand( [in] short nItemId );
+
+ /** sets the help text for the menu item.
+
+ @param nItemId
+ specifies the menu item identifier for which the help text should be set.
+
+ @param sHelpText
+ specifies the help text for the menu item.
+ */
+ void setHelpText( [in] short nItemId,
+ [in] string sHelpText );
+
+ /** retrieves the help text for the menu item.
+
+ @param nItemId
+ specifies the menu item identifier for which the help text should be retrieved.
+
+ @return
+ a string with the help text.
+ */
+ string getHelpText( [in] short nItemId );
+
+ /** sets the tip help text for the menu item.
+
+ @param nItemId
+ specifies the menu item identifier for which the tip help text should be set.
+
+ @param sTipHelpText
+ specifies the tip help text for the menu item.
+ */
+ void setTipHelpText( [in] short nItemId,
+ [in] string sTipHelpText );
+
+ /** retrieves the tip help text for the menu item.
+
+ @param nItemId
+ specifies the menu item identifier for which the tip help text should be retrieved.
+
+ @return
+ a string with the tip help text.
+ */
+ string getTipHelpText( [in] short nItemId );
+
+ /** checks whether an XMenu is an XPopupMenu.
+
+ @return
+ `TRUE` if the menu is a PopupMenu,
+ `FALSE` if it is a MenuBar.
+ */
+ boolean isPopupMenu();
+
+ /** sets the popup menu for a specified menu item.
+
+ @param nItemId
+ specifies the menu item ID for which the XPopupMenu should be set.
+
+ @param aPopupMenu
+ specifies a XPopupMenu.
+ */
+ void setPopupMenu( [in] short nItemId,
+ [in] XPopupMenu aPopupMenu );
+
+ /** returns the popup menu from the menu item.
+
+ @param nItemId
+ specifies the menu item ID for which the XPopupMenu should be retrieved.
+
+ @return
+ a XPopupMenu.
+ */
+ XPopupMenu getPopupMenu( [in] short nItemId );
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XMenuBar.idl b/offapi/com/sun/star/awt/XMenuBar.idl
new file mode 100644
index 000000000..0bd07d942
--- /dev/null
+++ b/offapi/com/sun/star/awt/XMenuBar.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_awt_XMenuBar_idl__
+#define __com_sun_star_awt_XMenuBar_idl__
+
+#include <com/sun/star/awt/XMenu.idl>
+
+module com { module sun { module star { module awt {
+
+/** identifies a menu bar.
+ */
+published interface XMenuBar: XMenu
+{
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XMenuListener.idl b/offapi/com/sun/star/awt/XMenuListener.idl
new file mode 100644
index 000000000..ea9fc8b56
--- /dev/null
+++ b/offapi/com/sun/star/awt/XMenuListener.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_awt_XMenuListener_idl__
+#define __com_sun_star_awt_XMenuListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+#include <com/sun/star/awt/MenuEvent.idl>
+
+module com { module sun { module star { module awt {
+
+/** makes it possible to receive menu events on a window.
+ */
+published interface XMenuListener: com::sun::star::lang::XEventListener
+{
+ /** is invoked when a menu item is highlighted.
+ */
+ void itemHighlighted( [in] MenuEvent aEvent );
+
+ /** is invoked when a menu item is selected.
+ */
+ void itemSelected( [in] MenuEvent aEvent );
+
+ /** is invoked when a menu is activated.
+ */
+ void itemActivated( [in] MenuEvent aEvent );
+
+ /** is invoked when a menu is deactivated.
+ */
+ void itemDeactivated( [in] MenuEvent aEvent );
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XMessageBox.idl b/offapi/com/sun/star/awt/XMessageBox.idl
new file mode 100644
index 000000000..39b77a205
--- /dev/null
+++ b/offapi/com/sun/star/awt/XMessageBox.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_awt_XMessageBox_idl__
+#define __com_sun_star_awt_XMessageBox_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module awt {
+
+/** gives access to a message box.
+ */
+published interface XMessageBox
+{
+ /** the caption text.
+ */
+ [attribute] string CaptionText;
+
+ /** the message text.
+ */
+ [attribute] string MessageText;
+
+ /** shows the message box.
+
+ @return
+ one of MessageBoxResults.
+ */
+ short execute();
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XMessageBoxFactory.idl b/offapi/com/sun/star/awt/XMessageBoxFactory.idl
new file mode 100644
index 000000000..510e51ebe
--- /dev/null
+++ b/offapi/com/sun/star/awt/XMessageBoxFactory.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_awt_XMessageBoxFactory_idl__
+#define __com_sun_star_awt_XMessageBoxFactory_idl__
+
+#include <com/sun/star/awt/XWindowPeer.idl>
+#include <com/sun/star/awt/XMessageBox.idl>
+#include <com/sun/star/awt/MessageBoxButtons.idl>
+#include <com/sun/star/awt/MessageBoxType.idl>
+
+module com { module sun { module star { module awt {
+
+/** specifies a factory interface for creating message boxes.
+ */
+published interface XMessageBoxFactory : com::sun::star::uno::XInterface
+{
+ /** creates a message box.
+
+ @returns
+ the created message box or a null reference if it cannot be
+ created.
+
+ @param aParent
+ a valid XWindowPeer reference which is used as a parent.
+
+ <p>This parameter must not be null.</p>
+
+ @param eType
+ the message box type.
+
+ @param nButtons
+ specifies which buttons should be available on the message box.
+
+ <p>A combination of com::sun::star::awt::MessageBoxButtons</p>
+ <p>A com::sun::star::awt::MessageBoxType::INFOBOX
+ ignores this parameter, instead it uses a
+ com::sun::star::awt::MessageBoxButtons::BUTTONS_OK.</p>
+
+ @param sTitle
+ specifies the title of the message box.
+
+ @param sMessage
+ specifies text which will be shown by the message box.
+ Line-breaks must be added using 'CR' or 'CR+LF'.
+ */
+ XMessageBox createMessageBox( [in] com::sun::star::awt::XWindowPeer aParent,
+ [in] MessageBoxType eType,
+ [in] long nButtons,
+ [in] string sTitle,
+ [in] string sMessage );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XMetricField.idl b/offapi/com/sun/star/awt/XMetricField.idl
new file mode 100644
index 000000000..d91a37da3
--- /dev/null
+++ b/offapi/com/sun/star/awt/XMetricField.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_awt_XMetricField_idl__
+#define __com_sun_star_awt_XMetricField_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/util/MeasureUnit.idl>
+
+
+ module com { module sun { module star { module awt {
+
+
+/** gives access to the value and formatting of a metric field.
+ */
+interface XMetricField: com::sun::star::uno::XInterface
+{
+
+ /** sets the value which is displayed in the metric field.
+ */
+ void setValue( [in] hyper Value, [in] short FieldUnit );
+
+
+ /** sets the user value which is displayed in the metric field.
+ */
+ void setUserValue( [in] hyper Value, [in] short FieldUnit );
+
+
+ /** returns the value which is currently displayed in the metric field.
+ */
+ hyper getValue( [in] short FieldUnit );
+
+
+ /** returns the corrected value which is displayed in the metric field.
+ */
+ hyper getCorrectedValue( [in] short FieldUnit );
+
+
+ /** sets the minimum value that can be entered by the user.
+ */
+ void setMin( [in] hyper Value, [in] short FieldUnit );
+
+
+ /** returns the currently set minimum value that can be entered by the
+ user.
+ */
+ hyper getMin( [in] short FieldUnit );
+
+
+ /** sets the maximum value that can be entered by the user.
+ */
+ void setMax( [in] hyper Value, [in] short FieldUnit );
+
+
+ /** returns the currently set maximum value that can be entered by the
+ user.
+ */
+ hyper getMax( [in] short FieldUnit );
+
+
+ /** sets the first value to be set on POS1 key.
+ */
+ void setFirst( [in] hyper Value, [in] short FieldUnit );
+
+
+ /** returns the currently set first value which is set on POS1 key.
+ */
+ hyper getFirst( [in] short FieldUnit );
+
+
+ /** sets the last value to be set on END key.
+ */
+ void setLast( [in] hyper Value, [in] short FieldUnit );
+
+
+ /** returns the currently set last value which is set on END key.
+ */
+ hyper getLast( [in] short FieldUnit );
+
+
+ /** sets the increment value for the spin button.
+ */
+ void setSpinSize( [in] hyper Value );
+
+
+ /** returns the currently set increment value for the spin button.
+ */
+ hyper getSpinSize();
+
+
+ /** sets the number of decimals.
+ */
+ void setDecimalDigits( [in] short nDigits );
+
+
+ /** returns the currently set number of decimals.
+ */
+ short getDecimalDigits();
+
+
+ /** determines if the format is checked during user input.
+ */
+ void setStrictFormat( [in] boolean bStrict );
+
+
+ /** returns whether the format is currently checked during user input.
+ */
+ boolean isStrictFormat();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XMouseClickHandler.idl b/offapi/com/sun/star/awt/XMouseClickHandler.idl
new file mode 100644
index 000000000..2db74a876
--- /dev/null
+++ b/offapi/com/sun/star/awt/XMouseClickHandler.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_awt_XMouseClickHandler_idl__
+#define __com_sun_star_awt_XMouseClickHandler_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+#include <com/sun/star/awt/MouseEvent.idl>
+
+
+
+module com { module sun { module star { module awt {
+
+
+/** makes it possible to receive events from the mouse in a certain window.
+
+ @since OOo 1.1.2
+ */
+published interface XMouseClickHandler: ::com::sun::star::lang::XEventListener
+{
+
+ /** is invoked when a mouse button has been pressed on a window.
+
+ @return
+ When `FALSE` is returned the other handlers are called and a
+ following handling of the event by the broadcaster takes place.
+ Otherwise, when `TRUE` is returned, no other handler will be
+ called and the broadcaster will take no further actions
+ regarding the event.
+ */
+ boolean mousePressed( [in] com::sun::star::awt::MouseEvent e );
+
+
+ /** is invoked when a mouse button has been released on a window.
+
+ @return
+ When `FALSE` is returned the other handlers are called and a
+ following handling of the event by the broadcaster takes place.
+ Otherwise, when `TRUE` is returned, no other handler will be
+ called and the broadcaster will take no further actions
+ regarding the event.
+ */
+ boolean mouseReleased( [in] com::sun::star::awt::MouseEvent e );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XMouseListener.idl b/offapi/com/sun/star/awt/XMouseListener.idl
new file mode 100644
index 000000000..7da839fae
--- /dev/null
+++ b/offapi/com/sun/star/awt/XMouseListener.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_awt_XMouseListener_idl__
+#define __com_sun_star_awt_XMouseListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+
+#include <com/sun/star/awt/MouseEvent.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** makes it possible to receive events from the mouse in a certain window.
+ *
+ * Use the following interfaces which allow to receive (and consume) mouse events
+ * even on windows which are not at the top:
+ * <ul>
+ * <li>com::sun::star::awt::XMouseClickHandler</li>
+ * <li>com::sun::star::awt::XMouseMotionHandler</li>
+ * </ul>
+ */
+published interface XMouseListener: com::sun::star::lang::XEventListener
+{
+
+ /** is invoked when a mouse button has been pressed on a window.
+
+ <p>Since mouse presses are usually also used to indicate requests for pop-up menus
+ (also known as context menus) on objects, you might receive two events
+ for a single mouse press: For example, if, on your operating system,
+ pressing the right mouse button indicates the request for a context menu,
+ then you will receive one call to mousePressed() indicating
+ the mouse click, and another one indicating the context menu request. For
+ the latter, the MouseEvent::PopupTrigger member of the
+ event will be set to `TRUE`.</p>
+ */
+ void mousePressed( [in] com::sun::star::awt::MouseEvent e );
+
+
+ /** is invoked when a mouse button has been released on a window.
+ */
+ void mouseReleased( [in] com::sun::star::awt::MouseEvent e );
+
+
+ /** is invoked when the mouse enters a window.
+ */
+ void mouseEntered( [in] com::sun::star::awt::MouseEvent e );
+
+
+ /** is invoked when the mouse exits a window.
+ */
+ void mouseExited( [in] com::sun::star::awt::MouseEvent e );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XMouseMotionHandler.idl b/offapi/com/sun/star/awt/XMouseMotionHandler.idl
new file mode 100644
index 000000000..cb68e8458
--- /dev/null
+++ b/offapi/com/sun/star/awt/XMouseMotionHandler.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_awt_XMouseMotionHandler_idl__
+#define __com_sun_star_awt_XMouseMotionHandler_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+
+#include <com/sun/star/awt/MouseEvent.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** makes it possible to receive mouse motion events on a window.
+ */
+published interface XMouseMotionHandler: com::sun::star::lang::XEventListener
+{
+
+ /** is invoked when a mouse button is pressed on a window and then
+ dragged.
+
+ <p>Mouse drag events will continue to be delivered to
+ the window where the first event originated until the mouse button is
+ released (regardless of whether the mouse position is within the
+ bounds of the window).</p>
+
+ @return
+ When `FALSE` is returned the other handlers are called and a
+ following handling of the event by the broadcaster takes place.
+ Otherwise, when `TRUE` is returned, no other handler will be
+ called and the broadcaster will take no further actions
+ regarding the event.
+
+ */
+ boolean mouseDragged( [in] com::sun::star::awt::MouseEvent e );
+
+
+ /** is invoked when the mouse button has been moved on a window
+ (with no buttons down).
+
+ @return
+ When `FALSE` is returned the other handlers are called and a
+ following handling of the event by the broadcaster takes place.
+ Otherwise, when `TRUE` is returned, no other handler will be
+ called and the broadcaster will take no further actions
+ regarding the event.
+
+ */
+ boolean mouseMoved( [in] com::sun::star::awt::MouseEvent e );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XMouseMotionListener.idl b/offapi/com/sun/star/awt/XMouseMotionListener.idl
new file mode 100644
index 000000000..d866aef31
--- /dev/null
+++ b/offapi/com/sun/star/awt/XMouseMotionListener.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_awt_XMouseMotionListener_idl__
+#define __com_sun_star_awt_XMouseMotionListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+
+#include <com/sun/star/awt/MouseEvent.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** makes it possible to receive mouse motion events on a window.
+ */
+published interface XMouseMotionListener: com::sun::star::lang::XEventListener
+{
+
+ /** is invoked when a mouse button is pressed on a window and then
+ dragged.
+
+ <p>Mouse drag events will continue to be delivered to
+ the window where the first event originated until the mouse button is
+ released (regardless of whether the mouse position is within the
+ bounds of the window).</p>
+ */
+ void mouseDragged( [in] com::sun::star::awt::MouseEvent e );
+
+
+ /** is invoked when the mouse pointer has been moved on a window
+ (with no buttons down).
+ */
+ void mouseMoved( [in] com::sun::star::awt::MouseEvent e );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XNumericField.idl b/offapi/com/sun/star/awt/XNumericField.idl
new file mode 100644
index 000000000..24e5afc66
--- /dev/null
+++ b/offapi/com/sun/star/awt/XNumericField.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_awt_XNumericField_idl__
+#define __com_sun_star_awt_XNumericField_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** gives access to the value and formatting of a numeric field.
+ */
+published interface XNumericField: com::sun::star::uno::XInterface
+{
+
+ /** sets the value which is displayed in the numeric field.
+ */
+ void setValue( [in] double Value );
+
+
+ /** returns the value which is currently displayed in the numeric field.
+ */
+ double getValue();
+
+
+ /** sets the minimum value that can be entered by the user.
+ */
+ void setMin( [in] double Value );
+
+
+ /** returns the currently set minimum value that can be entered by the
+ user.
+ */
+ double getMin();
+
+
+ /** sets the maximum value that can be entered by the user.
+ */
+ void setMax( [in] double Value );
+
+
+ /** returns the currently set maximum value that can be entered by the
+ user.
+ */
+ double getMax();
+
+
+ /** sets the first value to be set on POS1 key.
+ */
+ void setFirst( [in] double Value );
+
+
+ /** returns the currently set first value which is set on POS1 key.
+ */
+ double getFirst();
+
+
+ /** sets the last value to be set on END key.
+ */
+ void setLast( [in] double Value );
+
+
+ /** returns the currently set last value which is set on END key.
+ */
+ double getLast();
+
+
+ /** sets the increment value for the spin button.
+ */
+ void setSpinSize( [in] double Value );
+
+
+ /** returns the currently set increment value for the spin button.
+ */
+ double getSpinSize();
+
+
+ /** sets the number of decimals.
+ */
+ void setDecimalDigits( [in] short nDigits );
+
+
+ /** returns the currently set number of decimals.
+ */
+ short getDecimalDigits();
+
+
+ /** determines if the format is checked during user input.
+ */
+ void setStrictFormat( [in] boolean bStrict );
+
+
+ /** returns whether the format is currently checked during user input.
+ */
+ boolean isStrictFormat();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XPaintListener.idl b/offapi/com/sun/star/awt/XPaintListener.idl
new file mode 100644
index 000000000..56a1c6df4
--- /dev/null
+++ b/offapi/com/sun/star/awt/XPaintListener.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_awt_XPaintListener_idl__
+#define __com_sun_star_awt_XPaintListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+
+#include <com/sun/star/awt/PaintEvent.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** makes it possible to receive paint events.
+ */
+published interface XPaintListener: com::sun::star::lang::XEventListener
+{
+
+ /** is invoked when a region of the window became invalid, e.g. when
+ another window has been moved away.
+ */
+ void windowPaint( [in] com::sun::star::awt::PaintEvent e );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XPatternField.idl b/offapi/com/sun/star/awt/XPatternField.idl
new file mode 100644
index 000000000..d1914aa09
--- /dev/null
+++ b/offapi/com/sun/star/awt/XPatternField.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_awt_XPatternField_idl__
+#define __com_sun_star_awt_XPatternField_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** gives access to the value and formatting of a pattern field.
+ */
+published interface XPatternField: com::sun::star::uno::XInterface
+{
+
+ /** sets the pattern mask.
+ */
+ void setMasks( [in] string EditMask,
+ [in] string LiteralMask );
+
+
+ /** returns the currently set pattern mask.
+ */
+ void getMasks( [out] string EditMask,
+ [out] string LiteralMask );
+
+
+ /** sets the string value of the pattern field.
+ */
+ void setString( [in] string Str );
+
+
+ /** returns the currently set string value of the pattern field.
+ */
+ string getString();
+
+
+ /** determines if the format is checked during user input.
+ */
+ void setStrictFormat( [in] boolean bStrict );
+
+
+ /** returns whether the format is currently checked during user input.
+ */
+ boolean isStrictFormat();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XPointer.idl b/offapi/com/sun/star/awt/XPointer.idl
new file mode 100644
index 000000000..3cc8cdd2c
--- /dev/null
+++ b/offapi/com/sun/star/awt/XPointer.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_awt_XPointer_idl__
+#define __com_sun_star_awt_XPointer_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** gives access to the type of mouse pointer.
+ */
+published interface XPointer: com::sun::star::uno::XInterface
+{
+
+ /** selects a SystemPointer for this mouse pointer.
+ */
+ void setType( [in] long nType );
+
+
+ /** returns the currently set SystemPointer of this mouse
+ pointer.
+ */
+ long getType();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XPopupMenu.idl b/offapi/com/sun/star/awt/XPopupMenu.idl
new file mode 100644
index 000000000..3a2018ddb
--- /dev/null
+++ b/offapi/com/sun/star/awt/XPopupMenu.idl
@@ -0,0 +1,184 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_awt_XPopupMenu_idl__
+#define __com_sun_star_awt_XPopupMenu_idl__
+
+#include <com/sun/star/awt/KeyEvent.idl>
+#include <com/sun/star/awt/Rectangle.idl>
+#include <com/sun/star/awt/XMenu.idl>
+#include <com/sun/star/graphic/XGraphic.idl>
+
+module com { module sun { module star { module awt {
+
+published interface XWindowPeer;
+
+/** controls a pop-up menu.
+ */
+published interface XPopupMenu: XMenu
+{
+ /** inserts a separator at the specified position.
+
+ @param nItemPos
+ specifies the position where the menu separator will be inserted.
+ */
+ void insertSeparator( [in] short nItemPos );
+
+ /** sets the menu default item.
+
+ @param nItemId
+ specifies the menu item identifier.
+ */
+ void setDefaultItem( [in] short nItemId );
+
+ /** returns the menu default item.
+
+ @return
+ the ID of the default item.
+ */
+ short getDefaultItem();
+
+ /** sets the state of the item to be checked or unchecked.
+
+ @param nItemId
+ specifies the menu item identifier.
+
+ @param bCheck
+ specifies if the item is checked (`TRUE`) or unchecked (`FALSE`).
+ */
+ void checkItem( [in] short nItemId,
+ [in] boolean bCheck );
+
+ /** returns whether the item is checked or unchecked.
+
+ @param nItemId
+ specifies the menu item identifier.
+
+ @return
+ `TRUE` if the item is checked, `FALSE` otherwise.
+ */
+ boolean isItemChecked( [in] short nItemId );
+
+ /** executes the popup menu and returns the selected item
+ or <code>0</code>, if cancelled.
+
+ @param Parent
+ the parent window.
+
+ @param Position
+ a Rectangle representing the coordinates system
+ where the popup menu should be executed.
+
+ @param Direction
+ the direction in which a popup menu will grow, as specified
+ by one of the PopupMenuDirection constants.
+
+ @return
+ returns the selected item or <code>0</code>, if cancelled.
+ */
+ short execute( [in] XWindowPeer Parent,
+ [in] Rectangle Position,
+ [in] short Direction );
+
+ /** queries if the PopupMenu is being.
+
+ <p>Returns `TRUE` only if the PopupMenu is being executed
+ as a result of invoking XPopupMenu::execute(); that is,
+ for a PopupMenu activated by a MenuBar item,
+ this methods returns `FALSE`.</p>
+
+ @return
+ `TRUE` if the PopupMenu is being executed,
+ `FALSE` otherwise.
+
+ @see XPopupMenu::execute()
+ */
+ boolean isInExecute();
+
+ /** ends the execution of the PopupMenu.
+ <p>com::sun::star::awt::XPopupMenu::execute()
+ will then return 0.</p>
+
+ @see com::sun::star::awt::XPopupMenu::execute()
+ */
+ void endExecute();
+
+ /** sets the KeyEvent for the menu item.
+
+ <p>The KeyEvent is <b>only</b> used as a container to transport
+ the shortcut information, this methods only draws the text corresponding to
+ this keyboard shortcut. The client code is responsible for listening to
+ keyboard events (typically done via XUserInputInterception),
+ and dispatch the respective command.</p>
+
+ @param nItemId
+ specifies the menu item identifier for which the KeyEvent should be set.
+
+ @param aKeyEvent
+ specifies the KeyEvent for the menu item.
+ */
+ void setAcceleratorKeyEvent( [in] short nItemId,
+ [in] KeyEvent aKeyEvent );
+
+ /** retrieves the KeyEvent for the menu item.
+
+ <p>The KeyEvent is <b>only</b> used as a container to transport
+ the shortcut information, so that in this case
+ ::com::sun::star::lang::EventObject::Source is NULL.</p>
+
+ @param nItemId
+ specifies the menu item identifier for which the KeyEvent should be retrieved.
+
+ @return
+ the KeyEvent struct assigned to the requested menu item.
+ */
+ KeyEvent getAcceleratorKeyEvent( [in] short nItemId );
+
+ /** sets the image for the menu item.
+
+ @param nItemId
+ specifies the menu item identifier for which the image should be set.
+
+ @param xGraphic
+ specifies the image for the menu item.
+
+ @param bScale
+ if `TRUE`, the image will be scaled to the standard size used internally by
+ the implementation.
+ */
+ void setItemImage( [in] short nItemId,
+ [in] ::com::sun::star::graphic::XGraphic xGraphic,
+ [in] boolean bScale );
+
+ /** retrieves the image for the menu item.
+
+ @param nItemId
+ specifies the menu item identifier for which the image should be retrieved.
+
+ @return
+ a XGraphic reference to the current image for the requested menu item.
+ */
+ ::com::sun::star::graphic::XGraphic getItemImage( [in] short nItemId );
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XPrinter.idl b/offapi/com/sun/star/awt/XPrinter.idl
new file mode 100644
index 000000000..5ad5a0b2f
--- /dev/null
+++ b/offapi/com/sun/star/awt/XPrinter.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_awt_XPrinter_idl__
+#define __com_sun_star_awt_XPrinter_idl__
+
+#include <com/sun/star/awt/XPrinterPropertySet.idl>
+
+#include <com/sun/star/awt/PrinterException.idl>
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+#include <com/sun/star/awt/XDevice.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** represents a virtual printer.
+
+ <p>All properties are vetoable properties.
+ If you change the properties between a call to
+ com::sun::star::awt::XPrinter::startPage() and a call
+ to com::sun::star::awt::XPrinter::endPage(),
+ a com::sun::star::beans::PropertyVetoException is
+ thrown.</p>
+ */
+published interface XPrinter: com::sun::star::awt::XPrinterPropertySet
+{
+
+ /** puts the job into the printer spooler.
+
+ <p>This call may block the thread. So release all resources
+ (mutex, semaphore, etc.) before this call.</p>
+ */
+ boolean start( [in] string nJobName,
+ [in] short nCopies,
+ [in] boolean nCollate )
+ raises( com::sun::star::awt::PrinterException,
+ com::sun::star::lang::IllegalArgumentException );
+
+
+ /** notifies the printer spooler that the job is done and printing
+ starts.
+
+ @see terminate
+ */
+ void end()
+ raises( com::sun::star::awt::PrinterException );
+
+
+ /** stops the current print job.
+
+ <p>If the method
+ com::sun::star::awt::XPrinter::end()
+ is called beforehand, then this call does nothing. If you call
+ com::sun::star::awt::XPrinter::terminate()
+ in or before the call to
+ com::sun::star::awt::XPrinter::start(),
+ com::sun::star::awt::XPrinter::terminate()
+ returns `FALSE`. This call must not block the thread.</p>
+
+ @see end
+ */
+ void terminate();
+
+
+ /** begins with a new page.
+ */
+ com::sun::star::awt::XDevice startPage()
+ raises( com::sun::star::awt::PrinterException );
+
+
+ /** ends the current page.
+ */
+ void endPage()
+ raises( com::sun::star::awt::PrinterException );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XPrinterPropertySet.idl b/offapi/com/sun/star/awt/XPrinterPropertySet.idl
new file mode 100644
index 000000000..9d5c4fd6f
--- /dev/null
+++ b/offapi/com/sun/star/awt/XPrinterPropertySet.idl
@@ -0,0 +1,89 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_awt_XPrinterPropertySet_idl__
+#define __com_sun_star_awt_XPrinterPropertySet_idl__
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+#include <com/sun/star/beans/PropertyVetoException.idl>
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** represents an extended property set for printer properties.
+
+ <p>All properties are vetoable properties. If you change the properties
+ between com::sun::star::awt::XPrinter::startPage()
+ and com::sun::star::awt::XPrinter::endPage(), a
+ com::sun::star::beans::PropertyVetoException
+ is thrown.</p>
+
+ @see XPrinter
+ @see XInfoPrinter
+ */
+published interface XPrinterPropertySet: com::sun::star::beans::XPropertySet
+{
+
+ /** sets the orientation.
+ */
+ void setHorizontal( [in] boolean bHorizontal )
+ raises( com::sun::star::beans::PropertyVetoException,
+ com::sun::star::lang::IllegalArgumentException );
+
+
+ /** returns descriptions of all available printer forms.
+ */
+ sequence<string> getFormDescriptions();
+
+
+ /** sets the form that should be used.
+
+ <p>Indirectly a printer is selected.</p>
+ */
+ void selectForm( [in] string aFormDescription )
+ raises( com::sun::star::beans::PropertyVetoException,
+ com::sun::star::lang::IllegalArgumentException );
+
+
+ /** returns a binary encoded version of the printer setup.
+ */
+ sequence<byte> getBinarySetup();
+
+
+ /** sets the data specific to the printer driver.
+
+ <p>Get this data from the info printer and set the data to the
+ printer.</p>
+ */
+ void setBinarySetup( [in] sequence<byte> data )
+ raises( com::sun::star::beans::PropertyVetoException,
+ com::sun::star::lang::IllegalArgumentException );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XPrinterServer.idl b/offapi/com/sun/star/awt/XPrinterServer.idl
new file mode 100644
index 000000000..f72470b8c
--- /dev/null
+++ b/offapi/com/sun/star/awt/XPrinterServer.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_awt_XPrinterServer_idl__
+#define __com_sun_star_awt_XPrinterServer_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/awt/XPrinter.idl>
+
+#include <com/sun/star/awt/XInfoPrinter.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** manages several printers on one machine.
+ */
+published interface XPrinterServer: com::sun::star::uno::XInterface
+{
+
+ /** returns a list of all available printer names.
+ */
+ sequence<string> getPrinterNames();
+
+
+ /** creates a new virtual printer.
+
+ <p>You must call
+ com::sun::star::awt::XPrinter::start()
+ to put the job into the printer spooler.</p>
+ */
+ com::sun::star::awt::XPrinter createPrinter( [in] string printerName );
+
+
+ /** creates a new information printer.
+
+ <p>You can get all information from this printer,
+ but the printer cannot really print.</p>
+ */
+ com::sun::star::awt::XInfoPrinter createInfoPrinter( [in] string printerName );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XPrinterServer2.idl b/offapi/com/sun/star/awt/XPrinterServer2.idl
new file mode 100644
index 000000000..8ceb54fcf
--- /dev/null
+++ b/offapi/com/sun/star/awt/XPrinterServer2.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_awt_XPrinterServer2_idl__
+#define __com_sun_star_awt_XPrinterServer2_idl__
+
+#include <com/sun/star/awt/XPrinterServer.idl>
+
+ module com { module sun { module star { module awt {
+
+/**
+ extends printer server interface
+
+ @since LibreOffice 6.3
+*/
+
+interface XPrinterServer2: ::com::sun::star::awt::XPrinterServer
+{
+
+ /** returns the current default printer name
+
+ @returns
+ current default printer name
+ */
+ string getDefaultPrinterName();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XProgressBar.idl b/offapi/com/sun/star/awt/XProgressBar.idl
new file mode 100644
index 000000000..f6c4a3dee
--- /dev/null
+++ b/offapi/com/sun/star/awt/XProgressBar.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_awt_XProgressBar_idl__
+#define __com_sun_star_awt_XProgressBar_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/util/Color.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** gives access to the value and settings of a progress bar.
+ */
+published interface XProgressBar: com::sun::star::uno::XInterface
+{
+
+ /** sets the foreground color (RGB) of the control.
+ */
+ void setForegroundColor( [in] com::sun::star::util::Color Color );
+
+
+ /** sets the background color (RGB) of the control.
+ */
+ void setBackgroundColor( [in] com::sun::star::util::Color Color );
+
+
+ /** sets the minimum and the maximum progress value of the progress bar.
+
+ <p>If the minimum value is greater than the maximum value, the method
+ exchanges the values automatically.</p>
+ */
+ void setRange( [in] long Min,
+ [in] long Max );
+
+
+ /** sets the progress value of the progress bar.
+ */
+ void setValue( [in] long Value );
+
+
+ /** returns the current progress value of the progress bar.
+ */
+ long getValue();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XProgressMonitor.idl b/offapi/com/sun/star/awt/XProgressMonitor.idl
new file mode 100644
index 000000000..3d08cb914
--- /dev/null
+++ b/offapi/com/sun/star/awt/XProgressMonitor.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_awt_XProgressMonitor_idl__
+#define __com_sun_star_awt_XProgressMonitor_idl__
+
+#include <com/sun/star/awt/XProgressBar.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** gives access to the text of a progress monitor.
+
+ @deprecated
+ */
+published interface XProgressMonitor: com::sun::star::awt::XProgressBar
+{
+
+ /** adds a new text line to the control.
+ */
+ void addText ( [in] string Topic, [in] string Text, [in] boolean beforeProgress ) ;
+
+
+ /** removes a text line from the control.
+ */
+ void removeText ( [in] string Topic, [in] boolean beforeProgress ) ;
+
+
+ /** updates an existing text line at the control.
+ */
+ void updateText ( [in] string Topic, [in] string Text, [in] boolean beforeProgress ) ;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XRadioButton.idl b/offapi/com/sun/star/awt/XRadioButton.idl
new file mode 100644
index 000000000..de3e33efa
--- /dev/null
+++ b/offapi/com/sun/star/awt/XRadioButton.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_awt_XRadioButton_idl__
+#define __com_sun_star_awt_XRadioButton_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/awt/XItemListener.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** gives access to the state of a radio button and makes it possible
+ to register item event listeners.
+ */
+published interface XRadioButton: com::sun::star::uno::XInterface
+{
+
+ /** registers a listener for item events.
+ */
+ void addItemListener( [in] com::sun::star::awt::XItemListener l );
+
+
+ /** unregisters a listener for item events.
+ */
+ void removeItemListener( [in] com::sun::star::awt::XItemListener l );
+
+
+ /** returns `TRUE` if the button is checked, `FALSE` otherwise.
+ */
+ boolean getState();
+
+
+ /** sets the state of the radio button.
+ */
+ void setState( [in] boolean b );
+
+
+ /** sets the label of the radio button.
+ */
+ void setLabel( [in] string Label );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XRegion.idl b/offapi/com/sun/star/awt/XRegion.idl
new file mode 100644
index 000000000..49a327fac
--- /dev/null
+++ b/offapi/com/sun/star/awt/XRegion.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_awt_XRegion_idl__
+#define __com_sun_star_awt_XRegion_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/awt/Rectangle.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** manages multiple rectangles which make up a region.
+ */
+published interface XRegion: com::sun::star::uno::XInterface
+{
+
+ /** returns the bounding box of the shape.
+ */
+ Rectangle getBounds();
+
+
+ /** makes this region an empty region.
+ */
+ void clear();
+
+
+ /** moves this region by the specified horizontal and vertical delta.
+ */
+ void move( [in] long nHorzMove,
+ [in] long nVertMove );
+
+
+ /** adds the specified rectangle to this region.
+ */
+ void unionRectangle( [in] Rectangle Rect );
+
+
+ /** intersects the specified rectangle with the current region.
+ */
+ void intersectRectangle( [in] Rectangle Region );
+
+
+ /** removes the area of the specified rectangle from this region.
+ */
+ void excludeRectangle( [in] Rectangle Rect );
+
+
+ /** applies an exclusive-or operation with the specified rectangle
+ to this region.
+ */
+ void xOrRectangle( [in] Rectangle Rect );
+
+
+ /** adds the specified region to this region.
+ */
+ void unionRegion( [in] XRegion Region );
+
+
+ /** intersects the specified region with the current region.
+ */
+ void intersectRegion( [in] XRegion Region );
+
+
+ /** removes the area of the specified region from this region.
+ */
+ void excludeRegion( [in] XRegion Region );
+
+
+ /** applies an exclusive-or operation with the specified region
+ to this region.
+ */
+ void xOrRegion( [in] XRegion Region );
+
+
+ /** returns all rectangles which are making up this region.
+ */
+ sequence<Rectangle> getRectangles();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XRequestCallback.idl b/offapi/com/sun/star/awt/XRequestCallback.idl
new file mode 100644
index 000000000..7e8ce9e39
--- /dev/null
+++ b/offapi/com/sun/star/awt/XRequestCallback.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_awt_XRequestCallback_idl__
+#define __com_sun_star_awt_XRequestCallback_idl__
+
+#include <com/sun/star/awt/XCallback.idl>
+
+
+module com { module sun { module star { module awt {
+
+
+/** specifies an interface which can be used to call back
+ an implementation
+ */
+interface XRequestCallback
+{
+
+ /** adds a callback request to the implementation
+
+ @param aData
+ any private data which will be provided to the callback implementation.
+
+ @param xCallback
+ a reference to the callback which should be called by the implementation
+ of this interface.
+ */
+ void addCallback( [in] XCallback xCallback, [in] any aData );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XReschedule.idl b/offapi/com/sun/star/awt/XReschedule.idl
new file mode 100644
index 000000000..f9f5fe22d
--- /dev/null
+++ b/offapi/com/sun/star/awt/XReschedule.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_awt_XReschedule_idl__
+#define __com_sun_star_awt_XReschedule_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+module com { module sun { module star { module awt {
+
+
+/** The XReschedule interface can be used to give control to the main
+ thread to allow events processing.
+
+ @deprecated
+ This interface was only implemented in an intermediate developer
+ release anyway.
+
+ @since OOo 2.0
+*/
+published interface XReschedule : ::com::sun::star::uno::XInterface
+{
+ /** Allow the main thread to process some events.
+ */
+ void reschedule();
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XScrollBar.idl b/offapi/com/sun/star/awt/XScrollBar.idl
new file mode 100644
index 000000000..6682c5cf8
--- /dev/null
+++ b/offapi/com/sun/star/awt/XScrollBar.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_awt_XScrollBar_idl__
+#define __com_sun_star_awt_XScrollBar_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/awt/XAdjustmentListener.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** gives access to the value and settings of a scroll bar and makes it possible
+ to register adjustment event listeners.
+ */
+published interface XScrollBar: com::sun::star::uno::XInterface
+{
+
+ /** registers an adjustment event listener.
+ */
+ void addAdjustmentListener( [in] com::sun::star::awt::XAdjustmentListener l );
+
+
+ /** unregisters an adjustment event listener.
+ */
+ void removeAdjustmentListener( [in] com::sun::star::awt::XAdjustmentListener l );
+
+
+ /** sets the scroll value of the scroll bar.
+ */
+ void setValue( [in] long n );
+
+
+ /** sets the scroll value, visible area and maximum scroll value
+ of the scroll bar.
+ */
+ void setValues( [in] long nValue,
+ [in] long nVisible,
+ [in] long nMax );
+
+
+ /** returns the current scroll value of the scroll bar.
+ */
+ long getValue();
+
+
+ /** sets the maximum scroll value of the scroll bar.
+ */
+ void setMaximum( [in] long n );
+
+
+ /** returns the currently set maximum scroll value of the scroll bar.
+ */
+ long getMaximum();
+
+
+ /** sets the increment for a single line move.
+ */
+ void setLineIncrement( [in] long n );
+
+
+ /** returns the currently set increment for a single line move.
+ */
+ long getLineIncrement();
+
+
+ /** sets the increment for a block move.
+ */
+ void setBlockIncrement( [in] long n );
+
+
+ /** returns the currently set increment for a block move.
+ */
+ long getBlockIncrement();
+
+
+ /** sets the visible size of the scroll bar.
+ */
+ void setVisibleSize( [in] long n );
+
+
+ /** returns the currently visible size of the scroll bar.
+ */
+ long getVisibleSize();
+
+
+ /** sets the ScrollBarOrientation of the scroll bar.
+ */
+ void setOrientation( [in] long n );
+
+
+ /** returns the currently set ScrollBarOrientation of the
+ scroll bar.
+ */
+ long getOrientation();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XSimpleTabController.idl b/offapi/com/sun/star/awt/XSimpleTabController.idl
new file mode 100644
index 000000000..189e35829
--- /dev/null
+++ b/offapi/com/sun/star/awt/XSimpleTabController.idl
@@ -0,0 +1,145 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_awt_XSimpleTabController_idl__
+#define __com_sun_star_awt_XSimpleTabController_idl__
+
+#include <com/sun/star/awt/XTabListener.idl>
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#include <com/sun/star/beans/NamedValue.idl>
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies the basic operations for a tab controller,
+ but does not require XControl as type of tabs.
+ */
+interface XSimpleTabController : com::sun::star::uno::XInterface
+{
+ /** create a new tab and return a unique ID,
+ which can be used further to address this tab by using other methods
+ of this interface.
+
+ @return [long
+ a unique ID for this new tab.
+ */
+ long insertTab();
+
+ /** remove a tab with the given ID.
+
+ @param ID
+ the ID of the tab, which should be removed.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the specified ID isn't used inside this tab controller.
+ */
+ void removeTab( [in] long ID )
+ raises( com::sun::star::lang::IndexOutOfBoundsException );
+
+ /** change some properties of the specified tab.
+
+ @param Properties
+ Such properties can be:
+ <table>
+ <tr>
+ <td><b>Property</b></td>
+ <td><b>Type</b></td>
+ <td><b>Description</b></td>
+ </tr>
+ <tr>
+ <td>Title</td>
+ <td>string</td>
+ <td>the title of the tab, which is shown at the UI.</td>
+ </tr>
+ <tr>
+ <td>Position</td>
+ <td>int</td>
+ <td>describe the order of this tab in relation to all other tabs inside this control.</td>
+ </tr>
+ </table>
+
+ @attention Not all properties must be supported by all implementations of this interface.
+ Of course some important ones should be handled by every implementation ...
+ as e.g. "Title".
+
+ @param ID
+ the ID of the tab, which should be changed.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the specified ID isn't used inside this tab controller.
+ */
+ void setTabProps( [in] long ID ,
+ [in] sequence< com::sun::star::beans::NamedValue > Properties )
+ raises( com::sun::star::lang::IndexOutOfBoundsException );
+
+ /** retrieve the set of properties for the specified tab.
+
+ @param ID
+ the ID of the tab.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the specified ID isn't used inside this tab controller.
+ */
+ sequence< com::sun::star::beans::NamedValue > getTabProps( [in] long ID )
+ raises( com::sun::star::lang::IndexOutOfBoundsException );
+
+ /** activate the specified tab.
+
+ The new tab will be activated and all listener will get an event describing this.
+ Of course there will be an event too, which notifies listener about the deactivation
+ of the last active tab.
+
+ @param ID
+ the ID of the new active tab.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the specified ID isn't used inside this tab controller.
+ */
+ void activateTab( [in] long ID )
+ raises( com::sun::star::lang::IndexOutOfBoundsException );
+
+ /** return the unique ID of the current active tab.
+
+ @return [long]
+ the ID of the active tab.
+ */
+ long getActiveTabID();
+
+ /** register listener for inserting/removing tabs and changing their properties.
+
+ @param Listener
+ the listener to register.
+ */
+ void addTabListener( [in] XTabListener Listener );
+
+ /** unregister listener for inserting/removing tabs and changing their properties.
+
+ @param Listener
+ the listener to unregister.
+ */
+ void removeTabListener( [in] XTabListener Listener );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XSpinField.idl b/offapi/com/sun/star/awt/XSpinField.idl
new file mode 100644
index 000000000..8108bb4c6
--- /dev/null
+++ b/offapi/com/sun/star/awt/XSpinField.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_awt_XSpinField_idl__
+#define __com_sun_star_awt_XSpinField_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/awt/XSpinListener.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** gives access to the value of a spin field and makes it possible to
+ register for spin events.
+ */
+published interface XSpinField: com::sun::star::uno::XInterface
+{
+
+ /** registers a listener for spin events.
+ */
+ void addSpinListener( [in] com::sun::star::awt::XSpinListener l );
+
+
+ /** unregisters a listener for spin events.
+ */
+ void removeSpinListener( [in] com::sun::star::awt::XSpinListener l );
+
+
+ /** increases the value by one step.
+ */
+ void up();
+
+
+ /** decreases the value by one step.
+ */
+ void down();
+
+
+ /** sets the value to the previously set lower value.
+ */
+ void first();
+
+
+ /** sets the value to the previously set upper value.
+ */
+ void last();
+
+
+ /** enables/disables automatic repeat mode.
+ */
+ void enableRepeat( [in] boolean bRepeat );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XSpinListener.idl b/offapi/com/sun/star/awt/XSpinListener.idl
new file mode 100644
index 000000000..0e5295d3e
--- /dev/null
+++ b/offapi/com/sun/star/awt/XSpinListener.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_awt_XSpinListener_idl__
+#define __com_sun_star_awt_XSpinListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+
+#include <com/sun/star/awt/SpinEvent.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** makes it possible to receive spin events.
+ */
+published interface XSpinListener: com::sun::star::lang::XEventListener
+{
+
+ /** is invoked when the spin field is spun up.
+ */
+ void up( [in] com::sun::star::awt::SpinEvent rEvent );
+
+
+ /** is invoked when the spin field is spun down.
+ */
+ void down( [in] com::sun::star::awt::SpinEvent rEvent );
+
+
+ /** is invoked when the spin field is set to the lower value.
+ */
+ void first( [in] com::sun::star::awt::SpinEvent rEvent );
+
+
+ /** is invoked when the spin field is set to the upper value.
+ */
+ void last( [in] com::sun::star::awt::SpinEvent rEvent );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XSpinValue.idl b/offapi/com/sun/star/awt/XSpinValue.idl
new file mode 100644
index 000000000..1001ce0d8
--- /dev/null
+++ b/offapi/com/sun/star/awt/XSpinValue.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_awt_XSpinValue_idl__
+#define __com_sun_star_awt_XSpinValue_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/awt/XAdjustmentListener.idl>
+#include <com/sun/star/lang/NoSupportException.idl>
+
+
+ module com { module sun { module star { module awt {
+
+
+/** gives access to the value and settings of a control which is associated with
+ a spinnable value.
+ */
+interface XSpinValue : com::sun::star::uno::XInterface
+{
+
+ /** registers an adjustment event listener.
+ */
+ void addAdjustmentListener( [in] com::sun::star::awt::XAdjustmentListener listener );
+
+
+ /** unregisters an adjustment event listener.
+ */
+ void removeAdjustmentListener( [in] com::sun::star::awt::XAdjustmentListener listener );
+
+
+ /** sets the current value of the control
+ */
+ void setValue( [in] long value );
+
+
+ /** sets the value and value range of the control
+
+ @see setValue
+ @see setMinimum
+ @see setMaximum
+ */
+ void setValues( [in] long minValue, [in] long maxValue, [in] long currentValue );
+
+
+ /** returns the current value of the control.
+ */
+ long getValue();
+
+
+ /** sets the minimum value which can be set on the control
+ */
+ void setMinimum( [in] long minValue );
+
+
+ /** sets the maximum value which can be set on the control
+ */
+ void setMaximum( [in] long maxValue );
+
+
+ /** returns the currently set minimum value of the control
+ */
+ long getMinimum();
+
+
+ /** returns the currently set maximum value of the control
+ */
+ long getMaximum();
+
+
+ /** sets the value by which the current value of the control
+ should be incremented or decremented upon spinning.
+ */
+ void setSpinIncrement( [in] long spinIncrement );
+
+
+ /** returns the value by which the current value of the control
+ should be incremented or decremented upon spinning.
+ */
+ long getSpinIncrement();
+
+
+ /** controls the orientation of the control
+ @param orientation
+ one of the ScrollBarOrientation values specifying the orientation
+ @throws com::sun::star::lang::NoSupportException
+ in case the given orientation is not supported
+ */
+ void setOrientation( [in] long orientation )
+ raises( com::sun::star::lang::NoSupportException );
+
+
+ /** returns the current orientation of the control
+ */
+ long getOrientation();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XStyleChangeListener.idl b/offapi/com/sun/star/awt/XStyleChangeListener.idl
new file mode 100644
index 000000000..a415a9a56
--- /dev/null
+++ b/offapi/com/sun/star/awt/XStyleChangeListener.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_awt_XStyleChangeListener_idl__
+#define __com_sun_star_awt_XStyleChangeListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+
+
+module com { module sun { module star { module awt {
+
+
+/** to be implemented by components which wish to be notified about changes in the style of a component
+
+ @see XStyleSettings
+ */
+interface XStyleChangeListener : ::com::sun::star::lang::XEventListener
+{
+ /// called when the style settings of the observed component changed
+ void styleSettingsChanged( [in] com::sun::star::lang::EventObject Event );
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XStyleSettings.idl b/offapi/com/sun/star/awt/XStyleSettings.idl
new file mode 100644
index 000000000..47a55d6e4
--- /dev/null
+++ b/offapi/com/sun/star/awt/XStyleSettings.idl
@@ -0,0 +1,224 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_awt_XStyleSettings_idl__
+#define __com_sun_star_awt_XStyleSettings_idl__
+
+#include <com/sun/star/util/Color.idl>
+#include <com/sun/star/awt/FontDescriptor.idl>
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module awt {
+
+interface XStyleChangeListener;
+
+
+/** provides access to certain style settings within an OpenOffice.org component, such as a window, or
+ within OpenOffice.org as a whole.
+
+ <p>Note that there are constraints for those settings. For instance, if controls are drawn with the
+ native widget framework, i.e. in the desktop theme's look, then they won't necessarily respect all
+ their style settings, because those have a lesser priority than the native look.</p>
+
+ <p>On the other hand, some settings are respected only when rendering the controls in the native
+ desktop/theme look. For instance, without native theming, buttons do not support a "roll over" mode,
+ i.e., they're painted the same way, no matter if they mouse hovers over them or not. But with native
+ theming, this changes, as here the general button look is drawn by the system's theming engine,
+ while the text is drawn by OpenOffice.org. In this case, the button respects the
+ <code>ButtonRolloverTextColor</code> when painting its text.</p>
+ */
+interface XStyleSettings
+{
+ /// specifies the color of the border of active windows
+ [attribute] ::com::sun::star::util::Color ActiveBorderColor;
+
+
+ [attribute] ::com::sun::star::util::Color ActiveColor;
+
+ /// specifies the color of the active tab of a tab control
+ [attribute] ::com::sun::star::util::Color ActiveTabColor;
+
+ /// specifies the text color for active UI components
+ [attribute] ::com::sun::star::util::Color ActiveTextColor;
+
+ /// specifies the color to use for text on buttons which are hovered with the mouse
+ [attribute] ::com::sun::star::util::Color ButtonRolloverTextColor;
+
+ /// specifies the color to use for text on buttons
+ [attribute] ::com::sun::star::util::Color ButtonTextColor;
+
+
+ [attribute] ::com::sun::star::util::Color CheckedColor;
+
+ /// specifies the dark portion of the shadow to use for UI elements
+ [attribute] ::com::sun::star::util::Color DarkShadowColor;
+
+ /// specifies the color of the border of inactive windows
+ [attribute] ::com::sun::star::util::Color DeactiveBorderColor;
+
+
+ [attribute] ::com::sun::star::util::Color DeactiveColor;
+
+ /// specifies the text color for inactive UI components
+ [attribute] ::com::sun::star::util::Color DeactiveTextColor;
+
+ /// specifies the background color of dialogs
+ [attribute] ::com::sun::star::util::Color DialogColor;
+
+ /// specifies the text color of dialogs
+ [attribute] ::com::sun::star::util::Color DialogTextColor;
+
+ /// specifies the text color for disabled UI elements
+ [attribute] ::com::sun::star::util::Color DisableColor;
+
+
+ [attribute] ::com::sun::star::util::Color FaceColor;
+
+
+ [attribute, readonly] ::com::sun::star::util::Color FaceGradientColor;
+
+ /// specifies the background color for dialog input controls
+ [attribute] ::com::sun::star::util::Color FieldColor;
+
+ /// specifies the text color for dialog input controls which are hovered with the mouse
+ [attribute] ::com::sun::star::util::Color FieldRolloverTextColor;
+
+ /// specifies the text color for dialog input controls
+ [attribute] ::com::sun::star::util::Color FieldTextColor;
+
+ /// specifies the text color for dialog elements used for grouping other elements
+ [attribute] ::com::sun::star::util::Color GroupTextColor;
+
+ /// specifies the background color for dialog elements displaying help content
+ [attribute] ::com::sun::star::util::Color HelpColor;
+
+ /// specifies the text color for dialog elements displaying help content
+ [attribute] ::com::sun::star::util::Color HelpTextColor;
+
+ /// specifies the background color for UI elements which are highlighted
+ [attribute] ::com::sun::star::util::Color HighlightColor;
+
+ /// specifies the text color for UI elements which are highlighted
+ [attribute] ::com::sun::star::util::Color HighlightTextColor;
+
+ /// specifies the color of inactive tabs of a tab control
+ [attribute] ::com::sun::star::util::Color InactiveTabColor;
+
+ /// specifies the text color of label elements in dialogs
+ [attribute] ::com::sun::star::util::Color LabelTextColor;
+
+
+ [attribute] ::com::sun::star::util::Color LightColor;
+
+ /// specifies the background color of menu bars
+ [attribute] ::com::sun::star::util::Color MenuBarColor;
+
+ /// specifies the text color of menu bars
+ [attribute] ::com::sun::star::util::Color MenuBarTextColor;
+
+ /// specifies the border color of menus
+ [attribute] ::com::sun::star::util::Color MenuBorderColor;
+
+ // specifies the background color of menus
+ [attribute] ::com::sun::star::util::Color MenuColor;
+
+ /// specifies the background color of highlighted menu items
+ [attribute] ::com::sun::star::util::Color MenuHighlightColor;
+
+ /// specifies the text color of highlighted menu items
+ [attribute] ::com::sun::star::util::Color MenuHighlightTextColor;
+
+ // specifies the text color of menus
+ [attribute] ::com::sun::star::util::Color MenuTextColor;
+
+ /// specifies the color to use for monochrome control elements such as flat borders of controls
+ [attribute] ::com::sun::star::util::Color MonoColor;
+
+ /// specifies the text color of radio buttons and check boxes
+ [attribute] ::com::sun::star::util::Color RadioCheckTextColor;
+
+ /// specifies the color of separators between UI elements
+ [attribute, readonly] ::com::sun::star::util::Color SeparatorColor;
+
+ /// specifies the color to use for UI elements
+ [attribute] ::com::sun::star::util::Color ShadowColor;
+
+ /// specifies the background color to use for non-dialog windows
+ [attribute] ::com::sun::star::util::Color WindowColor;
+
+ /// specifies the text color to use for non-dialog windows
+ [attribute] ::com::sun::star::util::Color WindowTextColor;
+
+ /// specifies the background color to use for document workspaces
+ [attribute] ::com::sun::star::util::Color WorkspaceColor;
+
+ /** controls whether the an UI component should use a high-contrast mode
+ */
+ [attribute] boolean HighContrastMode;
+
+ /// specifies the application font
+ [attribute] FontDescriptor ApplicationFont;
+
+ /// specifies the help font
+ [attribute] FontDescriptor HelpFont;
+
+ /// specifies the font to use for window titles
+ [attribute] FontDescriptor TitleFont;
+
+ /// specifies the font to use the title of floating windows
+ [attribute] FontDescriptor FloatTitleFont;
+
+ /// specifies the font to use for menus
+ [attribute] FontDescriptor MenuFont;
+
+ /// specifies the font to use for tool elements
+ [attribute] FontDescriptor ToolFont;
+
+ /// specifies the font for dialog elements used for grouping other elements
+ [attribute] FontDescriptor GroupFont;
+
+ /// specifies the font for label controls
+ [attribute] FontDescriptor LabelFont;
+
+ /// specifies the font of radio buttons and check boxes
+ [attribute] FontDescriptor RadioCheckFont;
+
+ /// specifies the font of push buttons
+ [attribute] FontDescriptor PushButtonFont;
+
+ /// specifies the font for dialog input controls
+ [attribute] FontDescriptor FieldFont;
+
+ /// registers a listener to be notified when the style settings change
+ void addStyleChangeListener(
+ [in] XStyleChangeListener Listener );
+
+ /// registers a listener to be notified when the style settings change
+ void removeStyleChangeListener(
+ [in] XStyleChangeListener Listener );
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XStyleSettingsSupplier.idl b/offapi/com/sun/star/awt/XStyleSettingsSupplier.idl
new file mode 100644
index 000000000..7e5b53401
--- /dev/null
+++ b/offapi/com/sun/star/awt/XStyleSettingsSupplier.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_awt_XStyleSettingsSupplier_idl__
+#define __com_sun_star_awt_XStyleSettingsSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module awt {
+
+ interface XStyleSettings;
+
+
+/** provides access to the style settings of a component
+ */
+interface XStyleSettingsSupplier
+{
+ [attribute, readonly] XStyleSettings StyleSettings;
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XSystemChildFactory.idl b/offapi/com/sun/star/awt/XSystemChildFactory.idl
new file mode 100644
index 000000000..39b22d8be
--- /dev/null
+++ b/offapi/com/sun/star/awt/XSystemChildFactory.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_awt_XSystemChildFactory_idl__
+#define __com_sun_star_awt_XSystemChildFactory_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+module com { module sun { module star { module awt {
+
+
+ published interface XWindowPeer;
+
+/** specifies a factory interface for creating system child windows.
+ */
+published interface XSystemChildFactory : com::sun::star::uno::XInterface
+{
+
+ /** creates a system child window.
+
+ @returns
+ the created window.
+
+ @param Parent
+ a system-specific handle to a window.
+
+ <p>You must check the machine ID and the process ID.<BR>
+ WIN32: HWND.<BR>
+ WIN16: HWND.<BR>
+
+ JAVA: global reference to a java.awt.Component
+ object provided from the JNI-API.<BR>
+
+ MAC: (NSView*) pointer.<BR></p>
+
+ @param ProcessId
+ Ignored.
+
+ @param SystemType
+ one constant out of the constant group
+ com::sun::star::lang::SystemDependent.
+ */
+ XWindowPeer createSystemChild( [in] any Parent, [in] sequence< byte > ProcessId, [in] short SystemType );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XSystemDependentMenuPeer.idl b/offapi/com/sun/star/awt/XSystemDependentMenuPeer.idl
new file mode 100644
index 000000000..3966ad9cb
--- /dev/null
+++ b/offapi/com/sun/star/awt/XSystemDependentMenuPeer.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_awt_XSystemDependentMenuPeer_idl__
+#define __com_sun_star_awt_XSystemDependentMenuPeer_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** provides access to the system dependent implementation of the window.
+
+ @see com::sun::star::lang::SystemDependent
+ @see WindowAttribute
+ @see WindowAttribute::SYSTEMDEPENDENT
+ */
+interface XSystemDependentMenuPeer: com::sun::star::uno::XInterface
+{
+
+ /** returns a system-specific window handle.
+
+ @returns
+ a system-specific handle to a menu
+ or 0 if the menu is not in the same process.
+
+ <p>You must check the machine ID and the process ID.<BR>
+ WIN32: Returns an HMENU if possible, otherwise 0.<BR>
+ WIN16: Returns an HMENU if possible, otherwise 0.<BR>
+
+ @param ProcessId
+ the process identifier. Use the sal_getGlobalProcessId
+ function of the RTL library.
+
+ @param SystemType
+ one constant out of the constant group
+ com::sun::star::lang::SystemDependent.
+ */
+ any getMenuHandle( [in] sequence< byte > ProcessId, [in] short SystemType );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XSystemDependentWindowPeer.idl b/offapi/com/sun/star/awt/XSystemDependentWindowPeer.idl
new file mode 100644
index 000000000..cfb48b67e
--- /dev/null
+++ b/offapi/com/sun/star/awt/XSystemDependentWindowPeer.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_awt_XSystemDependentWindowPeer_idl__
+#define __com_sun_star_awt_XSystemDependentWindowPeer_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** provides access to the system dependent implementation of the window.
+
+ @see com::sun::star::lang::SystemDependent
+ @see WindowAttribute
+ @see WindowAttribute::SYSTEMDEPENDENT
+ */
+published interface XSystemDependentWindowPeer: com::sun::star::uno::XInterface
+{
+
+ /** returns a system-specific window handle.
+
+ @returns
+ a system-specific handle to a window
+ or 0 if the window is not in the same process.
+
+ <p>You must check the machine ID and the process ID.<BR>
+ WIN32: Returns an HWND if possible, otherwise 0.<BR>
+ WIN16: Returns an HWND if possible, otherwise 0.<BR>
+
+ JAVA: Returns a global reference to a java.awt.Component
+ object provided from the JNI-API.<BR>
+
+ MAC: Returns a ptr to the NSView implementing the window.<BR>
+
+ XWINDOW: Returns a structure SystemDependentXWindow
+ or void if it is not reachable.<BR></p>
+
+ @param ProcessId
+ the process identifier. Use the sal_getGlobalProcessId
+ function of the RTL library.
+
+ @param SystemType
+ one constant out of the constant group
+ com::sun::star::lang::SystemDependent.
+ */
+ any getWindowHandle( [in] sequence< byte > ProcessId, [in] short SystemType );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XTabController.idl b/offapi/com/sun/star/awt/XTabController.idl
new file mode 100644
index 000000000..59b954099
--- /dev/null
+++ b/offapi/com/sun/star/awt/XTabController.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_awt_XTabController_idl__
+#define __com_sun_star_awt_XTabController_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/awt/XTabControllerModel.idl>
+
+#include <com/sun/star/awt/XControlContainer.idl>
+
+#include <com/sun/star/awt/XControl.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies the basic operations for a tab controller.
+ */
+published interface XTabController: com::sun::star::uno::XInterface
+{
+
+ /** sets the tab controller model.
+ */
+ void setModel( [in] com::sun::star::awt::XTabControllerModel Model );
+
+
+ /** returns the tab controller model.
+ */
+ com::sun::star::awt::XTabControllerModel getModel();
+
+
+ /** set the control container.
+ */
+ void setContainer( [in] com::sun::star::awt::XControlContainer Container );
+
+
+ /** returns the control container.
+ */
+ com::sun::star::awt::XControlContainer getContainer();
+
+
+ /** returns all controls of the control container.
+ */
+ sequence<com::sun::star::awt::XControl> getControls();
+
+
+ /** enables automatic tab order.
+ */
+ void autoTabOrder();
+
+
+ /** activates tab order.
+ */
+ void activateTabOrder();
+
+
+ /** sets the focus to the first control that can be reached with the
+ TAB key.
+ */
+ void activateFirst();
+
+
+ /** sets the focus to the last control that can be reached with the
+ TAB key.
+ */
+ void activateLast();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XTabControllerModel.idl b/offapi/com/sun/star/awt/XTabControllerModel.idl
new file mode 100644
index 000000000..e8248606a
--- /dev/null
+++ b/offapi/com/sun/star/awt/XTabControllerModel.idl
@@ -0,0 +1,86 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_awt_XTabControllerModel_idl__
+#define __com_sun_star_awt_XTabControllerModel_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/awt/XControlModel.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies the basic operations for a tab controller model.
+ */
+published interface XTabControllerModel: com::sun::star::uno::XInterface
+{
+
+ /** returns whether the control models are grouped together.
+ */
+ boolean getGroupControl();
+
+
+ /** determines if the control models are grouped together.
+ */
+ void setGroupControl( [in] boolean GroupControl );
+
+
+ /** sets the control models.
+ */
+ void setControlModels( [in] sequence<com::sun::star::awt::XControlModel> Controls );
+
+
+ /** returns the control models.
+ */
+ sequence<com::sun::star::awt::XControlModel> getControlModels();
+
+
+ /** sets a control model group.
+ */
+ void setGroup( [in] sequence<com::sun::star::awt::XControlModel> Group,
+ [in] string GroupName );
+
+
+ /** returns the number of control model groups.
+ */
+ long getGroupCount();
+
+
+ /** returns a control model group.
+ */
+ void getGroup( [in] long nGroup,
+ [out] sequence<com::sun::star::awt::XControlModel> Group,
+ [out] string Name );
+
+
+ /** returns a control model group by name.
+ */
+ void getGroupByName( [in] string Name,
+ [out] sequence<com::sun::star::awt::XControlModel> Group );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XTabListener.idl b/offapi/com/sun/star/awt/XTabListener.idl
new file mode 100644
index 000000000..142fbb234
--- /dev/null
+++ b/offapi/com/sun/star/awt/XTabListener.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_awt_XTabListener_idl__
+#define __com_sun_star_awt_XTabListener_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/XEventListener.idl>
+#include <com/sun/star/beans/NamedValue.idl>
+
+
+ module com { module sun { module star { module awt {
+
+
+/** such listener will be informed if tab's was inserted/removed from
+ an XSimpleTabController instance or if the properties of a tab was changed.
+ */
+interface XTabListener : com::sun::star::lang::XEventListener
+{
+ /** a new tab was inserted.
+
+ @param ID
+ this is the unique ID of this new tab.
+ */
+ void inserted( [in] long ID );
+
+ /** a tab was removed.
+
+ @param ID
+ this was the unique ID of this tab.
+ */
+ void removed( [in] long ID );
+
+ /** a tab was changed within its properties.
+
+ @param ID
+ the unique ID of the changed tab.
+
+ @param Properties
+ the current set of properties for this tab.
+ */
+ void changed( [in] long ID ,
+ [in] sequence< com::sun::star::beans::NamedValue > Properties );
+
+ /** a tab was activated (e.g. by using mouse/keyboard or
+ method XSimpleTabController::activateTab()
+ */
+ void activated( [in] long ID );
+
+ /** a tab was deactivated, because another tab became the new active state.
+ */
+ void deactivated( [in] long ID );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XTextArea.idl b/offapi/com/sun/star/awt/XTextArea.idl
new file mode 100644
index 000000000..ad89303ab
--- /dev/null
+++ b/offapi/com/sun/star/awt/XTextArea.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_awt_XTextArea_idl__
+#define __com_sun_star_awt_XTextArea_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** gives access to the text in a control.
+ */
+published interface XTextArea: com::sun::star::uno::XInterface
+{
+
+ /** returns the text lines as a single string with line separators.
+ */
+ string getTextLines();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XTextComponent.idl b/offapi/com/sun/star/awt/XTextComponent.idl
new file mode 100644
index 000000000..eba56acb9
--- /dev/null
+++ b/offapi/com/sun/star/awt/XTextComponent.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_awt_XTextComponent_idl__
+#define __com_sun_star_awt_XTextComponent_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/awt/XTextListener.idl>
+
+#include <com/sun/star/awt/Selection.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** gives access to the text of a component and makes it possible
+ to register event listeners.
+ */
+published interface XTextComponent: com::sun::star::uno::XInterface
+{
+
+ /** registers a text event listener.
+ */
+ void addTextListener( [in] com::sun::star::awt::XTextListener l );
+
+
+ /** unregisters a text event listener.
+ */
+ void removeTextListener( [in] com::sun::star::awt::XTextListener l );
+
+
+ /** sets the text of the component.
+ */
+ void setText( [in] string aText );
+
+
+ /** inserts text at the specified position.
+ */
+ void insertText( [in] com::sun::star::awt::Selection Sel,
+ [in] string Text );
+
+
+ /** returns the text of the component.
+ */
+ string getText();
+
+
+ /** returns the currently selected text.
+ */
+ string getSelectedText();
+
+
+ /** sets the user selection.
+ */
+ void setSelection( [in] com::sun::star::awt::Selection aSelection );
+
+
+ /** returns the current user selection.
+ */
+ com::sun::star::awt::Selection getSelection();
+
+
+ /** returns if the text is editable by the user.
+ */
+ boolean isEditable();
+
+
+ /** makes the text editable for the user or read-only.
+ */
+ void setEditable( [in] boolean bEditable );
+
+
+ /** sets the maximum text length.
+ */
+ void setMaxTextLen( [in] short nLen );
+
+
+ /** returns the currently set maximum text length.
+ */
+ short getMaxTextLen();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XTextEditField.idl b/offapi/com/sun/star/awt/XTextEditField.idl
new file mode 100644
index 000000000..2b2c907e9
--- /dev/null
+++ b/offapi/com/sun/star/awt/XTextEditField.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_awt_XTextEditField_idl__
+#define __com_sun_star_awt_XTextEditField_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** is used for password fields.
+ */
+published interface XTextEditField: com::sun::star::uno::XInterface
+{
+
+ /** sets the character to display as a substitute on user input.
+ */
+ void setEchoChar( [in] char cEcho );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XTextLayoutConstrains.idl b/offapi/com/sun/star/awt/XTextLayoutConstrains.idl
new file mode 100644
index 000000000..c2c5f2b7b
--- /dev/null
+++ b/offapi/com/sun/star/awt/XTextLayoutConstrains.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_awt_XTextLayoutConstrains_idl__
+#define __com_sun_star_awt_XTextLayoutConstrains_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/awt/Size.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies the layout constraints for a text field.
+ */
+published interface XTextLayoutConstrains: com::sun::star::uno::XInterface
+{
+
+ /** returns the minimum size for a given number of columns and lines.
+ */
+ com::sun::star::awt::Size getMinimumSize( [in] short nCols,
+ [in] short nLines );
+
+
+ /** returns the ideal number of columns and lines for displaying this text.
+ */
+ void getColumnsAndLines( [out] short nCols, [out] short nLines );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XTextListener.idl b/offapi/com/sun/star/awt/XTextListener.idl
new file mode 100644
index 000000000..50bdcca0b
--- /dev/null
+++ b/offapi/com/sun/star/awt/XTextListener.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_awt_XTextListener_idl__
+#define __com_sun_star_awt_XTextListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+
+#include <com/sun/star/awt/TextEvent.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** makes it possible to receive text change events.
+ */
+published interface XTextListener: com::sun::star::lang::XEventListener
+{
+
+ /** is invoked when the text has changed.
+ */
+ void textChanged( [in] com::sun::star::awt::TextEvent rEvent );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XTimeField.idl b/offapi/com/sun/star/awt/XTimeField.idl
new file mode 100644
index 000000000..b48f3d9f0
--- /dev/null
+++ b/offapi/com/sun/star/awt/XTimeField.idl
@@ -0,0 +1,113 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_awt_XTimeField_idl__
+#define __com_sun_star_awt_XTimeField_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/util/Time.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** gives access to the value and settings of a time field.
+ */
+published interface XTimeField: com::sun::star::uno::XInterface
+{
+
+ /** sets the time value which is displayed in the time field.
+ */
+ void setTime( [in] com::sun::star::util::Time Time );
+
+
+ /** returns the time value which is currently displayed in the time field.
+ */
+ com::sun::star::util::Time getTime();
+
+
+ /** sets the minimum time value that can be entered by the user.
+ */
+ void setMin( [in] com::sun::star::util::Time Time );
+
+
+ /** returns the currently set minimum time value that can be entered by
+ the user.
+ */
+ com::sun::star::util::Time getMin();
+
+
+ /** sets the maximum time value that can be entered by the user.
+ */
+ void setMax( [in] com::sun::star::util::Time Time );
+
+
+ /** returns the currently set maximum time value that can be entered by
+ the user.
+ */
+ com::sun::star::util::Time getMax();
+
+
+ /** sets the first value to be set on POS1 key.
+ */
+ void setFirst( [in] com::sun::star::util::Time Time );
+
+
+ /** returns the currently set first value which is set on POS1 key.
+ */
+ com::sun::star::util::Time getFirst();
+
+
+ /** sets the last value to be set on END key.
+ */
+ void setLast( [in] com::sun::star::util::Time Time );
+
+
+ /** returns the currently set last value which is set on END key.
+ */
+ com::sun::star::util::Time getLast();
+
+
+ /** sets an empty value for the time.
+ */
+ void setEmpty();
+
+
+ /** returns whether currently an empty value is set for the time.
+ */
+ boolean isEmpty();
+
+
+ /** determines if the format is checked during user input.
+ */
+ void setStrictFormat( [in] boolean bStrict );
+
+
+ /** returns whether the format is currently checked during user input.
+ */
+ boolean isStrictFormat();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XToggleButton.idl b/offapi/com/sun/star/awt/XToggleButton.idl
new file mode 100644
index 000000000..5d71e6062
--- /dev/null
+++ b/offapi/com/sun/star/awt/XToggleButton.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_awt_XToggleButton_idl__
+#define __com_sun_star_awt_XToggleButton_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/awt/XItemEventBroadcaster.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** is supported by buttons which can be toggled between a "pressed" and an "unpressed" state
+
+ <p>Changes in the toggle state are broadcasted to XItemListener instances.</p>
+ */
+interface XToggleButton: XItemEventBroadcaster
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XToolkit.idl b/offapi/com/sun/star/awt/XToolkit.idl
new file mode 100644
index 000000000..1cff0b181
--- /dev/null
+++ b/offapi/com/sun/star/awt/XToolkit.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_awt_XToolkit_idl__
+#define __com_sun_star_awt_XToolkit_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/awt/XWindowPeer.idl>
+
+#include <com/sun/star/awt/Rectangle.idl>
+
+#include <com/sun/star/awt/WindowDescriptor.idl>
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+#include <com/sun/star/awt/XDevice.idl>
+
+#include <com/sun/star/awt/XRegion.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies a factory interface for the window toolkit.
+
+ <p>This is similar to the abstract window toolkit (AWT) in Java.</p>
+ */
+published interface XToolkit: com::sun::star::uno::XInterface
+{
+
+ /** returns the desktop window.
+ */
+ com::sun::star::awt::XWindowPeer getDesktopWindow();
+
+
+ /**
+ * For LibreOffice versions < 4.1, this method just returned an empty rectangle.
+ * After that, it started returning a valid value.
+ *
+ * @returns the size and position of the primary display
+ */
+ com::sun::star::awt::Rectangle getWorkArea();
+
+
+ /** creates a new window using the given descriptor.
+ */
+ com::sun::star::awt::XWindowPeer createWindow( [in] com::sun::star::awt::WindowDescriptor Descriptor )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+
+ /** returns a sequence of windows which are newly created using the
+ given descriptors.
+ */
+ sequence<com::sun::star::awt::XWindowPeer> createWindows(
+ [in] sequence<com::sun::star::awt::WindowDescriptor> Descriptors )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+
+ /** creates a virtual device that is compatible with the screen.
+ */
+ com::sun::star::awt::XDevice createScreenCompatibleDevice( [in] long Width,
+ [in] long Height );
+
+
+ /** creates a region.
+ */
+ com::sun::star::awt::XRegion createRegion();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XToolkit2.idl b/offapi/com/sun/star/awt/XToolkit2.idl
new file mode 100644
index 000000000..3dead5c50
--- /dev/null
+++ b/offapi/com/sun/star/awt/XToolkit2.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_awt_XToolkit2_idl__
+#define __com_sun_star_awt_XToolkit2_idl__
+
+#include <com/sun/star/awt/XToolkit.idl>
+#include <com/sun/star/awt/XDataTransferProviderAccess.idl>
+#include <com/sun/star/awt/XSystemChildFactory.idl>
+#include <com/sun/star/awt/XMessageBoxFactory.idl>
+#include <com/sun/star/awt/XExtendedToolkit.idl>
+#include <com/sun/star/awt/XReschedule.idl>
+
+
+
+module com { module sun { module star { module awt {
+
+
+/**
+ Provides a unified interface for the new-style service Toolkit to implement.
+
+ @since LibreOffice 4.0
+ */
+published interface XToolkit2
+{
+ interface XToolkit;
+
+ interface com::sun::star::awt::XDataTransferProviderAccess;
+
+ interface com::sun::star::awt::XSystemChildFactory;
+
+ interface com::sun::star::awt::XMessageBoxFactory;
+
+ interface com::sun::star::awt::XExtendedToolkit;
+
+ interface com::sun::star::awt::XReschedule;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XToolkit3.idl b/offapi/com/sun/star/awt/XToolkit3.idl
new file mode 100644
index 000000000..36d9800c5
--- /dev/null
+++ b/offapi/com/sun/star/awt/XToolkit3.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_awt_XToolkit3_idl__
+#define __com_sun_star_awt_XToolkit3_idl__
+
+#include <com/sun/star/awt/XToolkit2.idl>
+#include <com/sun/star/awt/XFontMappingUse.idl>
+
+
+
+module com { module sun { module star { module awt {
+
+
+/**
+ Provides a unified interface for the new-style service Toolkit to implement.
+
+ @since LibreOffice 7.3
+ */
+published interface XToolkit3
+{
+ interface XToolkit2;
+
+ interface com::sun::star::awt::XFontMappingUse;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XToolkitExperimental.idl b/offapi/com/sun/star/awt/XToolkitExperimental.idl
new file mode 100644
index 000000000..d47353dc7
--- /dev/null
+++ b/offapi/com/sun/star/awt/XToolkitExperimental.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/.
+ */
+
+#ifndef __com_sun_star_awt_XToolkitExperimental_idl__
+#define __com_sun_star_awt_XToolkitExperimental_idl__
+
+#include <com/sun/star/awt/XToolkit3.idl>
+
+module com { module sun { module star { module awt {
+
+/** Work in progress, don't use unless you know what you are doing.
+ */
+
+interface XToolkitExperimental : XToolkit3
+{
+ /** Process all pending idle events
+ */
+ void processEventsToIdle();
+
+ /** Get the number of OpenGL buffer swaps.
+ */
+ hyper getOpenGLBufferSwapCounter();
+
+ /** Turn on or off deterministic scheduling (off is the default).
+ */
+ void setDeterministicScheduling([in] boolean bDeterministicMode);
+
+ /** Pause the main thread of LibreOffice for the requested amount of time.
+ */
+ void pause([in] long nMilliseconds);
+
+ /** Start time logging.
+
+ @since LibreOffice 6.0
+ */
+ void startRecording();
+
+ /** Stop time logging.
+
+ @since LibreOffice 6.0
+ */
+ void stopRecording();
+
+ /** Query time logs and clear recording.
+ First line is the time of the recorded operations in seconds,
+ next ones are the log lines. A log line contains the thread ID,
+ time stamp, profile zone ID and "start" or "stop".
+
+ @since LibreOffice 6.0
+ */
+ sequence<string> getRecordingAndClear();
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XToolkitRobot.idl b/offapi/com/sun/star/awt/XToolkitRobot.idl
new file mode 100644
index 000000000..a74521d5e
--- /dev/null
+++ b/offapi/com/sun/star/awt/XToolkitRobot.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_awt_XToolkitRobot_idl__
+#define __com_sun_star_awt_XToolkitRobot_idl__
+
+#include <com/sun/star/awt/KeyEvent.idl>
+#include <com/sun/star/awt/XTopWindow.idl>
+
+module com { module sun { module star { module awt {
+
+/** Allows injection of keyboard and mouse events
+ @since LibreOffice 5.1
+ */
+interface XToolkitRobot
+{
+
+ void keyPress( [in] com::sun::star::awt::KeyEvent aKeyEvent );
+
+ void keyRelease( [in] com::sun::star::awt::KeyEvent aKeyEvent );
+
+ void mousePress( [in] com::sun::star::awt::MouseEvent aMouseEvent );
+
+ void mouseRelease( [in] com::sun::star::awt::MouseEvent aMouseEvent );
+
+ void mouseMove( [in] com::sun::star::awt::MouseEvent aMouseEvent );
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XTopWindow.idl b/offapi/com/sun/star/awt/XTopWindow.idl
new file mode 100644
index 000000000..05e3b7a99
--- /dev/null
+++ b/offapi/com/sun/star/awt/XTopWindow.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_awt_XTopWindow_idl__
+#define __com_sun_star_awt_XTopWindow_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/awt/XTopWindowListener.idl>
+
+#include <com/sun/star/awt/XMenuBar.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** manages the functionality specific for a top window.
+ */
+published interface XTopWindow: com::sun::star::uno::XInterface
+{
+
+ /** adds the specified top window listener to receive window events from
+ this window.
+ */
+ void addTopWindowListener( [in] com::sun::star::awt::XTopWindowListener xListener );
+
+
+ /** removes the specified top window listener so that it no longer
+ receives window events from this window.
+ */
+ void removeTopWindowListener( [in] com::sun::star::awt::XTopWindowListener xListener );
+
+
+ /** places this window at the top of the stacking order and
+ shows it in front of any other windows.
+ */
+ void toFront();
+
+
+ /** places this window at the bottom of the stacking order and
+ makes the corresponding adjustment to other visible windows.
+ */
+ void toBack();
+
+
+ /** sets a menu bar.
+ */
+ void setMenuBar( [in] com::sun::star::awt::XMenuBar xMenu );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XTopWindow2.idl b/offapi/com/sun/star/awt/XTopWindow2.idl
new file mode 100644
index 000000000..531b66e6b
--- /dev/null
+++ b/offapi/com/sun/star/awt/XTopWindow2.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_awt_XTopWindow2_idl__
+#define __com_sun_star_awt_XTopWindow2_idl__
+
+#include <com/sun/star/awt/XTopWindow.idl>
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+
+
+module com { module sun { module star { module awt {
+
+
+/** extends XTopWindow with additional functionality
+ */
+interface XTopWindow2 : XTopWindow
+{
+ /** controls whether the window is currently maximized
+ */
+ [attribute] boolean IsMaximized;
+
+ /** controls whether the window is currently minimized
+ */
+ [attribute] boolean IsMinimized;
+
+ /** controls on which display the window is shown.
+
+ <p>When retrieving this property, in case the window is positioned on multiple displays,
+ the number returned will be of the display containing the upper left pixel of the frame
+ area (that is of the client area on system decorated windows, or the frame area of
+ undecorated resp. owner decorated windows).</p>
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if you attempt to set this property to a value which does not correspond to the number
+ of an existing screen.
+
+ @see com::sun::star::awt::DisplayAccess
+ @see com::sun::star::awt::DisplayInfo
+ */
+ [attribute] long Display
+ {
+ set raises (::com::sun::star::lang::IndexOutOfBoundsException);
+ };
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XTopWindowListener.idl b/offapi/com/sun/star/awt/XTopWindowListener.idl
new file mode 100644
index 000000000..4794627f3
--- /dev/null
+++ b/offapi/com/sun/star/awt/XTopWindowListener.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_awt_XTopWindowListener_idl__
+#define __com_sun_star_awt_XTopWindowListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+
+#include <com/sun/star/lang/EventObject.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** makes it possible to receive window events.
+
+ @see XActivateListener
+ */
+published interface XTopWindowListener: com::sun::star::lang::XEventListener
+{
+
+ /** is invoked when a window has been opened.
+ */
+ void windowOpened( [in] com::sun::star::lang::EventObject e );
+
+
+ /** is invoked when a window is in the process of being closed.
+
+ <p>The close operation can be overridden at this point.</p>
+ */
+ void windowClosing( [in] com::sun::star::lang::EventObject e );
+
+
+ /** is invoked when a window has been closed.
+ */
+ void windowClosed( [in] com::sun::star::lang::EventObject e );
+
+
+ /** is invoked when a window is iconified.
+ */
+ void windowMinimized( [in] com::sun::star::lang::EventObject e );
+
+
+ /** is invoked when a window is deiconified.
+ */
+ void windowNormalized( [in] com::sun::star::lang::EventObject e );
+
+
+ /** is invoked when a window is activated.
+ */
+ void windowActivated( [in] com::sun::star::lang::EventObject e );
+
+
+ /** is invoked when a window is deactivated.
+ */
+ void windowDeactivated( [in] com::sun::star::lang::EventObject e );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XUnitConversion.idl b/offapi/com/sun/star/awt/XUnitConversion.idl
new file mode 100644
index 000000000..5c834d243
--- /dev/null
+++ b/offapi/com/sun/star/awt/XUnitConversion.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_awt_XUnitConversion_idl__
+#define __com_sun_star_awt_XUnitConversion_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/awt/Point.idl>
+#include <com/sun/star/awt/Size.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+ module com { module sun { module star { module awt {
+
+
+/** allows converting between different measurement units
+
+ @since OOo 3.0
+ */
+interface XUnitConversion: com::sun::star::uno::XInterface
+{
+ /** converts the given Point, which is specified in pixels, into the given logical unit
+
+ @param Point
+ A given Point in a well known type
+ @param TargetUnit
+ A type from com::sun::star::util::MeasureUnit in which the Point will convert to.
+
+ @return
+ Returns a new Point in the TargetUnit type format.
+ */
+ com::sun::star::awt::Point convertPointToLogic( [in] com::sun::star::awt::Point Point, [in] short TargetUnit )
+ raises ( com::sun::star::lang::IllegalArgumentException );
+
+ /** converts the given Point, which is specified in the given logical unit, into pixels
+
+ @param Point
+ A given Point in the SourceUnit type
+ @param SourceUnit
+ The type from com::sun::star::util::MeasureUnit of the Point.
+
+ @return
+ Return a new Point in Pixel type format.
+ */
+ com::sun::star::awt::Point convertPointToPixel( [in] com::sun::star::awt::Point Point, [in] short SourceUnit )
+ raises ( com::sun::star::lang::IllegalArgumentException );
+
+
+ /** converts the given Size, which is specified in pixels, into the given logical unit
+
+ @param Size
+ A given Size in a well known type
+ @param TargetUnit
+ A type from com::sun::star::util::MeasureUnit in which the Size will convert to.
+
+ @return
+ Returns a new Size in the TargetUnit type format.
+ */
+ com::sun::star::awt::Size convertSizeToLogic( [in] com::sun::star::awt::Size Size, [in] short TargetUnit )
+ raises ( com::sun::star::lang::IllegalArgumentException );
+
+ /** converts the given Size, which is specified in the given logical unit, into pixels
+
+ @param Size
+ A given Size in a well known type
+ @param SourceUnit
+ The type from com::sun::star::util::MeasureUnit of the Size.
+
+ @return
+ Returns a new Size in the TargetUnit type format.
+ */
+ com::sun::star::awt::Size convertSizeToPixel( [in] com::sun::star::awt::Size Size, [in] short SourceUnit )
+ raises ( com::sun::star::lang::IllegalArgumentException );
+
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XUnoControlContainer.idl b/offapi/com/sun/star/awt/XUnoControlContainer.idl
new file mode 100644
index 000000000..9c9b38608
--- /dev/null
+++ b/offapi/com/sun/star/awt/XUnoControlContainer.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_awt_XUnoControlContainer_idl__
+#define __com_sun_star_awt_XUnoControlContainer_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/awt/XTabController.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** gives access to the tab controllers of a UnoControlContainer.
+ */
+published interface XUnoControlContainer: com::sun::star::uno::XInterface
+{
+
+ /** sets a set of tab controllers.
+ */
+ void setTabControllers( [in] sequence<com::sun::star::awt::XTabController> TabControllers );
+
+
+ /** returns all currently specified tab controllers.
+ */
+ sequence<com::sun::star::awt::XTabController> getTabControllers();
+
+
+ /** adds a single tab controller.
+ */
+ void addTabController( [in] com::sun::star::awt::XTabController TabController );
+
+
+ /** removes a single tab controller.
+ */
+ void removeTabController( [in] com::sun::star::awt::XTabController TabController );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XUnoControlDialog.idl b/offapi/com/sun/star/awt/XUnoControlDialog.idl
new file mode 100644
index 000000000..b102e7973
--- /dev/null
+++ b/offapi/com/sun/star/awt/XUnoControlDialog.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_awt_XUnoControlDialog_idl__
+#define __com_sun_star_awt_XUnoControlDialog_idl__
+
+#include <com/sun/star/container/XNameContainer.idl>
+#include <com/sun/star/awt/XControl.idl>
+#include <com/sun/star/awt/XDialog2.idl>
+#include <com/sun/star/awt/XTopWindow.idl>
+#include <com/sun/star/awt/XControlContainer.idl>
+#include <com/sun/star/awt/XWindow.idl>
+
+
+module com { module sun { module star { module awt {
+
+/**
+ The interface for the UnoControlDialog service.
+ This service actually implements a whole whack of interfaces. This is the just
+ the subset that our code needs.
+
+ @since LibreOffice 4.2
+ */
+published interface XUnoControlDialog
+{
+
+ interface com::sun::star::awt::XControlContainer; // -> XInterface
+
+ interface com::sun::star::awt::XControl; // -> XComponent
+
+ interface com::sun::star::awt::XWindow; // -> XComponent
+
+ interface com::sun::star::awt::XTopWindow; // -> XInterface
+
+ interface com::sun::star::awt::XDialog2; // -> XDialog -> XInterface
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XUserInputInterception.idl b/offapi/com/sun/star/awt/XUserInputInterception.idl
new file mode 100644
index 000000000..a5ad73712
--- /dev/null
+++ b/offapi/com/sun/star/awt/XUserInputInterception.idl
@@ -0,0 +1,86 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_awt_XUserInputInterception_idl__
+#define __com_sun_star_awt_XUserInputInterception_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/awt/XKeyHandler.idl>
+#include <com/sun/star/awt/XMouseClickHandler.idl>
+
+module com { module sun { module star { module awt {
+
+/** Interface to add handlers for key and mouse events. A handler is not a passive
+ listener, it can even consume the event.
+
+ @since OOo 1.1.2
+ */
+published interface XUserInputInterception : ::com::sun::star::uno::XInterface
+{
+ /** Add a new listener that is called on ::com::sun::star::awt::KeyEvent.
+ Every listener is
+ given the opportunity to consume the event, i.e. prevent the not yet
+ called listeners from being called.
+ @param xHandler
+ If this is a valid reference it is inserted into the list of
+ handlers. It is the task of the caller to not register the
+ same handler twice (otherwise that listener will be called
+ twice.)
+ */
+ void addKeyHandler (
+ [in] ::com::sun::star::awt::XKeyHandler xHandler);
+
+
+ /** Remove the specified listener from the list of listeners.
+ @param xHandler
+ If the reference is empty then nothing will be changed. If the
+ handler has been registered twice (or more) then all references
+ will be removed.
+ */
+ void removeKeyHandler (
+ [in] ::com::sun::star::awt::XKeyHandler xHandler);
+
+ /** Add a new listener that is called on ::com::sun::star::awt::MouseEvent.
+ Every listener is
+ given the opportunity to consume the event, i.e. prevent the not yet
+ called listeners from being called.
+ @param xHandler
+ If this is a valid reference it is inserted into the list of
+ handlers. It is the task of the caller to not register the
+ same handler twice (otherwise that listener will be called
+ twice.)
+ */
+ void addMouseClickHandler (
+ [in] ::com::sun::star::awt::XMouseClickHandler xHandler);
+
+ /** Remove the specified listener from the list of listeners.
+ @param xHandler
+ If the reference is empty then nothing will be changed. If the
+ handler has been registered twice (or more) then all references
+ will be removed.
+ */
+ void removeMouseClickHandler (
+ [in] ::com::sun::star::awt::XMouseClickHandler xHandler);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XVclContainer.idl b/offapi/com/sun/star/awt/XVclContainer.idl
new file mode 100644
index 000000000..62d10494b
--- /dev/null
+++ b/offapi/com/sun/star/awt/XVclContainer.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_awt_XVclContainer_idl__
+#define __com_sun_star_awt_XVclContainer_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/awt/XVclContainerListener.idl>
+
+#include <com/sun/star/awt/XWindow.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** represents a VCL container window.
+
+ @deprecated
+ */
+published interface XVclContainer: com::sun::star::uno::XInterface
+{
+
+ /** adds the specified container listener to receive
+ container events from this container.
+ */
+ void addVclContainerListener( [in] com::sun::star::awt::XVclContainerListener l );
+
+
+ /** removes the specified container listener so that it
+ no longer receives container events from this container.
+ */
+ void removeVclContainerListener( [in] com::sun::star::awt::XVclContainerListener l );
+
+
+ /** returns all windows.
+ */
+ sequence<com::sun::star::awt::XWindow> getWindows();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XVclContainerListener.idl b/offapi/com/sun/star/awt/XVclContainerListener.idl
new file mode 100644
index 000000000..090cb66fe
--- /dev/null
+++ b/offapi/com/sun/star/awt/XVclContainerListener.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_awt_XVclContainerListener_idl__
+#define __com_sun_star_awt_XVclContainerListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+
+#include <com/sun/star/awt/VclContainerEvent.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** makes it possible to receive container events.
+
+ <p>Container events are provided <strong>only</strong> for
+ notification purposes. The VCL will automatically handle
+ add and remove operations internally.</p>
+
+ @deprecated
+ */
+published interface XVclContainerListener: com::sun::star::lang::XEventListener
+{
+
+ /** is invoked when a window has been added to the VCL container window.
+ */
+ void windowAdded( [in] com::sun::star::awt::VclContainerEvent e );
+
+
+ /** is invoked when a window has been removed from the VCL container
+ window.
+ */
+ void windowRemoved( [in] com::sun::star::awt::VclContainerEvent e );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XVclContainerPeer.idl b/offapi/com/sun/star/awt/XVclContainerPeer.idl
new file mode 100644
index 000000000..f4678ce52
--- /dev/null
+++ b/offapi/com/sun/star/awt/XVclContainerPeer.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_awt_XVclContainerPeer_idl__
+#define __com_sun_star_awt_XVclContainerPeer_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/awt/XWindow.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** gives access to the VCL container window implementation.
+
+ @deprecated
+ */
+published interface XVclContainerPeer: com::sun::star::uno::XInterface
+{
+
+ /** enable as dialog control.
+ */
+ void enableDialogControl( [in] boolean bEnable );
+
+
+ /** sets the tab order.
+ */
+ void setTabOrder( [in] sequence<com::sun::star::awt::XWindow> WindowOrder,
+ [in] sequence<any> Tabs,
+ [in] boolean GroupControl );
+
+
+ /** sets a group.
+ */
+ void setGroup( [in] sequence<com::sun::star::awt::XWindow> Windows );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XVclWindowPeer.idl b/offapi/com/sun/star/awt/XVclWindowPeer.idl
new file mode 100644
index 000000000..8023c112a
--- /dev/null
+++ b/offapi/com/sun/star/awt/XVclWindowPeer.idl
@@ -0,0 +1,96 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_awt_XVclWindowPeer_idl__
+#define __com_sun_star_awt_XVclWindowPeer_idl__
+
+#include <com/sun/star/awt/XWindowPeer.idl>
+
+#include <com/sun/star/util/Color.idl>
+#include <com/sun/star/awt/FontDescriptor.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** gives access to the VCL window implementation.
+
+ @deprecated
+ */
+published interface XVclWindowPeer: com::sun::star::awt::XWindowPeer
+{
+
+ /** returns `TRUE` if the window peer is a child, `FALSE` otherwise.
+ */
+ boolean isChild( [in] com::sun::star::awt::XWindowPeer Peer );
+
+
+ /** sets the design mode for use in a design editor.
+ */
+ void setDesignMode( [in] boolean bOn );
+
+
+ /** returns `TRUE` if the window peer is in design mode,
+ `FALSE` otherwise.
+ */
+ boolean isDesignMode();
+
+
+ /** enables clipping of sibling windows.
+ */
+ void enableClipSiblings( [in] boolean bClip );
+
+
+ /** sets the foreground color.
+ */
+ void setForeground( [in] com::sun::star::util::Color Color );
+
+
+ /** sets the control font.
+ */
+ void setControlFont( [in] com::sun::star::awt::FontDescriptor aFont );
+
+
+ /** returns the font, foreground and background color for the specified
+ type.
+ */
+ void getStyles( [in] short nType,
+ [out] com::sun::star::awt::FontDescriptor Font,
+ [out] com::sun::star::util::Color ForegroundColor,
+ [out] com::sun::star::util::Color BackgroundColor );
+
+
+ /** sets the value of the property with the specified name.
+ */
+ void setProperty( [in] string PropertyName,
+ [in] any Value );
+
+
+ /** returns the value of the property with the specified name.
+ */
+ any getProperty( [in] string PropertyName );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XView.idl b/offapi/com/sun/star/awt/XView.idl
new file mode 100644
index 000000000..4a8e3d809
--- /dev/null
+++ b/offapi/com/sun/star/awt/XView.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_awt_XView_idl__
+#define __com_sun_star_awt_XView_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/awt/XGraphics.idl>
+
+#include <com/sun/star/awt/Size.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** makes it possible to attach an output device to the object.
+
+ <p>This kind of object is called view-object.</p>
+ */
+published interface XView: com::sun::star::uno::XInterface
+{
+
+ /** sets the output device.
+ */
+ boolean setGraphics( [in] com::sun::star::awt::XGraphics aDevice );
+
+
+ /** returns the output device which was set using the method
+ XView::setGraphics().
+ */
+ com::sun::star::awt::XGraphics getGraphics();
+
+
+ /** returns the size of the object in device units.
+
+ <p>A device must be set before.</p>
+ */
+ com::sun::star::awt::Size getSize();
+
+
+ /** draws the object at the specified position.
+
+ <p>If the output should be clipped, the caller has to set the
+ clipping region.</p>
+ */
+ void draw( [in] long nX,
+ [in] long nY );
+
+
+ /** sets the zoom factor.
+
+ <p>The zoom factor only affects the content of the view, not the size.</p>
+ */
+ void setZoom( [in] float fZoomX,
+ [in] float fZoomY );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XWindow.idl b/offapi/com/sun/star/awt/XWindow.idl
new file mode 100644
index 000000000..fc9a27ffc
--- /dev/null
+++ b/offapi/com/sun/star/awt/XWindow.idl
@@ -0,0 +1,168 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_awt_XWindow_idl__
+#define __com_sun_star_awt_XWindow_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+
+#include <com/sun/star/awt/Rectangle.idl>
+
+#include <com/sun/star/awt/XWindowListener.idl>
+
+#include <com/sun/star/awt/XFocusListener.idl>
+
+#include <com/sun/star/awt/XKeyListener.idl>
+
+#include <com/sun/star/awt/XMouseListener.idl>
+
+#include <com/sun/star/awt/XMouseMotionListener.idl>
+
+#include <com/sun/star/awt/XPaintListener.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies the basic operations for a window component.
+
+ <p>A window is a rectangular region on an output device with
+ its own position, size, and internal coordinate system.
+ A window is used for displaying data. In addition, the window
+ receives events from the user.</p>
+ */
+published interface XWindow: com::sun::star::lang::XComponent
+{
+
+ /** sets the outer bounds of the window.
+
+ @param X
+ the x-coordinate of the window.
+
+ @param Y
+ the y-coordinate of the window.
+
+ @param Width
+ the width of the window.
+
+ @param Height
+ the height of the window.
+
+ @param Flags
+ Flags are of type PosSize and specify, which parameters
+ are taken into account when setting the outer bounds of the window.
+ */
+ void setPosSize( [in] long X,
+ [in] long Y,
+ [in] long Width,
+ [in] long Height,
+ [in] short Flags );
+
+
+ /** returns the outer bounds of the window.
+ */
+ com::sun::star::awt::Rectangle getPosSize();
+
+
+ /** shows or hides the window depending on the parameter.
+ */
+ void setVisible( [in] boolean Visible );
+
+
+ /** enables or disables the window depending on the parameter.
+ */
+ void setEnable( [in] boolean Enable );
+
+
+ /** sets the focus to the window.
+ */
+ void setFocus();
+
+
+ /** adds a window listener to the object.
+
+ @param xListener
+ the listener to add. If this listener also supports the XWindowListener2 interface,
+ it will receive the additional events declared in XWindowListener2.
+ */
+ void addWindowListener( [in] com::sun::star::awt::XWindowListener xListener );
+
+
+ /** removes the specified window listener from the listener list.
+ */
+ void removeWindowListener( [in] com::sun::star::awt::XWindowListener xListener );
+
+
+ /** adds a focus listener to the object.
+ */
+ void addFocusListener( [in] com::sun::star::awt::XFocusListener xListener );
+
+
+ /** removes the specified focus listener from the listener list.
+ */
+ void removeFocusListener( [in] com::sun::star::awt::XFocusListener xListener );
+
+
+ /** adds a key listener to the object.
+ */
+ void addKeyListener( [in] com::sun::star::awt::XKeyListener xListener );
+
+
+ /** removes the specified key listener from the listener list.
+ */
+ void removeKeyListener( [in] com::sun::star::awt::XKeyListener xListener );
+
+
+ /** adds a mouse listener to the object.
+ */
+ void addMouseListener( [in] com::sun::star::awt::XMouseListener xListener );
+
+
+ /** removes the specified mouse listener from the listener list.
+ */
+ void removeMouseListener( [in] com::sun::star::awt::XMouseListener xListener );
+
+
+ /** adds a mouse motion listener to the object.
+ */
+ void addMouseMotionListener( [in] com::sun::star::awt::XMouseMotionListener xListener );
+
+
+ /** removes the specified mouse motion listener from the listener list.
+ */
+ void removeMouseMotionListener( [in] com::sun::star::awt::XMouseMotionListener xListener );
+
+
+ /** adds a paint listener to the object.
+ */
+ void addPaintListener( [in] com::sun::star::awt::XPaintListener xListener );
+
+
+ /** removes the specified paint listener from the listener list.
+ */
+ void removePaintListener( [in] com::sun::star::awt::XPaintListener xListener );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XWindow2.idl b/offapi/com/sun/star/awt/XWindow2.idl
new file mode 100644
index 000000000..dab677ea0
--- /dev/null
+++ b/offapi/com/sun/star/awt/XWindow2.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_awt_XWindow2_idl__
+#define __com_sun_star_awt_XWindow2_idl__
+
+#include <com/sun/star/awt/XWindow.idl>
+
+#include <com/sun/star/awt/Size.idl>
+
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** specifies some extended operations for a window component.
+
+ <p>A window is a rectangular region on an output device with
+ its own position, size, and internal coordinate system.
+ A window is used for displaying data. In addition, the window
+ receives events from the user.</p>
+ */
+published interface XWindow2: com::sun::star::awt::XWindow
+{
+
+ /** sets the inner bounds of the window, also known as the client size
+
+ @param Size
+ the inner width and height of the window.
+
+ */
+ void setOutputSize( [in] com::sun::star::awt::Size Size );
+
+
+ /** returns the inner bounds of the window, also known as the client size.
+ */
+ com::sun::star::awt::Size getOutputSize();
+
+
+ /** returns the visibility state of the window
+ */
+ boolean isVisible();
+
+
+ /** returns the activation state of the window
+ */
+ boolean isActive();
+
+
+ /** returns the enabled state of the window
+ */
+ boolean isEnabled();
+
+
+ /** returns the focus state of the window
+ */
+ boolean hasFocus();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XWindowListener.idl b/offapi/com/sun/star/awt/XWindowListener.idl
new file mode 100644
index 000000000..3ce4e69ae
--- /dev/null
+++ b/offapi/com/sun/star/awt/XWindowListener.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_awt_XWindowListener_idl__
+#define __com_sun_star_awt_XWindowListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+
+#include <com/sun/star/awt/WindowEvent.idl>
+
+#include <com/sun/star/lang/EventObject.idl>
+
+
+
+ module com { module sun { module star { module awt {
+
+
+/** makes it possible to receive window events.
+
+ <p>Component events are provided <strong>only</strong> for
+ notification purposes. Moves and resizes will be handled
+ internally by the window component, so that GUI layout works properly
+ regardless of whether a program registers such a listener or not.</p>
+ */
+published interface XWindowListener: com::sun::star::lang::XEventListener
+{
+
+ /** is invoked when the window has been resized.
+ */
+ void windowResized( [in] com::sun::star::awt::WindowEvent e );
+
+
+ /** is invoked when the window has been moved.
+ */
+ void windowMoved( [in] com::sun::star::awt::WindowEvent e );
+
+
+ /** is invoked when the window has been shown.
+ */
+ void windowShown( [in] com::sun::star::lang::EventObject e );
+
+
+ /** is invoked when the window has been hidden.
+ */
+ void windowHidden( [in] com::sun::star::lang::EventObject e );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XWindowListener2.idl b/offapi/com/sun/star/awt/XWindowListener2.idl
new file mode 100644
index 000000000..79e36a8de
--- /dev/null
+++ b/offapi/com/sun/star/awt/XWindowListener2.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_awt_XWindowListener2_idl__
+#define __com_sun_star_awt_XWindowListener2_idl__
+
+#include <com/sun/star/awt/XWindowListener.idl>
+
+
+module com { module sun { module star { module awt {
+
+
+/** allows receive window-related events, additional to the ones received by an XWindowListener
+ */
+interface XWindowListener2: XWindowListener
+{
+
+ /** is called when the window has been enabled.
+ */
+ void windowEnabled( [in] com::sun::star::lang::EventObject e );
+
+
+ /** is called when the window has been disabled.
+ */
+ void windowDisabled( [in] com::sun::star::lang::EventObject e );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/XWindowPeer.idl b/offapi/com/sun/star/awt/XWindowPeer.idl
new file mode 100644
index 000000000..d850d9632
--- /dev/null
+++ b/offapi/com/sun/star/awt/XWindowPeer.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_awt_XWindowPeer_idl__
+#define __com_sun_star_awt_XWindowPeer_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+
+#include <com/sun/star/util/Color.idl>
+#include <com/sun/star/awt/Rectangle.idl>
+
+
+ module com { module sun { module star { module awt {
+
+ published interface XToolkit;
+ published interface XPointer;
+
+
+/** gives access to the actual window implementation on the device.
+ */
+published interface XWindowPeer: com::sun::star::lang::XComponent
+{
+
+ /** returns the toolkit which created this object.
+ */
+ XToolkit getToolkit();
+
+
+ /** sets the mouse pointer.
+ */
+ void setPointer( [in] XPointer Pointer );
+
+
+ /** sets the background color.
+ */
+ void setBackground( [in] com::sun::star::util::Color Color );
+
+
+ /** invalidates the whole window with the specified
+ InvalidateStyle.
+
+ @param Flags see com.sun.star.awt.InvalidateStyle
+ */
+ void invalidate( [in] short Flags );
+
+
+ /** invalidates a rectangular area of the window with the specified
+ InvalidateStyle.
+
+ @param Rect the area to invalidate.
+ @param Flags see com.sun.star.awt.InvalidateStyle
+ */
+ void invalidateRect( [in] Rectangle Rect, [in] short Flags );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/grid/DefaultGridColumnModel.idl b/offapi/com/sun/star/awt/grid/DefaultGridColumnModel.idl
new file mode 100644
index 000000000..4f7a9a833
--- /dev/null
+++ b/offapi/com/sun/star/awt/grid/DefaultGridColumnModel.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_awt_grid_DefaultGridColumnModel_idl__
+#define __com_sun_star_awt_grid_DefaultGridColumnModel_idl__
+
+#include <com/sun/star/awt/grid/XGridColumnModel.idl>
+
+
+ module com { module sun { module star { module awt { module grid {
+
+
+/** If you do not want to implement the XGridColumnModel yourself, use this service.
+ @since OOo 3.3
+ */
+service DefaultGridColumnModel : com::sun::star::awt::grid::XGridColumnModel;
+
+
+}; }; }; };};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/grid/DefaultGridDataModel.idl b/offapi/com/sun/star/awt/grid/DefaultGridDataModel.idl
new file mode 100644
index 000000000..08c17b3ec
--- /dev/null
+++ b/offapi/com/sun/star/awt/grid/DefaultGridDataModel.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_awt_grid_DefaultGridDataModel_idl__
+#define __com_sun_star_awt_grid_DefaultGridDataModel_idl__
+
+#include <com/sun/star/awt/grid/XMutableGridDataModel.idl>
+
+
+ module com { module sun { module star { module awt { module grid {
+
+
+/** If you do not want to implement the XGridDataModel yourself, use this service.
+
+ <p>The <code>DefaultGridDataModel</code> implementation is a dumb container of tabular data. You can add
+ and remove rows, modify cell values, and the like.</p>
+
+ <p>The implementation will implicitly increase its column count if you add a row which has more values than
+ the current column count.</p>
+
+ @since OOo 3.3
+ */
+published service DefaultGridDataModel : ::com::sun::star::awt::grid::XMutableGridDataModel;
+
+
+}; }; }; };};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/grid/GridColumn.idl b/offapi/com/sun/star/awt/grid/GridColumn.idl
new file mode 100644
index 000000000..d34604781
--- /dev/null
+++ b/offapi/com/sun/star/awt/grid/GridColumn.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_awt_grid_GridColumn_idl__
+#define __com_sun_star_awt_grid_GridColumn_idl__
+
+#include <com/sun/star/awt/grid/XGridColumn.idl>
+
+
+ module com { module sun { module star { module awt { module grid {
+
+
+/** Represents a column as used by the DefaultGridColumnModel
+
+ @since OOo 3.3
+ */
+service GridColumn
+{
+ interface com::sun::star::awt::grid::XGridColumn;
+};
+
+
+}; }; }; };};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/grid/GridColumnEvent.idl b/offapi/com/sun/star/awt/grid/GridColumnEvent.idl
new file mode 100644
index 000000000..2d8dd74e7
--- /dev/null
+++ b/offapi/com/sun/star/awt/grid/GridColumnEvent.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_awt_grid_GridColumnEvent_idl__
+#define __com_sun_star_awt_grid_GridColumnEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+
+
+module com { module sun { module star { module awt { module grid {
+
+/** An event used by a XGridColumn to notify changes in the column.
+
+ @since OOo 3.3
+ */
+published struct GridColumnEvent : ::com::sun::star::lang::EventObject
+{
+ /** Contains the name of the attributes whose value changed. **/
+ string AttributeName;
+
+ /** Contains the old value **/
+ any OldValue;
+
+ /** Contains the new value **/
+ any NewValue;
+
+ /** Contains the index of the changed column**/
+ long ColumnIndex;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/grid/GridDataEvent.idl b/offapi/com/sun/star/awt/grid/GridDataEvent.idl
new file mode 100644
index 000000000..922dd34fa
--- /dev/null
+++ b/offapi/com/sun/star/awt/grid/GridDataEvent.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_awt_grid_GridDataEvent_idl__
+#define __com_sun_star_awt_grid_GridDataEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+
+
+module com { module sun { module star { module awt { module grid {
+
+
+/** used to notify changes in the data represented by an XMutableGridDataModel.
+
+ <p>Effectively, a <code>GridDataEvent</code> denotes a continuous two-dimensional cell range
+ within a grid's data model, which is affected by a certain change.</p>
+
+ @see XMutableGridDataModel
+ @see XGridDataListener
+
+ @since OOo 3.3
+ */
+published struct GridDataEvent: com::sun::star::lang::EventObject
+{
+ /** denotes the first column affected by a change.
+
+ <p>If <code>FirstColumn</code> is -1, the listener should assume that all rows of a grid's data model
+ are affected.</p>
+ */
+ long FirstColumn;
+
+ /** denotes the last column affected by a change
+ */
+ long LastColumn;
+
+ /** denotes the first row affected by a change.
+
+ <p>If <code>FirstRow</code> is -1, the listener should assume that all rows of a grid's data model
+ are affected.</p>
+ */
+ long FirstRow;
+
+ /** denotes the last row affected by a change
+ */
+ long LastRow;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/grid/GridInvalidDataException.idl b/offapi/com/sun/star/awt/grid/GridInvalidDataException.idl
new file mode 100644
index 000000000..6b12a5d82
--- /dev/null
+++ b/offapi/com/sun/star/awt/grid/GridInvalidDataException.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_awt_grid_GridInvalidDataException_idl__
+#define __com_sun_star_awt_grid_GridInvalidDataException_idl__
+
+#include <com/sun/star/uno/RuntimeException.idl>
+
+
+
+module com { module sun { module star { module awt { module grid {
+
+
+/** Exception is thrown to indicate that set data is invalid, e.g. type of data is unknown
+ or data count doesn't match with column count.
+
+ @since OOo 3.3
+ */
+exception GridInvalidDataException : com::sun::star::uno::RuntimeException
+{
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/grid/GridInvalidModelException.idl b/offapi/com/sun/star/awt/grid/GridInvalidModelException.idl
new file mode 100644
index 000000000..ab5e03dea
--- /dev/null
+++ b/offapi/com/sun/star/awt/grid/GridInvalidModelException.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_awt_grid_GridInvalidModelException_idl__
+#define __com_sun_star_awt_grid_GridInvalidModelException_idl__
+
+#include <com/sun/star/uno/RuntimeException.idl>
+
+
+
+module com { module sun { module star { module awt { module grid {
+
+
+/** Exception is thrown when data or column model isn't set.
+
+ @since OOo 3.3
+ */
+exception GridInvalidModelException : com::sun::star::uno::RuntimeException
+{
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/grid/GridSelectionEvent.idl b/offapi/com/sun/star/awt/grid/GridSelectionEvent.idl
new file mode 100644
index 000000000..dc441d83f
--- /dev/null
+++ b/offapi/com/sun/star/awt/grid/GridSelectionEvent.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_awt_grid_GridSelectionEvent_idl__
+#define __com_sun_star_awt_grid_GridSelectionEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+
+
+module com { module sun { module star { module awt { module grid {
+
+
+/** An event used by a XGridControl to notify changes in its row selection.
+
+ @see XGridRowSelection
+ @see XGridSelectionListener
+ */
+published struct GridSelectionEvent: com::sun::star::lang::EventObject
+{
+ /** denotes the indexes of the rows being selected at the time the event was fired.
+ */
+ sequence< long > SelectedRowIndexes;
+
+ /** denotes the indexes of the columns being selected at the time the event was fired.
+ */
+ sequence< long > SelectedColumnIndexes;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/grid/SortableGridDataModel.idl b/offapi/com/sun/star/awt/grid/SortableGridDataModel.idl
new file mode 100644
index 000000000..ca92c1575
--- /dev/null
+++ b/offapi/com/sun/star/awt/grid/SortableGridDataModel.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_awt_grid_SortableGridDataModel_idl__
+#define __com_sun_star_awt_grid_SortableGridDataModel_idl__
+
+#include <com/sun/star/i18n/XCollator.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+module com { module sun { module star { module awt { module grid {
+
+interface XSortableMutableGridDataModel;
+interface XMutableGridDataModel;
+
+
+/** provides a default implementation of a XSortableGridData.
+
+ <p>This service must be created with a secondary grid data model, which all actual data requests are delegated to.
+ But before providing this data to the service's own clients, it is sorted, according to the sort order defined
+ via the <code>XSortableGridData</code> interface.</p>
+
+ <p>The service implementation is able to compare the default scalar types, plus strings.</p>
+
+ <p>For determining the data type of a column which the data should be sorted by, the first non-`VOID` data encountered
+ in this column is taken into account. Further read requests to this column will assume that all non-`VOID` data is of
+ the same type.</p>
+
+ <p>Consequently, you cannot use this service with data sets containing heterogeneous data in a given column.</p>
+
+ <p>All requests made via the XMutableGridDataModel are delegated to the <code>XMutableGridDataModel</code>
+ instance passed in the service constructor.</p>
+
+ <p>Note that changing the data might result in the sort order being destroyed. If you want to ensure
+ that the data represented by the model is still sorted after your modifications, you should call
+ XSortableGridData::sortByColumn(), again.</p>
+ */
+service SortableGridDataModel : XSortableMutableGridDataModel
+{
+ /** creates a new instance of the <code>SortableGridDataModel</code>
+
+ <p>For string comparison, a default ::com::sun::star::i18n::Collator, based on the system's
+ locale, will be used.</p>
+
+ @param DelegatorModel
+ the data model to which read requests are delegated.
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if the given <code>DelegatorModel</code> is `NULL`
+ */
+ create(
+ [in] XMutableGridDataModel DelegatorModel
+ )
+ raises ( ::com::sun::star::lang::IllegalArgumentException );
+
+ /** creates a new instance of the ScortableDefaultGridDataModel, passing a collator to be used for string comparison.
+
+ @param DelegatorModel
+ is the data model to which read requests are delegated
+ @param Collator
+ is the collator to be used for string comparison
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if the given <code>DelegatorModel</code> is `NULL`
+ */
+ createWithCollator(
+ [in] XMutableGridDataModel DelegatorModel,
+ [in] ::com::sun::star::i18n::XCollator Collator
+ )
+ raises ( ::com::sun::star::lang::IllegalArgumentException );
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/grid/UnoControlGrid.idl b/offapi/com/sun/star/awt/grid/UnoControlGrid.idl
new file mode 100644
index 000000000..caa511256
--- /dev/null
+++ b/offapi/com/sun/star/awt/grid/UnoControlGrid.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_awt_grid_UnoControlGrid_idl__
+#define __com_sun_star_awt_grid_UnoControlGrid_idl__
+
+#include <com/sun/star/awt/UnoControl.idl>
+
+#include <com/sun/star/awt/grid/XGridControl.idl>
+
+#include <com/sun/star/awt/grid/XGridRowSelection.idl>
+
+
+ module com { module sun { module star { module awt { module grid {
+
+
+
+/** A control that displays a set of tabular data.
+
+ <h4>The Column Model</h4>
+
+ <p>The horizontal structure of the grid is defined by the XGridColumnModel implemented in DefaultGridColumnModel
+ The XGridColumn implemented in GridColumn describes the properties and behavior of a single column. Use the XGridColumnModel::addColumn() to add a column to the column model.
+ </p>
+
+ <h4>The Data Model</h4>
+ <p> All row data are stored in the XGridDataModel.
+ Use the DefaultGridDataModel to add XGridDataModel::addRow() or remove XGridDataModel::removeRow() rows.
+ </p>
+
+ <p>The column and data model must be set at the UnoControlGridModel::ColumnModel and UnoControlGridModel::GridDataModel properties.</p>
+
+ <h4>Selection</h4>
+ <p>If you are interested in knowing when the selection changes implement a
+ XGridSelectionListener and add the instance with the method
+ XGridRowSelection::addSelectionListener().
+ You than will be notified for any selection change.</p>
+
+ @since OOo 3.3
+ */
+service UnoControlGrid
+{
+ service com::sun::star::awt::UnoControl;
+
+ interface ::com::sun::star::awt::grid::XGridControl;
+
+ interface ::com::sun::star::awt::grid::XGridRowSelection;
+};
+
+
+}; }; }; };};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/grid/UnoControlGridModel.idl b/offapi/com/sun/star/awt/grid/UnoControlGridModel.idl
new file mode 100644
index 000000000..687a2bd50
--- /dev/null
+++ b/offapi/com/sun/star/awt/grid/UnoControlGridModel.idl
@@ -0,0 +1,243 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_awt_grid_UnoControlGridModel_idl__
+#define __com_sun_star_awt_grid_UnoControlGridModel_idl__
+
+#include <com/sun/star/awt/grid/XGridColumnModel.idl>
+#include <com/sun/star/awt/grid/XGridDataModel.idl>
+#include <com/sun/star/awt/UnoControlModel.idl>
+#include <com/sun/star/view/SelectionType.idl>
+#include <com/sun/star/awt/FontDescriptor.idl>
+#include <com/sun/star/style/VerticalAlignment.idl>
+#include <com/sun/star/util/Color.idl>
+
+
+module com { module sun { module star { module awt { module grid {
+
+
+/** specifies the standard model of a UnoControlGrid control.
+
+ @since OOo 3.3
+ */
+published service UnoControlGridModel
+{
+ /** specifies the standard model of a com::sun::star::awt::UnoControl. */
+ service com::sun::star::awt::UnoControlModel;
+
+ /** Specifies whether the grid control should display a special header column.
+
+ <p>The default value is `FALSE`</p>
+ */
+ [property] boolean ShowRowHeader;
+
+ /** specifies the width of the row header column, if applicable.
+
+ <p>The width is specified in application font units - see com::sun::star::util::MeasureUnit.</p>
+
+ <p>The value given here is ignored if #ShowRowHeader is `FALSE`.</p>
+ */
+ [property] long RowHeaderWidth;
+
+ /** Specifies whether the grid control should display a title row.
+
+ <p>The default value is `TRUE`</p>
+ */
+ [property] boolean ShowColumnHeader;
+
+ /** specifies the height of the column header row, if applicable.
+
+ <p>The height is specified in application font units - see com::sun::star::util::MeasureUnit.</p>
+
+ <p>The value given here is ignored if #ShowColumnHeader is `FALSE`.</p>
+
+ <p>If the property is `VOID`, the grid control shall automatically determine a height which conveniently allows,
+ according to the used font, to display one line of text.</p>
+ */
+ [property, maybevoid] long ColumnHeaderHeight;
+
+ /** Specifies the height of rows in the grid control.
+
+ <p>The height is specified in application font units - see com::sun::star::util::MeasureUnit.</p>
+ */
+ [property, maybevoid] long RowHeight;
+
+ /** Specifies the XGridColumnModel that is providing the column structure.
+
+ <p>You can implement your own instance of XGridColumnModel or use
+ the DefaultGridColumnModel.
+
+ <p>The column model is in the ownership of the grid model: When you set a new column model, or dispose
+ the grid model, then the (old) column model is disposed, too.</p>
+
+ <p>The default for this property is an empty instance of the DefaultGridColumnModel.</p>
+ */
+ [property] XGridColumnModel ColumnModel;
+
+ /** Specifies the XGridDataModel that is providing the hierarchical data.
+
+ <p>You can implement your own instance of XGridDataModel or use
+ the DefaultGridDataModel.
+
+ <p>The data model is in the ownership of the grid model: When you set a new data model, or dispose
+ the grid model, then the (old) data model is disposed, too.</p>
+
+ <p>The default for this property is an empty instance of the DefaultGridDataModel.</p>
+ */
+ [property] XGridDataModel GridDataModel;
+
+ /** Specifies the vertical scrollbar mode.
+ <p>The default value is `FALSE`</p>
+ */
+ [property] boolean HScroll;
+
+ /** Specifies the horizontal scrollbar mode.
+ <p>The default value is `FALSE`</p>
+ */
+ [property] boolean VScroll;
+
+ /** Specifies that the control can be reached with the TAB key.
+ */
+ [property] boolean Tabstop;
+
+ /** Specifies the selection mode that is enabled for this grid control.
+ <p>The default value is com::sun::star::view::SelectionType::SINGLE</p>
+ */
+ [property] ::com::sun::star::view::SelectionType SelectionModel;
+
+ /** controls whether or not to paint horizontal and vertical lines between the grid cells.
+
+ @see GridLineColor
+ */
+ [property] boolean UseGridLines;
+
+ /** specifies the color to be used when drawing lines between cells
+
+ <p>If this property has a value of `VOID`, the grid control renderer will use some default color,
+ depending on the control's style settings.</p>
+
+ @see UseGridLines
+ */
+ [property, maybevoid] ::com::sun::star::util::Color GridLineColor;
+
+ /** specifies the color to be used when drawing the background of row or column headers
+
+ <p>If this property has a value of `VOID`, the grid control renderer will use some default color,
+ depending on the control's style settings.</p>
+ */
+ [property, maybevoid] ::com::sun::star::util::Color HeaderBackgroundColor;
+
+ /** specifies the color to be used when drawing the text within row or column headers
+
+ <p>If this property has a value of `VOID`, the grid control renderer will use some default color,
+ depending on the control's style settings.</p>
+ */
+ [property, maybevoid] ::com::sun::star::util::Color HeaderTextColor;
+
+ /** specifies the color to be used when drawing the background of selected cells, while the control has the focus.
+
+ <p>If this property has a value of `VOID`, the grid control renderer will use some default color,
+ depending on the control's style settings.</p>
+ */
+ [property, maybevoid] ::com::sun::star::util::Color ActiveSelectionBackgroundColor;
+
+ /** specifies the color to be used when drawing the background of selected cells, while the control does not have
+ the focus.
+
+ <p>If this property has a value of `VOID`, the grid control renderer will use some default color,
+ depending on the control's style settings.</p>
+ */
+ [property, maybevoid] ::com::sun::star::util::Color InactiveSelectionBackgroundColor;
+
+ /** specifies the color to be used when drawing the text of selected cells, while the control has the focus.
+
+ <p>If this property has a value of `VOID`, the grid control renderer will use some default color,
+ depending on the control's style settings.</p>
+ */
+ [property, maybevoid] ::com::sun::star::util::Color ActiveSelectionTextColor;
+
+ /** specifies the color to be used when drawing the text of selected cells, while the control does not have
+ the focus.
+
+ <p>If this property has a value of `VOID`, the grid control renderer will use some default color,
+ depending on the control's style settings.</p>
+ */
+ [property, maybevoid] ::com::sun::star::util::Color InactiveSelectionTextColor;
+
+ /** specifies the colors to be used as background for data rows.
+
+ <p>If this sequence is non-empty, the data rows will be rendered with alternating background colors: Assuming
+ the sequence has <code>n</code> elements, each row will use the background color as specified by its number's
+ remainder modulo <code>n</code>.</p>
+
+ <p>If this sequence is empty, all rows will use the same background color as the control as whole.</p>
+
+ <p>If this property has a value of `VOID`, rows will be painted
+ in alternating background colors, every second row having a background color derived from the control's
+ selection color.</p>
+ */
+ [property, maybevoid] sequence< ::com::sun::star::util::Color > RowBackgroundColors;
+
+ /** specifies the vertical alignment of the content in the control.
+ */
+ [property] com::sun::star::style::VerticalAlignment VerticalAlign;
+
+ /** specifies the font attributes of the text in the control.
+ */
+ [property] com::sun::star::awt::FontDescriptor FontDescriptor;
+
+ /** specifies the color to be used when drawing cell texts
+
+ <p>If this property has a value of `VOID`, the grid control renderer will use some default color,
+ depending on the control's style settings.</p>
+ */
+ [property, maybevoid] ::com::sun::star::util::Color TextColor;
+
+ /** specifies the color to be used when drawing text lines (underlining and strikethrough)
+
+ <p>If this property has a value of `VOID`, the grid control renderer will use some default color,
+ depending on the control's style settings.</p>
+ */
+ [property, maybevoid] com::sun::star::util::Color TextLineColor;
+
+ /** specifies the com::sun::star::text::FontEmphasis
+ value of the text in the control.
+ */
+ [property] short FontEmphasisMark;
+
+ /** specifies the com::sun::star::text::FontRelief
+ value of the text in the control.
+ */
+ [property] short FontRelief;
+
+ /** specifies the help text of the control.
+ */
+ [property] string HelpText;
+
+ /** specifies the help URL of the control.
+ */
+ [property] string HelpURL;
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/grid/XGridColumn.idl b/offapi/com/sun/star/awt/grid/XGridColumn.idl
new file mode 100644
index 000000000..74cacb95d
--- /dev/null
+++ b/offapi/com/sun/star/awt/grid/XGridColumn.idl
@@ -0,0 +1,142 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_awt_grid_XGridColumn_idl__
+#define __com_sun_star_awt_grid_XGridColumn_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/style/HorizontalAlignment.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/awt/grid/XGridColumnListener.idl>
+#include <com/sun/star/util/XCloneable.idl>
+
+
+module com { module sun { module star { module awt { module grid {
+
+
+/** The XGridColumn defines the properties and behavior of a column
+ in a grid control.
+ @since OOo 3.3
+ */
+published interface XGridColumn
+{
+ /** implements life time control for the component
+ */
+ interface ::com::sun::star::lang::XComponent;
+
+ /** allows cloning the complete grid column
+ */
+ interface ::com::sun::star::util::XCloneable;
+
+ /** specifies an identifier of the column
+
+ <p>This identifier will not be evaluated by the grid control, or its model. It is merely for clients
+ to identify particular columns.</p>
+ */
+ [attribute] any Identifier;
+
+ /** specifies the current width of the column.
+ */
+ [attribute] long ColumnWidth;
+
+ /** specifies the minimal width the column can have.
+ */
+ [attribute] long MinWidth;
+
+ /** specifies the maximal width the column can have.
+ */
+ [attribute] long MaxWidth;
+
+ /** controls whether or not the column's width is fixed or not.
+
+ <p>If this is `TRUE`, the user can interactively change the column's width. Also, the column is subject to
+ auto-resizing, if its #Flexibility attribute is greater <code>0</code>.</p>
+ */
+ [attribute] boolean Resizeable;
+
+ /** specifies the flexibility of the column when it is automatically resized due to the grid control as a whole
+ being resized.
+
+ <p>Specify <code>0</code> here if you do not want the column to be resized automatically.</p>
+
+ <p>If a column has a flexibility greater than 0, it is set in relationship to the flexibility of all
+ other such columns, and the respective widths of the columns are changed in the same relationship.</p>
+
+ <p>Note that a column's flexibility is ignored if its #Resizeable attribute is
+ `FALSE`.</p>
+
+ <p>A column's flexibility cannot be negative, attempts to set a negative value will raise an exception.</p>
+ */
+ [attribute] long Flexibility
+ {
+ set raises ( ::com::sun::star::lang::IllegalArgumentException );
+ };
+
+ /** Specifies the horizontal alignment of the content in the control.
+ */
+ [attribute] ::com::sun::star::style::HorizontalAlignment HorizontalAlign;
+
+ /** A title is displayed in the column header row if UnoControlGridModel::ShowColumnHeader() is set to `TRUE`**/
+ [attribute] string Title;
+
+ /** is the help text associated with the column.
+
+ <p>A grid control will usually display a column's help text as tooltip.</p>
+ */
+ [attribute] string HelpText;
+
+ /** denotes the index of the column within the grid column model it belongs to
+
+ <p>If the column is not yet part of a column model, <code>Index</code> is -1.</p>
+ */
+ [attribute, readonly] long Index;
+
+ /** denotes the index of the data column which should be used to fetch this grid column's data
+
+ <p>A grid control has a column model and a data model, both containing a possibly different number of columns.
+ The <code>DataColumnIndex</code> attribute defines the index of the column within the data model, which should
+ be used to retrieve actual data.</p>
+
+ <p>Using this, you can do runtime changes to the column model, i.e. insertion and removal of columns, without
+ necessarily needing to adjust the data model, too.</p>
+
+ <p>If <code>DataColumnIndex</code> is negative, the it will be ignored, then the column's index within its
+ column model, as determined by the #Index attribute, will be used.</p>
+ */
+ [attribute] long DataColumnIndex;
+
+ /** Adds a listener for the GridColumnEvent posted after the grid changes.
+ @param Listener
+ the listener to add.
+ */
+ void addGridColumnListener( [in] XGridColumnListener Listener);
+
+
+ /** Removes a listener previously added with addColumnListener().
+ @param Listener
+ the listener to remove.
+ */
+ void removeGridColumnListener( [in] XGridColumnListener Listener);
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/grid/XGridColumnListener.idl b/offapi/com/sun/star/awt/grid/XGridColumnListener.idl
new file mode 100644
index 000000000..13a38229c
--- /dev/null
+++ b/offapi/com/sun/star/awt/grid/XGridColumnListener.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_awt_grid_XGridColumnListener_idl__
+#define __com_sun_star_awt_grid_XGridColumnListener_idl__
+
+#include <com/sun/star/awt/grid/GridColumnEvent.idl>
+#include <com/sun/star/lang/XEventListener.idl>
+
+
+module com { module sun { module star { module awt { module grid {
+
+
+/** An instance of this interface is used by the XGridColumnModel to
+ get notifications about column model changes.
+
+ @since OOo 3.3
+ */
+published interface XGridColumnListener : ::com::sun::star::lang::XEventListener
+{
+ /** Invoked after a column was modified.
+ */
+ void columnChanged( [in] GridColumnEvent event );
+};
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/grid/XGridColumnModel.idl b/offapi/com/sun/star/awt/grid/XGridColumnModel.idl
new file mode 100644
index 000000000..3e96e8451
--- /dev/null
+++ b/offapi/com/sun/star/awt/grid/XGridColumnModel.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_awt_grid_XGridColumnModel_idl__
+#define __com_sun_star_awt_grid_XGridColumnModel_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/util/XCloneable.idl>
+#include <com/sun/star/awt/grid/XGridColumn.idl>
+#include <com/sun/star/container/XContainer.idl>
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+module com { module sun { module star { module awt { module grid {
+
+
+/** An instance of this interface is used by the UnoControlGrid to
+ retrieve the column structure that is displayed in the actual control.
+
+ If you do not need your own model implementation, you can also use the DefaultGridColumnModel.
+
+ @since OOo 3.3
+*/
+published interface XGridColumnModel
+{
+ /** implements life time control for the component
+ */
+ interface ::com::sun::star::lang::XComponent;
+
+ /** allows to register listeners to be notified when columns are inserted or removed
+ */
+ interface ::com::sun::star::container::XContainer;
+
+ /** allows cloning the complete column model
+ */
+ interface ::com::sun::star::util::XCloneable;
+
+ /** Returns the number of columns.
+
+ @returns
+ the number of columns.
+ */
+ long getColumnCount();
+
+ /** creates a new column for use with the column model.
+
+ <p>The newly created column is not yet inserted into the column container, you need to call addColumn()
+ after you initialized the column object.</p>
+ */
+ XGridColumn
+ createColumn();
+
+ /** Adds a column to the model.
+
+ <p>You should use the createColumn() member to create a new column. This gives
+ implementations of the <code>XGridColumnModel</code> interface the possibility to provide own column
+ implementations which extend the basic GridColumn type.</p>
+
+ <p>As soon as the column has been inserted into the model, the model takes ownership of it. This means when the
+ column is removed, or when the column model is disposed, the grid column is disposed as well.</p>
+
+ @param column
+ the column to add to the model.
+ @returns
+ the index of new created column.
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if the given column is not a valid element for the column container, or if it is `NULL`.
+ */
+ long addColumn( [in] XGridColumn column )
+ raises ( ::com::sun::star::lang::IllegalArgumentException );
+
+ /** removes a column from the model
+
+ <p>The column object will be disposed upon removal.</p>
+
+ @param ColumnIndex
+ denotes the index of the column to remove
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if <code>ColumnIndex</code> does not denote a valid column index.
+ */
+ void removeColumn( [in] long ColumnIndex )
+ raises ( ::com::sun::star::lang::IndexOutOfBoundsException );
+
+ /** Returns all columns of the model.
+ @returns
+ all columns associated with the model in a sequence of XGridColumn.
+ */
+ sequence<XGridColumn> getColumns();
+
+ /** Returns a specific column.
+ @param index
+ the position of the requested column.
+ @returns
+ the requested column.
+ */
+ XGridColumn getColumn( [in] long index)
+ raises ( ::com::sun::star::lang::IndexOutOfBoundsException );
+
+ /** Fills the model with the given number of default columns
+
+ <p>Existing columns will be removed before adding new columns. Listeners at the column model will
+ be notified one com::sun::star::container::XContainerListener::elementRemoved() event
+ for each removed column, and one com::sun::star::container::XContainerListener::elementInserted()
+ event for each insertion.</p>
+
+ @param elements
+ the number of default columns that should be set.
+ */
+ void setDefaultColumns([in] long elements);
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/grid/XGridControl.idl b/offapi/com/sun/star/awt/grid/XGridControl.idl
new file mode 100644
index 000000000..6222216e5
--- /dev/null
+++ b/offapi/com/sun/star/awt/grid/XGridControl.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_awt_grid_XGridControl_idl__
+#define __com_sun_star_awt_grid_XGridControl_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#include <com/sun/star/util/VetoException.idl>
+
+
+module com { module sun { module star { module awt { module grid {
+
+
+/** An interface to a control that displays a tabular data.
+
+ @see UnoControlGrid
+
+ @since OOo 3.3
+ */
+published interface XGridControl
+{
+ /** retrieves the column which a given point belongs to
+
+ @param X
+ the ordinate of the point, in pixel coordinates.
+ @param Y
+ the abscissa of the point, in pixel coordinates.
+ @return
+ the index of the column which the point lies in, or -1 if no column is under the given point.
+ */
+ long getColumnAtPoint( [in] long X, [in] long Y );
+
+ /** retrieves the row which a given point belongs to
+
+ @param X
+ the ordinate of the point, in pixel coordinates.
+ @param Y
+ the abscissa of the point, in pixel coordinates.
+ @return
+ the index of the row which the point lies in, or -1 if no row is under the given point.
+ */
+ long getRowAtPoint( [in] long X, [in] long Y );
+
+ /** returns the column index of the currently active cell
+
+ <p>If the grid control's does not contain any cells (which happens if the grid column model does not contain any
+ columns, or if grid data model does not contain any rows), then <code>-1</code> is returned.</p>
+ */
+ long getCurrentColumn();
+
+ /** returns the row index of the currently active cell
+
+ <p>If the grid control's does not contain any cells (which happens if the grid column model does not contain any
+ columns, or if grid data model does not contain any rows), then <code>-1</code> is returned.</p>
+ */
+ long getCurrentRow();
+
+ /** moves the cursor to the given cell
+ @param ColumnIndex
+ the column index of the cell to activate.
+ @param RowIndex
+ the row index of the cell to activate.
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if either <code>ColumnIndex</code> or <code>RowIndex</code> are out of range.
+ @throws ::com::sun::star::util::VetoException
+ if moving the cursor to another cell is vetoed.
+ */
+ void goToCell(
+ [in] long ColumnIndex,
+ [in] long RowIndex
+ )
+ raises ( ::com::sun::star::lang::IndexOutOfBoundsException
+ , ::com::sun::star::util::VetoException
+ );
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/grid/XGridDataListener.idl b/offapi/com/sun/star/awt/grid/XGridDataListener.idl
new file mode 100644
index 000000000..0c89a5abf
--- /dev/null
+++ b/offapi/com/sun/star/awt/grid/XGridDataListener.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_awt_grid_XGridDataListener_idl__
+#define __com_sun_star_awt_grid_XGridDataListener_idl__
+
+#include <com/sun/star/awt/grid/GridDataEvent.idl>
+#include <com/sun/star/lang/XEventListener.idl>
+
+
+module com { module sun { module star { module awt { module grid {
+
+
+/** An instance of this interface is used by the XGridDataModel to
+ get notifications about data model changes.
+
+ <p>Usually you must not implement this interface yourself, but you must notify it correctly if
+ you implement the XGridDataModel yourself</p>.
+
+ @since OOo 3.3
+ */
+published interface XGridDataListener: com::sun::star::lang::XEventListener
+{
+
+ /** is called when one or more rows of data have been inserted into a grid control's data model.
+ */
+ void rowsInserted( [in] GridDataEvent Event );
+
+ /** is called when one or more rows of data have been removed from a grid control's data model.
+ */
+ void rowsRemoved( [in] GridDataEvent Event );
+
+ /** is called when existing data in a grid control's data model has been modified.
+ */
+ void dataChanged( [in] GridDataEvent Event );
+
+ /** is called when the title of one or more rows changed.
+ */
+ void rowHeadingChanged( [in] GridDataEvent Event );
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/grid/XGridDataModel.idl b/offapi/com/sun/star/awt/grid/XGridDataModel.idl
new file mode 100644
index 000000000..d80233174
--- /dev/null
+++ b/offapi/com/sun/star/awt/grid/XGridDataModel.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_awt_grid_XGridDataModel_idl__
+#define __com_sun_star_awt_grid_XGridDataModel_idl__
+
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/util/XCloneable.idl>
+#include <com/sun/star/awt/grid/XGridDataListener.idl>
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+
+
+module com { module sun { module star { module awt { module grid {
+
+/** An instance of this interface is used by the UnoControlGrid to
+ retrieve the content data that is displayed in the actual control.
+
+ If you do not need your own model implementation, you can also use the DefaultGridDataModel.
+
+ @since OOo 3.3
+*/
+published interface XGridDataModel
+{
+ /** implements life time control for the component
+ */
+ interface ::com::sun::star::lang::XComponent;
+
+ /** allows cloning the complete data model
+ */
+ interface ::com::sun::star::util::XCloneable;
+
+ /** denotes the number of rows for which the model can provide data
+ */
+ [attribute, readonly] long RowCount;
+
+ /** denotes the number of columns for which the model can provide data
+ */
+ [attribute, readonly] long ColumnCount;
+
+ /** retrieves the data for a given cell
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the column or row index do not denote a valid cell position.
+ */
+ any getCellData( [in] long Column, [in] long RowIndex )
+ raises ( ::com::sun::star::lang::IndexOutOfBoundsException );
+
+ /** retrieves the tool tip to be displayed when the mouse hovers over a given cell
+
+ <p>At the moment, only string tool tips are supported.</p>
+
+ <p>If `VOID` is returned here, the cell's content will be displayed as tip, but only if it does
+ not fit into the cell.</p>
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the column or row index do not denote a valid cell position.
+ */
+ any getCellToolTip( [in] long Column, [in] long RowIndex )
+ raises ( ::com::sun::star::lang::IndexOutOfBoundsException );
+
+ /** retrieves the heading of a given row
+
+ <p>A grid control will usually paint a row's title in the header column of the respective row.</p>
+
+ <p>At the moment, only strings are supported as row headings.</p>
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the given index does not denote a valid row.
+ */
+ any
+ getRowHeading( [in] long RowIndex )
+ raises ( ::com::sun::star::lang::IndexOutOfBoundsException );
+
+ /** retrieves the data for a complete row
+
+ <p>This method is provided for performance and convenience reasons, it delivers the same result
+ as subsequent calls to getCellData() would.</p>
+
+ @param RowIndex
+ the index of the row whose data should is to be retrieved.
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ of the given row index does not denote a valid row.
+ */
+ sequence< any >
+ getRowData( [in] long RowIndex )
+ raises ( ::com::sun::star::lang::IndexOutOfBoundsException );
+};
+
+
+}; }; }; };};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/grid/XGridRowSelection.idl b/offapi/com/sun/star/awt/grid/XGridRowSelection.idl
new file mode 100644
index 000000000..838706d52
--- /dev/null
+++ b/offapi/com/sun/star/awt/grid/XGridRowSelection.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_awt_grid_XGridRowSelection_idl__
+#define __com_sun_star_awt_grid_XGridRowSelection_idl__
+
+#include <com/sun/star/awt/grid/XGridSelectionListener.idl>
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+
+
+module com { module sun { module star { module awt { module grid {
+
+
+/** This interfaces provides access to the selection of row for UnoControlGrid.
+
+ @since LibreOffice 3.4
+ */
+published interface XGridRowSelection
+{
+ /** Selects all rows.
+ */
+ void selectAllRows();
+
+ /** selects a given row
+
+ @param RowIndex
+ denotes the index of the row to select
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if <code>RowIndex</code> does not denote a valid row index
+ */
+ void selectRow( [in] long RowIndex )
+ raises ( ::com::sun::star::lang::IndexOutOfBoundsException );
+
+ /** Deselects all selected rows.
+ */
+ void deselectAllRows();
+
+ /** removes the selection for a given row
+
+ @param RowIndex
+ denotes the index of the row to deselect
+ */
+ void deselectRow( [in] long RowIndex )
+ raises ( ::com::sun::star::lang::IndexOutOfBoundsException );
+
+ /** Returns the indices of all selected rows.
+ @returns
+ a sequence of indices.
+ */
+ sequence< long > getSelectedRows();
+
+ /** Returns whether rows are selected.
+ @returns
+ `TRUE` if and only if at least one row is selected.
+ */
+ boolean hasSelectedRows();
+
+ /** Returns whether a specific row is selected.
+
+ @param RowIndex
+ the index of a row. If the value does not denote a valid row index, i.e. is smaller than <code>0</code>
+ or greater than the number of rows, this is silently ignored, and `FALSE` is returned.
+
+ @returns
+ `TRUE` if and only if there is a row with the given index, and it is selected currently.
+ */
+ boolean isRowSelected( [in] long RowIndex );
+
+ /** Adds a listener for the GridSelectionEvent posted after the grid changes.
+ @param listener
+ the listener to add.
+ */
+ void addSelectionListener( [in] XGridSelectionListener listener);
+
+ /** Removes a listener previously added with addSelectionListener().
+ @param listener
+ the listener to remove.
+ */
+ void removeSelectionListener( [in] XGridSelectionListener listener);
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/grid/XGridSelectionListener.idl b/offapi/com/sun/star/awt/grid/XGridSelectionListener.idl
new file mode 100644
index 000000000..248da0a6b
--- /dev/null
+++ b/offapi/com/sun/star/awt/grid/XGridSelectionListener.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_awt_grid_XGridSelectionListener_idl__
+#define __com_sun_star_awt_grid_XGridSelectionListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+
+#include <com/sun/star/awt/grid/GridSelectionEvent.idl>
+
+
+module com { module sun { module star { module awt { module grid {
+
+
+/** An instance of this interface is used by the XGridRowSelection to
+ get notifications about selection changes.
+ */
+published interface XGridSelectionListener: com::sun::star::lang::XEventListener
+{
+ /** Invoked after a selection was changed.
+ */
+ void selectionChanged( [in] GridSelectionEvent gridSelectionEvent);
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/grid/XMutableGridDataModel.idl b/offapi/com/sun/star/awt/grid/XMutableGridDataModel.idl
new file mode 100644
index 000000000..d22321da0
--- /dev/null
+++ b/offapi/com/sun/star/awt/grid/XMutableGridDataModel.idl
@@ -0,0 +1,184 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_awt_grid_XMutableGridDataModel_idl__
+#define __com_sun_star_awt_grid_XMutableGridDataModel_idl__
+
+#include <com/sun/star/awt/grid/XGridDataModel.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+
+
+module com { module sun { module star { module awt { module grid {
+
+
+/** allows to modify the data represented by a XGridDataModel
+ */
+published interface XMutableGridDataModel : XGridDataModel
+{
+ /** appends a row to the model.
+
+ @param Heading
+ denotes the heading of the row.
+ @param Data
+ specifies the content of the row.
+ */
+ void addRow( [in] any Heading, [in] sequence< any > Data );
+
+ /** appends multiple rows of data to the model.
+ @param Headings
+ denotes the headings of the to-be-added rows.
+ @param Data
+ specifies the data of the rows to be added.
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if <code>Titles</code> and <code>Data</code> are of different length.
+ */
+ void addRows( [in] sequence< any > Headings, [in] sequence< sequence< any > > Data )
+ raises ( ::com::sun::star::lang::IllegalArgumentException );
+
+ /** inserts a row into the set of data rows
+
+ @param Index
+ denotes the position at which the row is to be inserted
+ @param Heading
+ denotes the heading of the row.
+ @param Data
+ specifies the content of the row.
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if <code>Index</code> is smaller than <code>0</code> or greater than the number of
+ rows in the model.
+ */
+ void insertRow( [in] long Index, [in] any Heading, [in] sequence< any > Data )
+ raises ( ::com::sun::star::lang::IndexOutOfBoundsException );
+
+ /** inserts multiple rows of data into the model.
+ @param Index
+ denotes the position at which the rows are to be inserted
+ @param Headings
+ denotes the headings of the to-be-added rows.
+ @param Data
+ specifies the data of the rows to be added.
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if <code>Titles</code> and <code>Data</code> are of different length.
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if <code>Index</code> is smaller than <code>0</code> or greater than the number of
+ rows in the model.
+ */
+ void insertRows( [in] long Index, [in] sequence< any > Headings, [in] sequence< sequence< any > > Data )
+ raises ( ::com::sun::star::lang::IndexOutOfBoundsException
+ , ::com::sun::star::lang::IllegalArgumentException );
+
+ /** removes a row of data from the model
+
+ @param RowIndex
+ the index of the row that should be removed.
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the given index is invalid
+ */
+ void removeRow( [in] long RowIndex )
+ raises ( ::com::sun::star::lang::IndexOutOfBoundsException );
+
+ /** Removes all rows from the model.
+ */
+ void removeAllRows();
+
+ /** updates the content of the given cell
+ @param ColumnIndex
+ the column index of the to-be-updated cell
+ @param RowIndex
+ the row index of the to-be-updated cell
+ @param Value
+ the new value of the cell.
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the row or column index is invalid
+ */
+ void updateCellData( [in] long ColumnIndex, [in] long RowIndex, [in] any Value )
+ raises ( ::com::sun::star::lang::IndexOutOfBoundsException );
+
+ /** updates the content of a given row.
+
+ <p>The change in the data model will be notified to registered listeners via
+ XGridDataListener::dataChanged(). The GridDataEvent::FirstColumn and
+ GridDataEvent::LastColumn will denote the smallest respectively largest column
+ index from ColumnIndexes.</p>
+
+ @param ColumnIndexes
+ contains the column indexes of the cells, which should be updated
+ @param RowIndex
+ contains the index of the row whose data is to be updated
+ @param Values
+ specifies the new values of the cells.
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if one of the row indexes or the column index is invalid
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if the lengths of the <code>ColumnIndexes</code> and <code>Values</code> sequences are not equal.
+ */
+ void updateRowData( [in] sequence< long > ColumnIndexes, [in] long RowIndex, [in] sequence< any > Values )
+ raises ( ::com::sun::star::lang::IndexOutOfBoundsException
+ , ::com::sun::star::lang::IllegalArgumentException);
+
+ /** sets a new title for a given row.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the given index does not denote a valid row.
+ */
+ void
+ updateRowHeading( [in] long RowIndex, [in] any Heading )
+ raises ( ::com::sun::star::lang::IndexOutOfBoundsException );
+
+ /** updates the tooltip to be displayed for a given cell
+
+ @see XGridDataModel::getCellToolTip
+ */
+ void updateCellToolTip( [in] long ColumnIndex, [in] long RowIndex, [in] any Value )
+ raises ( ::com::sun::star::lang::IndexOutOfBoundsException );
+
+ /** updates the tooltip for all cells of a given row
+
+ <p>Effectively this method is a shortcut for calling updateCellToolTip() multiple
+ times in a row, for all cells of a given row.</p>
+
+ @see XGridDataModel::getCellToolTip
+ @see updateCellToolTip
+ */
+ void updateRowToolTip( [in] long RowIndex, [in] any Value )
+ raises ( ::com::sun::star::lang::IndexOutOfBoundsException );
+
+
+ /** registers listener to be notified of data changes in the model
+ @param Listener
+ specifies the listener to register
+ */
+ void addGridDataListener( [in] XGridDataListener Listener );
+
+
+ /** revokes a listener which was previously registered via addGridDataListener()
+ @param Listener
+ specifies the listener to revoke.
+ */
+ void removeGridDataListener( [in] XGridDataListener Listener );
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/grid/XSortableGridData.idl b/offapi/com/sun/star/awt/grid/XSortableGridData.idl
new file mode 100644
index 000000000..7a2e28373
--- /dev/null
+++ b/offapi/com/sun/star/awt/grid/XSortableGridData.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_awt_grid_XSortableGridData_idl__
+#define __com_sun_star_awt_grid_XSortableGridData_idl__
+
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#include <com/sun/star/beans/Pair.idl>
+
+
+module com { module sun { module star { module awt { module grid {
+
+
+/** allows to sort the data represented by a XGridDataModel
+ */
+interface XSortableGridData
+{
+ /** sorts the rows represented by the model by a given column's data.
+
+ @param ColumnIndex
+ the index of the column whose data should be used as sort key
+ @param SortAscending
+ is `TRUE` if the data should be sorted ascending, `FALSE` otherwise.
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if <code>ColumnIndex</code> does not denote a valid column.
+ */
+ void sortByColumn( [in] long ColumnIndex, [in] boolean SortAscending )
+ raises ( ::com::sun::star::lang::IndexOutOfBoundsException );
+
+ /** removes any possibly present sorting of the grid data
+ */
+ void removeColumnSort();
+
+ /** returns the current sort order.
+
+ @return
+ a structure describing the current sort order.
+ com::sun::star::beans::Pair::First
+ denotes the column by which the data is sorted, or -1 if
+ the data is currently unsorted.
+ com::sun::star::beans::Pair::Second
+ is `TRUE` if the data is sorted ascending, `FALSE` otherwise.
+ */
+ ::com::sun::star::beans::Pair< long, boolean >
+ getCurrentSortOrder();
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/grid/XSortableMutableGridDataModel.idl b/offapi/com/sun/star/awt/grid/XSortableMutableGridDataModel.idl
new file mode 100644
index 000000000..7f5477cf2
--- /dev/null
+++ b/offapi/com/sun/star/awt/grid/XSortableMutableGridDataModel.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_awt_grid_XSortableMutableGridDataModel_idl__
+#define __com_sun_star_awt_grid_XSortableMutableGridDataModel_idl__
+
+#include <com/sun/star/awt/grid/XMutableGridDataModel.idl>
+#include <com/sun/star/awt/grid/XSortableGridData.idl>
+
+
+module com { module sun { module star { module awt { module grid {
+
+
+/** describes a grid control data model whose data can be modified and sorted.
+ */
+interface XSortableMutableGridDataModel
+{
+ /** provides access to the basic functionality of a grid data model, plus functions to modify it.
+ */
+ interface XMutableGridDataModel;
+
+ /** provides means to sort the data represented by the model.
+
+ <p>If you set a new column sort order, the implementation will notify the registered XGridDataListeners
+ via a call to its XGridDataListener::dataChanged() method.</p>
+ */
+ interface XSortableGridData;
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/tab/TabPageActivatedEvent.idl b/offapi/com/sun/star/awt/tab/TabPageActivatedEvent.idl
new file mode 100644
index 000000000..959b12ddd
--- /dev/null
+++ b/offapi/com/sun/star/awt/tab/TabPageActivatedEvent.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_awt_tab_TabPageActivatedEvent_idl__
+#define __com_sun_star_awt_tab_TabPageActivatedEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+
+
+module com { module sun { module star { module awt { module tab {
+
+
+/** An event used by a XTabPageContainer to notify changes in tab page activation.
+
+ @since OOo 3.4
+ */
+published struct TabPageActivatedEvent: com::sun::star::lang::EventObject
+{
+ /** Contains the ID of the tab page
+ */
+ short TabPageID;
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/tab/UnoControlTabPage.idl b/offapi/com/sun/star/awt/tab/UnoControlTabPage.idl
new file mode 100644
index 000000000..2e0afdda6
--- /dev/null
+++ b/offapi/com/sun/star/awt/tab/UnoControlTabPage.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_awt_tab_UnoControlTabPage_idl__
+#define __com_sun_star_awt_tab_UnoControlTabPage_idl__
+
+#include <com/sun/star/awt/UnoControlContainer.idl>
+#include <com/sun/star/awt/tab/XTabPage.idl>
+
+
+module com { module sun { module star { module awt { module tab {
+
+
+/** specifies a TabPage control.
+
+ @since OOo 3.4
+*/
+
+published service UnoControlTabPage
+{
+ service com::sun::star::awt::UnoControlContainer;
+
+ interface XTabPage;
+
+};
+
+
+ }; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/tab/UnoControlTabPageContainer.idl b/offapi/com/sun/star/awt/tab/UnoControlTabPageContainer.idl
new file mode 100644
index 000000000..5585a8664
--- /dev/null
+++ b/offapi/com/sun/star/awt/tab/UnoControlTabPageContainer.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_awt_tab_UnoControlTabPageContainer_idl__
+#define __com_sun_star_awt_tab_UnoControlTabPageContainer_idl__
+
+#include <com/sun/star/awt/UnoControl.idl>
+#include <com/sun/star/awt/tab/XTabPageContainer.idl>
+
+
+module com { module sun { module star { module awt { module tab {
+
+
+/** specifies a TabPageContainer control.
+
+ @since OOo 3.4
+ */
+published service UnoControlTabPageContainer
+{
+ service com::sun::star::awt::UnoControl;
+
+ interface com::sun::star::awt::tab::XTabPageContainer;
+
+};
+
+
+ }; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/tab/UnoControlTabPageContainerModel.idl b/offapi/com/sun/star/awt/tab/UnoControlTabPageContainerModel.idl
new file mode 100644
index 000000000..0d248a732
--- /dev/null
+++ b/offapi/com/sun/star/awt/tab/UnoControlTabPageContainerModel.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_awt_tab_UnoControlTabPageContainerModel_idl__
+#define __com_sun_star_awt_tab_UnoControlTabPageContainerModel_idl__
+
+#include <com/sun/star/awt/UnoControlModel.idl>
+#include <com/sun/star/awt/tab/XTabPageContainerModel.idl>
+
+
+module com { module sun { module star { module awt { module tab {
+
+
+/** specifies a model for a UnoControlTabPageContainer control.
+
+ @since OOo 3.4
+ */
+published service UnoControlTabPageContainerModel
+{
+ service com::sun::star::awt::UnoControlModel;
+
+ interface com::sun::star::awt::tab::XTabPageContainerModel;
+
+};
+
+
+ }; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/tab/UnoControlTabPageModel.idl b/offapi/com/sun/star/awt/tab/UnoControlTabPageModel.idl
new file mode 100644
index 000000000..0c32f231f
--- /dev/null
+++ b/offapi/com/sun/star/awt/tab/UnoControlTabPageModel.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_awt_tab_UnoControlTabPageModel_idl__
+#define __com_sun_star_awt_tab_UnoControlTabPageModel_idl__
+
+#include <com/sun/star/awt/tab/XTabPageModel.idl>
+
+
+module com { module sun { module star { module awt { module tab {
+
+/** specifies the standard model of a XTabPageModel.
+ @since OOo 3.4
+ */
+published service UnoControlTabPageModel
+{
+ interface XTabPageModel;
+
+ /** specifies the text that is displayed in the caption bar of the dialog.
+ */
+ [optional, property] string Title;
+
+ /** specifies the help text of the dialog.
+ */
+ [optional, property] string HelpText;
+
+ /** specifies the help URL of the dialog.
+ */
+ [optional, property] string HelpURL;
+
+ /** specifies that a horizontal scrollbar should be added to the dialog
+ @since LibreOffice 7.1
+ */
+ [optional, property] boolean HScroll;
+
+ /** specifies that a vertical scrollbar should be added to the dialog
+ @since LibreOffice 7.1
+ */
+ [optional, property] boolean VScroll;
+
+ /** specifies the horizontal position of the scrolled dialog content
+ @since LibreOffice 7.1
+ */
+ [optional, property] long ScrollLeft;
+
+ /** specifies the vertical position of the scrolled dialog content
+ @since LibreOffice 7.1
+ */
+ [optional, property] long ScrollTop;
+
+ /** specifies the total width of the scrollable dialog content
+ @since LibreOffice 7.1
+ */
+ [optional, property] long ScrollWidth;
+
+ /** specifies the total height of the scrollable dialog content
+ @since LibreOffice 7.1
+ */
+ [optional, property] long ScrollHeight;
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/tab/XTabPage.idl b/offapi/com/sun/star/awt/tab/XTabPage.idl
new file mode 100644
index 000000000..301946a4a
--- /dev/null
+++ b/offapi/com/sun/star/awt/tab/XTabPage.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_awt_tab_XTabPage_idl__
+#define __com_sun_star_awt_tab_XTabPage_idl__
+
+#include <com/sun/star/awt/tab/XTabPageModel.idl>
+
+module com { module sun { module star { module awt { module tab {
+
+
+/** An interface to a control that displays a tab page.
+
+ @see UnoControlTabPage
+
+ @since OOo 3.4
+ */
+published interface XTabPage
+{
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/tab/XTabPageContainer.idl b/offapi/com/sun/star/awt/tab/XTabPageContainer.idl
new file mode 100644
index 000000000..a6e968c4f
--- /dev/null
+++ b/offapi/com/sun/star/awt/tab/XTabPageContainer.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_awt_tab_XTabPageContainer_idl__
+#define __com_sun_star_awt_tab_XTabPageContainer_idl__
+
+#include <com/sun/star/awt/tab/XTabPageContainerListener.idl>
+#include <com/sun/star/awt/tab/XTabPage.idl>
+
+module com { module sun { module star { module awt { module tab {
+
+
+/** An interface to a control that displays tab pages.
+
+ @see UnoControlTabPageContainer
+
+ @since OOo 3.4
+ */
+published interface XTabPageContainer
+{
+ /** Returns the number of tab pages.
+ @returns
+ the number of tab pages.
+ */
+ short getTabPageCount();
+
+
+ /** Checks whether a tab page is activated.
+ @param tabPageIndex
+ the tab page to be checked.
+ @returns
+ `TRUE` if tab page is activated, else `FALSE`.
+ */
+ boolean isTabPageActive([in] short tabPageIndex);
+
+
+ /** Returns tab page for the given index.
+ @param
+ tabPageIndex - index of the tab page in the IndexContainer.
+ @returns
+ tab page which has tabPageIndex.
+ */
+ XTabPage getTabPage([in] short tabPageIndex);
+
+
+ /** Returns tab page for the given ID.
+ @param
+ tabPageID - ID of the tab page.
+ @returns
+ tab page which has tabPageID.
+ */
+ XTabPage getTabPageByID([in] short tabPageID);
+
+
+ /** Adds a listener for the TabPageActivedEvent posted after
+ the tab page was activated.
+ @param listener
+ the listener to add.
+ */
+ void addTabPageContainerListener( [in] XTabPageContainerListener listener);
+
+
+ /** Removes a listener previously added with addTabPageListener().
+ @param listener
+ the listener to remove.
+ */
+ void removeTabPageContainerListener( [in] XTabPageContainerListener listener);
+
+ /** Specifies the ID of the current active tab page.
+ */
+ [attribute] short ActiveTabPageID;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/tab/XTabPageContainerListener.idl b/offapi/com/sun/star/awt/tab/XTabPageContainerListener.idl
new file mode 100644
index 000000000..7b1396e98
--- /dev/null
+++ b/offapi/com/sun/star/awt/tab/XTabPageContainerListener.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_awt_tab_XTabPageContainerListener_idl__
+#define __com_sun_star_awt_tab_XTabPageContainerListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+#include <com/sun/star/awt/tab/TabPageActivatedEvent.idl>
+
+
+module com { module sun { module star { module awt { module tab {
+
+
+/** An instance of this interface is used by the XTabPageContainer to
+ get notifications about changes in activation of tab pages.
+
+ @since OOo 3.4
+ */
+published interface XTabPageContainerListener: com::sun::star::lang::XEventListener
+{
+ /** Invoked after a tab page was activated.
+ */
+ void tabPageActivated( [in] TabPageActivatedEvent tabPageActivatedEvent);
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/tab/XTabPageContainerModel.idl b/offapi/com/sun/star/awt/tab/XTabPageContainerModel.idl
new file mode 100644
index 000000000..f01dd6730
--- /dev/null
+++ b/offapi/com/sun/star/awt/tab/XTabPageContainerModel.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_awt_tab_XTabPageContainerModel_idl__
+#define __com_sun_star_awt_tab_XTabPageContainerModel_idl__
+
+#include <com/sun/star/container/XIndexContainer.idl>
+#include <com/sun/star/container/XContainer.idl>
+
+
+module com { module sun { module star { module awt { module tab {
+
+published interface XTabPageModel;
+
+
+/** specifies an interface for a UnoControlTabPageContainerModel.
+
+ @since OOo 3.4
+ */
+published interface XTabPageContainerModel
+{
+ interface com::sun::star::container::XIndexContainer;
+ interface com::sun::star::container::XContainer;
+
+ /** creates a TabPageModel which can be inserted into the container.
+ @param TabPageID
+ the id of the tab page
+ */
+ XTabPageModel createTabPage( [in] short TabPageID );
+
+ /** creates a TabPageModel which can be inserted into the container, by loading it from a user interface
+ resource file.
+ @param TabPageID
+ the id of the tab page
+ @param ResourceURL
+ the URL of the user interface resource to load
+ */
+ XTabPageModel loadTabPage( [in] short TabPageID, [in] string ResourceURL );
+};
+
+
+ }; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/tab/XTabPageModel.idl b/offapi/com/sun/star/awt/tab/XTabPageModel.idl
new file mode 100644
index 000000000..ca61046b8
--- /dev/null
+++ b/offapi/com/sun/star/awt/tab/XTabPageModel.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_awt_tab_XTabPageModel_idl__
+#define __com_sun_star_awt_tab_XTabPageModel_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/XMultiServiceFactory.idl>
+#include <com/sun/star/container/XContainer.idl>
+#include <com/sun/star/container/XNameContainer.idl>
+
+
+module com { module sun { module star { module awt { module tab {
+
+
+/** specifies an XTabPageModel interface.
+
+ @since OOo 3.4
+*/
+
+published interface XTabPageModel
+{
+ //interface com::sun::star::lang::XMultiServiceFactory;
+
+ //interface com::sun::star::container::XNameContainer;
+
+ //interface com::sun::star::container::XContainer;
+
+ /**ID for tab page.
+ */
+ [attribute, readonly] short TabPageID;
+
+ /** determines whether a tab page is enabled or disabled.
+ */
+ [attribute] boolean Enabled;
+
+
+ /** specifies the text that is displayed in the tab bar of the tab page.
+ */
+ [attribute] string Title;
+
+
+ /** specifies a URL that references a graphic that should be displayed in the tab bar.
+ */
+ [attribute] string ImageURL;
+
+
+ /** specifies a tooltip text that should be displayed in the tab bar.
+ */
+ [attribute] string ToolTip;
+};
+
+
+
+ }; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/tree/ExpandVetoException.idl b/offapi/com/sun/star/awt/tree/ExpandVetoException.idl
new file mode 100644
index 000000000..cf792059e
--- /dev/null
+++ b/offapi/com/sun/star/awt/tree/ExpandVetoException.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_awt_tree_ExpandVetoException_idl__
+#define __com_sun_star_awt_tree_ExpandVetoException_idl__
+
+#include <com/sun/star/util/VetoException.idl>
+#include <com/sun/star/awt/tree/TreeExpansionEvent.idl>
+
+
+module com { module sun { module star { module awt { module tree {
+
+
+/** Exception used to stop an expand/collapse from happening.
+ @see XTreeExpansionListener
+ @see XTreeControl
+ */
+exception ExpandVetoException : com::sun::star::util::VetoException
+{
+ /** The event that the exception was created for. */
+ TreeExpansionEvent Event;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/tree/MutableTreeDataModel.idl b/offapi/com/sun/star/awt/tree/MutableTreeDataModel.idl
new file mode 100644
index 000000000..5901dd8e9
--- /dev/null
+++ b/offapi/com/sun/star/awt/tree/MutableTreeDataModel.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_awt_tree_MutableTreeDataModel_idl__
+#define __com_sun_star_awt_tree_MutableTreeDataModel_idl__
+
+#include <com/sun/star/awt/tree/XMutableTreeDataModel.idl>
+#include <com/sun/star/awt/tree/XMutableTreeNode.idl>
+
+
+module com { module sun { module star { module awt { module tree {
+
+
+/** If you do not want to implement the XTreeDataModel yourself, use this service.
+ This implementation uses MutableTreeNode for its nodes.
+ */
+service MutableTreeDataModel : XMutableTreeDataModel
+{
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/tree/MutableTreeNode.idl b/offapi/com/sun/star/awt/tree/MutableTreeNode.idl
new file mode 100644
index 000000000..646f4de25
--- /dev/null
+++ b/offapi/com/sun/star/awt/tree/MutableTreeNode.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_awt_tree_MutableTreeNode_idl__
+#define __com_sun_star_awt_tree_MutableTreeNode_idl__
+
+#include <com/sun/star/awt/tree/XMutableTreeNode.idl>
+
+
+module com { module sun { module star { module awt { module tree {
+
+
+/** Represents an editable tree node as used by the MutableTreeDataModel
+ */
+service MutableTreeNode : XMutableTreeNode
+{
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/tree/TreeControl.idl b/offapi/com/sun/star/awt/tree/TreeControl.idl
new file mode 100644
index 000000000..084474977
--- /dev/null
+++ b/offapi/com/sun/star/awt/tree/TreeControl.idl
@@ -0,0 +1,86 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_awt_tree_TreeControl_idl__
+#define __com_sun_star_awt_tree_TreeControl_idl__
+
+#include <com/sun/star/awt/tree/XTreeControl.idl>
+
+
+module com { module sun { module star { module awt { module tree {
+
+
+/** A control that displays a set of hierarchical data as an outline.
+
+ <p>
+ <h4>The Data Model</h4>
+ <p>A specific node in a tree is identified by a XTreeNode.
+ A leaf node is a node without any children and that returns `FALSE` when calling XTreeNode::hasChildrenOnDemand().
+ An expanded node is a non-leaf node that will displays its children when all its ancestors are expanded.
+ A collapsed node is one which hides them.
+ A node is visible when all parent nodes are expanded and the node itself is in the display area.
+ </p>
+
+ <p>The nodes are retrieved from a XTreeDataModel.
+ You can implement it yourself or use the MutableTreeDataModel
+ which uses XMutableTreeNode and XMutableTreeDataModel
+ for a simple and mutable data model.
+
+ <p>The data model must be set at the TreeControlModel::TreeDataModel property.</p>
+
+ <h4>Selection</h4>
+ <p>If you are interested in knowing when the selection changes implement a
+ com::sun::star::view::XSelectionChangeListener and add the instance with the method
+ ::com::sun::star::view::XSelectionSupplier::addSelectionChangeListener().
+ You than will be notified for any selection change.
+ </p>
+
+ <p>
+ If you are interested in detecting either double-click events or when a user clicks on a node,
+ regardless of whether or not it was selected, you can get the com::sun::star::awt::XWindow
+ and add yourself as a com::sun::star::awt::XMouseClickHandler. You can use the
+ method XTreeControl::getNodeForLocation() to retrieve the node that was under the
+ mouse at the time the event was fired.
+ </p>
+
+ <h4>Adding child nodes on demand</h4>
+ <p>If you want to add child nodes to your tree on demand you can do the following.
+ <ul>
+ <li>Make sure the parent node returns `TRUE` for XTreeNode::hasChildrenOnDemand() either
+ by implementing XTreeNode yourself or if you use the MutableTreeDataModel,
+ use XMutableTreeNode::setHasChildrenOnDemand().</li>
+ <li>Implement a XTreeExpansionListener and add the instance with the method
+ XTreeControl::addTreeExpansionListener().</li>
+ </ul>
+ Now you get called when the node will become expanded or collapsed.
+ So on XTreeExpansionListener::treeExpanding() you can
+ check the TreeExpansionEvent if the parent node with children on demand is going to
+ be expanded and in that case add the missing child nodes. You can also veto the expansion or
+ collapsing of a parent node by using the ExpandVetoException.
+ </p>
+ */
+service TreeControl: XTreeControl
+{
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/tree/TreeControlModel.idl b/offapi/com/sun/star/awt/tree/TreeControlModel.idl
new file mode 100644
index 000000000..018df931f
--- /dev/null
+++ b/offapi/com/sun/star/awt/tree/TreeControlModel.idl
@@ -0,0 +1,97 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_awt_tree_TreeControlModel_idl__
+#define __com_sun_star_awt_tree_TreeControlModel_idl__
+
+#include <com/sun/star/awt/tree/XTreeDataModel.idl>
+#include <com/sun/star/awt/UnoControlModel.idl>
+#include <com/sun/star/view/SelectionType.idl>
+
+
+module com { module sun { module star { module awt { module tree {
+
+
+/** specifies the standard model of a TreeControl.
+ */
+service TreeControlModel
+{
+ /** specifies the standard model of a com::sun::star::awt::UnoControl. */
+ service ::com::sun::star::awt::UnoControlModel;
+
+ /** Specifies the selection mode that is enabled for this tree.
+ <p>The default value is com::sun::star::view::SelectionType::NONE</p>
+ */
+ [property] ::com::sun::star::view::SelectionType SelectionType;
+
+ /** Specifies the XTreeDataModel that is providing the hierarchical data.
+
+ <p>You can implement your own instance of XTreeDataModel or use
+ the MutableTreeDataModel.
+ */
+ [property] XTreeDataModel DataModel;
+
+ /** Specifies if the root node of the tree is displayed.
+ <p>If <var>RootDisplayed</var> is set to `FALSE`, the root node of a model is no longer
+ a valid node for the XTreeControl and can't be used with any method of
+ XTreeControl.
+ <p>The default value is `TRUE`</p>
+ */
+ [property] boolean RootDisplayed;
+
+ /** Specifies whether the node handles should be displayed.
+ <p>The handles are doted lines that visualize the tree like hierarchy<p>
+ <p>The default value is `TRUE`</p>
+ */
+ [property] boolean ShowsHandles;
+
+ /** Specifies whether the node handles should also be displayed at root level.
+ <p>The default value is `TRUE`</p>
+ */
+ [property] boolean ShowsRootHandles;
+
+ /** Specifies the height of each row, in pixels.
+ <p>If the specified value is less than or equal to zero, the row height is the maximum height
+ of all rows.</p>
+ <p>The default value is 0</p>
+ */
+ [property] long RowHeight;
+
+ /** Specifies whether the nodes of the tree are editable.
+ <p>The default value is `FALSE`</p>
+
+ @see XTreeControl::startEditingAtNode()
+ @see XTreeEditListener
+ */
+ [property] boolean Editable;
+
+ /** Specifies what happens when editing is interrupted by selecting another node in the tree,
+ a change in the tree's data, or by some other means.
+ <p>Setting this property to `TRUE` causes the changes to be automatically saved when editing
+ is interrupted. `FALSE` means that editing is canceled and changes are lost
+ <p>The default value is `FALSE`</p>
+ */
+ [property] boolean InvokesStopNodeEditing;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/tree/TreeDataModelEvent.idl b/offapi/com/sun/star/awt/tree/TreeDataModelEvent.idl
new file mode 100644
index 000000000..c84f3ebee
--- /dev/null
+++ b/offapi/com/sun/star/awt/tree/TreeDataModelEvent.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_awt_tree_TreeDataModelEvent_idl__
+#define __com_sun_star_awt_tree_TreeDataModelEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+#include <com/sun/star/awt/tree/XTreeNode.idl>
+
+
+module com { module sun { module star { module awt { module tree {
+
+
+/** An event used by a XTreeDataModel to notify changes in the data
+ model to the XTreeControl.
+ You usually need to fill this event only if you implement the XTreeDataModel
+ yourself.
+
+ @see XTreeDataModel
+ @see XTreeControl
+ @see XTreeDataModelListener
+ */
+struct TreeDataModelEvent : ::com::sun::star::lang::EventObject
+{
+ /** contains the changed, added or removed nodes.
+ <p> All nodes must have #ParentNode as parent. */
+ sequence< XTreeNode > Nodes;
+
+ /** holds the parent node for changed, added or removed nodes.
+ <p> If this is null, #Nodes must contain only the root node */
+ XTreeNode ParentNode;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/tree/TreeExpansionEvent.idl b/offapi/com/sun/star/awt/tree/TreeExpansionEvent.idl
new file mode 100644
index 000000000..61238eda9
--- /dev/null
+++ b/offapi/com/sun/star/awt/tree/TreeExpansionEvent.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_awt_tree_TreeExpansionEvent_idl__
+#define __com_sun_star_awt_tree_TreeExpansionEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+#include <com/sun/star/awt/tree/XTreeNode.idl>
+
+
+module com { module sun { module star { module awt { module tree {
+
+
+/** This event tells you what node is currently expanding or collapsing.
+
+ @see XTreeExpansionListener
+ @see XTreeControl
+ */
+struct TreeExpansionEvent : ::com::sun::star::lang::EventObject
+{
+ /* The node that has been expanded/collapsed.*/
+ com::sun::star::awt::tree::XTreeNode Node;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/tree/XMutableTreeDataModel.idl b/offapi/com/sun/star/awt/tree/XMutableTreeDataModel.idl
new file mode 100644
index 000000000..1bdf94273
--- /dev/null
+++ b/offapi/com/sun/star/awt/tree/XMutableTreeDataModel.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_awt_tree_XMutableTreeDataModel_idl__
+#define __com_sun_star_awt_tree_XMutableTreeDataModel_idl__
+
+#include <com/sun/star/awt/tree/XTreeDataModel.idl>
+#include <com/sun/star/awt/tree/XMutableTreeNode.idl>
+
+
+module com { module sun { module star { module awt { module tree {
+
+
+/** This is the editable version of the XTreeDataModel.
+
+ <p>Note that only XTreeNode created from the same instance with createNode()
+ are valid nodes for this instance.</p>
+ */
+interface XMutableTreeDataModel : XTreeDataModel
+{
+ /** creates a new tree node with the given value and given settings.
+
+ @param DisplayValue
+ should be convertible to a string and is used by the XTreeControl
+ as a textual representation of the created node.
+
+ @param ChildrenOnDemand
+ if `TRUE` is used as a parameter, the created node will be treated as a non-leaf
+ node by the XTreeControl, even when it has no child nodes.
+
+ @returns
+ a new XMutableTreeNode that can be used for this model.
+
+ @see XTreeNode::getDisplayValue()
+ @see XTreeNode::hasChildrenOnDemand()
+ */
+ XMutableTreeNode createNode( [in] any DisplayValue, [in] boolean ChildrenOnDemand );
+
+ /** changes the root node of this model to <var>RootNode</var>.
+
+ @param RootNode
+ the XMutableTreeNode that becomes the new root node of this model.
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if <var>RootNode</var> is not a valid node of this XTreeDataModel.
+ */
+ void setRoot( [in] XMutableTreeNode RootNode )
+ raises( ::com::sun::star::lang::IllegalArgumentException );
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/tree/XMutableTreeNode.idl b/offapi/com/sun/star/awt/tree/XMutableTreeNode.idl
new file mode 100644
index 000000000..72529350a
--- /dev/null
+++ b/offapi/com/sun/star/awt/tree/XMutableTreeNode.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_awt_tree_XMutableTreeNode_idl__
+#define __com_sun_star_awt_tree_XMutableTreeNode_idl__
+
+#include <com/sun/star/awt/tree/XTreeNode.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+
+
+module com { module sun { module star { module awt { module tree {
+
+
+/** Represents a mutable tree node as used by the MutableTreeDataModel
+ */
+interface XMutableTreeNode : XTreeNode
+{
+ /** appends <var>ChildNode</var> to this instance.
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if <var>ChildNode</var> is not a valid node of the corresponding XTreeDataModel.
+ */
+ void appendChild( [in] XMutableTreeNode ChildNode )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** inserts <var>ChildNode</var> to this instance at the given index.
+
+ @param Index
+ the index where the node will be inserted to this instance.
+
+ @param ChildNode
+ the node to insert.
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if <var>ChildNode</var> is not a valid node of the corresponding XTreeDataModel.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if <var>Index</var> is less than 0 or greater than XTreeNode::getChildCount().
+ */
+ void insertChildByIndex( [in] long Index, [in] XMutableTreeNode ChildNode )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::lang::IndexOutOfBoundsException );
+
+ /** removes the node from this instance at the specified index.
+
+ @param Index
+ the index of the node to be removed from this instance.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if <var>Index</var> is less than 0 or greater than XTreeNode::getChildCount().
+ */
+ void removeChildByIndex( [in] long Index )
+ raises( com::sun::star::lang::IndexOutOfBoundsException );
+
+ /** Changes if the children of this node are created on demand.
+
+ @see XTreeNode::hasChildrenOnDemand()
+ */
+ void setHasChildrenOnDemand( [in] boolean ChildrenOnDemand );
+
+ /** sets the display value of this node */
+ void setDisplayValue( [in] any Value );
+
+ /** Stores an implementation dependent value.
+
+ <p>You can use this attribute to store data for this node that
+ is independent of the display value</p>
+ */
+ [attribute] any DataValue;
+
+ /** The URL for a graphic that is rendered before the text part of this node.
+ <p>If this URL is empty, no graphic is rendered.
+ */
+ void setNodeGraphicURL( [in] string URL );
+
+ /** The URL for a graphic that is rendered to visualize expanded non leaf nodes.
+ <p>If <var>URL</var> is empty, XTreeControl::DefaultExpandedGraphicURL is used.
+ */
+ void setExpandedGraphicURL( [in] string URL );
+
+ /** The URL for a graphic that is rendered to visualize collapsed non leaf nodes.
+ <p>If <var>URL</var> is empty, XTreeControl::DefaultCollapsedGraphicURL is used.
+ */
+ void setCollapsedGraphicURL( [in] string URL );
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/tree/XTreeControl.idl b/offapi/com/sun/star/awt/tree/XTreeControl.idl
new file mode 100644
index 000000000..657f27677
--- /dev/null
+++ b/offapi/com/sun/star/awt/tree/XTreeControl.idl
@@ -0,0 +1,269 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_awt_tree_XTreeControl_idl__
+#define __com_sun_star_awt_tree_XTreeControl_idl__
+
+#include <com/sun/star/awt/XControl.idl>
+#include <com/sun/star/awt/tree/XTreeExpansionListener.idl>
+#include <com/sun/star/view/XMultiSelectionSupplier.idl>
+#include <com/sun/star/awt/tree/XTreeEditListener.idl>
+
+
+module com { module sun { module star { module awt { module tree {
+
+
+/** An interface to a control that displays a set of hierarchical data as an outline.
+
+ @see TreeControl
+ */
+interface XTreeControl
+{
+ /** This interfaces provides access to the selection of tree nodes for this control.
+
+ <p>valid selection values for this interface are
+ XTreeNode or sequence&lt;XTreeNode&gt;.</p>
+
+ ::com::sun::star::view::XSelectionSupplier::getSelection()
+ returns an empty any for no selection, an any with XTreeNode for
+ a single selection and a sequence&lt;XTreeNode&gt; for a multiselection.
+ */
+ interface ::com::sun::star::view::XMultiSelectionSupplier;
+
+ // expanding/collapsing/visible
+
+ /** Returns `TRUE` if <var>Node</var> is currently expanded.
+
+ @param Node
+ the XTreeNode specifying the node to check.
+
+ @returns
+ `FALSE` if <var>Node</var> or at least one of its parent nodes are collapsed,
+ `TRUE` if <var>Node</var> and all of its parent nodes are expanded.
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if <var>Node</var> is not a valid node of the corresponding XTreeDataModel.
+ */
+ boolean isNodeExpanded( [in] XTreeNode Node )
+ raises( ::com::sun::star::lang::IllegalArgumentException );
+
+ /** Returns `TRUE` if <var>Node</var> is currently collapsed.
+
+ @param Node
+ the XTreeNode specifying the node to check
+
+ @returns
+ `TRUE` if <var>Node</var> or at least one of its parent nodes are collapsed,
+ `FALSE` if <var>Node</var> and all of its parent nodes are expanded
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if <var>Node</var> is not a valid node of the corresponding XTreeDataModel.
+ */
+ boolean isNodeCollapsed( [in] XTreeNode Node )
+ raises( ::com::sun::star::lang::IllegalArgumentException );
+
+ /** Ensures that <var>Node</var> is currently visible.
+ <p>This includes expanding all parent nodes and scroll the control so this
+ node is visible in the controls display area.</p>
+
+ @param Node
+ the XTreeNode specifying the node to make visible.
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if <var>Node</var> is not a valid node of the corresponding XTreeDataModel.
+
+ @throws ExpandVetoException
+ if <var>Node</var>can't be made visible since at least one of the parent nodes are
+ collapsed and expanding failed because at least one of the registered
+ XTreeExpansionListener raised an ExpandVetoException.
+ */
+ void makeNodeVisible( [in] XTreeNode Node )
+ raises( com::sun::star::lang::IllegalArgumentException, ExpandVetoException );
+
+ /** Returns `TRUE` if <var>Node</var> is currently visible.
+ <p>Visible means it is either the root or all of its parents are expanded.</p>
+
+ @returns
+ `TRUE` if <var>Node</var> is visible, otherwise `FALSE`
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if <var>Node</var> is not a valid node of the corresponding XTreeDataModel.
+ */
+ boolean isNodeVisible( [in] XTreeNode Node )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** Ensures that <var>Node</var> is expanded and visible.
+ <p>If <var>Node</var> is a leaf node, this will have no effect.</p>
+
+ @param Node
+ the XTreeNode identifying a node.
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if <var>Node</var> is not a valid node of the corresponding XTreeDataModel.
+
+ @throws ExpandVetoException
+ if expanding <var>Node</var> failed because at least one of the registered
+ XTreeExpansionListener raised an ExpandVetoException.
+ */
+ void expandNode( [in] XTreeNode Node )
+ raises( com::sun::star::lang::IllegalArgumentException, ExpandVetoException );
+
+ /** Ensures that <var>Node</var> is collapsed.
+
+ @param Node
+ the XTreeNode identifying a node
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if <var>Node</var> is not a valid node of the corresponding XTreeDataModel.
+
+ @throws ExpandVetoException
+ if collapsing <var>Node</var> failed because at least one of the registered
+ XTreeExpansionListener raised an ExpandVetoException.
+ */
+ void collapseNode( [in] XTreeNode Node )
+ raises( com::sun::star::lang::IllegalArgumentException, ExpandVetoException );
+
+ /** Adds a listener for TreeExpansion events.
+
+ @param Listener
+ a XTreeExpansionListener that will be notified when a tree
+ node is expanded or collapsed.
+ */
+ void addTreeExpansionListener( [in] XTreeExpansionListener Listener );
+
+ /** Removes a listener for TreeExpansion events.
+
+ @param Listener
+ the XTreeExpansionListener to remove.
+ */
+ void removeTreeExpansionListener( [in] XTreeExpansionListener Listener );
+
+ /** If the given URL points to a loadable graphic, the graphic is rendered
+ before expanded non leaf nodes.
+
+ <p>This can be overridden for individual nodes by XTreeNode::getExpandedGraphicURL()</p>
+ */
+ [attribute] string DefaultExpandedGraphicURL;
+
+ /** If the given URL points to a loadable graphic, the graphic is rendered
+ before collapsed non leaf nodes.
+
+ <p>This can be overridden for individual nodes by XTreeNode::getCollapsedGraphicURL()</p>
+ */
+ [attribute] string DefaultCollapsedGraphicURL;
+
+ // tree geometry
+
+ /** Returns the node at the specified location.
+
+ @param x
+ an integer giving the number of pixels horizontally from the left edge of the controls display area
+ @param y
+ an integer giving the number of pixels vertically from the top edge of the controls display area
+ @returns
+ the XTreeNode for the node at that location, or 0 if there is no node at the given position
+ */
+ XTreeNode getNodeForLocation( [in] long x, [in] long y );
+
+ /** Returns the node that is closest to x,y.
+ <p>If no nodes are currently viewable, or there is no model, returns null,
+ otherwise it always returns a valid node. To test if the node is exactly
+ at x, y, use getNodeForLocation().
+
+ @param x
+ an integer giving the number of pixels horizontally from the left edge of the controls display area
+ @param y
+ an integer giving the number of pixels vertically from the top edge of the controls display area
+ @returns
+ the XTreeNode for the node closest to that location, null if nothing is viewable or there is no model
+ */
+ XTreeNode getClosestNodeForLocation( [in] long x, [in] long y );
+
+ /** returns the rectangle occupied by the visual representation of the given node
+
+ @param Node
+ the node whose geometry should be obtained
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if the given node is `NULL`, or does not belong to the tree's data model
+ */
+ ::com::sun::star::awt::Rectangle
+ getNodeRect( [in] XTreeNode Node )
+ raises( ::com::sun::star::lang::IllegalArgumentException );
+
+ // tree editing
+
+ /** Returns `TRUE` if one of tree's nodes is being currently edited.
+ <p>The node that is being edited can be obtained using com::sun::star::view::XSelectionSupplier::getSelection().
+
+ @returns
+ `TRUE` if the user is currently editing a node
+ */
+ boolean isEditing();
+
+ /** Ends the current editing session.
+ <p>All registered XTreeEditListener are notified if an editing session was in progress</p>
+ <p>Has no effect if the tree isn't being edited.</p>
+
+ @returns
+ `TRUE` if editing was in progress and is now stopped, `FALSE` if editing was not in progress
+ */
+ boolean stopEditing();
+
+ /** Cancels the current editing session.
+ <p>Has no effect if the tree isn't being edited.</p>
+ */
+ void cancelEditing();
+
+ /** Selects <var>Node</var> and initiates editing.
+
+ <p>If TreeControlModel::Editable is `FALSE` or if there are no
+ registered XTreeEditListener, this call has no effect.</p>
+
+ <p>Calling this method also ensures that <var>Node</var> will become visible.</p>
+
+ @param Node
+ the XTreeNode identifying a node.
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if <var>Node</var> is not a valid node of the corresponding XTreeDataModel.
+ */
+ void startEditingAtNode( [in] XTreeNode Node )
+ raises( ::com::sun::star::lang::IllegalArgumentException );
+
+ /** Adds a XTreeEditListener.
+
+ @param Listener
+ a XTreeEditListener that will be notified
+ before and after a tree node is edited.
+ */
+ void addTreeEditListener( [in] XTreeEditListener Listener );
+
+ /** Removes a XTreeEditListener.
+
+ @param Listener
+ the XTreeEditListener to remove
+ */
+ void removeTreeEditListener( [in] XTreeEditListener Listener );
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/tree/XTreeDataModel.idl b/offapi/com/sun/star/awt/tree/XTreeDataModel.idl
new file mode 100644
index 000000000..0f2b8816b
--- /dev/null
+++ b/offapi/com/sun/star/awt/tree/XTreeDataModel.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_awt_tree_XTreeDataModel_idl__
+#define __com_sun_star_awt_tree_XTreeDataModel_idl__
+
+#include <com/sun/star/awt/tree/XTreeDataModelListener.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/awt/tree/XTreeNode.idl>
+
+
+module com { module sun { module star { module awt { module tree {
+
+
+/** An instance of this interface is used by the TreeControl to
+ retrieve the hierarchical outline data that is displayed in the actual control.
+
+ <p>If you implement your own XTreeDataModel you need to notify registered
+ XTreeDataModelListener if your model changes after the control is created.
+ If this is not done correctly the TreeControl will not update the data properly.</p>
+
+ If you do not need your own model implementation, you can also use the MutableTreeDataModel.
+*/
+interface XTreeDataModel : ::com::sun::star::lang::XComponent
+{
+ /** Returns the root of the tree.
+ <p>Returns null only if the tree has no nodes.
+
+ @returns
+ the root of the tree
+ */
+ XTreeNode getRoot();
+
+ /** Adds a listener for the TreeDataModelEvent posted after the tree changes.
+
+ @param Listener
+ the listener to add.
+ */
+ void addTreeDataModelListener( [in] XTreeDataModelListener Listener );
+
+
+ /** Removes a listener previously added with addTreeDataModelListener().
+
+ @param Listener
+ the listener to remove.
+ */
+ void removeTreeDataModelListener( [in] XTreeDataModelListener Listener );
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/tree/XTreeDataModelListener.idl b/offapi/com/sun/star/awt/tree/XTreeDataModelListener.idl
new file mode 100644
index 000000000..85a9cb395
--- /dev/null
+++ b/offapi/com/sun/star/awt/tree/XTreeDataModelListener.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_awt_tree_XTreeDataModelListener_idl__
+#define __com_sun_star_awt_tree_XTreeDataModelListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+
+#include <com/sun/star/awt/tree/TreeDataModelEvent.idl>
+
+
+
+module com { module sun { module star { module awt { module tree {
+
+
+/** An instance of this interface is used by the TreeControl to
+ get notifications about data model changes.
+
+ <p>Usually you must not implement this interface yourself as it is already handled
+ by the TreeControl, but you must notify it correctly if
+ you implement the XTreeDataModel yourself</p>.
+ */
+interface XTreeDataModelListener: com::sun::star::lang::XEventListener
+{
+ /** Invoked after a node (or a set of siblings) has changed in some way.
+ The node(s) have not changed locations in the tree or altered their
+ children arrays, but other attributes have changed and may affect
+ presentation.
+
+ Example: the name of a file has changed, but it is in the same location in the file system.
+
+ To indicate the root has changed, TreeDataModelEvent::Nodes will contain
+ the root node and TreeDataModelEvent::ParentNode will be empty.
+ */
+ void treeNodesChanged( [in] TreeDataModelEvent Event );
+
+ /** Invoked after nodes have been inserted into the tree.
+
+ Use TreeDataModelEvent::ParentNode to get the parent of the new node(s).
+ TreeDataModelEvent::Nodes contains the new node(s).
+ */
+ void treeNodesInserted( [in] TreeDataModelEvent Event );
+
+ /** Invoked after nodes have been removed from the tree.
+ <p>Note that if a subtree is removed from the tree,
+ this method may only be invoked once for the root of the removed subtree,
+ not once for each individual set of siblings removed.
+
+ Use TreeDataModelEvent::ParentNode to get the former parent of the deleted node(s).
+ TreeDataModelEvent::Nodes contains the removed node(s).
+ */
+ void treeNodesRemoved( [in] TreeDataModelEvent Event );
+
+ /** Invoked after the tree has drastically changed structure from a given node down.
+
+ Use TreeDataModelEvent::ParentNode to get the node which
+ structure has changed. TreeDataModelEvent::Nodes is empty.
+ */
+ void treeStructureChanged( [in] TreeDataModelEvent Event );
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/tree/XTreeEditListener.idl b/offapi/com/sun/star/awt/tree/XTreeEditListener.idl
new file mode 100644
index 000000000..6fc0c4f65
--- /dev/null
+++ b/offapi/com/sun/star/awt/tree/XTreeEditListener.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_awt_tree_XTreeEditListener_idl__
+#define __com_sun_star_awt_tree_XTreeEditListener_idl__
+
+#include <com/sun/star/awt/tree/XTreeNode.idl>
+#include <com/sun/star/lang/XEventListener.idl>
+#include <com/sun/star/util/VetoException.idl>
+
+
+module com { module sun { module star { module awt { module tree {
+
+
+/** You can implement this interface and register with XTreeControl::addTreeEditListener()
+ to get notifications when editing of a node starts and ends.
+
+ <p>You have to set the TreeControlModel::Editable property to
+ `TRUE` before a tree supports editing.</p>
+ */
+interface XTreeEditListener : ::com::sun::star::lang::XEventListener
+{
+ /** This method is called from the TreeControl implementation when editing of
+ <var>Node</var> is requested by calling XTreeControl::startEditingAtNode().
+
+ @param Node
+ the XTreeNode for that an edit request was fired by calling
+ XTreeControl::startEditingAtNode()
+
+ @throws VetoException
+ if thrown the editing will not start.
+ */
+ void nodeEditing( [in] XTreeNode Node )
+ raises ( ::com::sun::star::util::VetoException );
+
+ /** This method is called from the TreeControl implementation when editing
+ of <var>Node</var> is finished and was not canceled.
+
+ <p>Implementations that register a XTreeEditListener must update the
+ display value at the Node.</p>
+
+ @param Node
+ the XTreeNode for that an edit request was fired by calling
+ XTreeControl::startEditingAtNode()
+
+ @param NewText
+ the text that was entered by the user.
+ */
+ void nodeEdited( [in] XTreeNode Node, [in] string NewText );
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/tree/XTreeExpansionListener.idl b/offapi/com/sun/star/awt/tree/XTreeExpansionListener.idl
new file mode 100644
index 000000000..99e4c103b
--- /dev/null
+++ b/offapi/com/sun/star/awt/tree/XTreeExpansionListener.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_awt_tree_XTreeExpansionListener_idl__
+#define __com_sun_star_awt_tree_XTreeExpansionListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+
+#include <com/sun/star/awt/tree/TreeExpansionEvent.idl>
+#include <com/sun/star/awt/tree/ExpandVetoException.idl>
+
+
+module com { module sun { module star { module awt { module tree {
+
+
+/** An instance of this interface can get notifications from a TreeControl
+ when nodes are expanded or collapsed.
+
+ @see XTreeControl::addTreeExpansionListener
+ @see XTreeControl::removeTreeExpansionListener
+ */
+interface XTreeExpansionListener: com::sun::star::lang::XEventListener
+{
+ /** Invoked when a node with children on demand is about to be expanded.
+
+ <p>This event is invoked before the treeExpanding()
+ event.</p>
+ */
+ void requestChildNodes( [in] TreeExpansionEvent Event );
+
+ /** Invoked whenever a node in the tree is about to be expanded.
+
+ @throws ExpandVetoException
+ to notify the calling XTreeControl that expanding
+ TreeExpansionEvent::Node should fail.
+ */
+ void treeExpanding( [in] TreeExpansionEvent Event )
+ raises ( ExpandVetoException );
+
+ /** Invoked whenever a node in the tree is about to be collapsed.
+
+ @throws ExpandVetoException
+ to notify the calling XTreeControl that collapsing
+ TreeExpansionEvent::Node should fail.
+ */
+ void treeCollapsing( [in] TreeExpansionEvent Event )
+ raises ( ExpandVetoException );
+
+ /** Called whenever a node in the tree has been successfully expanded. */
+ void treeExpanded( [in] TreeExpansionEvent Event );
+
+ /** Called whenever a node in the tree has been successfully collapsed. */
+ void treeCollapsed( [in] TreeExpansionEvent Event );
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/awt/tree/XTreeNode.idl b/offapi/com/sun/star/awt/tree/XTreeNode.idl
new file mode 100644
index 000000000..050160e47
--- /dev/null
+++ b/offapi/com/sun/star/awt/tree/XTreeNode.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_awt_tree_XTreeNode_idl__
+#define __com_sun_star_awt_tree_XTreeNode_idl__
+
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+
+
+module com { module sun { module star { module awt { module tree {
+
+
+/** An instance implementing this interface represents the model data for an entry in a
+ XTreeDataModel.
+ <p>The TreeControl uses this interface to retrieve the model
+ information needed to display a hierarchical outline</p>
+ <p>Each XTreeNode in a XTreeDataModel must be unique.
+ */
+interface XTreeNode
+{
+ /** Returns the child tree node at <var>Index</var>.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if <var>Index</var> is less than 0 or equal or greater than getChildCount().
+ */
+ XTreeNode getChildAt( [in] long Index )
+ raises( com::sun::star::lang::IndexOutOfBoundsException );
+
+ /** Returns the number of child nodes. */
+ long getChildCount();
+
+ /** Returns the parent node of this node. */
+ XTreeNode getParent();
+
+ /** Returns the index of <var>Node</var> in this instances children.
+ @returns
+ The child index of <var>Node</var>,
+ or -1 if <var>Node</var> is no child of this instance.
+ */
+ long getIndex( [in] XTreeNode Node);
+
+ /** Returns `TRUE` if the children of this node are created on demand.
+ <p>A TreeControl will handle a node that returns `TRUE` always
+ like a node that has child nodes, even if getChildCount()
+ returns 0.</p>
+
+ @see TreeExpansionListener;
+ */
+ boolean hasChildrenOnDemand();
+
+ /** If not empty, the textual representation of this any is used as the text part of this node.
+ */
+ any getDisplayValue();
+
+ /** The URL for a graphic that is rendered before the text part of this node.
+ <p>If this URL is empty, no graphic is rendered.
+ */
+ string getNodeGraphicURL();
+
+ /** The URL for a graphic that is rendered to visualize expanded non leaf nodes.
+ <p>If <var>URL</var> is empty, XTreeControl::DefaultExpandedGraphicURL is used.
+ */
+ string getExpandedGraphicURL();
+
+ /** The URL for a graphic that is rendered to visualize collapsed non leaf nodes.
+ <p>If <var>URL</var> is empty, XTreeControl::DefaultCollapsedGraphicURL is used.
+ */
+ string getCollapsedGraphicURL();
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/AccessibleChartDocumentView.idl b/offapi/com/sun/star/chart/AccessibleChartDocumentView.idl
new file mode 100644
index 000000000..d8047fe7a
--- /dev/null
+++ b/offapi/com/sun/star/chart/AccessibleChartDocumentView.idl
@@ -0,0 +1,131 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_chart_AccessibleChartDocumentView_idl__
+#define __com_sun_star_chart_AccessibleChartDocumentView_idl__
+
+#include <com/sun/star/accessibility/XAccessible.idl>
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+
+module com { module sun { module star { module chart {
+
+/** The AccessibleChartDocumentView service is supported
+ by a Component that represents the view of a Chart document to
+ provide an entry point to the document tree for accessibility.
+
+ <p>An object that implements the AccessibleChartDocumentView
+ service provides information about itself and about the chart
+ subcomponents contained in the chart document displayed in a
+ window. This service gives a simplified view on the underlying
+ implementation. It tries both to keep the structure of the
+ accessibility representation tree as simple as possible and
+ provide as much relevant information as possible.</p>
+
+ @since OOo 1.1.2
+*/
+service AccessibleChartDocumentView
+{
+ /** Base interface for being accessible. It gives access to the
+ ::com::sun::star::accessibility::XAccessibleContext
+ interface.
+ */
+ interface ::com::sun::star::accessibility::XAccessible;
+
+ /** Provide access to a Chart document's view.
+
+ <p>You can access the following information:</p>
+ <dl>
+ <dt>Role</dt>
+ <dd>The object's role is
+ com::sun::star::accessibility::AccessibleRole::DOCUMENT.</dd>
+ <dt>Name</dt>
+ <dd>Its name is the document's name or the base name of the filename if
+ no document name has been set explicitly.</dd>
+ <dt>Description</dt>
+ <dd>The description is the document's description or the
+ full filename if no description has been set
+ explicitly.</dd>
+ <dt>Children</dt>
+ <dd>The subcomponents of a chart. This includes all kinds of
+ titles, a legend and the diagram. The diagram and the legend are
+ the only children that themselves contain children. The Chart
+ subcomponents support the service
+ AccessibleChartElement. Additionally, there may be
+ shapes a user added via the clipboard. For details see the
+ ::com::sun::star::drawing::AccessibleShape.
+ </dd>
+ <dt>Parent</dt>
+ <dd>The parent will usually be the window that contains the
+ Chart document view. It has to be set via implementation dependent
+ ways.</dd>
+ <dt>Relations</dt>
+ <dd>At the moment relations are not supported. The method
+ com::sun::star::accessibility::XAccessibleContext::getAccessibleRelationSet()
+ will always return an empty set.</dd>
+ <dt>States</dt>
+ <dd>The following states are supported:
+ <ul>
+ <li>com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ is set if a document view becomes obsolete like when
+ the window, which displays the view, is closed.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::ENABLED
+ is always set unless the
+ com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ state is set.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::OPAQUE
+ is always set.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::SHOWING
+ is always set unless the
+ com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ state is set.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::VISIBLE
+ is always set unless the
+ com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ state is set.</li>
+ </ul>
+ </dd>
+ <dt>Locale</dt>
+ <dd>Is the locale set at the document.</dd>
+ <dt>Property change listeners</dt>
+ <dd>They are supported to inform the
+ listeners about changes in this object.</dd>
+ </dl>
+ */
+ interface ::com::sun::star::accessibility::XAccessibleContext;
+
+ /** Provide access to a Chart document's graphical representation.
+
+ <p>The main purpose of this interface is to provide a bounding
+ box of the currently visible area and to let the user find the
+ subcomponents of a chart that cover a given test point.</p>
+
+ <p>The accessible Chart subcomponents all support the service
+ AccessibleChartElement</p>
+
+ @see AccessibleChartElement
+ */
+ interface ::com::sun::star::accessibility::XAccessibleComponent;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/AccessibleChartElement.idl b/offapi/com/sun/star/chart/AccessibleChartElement.idl
new file mode 100644
index 000000000..bb6c2da88
--- /dev/null
+++ b/offapi/com/sun/star/chart/AccessibleChartElement.idl
@@ -0,0 +1,183 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_chart_AccessibleChartElement_idl__
+#define __com_sun_star_chart_AccessibleChartElement_idl__
+
+#include <com/sun/star/accessibility/XAccessible.idl>
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#include <com/sun/star/accessibility/XAccessibleExtendedComponent.idl>
+
+
+module com { module sun { module star { module chart {
+
+/** This service is supported by all components that are contained in
+ the view of a chart document that are controlled by the chart.
+ Shapes added by a user via the clipboard are not treated as chart
+ elements.
+
+ <p>The list of objects that implement this service is
+ ::com::sun::star::chart::ChartTitle,
+ ::com::sun::star::chart::ChartLegend,
+ ::com::sun::star::chart::Diagram,
+ ::com::sun::star::chart::ChartAxis,
+ ::com::sun::star::chart::ChartDataRowProperties,
+ ::com::sun::star::chart::ChartDataPointProperties.
+ </p>
+
+ <p>The
+ ::com::sun::star::accessibility::XAccessibleExtendedComponent
+ is supported by all chart elements.</p>
+
+ @since OOo 1.1.2
+*/
+service AccessibleChartElement
+{
+ /** Base interface for being accessible. It gives access to the
+ ::com::sun::star::accessibility::XAccessibleContext
+ interface.
+ */
+ interface ::com::sun::star::accessibility::XAccessible;
+
+ /** Give access to the structural information of a chart element.
+
+ <p>You can access the following information for the shapes of the above listed types:
+ <dl>
+ <dt>Role</dt>
+ <dd>All chart elements have the role
+ ::com::sun::star::accessibility::AccessibleRole::SHAPE.
+ </dd>
+ <dt>Name</dt>
+ <dd>For unique elements you get fixed names. The unique
+ elements are the titles, legend, diagram and axes. The
+ names you get for them are "main-title", "sub-title",
+ "(x|y|z)-axis-title", "legend", "diagram", "(x|y|z)-axis"
+ and "second-(x|y)-axis", respectively.</dd>
+ <dt>Description</dt>
+ <dd>Descriptions contain a list of selected
+ attributes. These attributes are, if applicable:
+ foreground and background color, line width, font name and
+ size. The purpose of these attributes is to give a rough
+ description of the more simple geometric shapes. The list
+ is very restricted in order to avoid overwhelming or
+ confusing the user.</dd>
+ <dt>Children</dt>
+ <dd>The ::com::sun::star::chart::Diagram and
+ the ::com::sun::star::chart::ChartLegend
+ contain children, all other objects in a chart do not, i.e., are
+ leaves in the document representation tree.</dd>
+ <dt>Parent</dt>
+ <dd>Because the <code>setParent</code> method from the JAVA has
+ been removed, the reference to the parent has to be provided in an
+ implementation specific way.</dd>
+ <dt>Relations</dt>
+ <dd>They are not used at the moment.</dd>
+
+ <dt>States</dt>
+ <dd>The states supported by this service are:
+ <ul>
+
+ <li>::com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ is set if an object was removed. This indicates that the user
+ should release all references to the accessible object. If
+ this state is set then no other of the states below is set.
+ </li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::EDITABLE</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::ENABLED
+ is always set.<sup>*</sup></li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::MULTI_LINE
+ is set for all titles.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::OPAQUE
+ is set for all elements that do have a transparency
+ attributes set to 0% and no transparency gradient.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::RESIZABLE
+ Is set for the diagram object only. All other chart elements may not be resized.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::SELECTABLE</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::SELECTED</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::SHOWING
+ is always set.<sup>*</sup></li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::VISIBLE
+ is always set.<sup>*</sup></li>
+ </ul>
+ <sup>*</sup>always, except if the state
+ ::com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ is set.</dd>
+ <dt>Locale</dt>
+ <dd>is supported.</dd>
+ <dt>Property change listeners</dt>
+ <dd>Property change listeners that are registered with a chart
+ element are informed if the size or position or an attribute
+ changed. The last point needs a short explanation: An attribute
+ change is signaled even if that attribute is not part of the
+ shape's description and is therefore not explicitly represented by
+ the UAA.</dd>
+ </dl>
+ */
+ interface ::com::sun::star::accessibility::XAccessibleContext;
+
+ /** Give access to the graphical representation of a chart element.
+
+ <p>The coordinate oriented methods <code>contains</code>,
+ <code>getAccessibleAt</code>, <code>getBounds</code>,
+ <code>getLocation</code>, <code>getLocationOnScreen</code>, and
+ <code>getSize</code> work on pixel coordinates. (To transform between
+ the internal 100th of mm and pixels a chart element has to have access
+ to information that allows it to do so. This information is the
+ enclosing window's size in pixel, 100th of mm, and its own relative
+ position in one or the other coordinate system).</p>
+
+ <p>Focus handling depends on support of the
+ ::com::sun::star::accessibility::XAccessibleText and
+ ::com::sun::star::accessibility::XAccessibleEditableText
+ interfaces.</p>
+
+ <p>Key bindings are not supported at the moment</p>
+ */
+ interface ::com::sun::star::accessibility::XAccessibleComponent;
+
+ /** Give extended access to the graphical representation of a chart element.
+
+ <p>This interface is used primarily to provide the predominant
+ foreground and background colors and&mdash;if applicable, i.e. the
+ ::com::sun::star::accessibility::XAccessibleText
+ interface is supported&mdash;information about the font used to display
+ text.</p>
+
+ <p>The foreground and background colors may in some cases be directly
+ taken from the object. In other cases, for example when a gradient or a
+ texture is used, they have to be interpolated. The color returned may
+ not be appropriate in all cases.</p>
+
+ <p>Specifying the font used for displaying text depends on the
+ transformation of UNO API font information into the Java&trade; format.
+ However, if the UAA is used directly, this is of course not an
+ issue.</p>
+
+ <p>The support of this interface is optional to reduce overhead in case
+ that no text is displayed and color information can not be determined
+ with an acceptable cost.</p>
+ */
+ [optional] interface ::com::sun::star::accessibility::XAccessibleExtendedComponent;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/AreaDiagram.idl b/offapi/com/sun/star/chart/AreaDiagram.idl
new file mode 100644
index 000000000..91d922b2b
--- /dev/null
+++ b/offapi/com/sun/star/chart/AreaDiagram.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_chart_AreaDiagram_idl__
+#define __com_sun_star_chart_AreaDiagram_idl__
+
+#include <com/sun/star/chart/Diagram.idl>
+
+#include <com/sun/star/chart/ChartStatistics.idl>
+
+#include <com/sun/star/chart/ChartAxisXSupplier.idl>
+
+#include <com/sun/star/chart/ChartTwoAxisYSupplier.idl>
+
+#include <com/sun/star/chart/ChartAxisZSupplier.idl>
+
+#include <com/sun/star/chart/Dim3DDiagram.idl>
+
+#include <com/sun/star/chart/StackableDiagram.idl>
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** This is a service for area diagrams.
+ */
+published service AreaDiagram
+{
+ service com::sun::star::chart::Diagram;
+ service com::sun::star::chart::ChartStatistics;
+ service com::sun::star::chart::ChartAxisXSupplier;
+ service com::sun::star::chart::ChartTwoAxisYSupplier;
+ service com::sun::star::chart::ChartAxisZSupplier;
+ service com::sun::star::chart::Dim3DDiagram;
+ service com::sun::star::chart::StackableDiagram;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/BarDiagram.idl b/offapi/com/sun/star/chart/BarDiagram.idl
new file mode 100644
index 000000000..7b2b8899d
--- /dev/null
+++ b/offapi/com/sun/star/chart/BarDiagram.idl
@@ -0,0 +1,104 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_chart_BarDiagram_idl__
+#define __com_sun_star_chart_BarDiagram_idl__
+
+#include <com/sun/star/chart/Diagram.idl>
+#include <com/sun/star/chart/ChartStatistics.idl>
+#include <com/sun/star/chart/ChartAxisXSupplier.idl>
+#include <com/sun/star/chart/ChartTwoAxisYSupplier.idl>
+#include <com/sun/star/chart/ChartAxisZSupplier.idl>
+#include <com/sun/star/chart/Dim3DDiagram.idl>
+#include <com/sun/star/chart/StackableDiagram.idl>
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/**This is a service for bar and column diagrams.
+ */
+published service BarDiagram
+{
+ service com::sun::star::chart::Diagram;
+ service com::sun::star::chart::ChartStatistics;
+ service com::sun::star::chart::ChartAxisXSupplier;
+ service com::sun::star::chart::ChartTwoAxisYSupplier;
+ service com::sun::star::chart::ChartAxisZSupplier;
+ service com::sun::star::chart::Dim3DDiagram;
+ service com::sun::star::chart::StackableDiagram;
+
+
+ /** Determines if the bars of a chart are drawn vertically or
+ horizontally. Default is vertical.
+
+ <p>If Vertical is `FALSE` you get a column chart rather than
+ a bar chart.</p>
+ */
+ [property] boolean Vertical;
+
+
+ /** If `TRUE`, determines that in a three-dimensional bar chart
+ the bars of each series are arranged behind each other in the
+ z-direction. If `FALSE` the arrangement of bars is like in
+ two-dimensional bar charts.
+ */
+ [optional, property] boolean Deep;
+
+
+ /** determines if, in a stacked chart, there are connecting lines
+ between corresponding bars. Currently, bar charts with
+ horizontal bars do not support this property.
+ */
+ [optional, property] boolean StackedBarsConnected;
+
+
+ /** If bars of a bar or column chart are attached to different
+ axis, this property determines how to display those. If
+ `TRUE`, the bars are grouped together in one block for each
+ axis, thus they are painted one group over the other.
+
+ <p>If `FALSE`, the bars are displayed side-by-side, as if
+ they were all attached to the same axis.</p>
+
+ <p>If all data series of a bar or column chart are attached to
+ only one axis, this property has no effect.</p>
+ */
+ [optional, property] boolean GroupBarsPerAxis;
+
+
+
+ /** Determines how many data rows are displayed as lines rather than
+ bars.
+
+ <p>If this property differs from zero the last
+ BarDiagram::NumberOfLines data rows are shown as lines. It is
+ currently supported by two dimensional vertical bar charts only. </p>
+
+ @deprecated
+ */
+ [property] long NumberOfLines;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/BubbleDiagram.idl b/offapi/com/sun/star/chart/BubbleDiagram.idl
new file mode 100644
index 000000000..180216a3f
--- /dev/null
+++ b/offapi/com/sun/star/chart/BubbleDiagram.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_chart_BubbleDiagram_idl__
+#define __com_sun_star_chart_BubbleDiagram_idl__
+
+#include <com/sun/star/chart/Diagram.idl>
+
+#include <com/sun/star/chart/ChartAxisXSupplier.idl>
+
+#include <com/sun/star/chart/ChartTwoAxisYSupplier.idl>
+#include <com/sun/star/chart/ChartStatistics.idl>
+
+
+ module com { module sun { module star { module chart {
+
+
+/** a service for bubble diagrams. @since OOo 3.2
+ */
+published service BubbleDiagram
+{
+ service com::sun::star::chart::Diagram;
+ service com::sun::star::chart::ChartAxisXSupplier;
+ service com::sun::star::chart::ChartTwoAxisYSupplier;
+ [optional] service com::sun::star::chart::ChartStatistics;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/Chart3DBarProperties.idl b/offapi/com/sun/star/chart/Chart3DBarProperties.idl
new file mode 100644
index 000000000..d85b92fd2
--- /dev/null
+++ b/offapi/com/sun/star/chart/Chart3DBarProperties.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_chart_Chart3DBarProperties_idl__
+#define __com_sun_star_chart_Chart3DBarProperties_idl__
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+
+ module com { module sun { module star { module chart {
+
+
+/** Specifies all the properties for the graphic object of a data point in a
+ three-dimensional bar diagram.@see BarDiagram
+ */
+published service Chart3DBarProperties
+{
+ interface com::sun::star::beans::XPropertySet;
+
+
+ /** Specifies the solid shape of a data point.@see ChartSolidType
+ */
+ [property] long SolidType;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartArea.idl b/offapi/com/sun/star/chart/ChartArea.idl
new file mode 100644
index 000000000..d2484dc5b
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartArea.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_chart_ChartArea_idl__
+#define __com_sun_star_chart_ChartArea_idl__
+
+#include <com/sun/star/drawing/FillProperties.idl>
+
+#include <com/sun/star/drawing/LineProperties.idl>
+
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/xml/UserDefinedAttributesSupplier.idl>
+
+
+ module com { module sun { module star { module chart {
+
+
+/** Specifies the area elements of a chart, e.g. the
+ background area, the diagram wall, and the diagram floor of
+ three-dimensional charts.
+ */
+published service ChartArea
+{
+ service com::sun::star::drawing::FillProperties;
+ service com::sun::star::drawing::LineProperties;
+
+ /** If the ChartArea may be stored as XML element,
+ this service should be supported in order to preserve unparsed
+ XML attributes.
+
+ @since OOo 1.1.2
+ */
+ [optional] service com::sun::star::xml::UserDefinedAttributesSupplier;
+
+ interface com::sun::star::beans::XPropertySet;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartAxis.idl b/offapi/com/sun/star/chart/ChartAxis.idl
new file mode 100644
index 000000000..5c5fb8bd3
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartAxis.idl
@@ -0,0 +1,268 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_chart_ChartAxis_idl__
+#define __com_sun_star_chart_ChartAxis_idl__
+
+#include <com/sun/star/drawing/LineProperties.idl>
+
+#include <com/sun/star/style/CharacterProperties.idl>
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+#include <com/sun/star/chart/ChartAxisArrangeOrderType.idl>
+#include <com/sun/star/chart/ChartAxisPosition.idl>
+#include <com/sun/star/chart/ChartAxisLabelPosition.idl>
+#include <com/sun/star/chart/ChartAxisMarkPosition.idl>
+#include <com/sun/star/chart/ChartAxisType.idl>
+#include <com/sun/star/chart/TimeIncrement.idl>
+#include <com/sun/star/chart/XAxis.idl>
+#include <com/sun/star/xml/UserDefinedAttributesSupplier.idl>
+
+
+ module com { module sun { module star { module chart {
+
+
+/** Specifies the axes in a diagram.
+
+ <p>Note: The text properties correlate to all axis description
+ elements, not to just a single text element.</p>
+ */
+published service ChartAxis
+{
+ /** set the properties for the entire axis line as well as for the
+ tick marks.
+ */
+ service com::sun::star::drawing::LineProperties;
+
+ /** set the properties for all text labels of the axis
+ */
+ service com::sun::star::style::CharacterProperties;
+
+ /** If a ChartAxis may be stored as XML element, this
+ service should be supported in order to preserve unparsed XML
+ attributes.
+
+ @since OOo 1.1.2
+ */
+ [optional] service com::sun::star::xml::UserDefinedAttributesSupplier;
+
+ /** Access to the sub elements of an axis like title and grids.
+ @since OOo 3.4
+ */
+ [optional] interface com::sun::star::chart::XAxis;
+
+ interface com::sun::star::beans::XPropertySet;
+
+ /** Properties for scaling:
+ */
+
+
+ /** Contains the maximum value for the axis scale.
+ */
+ [optional, property] double Max;
+
+
+ /** Contains the minimum value for the axis scale.
+ */
+ [optional, property] double Min;
+
+
+ /** Contains the distance between the main tick marks.
+ */
+ [optional, property] double StepMain;
+
+
+ /**
+ Contains the number of help intervals within a main interval. E.g. a StepHelpCount of 5 divides
+ the main interval into 5 pieces and thus produces 4 help tick marks.
+ */
+ [optional, property] long StepHelpCount;
+
+
+ /** @deprecated
+ User property StepHelpCount instead
+ Contains the distance between the help tick marks.
+ */
+ [optional, property] double StepHelp;
+
+
+ /** The maximum value of the axis scale is calculated by the chart if
+ this property is `TRUE`.
+ */
+ [optional, property] boolean AutoMax;
+
+
+ /** The minimum value of the axis scale is calculated by the chart if
+ this property is `TRUE`.
+ */
+ [optional, property] boolean AutoMin;
+
+
+ /** The distance between the main tick marks is calculated by the chart
+ if this property is `TRUE`.
+ */
+ [optional, property] boolean AutoStepMain;
+
+
+ /** The number of help intervals within a main interval is calculated by the
+ chart if this property is `TRUE`.
+ */
+ [optional, property] boolean AutoStepHelp;
+
+
+
+ /** Determines if the axis is scaled logarithmically or
+ not (linear).
+ */
+ [optional, property] boolean Logarithmic;
+
+
+ /** determines which type of axis this is, e.g. a date-axis or a category-axis @see ChartAxisType
+ @since OOo 3.4
+ */
+ [optional, property] long AxisType;
+
+
+ /** if the current axis is a date-axis the intervals are chosen as given with TimeIncrement
+ @since OOo 3.4
+ */
+ [optional, maybevoid, property] TimeIncrement TimeIncrement;
+
+
+ /** Determines if the axis orientation is mathematical or reversed.
+ */
+ [optional, property] boolean ReverseDirection;
+
+
+ /** Determines where the axis crosses the other axis.
+ */
+ [optional, property] com::sun::star::chart::ChartAxisPosition CrossoverPosition;
+
+
+ /** Determines the scale value on the other axis when CrossoverPosition is set to VALUE.
+ */
+ [optional, property] double CrossoverValue;
+
+
+ /** Indicates the reference value where bars or areas have their grounding.
+ This property has only an effect when the used ODF file format does not allow for
+ further axis positioning or the axis is a secondary y-axis.
+ */
+ [optional, property] double Origin;
+
+
+ /** The origin is calculated by the chart if this property is `TRUE`.
+ */
+ [optional, property] boolean AutoOrigin;
+
+ /** Properties for interval marks:
+ */
+
+
+ /** Determines the type of the marks.@see ChartAxisMarks
+ */
+ [property] long Marks;
+
+
+ /** Determines the type of the help marks.@see ChartAxisMarks
+ */
+ [property] long HelpMarks;
+
+ /** Determines where the interval marks are placed.
+ */
+ [optional, property] com::sun::star::chart::ChartAxisMarkPosition MarkPosition;
+
+ /** Properties for axes labels:
+ */
+
+
+ /** Determines whether to display text at the axis or not.
+ */
+ [property] boolean DisplayLabels;
+
+
+ /** Contains the type id for the number formatter of the axis.
+
+ @see com::sun::star::util::XNumberFormatter
+ */
+ [property] long NumberFormat;
+
+
+ /** determines whether to use the number format given by the
+ container application, e.g. a spreadsheet document, or from
+ the own property #NumberFormat.
+ */
+ [optional, property] boolean LinkNumberFormatToSource;
+
+
+ /** Determines where the axis labels are placed.
+ */
+ [optional, property] com::sun::star::chart::ChartAxisLabelPosition LabelPosition;
+
+
+ /** Determines the rotation of the text elements
+ (axis description) in 100th degrees.
+ */
+ [property] long TextRotation;
+
+
+ /** The axis description may be arranged in a special order for a
+ better placement.
+ */
+ [property] com::sun::star::chart::ChartAxisArrangeOrderType ArrangeOrder;
+
+
+ /** Determines if long text is broken into multiple lines.
+ */
+ [property] boolean TextBreak;
+
+
+ /** Determines if certain labels are hidden, if they would otherwise overlap.
+ In this case, the value of this property must be set to `FALSE`.
+ */
+ [property] boolean TextCanOverlap;
+
+ /** Properties related to bar charts:
+ */
+
+
+ /** Determines the overlap of the bars in a bar-type chart.
+
+ <p>The value is given in percent of the width of the bars. The
+ valid range is -100% to +100%. +100% means full overlap, -100%
+ indicates a distance of one bar between 2 neighboring bars.</p>
+ */
+ [property] long Overlap;
+
+
+ /** Specifies the width of the gaps between each set of data points
+ in a bar chart.
+
+ <p>The value is given in percent of the width of a bar; the
+ valid range is 0 to 600%.</p>
+ */
+ [property] long GapWidth;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartAxisArrangeOrderType.idl b/offapi/com/sun/star/chart/ChartAxisArrangeOrderType.idl
new file mode 100644
index 000000000..3a7a736f0
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartAxisArrangeOrderType.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_chart_ChartAxisArrangeOrderType_idl__
+#define __com_sun_star_chart_ChartAxisArrangeOrderType_idl__
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** Values specify the arrangement of the axes descriptions.
+ */
+published enum ChartAxisArrangeOrderType
+{
+
+ /** The descriptions are arranged automatically.
+
+ <p>If there is enough space to put them side by side, this
+ arrangement is preferred. If the descriptions would overlap
+ when arranged side by side, they are staggered.</p>
+ */
+ AUTO,
+
+
+ /** The descriptions are arranged side by side.
+ */
+ SIDE_BY_SIDE,
+
+
+ /** The descriptions are alternately put on two lines with the even
+ values out of the normal line.
+ */
+ STAGGER_EVEN,
+
+
+ /** The descriptions are alternately put on two lines with the odd
+ values out of the normal line.
+ */
+ STAGGER_ODD
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartAxisAssign.idl b/offapi/com/sun/star/chart/ChartAxisAssign.idl
new file mode 100644
index 000000000..be8a411b0
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartAxisAssign.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_chart_ChartAxisAssign_idl__
+#define __com_sun_star_chart_ChartAxisAssign_idl__
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** These values specify to which y-axis a data row is assigned.
+ */
+published constants ChartAxisAssign
+{
+
+ /** Assign row to primary <i>y</i>-axis
+ */
+ const long PRIMARY_Y = 2;
+
+
+ /** Assign row to secondary <i>y</i>-axis
+ */
+ const long SECONDARY_Y = 4;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartAxisLabelPosition.idl b/offapi/com/sun/star/chart/ChartAxisLabelPosition.idl
new file mode 100644
index 000000000..3c31109fb
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartAxisLabelPosition.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_chart_ChartAxisLabelPosition_idl__
+#define __com_sun_star_chart_ChartAxisLabelPosition_idl__
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** Specifies the position of the axis labels with respect to the axis on the scale of the crossing axis.
+*/
+
+published enum ChartAxisLabelPosition
+{
+
+ /** The labels are placed adjacent to the axis. When the axis itself is placed at the minimum or maximum of the scale ( that is when the property CrossoverPosition equals ChartAxisPosition_MINIMUM or ChartAxisPosition_MAXIMUM)
+ the labels are placed outside the coordinate system. Otherwise the labels are placed adjacent to the axis on that side that belongs to the lower values on the crossing axis.
+ E.g. when the ChartAxisLabelPosition is set to NEAR_AXIS for an y axis the labels are placed adjacent to the y axis on that side that belongs to the lower x values.
+ */
+ NEAR_AXIS,
+
+
+ /** The labels are placed adjacent to the axis on the opposite side as for NEAR_AXIS.
+ */
+ NEAR_AXIS_OTHER_SIDE,
+
+
+ /** The labels are placed outside the coordinate region on that side where the crossing axis has its minimum value.
+ E.g. when this is set for an y axis the labels are placed outside the diagram on that side where to the x axis has its minimum value.
+ */
+ OUTSIDE_START,
+
+
+ /** The labels are placed outside the coordinate region on that side where the crossing axis has its maximum value.
+ E.g. when this is set for an y axis the labels are placed outside the diagram on that side where to the x axis has its maximum value.
+ */
+ OUTSIDE_END
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartAxisMarkPosition.idl b/offapi/com/sun/star/chart/ChartAxisMarkPosition.idl
new file mode 100644
index 000000000..6b0a152bf
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartAxisMarkPosition.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_chart_ChartAxisMarkPosition_idl__
+#define __com_sun_star_chart_ChartAxisMarkPosition_idl__
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** Specifies the position of the axis interval marks.
+*/
+
+published enum ChartAxisMarkPosition
+{
+
+ /** The interval marks are drawn besides the axis labels.
+ */
+ AT_LABELS,
+
+
+ /** The interval marks are drawn at the axis line.
+ This makes a difference to "AT_LABELS" only when the labels are not placed near the axis (@see ChartAxisLabelPosition).
+ */
+ AT_AXIS,
+
+
+ /** Interval marks are drawn at the axis line and also besides the axis labels.
+ This makes a difference to "AT_LABELS" only when the labels are not placed near the axis (@see ChartAxisLabelPosition).
+ */
+ AT_LABELS_AND_AXIS
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartAxisMarks.idl b/offapi/com/sun/star/chart/ChartAxisMarks.idl
new file mode 100644
index 000000000..374ea446f
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartAxisMarks.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_chart_ChartAxisMarks_idl__
+#define __com_sun_star_chart_ChartAxisMarks_idl__
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** With these constants you can specify how the tick-marks of an axis
+ are displayed.
+
+ <p>You can combine <code>INNER</code> and <code>OUTER</code> with
+ an arithmetical <em>or</em>-operation to get tick-marks that
+ extend in both directions.</p>
+ */
+published constants ChartAxisMarks
+{
+
+ /** Do not display any marks.
+ */
+ const long NONE = 0;
+
+
+ /** Display marks that point into the diagram area.
+ */
+ const long INNER = 1;
+
+
+ /** Display marks that point out of the diagram area.
+ */
+ const long OUTER = 2;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartAxisPosition.idl b/offapi/com/sun/star/chart/ChartAxisPosition.idl
new file mode 100644
index 000000000..b9cdab0e9
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartAxisPosition.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_chart_ChartAxisPosition_idl__
+#define __com_sun_star_chart_ChartAxisPosition_idl__
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** Specifies the position of the axis on the scale of the crossing axis.
+When the property is set at a x-axis it indicates a position on the scale of the primary y-axis.
+When the property is set at a y-axis it indicates a position on the scale of the primary x-axis.
+*/
+
+published enum ChartAxisPosition
+{
+
+ /** Cross the other axes at zero. If zero is not contained in the current scale the value is used which is nearest to zero.
+ */
+ ZERO,
+
+
+ /** Cross the other axes at their minimum scale value.
+ */
+ START,
+
+
+ /** Cross the other axes at their maximum scale value.
+ */
+ END,
+
+
+ /** Cross the other axes at the value specified in the property CrossoverValue.
+ */
+ VALUE
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartAxisType.idl b/offapi/com/sun/star/chart/ChartAxisType.idl
new file mode 100644
index 000000000..3dd3fe72a
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartAxisType.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_chart_ChartAxisType_idl
+#define com_sun_star_chart_ChartAxisType_idl
+
+module com
+{
+module sun
+{
+module star
+{
+module chart
+{
+/** @since OOo 3.4
+*/
+published constants ChartAxisType
+{
+ /** the type of the axis is chosen automatically dependent on the chart type, the dimension and the underlying data
+ */
+ const long AUTOMATIC = 0;
+
+ /** the axis represent discrete category texts if chart type and the dimension allows
+ */
+ const long CATEGORY = 1;
+
+ /** the axis shows dates if the given data and chart type and the dimension allows
+ */
+ const long DATE = 2;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartAxisXSupplier.idl b/offapi/com/sun/star/chart/ChartAxisXSupplier.idl
new file mode 100644
index 000000000..d63cf3594
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartAxisXSupplier.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_chart_ChartAxisXSupplier_idl__
+#define __com_sun_star_chart_ChartAxisXSupplier_idl__
+
+#include <com/sun/star/chart/XAxisXSupplier.idl>
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** has to be supported by charts providing the capabilities of a
+ horizontal axis, i.e., an <em>x</em>-axis.
+ */
+published service ChartAxisXSupplier
+{
+ /** offers access to the axis object, the title, and the grids
+ */
+ interface com::sun::star::chart::XAxisXSupplier;
+
+
+ /** This property determines if the x-axis is shown or hidden.@see ChartAxis
+ */
+ [property] boolean HasXAxis;
+
+
+ /** Determines if the description of the x-axis is
+ shown or hidden.
+ */
+ [property] boolean HasXAxisDescription;
+
+
+ /** Determines if the major grid of the x-axis is
+ shown or hidden.@see ChartGrid
+ */
+ [property] boolean HasXAxisGrid;
+
+
+ /** Determines if the minor grid of the x-axis is shown
+ or hidden.@see ChartGrid
+ */
+ [property] boolean HasXAxisHelpGrid;
+
+
+ /** Determines if the title of the x-axis is shown
+ or hidden.@see ChartTitle
+ */
+ [property] boolean HasXAxisTitle;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartAxisYSupplier.idl b/offapi/com/sun/star/chart/ChartAxisYSupplier.idl
new file mode 100644
index 000000000..a9c5b86f0
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartAxisYSupplier.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_chart_ChartAxisYSupplier_idl__
+#define __com_sun_star_chart_ChartAxisYSupplier_idl__
+
+#include <com/sun/star/chart/XAxisYSupplier.idl>
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** A helper service for the y-axis.
+ */
+published service ChartAxisYSupplier
+{
+ /** offers access to the axis object, the title, and the grids
+ */
+ interface com::sun::star::chart::XAxisYSupplier;
+
+
+ /** Determines if the y-axis is shown or hidden.@see ChartAxis
+ */
+ [property] boolean HasYAxis;
+
+
+ /** Determines if the description of the y-axis
+ is shown or hidden.
+ */
+ [property] boolean HasYAxisDescription;
+
+
+ /** Determines if the major grid of the y-axis is
+ shown or hidden.@see ChartGrid
+ */
+ [property] boolean HasYAxisGrid;
+
+
+ /** Determines if the minor grid of the y-axis is
+ shown or hidden.@see ChartGrid
+ */
+ [property] boolean HasYAxisHelpGrid;
+
+
+ /** Determines if the title of the y-axis is shown
+ or hidden.@see ChartTitle
+ */
+ [property] boolean HasYAxisTitle;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartAxisZSupplier.idl b/offapi/com/sun/star/chart/ChartAxisZSupplier.idl
new file mode 100644
index 000000000..aa36034eb
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartAxisZSupplier.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_chart_ChartAxisZSupplier_idl__
+#define __com_sun_star_chart_ChartAxisZSupplier_idl__
+
+#include <com/sun/star/chart/XAxisZSupplier.idl>
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** A helper service for chart documents which supply a z-axis.
+ */
+published service ChartAxisZSupplier
+{
+ /** offers access to the axis object, the title, and the grids
+ */
+ interface com::sun::star::chart::XAxisZSupplier;
+
+
+ /** Determines if the z-axis is shown or hidden.@see ChartAxis
+ */
+ [property] boolean HasZAxis;
+
+
+ /** Determines if the description of the z-axis
+ is shown or hidden.
+ */
+ [property] boolean HasZAxisDescription;
+
+
+ /** Determines if the major grid of the z-axis
+ is shown or hidden.@see ChartGrid
+ */
+ [property] boolean HasZAxisGrid;
+
+
+ /** Determines if the minor grid of the z-axis is shown
+ or hidden.@see ChartGrid
+ */
+ [property] boolean HasZAxisHelpGrid;
+
+
+ /** Determines if the title of the z-axis is shown
+ or hidden.@see ChartTitle
+ */
+ [property] boolean HasZAxisTitle;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartData.idl b/offapi/com/sun/star/chart/ChartData.idl
new file mode 100644
index 000000000..a43344ae4
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartData.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_chart_ChartData_idl__
+#define __com_sun_star_chart_ChartData_idl__
+
+#include <com/sun/star/chart/XChartData.idl>
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** must be supported by every component that wants to provide data
+ for a chart
+ */
+published service ChartData
+{
+ interface com::sun::star::chart::XChartData;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartDataArray.idl b/offapi/com/sun/star/chart/ChartDataArray.idl
new file mode 100644
index 000000000..9b6539220
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartDataArray.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_chart_ChartDataArray_idl__
+#define __com_sun_star_chart_ChartDataArray_idl__
+
+#include <com/sun/star/chart/ChartData.idl>
+
+#include <com/sun/star/chart/XChartDataArray.idl>
+
+#include <com/sun/star/chart/XChartData.idl>
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** must be supported by each data source for charts, where you want
+ to access the values directly.
+
+ <p>It contains the data values as well as the descriptions for
+ each row and column.</p>
+ */
+published service ChartDataArray
+{
+ service com::sun::star::chart::ChartData;
+ interface com::sun::star::chart::XChartDataArray;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartDataCaption.idl b/offapi/com/sun/star/chart/ChartDataCaption.idl
new file mode 100644
index 000000000..e61251549
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartDataCaption.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_chart_ChartDataCaption_idl__
+#define __com_sun_star_chart_ChartDataCaption_idl__
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** These values specify how the captions of data points are displayed.
+ */
+published constants ChartDataCaption
+{
+
+ /** No captions are displayed.
+ */
+ const long NONE = 0;
+
+
+ /** The caption contains the value of the data point in the number
+ format of the axis that is attached to the respective data
+ series.
+ */
+ const long VALUE = 1;
+
+
+ /** The caption contains the value of the data point in percent of
+ all data points of one category.
+
+ <p>That means, if a data point is the first one of a series,
+ the percentage is calculated by using the first data points of
+ all available series.</p>
+ */
+ const long PERCENT = 2;
+
+
+ /** The caption contains the category name of the category to
+ which a data point belongs.
+ */
+ const long TEXT = 4;
+
+
+ /** The number formatter is always used for displaying the value
+ as value. So this setting is deprecated.
+
+ @deprecated
+ */
+ const long FORMAT = 8;
+
+
+ /** The symbol of data column/row is additionally displayed in the caption.
+ */
+ const long SYMBOL = 16;
+
+
+ /** The caption contains a custom text, which belongs
+ to a data point label.
+
+ @since LibreOffice 7.1
+ */
+ const long CUSTOM = 32;
+
+ /** The name of the data series is additionally displayed in the caption.
+
+ @since LibreOffice 7.2
+ */
+ const long DATA_SERIES = 64;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartDataChangeEvent.idl b/offapi/com/sun/star/chart/ChartDataChangeEvent.idl
new file mode 100644
index 000000000..63b928b97
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartDataChangeEvent.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_chart_ChartDataChangeEvent_idl__
+#define __com_sun_star_chart_ChartDataChangeEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+
+#include <com/sun/star/chart/ChartDataChangeType.idl>
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** describes a change that was applied to the data.
+ */
+published struct ChartDataChangeEvent: com::sun::star::lang::EventObject
+{
+
+ /** specifies the type of change to the data.
+ */
+ com::sun::star::chart::ChartDataChangeType Type;
+
+
+ /** specifies the column number in which the changes begin.
+ */
+ short StartColumn;
+
+
+ /** specifies the column number in which the changes end.
+ */
+ short EndColumn;
+
+
+ /** specifies the row number in which the changes begin.
+ */
+ short StartRow;
+
+
+ /** specifies the row number in which the changes end.
+ */
+ short EndRow;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartDataChangeType.idl b/offapi/com/sun/star/chart/ChartDataChangeType.idl
new file mode 100644
index 000000000..e4c7bb6c7
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartDataChangeType.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_chart_ChartDataChangeType_idl__
+#define __com_sun_star_chart_ChartDataChangeType_idl__
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** specifies the type of change that was applied to the data.
+ */
+published enum ChartDataChangeType
+{
+
+ /** Major changes were applied to the data.
+ */
+ ALL,
+
+
+ /** The range of columns and rows, given in the
+ ChartDataChangeEvent, has changed.
+ */
+ DATA_RANGE,
+
+
+ /** The column given in the ChartDataChangeEvent, was
+ inserted.
+ */
+ COLUMN_INSERTED,
+
+
+ /** The row given in the ChartDataChangeEvent, was
+ inserted.
+ */
+ ROW_INSERTED,
+
+
+ /** The column given in the ChartDataChangeEvent, was
+ deleted.
+ */
+ COLUMN_DELETED,
+
+
+ /** The row given in the ChartDataChangeEvent, was
+ deleted.
+ */
+ ROW_DELETED
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartDataPoint.idl b/offapi/com/sun/star/chart/ChartDataPoint.idl
new file mode 100644
index 000000000..5ba0ca277
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartDataPoint.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_chart_ChartDataPoint_idl__
+#define __com_sun_star_chart_ChartDataPoint_idl__
+
+#include <com/sun/star/chart/ChartDataValue.idl>
+
+
+module com { module sun { module star { module chart {
+
+/** @deprecated
+*/
+published typedef sequence<ChartDataValue> ChartDataPoint;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartDataPointProperties.idl b/offapi/com/sun/star/chart/ChartDataPointProperties.idl
new file mode 100644
index 000000000..f80574ff1
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartDataPointProperties.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_chart_ChartDataPointProperties_idl__
+#define __com_sun_star_chart_ChartDataPointProperties_idl__
+
+#include <com/sun/star/drawing/FillProperties.idl>
+
+#include <com/sun/star/drawing/LineProperties.idl>
+
+#include <com/sun/star/style/CharacterProperties.idl>
+
+#include <com/sun/star/chart/Chart3DBarProperties.idl>
+
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/xml/UserDefinedAttributesSupplier.idl>
+
+
+ module com { module sun { module star { module chart {
+
+
+/** specifies all the properties for the graphic object of
+ a data point (e.g., a single bar in a bar chart).
+
+ <p>Text properties correlate to the data description of the data
+ point. There is a similar service for a group of graphic elements
+ called ChartDataRowProperties for the properties of
+ whole data rows.</p>
+
+ @see ChartDataRowProperties
+ */
+published service ChartDataPointProperties
+{
+ /** This service has to be supported for data points that can be
+ filled.
+ */
+ [optional] service com::sun::star::drawing::FillProperties;
+
+ service com::sun::star::drawing::LineProperties;
+
+ /** These properties affect the characters of data captions if
+ those are displayed.
+ */
+ service com::sun::star::style::CharacterProperties;
+
+ /** If ChartDataPointProperties may be stored as XML
+ element, this service should be supported in order to preserve
+ unparsed XML attributes.
+
+ @since OOo 1.1.2
+ */
+ [optional] service com::sun::star::xml::UserDefinedAttributesSupplier;
+
+
+ /** is only available if the chart is of type
+ BarDiagram and Dim3DDiagram and the
+ property ChartDataPointProperties::Dim3D is
+ set to `TRUE`.
+
+ @see BarDiagram
+ @see Dim3DDiagram@see BarDiagram
+ @see Dim3DDiagram
+ */
+ [optional] service com::sun::star::chart::Chart3DBarProperties;
+
+ interface com::sun::star::beans::XPropertySet;
+
+
+ /** specifies how the captions of data points are displayed.@see ChartDataCaption
+ */
+ [property] long DataCaption;
+
+
+
+ /** specifies a string that is used to separate the parts of a data label (caption)
+ */
+ [optional, property] string LabelSeparator;
+
+
+ /** specifies a number format for the display of the value in the data label
+ */
+ [optional, property] long NumberFormat;
+
+
+ /** specifies a number format for the display of the percentage value in the data label
+ */
+ [optional, property] long PercentageNumberFormat;
+
+
+ /** specifies a relative position for the data label
+
+ @see DataLabelPlacement
+ */
+ [optional, property] long LabelPlacement;
+
+
+ /** specifies the type of symbols if the current chart type
+ supports the usage of symbols.
+
+ @see ChartSymbolType
+ */
+ [optional, property] long SymbolType;
+
+
+ /** In charts that support symbols, you can set this property to
+ any valid URL that points to a graphic file. This graphic is
+ then used as symbol for each data point.
+
+ <p>When you query this value you get an internal URL of the
+ embedded graphic.</p>
+
+ @deprecated as of Libreoffice 6.1
+
+ @see ChartSymbolType
+ */
+ [optional, property] string SymbolBitmapURL;
+
+ /** the offset by which pie segments in a PieDiagram
+ are dragged outside from the center. This value is given in
+ percent of the radius.
+ */
+ [optional, property] long SegmentOffset;
+
+ /** specifies if the text of a data label (caption) must be wrapped
+
+ @since LibreOffice 5.1
+ */
+ [optional, property] boolean TextWordWrap;
+
+ /** In charts that support symbols, you can set this property to
+ a graphic object. This graphic is then used as symbol for each
+ data point.
+
+ @since LibreOffice 6.1
+
+ @see ChartSymbolType
+ */
+ [optional, property] com::sun::star::graphic::XGraphic SymbolBitmap;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartDataRow.idl b/offapi/com/sun/star/chart/ChartDataRow.idl
new file mode 100644
index 000000000..9e9031d8e
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartDataRow.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_chart_ChartDataRow_idl__
+#define __com_sun_star_chart_ChartDataRow_idl__
+
+#include <com/sun/star/chart/ChartDataValue.idl>
+
+
+ module com { module sun { module star { module chart {
+
+
+/** describes a single data row, specified by its name and
+ a sequence of data points.
+
+ <p>This struct is currently used nowhere.</p>
+
+ @deprecated
+ */
+published struct ChartDataRow
+{
+ /** The name of the data row.
+ */
+ string Name;
+
+ /** The points contained in this data row.
+ */
+ sequence< sequence<ChartDataValue> > Points;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartDataRowProperties.idl b/offapi/com/sun/star/chart/ChartDataRowProperties.idl
new file mode 100644
index 000000000..332094d6b
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartDataRowProperties.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_chart_ChartDataRowProperties_idl__
+#define __com_sun_star_chart_ChartDataRowProperties_idl__
+
+#include <com/sun/star/chart/ChartDataPointProperties.idl>
+
+#include <com/sun/star/chart/ChartStatistics.idl>
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+#include <com/sun/star/xml/UserDefinedAttributesSupplier.idl>
+
+
+ module com { module sun { module star { module chart {
+
+
+/** specifies the properties for a group of graphic elements which
+ belong to a data row (also known as data series).
+
+ <p>For this service, the properties supported by
+ ChartDataPointProperties are applied to all data
+ point elements contained in this group. They serve as a template;
+ thus, when changing a data point property afterwards</p>
+
+ @see ChartDataPointProperties
+ */
+published service ChartDataRowProperties
+{
+ service com::sun::star::chart::ChartDataPointProperties;
+ /** Statistical properties are not available for all types of
+ diagrams.
+ */
+ [optional] service com::sun::star::chart::ChartStatistics;
+
+ /** If ChartDataRowProperties may be stored as XML
+ file, this service should be supported in order to preserve
+ unparsed XML attributes.
+
+ @since OOo 1.1.2
+ */
+ [optional] service com::sun::star::xml::UserDefinedAttributesSupplier;
+
+ interface com::sun::star::beans::XPropertySet;
+
+
+ /** determines to which axis the data row is assigned.
+
+ <p>The axis must be a primary or secondary y-axis</p>
+
+ @see ChartAxisAssign
+ @see ChartAxisYSupplier
+ @see ChartTwoAxisYSupplier
+ */
+ [property] long Axis;
+
+
+ /** holds the properties of the regression line, if such one is
+ enabled.
+
+ @see ChartLine
+ @see ChartStatistics
+ */
+ [optional, readonly, property] com::sun::star::beans::XPropertySet DataRegressionProperties;
+
+
+ /** holds the properties of the error markers, if those are
+ enabled.
+
+ @see ChartLine
+ @see ChartStatistics
+ */
+ [optional, readonly, property] com::sun::star::beans::XPropertySet DataErrorProperties;
+
+
+ /** holds the properties of the average line, if such one is
+ enabled.
+
+ @see ChartLine
+ @see ChartStatistics
+ */
+ [optional, readonly, property] com::sun::star::beans::XPropertySet DataMeanValueProperties;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartDataRowSource.idl b/offapi/com/sun/star/chart/ChartDataRowSource.idl
new file mode 100644
index 000000000..db58691b2
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartDataRowSource.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_chart_ChartDataRowSource_idl__
+#define __com_sun_star_chart_ChartDataRowSource_idl__
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** specifies if the data rows (aka data series) displayed in the
+ chart, take their values from the row or the column in the underlying
+ data source (ChartDataArray).
+ */
+published enum ChartDataRowSource
+{
+
+ /** values displayed as data rows are taken from the rows of the data source.
+ */
+ ROWS,
+
+
+ /** values displayed as data rows are taken from the columns of the data source.
+ */
+ COLUMNS
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartDataValue.idl b/offapi/com/sun/star/chart/ChartDataValue.idl
new file mode 100644
index 000000000..023b0e7a6
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartDataValue.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_chart_ChartDataValue_idl__
+#define __com_sun_star_chart_ChartDataValue_idl__
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** describes a single data value, including the error
+
+ <p>This struct is currently used nowhere.</p>
+
+ @deprecated
+ */
+published struct ChartDataValue
+{
+ /** value by itself.
+ */
+ double Value;
+
+
+ /** highest possible error value.
+ */
+ double HighError;
+
+
+ /** lowest possible error value.
+ */
+ double LowError;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartDocument.idl b/offapi/com/sun/star/chart/ChartDocument.idl
new file mode 100644
index 000000000..0fe548cb1
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartDocument.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_chart_ChartDocument_idl__
+#define __com_sun_star_chart_ChartDocument_idl__
+
+#include <com/sun/star/chart/XChartDocument.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/xml/UserDefinedAttributesSupplier.idl>
+#include <com/sun/star/drawing/XDrawPageSupplier.idl>
+
+
+ module com { module sun { module star { module chart {
+
+
+/** is the service for a chart document.
+
+ <p>A chart document consists of a reference to the data source,
+ the diagram and some additional elements like a main title, a
+ sub-title or a legend.
+
+ </p>@see Diagram
+ @see ChartLegend
+ @see ChartTitle
+ @see ChartDataArray
+ */
+published service ChartDocument
+{
+ /** If a ChartDocument may be stored as XML file,
+ this service should be supported in order to preserve unparsed
+ XML attributes.
+
+ @since OOo 1.1.2
+ */
+ [optional] service ::com::sun::star::xml::UserDefinedAttributesSupplier;
+
+ interface ::com::sun::star::chart::XChartDocument;
+ interface ::com::sun::star::beans::XPropertySet;
+
+ [optional] interface ::com::sun::star::drawing::XDrawPageSupplier;
+
+
+ /** determines if the main title is shown or hidden.
+ */
+ [property] boolean HasMainTitle;
+
+
+ /** determines if the subtitle is shown or hidden.
+ */
+ [property] boolean HasSubTitle;
+
+
+ /** determines if the legend is shown or hidden.
+ */
+ [property] boolean HasLegend;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartErrorCategory.idl b/offapi/com/sun/star/chart/ChartErrorCategory.idl
new file mode 100644
index 000000000..1a6420f6e
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartErrorCategory.idl
@@ -0,0 +1,86 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_chart_ChartErrorCategory_idl__
+#define __com_sun_star_chart_ChartErrorCategory_idl__
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** specifies the category of error indicators.
+ */
+published enum ChartErrorCategory
+{
+
+ /** error indicators are not displayed.
+ */
+ NONE,
+
+
+ /** displays error indicators for the variance of the data row.
+ */
+ VARIANCE,
+
+
+ /** displays error indicators for the standard deviation (square
+ root of variance) of the data row.
+ */
+ STANDARD_DEVIATION,
+
+
+ /** The length of the error indicators is calculated for each data
+ point by taking the percentage given as
+ ChartStatistics::PercentageError of its
+ value.
+
+ @see ChartStatistics
+ */
+ PERCENT,
+
+
+ /** The length of the error indicators for all data points is
+ calculated by taking the percentage given as
+ ChartStatistics::ErrorMargin of the largest
+ data point value.
+
+ @see ChartStatistics
+ */
+ ERROR_MARGIN,
+
+
+ /** displays the same lower and upper error indicators for all
+ data points.
+
+ <p>The values for these are given as absolute numbers in
+ ChartStatistics::ConstantErrorLow and
+ ChartStatistics::ConstantErrorHigh</p>
+
+ @see ChartStatistics
+ */
+ CONSTANT_VALUE
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartErrorIndicatorType.idl b/offapi/com/sun/star/chart/ChartErrorIndicatorType.idl
new file mode 100644
index 000000000..12503180a
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartErrorIndicatorType.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_chart_ChartErrorIndicatorType_idl__
+#define __com_sun_star_chart_ChartErrorIndicatorType_idl__
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** specifies how the error is indicated.
+ */
+published enum ChartErrorIndicatorType
+{
+
+ /** displays no error indicators.
+ */
+ NONE,
+
+
+ /** displays both the upper and lower values.
+ */
+ TOP_AND_BOTTOM,
+
+
+ /** displays only the upper value.
+ */
+ UPPER,
+
+
+ /** displays only the lower value.
+ */
+ LOWER
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartGrid.idl b/offapi/com/sun/star/chart/ChartGrid.idl
new file mode 100644
index 000000000..238c85f23
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartGrid.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_chart_ChartGrid_idl__
+#define __com_sun_star_chart_ChartGrid_idl__
+
+#include <com/sun/star/drawing/LineProperties.idl>
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+#include <com/sun/star/xml/UserDefinedAttributesSupplier.idl>
+
+
+ module com { module sun { module star { module chart {
+
+
+/** specifies the grid of the diagram in a chart.
+
+
+
+ <p>The distance between the grid lines depends on the distance of the help
+ or main tick marks, which may be set in ChartAxis.</p>@see ChartAxis
+ */
+published service ChartGrid
+{
+ service com::sun::star::drawing::LineProperties;
+
+ /** If a ChartGrid may be stored as XML element, this
+ service should be supported in order to preserve unparsed XML
+ attributes.
+
+ @since OOo 1.1.2
+ */
+ [optional] service com::sun::star::xml::UserDefinedAttributesSupplier;
+
+ interface com::sun::star::beans::XPropertySet;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartLegend.idl b/offapi/com/sun/star/chart/ChartLegend.idl
new file mode 100644
index 000000000..b6da8e687
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartLegend.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_chart_ChartLegend_idl__
+#define __com_sun_star_chart_ChartLegend_idl__
+
+#include <com/sun/star/drawing/Shape.idl>
+
+#include <com/sun/star/style/CharacterProperties.idl>
+
+#include <com/sun/star/chart/ChartLegendPosition.idl>
+#include <com/sun/star/xml/UserDefinedAttributesSupplier.idl>
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** specifies the legend of a chart.
+
+
+
+ <p>The text/font properties which are specified in the service
+ com::sun::star::drawing::Shape correlate to all text
+ objects inside the legend.</p>
+ */
+published service ChartLegend
+{
+ service com::sun::star::drawing::Shape;
+
+
+ /** If this property is `TRUE` the position is calculated by the application automatically.
+ Setting this property to false will have no effect. Instead use the interface com::sun::star::drawing::XShape
+ to set a concrete position.
+ */
+ [optional, property] boolean AutomaticPosition;
+
+
+ service com::sun::star::style::CharacterProperties;
+
+
+ /** If a ChartLegend may be stored as XML file,
+ this service should be supported in order to preserve unparsed
+ XML attributes.
+
+ @since OOo 1.1.2
+ */
+ [optional] service com::sun::star::xml::UserDefinedAttributesSupplier;
+
+
+ /** determines the alignment of the legend relative
+ to the diagram.
+ */
+ [property] com::sun::star::chart::ChartLegendPosition Alignment;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartLegendExpansion.idl b/offapi/com/sun/star/chart/ChartLegendExpansion.idl
new file mode 100644
index 000000000..789da37c7
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartLegendExpansion.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_chart_ChartLegendExpansion_idl
+#define com_sun_star_chart_ChartLegendExpansion_idl
+
+module com
+{
+module sun
+{
+module star
+{
+module chart
+{
+
+/** Specifies sizing aspects of the legend
+ */
+enum ChartLegendExpansion
+{
+ /** The legend entries are arranged in a single row if possible. If not enough space is available further rows are added.
+
+ <p>This is usually used for legends that are displayed at the
+ top or bottom of the page.</p>
+ */
+ WIDE,
+
+ /** The legend entries are stacked in a single column if possible. If not enough space is available further columns are added.
+
+ <p>This is usually used for legends that are displayed on the
+ left or right hand side of the page.</p>
+ */
+ HIGH,
+
+ /** The legend entries are arranged in a way that the aspect ratio of the resulting legend is as near to 1 as possible.
+ */
+ BALANCED,
+
+ /** The size of the legend is given explicitly
+ */
+ CUSTOM
+};
+
+} ; // chart
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartLegendPosition.idl b/offapi/com/sun/star/chart/ChartLegendPosition.idl
new file mode 100644
index 000000000..19f53a780
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartLegendPosition.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_chart_ChartLegendPosition_idl__
+#define __com_sun_star_chart_ChartLegendPosition_idl__
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** specifies one of the default positions of the legend in relation
+ to the diagram.
+ */
+published enum ChartLegendPosition
+{
+
+ /** no chart legend is displayed.
+
+ <p>To disable the legend you should set the property
+ ChartDocument::HasLegend to `FALSE` instead
+ of setting this value.</p>
+ */
+ NONE,
+
+
+ /** displays the chart legend on the left side of the diagram.
+
+ <p>The second entry in the legend is placed below the first
+ one.</p>
+ */
+ LEFT,
+
+
+ /** displays the chart legend above the diagram.
+
+ <p>The second entry in the legend is placed on the right hand
+ side of the first one.</p>
+ */
+ TOP,
+
+
+ /** displays the chart legend on the right side of the diagram.
+
+ <p>The second entry in the legend is placed below the first
+ one.</p>
+ */
+ RIGHT,
+
+
+ /** displays the chart legend beneath the diagram.
+
+ <p>The second entry in the legend is placed on the right hand
+ side of the first one.</p>
+ */
+ BOTTOM
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartLine.idl b/offapi/com/sun/star/chart/ChartLine.idl
new file mode 100644
index 000000000..c7e16a738
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartLine.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_chart_ChartLine_idl__
+#define __com_sun_star_chart_ChartLine_idl__
+
+#include <com/sun/star/drawing/LineProperties.idl>
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** specifies line elements in a chart (regression lines, etc.).
+ */
+published service ChartLine
+{
+ service com::sun::star::drawing::LineProperties;
+ interface com::sun::star::beans::XPropertySet;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartPieSegmentProperties.idl b/offapi/com/sun/star/chart/ChartPieSegmentProperties.idl
new file mode 100644
index 000000000..c20c65271
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartPieSegmentProperties.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_chart_ChartPieSegmentProperties_idl__
+#define __com_sun_star_chart_ChartPieSegmentProperties_idl__
+
+#include <com/sun/star/chart/ChartDataPointProperties.idl>
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** specifies all the properties for the graphic object of a
+ pie segment.@see PieDiagram
+ */
+published service ChartPieSegmentProperties
+{
+ service com::sun::star::chart::ChartDataPointProperties;
+ interface com::sun::star::beans::XPropertySet;
+
+
+ /** reflects the offset of a pie segment in percent of the radius.
+
+
+
+ <p>The default value for all the segments of a PieDiagram
+ is 0. If you change this value from 0 to 100 the segment is pulled out
+ from the center by its radius.
+
+ </p>
+ <p>Currently this property is supported by two dimensional pie
+ diagrams only.</p>
+ */
+ [property] long SegmentOffset;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartRegressionCurveType.idl b/offapi/com/sun/star/chart/ChartRegressionCurveType.idl
new file mode 100644
index 000000000..61aaf6580
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartRegressionCurveType.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_chart_ChartRegressionCurveType_idl__
+#define __com_sun_star_chart_ChartRegressionCurveType_idl__
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** specifies the type of the regression curve to be displayed.
+ */
+published enum ChartRegressionCurveType
+{
+
+ /** displays no regression curve.
+ */
+ NONE,
+
+
+ /** displays a linear regression curve.
+
+ <p>The values of the series are approximated using the model
+ <i>y</i> = <i>A</i>&sdot;<i>x</i> + <i>B</i>.</p>
+ */
+ LINEAR,
+
+
+ /** displays a linear logarithmic regression curve.
+
+ <p>The values of the series are approximated using the model
+ <i>y</i> = <i>A</i>&sdot;log(<i>x</i>) + <i>B</i>.</p>
+ */
+ LOGARITHM,
+
+
+ /** displays an exponential regression curve.
+
+ <p>The values of the series are approximated using the model
+ <i>y</i> = <i>A</i>&sdot;e<sup><i>B</i>&sdot;<i>x</i></sup>.</p>
+
+ */
+ EXPONENTIAL,
+
+
+ /** displays a polynomial regression curve.
+ */
+ POLYNOMIAL,
+
+ /** displays a regression curve using a power function.
+
+ <p>The values of the series are approximated using the model
+ <i>y</i> = <i>A&sdot;<i>x</i><sup>B</sup></i>.</p>
+ */
+ POWER
+
+ /** displays a moving average regression curve.
+ */
+ //MOVING_AVERAGE
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartSeriesAddress.idl b/offapi/com/sun/star/chart/ChartSeriesAddress.idl
new file mode 100644
index 000000000..665f10f59
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartSeriesAddress.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_chart_ChartSeriesAddress_idl__
+#define __com_sun_star_chart_ChartSeriesAddress_idl__
+
+
+ module com { module sun { module star { module chart {
+
+
+/** This structure describes a single data row, specified by its name
+ and a sequence of data points.
+
+ <p>The cell addresses are in the format of the application that
+ contains this chart.</p>
+ */
+published struct ChartSeriesAddress
+{
+ /** contains the cell range address of the data for this series.
+ */
+ string DataRangeAddress;
+
+
+ /** contains the cell address of label (i.e. name) of this series.
+ */
+ string LabelAddress;
+
+
+ /** contains cell addresses for each domain of this series.
+
+ <p>For XY (scatter) diagrams at least one series has a
+ domain. Most of the other chart types use an empty sequence
+ here.</p>
+ */
+ sequence< string > DomainRangeAddresses;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartSolidType.idl b/offapi/com/sun/star/chart/ChartSolidType.idl
new file mode 100644
index 000000000..c174e20b9
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartSolidType.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_chart_ChartSolidType_idl__
+#define __com_sun_star_chart_ChartSolidType_idl__
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** These values specify the type of solid shapes for data points of
+ 3D bar charts.
+ */
+published constants ChartSolidType
+{
+
+ /** extruded rectangle, i.e., a cuboid
+ */
+ const long RECTANGULAR_SOLID = 0;
+
+
+ /** cylinder with a circle as base
+ */
+ const long CYLINDER = 1;
+
+
+ /** cone with a circle as base
+ */
+ const long CONE = 2;
+
+
+ /** pyramidal with a square as base
+ */
+ const long PYRAMID = 3;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartStatistics.idl b/offapi/com/sun/star/chart/ChartStatistics.idl
new file mode 100644
index 000000000..73c856f70
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartStatistics.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_chart_ChartStatistics_idl__
+#define __com_sun_star_chart_ChartStatistics_idl__
+
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/chart/ChartErrorCategory.idl>
+#include <com/sun/star/chart/ChartErrorIndicatorType.idl>
+#include <com/sun/star/chart/ChartRegressionCurveType.idl>
+#include <com/sun/star/chart/ErrorBarStyle.idl>
+
+
+ module com { module sun { module star { module chart {
+
+
+/** offers statistical properties for the data in the chart. It is
+ available for a single data row and for the whole diagram.
+ */
+published service ChartStatistics
+{
+ interface com::sun::star::beans::XPropertySet;
+
+
+ /** specifies the lower limit of the error range of a
+ data row.
+
+ <p>this setting is effective if the
+ ChartStatistics::ErrorCategory is set to
+ ChartErrorCategory::CONSTANT_VALUE.</p>
+
+ @see ConstantErrorHigh
+ @see ErrorCategory
+ */
+ [property] double ConstantErrorLow;
+
+
+ /** specifies the upper limit of the error range of a
+ data row.
+
+ <p>this setting is effective if the
+ ChartStatistics::ErrorCategory is set to
+ ChartErrorCategory::CONSTANT_VALUE.</p>
+
+ @see ConstantErrorLow
+ @see ErrorCategory
+ */
+ [property] double ConstantErrorHigh;
+
+
+ /** determines if the mean value for a data row is
+ displayed as a line.
+ */
+ [property] boolean MeanValue;
+
+
+ /** determines the type of error to indicate.
+
+ @deprecated
+
+ @see ChartErrorCategory
+ @see PercentageError
+ @see ErrorMargin
+ @see ConstantErrorLow
+ @see ConstantErrorHigh
+ @see ErrorIndicator
+ */
+ [property] com::sun::star::chart::ChartErrorCategory ErrorCategory;
+
+ /** determines the style of the error bars. Use this instead of
+ ErrorCategory
+
+ @see ErrorBarStyle
+ */
+ [optional, property] long ErrorBarStyle;
+
+
+ /** specifies the percentage that is used to display error bars.
+
+ <p>The length of the error indicators is calculated for each
+ data point by taking the given percentage of its value.</p>
+
+ <p>this setting is effective if the
+ ChartStatistics::ErrorCategory is set to
+ ChartErrorCategory::PERCENT.</p>
+
+ @see ErrorCategory
+ */
+ [property] double PercentageError;
+
+
+ /** specifies the percentage for the margin of errors.
+
+ <p>The length of the error indicators is calculated by taking
+ the percentage given of the largest data point value.</p>
+
+ <p>this setting is effective if the
+ ChartStatistics::ErrorCategory is set to
+ ChartErrorCategory::ERROR_MARGIN.</p>
+
+ @see ErrorCategory
+ */
+ [property] double ErrorMargin;
+
+
+ /** determines how the error is indicated.
+
+ <p>You can enable indicators pointing up, down or both.</p>
+
+ @see ErrorCategory
+ */
+ [property] com::sun::star::chart::ChartErrorIndicatorType ErrorIndicator;
+
+
+ /** determines a type of regression for the data row values.
+
+ @see ChartRegressionCurveType
+ */
+ [property] com::sun::star::chart::ChartRegressionCurveType RegressionCurves;
+
+ /** contains a cell range string for positive error bars. This
+ property is used when the ErrorBarCategory is set
+ to ErrorBarCategory::FROM_DATA.
+ */
+ [optional, property] string ErrorBarRangePositive;
+
+ /** contains a cell range string for negative error bars. This
+ property is used when the ErrorBarCategory is set
+ to ErrorBarCategory::FROM_DATA.
+ */
+ [optional, property] string ErrorBarRangeNegative;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartSymbolType.idl b/offapi/com/sun/star/chart/ChartSymbolType.idl
new file mode 100644
index 000000000..233562803
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartSymbolType.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_chart_ChartSymbolType_idl__
+#define __com_sun_star_chart_ChartSymbolType_idl__
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** These values specify the type of the symbol used for data points.
+
+ <p>This only applies to diagrams that use symbols like line
+ diagrams.</p>
+
+ <p>The default symbols are currently:
+ <table border >
+ <tr><td>Symbol 0</td><td>a square</td></tr>
+ <tr><td>Symbol 1</td><td>a diamond</td></tr>
+ <tr><td>Symbol 2</td><td>a triangle pointing down</td></tr>
+ <tr><td>Symbol 3</td><td>a triangle pointing up</td></tr>
+ <tr><td>Symbol 4</td><td>a triangle pointing right</td></tr>
+ <tr><td>Symbol 5</td><td>a triangle pointing left</td></tr>
+ <tr><td>Symbol 6</td><td>a bow tie</td></tr>
+ <tr><td>Symbol 7</td><td>a rotated bow tie</td></tr>
+ </table>
+ </p>
+
+ @see LineDiagram
+ @see ChartDataPointProperties
+*/
+published constants ChartSymbolType
+{
+
+ /** No symbol is used.
+ */
+ const long NONE = -3;
+
+
+ /** The symbol is selected automatically. The size of symbol will
+ be dynamic and the type depends on the data row number.
+ */
+ const long AUTO = -2;
+
+
+ /** Take a Bitmap from a URL and use this as symbol.
+
+ <p>The bitmap given by the URL set in the property
+ ChartDataPointProperties::SymbolBitmapURL is
+ copied so that the graphic is embedded.</p>
+
+ @see ChartDataPointProperties
+ */
+ const long BITMAPURL = -1;
+
+
+ /** The default symbol for row 0 is used.
+ */
+ const long SYMBOL0 = 0;
+
+
+ /** The default symbol for row 1 is used.
+ */
+ const long SYMBOL1 = 1;
+
+
+ /** The default symbol for row 2 is used.
+ */
+ const long SYMBOL2 = 2;
+
+
+ /** The default symbol for row 3 is used.
+ */
+ const long SYMBOL3 = 3;
+
+
+ /** The default symbol for row 4 is used.
+ */
+ const long SYMBOL4 = 4;
+
+
+ /** The default symbol for row 5 is used.
+ */
+ const long SYMBOL5 = 5;
+
+
+ /** The default symbol for row 6 is used.
+ */
+ const long SYMBOL6 = 6;
+
+
+ /** The default symbol for row 7 is used.
+ */
+ const long SYMBOL7 = 7;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartTableAddressSupplier.idl b/offapi/com/sun/star/chart/ChartTableAddressSupplier.idl
new file mode 100644
index 000000000..990d381ea
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartTableAddressSupplier.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_chart_ChartTableAddressSupplier_idl__
+#define __com_sun_star_chart_ChartTableAddressSupplier_idl__
+
+#include <com/sun/star/chart/ChartSeriesAddress.idl>
+
+
+module com { module sun { module star { module chart {
+
+/** This is a helper service for access to table Address to
+ cell ranges of the container document of a chart.
+
+ The cell addresses are in the format of the application that
+ contains this chart.
+*/
+published service ChartTableAddressSupplier
+{
+ /** contains the address to the cells containing
+ the names of the categories.
+
+ Note: Each value of a data series belongs exactly to one category.
+ */
+ [property] string CategoriesRangeAddress;
+
+ /** contains the addresses to the elements of a series.
+ This sequence should contain one element for each series in the chart.
+
+ @see ChartSeriesAddress
+ */
+ [property] sequence< com::sun::star::chart::ChartSeriesAddress > SeriesAddresses;
+
+ /** contains the address to the main title.
+ */
+ [optional, property] string MainTitleAddress;
+
+ /** contains the address to the sub title.
+
+ <!-- Dennis: Does "Address" have a capital "A" or lowercase? -->
+ <!-- JRH: changed to lowercase, consistent with the others -->*/
+ [optional, property] string SubTitleAddress;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartTitle.idl b/offapi/com/sun/star/chart/ChartTitle.idl
new file mode 100644
index 000000000..b806b32c7
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartTitle.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_chart_ChartTitle_idl__
+#define __com_sun_star_chart_ChartTitle_idl__
+
+#include <com/sun/star/drawing/Shape.idl>
+#include <com/sun/star/xml/UserDefinedAttributesSupplier.idl>
+
+
+ module com { module sun { module star { module chart {
+
+
+/** specifies titles in a chart.
+
+ <p>In a chart there may be the following titles: the main title,
+ the sub title, and axis titles of the x- and y-axis.</p>
+ */
+published service ChartTitle
+{
+ service com::sun::star::drawing::Shape;
+
+
+ /** If this property is `TRUE` the position is calculated by the application automatically.
+ Setting this property to false will have no effect. Instead use the interface com::sun::star::drawing::XShape
+ to set a concrete position.
+ */
+ [optional, property] boolean AutomaticPosition;
+
+
+ /** If a ChartTitle may be stored as XML element,
+ this service should be supported in order to preserve unparsed
+ XML attributes.
+
+ @since OOo 1.1.2
+ */
+ [optional] service com::sun::star::xml::UserDefinedAttributesSupplier;
+
+
+ /** specifies the rotation of the shape in 100th of degrees.
+
+ <p>Especially in three-dimensional charts, this property comes
+ in handy if you want to align the axis titles with the axis,
+ which are usually not vertical or horizontal in the
+ two-dimensional projection.</p>
+ */
+ [property] long TextRotation;
+
+
+ /** contains the text of the title.
+
+ <p>Note that you cannot change attributes of parts of a
+ title, e.g., put one word in bold characters. All formatting
+ affects the entire string.</p>
+ */
+ [property] string String;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartTwoAxisXSupplier.idl b/offapi/com/sun/star/chart/ChartTwoAxisXSupplier.idl
new file mode 100644
index 000000000..f33e0eddd
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartTwoAxisXSupplier.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_chart_ChartTwoAxisXSupplier_idl__
+#define __com_sun_star_chart_ChartTwoAxisXSupplier_idl__
+
+#include <com/sun/star/chart/XTwoAxisXSupplier.idl>
+
+#include <com/sun/star/chart/ChartAxisXSupplier.idl>
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** a helper service for chart documents which supply
+ primary and secondary x-axes.
+ */
+published service ChartTwoAxisXSupplier
+{
+ /** offers access to the axis object
+ */
+ interface com::sun::star::chart::XTwoAxisXSupplier;
+
+ service com::sun::star::chart::ChartAxisXSupplier;
+
+
+ /** determines if the secondary x-axis is shown or hidden.
+
+ @see ChartAxis
+ */
+ [property] boolean HasSecondaryXAxis;
+
+
+ /** determines for the secondary x-axis
+ if the labels at the tick marks are shown or hidden.
+ */
+ [property] boolean HasSecondaryXAxisDescription;
+
+
+ /** determines if the title of the secondary X-axis is shown or hidden.
+
+ @see ChartTitle
+
+ @since OOo 3.0
+ */
+ [optional, property] boolean HasSecondaryXAxisTitle;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartTwoAxisYSupplier.idl b/offapi/com/sun/star/chart/ChartTwoAxisYSupplier.idl
new file mode 100644
index 000000000..a78ece2fc
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartTwoAxisYSupplier.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_chart_ChartTwoAxisYSupplier_idl__
+#define __com_sun_star_chart_ChartTwoAxisYSupplier_idl__
+
+#include <com/sun/star/chart/XTwoAxisYSupplier.idl>
+
+#include <com/sun/star/chart/ChartAxisYSupplier.idl>
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** a helper service for chart documents which supply
+ primary and secondary y-axes.
+ */
+published service ChartTwoAxisYSupplier
+{
+ /** offers access to the axis object
+ */
+ interface com::sun::star::chart::XTwoAxisYSupplier;
+
+ service com::sun::star::chart::ChartAxisYSupplier;
+
+
+ /** determines if the secondary y-axis is shown or
+ hidden.
+
+ @see ChartAxis
+ */
+ [property] boolean HasSecondaryYAxis;
+
+
+ /** determines for the secondary y-axis
+ if the labels at the tick marks are shown or hidden.
+ */
+ [property] boolean HasSecondaryYAxisDescription;
+
+
+ /** determines if the title of the secondary y-axis is shown or hidden.
+
+ @see ChartTitle
+
+ @since OOo 3.0
+ */
+ [optional, property] boolean HasSecondaryYAxisTitle;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/DataLabelPlacement.idl b/offapi/com/sun/star/chart/DataLabelPlacement.idl
new file mode 100644
index 000000000..f8e50effe
--- /dev/null
+++ b/offapi/com/sun/star/chart/DataLabelPlacement.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_chart_DataLabelPlacement_idl__
+#define __com_sun_star_chart_DataLabelPlacement_idl__
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** These values specify where the captions/labels of data points are displayed.
+ */
+published constants DataLabelPlacement
+{
+ const long AVOID_OVERLAP = 0;
+ const long CENTER = 1;
+ const long TOP = 2;
+ const long TOP_LEFT = 3;
+ const long LEFT = 4;
+ const long BOTTOM_LEFT = 5;
+ const long BOTTOM = 6;
+ const long BOTTOM_RIGHT = 7;
+ const long RIGHT = 8;
+ const long TOP_RIGHT = 9;
+ const long INSIDE = 10;
+ const long OUTSIDE = 11;
+ const long NEAR_ORIGIN = 12;
+ /** @since LibreOffice 7.0 */ const long CUSTOM = 13;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/Diagram.idl b/offapi/com/sun/star/chart/Diagram.idl
new file mode 100644
index 000000000..023517a87
--- /dev/null
+++ b/offapi/com/sun/star/chart/Diagram.idl
@@ -0,0 +1,123 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_chart_Diagram_idl__
+#define __com_sun_star_chart_Diagram_idl__
+
+#include <com/sun/star/chart/XDiagram.idl>
+#include <com/sun/star/chart/XAxisSupplier.idl>
+#include <com/sun/star/chart/XDiagramPositioning.idl>
+
+#include <com/sun/star/chart/XSecondAxisTitleSupplier.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+
+#include <com/sun/star/chart/ChartDataRowSource.idl>
+
+#include <com/sun/star/xml/UserDefinedAttributesSupplier.idl>
+
+
+ module com { module sun { module star { module chart {
+
+
+/** the base service for the diagram of the chart document.
+
+ <p>The diagram is the object that contains the actual plot.</p>
+
+ <p>Different Diagram Types, e.g., PieDiagram or
+ LineDiagram, can be instantiated by the
+ com::sun::star::lang::XMultiServiceFactory of
+ the XChartDocument.</p>
+
+ */
+published service Diagram
+{
+
+ interface com::sun::star::chart::XDiagram;
+
+ /** Provides easier access to the different axes and their sub elements.
+ @since OOo 3.4
+ */
+ [optional] interface com::sun::star::chart::XAxisSupplier;
+
+ /** Provides access to the titles of the secondary X axis and Y axis.
+ @since OOo 3.0
+ */
+ [optional] interface com::sun::star::chart::XSecondAxisTitleSupplier;
+
+ /**
+ @since OOo 3.3
+ */
+ [optional] interface com::sun::star::chart::XDiagramPositioning;
+
+
+ /** If this property is `TRUE` the position is calculated by the application automatically.
+ Setting this property to false will have no effect. Instead use the interface com::sun::star::drawing::XShape
+ to set a concrete position (note com::sun::star::chart::XDiagram is derived from com::sun::star::drawing::XShape).
+ */
+ [optional, property] boolean AutomaticPosition;
+
+
+ /** If this property is `TRUE` the size is calculated by the application automatically.
+ Setting this property to false will have no effect. Instead use the interface com::sun::star::drawing::XShape
+ to set a concrete size (note com::sun::star::chart::XDiagram is derived from com::sun::star::drawing::XShape).
+ */
+ [optional, property] boolean AutomaticSize;
+
+
+ interface com::sun::star::beans::XPropertySet;
+
+
+ /** If a Diagram may be stored as XML file, this
+ service should be supported in order to preserve unparsed XML
+ attributes.
+
+ @since OOo 1.1.2
+ */
+ [optional] service com::sun::star::xml::UserDefinedAttributesSupplier;
+
+
+ /** determines if the data for a data row is contained in the
+ columns or in the rows of the data array.
+
+ @see ChartDataRowSource
+ @see ChartDataArray
+ */
+ [property] com::sun::star::chart::ChartDataRowSource DataRowSource;
+
+
+ /** specifies how the caption of data points is displayed.
+
+ @see ChartDataCaption
+ */
+ [property] long DataCaption;
+
+
+ /** specifies how empty or invalid cells in the provided data should be handled when displayed
+
+ @see MissingValueTreatment
+ */
+ [optional, property] long MissingValueTreatment;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/Dim3DDiagram.idl b/offapi/com/sun/star/chart/Dim3DDiagram.idl
new file mode 100644
index 000000000..a6ef1ae06
--- /dev/null
+++ b/offapi/com/sun/star/chart/Dim3DDiagram.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_chart_Dim3DDiagram_idl__
+#define __com_sun_star_chart_Dim3DDiagram_idl__
+
+#include <com/sun/star/chart/X3DDisplay.idl>
+#include <com/sun/star/chart/X3DDefaultSetter.idl>
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** is a service for diagrams that support the capability to render
+ themselves as three-dimensional diagrams as well as
+ two-dimensional ones.
+ */
+published service Dim3DDiagram
+{
+ /** gives access to the properties of the wall and floor objects
+ of the three-dimensional cuboid that contains the actual
+ diagram.
+ */
+ interface com::sun::star::chart::X3DDisplay;
+
+ /** makes it easy to set suitable defaults for illumination and rotation for 3D charts
+ */
+ [optional] interface ::com::sun::star::chart::X3DDefaultSetter;
+
+
+ /** If set to `TRUE`, the chart becomes a three-dimensional
+ chart. Otherwise it is two-dimensional.
+ */
+ [property] boolean Dim3D;
+
+ /** Perspective of 3D charts ( [0,100] ).
+ */
+ [optional, property] long Perspective;
+
+ /** Horizontal rotation of 3D charts in degrees ( ]-180,180] ).
+ */
+ [optional, property] long RotationHorizontal;
+
+ /** Vertical rotation of 3D charts in degrees ( ]-180,180] ).
+ */
+ [optional, property] long RotationVertical;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/DonutDiagram.idl b/offapi/com/sun/star/chart/DonutDiagram.idl
new file mode 100644
index 000000000..7275b49ca
--- /dev/null
+++ b/offapi/com/sun/star/chart/DonutDiagram.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_chart_DonutDiagram_idl__
+#define __com_sun_star_chart_DonutDiagram_idl__
+
+#include <com/sun/star/chart/Diagram.idl>
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** a service for donut diagrams.
+
+ <p>Donut diagrams are also known as ring diagrams.</p>
+*/
+published service DonutDiagram
+{
+ service com::sun::star::chart::Diagram;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ErrorBarStyle.idl b/offapi/com/sun/star/chart/ErrorBarStyle.idl
new file mode 100644
index 000000000..adce5e590
--- /dev/null
+++ b/offapi/com/sun/star/chart/ErrorBarStyle.idl
@@ -0,0 +1,91 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef com_sun_star_chart_ErrorBarStyle_idl
+#define com_sun_star_chart_ErrorBarStyle_idl
+
+module com { module sun { module star { module chart {
+
+/** specifies the style of error indicators.
+ */
+published constants ErrorBarStyle
+{
+ /** error indicators are not displayed.
+ */
+ const long NONE = 0;
+
+ /** displays error indicators for the variance of the data.
+ */
+ const long VARIANCE = 1;
+
+ /** displays error indicators for the standard deviation (square
+ root of variance) of the data.
+ */
+ const long STANDARD_DEVIATION = 2;
+
+ /** the error indicators for all data points have the same
+ absolute value as length for either direction.
+
+ <p>The values for these are given as absolute numbers in
+ ChartStatistics::ConstantErrorLow and
+ ChartStatistics::ConstantErrorHigh</p>
+
+ @see ChartStatistics
+ */
+ const long ABSOLUTE = 3;
+
+ /** The length of the error indicators is calculated for each data
+ point by taking the percentage given as
+ ChartStatistics::PercentageError of its
+ value.
+
+ @see ChartStatistics
+ */
+ const long RELATIVE = 4;
+
+ /** The length of the error indicators for all data points is
+ calculated by taking the percentage given as
+ ChartStatistics::ErrorMargin of the largest
+ data point value.
+
+ @see ChartStatistics
+ */
+ const long ERROR_MARGIN = 5;
+
+ /** displays error indicators for the standard error, also known
+ as the standard deviation of the mean (SDOM).
+ */
+ const long STANDARD_ERROR = 6;
+
+ /** Uses values given by cell ranges of the container document.
+
+ <p>The values for the cell ranges are given in the properties
+ ChartStatistics::ErrorBarRangePositive for
+ positive indicators and
+ ChartStatistics::ErrorBarRangeNegative for
+ negative indicators.</p>
+ */
+ const long FROM_DATA = 7;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/FilledNetDiagram.idl b/offapi/com/sun/star/chart/FilledNetDiagram.idl
new file mode 100644
index 000000000..22a867d0d
--- /dev/null
+++ b/offapi/com/sun/star/chart/FilledNetDiagram.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_chart_FilledNetDiagram_idl__
+#define __com_sun_star_chart_FilledNetDiagram_idl__
+
+#include <com/sun/star/chart/Diagram.idl>
+
+#include <com/sun/star/chart/StackableDiagram.idl>
+#include <com/sun/star/chart/ChartAxisXSupplier.idl>
+
+#include <com/sun/star/chart/ChartAxisYSupplier.idl>
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** specifies filled net diagrams. @since OOo 3.2
+
+ <p>Net diagrams are also known as radar diagrams.</p>
+ */
+published service FilledNetDiagram
+{
+ service com::sun::star::chart::Diagram;
+ service com::sun::star::chart::ChartAxisXSupplier;
+ service com::sun::star::chart::ChartAxisYSupplier;
+ service com::sun::star::chart::StackableDiagram;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/LineDiagram.idl b/offapi/com/sun/star/chart/LineDiagram.idl
new file mode 100644
index 000000000..5fcb2d156
--- /dev/null
+++ b/offapi/com/sun/star/chart/LineDiagram.idl
@@ -0,0 +1,143 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_chart_LineDiagram_idl__
+#define __com_sun_star_chart_LineDiagram_idl__
+
+#include <com/sun/star/chart/Diagram.idl>
+
+#include <com/sun/star/chart/ChartStatistics.idl>
+
+#include <com/sun/star/chart/ChartAxisXSupplier.idl>
+
+#include <com/sun/star/chart/ChartTwoAxisYSupplier.idl>
+
+#include <com/sun/star/chart/ChartAxisZSupplier.idl>
+
+#include <com/sun/star/chart/Dim3DDiagram.idl>
+
+#include <com/sun/star/chart/StackableDiagram.idl>
+#include <com/sun/star/awt/Size.idl>
+
+
+ module com { module sun { module star { module chart {
+
+
+/** specifies line, spline and symbol diagrams.
+ */
+published service LineDiagram
+{
+ service com::sun::star::chart::Diagram;
+ service com::sun::star::chart::ChartStatistics;
+ service com::sun::star::chart::ChartAxisXSupplier;
+ service com::sun::star::chart::ChartTwoAxisYSupplier;
+ service com::sun::star::chart::ChartAxisZSupplier;
+ service com::sun::star::chart::Dim3DDiagram;
+ service com::sun::star::chart::StackableDiagram;
+
+
+ /** determines which type of symbols are displayed.
+
+ <p>In this interface, only the two values
+ ChartSymbolType::NONE and
+ ChartSymbolType::AUTO are supported. Later
+ versions may support the selection of the symbols shape.</p>
+
+ <p>If you set this property to
+ ChartSymbolType::AUTO, you can change the
+ symbol shape for objects supporting the service
+ ChartDataPointProperties or
+ ChartDataRowProperties.</p>
+
+ @see ChartDataPointProperties
+ @see ChartDataRowProperties
+ */
+ [property] long SymbolType;
+
+
+ /** specifies the size of symbols in 1/100th of a millimeter.
+ */
+ [optional, property] com::sun::star::awt::Size SymbolSize;
+
+
+ /** Set this property to any valid URL that points to a graphic
+ file. This graphic is then used as symbol for all series.
+
+ <p>When you query this value you get an internal URL of the
+ embedded graphic.</p>
+
+ @deprecated
+ @see ChartSymbolType
+ */
+ [optional, property] string SymbolBitmapURL;
+
+
+ /** determines if the chart type has lines connecting the data
+ points or contains just symbols.
+ */
+ [property] boolean Lines;
+
+
+ /** determines if the chart is a spline-chart type and specifies
+ the type of splines.
+
+ @see CurveStyle
+ <p>You can set the following values:
+ <table border>
+ <tr><td>0</td><td>lines are used instead of splines</td></tr>
+ <tr><td>1</td><td>use cubic splines</td></tr>
+ <tr><td>2</td><td>use B-splines</td></tr>
+ <tr><td>3</td><td>use stepped line with step start</td></tr>
+ <tr><td>4</td><td>use stepped line with step end</td></tr>
+ <tr><td>5</td><td>use stepped line with step center x</td></tr>
+ <tr><td>6</td><td>use stepped line with step center y</td></tr>
+ </table>
+ </p>
+ */
+ [property] long SplineType;
+
+
+ /** specifies the power of the polynomials used for spline
+ calculation
+
+ This property is only valid for B-splines
+ */
+ [optional, property] long SplineOrder;
+
+
+ /** determines the number of sampling points of a spline
+ */
+ [optional, property] long SplineResolution;
+
+ /** Set this property to a graphic object which is then used as
+ symbol for all series.
+
+ @since LibreOffice 6.1
+
+ @deprecated - added for backwards compatibility
+ @see ChartSymbolType
+ */
+ [optional, property] com::sun::star::graphic::XGraphic SymbolBitmap;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/MissingValueTreatment.idl b/offapi/com/sun/star/chart/MissingValueTreatment.idl
new file mode 100644
index 000000000..19509aa6e
--- /dev/null
+++ b/offapi/com/sun/star/chart/MissingValueTreatment.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_chart_MissingValueTreatment_idl__
+#define __com_sun_star_chart_MissingValueTreatment_idl__
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** This specifies how empty or invalid cells in the provided data should be handled when plotted.
+ */
+published constants MissingValueTreatment
+{
+ const long LEAVE_GAP = 0;
+ const long USE_ZERO = 1;
+ const long CONTINUE = 2;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/NetDiagram.idl b/offapi/com/sun/star/chart/NetDiagram.idl
new file mode 100644
index 000000000..07d997502
--- /dev/null
+++ b/offapi/com/sun/star/chart/NetDiagram.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_chart_NetDiagram_idl__
+#define __com_sun_star_chart_NetDiagram_idl__
+
+#include <com/sun/star/chart/Diagram.idl>
+
+#include <com/sun/star/chart/StackableDiagram.idl>
+
+#include <com/sun/star/chart/ChartAxisYSupplier.idl>
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** specifies net diagrams.
+
+ <p>Net diagrams are also known as radar diagrams.</p>
+ */
+published service NetDiagram
+{
+ service com::sun::star::chart::Diagram;
+ service com::sun::star::chart::StackableDiagram;
+ service com::sun::star::chart::ChartAxisYSupplier;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/PieDiagram.idl b/offapi/com/sun/star/chart/PieDiagram.idl
new file mode 100644
index 000000000..5293da11e
--- /dev/null
+++ b/offapi/com/sun/star/chart/PieDiagram.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_chart_PieDiagram_idl__
+#define __com_sun_star_chart_PieDiagram_idl__
+
+#include <com/sun/star/chart/Diagram.idl>
+
+#include <com/sun/star/chart/Dim3DDiagram.idl>
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** a service for pie diagrams.
+ */
+published service PieDiagram
+{
+ service com::sun::star::chart::Diagram;
+ service com::sun::star::chart::Dim3DDiagram;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/StackableDiagram.idl b/offapi/com/sun/star/chart/StackableDiagram.idl
new file mode 100644
index 000000000..f940c1d8a
--- /dev/null
+++ b/offapi/com/sun/star/chart/StackableDiagram.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_chart_StackableDiagram_idl__
+#define __com_sun_star_chart_StackableDiagram_idl__
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/**
+
+a helper service for stackable chart types (e.g., charts in
+ which the data rows may be displayed stacked on each other or in
+ percent relation).
+ */
+published service StackableDiagram
+{
+
+ /** If `TRUE`, the series of the diagram are stacked and each
+ category sums up to 100%.
+ */
+ [property] boolean Percent;
+
+
+ /** If `TRUE`, the series of the diagram are stacked.
+
+ <p>If you have a stacked bar chart, you can easily determine
+ the sum of data in each category, by taking the top of the
+ topmost bar.</p>
+ */
+ [property] boolean Stacked;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/StockDiagram.idl b/offapi/com/sun/star/chart/StockDiagram.idl
new file mode 100644
index 000000000..abeef4fe1
--- /dev/null
+++ b/offapi/com/sun/star/chart/StockDiagram.idl
@@ -0,0 +1,130 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_chart_StockDiagram_idl__
+#define __com_sun_star_chart_StockDiagram_idl__
+
+#include <com/sun/star/chart/XStatisticDisplay.idl>
+
+#include <com/sun/star/chart/ChartStatistics.idl>
+
+#include <com/sun/star/chart/Diagram.idl>
+
+#include <com/sun/star/chart/ChartAxisXSupplier.idl>
+
+#include <com/sun/star/chart/ChartTwoAxisYSupplier.idl>
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** specifies a diagram which can be used for presenting stock quotes.
+
+ <p>Note that the data must have a specific structure for stock
+ diagrams. Let us assume that data is interpreted, such that
+ series are taken from columns (see property
+ Diagram::DataRowSource). Then you need tables of
+ the following structures for different types:</p>
+
+ <p><strong>
+ StockDiagram::Volume is `FALSE`<br>
+ StockDiagram::UpDown is `FALSE`
+ </strong>
+ <table border>
+ <tr><td>Low</td><td>High</td><td>Close</td></tr>
+ <tr><td>...</td><td>...</td><td>...</td></tr>
+ </table></p>
+
+ <p><strong>
+ StockDiagram::Volume is `TRUE`<br>
+ StockDiagram::UpDown is `FALSE`
+ </strong>
+ <table border>
+ <tr><td><strong>Volume</strong></td><td>Low</td><td>High</td><td>Close</td></tr>
+ <tr><td>...</td><td>...</td><td>...</td><td>...</td></tr>
+ </table></p>
+
+ <p><strong>
+ StockDiagram::Volume is `FALSE`<br>
+ StockDiagram::UpDown is `TRUE`
+ </strong>
+ <table border>
+ <tr><td><strong>Open</strong></td><td>Low</td><td>High</td><td>Close</td></tr>
+ <tr><td>...</td><td>...</td><td>...</td><td>...</td></tr>
+ </table></p>
+
+ <p><strong>
+ StockDiagram::Volume is `TRUE`<br>
+ StockDiagram::UpDown is `TRUE`
+ </strong>
+ <table border>
+ <tr><td><strong>Volume</strong></td><td><strong>Open</strong></td><td>Low</td><td>High</td><td>Close</td></tr>
+ <tr><td>...</td><td>...</td><td>...</td><td>...</td><td>...</td></tr>
+ </table></p>
+*/
+published service StockDiagram
+{
+ interface com::sun::star::chart::XStatisticDisplay;
+ service com::sun::star::chart::ChartStatistics;
+ service com::sun::star::chart::Diagram;
+ service com::sun::star::chart::ChartAxisXSupplier;
+ service com::sun::star::chart::ChartTwoAxisYSupplier;
+
+
+ /** indicates if a stock chart contains data representing the
+ volume of stocks.
+
+ <p>The values of the volume are represented as columns like
+ those of a BarDiagram.</p>
+
+ <p>If this property is set to `TRUE`, the values of the first
+ series of the chart data are interpreted as volume.</p>
+ */
+ [property] boolean Volume;
+
+
+ /** indicates if a stock chart contains data representing the
+ value of stocks on the opening and closing date.
+
+ <p>The difference will be indicated by bars. The color
+ of the bar will be significant for positive or negative
+ differences between open and closed data.</p>
+
+ <p>If this property is `FALSE`, the values of the first
+ series (or second if StockDiagram::Volume is
+ `TRUE`) of the chart data are interpreted as the day's lowest
+ value. The next series is interpreted as the day's highest
+ value, and the last series is interpreted as the closing
+ value.</p>
+
+ <p>If this property is set to `TRUE`, one additional series
+ is needed with the opening value of the stocks. It is assumed
+ as the series before the series with the day's lowest
+ value.</p>
+ */
+ [property] boolean UpDown;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/TimeIncrement.idl b/offapi/com/sun/star/chart/TimeIncrement.idl
new file mode 100644
index 000000000..acf05038a
--- /dev/null
+++ b/offapi/com/sun/star/chart/TimeIncrement.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_chart_TimeIncrement_idl
+#define com_sun_star_chart_TimeIncrement_idl
+
+#include <com/sun/star/chart/TimeInterval.idl>
+
+
+module com { module sun { module star { module chart {
+
+
+/** A TimeIncrement describes how tickmarks are positioned on the scale of a date-time axis.
+@since OOo 3.4
+*/
+published struct TimeIncrement
+{
+ /** if the any contains a struct of type ::com::sun::star::chart::TimeInterval
+ this is used as a fixed distance value for the major tickmarks. Otherwise, if the any is empty or contains an
+ incompatible type, the distance between major tickmarks is calculated automatically by the application.
+ */
+ any MajorTimeInterval;
+
+ /** if the any contains a struct of type ::com::sun::star::chart::TimeInterval
+ this is used as a fixed distance value for the minor tickmarks. Otherwise, if the any is empty or contains an
+ incompatible type, the distance between minor tickmarks is calculated automatically by the application.
+ */
+ any MinorTimeInterval;
+
+ /** if the any contains a constant of type ::com::sun::star::chart::TimeUnit
+ this is the smallest time unit that is displayed on the date-time axis.
+ Otherwise, if the any is empty or contains an incompatible type,
+ the resolution is chosen automatically by the application.
+ */
+ any TimeResolution;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/TimeInterval.idl b/offapi/com/sun/star/chart/TimeInterval.idl
new file mode 100644
index 000000000..28ef553ca
--- /dev/null
+++ b/offapi/com/sun/star/chart/TimeInterval.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_chart_TimeInterval_idl
+#define com_sun_star_chart_TimeInterval_idl
+
+#include <com/sun/star/chart/TimeUnit.idl>
+
+
+module com { module sun { module star { module chart {
+
+
+/** Describes an interval on a date-axis
+@since OOo 3.4
+*/
+published struct TimeInterval
+{
+ /** specifies the number of units
+ */
+ long Number;
+
+ /** specifies a unit for the interval
+ <p>is a value out of the constant group ::com::sun::star::chart::TimeUnit.</p>
+ */
+ long TimeUnit;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/TimeUnit.idl b/offapi/com/sun/star/chart/TimeUnit.idl
new file mode 100644
index 000000000..a0d359c69
--- /dev/null
+++ b/offapi/com/sun/star/chart/TimeUnit.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_chart_TimeUnit_idl__
+#define __com_sun_star_chart_TimeUnit_idl__
+
+
+ module com { module sun { module star { module chart {
+
+
+/** Specifies a unit for intervals on a date-time axis
+@since OOo 3.4
+ */
+published constants TimeUnit
+{
+ const long DAY = 0;
+ const long MONTH = 1;
+ const long YEAR = 2;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/X3DDefaultSetter.idl b/offapi/com/sun/star/chart/X3DDefaultSetter.idl
new file mode 100644
index 000000000..7ab263712
--- /dev/null
+++ b/offapi/com/sun/star/chart/X3DDefaultSetter.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_chart_X3DDefaultSetter_idl__
+#define __com_sun_star_chart_X3DDefaultSetter_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** makes it easy to set suitable defaults for illumination and rotation for 3D charts
+
+ @see Dim3DDiagram
+ */
+published interface X3DDefaultSetter : com::sun::star::uno::XInterface
+{
+ /** The result may depend on the current chart type and the current shade mode.
+ */
+ void set3DSettingsToDefault();
+
+ /** sets a suitable default for the rotation of the current 3D chart.
+ The result may depend on the current chart type.
+ */
+ void setDefaultRotation();
+
+ /** set suitable defaults for the illumination of the current 3D chart.
+ The result may dependent on other 3D settings as rotation or shade mode. It may depend on the current chart type also.
+ */
+ void setDefaultIllumination();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/X3DDisplay.idl b/offapi/com/sun/star/chart/X3DDisplay.idl
new file mode 100644
index 000000000..1048951a1
--- /dev/null
+++ b/offapi/com/sun/star/chart/X3DDisplay.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_chart_X3DDisplay_idl__
+#define __com_sun_star_chart_X3DDisplay_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** gives access to 3D elements of a three-dimensional chart.
+
+ @see Dim3DDiagram
+ */
+published interface X3DDisplay: com::sun::star::uno::XInterface
+{
+
+ /** @returns
+ the properties of the diagram wall(s).
+
+ <p>This specifies the properties of the two side walls of the
+ chart scene.</p>
+
+ <p>Note that this property is also valid for two-dimensional
+ diagrams. There the properties returned here affect the
+ background rectangle of the diagram.</p>
+
+ @see ChartArea
+ */
+ com::sun::star::beans::XPropertySet getWall();
+
+
+ /** @returns
+ the properties of the floor.
+
+ <p>This is only valid for three-dimensional diagrams.</p>
+
+ @see ChartArea
+ */
+ com::sun::star::beans::XPropertySet getFloor();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/XAxis.idl b/offapi/com/sun/star/chart/XAxis.idl
new file mode 100644
index 000000000..adb973a05
--- /dev/null
+++ b/offapi/com/sun/star/chart/XAxis.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_chart_XAxis_idl
+#define com_sun_star_chart_XAxis_idl
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+module com { module sun { module star { module chart {
+
+/** Allows easier access to the different subelements of an axis.
+@since OOo 3.4
+*/
+
+interface XAxis : ::com::sun::star::uno::XInterface
+{
+ /** @returns
+ the title of the axis. The returned object supports the properties described in service ChartTitle.
+ */
+ com::sun::star::beans::XPropertySet getAxisTitle();
+
+ /** @returns
+ the properties of the major grid of the axis. The returned object supports service ChartGrid.
+ */
+ com::sun::star::beans::XPropertySet getMajorGrid();
+
+ /** @returns
+ the properties of the minor grid of the axis. The returned object supports service ChartGrid.
+ */
+ com::sun::star::beans::XPropertySet getMinorGrid();
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/XAxisSupplier.idl b/offapi/com/sun/star/chart/XAxisSupplier.idl
new file mode 100644
index 000000000..c7858f401
--- /dev/null
+++ b/offapi/com/sun/star/chart/XAxisSupplier.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_chart_XAxisSupplier_idl
+#define com_sun_star_chart_XAxisSupplier_idl
+
+#include <com/sun/star/chart/XAxis.idl>
+
+module com { module sun { module star { module chart {
+
+/** Easier access to the different axes within a chart.
+@since OOo 3.4
+*/
+
+interface XAxisSupplier : ::com::sun::star::uno::XInterface
+{
+ /** @returns
+ the primary axis of the specified dimension. The returned object supports service ChartAxis.
+
+ @param nDimensionIndex
+ Parameter nDimensionIndex says whether it is a x, y or z-axis (0 for x).
+ */
+ com::sun::star::chart::XAxis getAxis( [in] long nDimensionIndex );
+
+ /** @returns
+ the secondary axis of the specified dimension. The returned object supports service ChartAxis.
+
+ @param nDimensionIndex
+ Parameter nDimensionIndex says whether it is a x, y or z-axis (0 for x).
+ */
+ com::sun::star::chart::XAxis getSecondaryAxis( [in] long nDimensionIndex );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/XAxisXSupplier.idl b/offapi/com/sun/star/chart/XAxisXSupplier.idl
new file mode 100644
index 000000000..113c409a4
--- /dev/null
+++ b/offapi/com/sun/star/chart/XAxisXSupplier.idl
@@ -0,0 +1,86 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_chart_XAxisXSupplier_idl__
+#define __com_sun_star_chart_XAxisXSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/drawing/XShape.idl>
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** gives access to the <i>x</i>-axis of a chart.
+
+ <p>Note that not all diagrams are capable of displaying an
+ <i>x</i>-axis, e.g., the PieDiagram.</p>
+
+ @see XDiagram
+ */
+published interface XAxisXSupplier: com::sun::star::uno::XInterface
+{
+
+ /** @returns
+ the <i>x</i>-axis title shape.
+
+ @see ChartTitle
+ */
+ com::sun::star::drawing::XShape getXAxisTitle();
+
+
+ /** @returns
+ the properties of the <i>x</i>-axis of the diagram.
+
+ <p>The returned property set contains scaling properties as
+ well as formatting properties.</p>
+
+ @see ChartAxis
+ */
+ com::sun::star::beans::XPropertySet getXAxis();
+
+
+ /** @returns
+ the properties of the main grid (major grid) of the
+ <i>x</i>-axis of the diagram.
+
+ @see ChartGrid
+ */
+ com::sun::star::beans::XPropertySet getXMainGrid();
+
+
+ /** @returns
+ the properties of the help grid (minor grid) of the
+ <i>x</i>-axis of the diagram.
+
+ @see ChartGrid
+ */
+ com::sun::star::beans::XPropertySet getXHelpGrid();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/XAxisYSupplier.idl b/offapi/com/sun/star/chart/XAxisYSupplier.idl
new file mode 100644
index 000000000..9e2e14ff5
--- /dev/null
+++ b/offapi/com/sun/star/chart/XAxisYSupplier.idl
@@ -0,0 +1,86 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_chart_XAxisYSupplier_idl__
+#define __com_sun_star_chart_XAxisYSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/drawing/XShape.idl>
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** gives access to the <i>y</i>-axis of a chart.
+
+ <p>Note that not all diagrams are capable of displaying a
+ <i>y</i>-axis, e.g., the PieDiagram.</p>
+
+ @see XDiagram
+ */
+published interface XAxisYSupplier: com::sun::star::uno::XInterface
+{
+
+ /** @returns
+ the <i>y</i>-axis title shape.
+
+ @see ChartTitle
+ */
+ com::sun::star::drawing::XShape getYAxisTitle();
+
+
+ /** @returns
+ the properties of the <i>y</i>-axis of the diagram.
+
+ <p>The returned property set contains scaling properties as
+ well as formatting properties.</p>
+
+ @see ChartAxis
+ */
+ com::sun::star::beans::XPropertySet getYAxis();
+
+
+ /** @returns
+ the properties of the help grid (minor grid) of the
+ <i>y</i>-axis of the diagram.
+
+ @see ChartGrid
+ */
+ com::sun::star::beans::XPropertySet getYHelpGrid();
+
+
+ /** @returns
+ the properties of the main grid (major grid) of the
+ <i>y</i>-axis of the diagram.
+
+ @see ChartGrid
+ */
+ com::sun::star::beans::XPropertySet getYMainGrid();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/XAxisZSupplier.idl b/offapi/com/sun/star/chart/XAxisZSupplier.idl
new file mode 100644
index 000000000..edd9f5db0
--- /dev/null
+++ b/offapi/com/sun/star/chart/XAxisZSupplier.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_chart_XAxisZSupplier_idl__
+#define __com_sun_star_chart_XAxisZSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/drawing/XShape.idl>
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** gives access to the <i>z</i>-axis of a chart.
+
+ @see XDiagram
+ */
+published interface XAxisZSupplier: com::sun::star::uno::XInterface
+{
+
+ /** @returns
+ the <i>z</i>-axis title shape.
+
+ @see ChartTitle
+ */
+ com::sun::star::drawing::XShape getZAxisTitle();
+
+
+ /** @returns
+ the properties of the main grid (major grid) of the
+ <i>z</i>-axis of the diagram.
+
+ @see ChartGrid
+ */
+ com::sun::star::beans::XPropertySet getZMainGrid();
+
+
+ /** @returns
+ the properties of the help grid (minor grid) of the
+ <i>z</i>-axis of the diagram.
+
+ @see ChartGrid
+ */
+ com::sun::star::beans::XPropertySet getZHelpGrid();
+
+
+ /** @returns
+ the properties of the <i>z</i>-axis of the diagram.
+
+ <p>The returned property set contains scaling properties as
+ well as formatting properties.</p>
+
+ @see ChartAxis
+ */
+ com::sun::star::beans::XPropertySet getZAxis();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/XChartData.idl b/offapi/com/sun/star/chart/XChartData.idl
new file mode 100644
index 000000000..0ce2e1002
--- /dev/null
+++ b/offapi/com/sun/star/chart/XChartData.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_chart_XChartData_idl__
+#define __com_sun_star_chart_XChartData_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/chart/XChartDataChangeEventListener.idl>
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** manages the data of the chart.
+
+ @see XChartDocument
+ */
+published interface XChartData: com::sun::star::uno::XInterface
+{
+
+ /** allows a component supporting the
+ XChartDataChangeEventListener interface to
+ register as listener. The component will be notified with a
+ ChartDataChangeEvent every time the chart's data
+ changes.</p>
+
+ @param aListener
+ the component that is to be added as listener
+
+ @see XChartDataChangeEventListener
+ @see ChartDataChangeEvent
+ */
+ void addChartDataChangeEventListener( [in] com::sun::star::chart::XChartDataChangeEventListener aListener );
+
+
+ /** removes a previously registered listener.
+
+ @param aListener
+ the component that is to be removed
+ */
+ void removeChartDataChangeEventListener( [in] com::sun::star::chart::XChartDataChangeEventListener aListener );
+
+
+ /** @returns
+ the value which is to be used as an indicator for a
+ missing value in the data.
+
+ <p>In IEEE arithmetic format it is one of the NaN values, so
+ there are no conflicts with existing numeric values.</p>
+ */
+ double getNotANumber();
+
+
+ /** checks whether the value given is equal to the indicator value
+ for a missing value.
+
+ <p>In IEEE arithmetic format it is one of the NaN values, so
+ there are no conflicts with existing numeric values.</p>
+
+ <p>Always use this method to check, if a value is <em>not a
+ number</em>. If you compare the value returned by
+ XChartData::getNotANumber() to another double
+ value using the = operator, you may not get the desired
+ result!</p>
+
+ @returns
+ `TRUE` if the number given is interpreted by the chart as
+ a missing value.
+
+ @param nNumber
+ the number that you want to check for validity.
+ */
+ boolean isNotANumber( [in] double nNumber );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/XChartDataArray.idl b/offapi/com/sun/star/chart/XChartDataArray.idl
new file mode 100644
index 000000000..9764c85bd
--- /dev/null
+++ b/offapi/com/sun/star/chart/XChartDataArray.idl
@@ -0,0 +1,97 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_chart_XChartDataArray_idl__
+#define __com_sun_star_chart_XChartDataArray_idl__
+
+#include <com/sun/star/chart/XChartData.idl>
+
+
+ module com { module sun { module star { module chart {
+
+
+/** gives access to data represented as an array of rows.
+
+ <p>Can be obtained from interface XChartDocument via method getData().</p>
+
+ <p>If used for an XYDiagram, the row number 0
+ represents the <i>x</i>-values.</p>
+ */
+published interface XChartDataArray: XChartData
+{
+
+ /** retrieves the numerical data as a nested sequence of values.
+
+ @returns
+ the values as a sequence of sequences. The inner sequence
+ represents rows.
+ */
+ sequence< sequence< double > > getData();
+
+
+ /** sets the chart data as an array of numbers.
+
+ @param aData
+ the values as a sequence of sequences. The inner sequence
+ represents rows.
+ */
+ void setData( [in] sequence< sequence< double > > aData );
+
+
+ /** retrieves the description texts for all rows.
+
+ @returns
+ a sequence of strings, each representing the description
+ of a row.
+ */
+ sequence< string > getRowDescriptions();
+
+
+ /** sets the description texts for all rows.
+
+ @param aRowDescriptions
+ a sequence of strings which represent a description for
+ each row.
+ */
+ void setRowDescriptions( [in] sequence< string > aRowDescriptions );
+
+
+ /** retrieves the description texts for all columns.
+
+ @returns
+ a sequence of strings, each representing the description
+ of a column.
+ */
+ sequence< string > getColumnDescriptions();
+
+
+ /** sets the description texts for all columns.
+
+ @param aColumnDescriptions
+ a sequence of strings which represent a description for
+ each column.
+ */
+ void setColumnDescriptions( [in] sequence< string > aColumnDescriptions );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/XChartDataChangeEventListener.idl b/offapi/com/sun/star/chart/XChartDataChangeEventListener.idl
new file mode 100644
index 000000000..d1899ca3f
--- /dev/null
+++ b/offapi/com/sun/star/chart/XChartDataChangeEventListener.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_chart_XChartDataChangeEventListener_idl__
+#define __com_sun_star_chart_XChartDataChangeEventListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+
+#include <com/sun/star/chart/ChartDataChangeEvent.idl>
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** makes it possible to receive events when chart data changes.
+ */
+published interface XChartDataChangeEventListener: com::sun::star::lang::XEventListener
+{
+
+ /** is called whenever chart data changes in value or structure.
+
+ <p>This interface must be implemented by components that wish
+ to get notified of changes in chart data. They can be
+ registered at an XChartData component.</p>
+
+ @param aEvent
+ the event that gives further information on what changed.
+
+ @see ChartDataChangeEvent
+ @see XChartData
+ */
+ void chartDataChanged( [in] com::sun::star::chart::ChartDataChangeEvent aEvent );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/XChartDocument.idl b/offapi/com/sun/star/chart/XChartDocument.idl
new file mode 100644
index 000000000..c29cc1722
--- /dev/null
+++ b/offapi/com/sun/star/chart/XChartDocument.idl
@@ -0,0 +1,160 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_chart_XChartDocument_idl__
+#define __com_sun_star_chart_XChartDocument_idl__
+
+#include <com/sun/star/frame/XModel.idl>
+
+#include <com/sun/star/drawing/XShape.idl>
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+#include <com/sun/star/chart/XDiagram.idl>
+
+#include <com/sun/star/chart/XChartData.idl>
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** manages the chart document.
+
+ @see XDiagram
+ @see XChartData
+ */
+published interface XChartDocument: com::sun::star::frame::XModel
+{
+
+ /** @returns
+ the shape of the main title of the chart document.
+
+ @see ChartTitle
+ */
+ com::sun::star::drawing::XShape getTitle();
+
+
+ /** @returns
+ the shape of the subtitle of the chart document.
+
+ <p>Usually the subtitle is smaller than the main title by
+ default. And it is most commonly placed below the main title
+ by default.</p>
+
+ @see ChartTitle
+ */
+ com::sun::star::drawing::XShape getSubTitle();
+
+
+ /** @returns
+ the shape of the legend of the chart document.
+
+ @see ChartLegend
+ */
+ com::sun::star::drawing::XShape getLegend();
+
+
+ /** @returns
+ the properties of the background area of the chart document.
+
+ <p>The area's extent is equal to the document size. If you
+ want to access properties of the background area of the
+ diagram, in which the actual data is represented, you have to
+ change the chart wall which you get from the
+ X3DDisplay.</p>
+
+ @see ChartArea
+ @see X3DDisplay
+ */
+ com::sun::star::beans::XPropertySet getArea();
+
+
+ /** @returns
+ the diagram of the chart document.
+
+ @see Diagram
+ */
+ com::sun::star::chart::XDiagram getDiagram();
+
+
+ /** sets the diagram for the chart document.
+
+ <p>Setting a new diagram implicitly disposes the previous
+ diagram.</p>
+
+ @param xDiagram
+ the new diagram that should be set for the chart. To
+ create such a diagram component, you can use the
+ com::sun::star::lang::XMultiServiceFactory,
+ which should be implemented by an
+ XChartDocument.
+ */
+ void setDiagram( [in] com::sun::star::chart::XDiagram xDiagram );
+
+
+ /** @returns
+ the data of the chart.
+
+ <p>The returned object supports interface XChartDataArray
+ which can be used to access the concrete data.</p>
+
+ <p>Since OOo 3.3 the returned object also supports interface XComplexDescriptionAccess
+ which can be used to access complex hierarchical axis descriptions.</p>
+
+ <p>Since OOo 3.4 the returned object also supports interface XDateCategories.</p>
+
+ @see XChartData
+ @see XChartDataArray
+ @see XComplexDescriptionAccess
+ @see XDateCategories
+ */
+ com::sun::star::chart::XChartData getData();
+
+
+ /** attaches data to the chart.
+
+ <p>The given object needs to support interface XChartDataArray.</p>
+
+ <p>Since OOo 3.3 if the given object might support interface XComplexDescriptionAccess
+ which allows to set complex hierarchical axis descriptions.</p>
+
+ <p>Since OOo 3.4 if the given object might support interface XDateCategories
+ which allows to set date values as x values for category charts.</p>
+
+ <p>The given data is copied before it is applied to the chart.
+ So changing xData after this call will have no effect on the chart.</p>
+
+ @see XChartData
+ @see XChartDataArray
+ @see XComplexDescriptionAccess
+ @see XDateCategories
+
+ @param xData
+ the object that provides the new data.
+ */
+ void attachData( [in] com::sun::star::chart::XChartData xData );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/XComplexDescriptionAccess.idl b/offapi/com/sun/star/chart/XComplexDescriptionAccess.idl
new file mode 100644
index 000000000..80c33ba6d
--- /dev/null
+++ b/offapi/com/sun/star/chart/XComplexDescriptionAccess.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_chart_XComplexDescriptionAccess_idl__
+#define __com_sun_star_chart_XComplexDescriptionAccess_idl__
+
+#include <com/sun/star/chart/XChartDataArray.idl>
+
+
+ module com { module sun { module star { module chart {
+
+
+/** Offers access to complex column and row descriptions.
+
+<p>Can be obtained from interface XChartDocument via method getData().</p>
+
+@since OOo 3.3
+*/
+
+published interface XComplexDescriptionAccess : XChartDataArray
+{
+
+ /** retrieves the description texts for all rows.
+
+ @returns
+ a sequence of sequences of strings representing the descriptions
+ of all rows. The outer index represents different rows.
+ The inner index represents the different levels (usually there is only one).
+ */
+ sequence< sequence< string > > getComplexRowDescriptions();
+
+
+ /** sets the description texts for all rows.
+
+ @param rRowDescriptions
+ a sequence of sequences of strings representing the descriptions of all
+ rows. The outer index represents different rows.
+ The inner index represents the different levels (usually there is only one).
+ */
+ void setComplexRowDescriptions( [in] sequence< sequence< string > > rRowDescriptions );
+
+
+ /** retrieves the description texts for all columns.
+
+ @returns
+ a sequence of sequences of strings representing the descriptions
+ of all columns. The outer index represents different columns.
+ The inner index represents the different levels (usually there is only one).
+ */
+ sequence< sequence< string > > getComplexColumnDescriptions();
+
+
+ /** sets the description texts for all columns.
+
+ @param rColumnDescriptions
+ a sequence of sequences of strings which represent the descriptions of
+ all columns. The outer index represents different columns.
+ The inner index represents the different levels (usually there is only one).
+ */
+ void setComplexColumnDescriptions( [in] sequence< sequence< string > > rColumnDescriptions );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/XDateCategories.idl b/offapi/com/sun/star/chart/XDateCategories.idl
new file mode 100644
index 000000000..fa81062aa
--- /dev/null
+++ b/offapi/com/sun/star/chart/XDateCategories.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_chart_XDateCategories_idl__
+#define __com_sun_star_chart_XDateCategories_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+ module com { module sun { module star { module chart {
+
+
+/** Allows to set date values as categories.
+
+<p>Can be obtained from interface XChartDocument via method getData().</p>
+
+@since OOo 3.4
+*/
+
+published interface XDateCategories
+{
+
+ /** sets dates as categories
+
+ @param rDates
+ a sequence of sequences of doubles representing dates.
+ */
+ void setDateCategories( [in] sequence< double > rDates );
+
+
+ /** retrieves the date values if the category x-axis id a date axis
+
+ @returns
+ a sequence of doubles representing dates.
+ */
+ sequence< double > getDateCategories();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/XDiagram.idl b/offapi/com/sun/star/chart/XDiagram.idl
new file mode 100644
index 000000000..998fff50b
--- /dev/null
+++ b/offapi/com/sun/star/chart/XDiagram.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_chart_XDiagram_idl__
+#define __com_sun_star_chart_XDiagram_idl__
+
+#include <com/sun/star/drawing/XShape.idl>
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+
+
+ module com { module sun { module star { module chart {
+
+
+/** manages the diagram of the chart document.
+
+ @see XChartDocument
+ */
+published interface XDiagram: com::sun::star::drawing::XShape
+{
+
+ /** @returns
+ a string representing the diagram type. This string
+ contains the fully qualified name of the corresponding
+ service.
+ */
+ string getDiagramType();
+
+
+ /** @returns
+ the properties of the specified data row (series).
+
+ @param nRow
+ the index of the series (0-based)
+
+ @see ChartDataRowProperties
+ */
+ com::sun::star::beans::XPropertySet getDataRowProperties( [in] long nRow )
+ raises( com::sun::star::lang::IndexOutOfBoundsException );
+
+
+ /** @returns
+ the properties of the specified data point.
+
+ @param nCol
+ the index of the data point of a series (0-based).
+ @param nRow
+ the index of a series (0-based).
+
+ @see ChartDataPointProperties
+ */
+ com::sun::star::beans::XPropertySet getDataPointProperties( [in] long nCol,
+ [in] long nRow )
+ raises( com::sun::star::lang::IndexOutOfBoundsException );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/XDiagramPositioning.idl b/offapi/com/sun/star/chart/XDiagramPositioning.idl
new file mode 100644
index 000000000..401b0ab53
--- /dev/null
+++ b/offapi/com/sun/star/chart/XDiagramPositioning.idl
@@ -0,0 +1,91 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_chart_XDiagramPositioning_idl__
+#define __com_sun_star_chart_XDiagramPositioning_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/awt/Rectangle.idl>
+
+
+ module com { module sun { module star { module chart {
+
+
+/** allow for different positioning options for a diagram
+
+ @see Diagram
+ */
+interface XDiagramPositioning : com::sun::star::uno::XInterface
+{
+ /** the diagram will be placed automatically
+ */
+ void setAutomaticDiagramPositioning();
+
+ /** @returns whether the diagram is placed automatically
+ */
+ boolean isAutomaticDiagramPositioning();
+
+ /** place the inner diagram part excluding any axes, labels and titles
+ @param PositionRect
+ specifies the position and size in 100/th mm
+ */
+ void setDiagramPositionExcludingAxes( [in] com::sun::star::awt::Rectangle PositionRect );
+
+ /** @returns true in case the diagram position was set with method setDiagramPositionExcludingAxes
+ */
+ boolean isExcludingDiagramPositioning();
+
+ /** @returns the position rectangle of the inner diagram part excluding any axes, labels and titles.
+ Position and size are given in 100/th mm.
+ It might be necessary to calculate the positioning so this method can be expensive and the result may depend on different other settings.
+ */
+ com::sun::star::awt::Rectangle calculateDiagramPositionExcludingAxes();
+
+
+ /** place the outer diagram part including the axes and axes labels, but excluding the axes titles.
+ @param PositionRect
+ specifies the position and size in 100/th mm
+ */
+ void setDiagramPositionIncludingAxes( [in] com::sun::star::awt::Rectangle PositionRect );
+
+ /** @returns the position rectangle of the diagram including the axes and axes labels, but excluding the axes titles.
+ Position and size are given in 100/th mm.
+ It might be necessary to calculate the positioning so this method can be expensive and the result may depend on different other settings.
+ */
+ com::sun::star::awt::Rectangle calculateDiagramPositionIncludingAxes();
+
+ /** place the diagram including the axes, axes labels and axes titles.
+ For the placement the current axis titles are taken into account, so the titles must be initialized properly before this method is called.
+ @param PositionRect
+ specifies the position and size in 100/th mm
+ */
+ void setDiagramPositionIncludingAxesAndAxisTitles( [in] com::sun::star::awt::Rectangle PositionRect );
+
+ /** @returns the position rectangle of the diagram including the axes, axes labels and axes titles.
+ Position and size are given in 100/th mm.
+ It might be necessary to calculate the positioning so this method can be expensive and the result may depend on different other settings.
+ */
+ com::sun::star::awt::Rectangle calculateDiagramPositionIncludingAxesAndAxisTitles();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/XSecondAxisTitleSupplier.idl b/offapi/com/sun/star/chart/XSecondAxisTitleSupplier.idl
new file mode 100644
index 000000000..a17a02841
--- /dev/null
+++ b/offapi/com/sun/star/chart/XSecondAxisTitleSupplier.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_chart_XSecondAxisTitleSupplier_idl__
+#define __com_sun_star_chart_XSecondAxisTitleSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/drawing/XShape.idl>
+
+
+module com { module sun { module star { module chart {
+
+interface XSecondAxisTitleSupplier: com::sun::star::uno::XInterface
+{
+ com::sun::star::drawing::XShape getSecondXAxisTitle();
+
+ com::sun::star::drawing::XShape getSecondYAxisTitle();
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/XStatisticDisplay.idl b/offapi/com/sun/star/chart/XStatisticDisplay.idl
new file mode 100644
index 000000000..63dfe054b
--- /dev/null
+++ b/offapi/com/sun/star/chart/XStatisticDisplay.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_chart_XStatisticDisplay_idl__
+#define __com_sun_star_chart_XStatisticDisplay_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** gives access to statistical elements for the chart.
+
+ <p>Statistical elements are used by a
+ StockDiagram.</p>
+
+ @see XChartDocument
+ @see StockDiagram
+ */
+published interface XStatisticDisplay: com::sun::star::uno::XInterface
+{
+
+ /** @returns
+ the properties of the up bars of a stock chart which has
+ StockDiagram::UpDown set to `TRUE`.
+
+ <p>The <em>UpBar</em> is the box that is drawn between the
+ open and close value of a stock, when the closing value is
+ above the opening value, i.e., the stock price rose.</p>
+
+ @see ChartArea
+ */
+ com::sun::star::beans::XPropertySet getUpBar();
+
+
+ /** @returns
+ the properties of the down bars of a stock chart which has
+ StockDiagram::UpDown set to `TRUE`.
+
+ <p>The <em>DownBar</em> is the box that is drawn between the
+ open and close value of a stock, when the closing value is
+ below the opening value, i.e., the stock price fell.</p>
+
+ @see ChartArea
+ */
+ com::sun::star::beans::XPropertySet getDownBar();
+
+
+ /** @returns
+ the properties of the lines that are drawn between the
+ lowest and highest stock value during a day.
+
+ @see ChartLine
+ */
+ com::sun::star::beans::XPropertySet getMinMaxLine();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/XTwoAxisXSupplier.idl b/offapi/com/sun/star/chart/XTwoAxisXSupplier.idl
new file mode 100644
index 000000000..de3fa8bb9
--- /dev/null
+++ b/offapi/com/sun/star/chart/XTwoAxisXSupplier.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_chart_XTwoAxisXSupplier_idl__
+#define __com_sun_star_chart_XTwoAxisXSupplier_idl__
+
+#include <com/sun/star/chart/XAxisXSupplier.idl>
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** gives access to both the primary and the secondary <i>x</i>-axis
+ of a chart.
+
+ @see XDiagram
+ */
+published interface XTwoAxisXSupplier: com::sun::star::chart::XAxisXSupplier
+{
+
+ /** @returns
+ the properties of the secondary <i>x</i>-axis of the
+ diagram.
+
+ <p>The returned property set contains scaling properties as
+ well as formatting properties.</p>
+
+ @see ChartAxis
+ */
+ com::sun::star::beans::XPropertySet getSecondaryXAxis();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/XTwoAxisYSupplier.idl b/offapi/com/sun/star/chart/XTwoAxisYSupplier.idl
new file mode 100644
index 000000000..f85718155
--- /dev/null
+++ b/offapi/com/sun/star/chart/XTwoAxisYSupplier.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_chart_XTwoAxisYSupplier_idl__
+#define __com_sun_star_chart_XTwoAxisYSupplier_idl__
+
+#include <com/sun/star/chart/XAxisYSupplier.idl>
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** gives access to both the primary and the secondary y-axis of a diagram.@see XChartDocument
+ */
+published interface XTwoAxisYSupplier: com::sun::star::chart::XAxisYSupplier
+{
+
+ /** @returns
+ the properties of the secondary <i>y</i>-axis of the
+ diagram.
+
+ <p>The returned property set contains scaling properties as
+ well as formatting properties.</p>
+
+ @see ChartAxis
+ */
+ com::sun::star::beans::XPropertySet getSecondaryYAxis();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/XYDiagram.idl b/offapi/com/sun/star/chart/XYDiagram.idl
new file mode 100644
index 000000000..8ee35ba14
--- /dev/null
+++ b/offapi/com/sun/star/chart/XYDiagram.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_chart_XYDiagram_idl__
+#define __com_sun_star_chart_XYDiagram_idl__
+
+#include <com/sun/star/chart/Diagram.idl>
+
+#include <com/sun/star/chart/ChartStatistics.idl>
+
+#include <com/sun/star/chart/ChartAxisXSupplier.idl>
+
+#include <com/sun/star/chart/ChartTwoAxisYSupplier.idl>
+
+#include <com/sun/star/chart/LineDiagram.idl>
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** a service for X/Y diagrams (Also known as scatter charts).
+
+ <p>The special thing about X/Y diagrams is that the first series
+ of data contains <i>x</i>-values. The other series contain
+ <i>y</i>-values. Together both form two-dimensional coordinates,
+ at which data points are placed.</p>
+ */
+published service XYDiagram
+{
+ service com::sun::star::chart::Diagram;
+ service com::sun::star::chart::ChartStatistics;
+ service com::sun::star::chart::ChartAxisXSupplier;
+ service com::sun::star::chart::ChartTwoAxisYSupplier;
+ service com::sun::star::chart::LineDiagram;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/Axis.idl b/offapi/com/sun/star/chart2/Axis.idl
new file mode 100644
index 000000000..678d9a9a5
--- /dev/null
+++ b/offapi/com/sun/star/chart2/Axis.idl
@@ -0,0 +1,159 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef com_sun_star_chart2_Axis_idl
+#define com_sun_star_chart2_Axis_idl
+
+#include <com/sun/star/beans/PropertySet.idl>
+#include <com/sun/star/awt/Size.idl>
+#include <com/sun/star/chart/ChartAxisArrangeOrderType.idl>
+#include <com/sun/star/chart/ChartAxisPosition.idl>
+#include <com/sun/star/chart/ChartAxisLabelPosition.idl>
+#include <com/sun/star/chart/ChartAxisMarkPosition.idl>
+#include <com/sun/star/chart2/XAxis.idl>
+#include <com/sun/star/chart2/XTitled.idl>
+#include <com/sun/star/drawing/LineProperties.idl>
+#include <com/sun/star/style/CharacterProperties.idl>
+#include <com/sun/star/style/CharacterPropertiesAsian.idl>
+#include <com/sun/star/style/CharacterPropertiesComplex.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+service Axis
+{
+ service ::com::sun::star::drawing::LineProperties;
+
+ service ::com::sun::star::style::CharacterProperties;
+ service ::com::sun::star::beans::PropertySet;
+ [optional] service ::com::sun::star::style::CharacterPropertiesAsian;
+ [optional] service ::com::sun::star::style::CharacterPropertiesComplex;
+
+ interface ::com::sun::star::chart2::XAxis;
+ [optional] interface ::com::sun::star::chart2::XTitled;
+
+ /** Determines, whether the axis should be rendered by the view.
+ */
+ [property] boolean Show;
+
+ /** Determines where the axis crosses the other axis.
+ */
+ [optional, property] com::sun::star::chart::ChartAxisPosition CrossoverPosition;
+
+ /** Determines the scale value on the other axis when CrossoverPosition is set to VALUE.
+ */
+ [optional, property] double CrossoverValue;
+
+ /** Determines whether to display text at the axis or not.
+ */
+ [property] boolean DisplayLabels;
+
+ /** Determines where the axis labels are placed.
+ */
+ [optional, property] com::sun::star::chart::ChartAxisLabelPosition LabelPosition;
+
+ /** Determines how to stagger the labels at the axis (side by side, even, odd, auto )
+ */
+ [property] ::com::sun::star::chart::ChartAxisArrangeOrderType ArrangeOrder;
+
+ /** Determines whether the labels are allowed to break into more than one line
+ */
+ [property] boolean TextBreak;
+
+ /** Determines whether the labels are allowed to overlap
+ */
+ [property] boolean TextOverlap;
+
+ /** Determines whether the characters in a single labels should be stacked one upon each other
+ */
+ [property] boolean StackCharacters;
+
+ /** Determines the rotation of the text labels in degrees
+ */
+ [property] double TextRotation;
+
+ /** A NumberFormat key.
+
+ <p>If this property is not set, it is treated as auto. This
+ means linked to the source format.</p>
+
+ <p>To determine a source format, the axis can query the
+ XDataSequences used by the data series attached
+ to it (see XDataSequence::getNumberFormatKeyByIndex()).
+ </p>
+ */
+ [property, maybevoid] long NumberFormat;
+
+ [property] ::com::sun::star::awt::Size ReferencePageSize;
+
+ /** determines what kind of tickmarks should be shown for major ticks.
+
+ @see TickmarkStyle.
+ */
+ [property] long MajorTickmarks;
+
+ /** determines what kind of tickmarks should be shown for minor ticks.
+
+ @see TickmarkStyle.
+ */
+ [property] long MinorTickmarks;
+
+ /** Determines where the interval marks are placed.
+ */
+ [optional, property] com::sun::star::chart::ChartAxisMarkPosition MarkPosition;
+
+ /** Determines display units are available for axis
+
+ @since LibreOffice 4.3
+ */
+ [optional, property] boolean DisplayUnits;
+
+ /** Determines built in display unit value for axis
+
+ @since LibreOffice 4.3
+ */
+ [optional, property] string BuiltInUnit;
+
+ /** Compatibility option: determines which strategy should be tried first for fixing axis labels overlapping issues
+
+ @since LibreOffice 5.1
+ */
+ [optional, property] boolean TryStaggeringFirst;
+
+ /** This attribute specifies the shift of the first major tick from the origin.
+
+ @since LibreOffice 7.0
+ */
+ [optional, property] long MajorOrigin;
+
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/AxisOrientation.idl b/offapi/com/sun/star/chart2/AxisOrientation.idl
new file mode 100644
index 000000000..a37c8e828
--- /dev/null
+++ b/offapi/com/sun/star/chart2/AxisOrientation.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_chart2_AxisOrientation_idl
+#define com_sun_star_chart2_AxisOrientation_idl
+
+
+module com { module sun { module star { module chart2 {
+
+
+enum AxisOrientation
+{
+ /** means equal to the primary writing direction
+ */
+ MATHEMATICAL,
+
+ /** means the opposite of the primary writing direction
+ */
+ REVERSE
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/AxisType.idl b/offapi/com/sun/star/chart2/AxisType.idl
new file mode 100644
index 000000000..291e38015
--- /dev/null
+++ b/offapi/com/sun/star/chart2/AxisType.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_chart2_AxisType_idl
+#define com_sun_star_chart2_AxisType_idl
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+constants AxisType
+{
+ /** the axis represent real numbers
+ */
+ const long REALNUMBER = 0;
+ /** the axis represent real numbers in percent
+ */
+ const long PERCENT = 1;
+ /** the axis represent discrete categories
+ */
+ const long CATEGORY = 2;
+ /** the axis shows the series names (z axis)
+ */
+ const long SERIES = 3;
+ /** the axis shows dates
+ */
+ const long DATE = 4;
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/CandleStickChartType.idl b/offapi/com/sun/star/chart2/CandleStickChartType.idl
new file mode 100644
index 000000000..4399bc440
--- /dev/null
+++ b/offapi/com/sun/star/chart2/CandleStickChartType.idl
@@ -0,0 +1,113 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef com_sun_star_chart2_CandleStickChartType_idl
+#define com_sun_star_chart2_CandleStickChartType_idl
+
+#include <com/sun/star/chart2/ChartType.idl>
+#include <com/sun/star/beans/PropertySet.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+/** chart type service for candlestick charts.
+ */
+service CandleStickChartType
+{
+ /** The base service describing generic chart types.
+ */
+ service ChartType;
+
+ /** If this property is `TRUE`, the candlesticks are shown as
+ Japanese candlesticks. This implies that the property
+ #ShowFirst is also `TRUE`.
+
+ <p>Japanese candlesticks show the first and last value as
+ boxes. A rising course (i.e. if the last value is greater
+ than the first one) is shown by a white box. A falling course
+ is shown by a black box.</p>
+
+ <p>Default is `FALSE`.</p>
+
+ @see WhiteDay
+ @see BlackDay
+ */
+ [maybedefault, property] boolean Japanese;
+
+ /** If the candlestick chart shows Japanese candlesticks, that is
+ the property #Japanese is `TRUE`, the
+ property set given here contains the formatting attributes of
+ the white boxes, i.e. the boxes shown for rising values.</p>
+
+ <p>The com::sun::star::beans::XPropertySet
+ given here must support the services
+ com::sun::star::drawing::FillProperties
+ and
+ com::sun::star::drawing::LineProperties.</p>
+ */
+ [maybevoid, property] com::sun::star::beans::XPropertySet WhiteDay;
+
+ /** If the candlestick chart shows Japanese candlesticks, that is
+ the property #Japanese is `TRUE`, the
+ property set given here contains the formatting attributes of
+ the black boxes, i.e. the boxes shown for falling values.</p>
+
+ <p>The com::sun::star::beans::XPropertySet
+ given here must support the services
+ com::sun::star::drawing::FillProperties
+ and
+ com::sun::star::drawing::LineProperties.</p>
+ */
+ [maybevoid, property] com::sun::star::beans::XPropertySet BlackDay;
+
+ /** If this property is `TRUE`, the first value (which would be
+ the opening course in a stock chart) is shown in the chart.
+ This also makes the role "values-first" mandatory.
+
+ <p>This property is only evaluated for non-Japanese
+ candlestick charts, as Japanese candlesticks always require to
+ show the first value.</p>
+
+ <p>Default is `FALSE`.</p>
+ */
+ [maybedefault, property] boolean ShowFirst;
+
+ /** If this property is `TRUE`, the low and high values are shown
+ in the chart. This also makes the roles "values-min" and
+ "values-max" mandatory.
+
+ <p>Default is `TRUE`.</p>
+ */
+ [maybedefault, property] boolean ShowHighLow;
+};
+
+} ; // chart2
+} ; // star
+} ; // sun
+} ; // com
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/CartesianCoordinateSystem2d.idl b/offapi/com/sun/star/chart2/CartesianCoordinateSystem2d.idl
new file mode 100644
index 000000000..c547575bf
--- /dev/null
+++ b/offapi/com/sun/star/chart2/CartesianCoordinateSystem2d.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef com_sun_star_chart2_CartesianCoordinateSystem2d_idl
+#define com_sun_star_chart2_CartesianCoordinateSystem2d_idl
+
+#include <com/sun/star/chart2/XCoordinateSystem.idl>
+
+module com { module sun { module star { module chart2 {
+
+/**
+ @since LibreOffice 4.1
+ */
+service CartesianCoordinateSystem2d : XCoordinateSystem;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/CartesianCoordinateSystem3d.idl b/offapi/com/sun/star/chart2/CartesianCoordinateSystem3d.idl
new file mode 100644
index 000000000..05f475220
--- /dev/null
+++ b/offapi/com/sun/star/chart2/CartesianCoordinateSystem3d.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef com_sun_star_chart2_CartesianCoordinateSystem3d_idl
+#define com_sun_star_chart2_CartesianCoordinateSystem3d_idl
+
+#include <com/sun/star/chart2/XCoordinateSystem.idl>
+
+module com { module sun { module star { module chart2 {
+
+/**
+ @since LibreOffice 4.1
+ */
+service CartesianCoordinateSystem3d : XCoordinateSystem;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/ChartDocument.idl b/offapi/com/sun/star/chart2/ChartDocument.idl
new file mode 100644
index 000000000..8d98c205c
--- /dev/null
+++ b/offapi/com/sun/star/chart2/ChartDocument.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_chart2_ChartDocument_idl
+#define com_sun_star_chart2_ChartDocument_idl
+
+#include <com/sun/star/style/XStyleFamiliesSupplier.idl>
+#include <com/sun/star/util/XNumberFormatsSupplier.idl>
+#include <com/sun/star/chart2/XChartDocument.idl>
+#include <com/sun/star/chart2/data/XDataReceiver.idl>
+#include <com/sun/star/chart2/XTitled.idl>
+#include <com/sun/star/lang/XInitialization.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+service ChartDocument
+{
+ /** this interface is derived from
+ com::sun::star::frame::XModel. Thus model
+ functionality is available via this interface.
+ */
+ interface XChartDocument;
+
+ /** offers connection to data
+ */
+ interface data::XDataReceiver;
+
+ /** gives access to the main title of a chart document
+ */
+ interface XTitled;
+
+ /** maintains all style families applying to any object in the
+ chart.
+ */
+ interface ::com::sun::star::style::XStyleFamiliesSupplier;
+
+ /** maintains all number formats used anywhere in the chart.
+ */
+ interface ::com::sun::star::util::XNumberFormatsSupplier;
+
+ /** Allows passing arguments to createInstanceWithArguments.
+
+ <p>The following arguments are allowed in the given order:</p>
+
+ <ol>
+ <li>string Name</li>
+ </ol>
+ */
+ [optional] interface ::com::sun::star::lang::XInitialization;
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/ChartDocumentWrapper.idl b/offapi/com/sun/star/chart2/ChartDocumentWrapper.idl
new file mode 100644
index 000000000..acfbc7634
--- /dev/null
+++ b/offapi/com/sun/star/chart2/ChartDocumentWrapper.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_chart2_ChartDocumentWrapper_idl
+#define com_sun_star_chart2_ChartDocumentWrapper_idl
+
+#include <com/sun/star/chart/ChartDocument.idl>
+#include <com/sun/star/uno/XAggregation.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+/** A component that implements the
+ ::com::sun::star::chart::ChartDocument service and
+ is initialized with a
+ ::com::sun::star::chart2::ChartDocument via
+ the ::com::sun::star::uno::XAggregation interface.
+ */
+service ChartDocumentWrapper
+{
+ /** This service will be available for a
+ ChartDocument (of namespace chart2) through this
+ wrapper.
+ */
+ service ::com::sun::star::chart::ChartDocument;
+
+ /** provides the possibility to forward requests to a
+ ChartDocument.
+ */
+ interface ::com::sun::star::uno::XAggregation;
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/ChartType.idl b/offapi/com/sun/star/chart2/ChartType.idl
new file mode 100644
index 000000000..e56b5fa8b
--- /dev/null
+++ b/offapi/com/sun/star/chart2/ChartType.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_chart2_ChartType_idl
+#define com_sun_star_chart2_ChartType_idl
+
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/chart2/XChartType.idl>
+#include <com/sun/star/chart2/XDataSeriesContainer.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+/** ChartType service
+ */
+service ChartType
+{
+ interface XChartType;
+
+ interface XDataSeriesContainer;
+
+ /** provides chart-type-specific properties
+ */
+ [optional] interface com::sun::star::beans::XPropertySet;
+};
+
+} ; // chart2
+} ; // star
+} ; // sun
+} ; // com
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/ChartTypeManager.idl b/offapi/com/sun/star/chart2/ChartTypeManager.idl
new file mode 100644
index 000000000..cba0f3fed
--- /dev/null
+++ b/offapi/com/sun/star/chart2/ChartTypeManager.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_chart2_ChartTypeManager_idl
+#define com_sun_star_chart2_ChartTypeManager_idl
+
+#include <com/sun/star/lang/MultiServiceFactory.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+/** A factory for creating ChartTypeTemplates.
+ */
+service ChartTypeManager
+{
+ /** A factory for creating objects the support the service
+ ChartTypeTemplate.
+ */
+ service ::com::sun::star::lang::MultiServiceFactory;
+};
+
+} ; // chart2
+} ; // star
+} ; // sun
+} ; // com
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/ChartTypeTemplate.idl b/offapi/com/sun/star/chart2/ChartTypeTemplate.idl
new file mode 100644
index 000000000..e2f74c2ba
--- /dev/null
+++ b/offapi/com/sun/star/chart2/ChartTypeTemplate.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_chart2_ChartTypeTemplate_idl
+#define com_sun_star_chart2_ChartTypeTemplate_idl
+
+#include <com/sun/star/chart2/XChartTypeTemplate.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+service ChartTypeTemplate
+{
+ interface ::com::sun::star::chart2::XChartTypeTemplate;
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/CoordinateSystem.idl b/offapi/com/sun/star/chart2/CoordinateSystem.idl
new file mode 100644
index 000000000..8059c31c1
--- /dev/null
+++ b/offapi/com/sun/star/chart2/CoordinateSystem.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_chart2_CoordinateSystem_idl
+#define com_sun_star_chart2_CoordinateSystem_idl
+
+#include <com/sun/star/util/XCloneable.idl>
+#include <com/sun/star/chart2/XChartTypeContainer.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+service CoordinateSystem
+{
+ interface XCoordinateSystem;
+
+ /** a coordinate system can contain several chart types, which then do contain the data series.
+ */
+ interface com::sun::star::chart2::XChartTypeContainer;
+
+ /** creates a new CoordinateSystem that contains the same
+ members like the original object. Note that the contained
+ XScales are still the same objects, i.e. those are not cloned.
+ */
+ [optional] interface com::sun::star::util::XCloneable;
+
+ [optional, property] boolean SwapXAndYAxis;
+};
+
+} ; // chart2
+} ; // star
+} ; // sun
+} ; // com
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/CoordinateSystemType.idl b/offapi/com/sun/star/chart2/CoordinateSystemType.idl
new file mode 100644
index 000000000..f7ed60bd2
--- /dev/null
+++ b/offapi/com/sun/star/chart2/CoordinateSystemType.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_chart2_CoordinateSystemType_idl
+#define com_sun_star_chart2_CoordinateSystemType_idl
+
+
+module com { module sun { module star { module chart2 {
+
+/**
+<p>
+The service CoordinateSystemType represents a special type of coordinate system.
+For example a 2 dimensional Cartesian coordinate system is a CoordinateSystemType
+and different from for example a 3 dimensional spherical coordinate system.
+</p>
+<p>A CoordinateSystemType is a stateless service which has no owner and does not
+enable cyclic references, thus its lifetime can be handled by reference or it
+may be implemented as a singleton.</p>
+*/
+
+service CoordinateSystemType
+{
+ /** required interface
+ */
+// interface ::com::sun::star::chart2::XCoordinateSystemType;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/CoordinateSystemTypeID.idl b/offapi/com/sun/star/chart2/CoordinateSystemTypeID.idl
new file mode 100644
index 000000000..7d8f9fa4e
--- /dev/null
+++ b/offapi/com/sun/star/chart2/CoordinateSystemTypeID.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef com_sun_star_chart2_CoordinateSystemTypeID_idl
+#define com_sun_star_chart2_CoordinateSystemTypeID_idl
+
+
+
+module com { module sun { module star { module chart2 {
+
+
+typedef string CoordinateSystemTypeID;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/CurveStyle.idl b/offapi/com/sun/star/chart2/CurveStyle.idl
new file mode 100644
index 000000000..605477620
--- /dev/null
+++ b/offapi/com/sun/star/chart2/CurveStyle.idl
@@ -0,0 +1,115 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef com_sun_star_chart2_CurveStyle_idl
+#define com_sun_star_chart2_CurveStyle_idl
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+/** Sets the type of curves that are drawn for line charts.
+ */
+enum CurveStyle
+{
+ /** Lines between data points are not smoothed
+ */
+ LINES,
+
+ /** Data points are connected via a smoothed cubic spline curve.
+ The data points themselves are part of to the curve.
+ */
+ CUBIC_SPLINES,
+
+ /** Data points are connected via a parametric, interpolating
+ B-spline curve.
+ */
+ B_SPLINES,
+
+ /**
+ * Non-uniform rational b-splines
+ */
+ NURBS,
+
+ /** Data points are connected via a 2-segmented stepped line.
+ The line starts horizontally.
+
+ \verbatim
+ O
+ |
+ |
+ |
+ O-----+
+ \endverbatim
+ */
+ STEP_START,
+
+ /** Data points are connected via a 2-segmented stepped line.
+ The line ends horizontally.
+
+ \verbatim
+ +------O
+ |
+ |
+ |
+ O
+ \endverbatim
+ */
+ STEP_END,
+
+ /** Data points are connected via a 3-segmented stepped line.
+ The lines is horizontal till the center of the X values.
+
+ \verbatim
+ +--O
+ |
+ |
+ |
+ O--+
+ \endverbatim
+ */
+ STEP_CENTER_X,
+
+ /** Data points are connected via a 3-segmented stepped line.
+ The lines is horizontal at the center of the Y values.
+
+ \verbatim
+ O
+ |
+ +-----+
+ |
+ O
+ \endverbatim
+ */
+ STEP_CENTER_Y
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/DataPoint.idl b/offapi/com/sun/star/chart2/DataPoint.idl
new file mode 100644
index 000000000..f3810f9e7
--- /dev/null
+++ b/offapi/com/sun/star/chart2/DataPoint.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_chart2_DataPoint_idl
+#define com_sun_star_chart2_DataPoint_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/XStyle.idl>
+#include <com/sun/star/chart2/DataPointProperties.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+service DataPoint
+{
+ service DataPointProperties;
+
+ service ::com::sun::star::style::CharacterProperties;
+ [optional] service ::com::sun::star::style::CharacterPropertiesAsian;
+ [optional] service ::com::sun::star::style::CharacterPropertiesComplex;
+
+
+ /** this property handles the style. This property must support
+ the service com::sun::star::style::Style.
+
+ <p>It should provide templates for all properties in this
+ service, thus it must also support DataPoint.</p>
+ */
+// [property] ::com::sun::star::style::XStyle Style;
+
+ /** Gives the offset of the data point. For PieDiagrams this
+ would be the percentage by which pies are dragged out of the
+ cake.
+ */
+ [optional, property] double Offset;
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/DataPointCustomLabelField.idl b/offapi/com/sun/star/chart2/DataPointCustomLabelField.idl
new file mode 100644
index 000000000..cebe1c327
--- /dev/null
+++ b/offapi/com/sun/star/chart2/DataPointCustomLabelField.idl
@@ -0,0 +1,26 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.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_chart2_DataPointCustomLabelField_idl
+#define com_sun_star_chart2_DataPointCustomLabelField_idl
+
+#include <com/sun/star/chart2/XDataPointCustomLabelField.idl>
+
+module com { module sun { module star { module chart2 {
+
+/**
+ @since LibreOffice 6.1
+*/
+service DataPointCustomLabelField : XDataPointCustomLabelField;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */ \ No newline at end of file
diff --git a/offapi/com/sun/star/chart2/DataPointCustomLabelFieldType.idl b/offapi/com/sun/star/chart2/DataPointCustomLabelFieldType.idl
new file mode 100644
index 000000000..f5ea79ca6
--- /dev/null
+++ b/offapi/com/sun/star/chart2/DataPointCustomLabelFieldType.idl
@@ -0,0 +1,35 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.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_chart2_DataPointCustomLabelFieldType_idl
+#define com_sun_star_chart2_DataPointCustomLabelFieldType_idl
+
+module com { module sun { module star { module chart2 {
+
+/** The Field type enumeration for custom data point labels.
+
+ @since LibreOffice 6.1
+ */
+enum DataPointCustomLabelFieldType
+{
+ TEXT,
+ VALUE,
+ SERIESNAME,
+ CATEGORYNAME,
+ CELLREF,
+ NEWLINE,
+ PERCENTAGE,
+ CELLRANGE
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/offapi/com/sun/star/chart2/DataPointGeometry3D.idl b/offapi/com/sun/star/chart2/DataPointGeometry3D.idl
new file mode 100644
index 000000000..4281c8583
--- /dev/null
+++ b/offapi/com/sun/star/chart2/DataPointGeometry3D.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_chart2_datapointgeometry3d_idl__
+#define __com_sun_star_chart2_datapointgeometry3d_idl__
+
+
+
+ module com { module sun { module star { module chart2 {
+
+
+/** These values specify the geometry of data points in
+ 3D bar charts.
+ */
+constants DataPointGeometry3D
+{
+
+ /** a cuboid
+ */
+ const long CUBOID = 0;
+
+
+ /** a cylinder with a circle as base
+ */
+ const long CYLINDER = 1;
+
+
+ /** a cone with a circle as base
+ */
+ const long CONE = 2;
+
+
+ /** a pyramid with a square as base
+ */
+ const long PYRAMID = 3;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/DataPointLabel.idl b/offapi/com/sun/star/chart2/DataPointLabel.idl
new file mode 100644
index 000000000..4b7f27c20
--- /dev/null
+++ b/offapi/com/sun/star/chart2/DataPointLabel.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_chart2_DataPointLabel_idl
+#define com_sun_star_chart2_DataPointLabel_idl
+
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+struct DataPointLabel
+{
+ /** if `TRUE`, the value that is represented by a data point is
+ displayed next to it.
+
+ @see #ShowNumberInPercent
+ */
+ boolean ShowNumber;
+
+ /** This is only effective, if #ShowNumber is
+ `TRUE`. If this member is also `TRUE`, the numbers are
+ displayed as percentages of a category.
+
+ <p>That means, if a data point is the first one of a series,
+ the percentage is calculated by using the first data points of
+ all available series.</p>
+ */
+ boolean ShowNumberInPercent;
+
+ /** The caption contains the category name of the category to
+ which a data point belongs.
+ */
+ boolean ShowCategoryName;
+
+ /** The symbol of data series is additionally displayed in the
+ caption.
+ */
+ boolean ShowLegendSymbol;
+
+ /** The caption contains a custom label text, which belongs
+ to a data point label.
+
+ @since LibreOffice 7.1
+ */
+ boolean ShowCustomLabel;
+
+ /** The name of the data series is additionally displayed in the caption.
+
+ @since LibreOffice 7.2
+ */
+ boolean ShowSeriesName;
+};
+
+
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/DataPointProperties.idl b/offapi/com/sun/star/chart2/DataPointProperties.idl
new file mode 100644
index 000000000..4588b5bb9
--- /dev/null
+++ b/offapi/com/sun/star/chart2/DataPointProperties.idl
@@ -0,0 +1,347 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef com_sun_star_chart2_DataPointProperties_idl
+#define com_sun_star_chart2_DataPointProperties_idl
+
+#include <com/sun/star/beans/PropertySet.idl>
+#include <com/sun/star/drawing/FillProperties.idl>
+#include <com/sun/star/awt/Gradient.idl>
+#include <com/sun/star/style/XStyle.idl>
+#include <com/sun/star/drawing/Hatch.idl>
+#include <com/sun/star/drawing/LineDash.idl>
+#include <com/sun/star/drawing/BitmapMode.idl>
+#include <com/sun/star/drawing/FillStyle.idl>
+#include <com/sun/star/drawing/LineStyle.idl>
+#include <com/sun/star/drawing/RectanglePoint.idl>
+#include <com/sun/star/chart2/DataPointLabel.idl>
+#include <com/sun/star/chart2/Symbol.idl>
+#include <com/sun/star/chart2/XFormattedString2.idl>
+#include <com/sun/star/chart2/RelativePosition.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+service DataPointProperties
+{
+ /** to give access to the properties required by this service.
+ */
+ service ::com::sun::star::beans::PropertySet;
+
+ /** to give access to the fill properties
+
+ Note that there is access for some of them
+ through some alias.
+
+ @since LibreOffice 5.1
+ */
+ service ::com::sun::star::drawing::FillProperties;
+
+
+ /** points to a style that also supports this service (but not
+ this property) that is used as default, if the PropertyState
+ of a property is <code>DEFAULT_VALUE</code>.
+ */
+// [optional, property] ::com::sun::star::style::XStyle Style;
+
+ // Common Properties
+
+
+ /** This is the main color of a data point.
+
+ <p>For charts with filled areas, like bar-charts, this should
+ map to the <code>FillColor</code> of the objects. For
+ line-charts this should map to the <code>LineColor</code>
+ property.</p>
+
+ @see com::sun::star::drawing::FillProperties
+ @see com::sun::star::drawing::LineProperties
+ */
+ [property] long Color;
+
+ /** This is the main transparency value of a data point.
+
+ <p>For charts with filled areas, like bar-charts, this should
+ map to the <code>FillTransparence</code> of the objects. For
+ line-charts this should map to the
+ <code>LineTransparence</code> property.</p>
+
+ @see com::sun::star::drawing::FillProperties
+ @see com::sun::star::drawing::LineProperties
+ */
+ [property] short Transparency;
+
+
+ // Fill Properties
+
+ /** This enumeration selects the style with which the area will be filled.
+ */
+ [property] ::com::sun::star::drawing::FillStyle FillStyle;
+
+ /** This describes the transparency of the fill area as a gradient.
+ */
+ [optional, property] ::com::sun::star::awt::Gradient TransparencyGradient;
+ [optional, property] ::com::sun::star::awt::Gradient Gradient;
+ [optional, property] ::com::sun::star::drawing::Hatch Hatch;
+
+ [property] string TransparencyGradientName;
+ [property] string GradientName;
+ [property] string HatchName;
+ [property] string FillBitmapName;
+
+ /** If `TRUE`, fills the background of a hatch with the color
+ given in the #Color property.
+ */
+ [property] boolean FillBackground;
+
+ /** Is used for borders around filled objects. See
+ <code>LineColor</code>.
+
+ @see com::sun::star::drawing::LineProperties
+ */
+ [property] long BorderColor;
+ /** Is used for borders around filled objects. See
+ <code>LineStyle</code>.
+
+ @see com::sun::star::drawing::LineProperties
+ */
+ [property] ::com::sun::star::drawing::LineStyle BorderStyle;
+ /** Is used for borders around filled objects. See
+ <code>LineWidth</code>.
+
+ @see com::sun::star::drawing::LineProperties
+ */
+ [property] long BorderWidth;
+ /** Is used for borders around filled objects. See
+ <code>LineDash</code>.
+
+ @see com::sun::star::drawing::LineProperties
+ */
+ [property] ::com::sun::star::drawing::LineDash BorderDash;
+
+ /** The name of a dash that can be found in the
+ com::sun::star::container::XNameContainer
+ "com.sun.star.drawing.LineDashTable", that can be created via
+ the
+ com::sun::star::uno::XMultiServiceFactory
+ of the ChartDocument.
+ */
+ [optional, property] string BorderDashName;
+
+ /** Is used for borders around filled objects. See
+ <code>LineTransparence</code>.
+
+ @see com::sun::star::drawing::LineProperties
+ */
+ [optional, property] short BorderTransparency;
+
+
+ // Line Properties
+ [property] ::com::sun::star::drawing::LineStyle LineStyle;
+ /** Is only used for line-chart types.
+
+ @see com::sun::star::drawing::LineProperties
+ */
+ [property] long LineWidth;
+ /** Is only used for line-chart types.
+
+ @see com::sun::star::drawing::LineProperties
+ */
+ [property] ::com::sun::star::drawing::LineDash LineDash;
+
+ /** The name of a dash that can be found in the
+ com::sun::star::container::XNameContainer
+ "com.sun.star.drawing.LineDashTable", that can be created via
+ the
+ com::sun::star::uno::XMultiServiceFactory
+ of the ChartDocument.
+ */
+ [optional, property] string LineDashName;
+
+
+ // bitmap properties /copied from drawing::FillProperties
+
+ /** This is the horizontal offset where the tile starts.
+
+ <p>It is given in percent in relation to the width of the bitmap.
+ */
+ [property] short FillBitmapOffsetX;
+
+ /** This is the vertical offset where the tile starts.
+
+ It is given in percent in relation to the width of the bitmap.
+ */
+ [property] short FillBitmapOffsetY;
+
+ /** Every second line of tiles is moved the given percent of the
+ width of the bitmap.
+ */
+ [property] short FillBitmapPositionOffsetX;
+
+ /** Every second row of tiles is moved the given percent of the
+ width of the bitmap.
+ */
+ [property] short FillBitmapPositionOffsetY;
+
+ /** The RectanglePoint specifies the position inside of the bitmap to
+ use as the top left position for rendering.
+ */
+ [property] com::sun::star::drawing::RectanglePoint FillBitmapRectanglePoint;
+
+ /** specifies if the size is given in percentage or
+ as an absolute value.
+
+ <p>If this is `TRUE`, the properties FillBitmapSizeX
+ and FillBitmapSizeY contain the size of the tile in percent
+ of the size of the original bitmap. If this
+ is `FALSE`, the size of the tile is specified
+ with 1/100th mm.
+ */
+ [property] boolean FillBitmapLogicalSize;
+
+ /** This is the width of the tile for filling.
+
+ <p>Depending on the property FillBitmapLogicalSize, this is
+ either relative or absolute.
+ */
+ [property] long FillBitmapSizeX;
+
+ /** This is the height of the tile for filling.
+
+ <p>Depending on the property FillBitmapLogicalSize, this
+ is either relative or absolute.
+ */
+ [property] long FillBitmapSizeY;
+
+ /** this enum selects how an area is filled with a single bitmap.
+ */
+ [property] com::sun::star::drawing::BitmapMode FillBitmapMode;
+
+
+ /**
+ */
+ [optional, property] Symbol Symbol;
+
+ /** describes a value by which a data point is moved from its
+ default position in percent of the maximum allowed distance.
+
+ <p>This is especially useful for the explosion of pie-chart
+ segments.</p>
+ */
+ [optional, property] double Offset;
+
+ /** describes the geometry of a 3 dimensional data point.
+ Number is one of constant group DataPointGeometry3D.
+ <p>This is especially used for 3D bar-charts.</p>
+ <p>CUBOID==0 CYLINDER==1 CONE==2 PYRAMID==3 CUBOID==else</p>
+ */
+ [optional, property] long Geometry3D;
+
+ [property] DataPointLabel Label;
+
+ /** specifies a text with possible fields that is used as a data point label,
+ if set then Label property is ignored
+
+ @since LibreOffice 6.1
+ */
+ [optional, property] sequence<XDataPointCustomLabelField> CustomLabelFields;
+
+ /** specifies a string that is used to separate the parts of a data label (caption)
+ */
+ [optional, property] string LabelSeparator;
+
+ /** specifies if the text of a data label (caption) must be wrapped
+
+ @since LibreOffice 5.1
+ */
+ [optional, property] boolean TextWordWrap;
+
+ /** specifies a number format for the display of the value in the data label
+ */
+ [optional, property] long NumberFormat;
+
+ /** specifies a number format for the display of the percentage value in the data label
+ */
+ [optional, property] long PercentageNumberFormat;
+
+ /** specifies a relative position for the data label
+
+ @see ::com::sun::star::chart::DataLabelPlacement
+ */
+ [optional, property] long LabelPlacement;
+
+ /** The size of the page at the moment when the font size for
+ data labels was set.
+
+ <p>This size is used to resize text in the view when the size
+ of the page has changed since the font sizes were set
+ (automatic text scaling).</p>
+ */
+ [maybevoid, property] com::sun::star::awt::Size ReferencePageSize;
+
+ // statistics
+
+ /** If void, no error bars are shown for the data point in
+ x-direction.
+
+ <p>The com::sun::star::beans::XPropertySet
+ must support the service ErrorBar.</p>
+ */
+ [optional, maybevoid, property] com::sun::star::beans::XPropertySet ErrorBarX;
+
+ /** If void, no error bars are shown for the data point in
+ y-direction.
+
+ <p>The com::sun::star::beans::XPropertySet
+ must support the service ErrorBar.</p>
+ */
+ [optional, maybevoid, property] com::sun::star::beans::XPropertySet ErrorBarY;
+
+ /** In case #ErrorBarX and
+ #ErrorBarY both are set, and error bars are
+ shown, a box spanning all error-indicators is rendered.
+ */
+ [optional, maybevoid, property] boolean ShowErrorBox;
+
+
+ /** A value between 0 and 100 indicating the percentage how round an edge should be.
+ */
+ [optional, maybevoid, property] short PercentDiagonal;
+
+ /** Custom position on the page associated to the CUSTOM label placement.
+
+ @since LibreOffice 7.0
+ */
+ [optional, maybevoid, property] ::com::sun::star::chart2::RelativePosition CustomLabelPosition;
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/DataSeries.idl b/offapi/com/sun/star/chart2/DataSeries.idl
new file mode 100644
index 000000000..11d4f5290
--- /dev/null
+++ b/offapi/com/sun/star/chart2/DataSeries.idl
@@ -0,0 +1,207 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef com_sun_star_chart2_DataSeries_idl
+#define com_sun_star_chart2_DataSeries_idl
+
+#include <com/sun/star/beans/PropertySet.idl>
+#include <com/sun/star/container/XIndexContainer.idl>
+#include <com/sun/star/container/XContainer.idl>
+#include <com/sun/star/chart2/DataPointProperties.idl>
+#include <com/sun/star/chart2/StackingDirection.idl>
+#include <com/sun/star/chart2/XDataSeries.idl>
+#include <com/sun/star/chart2/XRegressionCurveContainer.idl>
+#include <com/sun/star/chart2/data/XDataSink.idl>
+#include <com/sun/star/chart2/data/XDataSource.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+ // NOTES
+
+ // ability to be combined - data series combiner (another component?)
+ // coordinatesystem-supplier
+ // chart-type ? property string rendererServiceName
+
+
+/** reflects the model data of the object that has all the information
+ for a DataRenderer to create a visible data series in
+ a chart.
+
+ <p>It combines one or more DataSequences which are
+ interpreted by evaluating their role-string.</p>
+
+ @see DataSequenceRole
+ */
+service DataSeries
+{
+ /** allows to connect a CoordinateSystem to a DataSeries
+ */
+// service CoordinateSystemSupplier;
+
+// service ChartTypeSupplier;
+ /** the property interface by which the properties of all
+ supported services are exchanged
+ */
+ service ::com::sun::star::beans::PropertySet;
+
+ /** these properties serve as default for data points.
+
+ <p>So, an attribute for a data point comes from one point in
+ the following hierarchy:</p>
+
+ <ul>
+ <li>default value of data series</li>
+ <li>value from style of data series (if a style was set)</li>
+ <li>value from hard attribute of data series (set with setPropertyValue)</li>
+ <li>value from style of data point (if a style was set)</li>
+ <li>value from hard attribute of data point (set with setPropertyValue)</li>
+ </ul>
+ */
+ service DataPointProperties;
+
+
+ /** allows setting a coordinate-system
+ */
+ interface XDataSeries;
+
+ /** allows attaching data sequences to a series.
+ */
+ interface data::XDataSink;
+
+ /** allows querying the data that was set.
+ */
+ interface data::XDataSource;
+
+ /** gives access to the data points contained in a data series.
+
+ <p>The objects returned by the
+ com::sun::star::container::XIndexAccess
+ are of type
+ com::sun::star::beans::XPropertySet
+ and support the service
+ DataPoint.
+ */
+// interface ::com::sun::star::container::XIndexContainer;
+
+ /** establishes a broadcaster-listener mechanism for the
+ com::sun::star::container::XIndexContainer
+ to keep changes and the property
+ DataSeries::AttributedDataPoints in sync.
+ */
+// interface ::com::sun::star::container::XContainer;
+
+ /** Holds regression curves (aka trend-lines) for a data series.
+ */
+ [optional] interface XRegressionCurveContainer;
+
+
+ /** This service will be used to render this data series.
+
+ <p>This service name can be used to determine which DataSeries
+ are of the same type.</p>
+
+ <p>The result of the
+ DataSeries::DataSequenceRoles depends on the
+ renderer service set here.</p>
+ */
+ // stored at the DataSeriesGroup now
+// [property] string DataRendererServiceName;
+
+ /** a sequence of indexes denoting which data points have set
+ properties that differ from the default.
+
+ <p>The default values are determined by the properties set at
+ the #DataPointProperties of the data
+ series.</p>
+
+ <p>If the sequence is empty, that means that all data points
+ look alike. They are formatted using the property values set
+ in the data series.</p>
+
+ <p>The indexes in this sequence match the indexes used by the
+ XIndexContainer.</p>
+
+ <p>This property is especially useful for large data series
+ with only some formatted data points, because you do not have
+ to iterate over all elements.</p>
+ */
+ [readonly, optional, property] sequence< long > AttributedDataPoints;
+
+ /** indicates whether this series should be stacked with respect to the previous series.
+ */
+ [property] StackingDirection StackingDirection;
+
+ /** If `TRUE`, the data points of this series get different
+ colors by default, like in a pie chart.
+ */
+ [optional, property] boolean VaryColorsByPoint;
+
+ /** This property describes whether the series should be shown at
+ the main value axis or at the secondary value axis. Having
+ this property not set or setting it to 0 means that this data
+ series will be scaled at the primary y-axis ( of the
+ coordinate system in which this series is hosted ).
+
+ <p>Setting this property to 1 means that this series should be
+ scaled at the secondary y-axis. If there is no secondary axis
+ the main axis should be used for scaling instead.</p>
+
+ <p>If you want to scale a series at a different x or z axis
+ you need to create an additional coordinate system and host
+ this series there.</p>
+ */
+ [optional, property] long AttachedAxisIndex;
+
+ /** This property describes whether the legend entry for the
+ the data series should be shown.
+
+ @since LibreOffice 6.3
+ */
+ [optional, property] boolean ShowLegendEntry;
+
+ /** A sequence of indexes denoting which data points shouldn't be
+ shown in the legend.
+
+ @since LibreOffice 7.0
+ */
+ [optional, property] sequence<long> DeletedLegendEntries;
+
+ /** This property describes whether the data point and the data label
+ are connected with a leader line.
+
+ @since LibreOffice 7.1
+ */
+ [optional, property] boolean ShowCustomLeaderLines;
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/Diagram.idl b/offapi/com/sun/star/chart2/Diagram.idl
new file mode 100644
index 000000000..2ae557e64
--- /dev/null
+++ b/offapi/com/sun/star/chart2/Diagram.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_chart2_Diagram_idl
+#define com_sun_star_chart2_Diagram_idl
+
+#include <com/sun/star/chart2/XDiagram.idl>
+#include <com/sun/star/chart2/XCoordinateSystemContainer.idl>
+#include <com/sun/star/chart2/XTitled.idl>
+#include <com/sun/star/chart2/RelativePosition.idl>
+#include <com/sun/star/chart2/RelativeSize.idl>
+#include <com/sun/star/chart/X3DDefaultSetter.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+service Diagram
+{
+ interface ::com::sun::star::chart2::XDiagram;
+
+ interface ::com::sun::star::chart2::XCoordinateSystemContainer;
+
+ /** gives access to the sub title of a chart document
+ */
+ interface XTitled;
+
+ /** makes it easy to set suitable defaults for illumination and rotation for 3D charts
+ */
+ [optional] interface ::com::sun::star::chart::X3DDefaultSetter;
+
+ /** The position is as a relative position on the page.
+
+ <p>If a relative position is given the diagram is not automatically placed,
+ but instead is placed relative on the page.</p>
+ */
+ [property, maybevoid] ::com::sun::star::chart2::RelativePosition RelativePosition;
+
+ /** The size of the diagram as relative size of the page size.
+ */
+ [property] ::com::sun::star::chart2::RelativeSize RelativeSize;
+
+ /** The attributes RelativePosition and RelativeSize should be used for the inner coordinate region without axis labels and without data labels.
+ */
+ [optional, property] boolean PosSizeExcludeLabels;
+
+ /** Sort data points by x values for rendering
+ */
+ [optional, property] boolean SortByXValues;
+
+ /** Draw connection lines for stacked bar charts.
+ */
+ [optional, property] boolean ConnectBars;
+
+ /** If bars of a bar or column chart are attached to different
+ axis, this property determines how to display those. If
+ `TRUE`, the bars are grouped together in one block for each
+ axis, thus they are painted one group over the other.
+
+ <p>If `FALSE`, the bars are displayed side-by-side, as if
+ they were all attached to the same axis.</p>
+
+ <p>If all data series of a bar or column chart are attached to
+ only one axis, this property has no effect.</p>
+ */
+ [optional, property] boolean GroupBarsPerAxis;
+
+ /** Starting angle in degrees for pie charts and doughnut charts.
+ */
+ [optional, property] long StartingAngle;
+
+ [optional, property] boolean RightAngledAxes;
+
+ /** Chart Datatable flags
+ */
+ [optional, property] boolean DataTableHBorder;
+ [optional, property] boolean DataTableVBorder;
+ [optional, property] boolean DataTableOutline;
+
+ /** Perspective of 3D charts ( [0,100] ).
+ */
+ [optional, property] long Perspective;
+
+ /** Horizontal rotation of 3D charts in degrees ( ]-180,180] ).
+ */
+ [optional, property] long RotationHorizontal;
+
+ /** Vertical rotation of 3D charts in degrees ( ]-180,180] ).
+ */
+ [optional, property] long RotationVertical;
+
+ /** specifies how empty or invalid cells in the provided data should be handled when displayed
+
+ @see ::com::sun::star::chart::MissingValueTreatment
+ */
+ [optional, property] long MissingValueTreatment;
+
+ [optional, property] string ExternalData;
+
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/ErrorBar.idl b/offapi/com/sun/star/chart2/ErrorBar.idl
new file mode 100644
index 000000000..7d022141c
--- /dev/null
+++ b/offapi/com/sun/star/chart2/ErrorBar.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_chart2_ErrorBar_idl
+#define com_sun_star_chart2_ErrorBar_idl
+
+#include <com/sun/star/drawing/LineProperties.idl>
+#include <com/sun/star/chart/ErrorBarStyle.idl>
+#include <com/sun/star/chart2/data/XDataSink.idl>
+#include <com/sun/star/chart2/data/XDataSource.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+service ErrorBar
+{
+ service ::com::sun::star::drawing::LineProperties;
+
+ /** allows attaching data sequences to the error bars.
+ @see data::DataSequenceRole
+ */
+ [optional] interface data::XDataSink;
+
+ /** allows querying data sequences that were set at error bars.
+ @see data::DataSequenceRole
+ */
+ [optional] interface data::XDataSource;
+ /**
+ @see ::com::sun::star::chart::ErrorBarStyle
+ */
+ [property] long ErrorBarStyle;
+
+ [property] double PositiveError;
+
+ [property] double NegativeError;
+
+ /** The weight for the standard deviation.
+ */
+ [property] double Weight;
+
+ [property] boolean ShowPositiveError;
+
+ [property] boolean ShowNegativeError;
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/ExponentialRegressionCurve.idl b/offapi/com/sun/star/chart2/ExponentialRegressionCurve.idl
new file mode 100644
index 000000000..b9e94650e
--- /dev/null
+++ b/offapi/com/sun/star/chart2/ExponentialRegressionCurve.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_chart2_ExponentialRegressionCurve_idl
+#define com_sun_star_chart2_ExponentialRegressionCurve_idl
+
+#include <com/sun/star/chart2/XRegressionCurve.idl>
+
+
+module com { module sun { module star { module chart2 {
+
+
+/**
+ @since LibreOffice 4.1
+*/
+service ExponentialRegressionCurve : com::sun::star::chart2::XRegressionCurve;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/ExponentialScaling.idl b/offapi/com/sun/star/chart2/ExponentialScaling.idl
new file mode 100644
index 000000000..edd740636
--- /dev/null
+++ b/offapi/com/sun/star/chart2/ExponentialScaling.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef com_sun_star_chart2_ExponentialScaling_idl
+#define com_sun_star_chart2_ExponentialScaling_idl
+
+#include <com/sun/star/chart2/XScaling.idl>
+
+
+module com { module sun { module star { module chart2 {
+
+
+/** Scaling that scales a value <em>x</em> by taking the power of the
+ base to <em>x</em>.
+
+ <p>If not mentioned explicitly, the base for the power function is
+ 10.0</p>
+*/
+service ExponentialScaling : com::sun::star::chart2::XScaling;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/FillBitmap.idl b/offapi/com/sun/star/chart2/FillBitmap.idl
new file mode 100644
index 000000000..7f0aabbb8
--- /dev/null
+++ b/offapi/com/sun/star/chart2/FillBitmap.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_chart2_FillBitmap_idl
+#define com_sun_star_chart2_FillBitmap_idl
+
+#include <com/sun/star/awt/Point.idl>
+#include <com/sun/star/awt/Size.idl>
+#include <com/sun/star/drawing/BitmapMode.idl>
+#include <com/sun/star/drawing/RectanglePoint.idl>
+
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+/** This structure contains all properties of a bitmap when used as
+ FillStyle.
+
+ @see com::sun::star::drawing::FillProperties
+ */
+struct FillBitmap
+{
+ /** a URL to the bitmap used. This may be an internal URL of the
+ graphics manager.
+ */
+ string aURL;
+
+ /** This is the horizontal and vertical offset where the tile
+ starts.
+
+ <p>It is given in percent in relation to the width of the
+ bitmap.</p>
+ */
+ com::sun::star::awt::Point aOffset;
+
+ /** Every second line (X) / row (Y) of tiles is moved the given
+ percent of the width of the bitmap.
+ */
+ com::sun::star::awt::Point aPositionOffset;
+
+ /** The RectanglePoint specifies the position inside of the bitmap
+ to use as the top left position for rendering.
+ */
+ com::sun::star::drawing::RectanglePoint aRectanglePoint;
+
+ /** specifies if the size is given in percentage or as an absolute
+ value.
+
+ <p>If this is `TRUE`, the properties SizeX and
+ SizeY contain the size of the tile in percent of the
+ size of the original bitmap. If this is `FALSE`, the size of
+ the tile is specified with 1/100th mm.</p>
+ */
+ boolean bLogicalSize;
+
+ /** This is the size of the tile for filling.
+
+ <p>Depending on the property LogicalSize, this is
+ either relative or absolute.</p>
+ */
+ com::sun::star::awt::Size aSize;
+
+ /** this enum selects how an area is filled with a single bitmap.
+
+ <p>It may be repeated, stretched or displayed with blank space
+ around it.</p>
+ */
+ com::sun::star::drawing::BitmapMode aBitmapMode;
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/FormattedString.idl b/offapi/com/sun/star/chart2/FormattedString.idl
new file mode 100644
index 000000000..e4d80e7ef
--- /dev/null
+++ b/offapi/com/sun/star/chart2/FormattedString.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef com_sun_star_chart2_FormattedString_idl
+#define com_sun_star_chart2_FormattedString_idl
+
+#include <com/sun/star/chart2/XFormattedString2.idl>
+
+module com { module sun { module star { module chart2 {
+
+service FormattedString : XFormattedString2;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/GridProperties.idl b/offapi/com/sun/star/chart2/GridProperties.idl
new file mode 100644
index 000000000..0db23604d
--- /dev/null
+++ b/offapi/com/sun/star/chart2/GridProperties.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_chart2_GridProperties_idl
+#define com_sun_star_chart2_GridProperties_idl
+
+#include <com/sun/star/drawing/LineProperties.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+/** Must be supported by all grids
+ */
+service GridProperties
+{
+ /** properties for formatting the grid lines
+ */
+ service ::com::sun::star::drawing::LineProperties;
+
+ /** Determines, whether the grid should be rendered by the view.
+ */
+ [property] boolean Show;
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/IncrementData.idl b/offapi/com/sun/star/chart2/IncrementData.idl
new file mode 100644
index 000000000..289792e7d
--- /dev/null
+++ b/offapi/com/sun/star/chart2/IncrementData.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_chart2_IncrementData_idl
+#define com_sun_star_chart2_IncrementData_idl
+
+#include <com/sun/star/chart2/SubIncrement.idl>
+
+
+module com { module sun { module star { module chart2 {
+
+
+/** An IncrementData describes how tickmarks are positioned on the scale of an axis.
+
+@see Axis
+@see Grid
+@see Scale
+@see XScaling
+*/
+struct IncrementData
+{
+ /** if the any contains a double value this is used as a fixed
+ Distance value. Otherwise, if the any is empty or contains an
+ incompatible type, the Distance is meant to be calculated
+ automatically by the view component representing the model
+ containing this increment.
+ */
+ any Distance;
+
+ /**
+ #PostEquidistant rules whether the member #Distance
+ describes a distance before or after the scaling is applied.
+
+ <p>If #PostEquidistant equals `TRUE` #Distance
+ is given in values after XScaling is applied, thus resulting
+ main tickmarks will always look equidistant on the screen.
+ If #PostEquidistant equals `FALSE` #Distance
+ is given in values before XScaling is applied.</p>
+ */
+ any PostEquidistant;
+
+ /** if the any contains a double value this is used as a fixed
+ BaseValue. Otherwise, if the any is empty or contains an
+ incompatible type, the BaseValue is meant to be calculated
+ automatically by the view component representing the model
+ containing this increment.
+ */
+ any BaseValue;
+
+ /** #SubIncrements describes the positioning of further
+ sub tickmarks on the scale of an axis.
+
+ <p>The first SubIncrement in this sequence determines how the
+ distance between two neighboring main tickmarks is divided for positioning
+ of further sub tickmarks. Every following SubIncrement determines the
+ positions of subsequent tickmarks in relation to their parent tickmarks
+ given by the preceding SubIncrement.</p>
+ */
+ sequence< SubIncrement > SubIncrements;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/Legend.idl b/offapi/com/sun/star/chart2/Legend.idl
new file mode 100644
index 000000000..805e90da6
--- /dev/null
+++ b/offapi/com/sun/star/chart2/Legend.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_chart2_Legend_idl
+#define com_sun_star_chart2_Legend_idl
+
+#include <com/sun/star/chart2/XLegend.idl>
+#include <com/sun/star/chart2/LegendPosition.idl>
+#include <com/sun/star/chart2/RelativePosition.idl>
+#include <com/sun/star/chart/ChartLegendExpansion.idl>
+#include <com/sun/star/beans/PropertySet.idl>
+#include <com/sun/star/drawing/LineProperties.idl>
+#include <com/sun/star/drawing/FillProperties.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+/** Describes a legend for a Diagram.
+ */
+service Legend
+{
+ service ::com::sun::star::drawing::FillProperties;
+ service ::com::sun::star::drawing::LineProperties;
+ service ::com::sun::star::beans::PropertySet;
+
+ /** The interface for registering and removing legend entries.
+ */
+ interface ::com::sun::star::chart2::XLegend;
+
+ /** Provides an automated position
+ */
+ [property] LegendPosition AnchorPosition;
+
+ /** Determines how the aspect ratio of the legend should roughly
+ be.
+
+ <p>Set the Expansion to
+ ::com::sun::star::chart#HIGH
+ for a legend that is positioned on the right or left hand
+ side. Use ::com::sun::star::chart::WIDE for a legend
+ that is positioned on top or the bottom.</p>
+ */
+ [property] ::com::sun::star::chart::ChartLegendExpansion Expansion;
+
+ /** Determines, whether the legend should be rendered by the view.
+ */
+ [property] boolean Show;
+
+ /** Determines, whether the legend should overlay the chart.
+
+ @since LibreOffice 7.0
+ */
+ [property] boolean Overlay;
+
+ /** contains the size of the page at the time when properties were
+ set (e.g. the CharHeight).
+
+ <p>This way it is possible to resize objects (like text) in
+ the view without modifying the model.</p>
+ */
+ [property, maybevoid] com::sun::star::awt::Size ReferencePageSize;
+
+ /** The position is as a relative position on the page.
+
+ <p>If a relative position is given the legend is not automatically placed,
+ but instead is placed relative on the page.</p>
+
+ <p>If `VOID`, the legend position is solely determined by the
+ #AnchorPosition.</p>
+ */
+ [property, maybevoid] ::com::sun::star::chart2::RelativePosition RelativePosition;
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/LegendPosition.idl b/offapi/com/sun/star/chart2/LegendPosition.idl
new file mode 100644
index 000000000..b408e6a20
--- /dev/null
+++ b/offapi/com/sun/star/chart2/LegendPosition.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_chart2_LegendPosition_idl
+#define com_sun_star_chart2_LegendPosition_idl
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+enum LegendPosition
+{
+ /** In LTR mode this is the left-hand side
+ */
+ LINE_START,
+
+ /** In LTR mode this is the right-hand side
+
+ <p>This usually is the default.</p>
+ */
+ LINE_END,
+
+ /** In LTR mode this is the top side
+ */
+ PAGE_START,
+
+ /** In LTR mode this is the bottom side
+ */
+ PAGE_END,
+
+ /** The position of the legend is given by an offset value
+ */
+ CUSTOM
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/LightSource.idl b/offapi/com/sun/star/chart2/LightSource.idl
new file mode 100644
index 000000000..89ac5966c
--- /dev/null
+++ b/offapi/com/sun/star/chart2/LightSource.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_chart2_LightSource_idl
+#define com_sun_star_chart2_LightSource_idl
+
+#include <com/sun/star/drawing/Direction3D.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+struct LightSource
+{
+ /** the light source's color
+ */
+ long nDiffuseColor;
+
+ /** the direction into which the light-source points
+ */
+ ::com::sun::star::drawing::Direction3D aDirection;
+
+ boolean bIsEnabled;
+
+ /** When `TRUE`, the specularity of material is taken into
+ account when lighting an object.
+ */
+ boolean bSpecular;
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/LinearRegressionCurve.idl b/offapi/com/sun/star/chart2/LinearRegressionCurve.idl
new file mode 100644
index 000000000..6aeee66b6
--- /dev/null
+++ b/offapi/com/sun/star/chart2/LinearRegressionCurve.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_chart2_LinearRegressionCurve_idl
+#define com_sun_star_chart2_LinearRegressionCurve_idl
+
+#include <com/sun/star/chart2/XRegressionCurve.idl>
+
+
+module com { module sun { module star { module chart2 {
+
+
+/**
+ @since LibreOffice 4.1
+*/
+service LinearRegressionCurve : com::sun::star::chart2::XRegressionCurve;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/LinearScaling.idl b/offapi/com/sun/star/chart2/LinearScaling.idl
new file mode 100644
index 000000000..c71d5cb75
--- /dev/null
+++ b/offapi/com/sun/star/chart2/LinearScaling.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_chart2_LinearScaling_idl
+#define com_sun_star_chart2_LinearScaling_idl
+
+#include <com/sun/star/chart2/XScaling.idl>
+
+
+module com { module sun { module star { module chart2 {
+
+
+/** Scaling that scales a value <em>x</em> by calculating <em>m &sdot;
+ x + t</em>.
+
+ <p>If not mentioned explicitly, the parameter <em>m</em> is 1.0
+ and <em>t</em> is 0.0, which means the transformation is an
+ identical mapping.</p>
+*/
+service LinearScaling : com::sun::star::chart2::XScaling;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/LogarithmicRegressionCurve.idl b/offapi/com/sun/star/chart2/LogarithmicRegressionCurve.idl
new file mode 100644
index 000000000..cd791e8d2
--- /dev/null
+++ b/offapi/com/sun/star/chart2/LogarithmicRegressionCurve.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_chart2_LogarithmicRegressionCurve_idl
+#define com_sun_star_chart2_LogarithmicRegressionCurve_idl
+
+#include <com/sun/star/chart2/XRegressionCurve.idl>
+
+
+module com { module sun { module star { module chart2 {
+
+
+/**
+ @since LibreOffice 4.1
+*/
+service LogarithmicRegressionCurve : com::sun::star::chart2::XRegressionCurve;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/LogarithmicScaling.idl b/offapi/com/sun/star/chart2/LogarithmicScaling.idl
new file mode 100644
index 000000000..6be520793
--- /dev/null
+++ b/offapi/com/sun/star/chart2/LogarithmicScaling.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_chart2_LogarithmicScaling_idl
+#define com_sun_star_chart2_LogarithmicScaling_idl
+
+#include <com/sun/star/chart2/XScaling.idl>
+
+
+module com { module sun { module star { module chart2 {
+
+
+/** Scaling that scales values by taking their logarithm.
+
+ <p>If not mentioned explicitly, the base for the logarithm is
+ 10.0</p>
+*/
+service LogarithmicScaling : com::sun::star::chart2::XScaling;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/LogicTargetModel.idl b/offapi/com/sun/star/chart2/LogicTargetModel.idl
new file mode 100644
index 000000000..4bc46105b
--- /dev/null
+++ b/offapi/com/sun/star/chart2/LogicTargetModel.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_chart2_LogicTargetModel_idl
+#define com_sun_star_chart2_LogicTargetModel_idl
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+
+module com { module sun { module star { module chart2 {
+
+/**
+ <p>The properties of this service correspond to the similar named attributes
+ and subelements of the XML element chart2:increment in the chart2 file format.</p>
+*/
+service LogicTargetModel
+{
+ /** identifies an instance of this service within one chart document.
+ */
+ [ readonly, property ] string ID;
+
+ /** identifies an instance of the service com::sun::star::chart2::LegendModel within one chart document.
+ * that instance is used to automatically calculate missing properties
+ */
+ [ property ] string LegendID;
+
+ /** not BOUND nor CONSTRAINED in terms of Listener notifications,
+ * each element in the sequence must implement the service com::sun::star::chart2::CoordinateSystem
+ */
+ [ property ] sequence< ::com::sun::star::beans::XPropertySet > CoordinateSystems;
+
+ /** MAYBEVOID, not BOUND nor CONSTRAINED in terms of Listener notifications,
+ * each element in the sequence must implement the service com::sun::star::chart2::LogicTargetModel
+ */
+ [ property ] sequence< ::com::sun::star::beans::XPropertySet > LogicTargetModels;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/MovingAverageRegressionCurve.idl b/offapi/com/sun/star/chart2/MovingAverageRegressionCurve.idl
new file mode 100644
index 000000000..d2a6d89a0
--- /dev/null
+++ b/offapi/com/sun/star/chart2/MovingAverageRegressionCurve.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_chart2_MovingAverageRegressionCurve_idl
+#define com_sun_star_chart2_MovingAverageRegressionCurve_idl
+
+#include <com/sun/star/chart2/XRegressionCurve.idl>
+
+
+module com { module sun { module star { module chart2 {
+
+
+/**
+ @since LibreOffice 4.1
+*/
+service MovingAverageRegressionCurve : com::sun::star::chart2::XRegressionCurve;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/MovingAverageType.idl b/offapi/com/sun/star/chart2/MovingAverageType.idl
new file mode 100644
index 000000000..3b2ff6c22
--- /dev/null
+++ b/offapi/com/sun/star/chart2/MovingAverageType.idl
@@ -0,0 +1,35 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.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_chart2_MovingAverageType_idl
+#define com_sun_star_chart2_MovingAverageType_idl
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+constants MovingAverageType {
+ const long Prior = 1;
+ const long Central = 2;
+ const long AveragedAbscissa = 3;
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/offapi/com/sun/star/chart2/PieChartOffsetMode.idl b/offapi/com/sun/star/chart2/PieChartOffsetMode.idl
new file mode 100644
index 000000000..718479b6c
--- /dev/null
+++ b/offapi/com/sun/star/chart2/PieChartOffsetMode.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_chart2_PieChartOffsetMode_idl
+#define com_sun_star_chart2_PieChartOffsetMode_idl
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+/** Mode used for a pie chart template to determine the initial state
+ of exploded pies.
+ */
+enum PieChartOffsetMode
+{
+ /** Default, no pies are exploded.
+ */
+ NONE,
+
+ /** All pies are exploded by a certain percentage. The default is
+ 10 percent.
+ */
+ ALL_EXPLODED
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/PolarCoordinateSystem2d.idl b/offapi/com/sun/star/chart2/PolarCoordinateSystem2d.idl
new file mode 100644
index 000000000..14597842d
--- /dev/null
+++ b/offapi/com/sun/star/chart2/PolarCoordinateSystem2d.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef com_sun_star_chart2_PolarCoordinateSystem2d_idl
+#define com_sun_star_chart2_PolarCoordinateSystem2d_idl
+
+#include <com/sun/star/chart2/XCoordinateSystem.idl>
+
+module com { module sun { module star { module chart2 {
+
+/**
+ @since LibreOffice 4.1
+ */
+service PolarCoordinateSystem2d : XCoordinateSystem;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/PolarCoordinateSystem3d.idl b/offapi/com/sun/star/chart2/PolarCoordinateSystem3d.idl
new file mode 100644
index 000000000..afbdf5ddb
--- /dev/null
+++ b/offapi/com/sun/star/chart2/PolarCoordinateSystem3d.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef com_sun_star_chart2_PolarCoordinateSystem3d_idl
+#define com_sun_star_chart2_PolarCoordinateSystem3d_idl
+
+#include <com/sun/star/chart2/XCoordinateSystem.idl>
+
+module com { module sun { module star { module chart2 {
+
+/**
+ @since LibreOffice 4.1
+ */
+service PolarCoordinateSystem3d : XCoordinateSystem;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/PolynomialRegressionCurve.idl b/offapi/com/sun/star/chart2/PolynomialRegressionCurve.idl
new file mode 100644
index 000000000..a7684e8fb
--- /dev/null
+++ b/offapi/com/sun/star/chart2/PolynomialRegressionCurve.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_chart2_PolynomialRegressionCurve_idl
+#define com_sun_star_chart2_PolynomialRegressionCurve_idl
+
+#include <com/sun/star/chart2/XRegressionCurve.idl>
+
+
+module com { module sun { module star { module chart2 {
+
+
+/**
+ @since LibreOffice 4.1
+*/
+service PolynomialRegressionCurve : com::sun::star::chart2::XRegressionCurve;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/PotentialRegressionCurve.idl b/offapi/com/sun/star/chart2/PotentialRegressionCurve.idl
new file mode 100644
index 000000000..6f240745c
--- /dev/null
+++ b/offapi/com/sun/star/chart2/PotentialRegressionCurve.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_chart2_PotentialRegressionCurve_idl
+#define com_sun_star_chart2_PotentialRegressionCurve_idl
+
+#include <com/sun/star/chart2/XRegressionCurve.idl>
+
+
+module com { module sun { module star { module chart2 {
+
+
+/**
+ @since LibreOffice 4.1
+*/
+service PotentialRegressionCurve : com::sun::star::chart2::XRegressionCurve;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/PowerScaling.idl b/offapi/com/sun/star/chart2/PowerScaling.idl
new file mode 100644
index 000000000..3f8111b26
--- /dev/null
+++ b/offapi/com/sun/star/chart2/PowerScaling.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef com_sun_star_chart2_PowerScaling_idl
+#define com_sun_star_chart2_PowerScaling_idl
+
+#include <com/sun/star/chart2/XScaling.idl>
+
+
+module com { module sun { module star { module chart2 {
+
+
+/** Scaling that scales a value <em>x</em> by taking the power of
+ <em>x</em> to the exponent.
+
+ <p>If not mentioned explicitly, the exponent for the power
+ function is 10.0</p>
+*/
+service PowerScaling : com::sun::star::chart2::XScaling;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/PropertyPool.idl b/offapi/com/sun/star/chart2/PropertyPool.idl
new file mode 100644
index 000000000..42ac558bd
--- /dev/null
+++ b/offapi/com/sun/star/chart2/PropertyPool.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_chart2_PropertyPool_idl
+#define com_sun_star_chart2_PropertyPool_idl
+
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/style/Style.idl>
+#include <com/sun/star/style/XDefaultsSupplier.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+service PropertyPool
+{
+ /** must be usable as a style
+ */
+ service ::com::sun::star::style::Style;
+
+ /** must provide defaults for all properties
+
+ <p>As the service
+ com::sun::star::style::Style implies the
+ implementation of
+ com::sun::star::beans::XPropertySet, the
+ method
+ com::sun::star::style::XDefaultsSupplier::getDefaults()
+ should return itself.
+ */
+ interface ::com::sun::star::style::XDefaultsSupplier;
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/RegressionCurve.idl b/offapi/com/sun/star/chart2/RegressionCurve.idl
new file mode 100644
index 000000000..3ba881465
--- /dev/null
+++ b/offapi/com/sun/star/chart2/RegressionCurve.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_chart2_RegressionCurve_idl
+#define com_sun_star_chart2_RegressionCurve_idl
+
+#include <com/sun/star/beans/PropertySet.idl>
+#include <com/sun/star/drawing/LineProperties.idl>
+#include <com/sun/star/chart2/XRegressionCurve.idl>
+#include <com/sun/star/lang/XServiceName.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+service RegressionCurve
+{
+ service ::com::sun::star::beans::PropertySet;
+ service ::com::sun::star::drawing::LineProperties;
+
+ interface XRegressionCurve;
+
+ [property] long MovingAverageType;
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/RegressionCurveEquation.idl b/offapi/com/sun/star/chart2/RegressionCurveEquation.idl
new file mode 100644
index 000000000..0aea580b9
--- /dev/null
+++ b/offapi/com/sun/star/chart2/RegressionCurveEquation.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_chart2_RegressionCurveEquation_idl
+#define com_sun_star_chart2_RegressionCurveEquation_idl
+
+#include <com/sun/star/beans/PropertySet.idl>
+#include <com/sun/star/drawing/LineProperties.idl>
+#include <com/sun/star/drawing/FillProperties.idl>
+#include <com/sun/star/style/CharacterProperties.idl>
+#include <com/sun/star/chart2/RelativePosition.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+service RegressionCurveEquation
+{
+ service ::com::sun::star::beans::PropertySet;
+ service ::com::sun::star::drawing::FillProperties;
+ service ::com::sun::star::drawing::LineProperties;
+ service ::com::sun::star::style::CharacterProperties;
+
+ [property] boolean ShowEquation;
+ [property] string XName;
+ [property] string YName;
+ [property] boolean ShowCorrelationCoefficient;
+
+ [property, maybevoid] ::com::sun::star::chart2::RelativePosition RelativePosition;
+ [property, maybevoid] ::com::sun::star::awt::Size ReferencePageSize;
+
+ [property] long NumberFormat;
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/RegressionEquation.idl b/offapi/com/sun/star/chart2/RegressionEquation.idl
new file mode 100644
index 000000000..e95459aaf
--- /dev/null
+++ b/offapi/com/sun/star/chart2/RegressionEquation.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef com_sun_star_chart2_RegressionEquation_idl
+#define com_sun_star_chart2_RegressionEquation_idl
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+module com { module sun { module star { module chart2 {
+
+/**
+ @since LibreOffice 4.1
+*/
+service RegressionEquation : com::sun::star::beans::XPropertySet;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/RelativePosition.idl b/offapi/com/sun/star/chart2/RelativePosition.idl
new file mode 100644
index 000000000..421e0c11f
--- /dev/null
+++ b/offapi/com/sun/star/chart2/RelativePosition.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_chart2_RelativePosition_idl
+#define com_sun_star_chart2_RelativePosition_idl
+
+#include <com/sun/star/drawing/Alignment.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+/** Determines a position of an object relative to a size defined by other means.
+ Values from 0 to 1 cover the entire reference rectangle. Values
+ may also be outside this range, especially negative.
+ */
+struct RelativePosition
+{
+ /** The position in the primary direction.
+ The direction is defined by the object using this point.
+
+ <p>For example for western languages the primary direction may be
+ the horizontal distance measured from left to right.</p>
+
+ <p>The values are relative to a reference size (for example the page size).
+ Values between 0 and 1 span the complete bounding rectangle.</p>
+ */
+ double Primary;
+
+ /** The position in the secondary direction.
+ The direction is defined by the object using this point.
+
+ <p>For example for western languages the secondary direction may be
+ the vertical distance measured from top to bottom.</p>
+
+ <p>The values are relative to a reference size (for example the page size).
+ Values between 0 and 1 span the complete bounding rectangle.</p>
+ */
+ double Secondary;
+
+ /** This indicates how the object is placed at the relative position.
+
+ <p>The Anchor indicates which point of the placed object
+ will be placed at the coordinates given within Primary and Secondary.</p>
+
+ <p>For example if Anchor is TOP_LEFT the top left corner of an object will
+ be placed at the given coordinates. If Anchor is RIGHT the right middle corner of the object will
+ be placed at the given coordinates.</p>
+ */
+ ::com::sun::star::drawing::Alignment Anchor;
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/RelativeSize.idl b/offapi/com/sun/star/chart2/RelativeSize.idl
new file mode 100644
index 000000000..f83e40997
--- /dev/null
+++ b/offapi/com/sun/star/chart2/RelativeSize.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_chart2_RelativeSize_idl
+#define com_sun_star_chart2_RelativeSize_idl
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+/** Gives a position relative to some size defined by other means.
+ Values from 0 to 1 cover the entire reference rectangle. Values
+ may also be greater than one, meaning a bigger size than the
+ reference size. Negative values are not allowed.
+ */
+struct RelativeSize
+{
+ /** The extension in the primary direction. The direction is
+ defined by the object using this point.
+
+ <p>Typically, the direction is determined by an
+ Orientation. Another typical use would be the
+ direction of a given orientation-angle.</p>
+
+ <p>The values are relative to the page or an object. Values
+ between 0 and 1 span the complete bounding rectangle of the
+ page/object.</p>
+
+ <p>For a western Orientation this is the
+ width.</p>
+ */
+ double Primary;
+
+ /** The extension in the secondary direction. The direction is
+ defined by the object using this point.
+
+ <p>Typically, the direction is determined by an
+ Orientation. Another typical use would be the
+ direction perpendicular to a given orientation-angle.</p>
+
+ <p>The values are relative to the page or an object. Values
+ between 0 and 1 span the complete bounding rectangle of the
+ page/object.</p>
+
+ <p>For a western Orientation this is the
+ height.</p>
+ */
+ double Secondary;
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/ScaleData.idl b/offapi/com/sun/star/chart2/ScaleData.idl
new file mode 100644
index 000000000..b4d7111a7
--- /dev/null
+++ b/offapi/com/sun/star/chart2/ScaleData.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_chart2_ScaleData_idl
+#define com_sun_star_chart2_ScaleData_idl
+
+#include <com/sun/star/chart2/XScaling.idl>
+#include <com/sun/star/chart2/AxisOrientation.idl>
+#include <com/sun/star/chart2/data/XLabeledDataSequence.idl>
+#include <com/sun/star/chart2/AxisType.idl>
+#include <com/sun/star/chart2/IncrementData.idl>
+#include <com/sun/star/chart/TimeIncrement.idl>
+
+
+module com { module sun { module star { module chart2 {
+
+
+struct ScaleData
+{
+ /** if the any contains a double value this is used as a fixed
+ maximum. Otherwise, if the any is empty or contains an
+ incompatible type, the maximum is automatic.
+
+ <p>If the maximum is automatic, this means, each view that
+ represents the model containing this scale, has to calculate a
+ maximum by its own means.</p>
+ */
+ any Minimum;
+
+ /** if the any contains a double value this is used as a fixed
+ minimum. Otherwise, if the any is empty or contains an
+ incompatible type, the minimum is automatic.
+
+ <p>If the minimum is automatic, this means, each view that
+ represents the model containing this scale, has to calculate a
+ minimum by its own means.</p>
+ */
+ any Maximum;
+
+
+ /** The Origin indicates where other axes cross this axis.
+ If the any contains a double value that value is used.
+ Otherwise an appropriate value has to be calculated
+ by that instances using Origin.
+ */
+ any Origin;
+
+ /** Axis orientation (standard or reversed).
+
+ <p>If used at the Y axis in pie charts or doughnut charts, specifies
+ the rotation direction of the pie. The value
+ AxisOrientation::MATHEMATICAL rotates the pie
+ counterclockwise, the value AxisOrientation::REVERSE
+ rotates the pie clockwise.</p>
+
+ <p>Note: Is this a good place for the axis orientation? Two axes may
+ use the same scale, but point into two different directions.</p>
+ */
+ AxisOrientation Orientation;
+
+ XScaling Scaling;
+
+ com::sun::star::chart2::data::XLabeledDataSequence Categories;
+
+ /** describes the type of the axis.
+
+ <p>It can be a real number axis or a category axis or something else.
+ AxisType is one value out of the constant group AxisType.</p>
+ */
+ long AxisType;
+
+ /** if true an AxisType CATEGORY is interpreted as DATE if the underlying data given in Categories are dates
+ */
+ boolean AutoDateAxis;
+
+ /** describes whether data points on category or date axis are placed between tickmarks or not
+ if true the maximum on the scale will be expanded for one interval
+ */
+ boolean ShiftedCategoryPosition;
+
+ /** increment data to be used for not date-time axis
+ */
+ IncrementData IncrementData;
+
+ /** increment data to be used in case of date-time axis
+ */
+ ::com::sun::star::chart::TimeIncrement TimeIncrement;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/Scaling.idl b/offapi/com/sun/star/chart2/Scaling.idl
new file mode 100644
index 000000000..e68c52314
--- /dev/null
+++ b/offapi/com/sun/star/chart2/Scaling.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_chart2_Scaling_idl
+#define com_sun_star_chart2_Scaling_idl
+
+#include <com/sun/star/chart2/XScaling.idl>
+
+
+module com { module sun { module star { module chart2 {
+
+
+/** stateless service
+*/
+service Scaling : com::sun::star::chart2::XScaling;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/StackingDirection.idl b/offapi/com/sun/star/chart2/StackingDirection.idl
new file mode 100644
index 000000000..f39f56890
--- /dev/null
+++ b/offapi/com/sun/star/chart2/StackingDirection.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_chart2_StackingDirection_idl
+#define com_sun_star_chart2_StackingDirection_idl
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+enum StackingDirection
+{
+ NO_STACKING,
+ Y_STACKING,
+ Z_STACKING
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/StandardDiagramCreationParameters.idl b/offapi/com/sun/star/chart2/StandardDiagramCreationParameters.idl
new file mode 100644
index 000000000..2546aef50
--- /dev/null
+++ b/offapi/com/sun/star/chart2/StandardDiagramCreationParameters.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_chart2_StandardDiagramCreationParameters_idl
+#define com_sun_star_chart2_StandardDiagramCreationParameters_idl
+
+#include <com/sun/star/beans/PropertyValue.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+/** parameters that may be passed to
+ XChartTypeTemplate::createDiagramByDataSource().
+ */
+service StandardDiagramCreationParameters
+{
+ /** States whether the first XLabeledDataSequence in
+ a data-source is used as categories.
+ */
+ [optional, property] boolean HasCategories;
+
+ /** If categories are given they should be used as x values also if a chart type requires x values.
+ Default is true.
+ */
+ [optional, property] boolean UseCategoriesAsX;
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/SubIncrement.idl b/offapi/com/sun/star/chart2/SubIncrement.idl
new file mode 100644
index 000000000..b771ccac5
--- /dev/null
+++ b/offapi/com/sun/star/chart2/SubIncrement.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_chart2_SubIncrement_idl
+#define com_sun_star_chart2_SubIncrement_idl
+
+
+module com { module sun { module star { module chart2 {
+
+
+struct SubIncrement
+{
+ /** should contain nothing for <em>auto</em>, or an integer value
+ for an explicit interval count.
+ */
+ any IntervalCount;
+
+ /** should contain nothing for <em>auto</em>, or a boolean value
+ for an explicit setting.
+ */
+ any PostEquidistant;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/Symbol.idl b/offapi/com/sun/star/chart2/Symbol.idl
new file mode 100644
index 000000000..6187a9b42
--- /dev/null
+++ b/offapi/com/sun/star/chart2/Symbol.idl
@@ -0,0 +1,104 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef com_sun_star_chart2_Symbol_idl
+#define com_sun_star_chart2_Symbol_idl
+
+#include <com/sun/star/drawing/PolyPolygonBezierCoords.idl>
+#include <com/sun/star/awt/Size.idl>
+#include <com/sun/star/graphic/XGraphic.idl>
+#include <com/sun/star/chart2/SymbolStyle.idl>
+
+
+module com { module sun { module star { module chart2 {
+
+
+/** properties that are used for DataSeries that display symbols.
+ */
+struct Symbol
+{
+ /** determines which of the following members determines the
+ appearance of the symbol.
+ */
+ SymbolStyle Style;
+
+ /** The given polygon is used as symbol.
+ */
+ com::sun::star::drawing::PolyPolygonBezierCoords PolygonCoords;
+
+ /** Use the nth standard symbol, if #Style is set
+ to SymbolStyle::STANDARD.
+
+ <p>If n is the number of standard symbols available in an
+ implementation, the symbol number is
+ #StandardSymbol modulo n.</p>
+
+ <p>The default implementation for example currently uses 8 different
+ standard symbols that are matched to the numbers 0 to 7.
+
+ <table border=1>
+ <tr><th>&nbsp;value StandardSymbol&nbsp;</th><th>&nbsp;visible Symbol&nbsp;</th></tr>
+ <tr><td><code>0</code></td><td>square</td></tr>
+ <tr><td><code>1</code></td><td>diamond</td></tr>
+ <tr><td><code>2</code></td><td>down arrow</td></tr>
+ <tr><td><code>3</code></td><td>up arrow</td></tr>
+ <tr><td><code>4</code></td><td>right arrow</td></tr>
+ <tr><td><code>5</code></td><td>left arrow</td></tr>
+ <tr><td><code>6</code></td><td>bowtie</td></tr>
+ <tr><td><code>7</code></td><td>sandglass</td></tr>
+ </table>
+
+ </p>
+ */
+ long StandardSymbol;
+
+ /** use this graphic as symbol
+ */
+ com::sun::star::graphic::XGraphic Graphic;
+
+ /** The size of the symbol in 100th of a mm.
+
+ @todo use a structure using doubles instead of longs
+ */
+ com::sun::star::awt::Size Size;
+
+ /** The color used for drawing the border of symbols.
+
+ <p>Only effective if #Style is
+ SymbolStyle::AUTO,
+ SymbolStyle::STANDARD or
+ SymbolStyle::POLYGON.</p>
+ */
+ long BorderColor;
+
+ /** The color used for filling symbols that contain closed polygons.
+
+ <p>Only effective if #Style is
+ SymbolStyle::AUTO,
+ SymbolStyle::STANDARD or
+ SymbolStyle::POLYGON.</p>
+ */
+ long FillColor;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/SymbolStyle.idl b/offapi/com/sun/star/chart2/SymbolStyle.idl
new file mode 100644
index 000000000..794ce773b
--- /dev/null
+++ b/offapi/com/sun/star/chart2/SymbolStyle.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_chart2_SymbolStyle_idl
+#define com_sun_star_chart2_SymbolStyle_idl
+
+
+module com { module sun { module star { module chart2 {
+
+
+/** determines what kind of symbol to use
+ */
+enum SymbolStyle
+{
+ /** The symbol is invisible
+ */
+ NONE,
+
+ /** The symbol is taken automatically.
+
+ <p>This will typically be the nth standard symbol for the nth
+ data series.</p>
+ */
+ AUTO,
+
+ /** uses one of the standard symbols. Which standard symbol is
+ given in Symbol::StandardSymbol.
+ */
+ STANDARD,
+
+ /** uses the symbol given in the
+ com::sun::star::drawing::PolyPolygonBezierCoords
+ given in Symbol::PolygonCoords.
+ */
+ POLYGON,
+
+ /** uses the graphic given in
+ Symbol::Graphic as symbol.
+ */
+ GRAPHIC
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/TickmarkStyle.idl b/offapi/com/sun/star/chart2/TickmarkStyle.idl
new file mode 100644
index 000000000..375d40073
--- /dev/null
+++ b/offapi/com/sun/star/chart2/TickmarkStyle.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_chart2_TickmarkStyle_idl
+#define com_sun_star_chart2_TickmarkStyle_idl
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+constants TickmarkStyle
+{
+ /** Do not display any marks.
+ */
+ const long NONE = 0;
+
+ /** Display marks that point into the diagram area.
+ */
+ const long INNER = 1;
+
+ /** Display marks that point out of the diagram area.
+ */
+ const long OUTER = 2;
+
+ // note: to get both, add INNER and OUTER
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/Title.idl b/offapi/com/sun/star/chart2/Title.idl
new file mode 100644
index 000000000..96efb48f7
--- /dev/null
+++ b/offapi/com/sun/star/chart2/Title.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_chart2_Title_idl
+#define com_sun_star_chart2_Title_idl
+
+#include <com/sun/star/style/ParagraphProperties.idl>
+#include <com/sun/star/chart2/XTitle.idl>
+#include <com/sun/star/chart2/RelativePosition.idl>
+#include <com/sun/star/beans/PropertySet.idl>
+#include <com/sun/star/drawing/LineProperties.idl>
+#include <com/sun/star/drawing/FillProperties.idl>
+//FIXME does not exist <com/sun/star/layout/LayoutElement.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+service Title
+{
+ /** only mandatory properties
+ */
+ service ::com::sun::star::style::ParagraphProperties;
+ service ::com::sun::star::drawing::FillProperties;
+ service ::com::sun::star::drawing::LineProperties;
+ service ::com::sun::star::beans::PropertySet;
+//FIXME [optional] service ::com::sun::star::layout::LayoutElement;
+
+ interface XTitle;
+
+ /** the rotation of the title's text in degrees in the range
+ [0,360).
+ */
+ [property] double TextRotation;
+
+ /** writes the characters of the title on top of each other if set
+ to `TRUE`.
+ */
+ [property] boolean StackCharacters;
+
+ /** The position is a relative position on the page.
+
+ <p>If a relative position is given the title is not automatically placed,
+ but instead is placed relative on the page.</p>
+ */
+ [property, maybevoid] ::com::sun::star::chart2::RelativePosition RelativePosition;
+
+
+ /** contains the size of the page at the time when properties were
+ set (e.g. the CharHeight).
+
+ <p>This way it is possible to resize objects (like text) in
+ the view without modifying the model.</p>
+ */
+ [property, maybevoid] com::sun::star::awt::Size ReferencePageSize;
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/TransparencyStyle.idl b/offapi/com/sun/star/chart2/TransparencyStyle.idl
new file mode 100644
index 000000000..4c43b1f7d
--- /dev/null
+++ b/offapi/com/sun/star/chart2/TransparencyStyle.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_chart2_TransparencyStyle_idl
+#define com_sun_star_chart2_TransparencyStyle_idl
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+enum TransparencyStyle
+{
+ /** no transparency attribute is evaluated
+ */
+ NONE,
+
+ /** The property Transparency is evaluated, TransparencyGradient
+ is ignored
+ */
+ LINEAR,
+
+ /** The property TransparencyGradient is evaluated, Transparency
+ is ignored
+ */
+ GRADIENT
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/XAnyDescriptionAccess.idl b/offapi/com/sun/star/chart2/XAnyDescriptionAccess.idl
new file mode 100644
index 000000000..551709daf
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XAnyDescriptionAccess.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_chart2_XAnyDescriptionAccess_idl__
+#define __com_sun_star_chart2_XAnyDescriptionAccess_idl__
+
+#include <com/sun/star/chart/XComplexDescriptionAccess.idl>
+
+
+ module com { module sun { module star { module chart2 {
+
+
+/** Offers any access to column and row descriptions.
+This allows to set date values as categories.
+
+<p>Can be obtained from interface XChartDocument via method getData().</p>
+
+@since OOo 3.4
+*/
+
+interface XAnyDescriptionAccess : ::com::sun::star::chart::XComplexDescriptionAccess
+{
+
+ /** retrieves the descriptions for all rows.
+
+ @returns
+ a sequence of sequences of anys representing the descriptions
+ of all rows. The outer index represents different rows.
+ The inner index represents the different levels (usually there is only one).
+ The any might be strings for category text axis or doubles for date axis.
+ */
+ sequence< sequence< any > > getAnyRowDescriptions();
+
+
+ /** sets the descriptions for all rows.
+
+ @param rRowDescriptions
+ a sequence of sequences of anys representing the descriptions of all
+ rows. The outer index represents different rows.
+ The inner index represents the different levels (usually there is only one).
+ The any might be strings for category text axis or doubles for date axis.
+ */
+ void setAnyRowDescriptions( [in] sequence< sequence< any > > rRowDescriptions );
+
+
+ /** retrieves the descriptions for all columns.
+
+ @returns
+ a sequence of sequences of anys representing the descriptions
+ of all columns. The outer index represents different columns.
+ The inner index represents the different levels (usually there is only one).
+ The any might be strings for category text axis or doubles for date axis.
+ */
+ sequence< sequence< any > > getAnyColumnDescriptions();
+
+
+ /** sets the descriptions for all columns.
+
+ @param rColumnDescriptions
+ a sequence of sequences of anys which represent the descriptions of
+ all columns. The outer index represents different columns.
+ The inner index represents the different levels (usually there is only one).
+ The any might be strings for category text axis or doubles for date axis.
+ */
+ void setAnyColumnDescriptions( [in] sequence< sequence< any > > rColumnDescriptions );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/XAxis.idl b/offapi/com/sun/star/chart2/XAxis.idl
new file mode 100644
index 000000000..7c2964a5a
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XAxis.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_chart2_XAxis_idl
+#define com_sun_star_chart2_XAxis_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/chart2/ScaleData.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+interface XAxis : ::com::sun::star::uno::XInterface
+{
+ void setScaleData( [in] ScaleData aScale );
+
+ ScaleData getScaleData();
+
+ /** the returned property set must support the service
+ GridProperties
+ */
+ com::sun::star::beans::XPropertySet getGridProperties();
+
+ /** the returned property sets must support the service
+ GridProperties
+
+ <p>If you do not want to render certain a sub-grid, in the
+ corresponding XPropertySet the property
+ GridProperties::Show must be `FALSE`.</p>
+ */
+ sequence< com::sun::star::beans::XPropertySet > getSubGridProperties();
+
+ /** the returned property sets must support the service
+ TickProperties
+ */
+ sequence< com::sun::star::beans::XPropertySet > getSubTickProperties();
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/XChartDocument.idl b/offapi/com/sun/star/chart2/XChartDocument.idl
new file mode 100644
index 000000000..484d4c256
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XChartDocument.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_chart2_XChartDocument_idl
+#define com_sun_star_chart2_XChartDocument_idl
+
+#include <com/sun/star/chart2/XDiagram.idl>
+#include <com/sun/star/chart2/XChartTypeManager.idl>
+#include <com/sun/star/chart2/data/XDataProvider.idl>
+#include <com/sun/star/frame/XModel.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/util/CloseVetoException.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+interface XChartDocument : ::com::sun::star::frame::XModel
+{
+ /** @todo allow more than one diagram
+
+ <p>Notes: this is preliminary, we need an API that supports
+ more than one diagram. The method name getDiagram exists in
+ the css.chart API, so there is would be no way to choose either
+ this or the other method from Basic (it would chose one or the
+ other by random).</p>
+ */
+ XDiagram getFirstDiagram();
+
+ /** @todo allow more than one diagram
+
+ <p>Notes: this is preliminary, we need an API that supports
+ more than one diagram. The method name setDiagram exists in
+ the css.chart API, so there is would be no way to choose either
+ this or the other method from Basic (it would chose one or the
+ other by random).</p>
+ */
+ void setFirstDiagram( [in] XDiagram xDiagram );
+
+ /** creates an internal
+ com::sun::star::chart2::XDataProvider that
+ is handled by the chart document itself.
+
+ <p>When the model is stored, the data provider will also be
+ stored in a sub-storage.</p>
+
+ @param bCloneExistingData
+ if `TRUE` and a data provider was previously attached,
+ its referred data will be copied to the new internal data
+ provider. Note, that the range representation set before
+ will usually change after cloning.</p>
+
+ @throws com::sun::star::util:CloseVetoException
+ If the new data provider could not be created due to a
+ failed removal of the former data provider.
+ */
+ void createInternalDataProvider( [in] boolean bCloneExistingData )
+ raises( com::sun::star::util::CloseVetoException );
+
+ /** @return `TRUE` if the data provider set at the chart document
+ is an internal one.
+
+ <p>This is the case directly after
+ createInternalDataProvider() has been called,
+ but this is not necessary. The chart can also create an
+ internal data provider by other means, e.g. a call to
+ com::sun::star::frame::XModel::initNew().
+ </p>
+ */
+ boolean hasInternalDataProvider();
+
+ /** Returns the currently set data provider. This may be an
+ internal one, if createInternalDataProvider()
+ has been called before, or an external one if
+ XDataReceiver::attachDataProvider() has been
+ called.
+ */
+ com::sun::star::chart2::data::XDataProvider getDataProvider();
+
+ /** sets a new component that is able to create different chart
+ type templates (components of type
+ ChartTypeTemplate)
+ */
+ void setChartTypeManager( [in] XChartTypeManager xNewManager );
+
+ /** retrieves the component that is able to create different chart
+ type templates (components of type
+ ChartTypeTemplate)
+ */
+ XChartTypeManager getChartTypeManager();
+
+ /** Gives access to the page background appearance.
+
+ @return
+ the properties of the background area of the chart
+ document.
+
+ <p>The area's extent is equal to the document size. If you
+ want to access properties of the background area of a single
+ diagram (the part where data points are actually plotted in),
+ you have to get its wall. You can get the wall by calling
+ XDiagram::getWall().</p>
+ */
+ com::sun::star::beans::XPropertySet getPageBackground();
+
+ /** Creates a default chart type for a brand-new chart object.
+ */
+ void createDefaultChart();
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/XChartShape.idl b/offapi/com/sun/star/chart2/XChartShape.idl
new file mode 100644
index 000000000..08bab11ce
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XChartShape.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_chart2_XChartShape_idl
+#define com_sun_star_chart2_XChartShape_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/beans/UnknownPropertyException.idl>
+#include <com/sun/star/beans/PropertyVetoException.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#include <com/sun/star/awt/Point.idl>
+#include <com/sun/star/awt/Size.idl>
+
+
+
+module com { module sun { module star { module chart2 {
+
+
+/**
+this interface is used for a wrapper of objects implementing the service com::sun::star::drawing::Shape
+*/
+
+//interface XChartShape : ::com::sun::star::beans::XPropertySet
+interface XChartShape : ::com::sun::star::uno::XInterface
+{
+ /** the method corresponds to the identical methods of the interface com::sun::star::beans::XPropertySet
+ */
+ void setPropertyValue( [in] string aPropertyName,
+ [in] any aValue )
+ raises( com::sun::star::beans::UnknownPropertyException,
+ com::sun::star::beans::PropertyVetoException,
+ com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::lang::WrappedTargetException );
+
+ /** the method corresponds to the identical methods of the interface com::sun::star::beans::XPropertySet
+ */
+ any getPropertyValue( [in] string PropertyName )
+ raises( com::sun::star::beans::UnknownPropertyException,
+ com::sun::star::lang::WrappedTargetException );
+
+ /** the method corresponds to the identical methods of the interface com::sun::star::drawing::XShape
+ */
+ com::sun::star::awt::Point getPosition();
+
+ /** the method corresponds to the identical methods of the interface com::sun::star::drawing::XShape
+ */
+ void setPosition( [in] com::sun::star::awt::Point aPosition );
+
+ /** the method corresponds to the identical methods of the interface com::sun::star::drawing::XShape
+ */
+ com::sun::star::awt::Size getSize();
+
+ /** the method corresponds to the identical methods of the interface com::sun::star::drawing::XShape
+ */
+ void setSize( [in] com::sun::star::awt::Size aSize )
+ raises( com::sun::star::beans::PropertyVetoException );
+
+ /** the method corresponds to the identical methods of the interface com::sun::star::drawing::XShape
+ * ??????????? deprecated
+ *
+ */
+ string getShapeType();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/XChartShapeContainer.idl b/offapi/com/sun/star/chart2/XChartShapeContainer.idl
new file mode 100644
index 000000000..ee8384b23
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XChartShapeContainer.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_chart2_XChartShapeContainer_idl
+#define com_sun_star_chart2_XChartShapeContainer_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/drawing/XShape.idl>
+
+
+module com { module sun { module star { module chart2 {
+
+
+interface XChartShapeContainer : ::com::sun::star::uno::XInterface
+{
+ /** a renderer creates ChartShapes and adds it to this container
+ */
+ void addShape( [in] com::sun::star::drawing::XShape xShape );
+
+ /** a renderer can remove ChartShapes from this container (e.g. if the visible range has changed)
+ */
+ void removeShape( [in] com::sun::star::drawing::XShape xShape );
+ com::sun::star::drawing::XShape getShape();
+
+ //... provide something for creation of Transformation ...
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/XChartType.idl b/offapi/com/sun/star/chart2/XChartType.idl
new file mode 100644
index 000000000..67b12b50e
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XChartType.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_chart2_XChartType_idl
+#define com_sun_star_chart2_XChartType_idl
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/chart2/XCoordinateSystem.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+interface XChartType : com::sun::star::uno::XInterface
+{
+ /** A string representation of the chart type.
+ This needs to be the service-name which can be used to create a chart type.
+ */
+ string getChartType();
+
+ /** Creates a coordinate systems that fits the chart-type with its
+ current settings and for the given dimension.
+
+ @throws IllegalArgumentException
+ This chart type cannot be displayed in the given dimension.
+ */
+ XCoordinateSystem createCoordinateSystem( [in] long DimensionCount )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** Returns a sequence of roles that are understood by this chart
+ type.
+
+ <p>All roles must be listed in the order in which they are
+ usually parsed. This ensures that gluing sequences together
+ and splitting them up apart again results in the same
+ structure as before.</p>
+
+ <p>Note, that this does not involve optional roles, like
+ error-bars.</p>
+ */
+ sequence< string > getSupportedMandatoryRoles();
+
+ /** Returns a sequence of roles that are understood in addition to
+ the mandatory roles (see
+ XChartType::getSupportedMandatoryRoles()).
+
+ <p>An example for an optional role are error-bars.</p>
+ */
+ sequence< string > getSupportedOptionalRoles();
+
+ /** Returns a sequence with supported property mapping roles.
+
+ <p>An example for a property mapping role is FillColor.</p>
+ */
+ sequence< string > getSupportedPropertyRoles();
+
+ /** Returns the role of the XLabeledDataSequence of
+ which the label will be taken to identify the
+ DataSeries in dialogs or the legend.
+ */
+ string getRoleOfSequenceForSeriesLabel();
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/XChartTypeContainer.idl b/offapi/com/sun/star/chart2/XChartTypeContainer.idl
new file mode 100644
index 000000000..12c1a7bd4
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XChartTypeContainer.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_chart2_XChartTypeContainer_idl
+#define com_sun_star_chart2_XChartTypeContainer_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/chart2/XChartType.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/container/NoSuchElementException.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+interface XChartTypeContainer : com::sun::star::uno::XInterface
+{
+ /** add a chart type to the chart type container
+
+ @throws IllegalArgumentException
+ If the given chart type is already contained in the chart type container.
+ */
+ void addChartType( [in] XChartType aChartType )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** removes one data series from the chart type container.
+ */
+ void removeChartType( [in] XChartType aChartType )
+ raises( com::sun::star::container::NoSuchElementException );
+
+ /** retrieve all chart types
+ */
+ sequence< XChartType > getChartTypes();
+
+ /** set all chart types
+ */
+ void setChartTypes( [in] sequence< XChartType > aChartTypes )
+ raises( com::sun::star::lang::IllegalArgumentException );
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/XChartTypeManager.idl b/offapi/com/sun/star/chart2/XChartTypeManager.idl
new file mode 100644
index 000000000..abafeb346
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XChartTypeManager.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_chart2_XChartTypeManager_idl
+#define com_sun_star_chart2_XChartTypeManager_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/chart2/XChartTypeTemplate.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+interface XChartTypeManager : ::com::sun::star::uno::XInterface
+{
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/XChartTypeTemplate.idl b/offapi/com/sun/star/chart2/XChartTypeTemplate.idl
new file mode 100644
index 000000000..147343d4b
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XChartTypeTemplate.idl
@@ -0,0 +1,224 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef com_sun_star_chart2_XChartTypeTemplate_idl
+#define com_sun_star_chart2_XChartTypeTemplate_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/chart2/XDiagram.idl>
+#include <com/sun/star/chart2/data/XDataSource.idl>
+#include <com/sun/star/chart2/XChartType.idl>
+#include <com/sun/star/chart2/XDataInterpreter.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+interface XChartTypeTemplate : ::com::sun::star::uno::XInterface
+{
+ /** Creates a new diagram based upon the given data .
+
+ @param xDataSource
+ This data source will be interpreted in a chart-type
+ specific way and appropriate DataSeries will
+ be created which serve as input for the new diagram.
+
+ @param aArguments
+ Arguments that tell the template how to slice the given
+ range. The properties should be defined in a separate
+ service.
+
+ <p>For standard parameters that may be used, see the
+ service StandardDiagramCreationParameters.
+ </p>
+
+ @return
+ The new diagram which represents this
+ ChartTypeTemplate.
+ */
+ XDiagram createDiagramByDataSource(
+ [in] com::sun::star::chart2::data::XDataSource xDataSource,
+ [in] sequence< com::sun::star::beans::PropertyValue > aArguments );
+
+ /** @return
+ `TRUE` if the template does support categories
+ */
+ boolean supportsCategories();
+
+ /** Analyses the given diagram and reinterprets its
+ DataSeries and Categories and
+ creates a new diagram based on these series.
+
+ <p>Note, that if matchesTemplate() returns
+ `TRUE` for the given XDiagram, the latter should
+ not be changed.</p>
+
+ @param xDiagram
+ The diagram given will be modified such that it represents
+ this ChartTypeTemplate.
+ */
+ void changeDiagram( [in] XDiagram xDiagram );
+
+ /** Changes the given diagram <code>xDiagram</code> by using the
+ new data given in <code>xDataSource</code>.
+
+ <p>Note that the data is interpreted in a way that fits this
+ template, but not necessarily the chart-types of the diagram.
+ This method should only be called if the data-format of the
+ diagram is compatible with the data-format of this
+ template.</p>
+
+ <p>Ideally a matchesTemplate() call for the
+ given diagram should return `TRUE` before this method is
+ called.</p>
+
+ @param xDiagram
+ The diagram to be changed.
+
+ @param xDataSource
+ This data source will be interpreted in a chart-type
+ specific way and the DataSeries found in
+ <code>xDiagram</code> will be adapted to the new data.
+ Missing data series will be created and unused ones will
+ be deleted in <code>xDiagram</code>.
+
+ @param aArguments
+ Arguments that tell the template how to slice the given
+ range. The properties should be defined in a separate
+ service.
+
+ <p>For standard parameters that may be used, see the
+ service StandardDiagramCreationParameters.
+ </p>
+ */
+ void changeDiagramData(
+ [in] XDiagram xDiagram,
+ [in] com::sun::star::chart2::data::XDataSource xDataSource,
+ [in] sequence< com::sun::star::beans::PropertyValue > aArguments );
+
+ /** States whether the given diagram could have been created by
+ the template.
+
+ <p>The template will parse the DataSeriesTree of
+ the diagram to determine if the structure matches the one
+ which would have been created by
+ createDiagramByDataSource().</p>
+
+ <p>For analysis all parts of the diagram may be used,
+ e.g. also properties set at the data series (like symbols)./p>
+
+ @param xDiagram
+ The diagram to be analyzed.
+
+ @param bAdaptProperties
+ If `TRUE` the properties of the template are set, such
+ that the template matches more accurately. E.g. for a
+ line-chart with symbols the property "Symbol" would be set
+ to `TRUE`. If this parameter is `FALSE` the template
+ itself stays unmodified.
+
+ @return
+ `TRUE` if the diagram given is structurally identical to
+ a diagram that was created using
+ createDiagramByDataSource() or
+ changeDiagram(). If `FALSE` is returned
+ the template stays unmodified even if
+ <code>bAdaptProperties</code> is `TRUE`.
+ */
+ boolean matchesTemplate( [in] XDiagram xDiagram,
+ [in] boolean bAdaptProperties );
+
+ /** Provides a chart type object that can be used to create new
+ series.
+
+ @param aFormerlyUsedChartTypes
+ The list can be used to copy some aspects from old chart types during the creation of a new chart type.
+ The list might be empty.
+ */
+ XChartType getChartTypeForNewSeries( [in] sequence< XChartType > aFormerlyUsedChartTypes );
+
+ /**
+ This used to have a return type of XDataInterpreter.
+ Then I removed the whole XChartTypeTemplate interface in
+ commit 58766f997d59e4684f2887fd8cdeb12d2f8a9366.
+ Which turned out to be a bad idea, so I restored it.
+ I restored it in this form because I want to restore binary compatibily with vtable
+ layout, but I don't want to restore the XDataInterpreter stuff, which was not
+ useful for external use.
+ */
+ com::sun::star::uno::XInterface getDataInterpreter();
+
+ /** Applies a chart-type specific style (e.g. symbols) to all series in the
+ sequence aSeries.
+
+ @param xSeries
+ a single data series to which a style will be applied
+
+ @param nChartTypeGroupIndex
+ Denotes in which chart-type group the series lies, such this method
+ can apply different styles for different chart-type groups
+
+ @param nSeriesIndex
+ The index of the series inside the current chart-type group.
+ nSeriesIndex does not uniquely identify a data series alone, but
+ only together with nChartTypeGroupIndex
+
+ @param nSeriesCount
+ The number of series in the current chart-type group.
+
+ @todo In the future, this should only change the "Style" property and no
+ hard attributes.
+ */
+ void applyStyle( [in] XDataSeries xSeries,
+ [in] long nChartTypeGroupIndex,
+ [in] long nSeriesIndex,
+ [in] long nSeriesCount );
+
+ /** Resets all styles that were changed from the default at any
+ object in the chart and have not been later modified.
+
+ <p>In createDiagramByDataSource() or
+ changeDiagram() a template might e.g. change
+ the page background color or the line style of all data
+ series. This method should reset all objects that still have
+ the changed settings to the default.</p>
+
+ <p>If for example the template changed the
+ com::sun::star::drawing::LineStyle of all
+ series to NONE, this method should reset all series with
+ LineStyle NONE back to SOLID. If a series has a style DASH,
+ it must not be changed.</p>
+ */
+ void resetStyles( [in] XDiagram xDiagram );
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/XColorScheme.idl b/offapi/com/sun/star/chart2/XColorScheme.idl
new file mode 100644
index 000000000..133d675c9
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XColorScheme.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_chart2_XColorScheme_idl
+#define com_sun_star_chart2_XColorScheme_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/util/Color.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+interface XColorScheme : ::com::sun::star::uno::XInterface
+{
+ /** returns the default color for the nth data series.
+
+ <p>This may be a system wide color or a color coming from a
+ color scheme.</p>
+
+ <p>Usually there exist a fixed number of default colors. This
+ method should always return a valid Color. If the index (i)
+ is higher than the number of default colors (n), the method
+ should return the modulus (i mod n), i.e., the colors should
+ repeat in a cyclic way.</p>
+
+ @param nIndex
+ The index of the series. This is used to obtain the
+ correct default color.
+ */
+ ::com::sun::star::util::Color getColorByIndex( [in] long nIndex );
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/XCoordinateSystem.idl b/offapi/com/sun/star/chart2/XCoordinateSystem.idl
new file mode 100644
index 000000000..be9478411
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XCoordinateSystem.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_chart2_XCoordinateSystem_idl
+#define com_sun_star_chart2_XCoordinateSystem_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#include <com/sun/star/chart2/XAxis.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+interface XCoordinateSystem : ::com::sun::star::uno::XInterface
+{
+ /** the dimension of the coordinate-system.
+ */
+ long getDimension();
+
+ /** identifies the type of coordinate system (e.g. Cartesian, polar ...)
+ */
+ string getCoordinateSystemType();
+
+ /** return a service name from which the view component for this coordinate system can be created
+ */
+ string getViewServiceName();
+
+ /** The dimension says whether it is a x, y or z axis.
+ The index says whether it is a primary or a secondary axis.
+ Use nIndex == 0 for a primary axis.
+ */
+ void setAxisByDimension( [in] long nDimension,
+ [in] XAxis xAxis,
+ [in] long nIndex )
+ raises( com::sun::star::lang::IndexOutOfBoundsException );
+
+ /** The dimension says whether it is a x, y or z axis.
+ The index indicates whether it is a primary or a secondary axis or maybe more in future.
+ Use nIndex == 0 for a primary axis.
+ An empty Reference will be returned if the given nDimension and nIndex are in the valid range but no axis is set for those values.
+ An IndexOutOfBoundsException will be thrown if nDimension is lower than 0 or greater than the value returned by getDimension()
+ and/or if nIndex is lower 0 or greater than the value returned by getMaxAxisIndexByDimension(nDimension).
+ */
+ XAxis getAxisByDimension( [in] long nDimension, [in] long nIndex )
+ raises( com::sun::star::lang::IndexOutOfBoundsException );
+
+ /** In one dimension there could be several axes to enable main and secondary axis and maybe more in future.
+ This method returns the maximum index at which an axis exists for the given dimension.
+ It is allowed that some indexes in between do not have an axis.
+ */
+ long getMaximumAxisIndexByDimension( [in] long nDimension )
+ raises( com::sun::star::lang::IndexOutOfBoundsException );
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/XCoordinateSystemContainer.idl b/offapi/com/sun/star/chart2/XCoordinateSystemContainer.idl
new file mode 100644
index 000000000..94bdb19fe
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XCoordinateSystemContainer.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_chart2_XCoordinateSystemContainer_idl
+#define com_sun_star_chart2_XCoordinateSystemContainer_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/chart2/XCoordinateSystem.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/container/NoSuchElementException.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+interface XCoordinateSystemContainer : com::sun::star::uno::XInterface
+{
+ /** add a coordinate system to the coordinate system container
+
+ @throws IllegalArgumentException
+ If the given coordinate system is already contained in the container.
+ */
+ void addCoordinateSystem( [in] XCoordinateSystem aCoordSys )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** removes one coordinate system from the coordinate system container.
+ */
+ void removeCoordinateSystem( [in] XCoordinateSystem aCoordSys )
+ raises( com::sun::star::container::NoSuchElementException );
+
+ /** retrieve all coordinate systems
+ */
+ sequence< XCoordinateSystem > getCoordinateSystems();
+
+ /** set all coordinate systems
+ */
+ void setCoordinateSystems( [in] sequence< XCoordinateSystem > aCoordinateSystems )
+ raises( com::sun::star::lang::IllegalArgumentException );
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/XDataPointCustomLabelField.idl b/offapi/com/sun/star/chart2/XDataPointCustomLabelField.idl
new file mode 100644
index 000000000..8291e9001
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XDataPointCustomLabelField.idl
@@ -0,0 +1,71 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.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_chart2_DataPointCustomLabelField_idl
+#define com_sun_star_chart2_DataPointCustomLabelField_idl
+
+#include <com/sun/star/chart2/XFormattedString2.idl>
+#include <com/sun/star/chart2/DataPointCustomLabelFieldType.idl>
+
+module com { module sun { module star { module chart2 {
+
+/**
+ Provides interface for DataPointCustomLabelField service.
+
+ @since LibreOffice 6.1
+*/
+interface XDataPointCustomLabelField : XFormattedString2
+{
+ DataPointCustomLabelFieldType getFieldType();
+
+ void setFieldType( [in] DataPointCustomLabelFieldType fieldType );
+
+ string getGuid();
+
+ void setGuid( [in] string guid );
+
+ /**
+ Indicates whether the label field's content is sourced from a cell[range] or not.
+
+ @since LibreOffice 7.3
+ */
+ boolean getDataLabelsRange();
+
+ /**
+ Sets whether the label field's content is sourced from a cell[range] or not.
+
+ @since LibreOffice 7.3
+ */
+ void setDataLabelsRange( [in] boolean dataLabelsRange );
+
+ /**
+ Returns the address of the cell[range] from which the content of this field is sourced.
+
+ @since LibreOffice 7.3
+ */
+ string getCellRange();
+
+ /**
+ Sets the address of the cell[range] from which the content of this field is sourced.
+
+ @since LibreOffice 7.3
+ */
+ void setCellRange( [in] string cellRange );
+
+};
+
+
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/offapi/com/sun/star/chart2/XDataProviderAccess.idl b/offapi/com/sun/star/chart2/XDataProviderAccess.idl
new file mode 100644
index 000000000..e8d8b902d
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XDataProviderAccess.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_chart2_XDataProviderCreator_idl__
+#define __com_sun_star_chart2_XDataProviderCreator_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/chart/data/XDataProvider.idl>
+
+module com { module sun { module star { module chart2 {
+
+
+/** Provides access to chart2 data providers for a given document
+
+ @since LibreOffice 6.1
+
+ */
+interface XDataProviderAccess : com::sun::star::uno::XInterface
+{
+
+ /** creates a data provider for chart2, if possible
+
+ @see com::sun::star::chart2::data::XDataProvider
+
+ */
+ com::sun::star::chart2::data::XDataProvider createDataProvider();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/XDataSeries.idl b/offapi/com/sun/star/chart2/XDataSeries.idl
new file mode 100644
index 000000000..7af8cdd00
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XDataSeries.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_chart2_XDataSeries_idl
+#define com_sun_star_chart2_XDataSeries_idl
+
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+/** A data series represents the object that has all the knowledge to
+ be rendered as a visual data series.
+ */
+interface XDataSeries : ::com::sun::star::uno::XInterface
+{
+ /** @returns
+ the element at the specified index.
+
+ @param nIndex
+ specifies the index of the data point within the series. The first index is 0.
+
+ @throws com::sun::star::lang::IndexOutOfBoundsException
+ if the index is not valid.
+ */
+ ::com::sun::star::beans::XPropertySet getDataPointByIndex( [in] long nIndex )
+ raises( ::com::sun::star::lang::IndexOutOfBoundsException );
+
+ /** the formatting of the specified data point is cleared
+
+ @param nIndex
+ specifies the index of the data point within the series. The first index is 0.
+ */
+ void resetDataPoint( [in] long nIndex );
+
+ /** all data point formatting are cleared
+ */
+ void resetAllDataPoints();
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/XDataSeriesContainer.idl b/offapi/com/sun/star/chart2/XDataSeriesContainer.idl
new file mode 100644
index 000000000..2436953e7
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XDataSeriesContainer.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_chart2_XDataSeriesContainer_idl
+#define com_sun_star_chart2_XDataSeriesContainer_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/chart2/XDataSeries.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/container/NoSuchElementException.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+interface XDataSeriesContainer : com::sun::star::uno::XInterface
+{
+ /** add a data series to the data series container
+
+ @throws IllegalArgumentException
+ If the given data series is already contained in the data series container.
+ */
+ void addDataSeries( [in] XDataSeries aDataSeries )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** removes one data series from the data series container.
+ */
+ void removeDataSeries( [in] XDataSeries aDataSeries )
+ raises( com::sun::star::container::NoSuchElementException );
+
+ /** retrieve all data series
+ */
+ sequence< XDataSeries > getDataSeries();
+
+ /** set all data series
+ */
+ void setDataSeries( [in] sequence< XDataSeries > aDataSeries )
+ raises( com::sun::star::lang::IllegalArgumentException );
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/XDefaultSizeTransmitter.idl b/offapi/com/sun/star/chart2/XDefaultSizeTransmitter.idl
new file mode 100644
index 000000000..da4a4b1af
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XDefaultSizeTransmitter.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_chart2_xdefaultsizetransmitter_idl
+#define com_sun_star_chart2_xdefaultsizetransmitter_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/awt/Size.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+/** Allows to set a default size. This size will be used in case no further information si available.
+ */
+interface XDefaultSizeTransmitter : ::com::sun::star::uno::XInterface
+{
+ /** set a default size
+ @param aSize100ThMm
+ specifies a size in hundredth mm.
+ */
+ void setDefaultSize( [in] ::com::sun::star::awt::Size aSize100ThMm );
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/XDiagram.idl b/offapi/com/sun/star/chart2/XDiagram.idl
new file mode 100644
index 000000000..a878759be
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XDiagram.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_chart2_XDiagram_idl
+#define com_sun_star_chart2_XDiagram_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/chart2/XLegend.idl>
+#include <com/sun/star/chart2/XColorScheme.idl>
+#include <com/sun/star/chart2/data/XDataSource.idl>
+#include <com/sun/star/chart2/data/XLabeledDataSequence.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+interface XDiagram : ::com::sun::star::uno::XInterface
+{
+ /** returns the property set that determines the visual appearance
+ of the wall.
+
+ <p>The wall is the area behind the union of all
+ coordinate systems used in a diagram.</p>
+ */
+ com::sun::star::beans::XPropertySet getWall();
+
+ /** returns the property set that determines the visual appearance
+ of the floor if any.
+
+ <p>The floor is the bottom of a 3D diagram.
+ For a 2D diagram NULL is returned.</p>
+ */
+ com::sun::star::beans::XPropertySet getFloor();
+
+ /** returns the legend, which may represent data series and other
+ information about a diagram in a separate box.
+ */
+ XLegend getLegend();
+
+ /** sets a new legend.
+ */
+ void setLegend( [in] XLegend xLegend );
+
+ /** returns an XColorScheme that defines the default
+ colors for data series (or data points) in the diagram.
+ */
+ XColorScheme getDefaultColorScheme();
+
+ /** sets an XColorScheme that defines the default
+ colors for data series (or data points) in the diagram.
+ */
+ void setDefaultColorScheme( [in] XColorScheme xColorScheme );
+
+ /** sets new data to the diagram.
+
+ @param xDataSource
+ This data source will be interpreted in a chart-type
+ specific way and the DataSeries found in
+ <code>xDiagram</code> will be adapted to the new data.
+ Missing data series will be created and unused ones will
+ be deleted.
+
+ @param aArguments
+ Arguments tells how to slice the given data.
+
+ <p>For standard parameters that may be used, see the
+ service StandardDiagramCreationParameters.
+ </p>
+ */
+ void setDiagramData( [in] com::sun::star::chart2::data::XDataSource xDataSource,
+ [in] sequence< com::sun::star::beans::PropertyValue > aArguments );
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/XDiagramProvider.idl b/offapi/com/sun/star/chart2/XDiagramProvider.idl
new file mode 100644
index 000000000..fea934e4a
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XDiagramProvider.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_chart2_XDiagramProvider_idl
+#define com_sun_star_chart2_XDiagramProvider_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/chart2/XDiagram.idl>
+#include <com/sun/star/chart2/XChartTypeTemplate.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+/** Gives access to a single diagram. This interface is needed by the
+ wrapper for the old API (namespace com::sun::star::chart).
+ */
+interface XDiagramProvider : ::com::sun::star::uno::XInterface
+{
+ XDiagram getDiagram();
+
+ void setDiagram( [in] XDiagram xDiagram );
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/XFormattedString.idl b/offapi/com/sun/star/chart2/XFormattedString.idl
new file mode 100644
index 000000000..b16fe06c8
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XFormattedString.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_chart2_XFormattedString_idl
+#define com_sun_star_chart2_XFormattedString_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+interface XFormattedString : ::com::sun::star::uno::XInterface
+{
+ string getString();
+
+ void setString( [in] string String );
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/XFormattedString2.idl b/offapi/com/sun/star/chart2/XFormattedString2.idl
new file mode 100644
index 000000000..c780dd9e2
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XFormattedString2.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_chart2_XFormattedString2_idl
+#define com_sun_star_chart2_XFormattedString2_idl
+
+#include <com/sun/star/beans/XPropertySet.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/chart2/XFormattedString.idl>
+
+module com { module sun { module star { module chart2 {
+
+/**
+ Provides unified interface for FormattedString service.
+
+ @since LibreOffice 4.1
+*/
+interface XFormattedString2
+{
+ /** Access to various character properties.
+
+ Supports the properties of the
+ com::sun::star::style::CharacterProperties service, and also optionally
+ those of the com::sun::star::style::CharacterPropertiesAsian and
+ com::sun::star::style::CharacterPropertiesComplex services.
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+ interface com::sun::star::chart2::XFormattedString;
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/XInternalDataProvider.idl b/offapi/com/sun/star/chart2/XInternalDataProvider.idl
new file mode 100644
index 000000000..ed5c51868
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XInternalDataProvider.idl
@@ -0,0 +1,89 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef com_sun_star_chart2_XInternalDataProvider_idl
+#define com_sun_star_chart2_XInternalDataProvider_idl
+
+#include <com/sun/star/chart2/data/XDataProvider.idl>
+#include <com/sun/star/chart2/data/XDataSequence.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+/** An internal DataProvider that has more access to data than a plain
+ DataProvider.
+ */
+interface XInternalDataProvider : com::sun::star::chart2::data::XDataProvider
+{
+ boolean hasDataByRangeRepresentation( [in] string aRange );
+ sequence< any > getDataByRangeRepresentation( [in] string aRange );
+ void setDataByRangeRepresentation( [in] string aRange, [in] sequence< any > aNewData );
+
+ /** @note Note that -1 is allowed as the sequence is inserted
+ after the given index. So to insert a sequence as the
+ new first sequence (index 0), you would pass -1 here.
+ */
+ void insertSequence( [in] long nAfterIndex );
+ void deleteSequence( [in] long nAtIndex );
+ /** same as insertSequence with nAfterIndex being the largest
+ current index of the data, i.e. (size - 1)
+ */
+ void appendSequence();
+
+ void insertDataPointForAllSequences( [in] long nAfterIndex );
+ void deleteDataPointForAllSequences( [in] long nAtIndex );
+ void swapDataPointWithNextOneForAllSequences( [in] long nAtIndex );
+
+ /** If range representations of data sequences change due to
+ internal structural changes, they must be registered at the
+ data provider.
+
+ <p>Sequences that are directly retrieved via the methods of
+ the XDataProvider interface are already registered. If a
+ labeled data sequence was created by cloning an existing one,
+ it has to be explicitly registered via this method.</p>
+ */
+ void registerDataSequenceForChanges( [in] com::sun::star::chart2::data::XDataSequence xSeq );
+
+ /** insert an additional sequence for categories nLevel>=1;
+ categories at level 0 are always present and cannot be inserted or deleted
+ @since OOo 3.3
+ */
+ void insertComplexCategoryLevel( [in] long nLevel );
+ /** deletes an additional sequence for categories at nLevel>=1;
+ categories at level 0 are always present and cannot be deleted
+ @since OOo 3.3
+ */
+ void deleteComplexCategoryLevel( [in] long nLevel );
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/XLabeled.idl b/offapi/com/sun/star/chart2/XLabeled.idl
new file mode 100644
index 000000000..af05f9089
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XLabeled.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_chart2_XLabeled_idl
+#define com_sun_star_chart2_XLabeled_idl
+
+#include <com/sun/star/frame/XModel.idl>
+#include <com/sun/star/chart2/XTitle.idl>
+#include <com/sun/star/drawing/RectanglePoint.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+interface XLabeled
+{
+ void setLabel( [in] XTitle xTitle );
+
+ XTitle getLabel();
+
+ void setOwnAnchor( [in] ::com::sun::star::drawing::RectanglePoint aAnchorPoint );
+
+ ::com::sun::star::drawing::RectanglePoint getOwnAnchor();
+
+ void setLabelAnchor( [in] ::com::sun::star::drawing::RectanglePoint aAnchorPoint );
+
+ ::com::sun::star::drawing::RectanglePoint getLabelAnchor();
+
+ void setOffset( [in] sequence< double > aOffsetVector );
+
+ sequence< double > getOffset();
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/XLegend.idl b/offapi/com/sun/star/chart2/XLegend.idl
new file mode 100644
index 000000000..4db147376
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XLegend.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_chart2_XLegend_idl
+#define com_sun_star_chart2_XLegend_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+/** interface for the legend of a diagram
+ */
+interface XLegend : ::com::sun::star::uno::XInterface
+{
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/XRegressionCurve.idl b/offapi/com/sun/star/chart2/XRegressionCurve.idl
new file mode 100644
index 000000000..7db25123f
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XRegressionCurve.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_chart2_XRegressionCurve_idl
+#define com_sun_star_chart2_XRegressionCurve_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/chart2/XRegressionCurveCalculator.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+interface XRegressionCurve : com::sun::star::uno::XInterface
+{
+ XRegressionCurveCalculator getCalculator();
+
+ ::com::sun::star::beans::XPropertySet getEquationProperties();
+
+ void setEquationProperties( [in] ::com::sun::star::beans::XPropertySet xEquationProperties );
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/XRegressionCurveCalculator.idl b/offapi/com/sun/star/chart2/XRegressionCurveCalculator.idl
new file mode 100644
index 000000000..c4313f42b
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XRegressionCurveCalculator.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_chart2_XRegressionCurveCalculator_idl
+#define com_sun_star_chart2_XRegressionCurveCalculator_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/util/XNumberFormatsSupplier.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/geometry/RealPoint2D.idl>
+#include <com/sun/star/chart2/XScaling.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+interface XRegressionCurveCalculator : com::sun::star::uno::XInterface
+{
+ /** set calculation properties for curve calculation.
+
+ @param degree
+ Degree of polynomial regression curve, value should be greater than zero
+ If the curve is not polynomial, this property has no effect.
+
+ @param period
+ Period of a moving average regression curve, value should be greater or equal to 2
+ If the curve is not moving average regression curve, this property has no effect.
+
+ @param forceIntercept
+ Should force the intercept value.
+
+ @param interceptValue
+ Intercept value.
+
+ @param movingType
+ Only if regression type is "Moving Average"
+ @see ::com::sun::star::chart2::MovingAverageType
+
+ */
+ void setRegressionProperties( [in] long degree,
+ [in] boolean forceIntercept,
+ [in] double interceptValue,
+ [in] long period,
+ [in] long movingType);
+
+ /** recalculates the parameters of the internal regression curve according to
+ the <i>x</i>- and <i>y</i>-values given.
+
+ @param aXValues
+ All x-values that represent the measurement points on
+ which the regression is based
+
+ @param aYValues
+ All y-values that represent the measurement points on
+ which the regression is based
+ */
+ void recalculateRegression( [in] sequence< double > aXValues,
+ [in] sequence< double > aYValues);
+
+
+ /** calculates the value of the regression curve for <i>x</i>.
+
+ @param x
+ The abscissa value for which the value of the regression
+ curve should be calculated. All numbers that are part of
+ the domain of the regression function are valid.
+
+ @return
+ If <i>x</i> is element of the domain of the regression
+ curve function, the result is its value.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ If <i>x</i> is not part of the domain of the regression
+ function.
+ */
+ double getCurveValue( [in] double x )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** calculate multiple points of a regression curve at once. Note
+ that this method may optimize the output by returning less
+ points, e.g. for a line you may get only two resulting points
+ instead of nPointCount() points. This is only
+ allowed if the parameter
+ bMaySkipPointsInCalculation() is set to
+ `TRUE`.
+
+ <p>It is important that a renderer takes the scalings into
+ account. When one of these parameters is unknown, no
+ optimization must be done.</p>
+
+ @param min the abscissa value for the starting point.
+ @param max the abscissa value for the ending point.
+
+ @param nPointCount the number of points to calculate.
+
+ @param bMaySkipPointsInCalculation determines whether it is
+ allowed to skip points in the calculation. When this
+ parameter is `TRUE` it is assumed that the underlying
+ coordinate system is Cartesian.
+
+ @param xScalingX a scaling that is used for the values in
+ x-direction
+
+ @param xScalingY a scaling that is used for the values in
+ y-direction
+ */
+ sequence< com::sun::star::geometry::RealPoint2D > getCurveValues(
+ [in] double min,
+ [in] double max,
+ [in] long nPointCount,
+ [in] XScaling xScalingX,
+ [in] XScaling xScalingY,
+ [in] boolean bMaySkipPointsInCalculation )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** Returns the value of the correlation coefficient for the given
+ regression. This value is often denoted as <i>r</i> or
+ <i>R</i>.
+
+ <p>The value of <i>r</i> is signed. Often
+ <i>r</i><sup>2</sup> is used instead of <i>r</i> to denote
+ a regression curve's accuracy.</p>
+
+ @return
+ The return value is the fraction of the variance in the
+ data that is explained by the regression.
+ */
+ double getCorrelationCoefficient();
+
+ /** Retrieve a string showing the regression curve's function with
+ calculated parameters.
+
+ @return
+ The string returned contains the regression curve's
+ formula in a form <pre>"f(x) = ..."</pre>, where the
+ calculated parts are filled out. For a linear regression
+ you might get <pre>"f(x) = 0.341 x + 1.45"</pre>.
+ */
+ string getRepresentation();
+
+ /** Returns a representation using the given number format for formatting all numbers
+ contained in the formula. Wrap equation to fit in nFormulaLength characters
+
+ @see getRepresentation
+ */
+ string getFormattedRepresentation( [in] com::sun::star::util::XNumberFormatsSupplier xNumFmtSupplier,
+ [in] long nNumberFormatKey,
+ [in] long nFormulaLength );
+
+ /** Set the names of X and Y variables of the equation to replace "x" and "f(x)" in representation
+
+ @param aXName string of the name of X variable
+ @param aYName string of the name of Y variable
+ */
+ void setXYNames( [in] string aXName,
+ [in] string aYName );
+
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/XRegressionCurveContainer.idl b/offapi/com/sun/star/chart2/XRegressionCurveContainer.idl
new file mode 100644
index 000000000..05b76365b
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XRegressionCurveContainer.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_chart2_XRegressionCurveContainer_idl
+#define com_sun_star_chart2_XRegressionCurveContainer_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/chart2/XRegressionCurve.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/container/NoSuchElementException.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+interface XRegressionCurveContainer : com::sun::star::uno::XInterface
+{
+ /** add a regression curve to the container
+
+ @throws IllegalArgumentException
+ If the given regression curve is already contained in the
+ container.
+ */
+ void addRegressionCurve( [in] XRegressionCurve aRegressionCurve )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** removes one regression curve from the container.
+ */
+ void removeRegressionCurve( [in] XRegressionCurve aRegressionCurve )
+ raises( com::sun::star::container::NoSuchElementException );
+
+ /** retrieve all regression curves
+ */
+ sequence< XRegressionCurve > getRegressionCurves();
+
+ /** set all regression curves
+ */
+ void setRegressionCurves( [in] sequence< XRegressionCurve > aRegressionCurves )
+ raises( com::sun::star::lang::IllegalArgumentException );
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/XScaling.idl b/offapi/com/sun/star/chart2/XScaling.idl
new file mode 100644
index 000000000..fe9a3baff
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XScaling.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_chart2_XScaling_idl
+#define com_sun_star_chart2_XScaling_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module chart2 {
+
+
+interface XScaling : ::com::sun::star::uno::XInterface
+{
+ /**
+ * Given a numeric value, return the scaled value that conforms
+ * to a predefined scaling rule. For instance, for linear
+ * scaling, given a x value, the method may return a y value as
+ * defined by y = Ax + B for predefined values of A and B.
+ *
+ * @param value input value from which to calculate the scaled
+ * value.
+ *
+ * @return scaled value based on a predefined scaling rule.
+ */
+ double doScaling( [in] double value );
+
+ /**
+ * Get an interface object that conforms to a scaling rule that
+ * is the reverse of the original scaling rule.
+ *
+ * @return interface object that represents the reversed
+ * scaling rule.
+ */
+ com::sun::star::chart2::XScaling getInverseScaling();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/XTarget.idl b/offapi/com/sun/star/chart2/XTarget.idl
new file mode 100644
index 000000000..f0f914958
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XTarget.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef com_sun_star_chart2_XTarget_idl
+#define com_sun_star_chart2_XTarget_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module chart2 {
+
+//................... wrong --> XDrawGroup
+
+// [in] com::sun::star::drawing::XShapes xShapes
+
+interface XTarget : ::com::sun::star::uno::XInterface
+{
+ void addDrawElement(); //(DrawElement);
+
+ //... provide something for creation of Transformation ...
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/XTimeBased.idl b/offapi/com/sun/star/chart2/XTimeBased.idl
new file mode 100644
index 000000000..487e22ecb
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XTimeBased.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_chart2_XTimeBased_idl
+#define com_sun_star_chart2_XTimeBased_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module chart2 {
+
+interface XTimeBased : com::sun::star::uno::XInterface
+{
+
+ /**
+ * @return
+ * FALSE if the data wrapped around
+ */
+ boolean switchToNext( [in] boolean wrap);
+
+ /**
+ * point is the zero based index into the time based array
+ *
+ * @return FALSE if the point is outside of the supported array
+ */
+ boolean setToPointInTime( [in] long point );
+
+ void setRange( [in] long start, [in] long end );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/XTitle.idl b/offapi/com/sun/star/chart2/XTitle.idl
new file mode 100644
index 000000000..a1104cbc0
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XTitle.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_chart2_XTitle_idl
+#define com_sun_star_chart2_XTitle_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/chart2/XFormattedString.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+interface XTitle : ::com::sun::star::uno::XInterface
+{
+ sequence< XFormattedString > getText();
+
+ void setText( [in] sequence< XFormattedString > Strings );
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/XTitled.idl b/offapi/com/sun/star/chart2/XTitled.idl
new file mode 100644
index 000000000..80f03254c
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XTitled.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_chart2_XTitled_idl
+#define com_sun_star_chart2_XTitled_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/chart2/XTitle.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+/** Interface to be implemented by objects that support having a title of type
+ XTitle.
+ */
+interface XTitled : ::com::sun::star::uno::XInterface
+{
+ /** get the object holding the title's content and formatting
+ */
+ XTitle getTitleObject();
+
+ /** set a new title object replacing the former one
+ */
+ void setTitleObject( [in] XTitle Title );
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/data/DataFilter.idl b/offapi/com/sun/star/chart2/data/DataFilter.idl
new file mode 100644
index 000000000..9f1d831ab
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/DataFilter.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_chart2_data_DataFilter_idl
+#define com_sun_star_chart2_data_DataFilter_idl
+
+#include <com/sun/star/chart2/data/DataSource.idl>
+#include <com/sun/star/chart2/data/DataSink.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+module data
+{
+
+/** A filter gets some data and provides some data. The received data
+ is typically (but not necessarily) different from the data that
+ can be retrieved by a filter.
+ */
+service DataFilter
+{
+ /** A DataFilter is a DataSink, because you can set some data at a
+ DataFilter.
+ */
+ service DataSink;
+
+ /** A DataFilter is a DataSource, because you can get some data
+ from a DataFilter.
+ */
+ service DataSource;
+};
+
+} ; // data
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/data/DataProvider.idl b/offapi/com/sun/star/chart2/data/DataProvider.idl
new file mode 100644
index 000000000..bcda9996e
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/DataProvider.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_chart2_data_DataProvider_idl
+#define com_sun_star_chart2_data_DataProvider_idl
+
+#include <com/sun/star/chart2/data/XDataProvider.idl>
+#include <com/sun/star/chart2/data/XRangeXMLConversion.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+module data
+{
+
+service DataProvider
+{
+ /** For accessing data a component provides for being used by
+ charts.
+ */
+ interface ::com::sun::star::chart2::data::XDataProvider;
+
+ /** allows you to convert the ranges a data provider deals with
+ internally into valid XML.
+ */
+ [optional] interface ::com::sun::star::chart2::data::XRangeXMLConversion;
+
+ /** If set to false `FALSE`, values from hidden cells are not returned.
+ */
+ [optional, property] boolean IncludeHiddenCells;
+};
+
+} ; // data
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/data/DataSequence.idl b/offapi/com/sun/star/chart2/data/DataSequence.idl
new file mode 100644
index 000000000..34d655800
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/DataSequence.idl
@@ -0,0 +1,148 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef com_sun_star_chart2_data_DataSequence_idl
+#define com_sun_star_chart2_data_DataSequence_idl
+
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/container/XIndexReplace.idl>
+#include <com/sun/star/util/XCloneable.idl>
+#include <com/sun/star/util/XModifyBroadcaster.idl>
+#include <com/sun/star/chart2/data/XDataSequence.idl>
+#include <com/sun/star/chart2/data/XNumericalDataSequence.idl>
+#include <com/sun/star/chart2/data/XTextualDataSequence.idl>
+#include <com/sun/star/chart2/data/DataSequenceRole.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+module data
+{
+
+/** describes a container for a sequence of values.
+
+ <p>With the interface XDataSequence it is possible to
+ transfer a complete sequence of values.
+
+ <p>With the optional
+ com::sun::star::container::XIndexReplace it is
+ possible to modify single elements, if the corresponding
+ DataProvider supports modification of its values.</p>
+ */
+service DataSequence
+{
+ /** provides read- and write-access to the underlying data.
+ */
+ interface XDataSequence;
+
+ /** you may implement this interface to allow a fast access to
+ numerical data. With this interface you can get a
+ `sequence` of `double` values.
+ */
+ [optional] interface XNumericalDataSequence;
+
+ /** you may implement this interface to allow a fast access to
+ textual data. With this interface you can get a
+ `sequence` of `string` values.
+ */
+ [optional] interface XTextualDataSequence;
+
+ /** provides read- and write-access to single elements of the
+ underlying data.
+
+ <p>Only when supporting this interface, it is possible for
+ client applications to modify the content of the data that is
+ provided by this DataSequence.</p>
+ */
+ [optional] interface ::com::sun::star::container::XIndexReplace;
+
+ /** Allows creating copies of data sequences. If this interface
+ is not supported, the same object will be shared if used by
+ multiple objects.
+
+ <p>Cloning is especially useful when using identifiers. A
+ cloned data sequence will get a new identifier while the
+ source range representation is identical to the original
+ one.</p>
+
+ <p>Note that, when this interface is not implemented the
+ releasing of identifiers at the XDataProvider
+ will not work properly, because more than one object may use
+ the same identifier. So, when an object releases the
+ identifier, another object might use a stale identifier.</p>
+ */
+ [optional] interface ::com::sun::star::util::XCloneable;
+
+ /** is used to broadcast change events whenever the content (data)
+ or the range representations change.
+ */
+ interface com::sun::star::util::XModifyBroadcaster;
+
+ /** the property interface by which the properties of all
+ supported services are exchanged
+ */
+ interface ::com::sun::star::beans::XPropertySet;
+
+
+ /** The key (index) of the number format that this sequence should
+ be formatted with.
+
+ <p>The key identifies a number format in an
+ com::sun::star::util::XNumberFormats
+ object. This object can be retrieved by the
+ com::sun::star::util::XNumberFormatsSupplier
+ interface supported by
+ com::sun::star::chart::ChartDocument.</p>
+
+ @todo use proper number format instead of a transient key.
+ */
+// [optional, property] long NumberFormatKey;
+
+ /** The role of the series inside a data series. This may be any
+ string. However some strings are predefined and should always
+ be used in the same way.
+
+ @see DataSequenceRole
+ */
+ [property] DataSequenceRole Role;
+
+ /** If set to false `FALSE`, values from hidden cells are not returned.
+ */
+ [optional, property] boolean IncludeHiddenCells;
+
+ /** a sequence of indexes that identify values that are hidden in the underlying
+ data provider.
+ */
+ [optional, property] sequence< long > HiddenValues;
+};
+
+} ; // data
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/data/DataSequenceRole.idl b/offapi/com/sun/star/chart2/data/DataSequenceRole.idl
new file mode 100644
index 000000000..90fd2abd9
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/DataSequenceRole.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_chart2_data_DataSequenceRole_idl
+#define com_sun_star_chart2_data_DataSequenceRole_idl
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+module data
+{
+
+/** a string that states in what way a DataSequence
+ should be used. If this property is an empty string, no
+ proposition about usage is made.
+
+ <p>The strings can have any value. However some values are
+ predefined and should always be interpreted in the same way.</p>
+
+ <dl>
+ <dt>label</dt>
+ <dd>values are used as a label for a series. Usually, you
+ will have just one cell containing a string.</dd>
+ <dt>values-x</dt>
+ <dd>values are used as x-values in an XY- or bubble
+ diagram</dd>
+ <dt>values-y</dt>
+ <dd>values are used as y-values in an XY-Diagram or as values
+ in a bar, line, etc. chart</dd>
+ <dt>values-z</dt>
+ <dd>values may be used as z-values in a three-dimensional
+ XYZ-Diagram or a surface-chart</dd>
+ <dt>sizes</dt>
+ <dd>values are used as radius of the bubbles in a
+ Bubble-Diagram</dd>
+ <dt>error-bars-x-positive</dt>
+ <dd>values are used as error-information in positive x-direction for
+ displaying error-bars</dd>
+ <dt>error-bars-x-negative</dt>
+ <dd>values are used as error-information in negative x-direction for
+ displaying error-bars</dd>
+ <dt>error-bars-y-positive</dt>
+ <dd>values are used as error-information in positive y-direction for
+ displaying error-bars</dd>
+ <dt>error-bars-y-negative</dt>
+ <dd>values are used as error-information in negative y-direction for
+ displaying error-bars</dd>
+ <dt>categories</dt>
+ <dd>values are used for categories in the diagram</dd>
+ </dl>
+
+ <p>In a candle-stick chart you have the following roles:</p>
+
+ <dl>
+ <dt>values-first</dt>
+ <dd>the first value of a series of values. In a stock-chart this
+ would be the opening course.</dd>
+ <dt>values-last</dt>
+ <dd>the last value of a series of values. In a stock-chart this
+ would be the closing course.</dd>
+ <dt>values-min</dt>
+ <dd>the minimum value of a series of values. In a stock-chart
+ this would be the lowest course that occurred during
+ trading.</dd>
+ <dt>values-max</dt>
+ <dd>the maximum value of a series of values. In a stock-chart
+ this would be the highest course that occurred during
+ trading.</dd>
+ </dl>
+ */
+typedef string DataSequenceRole;
+
+} ; // data
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/data/DataSink.idl b/offapi/com/sun/star/chart2/data/DataSink.idl
new file mode 100644
index 000000000..24b26aa21
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/DataSink.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_chart2_data_DataSink_idl
+#define com_sun_star_chart2_data_DataSink_idl
+
+#include <com/sun/star/chart2/data/XDataSink.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+module data
+{
+
+/** describes a service that allows reading two-dimensional data in
+ the form of a sequence of DataSequences.
+ */
+service DataSink
+{
+ /** allows the write-access of the actual data.
+ */
+ interface XDataSink;
+};
+
+} ; // data
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/data/DataSource.idl b/offapi/com/sun/star/chart2/data/DataSource.idl
new file mode 100644
index 000000000..9ea7669c3
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/DataSource.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_chart2_data_DataSource_idl
+#define com_sun_star_chart2_data_DataSource_idl
+
+#include <com/sun/star/chart2/data/XDataSource.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+module data
+{
+
+/** describes a service that allows reading two-dimensional data in
+ the form of a sequence of DataSequences.
+ */
+service DataSource
+{
+ /** allows the read-access of the actual data.
+ */
+ interface XDataSource;
+};
+
+} ; // data
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/data/DatabaseDataProvider.idl b/offapi/com/sun/star/chart2/data/DatabaseDataProvider.idl
new file mode 100644
index 000000000..a9bf0fee4
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/DatabaseDataProvider.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_chart2_data_DatabaseDataProvider_idl__
+#define __com_sun_star_chart2_data_DatabaseDataProvider_idl__
+
+#include <com/sun/star/chart2/data/XDatabaseDataProvider.idl>
+
+
+ module com { module sun { module star { module chart2 { module data {
+
+
+service DatabaseDataProvider : XDatabaseDataProvider
+{
+ createWithConnection([in] com::sun::star::sdbc::XConnection connection);
+};
+
+ }; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/data/HighlightedRange.idl b/offapi/com/sun/star/chart2/data/HighlightedRange.idl
new file mode 100644
index 000000000..dbd8a9b26
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/HighlightedRange.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_chart2_data_HighlightedRange_idl
+#define com_sun_star_chart2_data_HighlightedRange_idl
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+module data
+{
+
+struct HighlightedRange
+{
+ /** The range representation string of the highlighted range.
+ */
+ string RangeRepresentation;
+
+ /** Only take the cell at position Index out of the given
+ Range. If this value is -1 take the whole sequence.
+ */
+ long Index;
+
+ /** Use this color for marking the range. This color may be
+ ignored and replaced by a better fitting color, if it would be
+ otherwise not well visible.
+ */
+ long PreferredColor;
+
+ /** If the highlighted range is visually highlighted and this
+ member is `TRUE`, the range given in
+ #RangeRepresentation may be included in a
+ merged range rectangle spanning a bigger range.
+ */
+ boolean AllowMerginigWithOtherRanges;
+};
+
+} ; // data
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/data/LabelOrigin.idl b/offapi/com/sun/star/chart2/data/LabelOrigin.idl
new file mode 100644
index 000000000..cec70732a
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/LabelOrigin.idl
@@ -0,0 +1,86 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef com_sun_star_chart2_data_LabelOrigin_idl
+#define com_sun_star_chart2_data_LabelOrigin_idl
+
+
+module com { module sun { module star { module chart2 { module data {
+
+
+/** is used to specify how the labels have to be created.
+
+ @see XDataSequence::generateLabel().
+ */
+enum LabelOrigin
+{
+
+ /** If a range spans a single row over more than one column, this
+ parameter has the same effect as ROW. If the range spans a
+ single column over more than one row, this is the same as
+ COLUMN.
+
+ <p>In case of a range spanning more than one column and row,
+ the shorter range of both should be used (e.g. a spreadsheet
+ range A1:B10 should treat columns as short side).</p>
+
+ <p>In case of a rectangular range, or a range that is composed
+ of more than one contiguous sub-regions, the short side cannot
+ be determined, thus
+ XDataSequence::generateLabel() will return an
+ empty sequence.</p>
+ */
+ SHORT_SIDE,
+
+
+ /** This is exactly the opposite of SHORT_SIDE. I.e., if
+ SHORT_SIDE has the same effect as ROW, LONG_SIDE will have the
+ same effect as COLUMN and the other way round.
+
+ @see LabelOrigin::SHORT_SIDE
+ */
+ LONG_SIDE,
+
+
+ /** Uses the column name for label generation. A spreadsheet
+ range A1:A6 could, e.g., result in "Column A".
+
+ <p>If a range consists of more than one column the result of
+ label generation may be empty. Of course, it could also
+ succeed with a string like "Columns A to B".
+ */
+ COLUMN,
+
+
+ /** Uses the column name for label generation. A spreadsheet
+ range A2:D2 could, e.g., result in "Row 2".
+
+ <p>If a range consists of more than one row the result of
+ label generation may be empty. Of course, it could also
+ succeed with a string like "Rows 1-3".
+ */
+ ROW
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/data/LabeledDataSequence.idl b/offapi/com/sun/star/chart2/data/LabeledDataSequence.idl
new file mode 100644
index 000000000..58d78598a
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/LabeledDataSequence.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_chart2_data_LabeledDataSequence_idl
+#define com_sun_star_chart2_data_LabeledDataSequence_idl
+
+#include <com/sun/star/chart2/data/XLabeledDataSequence2.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+module data
+{
+
+/** describes a container for a sequence pair of value-sequences, one
+ for a label and one for the associated data.
+ */
+service LabeledDataSequence : XLabeledDataSequence2;
+
+} ; // data
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/data/PivotTableFieldEntry.idl b/offapi/com/sun/star/chart2/data/PivotTableFieldEntry.idl
new file mode 100644
index 000000000..e14e1253d
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/PivotTableFieldEntry.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/.
+ *
+ */
+#ifndef com_sun_star_chart2_data_PivotTableFieldEntry_idl
+#define com_sun_star_chart2_data_PivotTableFieldEntry_idl
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+module data
+{
+
+/**
+ * Pivot table field entry data.
+ *
+ * @since LibreOffice 5.4
+ */
+struct PivotTableFieldEntry
+{
+ /**
+ * Name of the field entry.
+ */
+ string Name;
+
+ /**
+ * The index of the field entry.
+ */
+ long DimensionIndex;
+
+ /**
+ * The output position of the field entry in its field type.
+ */
+ long DimensionPositionIndex;
+
+ /**
+ * Does it have some members that are hidden (filtered).
+ */
+ boolean HasHiddenMembers;
+};
+
+}; // data
+}; // chart2
+}; // com
+}; // sun
+}; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/data/RangeHighlightListener.idl b/offapi/com/sun/star/chart2/data/RangeHighlightListener.idl
new file mode 100644
index 000000000..d3c6eaa8c
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/RangeHighlightListener.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_chart2_data_RangeHighlightListener_idl
+#define com_sun_star_chart2_data_RangeHighlightListener_idl
+
+#include <com/sun/star/view/XSelectionChangeListener.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+module data
+{
+
+/** A selection change listener that is attached to a
+ XRangeHighlighter in order to get notified about
+ selection changes that affect range highlighting.
+ */
+service RangeHighlightListener
+{
+ interface ::com::sun::star::view::XSelectionChangeListener;
+};
+
+} ; // data
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/data/RangeHighlighter.idl b/offapi/com/sun/star/chart2/data/RangeHighlighter.idl
new file mode 100644
index 000000000..e2b98cbc1
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/RangeHighlighter.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_chart2_data_RangeHighlighter_idl
+#define com_sun_star_chart2_data_RangeHighlighter_idl
+
+#include <com/sun/star/chart2/data/XRangeHighlighter.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+module data
+{
+
+service RangeHighlighter
+{
+ interface XRangeHighlighter;
+};
+
+} ; // data
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/data/TabularDataProviderArguments.idl b/offapi/com/sun/star/chart2/data/TabularDataProviderArguments.idl
new file mode 100644
index 000000000..ebd2c6955
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/TabularDataProviderArguments.idl
@@ -0,0 +1,153 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef com_sun_star_chart2_data_TabularDataProviderArguments_idl
+#define com_sun_star_chart2_data_TabularDataProviderArguments_idl
+
+#include <com/sun/star/chart/ChartDataRowSource.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+module data
+{
+
+service TabularDataProviderArguments
+{
+ /** the range address string spanning all data.
+
+ <p>The range address string must be interpretable by the
+ component that implements XDataProvider and gets
+ this property as argument to
+ XDataProvider::detectArguments().</p>
+
+ <p>The representation string is of a form that may be used in the
+ user interface. Example for OOo Calc: "$Sheet1.$A$1:$D$7",
+ example for OOo Writer: "&lt;Table1.A1:D7&gt;".</p>
+
+ <p>When used as input, this range will be split in columns or
+ rows depending on the property
+ #DataRowSource.</p>
+
+ <p>When used as output of
+ XDataProvider::detectArguments() this is the
+ range that spans the ranges of all given
+ XDataSequences. If the result is ambiguous,
+ i.e., a splitting of this range would not yield the same
+ result, this property should be empty. The latter is the
+ case, when ranges are overlapping, the lengths of sequences
+ are not equal or even if the order of two sequences is swapped
+ (e.g. data comes from column A, C, B).</p>
+ */
+ [property] string CellRangeRepresentation;
+
+ /** determines, whether data sequences are created out of columns
+ or rows in a table.
+
+ <p>If this property is not given as argument it is assumed to
+ com::sun::star::chart::ChartDataRowSource::COLUMNS,
+ i.e., the default is "take data from columns".</p>
+ */
+ [property] ::com::sun::star::chart::ChartDataRowSource DataRowSource;
+
+ /** If data comes from columns, the first row will provide the
+ labels for all sequences, if data comes from rows, the first
+ column will provide the labels for all sequences.
+
+ <p>Even if this property is false, the
+ XLabeledDataSequence may contain a label, but
+ this will not be the first cell of the selection. It may be a
+ generic string like "Column C".</p>
+
+ <p>If this property is not given as argument it is assumed to
+ be `FALSE`, i.e., the default is "no labels".</p>
+ */
+ [property] boolean FirstCellAsLabel;
+
+ /** determines the order of the created labeled sequences
+
+ <p>For example a SequenceMapping of [3,0,2,1] indicates that
+ the sequence from old position "3" should now be the first one.
+ Then comes the sequence from old position "0". Then that one
+ from old position "2" and then the sequence from old position "1".</p>
+
+ <p>If the SequenceMapping contains invalid indexes just
+ ignore those single indexes. For example if you only have three
+ labeled sequences and a SequenceMapping [2,5,1,0], you should
+ ignore the "5" and continue to place the sequence from
+ old index "1" to the next new position and so on.</p>
+
+ <p>If the given SequenceMapping does not cover all existing
+ labeled sequences just put the remaining sequences in old order
+ behind the others. For example you have 4 sequences and a
+ SequenceMapping [3,1]. The result should be as if [3,1,0,2]
+ was given.</p>
+ */
+ [property] sequence< long > SequenceMapping;
+
+ /** If `FALSE` the data provider may create a data sequence
+ containing generated categories that fit the rest of the data,
+ like e.g. "Row 12", "Row 13", etc.
+
+ <p>This property is not relevant for the splitting up of the
+ data. It just indicates, if the chart wants to use part of
+ the data as categories, so that generic categories can be
+ returned if it doesn't.</p>
+
+ <p>The generic category labeled sequence returned should be
+ the first one in the returned XDataSource. It
+ needs no label. The values should have their role set to
+ "categories". The generic strings returned should also be
+ localized.</p>
+ */
+ [optional, property] boolean HasCategories;
+
+ /** This property is for providing proprietary table indexes for
+ each table appearing in a range given in
+ CellRangeRepresentation.
+
+ @deprecated
+
+ <p>This argument is supported by Spreadsheets in order to be
+ able to export a document into the StarOffice 5.0 binary
+ format.</p>
+
+ <p>Example: If you have the sheets (Sheet1, Sheet2, Sheet3) in
+ your document and a chart uses the range
+ "Sheet2.A1:.A5 Sheet3.A1:.A5 Sheet2.B1:.B5 Sheet1:B1:.B5", your
+ TableNumberList would be "1 2 1 0". A simple range like
+ "Sheet1.A1:.E4" would have the TableNumberList in "0"</p>.
+ */
+ [optional, property] string TableNumberList;
+};
+
+} ; // data
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/data/XDataProvider.idl b/offapi/com/sun/star/chart2/data/XDataProvider.idl
new file mode 100644
index 000000000..e0f450a1a
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/XDataProvider.idl
@@ -0,0 +1,179 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef com_sun_star_chart2_data_XDataProvider_idl
+#define com_sun_star_chart2_data_XDataProvider_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/chart2/data/XDataSource.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/sheet/XRangeSelection.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+module data
+{
+
+/** An application that provides data for a chart must implement this
+ interface.
+ */
+interface XDataProvider : ::com::sun::star::uno::XInterface
+{
+ /** If `TRUE` is returned, a call to createDataSource with the
+ same arguments must return a valid XDataSequence object. If
+ `FALSE` is returned, createDataSource throws an exception.
+ */
+ boolean createDataSourcePossible( [in] sequence< com::sun::star::beans::PropertyValue > aArguments );
+
+ /** Creates a data source object that matches the given range
+ representation string.
+
+ <p>This can be used for creating the necessary data for a new
+ chart out of a previously selected range of cells in a
+ spreadsheet.</p>
+
+ @param aArguments
+ Arguments that tell the data provider how to slice the
+ given range. The properties should be defined in a
+ separate service.
+
+ <p>For spreadsheets and text document tables there exists a
+ service TabularDataProviderArguments
+ describing valid values for this list.</p>
+
+ @return
+ a data source containing DataSequences that
+ span the entire region given in <code>aArguments</code>.
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ may be raised by the XDataProvider if it is
+ unable to interpret the arguments passed in
+ <code>aArguments</code> appropriately.
+ */
+ XDataSource createDataSource(
+ [in] sequence< com::sun::star::beans::PropertyValue > aArguments )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** Tries to find out with what parameters the passed
+ DataSource most probably was created.
+
+ <p>if xDataSource is a data source that was created with
+ createDataSource(), the arguments returned here
+ should be the same than the ones passed to the function.
+ Of course, this cannot be guaranteed. However, if detection
+ is ambiguous, the returned arguments should be empty. </p>
+
+ <p>This method may merge representation strings together if
+ adjacent ranges appear successively in the range identifiers.
+ E.g., if the first range refers to "$Sheet1.$A$1:$A$8" and the
+ second range refers to "$Sheet1.$B$1:$B$8", those should be
+ merged together to "$Sheet1.$A$1:$B$8".</p>
+
+ @param xDataSource
+ A data source containing all data used in a chart.
+
+ @return
+ Arguments that when being passed to
+ createDataSource() should in an ideal case
+ return the same data source as <code>xDataSource</code>.
+ */
+ sequence< com::sun::star::beans::PropertyValue > detectArguments(
+ [in] XDataSource xDataSource );
+
+ /** If `TRUE` is returned, a call to
+ createDataSequenceByRangeRepresentation with the same argument must
+ return a valid XDataSequence object. If `FALSE` is returned,
+ createDataSequenceByRangeRepresentation throws an exception.
+ */
+ boolean createDataSequenceByRangeRepresentationPossible( [in] string aRangeRepresentation );
+
+ /** creates a single data sequence for the given data range.
+
+ @param aRangeRepresentation
+ is a string that can be interpreted by the component that
+ implements this interface. The representation string is
+ of a form that may be used in the user interface.
+
+ @see createDataSource
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the given range does not contain a valid range
+ representation for a one-dimensional range of data.
+ */
+ XDataSequence createDataSequenceByRangeRepresentation(
+ [in] string aRangeRepresentation )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** Creates a single data sequence from the string value array representation
+
+ @param aRole
+ The role of the sequence inside a data series. This may be any
+ string. However some strings are predefined and should always
+ be used in the same way.
+
+ @param aValueArray
+ is a string that contains the value representation of the
+ sequence to be created.
+
+ @param aRoleQualifier
+ is a string that describes the role of the sequence.
+ This may be any string. However some strings are predefined
+ and should always be used in the same way.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the given value array does not contain a valid value array
+ representation.
+ */
+ XDataSequence createDataSequenceByValueArray( [in] string aRole, [in] string aValueArray,
+ [in] string aRoleQualifier )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** Returns a component that is able to change a given range
+ representation to another one. This usually is a
+ controller-component that uses the GUI to allow a user to
+ select a new range.
+
+ <p>This method may return nothing, if it does not support
+ range selection or if there is no current controller available
+ that offers the functionality.</p>
+
+ @return
+ The component for selecting a new range. It must support
+ XComponent, in order to inform the receiver
+ about its lifetime.</p>
+ */
+ com::sun::star::sheet::XRangeSelection getRangeSelection();
+};
+
+} ; // data
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/data/XDataReceiver.idl b/offapi/com/sun/star/chart2/data/XDataReceiver.idl
new file mode 100644
index 000000000..a7c853b1f
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/XDataReceiver.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_chart2_data_XDataReceiver_idl
+#define com_sun_star_chart2_data_XDataReceiver_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/chart2/data/XDataProvider.idl>
+#include <com/sun/star/chart2/data/XRangeHighlighter.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/util/XNumberFormatsSupplier.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+module data
+{
+
+interface XDataReceiver : ::com::sun::star::uno::XInterface
+{
+ /** attaches a component that provides data for the document.
+
+ <p>The previously set data provider will be released.</p>
+
+ @param xProvider
+ The new DataProvider. If it is an empty reference, the
+ ChartDocument will have no data.
+ */
+ void attachDataProvider( [in] XDataProvider xProvider );
+
+ void setArguments( [in] sequence< com::sun::star::beans::PropertyValue > aArguments )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** returns a list of all range strings for which data has been
+ requested by the most recently attached data provider, and
+ which is still used.
+
+ <p>This list may be used by the data provider to swap charts
+ out of memory, but still get informed by changes of ranges
+ while the chart is not loaded.</p>
+ @return a list of used range strings.
+ */
+ sequence< string > getUsedRangeRepresentations();
+
+ /** Returns the data requested by the most recently attached data
+ provider, that is still used.
+ */
+ XDataSource getUsedData();
+
+ /** attaches an XNumberFormatsSupplier to this
+ XDataReceiver.
+
+ <p>The given number formats will be used for display purposes.</p>
+ */
+ void attachNumberFormatsSupplier( [in] com::sun::star::util::XNumberFormatsSupplier xSupplier );
+
+ /** Returns a component at which a view representing the data of
+ the attached data provider may listen for highlighting the
+ data ranges used by the currently selected objects in the data
+ receiver component.
+
+ <p>This is typically used by a spreadsheet to highlight the
+ ranges used by the currently selected object in a chart.</p>
+
+ <p>The range highlighter is optional, i.e., this method may
+ return an empty object.</p>
+ */
+ XRangeHighlighter getRangeHighlighter();
+
+ /** A callback object to execute a foreign popup menu window.
+
+ @since LibreOffice 5.4
+ */
+ com::sun::star::awt::XRequestCallback getPopupRequest();
+};
+
+} ; // data
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/data/XDataSequence.idl b/offapi/com/sun/star/chart2/data/XDataSequence.idl
new file mode 100644
index 000000000..28999c01c
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/XDataSequence.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_chart2_data_XDataSequence_idl
+#define com_sun_star_chart2_data_XDataSequence_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/chart2/data/LabelOrigin.idl>
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+module data
+{
+
+/** allows access to a one-dimensional sequence of data.
+
+ <p>The data that is stored in this container may contain different
+ types.</p>
+ */
+interface XDataSequence : ::com::sun::star::uno::XInterface
+{
+ /** retrieves the data stored in this component.
+
+ @return a sequence containing the actual data. This sequence
+ is a copy of the internal data. Therefore changing
+ this object does not affect the content of the
+ XDataSequence object.
+ */
+ sequence< any > getData();
+
+ /** returns the (UI) range representation string used by this
+ XDataSequence.
+ */
+ string getSourceRangeRepresentation();
+
+ /** creates a label that describes the origin of this data
+ sequence.
+
+ <p>This is useful, if a XLabeledDataSequence has
+ no label sequence. In this case you can call this method at
+ the value sequence to obtain a fitting replacement label.</p>
+
+ <p>The sequence returned here may be empty if no suitable
+ label can be generated.</p>
+
+ <p>The strings returned should be localized.</p>
+
+ @param eLabelOrigin
+ denotes what part of the range should be used for label
+ generation. If you have, e.g., one cell only, the
+ parameter COLUMN enables you to get the name of the cell's
+ column, the parameter ROW will give you its row name.
+
+ If you have a non quadratic range you can ask for labels for
+ the longer side with parameter LONG_SIDE or you can obtain labels
+ for the shorter side with parameter SHORT_SIDE.
+
+ If the range is not structured in a tabular way you may receive
+ no label.
+
+ @return
+ Suitable labels for the given sequence depending on the range
+ of the sequence and the parameter <code>eLabelOrigin</code> passed.
+ In a spreadsheet this would typically be a label like "Column x"
+ for the short side used as DataSeries name and maybe a
+ sequence "Row 1" "Row 2" "Row 3" for the long side to be used
+ as categories for example.
+
+ Example: Assuming this sequence has a Range representation spanning
+ row 5 and 6 in column 8. Following sequences of strings or similar strings
+ are expected as return values:
+
+ generateLabel( SHORT_SIDE ) -> "Column 8"
+ generateLabel( LONG_SIDE ) -> "Row 5" "Row 6"
+ generateLabel( COLUMN ) -> "Column 8"
+ generateLabel( ROW ) -> "Row 5" "Row 6"
+
+ Which strings exactly you return depends on the naming scheme of the application
+ which provides its tabular data.
+ */
+ sequence< string > generateLabel( [in] com::sun::star::chart2::data::LabelOrigin eLabelOrigin );
+
+ /** returns a number format key for the value at the given index
+ in the data sequence. If nIndex is -1, a key for the entire
+ sequence should be returned, e.g. the most commonly used one.
+
+ <p>If number formats are not supported, or there is no
+ heuristic to return a key for the entire series, return 0
+ here.</p>
+
+ <p>The number format key must be valid for the
+ com::sun::star::util::XNumberFormatsSupplier
+ given by the XDataProvider, or 0 which is assumed
+ to be always valid.</p>
+ */
+ long getNumberFormatKeyByIndex( [in] long nIndex )
+ raises( ::com::sun::star::lang::IndexOutOfBoundsException );
+};
+
+} ; // data
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/data/XDataSink.idl b/offapi/com/sun/star/chart2/data/XDataSink.idl
new file mode 100644
index 000000000..6595109f2
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/XDataSink.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_chart2_data_XDataSink_idl
+#define com_sun_star_chart2_data_XDataSink_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/chart2/data/XLabeledDataSequence.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+module data
+{
+
+/** is a container for sequences of data. With this interface data
+ can only be written to.
+
+ <p>If you want to be able to also read the data set here, your
+ component must also implement XDataSource.</p>
+ */
+interface XDataSink : ::com::sun::star::uno::XInterface
+{
+ /** sets new data sequences. The elements set here must support
+ the service DataSequence.
+
+ <p>If the data consist only of floating point numbers (double
+ values), the instances set here should also support the
+ service NumericalDataSequence.</p>
+
+ <p>If the data consist only of strings, the instances set here
+ should also support the service
+ TextualDataSequence.</p>
+
+ <p>If one of the derived services is supported by one element
+ of the sequence, it should be available for all elements in
+ the sequence.</p>
+ */
+ void setData( [in] sequence< XLabeledDataSequence > aData );
+};
+
+} ; // data
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/data/XDataSource.idl b/offapi/com/sun/star/chart2/data/XDataSource.idl
new file mode 100644
index 000000000..4312460ee
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/XDataSource.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_chart2_data_XDataSource_idl
+#define com_sun_star_chart2_data_XDataSource_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/chart2/data/XLabeledDataSequence.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+module data
+{
+
+
+/** provides access to sequences of data. With this interface data
+ can only be read from.
+
+ <p>If the data stored consists only of floating point numbers (double
+ values), the returned instances should also support the service
+ NumericalDataSequence.</p>
+
+ <p>If the data stored consists only of strings, the returned
+ instances should also support the service
+ TextualDataSequence.</p>
+ */
+interface XDataSource : ::com::sun::star::uno::XInterface
+// : ::com::sun::star::container::XIndexAccess
+{
+ /** returns data sequences.
+
+ @return a sequence of objects that support at least the
+ service DataSequence.
+
+ <p>If the data stored consist only of floating point numbers
+ (double values), the returned instances should also support
+ the service NumericalDataSequence.</p>
+
+ <p>If the data stored consist only of strings, the returned
+ instances should also support the service
+ TextualDataSequence.</p>
+ */
+ sequence< XLabeledDataSequence > getDataSequences();
+};
+
+} ; // data
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/data/XDatabaseDataProvider.idl b/offapi/com/sun/star/chart2/data/XDatabaseDataProvider.idl
new file mode 100644
index 000000000..c8c0bcafb
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/XDatabaseDataProvider.idl
@@ -0,0 +1,206 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_chart2_data_XDatabaseDataProvider_idl__
+#define __com_sun_star_chart2_data_XDatabaseDataProvider_idl__
+
+#include <com/sun/star/container/NoSuchElementException.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/beans/UnknownPropertyException.idl>
+#include <com/sun/star/lang/XInitialization.idl>
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/sdbc/XConnection.idl>
+#include <com/sun/star/sdbc/XParameters.idl>
+#include <com/sun/star/sdbc/XRowSet.idl>
+#include <com/sun/star/chart2/data/XDataProvider.idl>
+#include <com/sun/star/chart2/data/XRangeXMLConversion.idl>
+
+
+ module com { module sun { module star { module chart2 { module data {
+
+
+/** identifies a XDataProvider for result sets.
+
+ @see XDataProvider
+ @see DataProvider
+ */
+interface XDatabaseDataProvider
+{
+ /** For accessing data a component provides for being used by
+ charts.
+ */
+ interface XDataProvider;
+
+ /** allows you to convert the ranges a data provider deals with
+ internally into valid XML.
+ */
+ interface XRangeXMLConversion;
+
+ /** allows access to the properties of the instance.
+ */
+ interface com::sun::star::lang::XInitialization;
+
+ /** allows life-time control of the database data provider.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ /** allows access to the properties of the instance.
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+ interface com::sun::star::sdbc::XParameters;
+ interface com::sun::star::sdbc::XRowSet;
+
+ /** is used for subreports and contains the names of columns of the parent report.
+ <p> These columns are typically the foreign key fields of the parent report.
+ The values of these columns are used to identify the data for the subreport.
+ Each time the parent report changes its current row, the subreport requeries
+ it's data based on the values of the master fields.</p>
+ <p>If the report is no sub report (e.g. its parent is not a report itself), this
+ property is not evaluated.</p>
+
+ */
+ [attribute,bound] sequence<string> MasterFields;
+
+ /**is used for subreports and contains the names of the columns of the subreport
+ which are related to the master fields of the parent report.
+ <p>Entries in this sequence can either denote column names in the sub report,
+ or parameter names.<br/>
+ For instance, you could base the report on the SQL statement
+ <code>SELECT * FROM invoices WHERE cust_ref = :cid</code>, and add <code>cid</code>
+ to the DetailFields property. In this case, the parameter will be filled from
+ the corresponding master field.<br/>
+ Alternatively, you could simply base your report on the table <code>invoices</code>,
+ and add the column name <code>cust_ref</code> to the DetailFields. In this case,
+ and implicit filter clause <code>WHERE cust_ref = :&lt;new_param_name&gt;</code> will
+ be created, and the artificial parameter will be filled from the corresponding
+ master field.<br/>
+ If a string in this property denotes both a column name and a parameter name, it
+ is undefined which way it is interpreted, but implementations of the service are required
+ to either decide for the parameter or the column, and proceed as usual.
+ </p>
+ <p>The columns specified herein typically represent a part of the primary key
+ fields or their aliases of the detail report.</p>
+ <p>If the report is no sub report (e.g. its parent is not a report itself), this
+ property is not evaluated.</p>
+ *
+ */
+ [attribute,bound] sequence<string> DetailFields;
+
+ /** is the command which should be executed, the type of command depends
+ on the CommandType.
+ <p>In case of a #CommandType of CommandType::COMMAND,
+ means in case the #Command specifies an SQL statement, the inherited
+ com::sun::star::sdbc::RowSet::EscapeProcessing
+ becomes relevant:<br/>
+ It then can be to used to specify whether the SQL statement should be analyzed on the
+ client side before sending it to the database server.<br/>
+ The default value for com::sun::star::sdbc::RowSet::EscapeProcessing
+ is `TRUE`. By switching it to `FALSE`, you can pass backend-specific SQL statements,
+ which are not standard SQL, to your database.</p>
+
+
+ @see com::sun::star::sdb::CommandType
+ */
+ [attribute,bound] string Command;
+
+ /** specifies the type of the command to be executed to retrieve a result set.
+
+ <p>#Command needs to be interpreted depending on the value of this property.</p>
+
+ <p>This property is only meaningful together with the #Command
+ property, thus either <em>both</em> or <em>none</em> of them are present.</p>
+
+ @see com::sun::star::sdb::CommandType
+ */
+ [attribute,bound] long CommandType;
+
+ /** specifies an additional filter to optionally use.
+
+ <p>The Filter string has to form a SQL WHERE-clause, <em>without</em> the WHERE-string itself.</p>
+
+ <p>If a #DataSourceName, #Command and #CommandType
+ are specified, a RowSet can be created with this information. If the results provided by the
+ row set are to be additionally filtered, the Filter property can be used.</p>
+
+ <p>Note that the Filter property does not make sense if a resultSet has been specified
+ in the DataAccessDescriptor.</p>
+
+ @see com::sun::star::sdb::RowSet
+ @see ResultSet
+ */
+ [attribute,bound] string Filter;
+
+ /** indicates whether the filter should be applied or not,
+ default is `FALSE`.
+ */
+ [attribute,bound] boolean ApplyFilter;
+
+ /** additional having clause for the row set
+ */
+ [attribute,bound] string HavingClause
+ {
+ set raises (com::sun::star::beans::UnknownPropertyException);
+ };
+
+ /** additional group by for the row set
+ */
+ [attribute,bound] string GroupBy
+ {
+ set raises (com::sun::star::beans::UnknownPropertyException);
+ };
+
+ /** is an additional sort order definition for a row set.
+ */
+ [attribute,bound] string Order;
+
+ /** specifies if the #Command should be analyzed on the client side before sending it
+ to the database server.
+
+ <p>The default value of this property is `TRUE`. By switching it to `FALSE`, you can pass
+ backend-specific SQL statements, which are not standard SQL, to your database.</p>
+
+ <p>This property is usually present together with the #Command and
+ #CommandType properties, and is evaluated if and only if #CommandType
+ equals CommandType::COMMAND.</p>
+ */
+ [attribute,bound] boolean EscapeProcessing;
+
+ /** specifies the maximal count of rows which should be fetched.
+ <p>A value of zero implies that no limit exists.</p>
+ */
+ [attribute,bound] long RowLimit;
+
+ /** specifies the active connection which is used to create the resulting report.
+ */
+ [attribute,bound] com::sun::star::sdbc::XConnection ActiveConnection
+ {
+ set raises (com::sun::star::lang::IllegalArgumentException);
+ };
+ /** is the name of the data source to use, this could be a named data source
+ or the URL of a data access component.
+ */
+ [attribute,bound] string DataSourceName;
+};
+
+
+ }; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/data/XLabeledDataSequence.idl b/offapi/com/sun/star/chart2/data/XLabeledDataSequence.idl
new file mode 100644
index 000000000..f856c9dd5
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/XLabeledDataSequence.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_chart2_data_XLabeledDataSequence_idl
+#define com_sun_star_chart2_data_XLabeledDataSequence_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/chart2/data/XDataSequence.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+module data
+{
+
+/** allows access to a one-dimensional sequence of data.
+
+ <p>The data that is stored in this container may contain different
+ types.</p>
+ */
+interface XLabeledDataSequence : ::com::sun::star::uno::XInterface
+{
+ /** returns an XDataSequence containing the actual
+ data.
+ */
+ XDataSequence getValues();
+
+ /** sets a new XDataSequence containing the actual
+ data.
+ */
+ void setValues( [in] XDataSequence xSequence );
+
+ /** returns an XDataSequence containing the label for
+ the labeled sequence.
+ */
+ XDataSequence getLabel();
+
+ /** sets a new XDataSequence containing the label for
+ the labeled sequence.
+ */
+ void setLabel( [in] XDataSequence xSequence );
+};
+
+} ; // data
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/data/XLabeledDataSequence2.idl b/offapi/com/sun/star/chart2/data/XLabeledDataSequence2.idl
new file mode 100644
index 000000000..27016af0c
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/XLabeledDataSequence2.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_chart2_data_XLabeledDataSequence2_idl
+#define com_sun_star_chart2_data_XLabeledDataSequence2_idl
+
+#include <com/sun/star/util/XCloneable.idl>
+#include <com/sun/star/util/XModifyBroadcaster.idl>
+#include <com/sun/star/chart2/data/XLabeledDataSequence.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+module data
+{
+
+/**
+ @since LibreOffice 4.1
+ */
+interface XLabeledDataSequence2
+{
+ /** provides read- and write-access to the underlying data.
+ */
+ interface XLabeledDataSequence;
+
+ /** is used to broadcast when the sequence for labels or values
+ change their identity, or their content changes.
+
+ <p>The LabeledDataSequence should add itself at its
+ XDataSequences for values and labels, and forward any change
+ events coming from there.</p>
+ */
+ interface com::sun::star::util::XModifyBroadcaster;
+
+ /** Allows creating copies of data sequences. If this interface
+ is not supported, the same object will be shared if used by
+ multiple objects.
+
+ <p>If a LabeledDataSequence is cloned, it has to
+ query its contents for the
+ com::sun::star::util::XCloneable interface
+ and use it if available.</p>
+ */
+ interface ::com::sun::star::util::XCloneable;
+};
+
+} ; // data
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/data/XNumericalDataSequence.idl b/offapi/com/sun/star/chart2/data/XNumericalDataSequence.idl
new file mode 100644
index 000000000..972a98792
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/XNumericalDataSequence.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_chart2_data_XNumericalDataSequence_idl
+#define com_sun_star_chart2_data_XNumericalDataSequence_idl
+
+#include <com/sun/star/chart2/data/XDataSequence.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+module data
+{
+
+/** allows access to a one-dimensional sequence of double precision
+ floating-point numbers.
+ */
+interface XNumericalDataSequence : ::com::sun::star::uno::XInterface
+{
+ /** retrieves data as `double` values.
+ */
+ sequence< double > getNumericalData();
+};
+
+} ; // data
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/data/XPivotTableDataProvider.idl b/offapi/com/sun/star/chart2/data/XPivotTableDataProvider.idl
new file mode 100644
index 000000000..0405f4637
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/XPivotTableDataProvider.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/.
+ */
+
+#ifndef com_sun_star_chart2_data_XPivotTableDataProvider_idl
+#define com_sun_star_chart2_data_XPivotTableDataProvider_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/chart2/data/PivotTableFieldEntry.idl>
+
+module com { module sun { module star { module chart2 { module data {
+
+/**
+ * Data provider specific for pivot chart data.
+ *
+ * @since LibreOffice 5.4
+ */
+interface XPivotTableDataProvider : com::sun::star::uno::XInterface
+{
+ /** names of column fields from the associated pivot table
+ */
+ sequence<com::sun::star::chart2::data::PivotTableFieldEntry> getColumnFields();
+
+ /** names of row fields from the associated pivot table
+ */
+ sequence<com::sun::star::chart2::data::PivotTableFieldEntry> getRowFields();
+
+ /** names of page fields from the associated pivot table
+ */
+ sequence<com::sun::star::chart2::data::PivotTableFieldEntry> getPageFields();
+
+ /** names of data fields from the associated pivot table
+ */
+ sequence<com::sun::star::chart2::data::PivotTableFieldEntry> getDataFields();
+
+ /** get the associated pivot table name
+ */
+ string getPivotTableName();
+
+ /** set the associated pivot table name
+ */
+ void setPivotTableName([in] string sPivotTableName);
+
+ /** check if the associated pivot table exists
+ */
+ boolean hasPivotTable();
+
+ /** creates a single data sequence of values for the given data series index.
+ *
+ * @param nIndex
+ * index of the data series
+ */
+ XDataSequence createDataSequenceOfValuesByIndex([in] long nIndex);
+
+ /** creates a single data sequence of label(s) for the given data series index.
+ *
+ * @param nIndex
+ * index of the data series
+ */
+ XDataSequence createDataSequenceOfLabelsByIndex([in] long nIndex);
+
+ /** creates a single data sequence of categories.
+ */
+ XDataSequence createDataSequenceOfCategories();
+
+ /** field output description: either "- all -", "- multiple -", or specific value
+ *
+ * @param nDimensionIndex
+ * dimension index of the field
+ */
+ string getFieldOutputDescription([in] long nDimensionIndex);
+};
+
+};};};};};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/data/XRangeHighlighter.idl b/offapi/com/sun/star/chart2/data/XRangeHighlighter.idl
new file mode 100644
index 000000000..8e1522721
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/XRangeHighlighter.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_chart2_data_XRangeHighlighter_idl
+#define com_sun_star_chart2_data_XRangeHighlighter_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/view/XSelectionChangeListener.idl>
+#include <com/sun/star/chart2/data/HighlightedRange.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+module data
+{
+
+interface XRangeHighlighter : ::com::sun::star::uno::XInterface
+{
+ /** Returns a list of ranges that are used by objects that are
+ currently selected.
+ */
+ sequence< HighlightedRange > getSelectedRanges();
+
+ /** registers an event listener, which is called when the
+ selection is changed and affects different source ranges
+ */
+ void addSelectionChangeListener( [in] com::sun::star::view::XSelectionChangeListener xListener );
+
+ /** unregisters an event listener which was registered with
+ XRangeHighlighter::addSelectionChangeListener()
+ before.
+ */
+ void removeSelectionChangeListener( [in] com::sun::star::view::XSelectionChangeListener xListener );
+};
+
+} ; // data
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/data/XRangeXMLConversion.idl b/offapi/com/sun/star/chart2/data/XRangeXMLConversion.idl
new file mode 100644
index 000000000..1bdffa1b9
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/XRangeXMLConversion.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_chart2_data_XRangeXMLConversion_idl
+#define com_sun_star_chart2_data_XRangeXMLConversion_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+module data
+{
+
+/** An application that provides data for a chart must implement this
+ interface.
+ */
+interface XRangeXMLConversion : ::com::sun::star::uno::XInterface
+{
+ /** converts the range to a valid XML syntax.
+
+ <p>For example spreadsheet ranges consisting of more than one
+ consecutive region are usually separated by a semicolon
+ whereas in XML you separate multiple regions by a space.</p>
+ */
+ string convertRangeToXML( [in] string aRangeRepresentation )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** converts an XML-style range into the internal
+ DataProvider's format.
+ */
+ string convertRangeFromXML( [in] string aXMLRange )
+ raises( com::sun::star::lang::IllegalArgumentException );
+};
+
+} ; // data
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/data/XSheetDataProvider.idl b/offapi/com/sun/star/chart2/data/XSheetDataProvider.idl
new file mode 100644
index 000000000..cb55e78cd
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/XSheetDataProvider.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_chart2_data_XSheetDataProvider_idl
+#define com_sun_star_chart2_data_XSheetDataProvider_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/chart2/data/XDataSequence.idl>
+#include <com/sun/star/sheet/FormulaToken.idl>
+
+module com { module sun { module star { module chart2 { module data {
+
+/**
+ * Interface specific to spreadsheet data provider backend.
+ */
+interface XSheetDataProvider : com::sun::star::uno::XInterface
+{
+ boolean createDataSequenceByFormulaTokensPossible(
+ [in] sequence< com::sun::star::sheet::FormulaToken > aTokens );
+
+ XDataSequence createDataSequenceByFormulaTokens(
+ [in] sequence< com::sun::star::sheet::FormulaToken > aTokens )
+ raises( com::sun::star::lang::IllegalArgumentException );
+};
+
+};};};};};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/data/XTextualDataSequence.idl b/offapi/com/sun/star/chart2/data/XTextualDataSequence.idl
new file mode 100644
index 000000000..8761f465e
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/XTextualDataSequence.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_chart2_data_XTextualDataSequence_idl
+#define com_sun_star_chart2_data_XTextualDataSequence_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+module data
+{
+
+/** allows access to a one-dimensional sequence of strings.
+ */
+interface XTextualDataSequence : ::com::sun::star::uno::XInterface
+{
+ /** retrieves the data as strings
+ */
+ sequence< string > getTextualData();
+};
+
+} ; // data
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/AccessRootElement.idl b/offapi/com/sun/star/configuration/AccessRootElement.idl
new file mode 100644
index 000000000..0c3900342
--- /dev/null
+++ b/offapi/com/sun/star/configuration/AccessRootElement.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_configuration_AccessRootElement_idl__
+#define __com_sun_star_configuration_AccessRootElement_idl__
+
+#include <com/sun/star/configuration/HierarchyElement.idl>
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/lang/XLocalizable.idl>
+#include <com/sun/star/util/XChangesNotifier.idl>
+
+
+module com { module sun { module star { module configuration {
+
+/** provides information about the root element of a hierarchy and
+ about the hierarchy as a whole.
+
+ <p>Provides information about the element and the whole hierarchy.
+ Allows controlling the lifetime of the hierarchy.
+ Allows observing changes in the hierarchy as a whole.
+ </p>
+
+ <p>When access to a hierarchy is first obtained from a factory or provider,
+ this is the initial object that is created by the factory.
+ It represents the <em>root</em> of the accessible part of the hierarchy.
+ </p>
+
+ <p><em><strong>NOTE:</strong> In this description "hierarchy" may actually
+ designate a part or fragment of a larger hierarchy. It is that part that is
+ rooted in the element represented by an implementation of this service
+ and that is accessible starting from this element.</em>
+ </p>
+
+ <p>Generally it is not possible to navigate the parent or siblings, if any,
+ of this element, so com::sun::star::container::XChild is
+ not supported.
+ </p>
+
+ @see com::sun::star::configuration::UpdateRootElement
+ Implementations that support modifying data in the hierarchy
+ implement service UpdateRootElement.
+
+ @see com::sun::star::configuration::SetElement
+ A complementary service, for children of a dynamic homogeneous container.
+
+ @see com::sun::star::configuration::GroupElement
+ A complementary service, for children of a static heterogeneous collection.
+
+ @see com::sun::star::configuration::ConfigurationProvider
+ Objects provided by a ConfigurationProvider implement this service.
+*/
+published service AccessRootElement
+{
+/** the basic service for accessing information about an element in the
+ hierarchy.
+*/
+ service HierarchyElement;
+
+/** allows controlling or observing the lifetime of the whole hierarchy.
+
+ <p>The owner of the hierarchy may dispose of this object
+ using com::sun::star::lang::XComponent::dispose().
+ As this object owns its child elements and, recursively, the whole hierarchy,
+ any descendant elements obtained, directly or indirectly, from this object
+ will also be disposed. Disposing of the object does not affect a persistent
+ representation of the hierarchy.
+ </p>
+
+ <p>When an implementation is obtained from a factory or provider, ownership
+ of it is usually transferred to the client. See the documentation
+ of the particular provider or factory service for details.
+ </p>
+
+ <p>The provider of this object may still dispose of this object, when the
+ lifetime of the provider ends or if these objects represent
+ the root of only a fragment of an enclosing hierarchy and
+ this fragment is removed from the complete hierarchy by an outside source.
+ </p>
+
+ <p>Clients may register a com::sun::star::lang::XEventListener
+ to be notified when the object is disposed for either cause.
+ </p>
+*/
+ interface com::sun::star::lang::XComponent;
+
+/** allows registering listeners that observe the whole hierarchy.
+
+ <p>A client can register an
+ com::sun::star::util::XChangesListener,
+ which will receive notifications for any changes within the
+ hierarchy (fragment) this object represents.
+ </p>
+
+ <p>An implementation will collect as many changes as possible into a single
+ com::sun::star::util::ChangesEvent. For Example:
+ </p>
+
+ <p>
+ If com::sun::star::beans::XMultiPropertySet::setPropertyValues()
+ or com::sun::star::beans::XMultiHierarchicalPropertySet::setHierarchicalPropertyValues()
+ is used on an element of the hierarchy to change multiple values within
+ the hierarchy, all changes will be notified with a single event.
+ </p>
+
+ <p>If an outside source uses
+ com::sun::star::util::XChangesBatch::commitChanges()
+ on an overlapping hierarchy access, all relevant changes will be notified
+ with a single event.
+ </p>
+
+ @see UpdateRootElement
+ @see com::sun::star::util::XChangesBatch
+*/
+ interface com::sun::star::util::XChangesNotifier;
+
+/** provides access to the locale that applies to locale-dependent data
+ in this hierarchy. [optional]
+
+ <p>This interface may be missing if the implementation does not support
+ locale-dependent data in the hierarchy or if the (partial) hierarchy rooted
+ in this object does not contain any locale-dependent elements.
+ </p>
+
+ <p><em>Changing the locale is generally not supported.</em> If it is supported,
+ there is no guarantee that values already loaded into the hierarchy, or an
+ application cache, are refreshed to reflect the new locale. Use of
+ com::sun::star::lang::XLocalizable::setLocale()
+ is therefore not recommended.
+ </p>
+*/
+ [optional] interface com::sun::star::lang::XLocalizable;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/AdministrationProvider.idl b/offapi/com/sun/star/configuration/AdministrationProvider.idl
new file mode 100644
index 000000000..74944d30c
--- /dev/null
+++ b/offapi/com/sun/star/configuration/AdministrationProvider.idl
@@ -0,0 +1,176 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_configuration_AdministrationProvider_idl__
+#define __com_sun_star_configuration_AdministrationProvider_idl__
+
+#include <com/sun/star/lang/XMultiServiceFactory.idl>
+#include <com/sun/star/lang/XComponent.idl>
+
+
+module com { module sun { module star { module configuration {
+
+/** manages one, or more, complete sets of configuration data for
+ administrative purposes and serves as a factory for objects that
+ provide access to subsets of these shared configurations.
+
+ <p>Shared sets of configuration data usually serve to provide defaults,
+ which are used if no individual settings are present. Depending on the data
+ store multiple layers of defaults may be combined with a user-specific layer
+ to make up the final configuration.
+ </p>
+ <p>Many aspects of the supported behavior depend strongly on the underlying
+ data store and on the administrative structures it defines. With some data
+ stores this service also enables access to individual user's configuration
+ data by an administrator.
+ </p>
+ <p>On the other hand, in the simplest model there is only a single layer of
+ default data which is accessible through this service.
+ </p>
+ <p>An implementation is usually obtained from a
+ com::sun::star::lang::ServiceManager. The arguments passed to
+ com::sun::star::lang::XMultiComponentFactory::createInstanceWithArgumentsAndContext()
+ select the configuration data source. They may also define the scope of
+ administrable data or contain credentials to be used to authorize the
+ administrative access. Missing parameters may be filled in
+ from the context or the environment.
+ </p>
+
+ @see com::sun::star::configuration::ConfigurationProvider
+ Offers the same services and creates the same accessor objects as this
+ service, but accesses the personal configuration.
+
+ <p>A ConfigurationProvider provides access to the personal
+ layer of configuration data of the current user context. It should in
+ most cases be used when <em>using</em> the configuration data, although
+ for most contexts an AdministrationProvider can be used as
+ a drop-in replacement.
+ </p>
+ */
+published service AdministrationProvider
+{
+/** allows creating access objects for specific views such as subsets and fragments
+ of the configuration.
+
+ <p>The parameter <var>aServiceSpecifier</var> passed to
+ com::sun::star::lang::XMultiServiceFactory::createInstanceWithArguments()
+ supports at least the service specifiers
+ <code>"com.sun.star.configuration.ConfigurationAccess"</code> and
+ <code>"com.sun.star.configuration.ConfigurationUpdateAccess"</code>.
+ </p>
+
+ <p>Using the first of these service specifiers requests a read-only view of
+ the configuration.
+ The object that is created implements service ConfigurationAccess.
+ To reflect its <em>element role</em> as root of the view, it implements
+ service AccessRootElement.
+ </p>
+
+ <p>Using the second form requests an updatable view of the configuration.
+ The object that is created should implement service
+ ConfigurationUpdateAccess. To reflect its <em>element role</em>
+ which includes controlling updates for the whole view, it implements
+ service UpdateRootElement.
+ <BR />If the root element of the view is marked read-only (as indicated
+ by com::sun::star::beans::PropertyAttributes::READONLY),
+ the implementation may either raise an exception or return a (read-only)
+ ConfigurationAccess/AccessRootElement instead.
+ </p>
+
+ <p>The arguments passed to
+ com::sun::star::lang::XMultiServiceFactory::createInstanceWithArguments()
+ in parameter <var>aArguments</var> specify the administrative entity for which
+ data should be administered. In other words they determine the layer to which
+ changes will apply. They also specify the view of that configuration that
+ should be created. That is, they determine the subset of elements that can be
+ accessed starting from the returned object. Each element of the argument
+ sequence should be a com::sun::star::beans::PropertyValue
+ or a com::sun::star::beans::NamedValue,
+ so that the parameters can be identified by name rather than by position.
+ </p>
+
+ <p>What combinations of arguments are supported depends on the service name
+ and on the data store being administered.
+ </p>
+
+ <p>With both of the standard service-specifiers above, an implementation must
+ accept a single argument named <code>nodepath</code> of type `string`.
+ This argument must contain the absolute path to an element of the
+ configuration. The view that is selected consists of the named element and
+ all its descendants. The administrative entity is the default for the
+ AdministrationProvider. Usually this is the largest entity
+ encompassing all entities accessible from this instance. In other words this
+ can be used to influence as global a scope as possible.
+ </p>
+
+ <p>Other arguments can be used to select a more specific entity and to control
+ the behavior of the view. These are different for different implementations
+ and data stores. Whether and how they are used may also depend on properties
+ that were selected when the provider was created.
+ </p>
+
+ <p>An implementation may ignore unknown arguments.</p>
+
+ <p>Some parameters that are commonly supported are described for service
+ ConfigurationProvider.
+ </p>
+ <p>One notable difference exists for parameter <code>"Locale"</code>. For a
+ ConfigurationProvider the default behavior usually is to select
+ the locale set up for the user. But this service by default gets data for all
+ locales for which data is present. Locale-dependent values in this case are
+ replaced by a SetAccess using the language names as accessors.
+ This also allows targeted setting of values for selected locales.
+ This behavior can be requested explicitly by specifying a special argument
+ value <code>locale = "*"</code>.
+ </p>
+
+ <p>com::sun::star::lang::XMultiServiceFactory::createInstance()
+ may be unusable. Only an implementation that supports service names that can be
+ used with no further arguments support this method. It should return the
+ same result as if
+ com::sun::star::lang::XMultiServiceFactory::createInstanceWithArguments()
+ had been called using an empty sequence of arguments.
+ </p>
+*/
+ interface com::sun::star::lang::XMultiServiceFactory;
+
+
+/** allows controlling or observing the lifetime of the configuration.
+
+ <p>The owner of the provider may dispose of this object
+ using com::sun::star::lang::XComponent::dispose().
+ </p>
+
+ <p>Views created by the provider generally refer to data that is managed by
+ the provider. Therefore, disposing of the provider will cause all objects
+ belonging to these views to be disposed of as well. This does not apply to
+ <em>snapshot</em> views that have their own copy of the data, if available.
+ </p>
+
+*/
+ interface com::sun::star::lang::XComponent;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/CannotLoadConfigurationException.idl b/offapi/com/sun/star/configuration/CannotLoadConfigurationException.idl
new file mode 100644
index 000000000..c04197603
--- /dev/null
+++ b/offapi/com/sun/star/configuration/CannotLoadConfigurationException.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_configuration_CannotLoadConfigurationException_idl__
+#define __com_sun_star_configuration_CannotLoadConfigurationException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+ module com { module sun { module star { module configuration {
+
+
+/** is thrown when an application tries to create a configuration provider
+ but the configuration can't be loaded
+ */
+published exception CannotLoadConfigurationException: com::sun::star::uno::Exception
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/ConfigurationAccess.idl b/offapi/com/sun/star/configuration/ConfigurationAccess.idl
new file mode 100644
index 000000000..9e34f9adf
--- /dev/null
+++ b/offapi/com/sun/star/configuration/ConfigurationAccess.idl
@@ -0,0 +1,235 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_configuration_ConfigurationAccess_idl__
+#define __com_sun_star_configuration_ConfigurationAccess_idl__
+
+#include <com/sun/star/configuration/HierarchyAccess.idl>
+#include <com/sun/star/configuration/HierarchyElement.idl>
+#include <com/sun/star/configuration/SetAccess.idl>
+#include <com/sun/star/configuration/GroupAccess.idl>
+#include <com/sun/star/configuration/AccessRootElement.idl>
+#include <com/sun/star/configuration/SetElement.idl>
+#include <com/sun/star/configuration/GroupElement.idl>
+
+
+module com { module sun { module star { module configuration {
+
+/** provides read access to a fragment of the configuration hierarchy.
+
+ <p>Values that are direct or indirect descendants of a root element can be
+ retrieved and, if themselves objects, navigated. Other interfaces provide
+ access to information about this element and its context.
+ Changes to values in the hierarchy can be monitored by event listeners.
+ </p>
+
+ <p>Descendants of this service also implement this service.
+ </p>
+
+ <p>Ultimately the configuration holds values. These values are organized into
+ a hierarchy using structural elements. The structure is defined in advance in
+ a schema. Necessary information from the schema is stored in the configuration
+ repository itself and is accessible through an implementation of this service.
+ </p>
+
+ <p>Two different kinds of structural elements are used in the configuration
+ hierarchy:
+ </p>
+ <dl>
+ <dt>Sets</dt>
+ <dd>are dynamic containers of homogeneous elements. Which elements
+ a <em>set</em> contains can vary. Their names are defined by the
+ clients that insert them. On the other hand, the <em>type</em> of
+ the elements is the same for all elements. In the case of elements
+ that are themselves hierarchy objects, the <em>type</em> includes
+ the structure of the hierarchy fragment they contain. Such types
+ are defined in the configuration schema as <em>templates</em>.
+ </dd>
+
+ <dt>Groups</dt>
+ <dd>are static collections of heterogeneous elements. The names and
+ types of the elements of a <em>group</em> are completely defined in the
+ configuration schema. Here each element may be of a different
+ <em>type</em>, allowing <em>groups</em> that contain a mix of
+ subobjects and simple values.
+ </dd>
+ </dl>
+
+ <p>Objects in the configuration hierarchy, for example, implementations of this service,
+ can thus be classified in the following ways:
+ </p>
+ <ul>
+ <li><em>Container</em> role:
+ An object that can hold child elements as a <em>set</em> or a <em>group</em>.
+ </li>
+ <li><em>Element</em> role:
+ An object may be an element of a <em>set</em> or a <em>group</em>
+ or else it may be the root element.
+ </li>
+ </ul>
+
+ <p>Several types of simple <em>values</em> can be used in the configuration.
+ In addition to the basic (scalar) types, sequences of the basic types are
+ supported. The basic types are:
+ </p>
+
+ <ul>
+ <li><strong>string</strong> can hold a human-readable text.
+ <p>Values are represented as `string`.</p>
+ <p>Sequences are represented as `string[]`.</p>
+ <p>"<em>human-readable</em>" here excludes non-printing characters
+ except for CR, LF and TAB [Unicode code points 9,10,13].
+ For binary data, use type <strong>binary</strong> instead.</p>
+ </li>
+ <li><strong>boolean</strong> can hold the values `TRUE` or `FALSE`.
+ <p>Values are represented as `boolean`.
+ <p>Sequences are represented as `boolean[]`.</p>
+ </li>
+ <li><strong>short</strong> can hold a 16-bit signed integer.
+ <p>Values are represented as `short`.</p>
+ <p>Sequences are represented as `short[]`.</p>
+ </li>
+ <li><strong>int</strong> can hold a 32-bit signed integer.
+ <p>Values are represented as `long`.</p>
+ <p>Sequences are represented as `long[]`.</p>
+ </li>
+ <li><strong>long</strong> can hold a 64-bit signed integer.
+ <p>Values are represented as `hyper`.</p>
+ <p>Sequences are represented as `hyper[]`.</p>
+ </li>
+ <li><strong>double</strong> can hold a floating point number.
+ <p>Values are represented as `double`.</p>
+ <p>Sequences are represented as `double[]`.</p>
+ </li>
+ <li><strong>binary</strong> can hold a sequence of octets.
+ <p>Values are represented as `byte[]`.</p>
+ <p>Sequences are represented as `byte[][]`.</p>
+ </li>
+ </ul>
+
+ <p>Within templates an additional type <strong>any</strong> can occur. When
+ such a template is used to create a new SetElement, the type
+ of the element is initially reported as `any` (having no value).
+ When the value of such an element is first set, it will assume the type used.
+ </p>
+
+ <p>If the schema marks a value as <em>nullable</em> (which is indicated by
+ attribute com::sun::star::beans::PropertyAttribute::MAYBEVOID ),
+ its contents may be `NULL`.
+ </p>
+
+ <p>The configuration should support explicit access to default values
+ (implementing com::sun::star::beans::XPropertyState
+ and com::sun::star::beans::XPropertyWithState).
+ </p>
+
+ @see ConfigurationProvider
+ Root instances of this service can be requested from a
+ ConfigurationProvider.
+
+ @see ConfigurationUpdateAccess
+ an extended service that includes facilities for modifying
+ configuration data.
+*/
+published service ConfigurationAccess
+{
+ /** provides interfaces to access child and descendent elements.
+
+ <p>An implementation actually implements a specialization of this service,
+ which depends on its <em>Container</em> role.
+ </p>
+
+ <p>Implementations shall implement exactly one of:</p>
+ <ul>
+ <li>SetAccess if this element is a <em>Set</em>.</li>
+ <li>GroupAccess if this element is a <em>Group</em>.</li>
+ </ul>
+ */
+ service HierarchyAccess;
+
+ /** provides interfaces to obtain information about this element and its
+ role and context in the hierarchy.
+
+ <p>An implementation actually implements a specialization of this service,
+ which depends on its <em>Element</em> role.
+ </p>
+
+ <p>Implementations shall implement exactly one of:</p>
+ <ul>
+ <li>AccessRootElement if this element is the
+ <em>Root</em> of the whole hierarchy. Objects that can be
+ created directly by a ConfigurationProvider
+ implement this service.</li>
+ <li>SetElement if this element may be contained in a
+ <em>Set</em>.</li>
+ <li>GroupElement if this element is a child of a
+ <em>Group</em>.</li>
+ </ul>
+
+ */
+ service HierarchyElement;
+
+ /** specializes HierarchyAccess, if this element is a <em>Set</em>.
+
+ <p>This is an alternative to GroupAccess.
+ </p>
+ */
+ [optional] service SetAccess;
+
+ /** specializes HierarchyAccess,
+ if this element is a <em>Group</em>.
+ <p>This is an alternative to SetAccess.
+ </p>
+ */
+ [optional] service GroupAccess;
+
+ /** specializes HierarchyElement,
+ if this element is the <em>Root</em> of the whole hierarchy.
+ <p>This is an alternative to SetElement
+ or GroupElement.
+ </p>
+
+ @see ConfigurationProvider
+ Instances obtained from a ConfigurationProvider will
+ implement this version of HierarchyElement.
+ */
+ [optional] service AccessRootElement;
+
+ /** specializes HierarchyElement,
+ if this element may be contained in a <em>Set</em>.
+ <p>This is an alternative to AccessRootElement
+ or GroupElement.
+ </p>
+ */
+ [optional] service SetElement;
+
+ /** specializes HierarchyElement,
+ if this element is a child of a <em>Group</em>.
+ <p>This is an alternative to AccessRootElement
+ or SetElement.
+ </p>
+*/
+ [optional] service GroupElement;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/ConfigurationProvider.idl b/offapi/com/sun/star/configuration/ConfigurationProvider.idl
new file mode 100644
index 000000000..ff337bda2
--- /dev/null
+++ b/offapi/com/sun/star/configuration/ConfigurationProvider.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_configuration_ConfigurationProvider_idl__
+#define __com_sun_star_configuration_ConfigurationProvider_idl__
+
+#include <com/sun/star/lang/XMultiServiceFactory.idl>
+#include <com/sun/star/lang/XComponent.idl>
+
+
+module com { module sun { module star { module configuration {
+
+/** manages one, or more, complete sets of configuration data and serves as a
+ factory for objects that provide access to a subset of the configuration.
+
+ <p>An implementation is usually obtained from a
+ com::sun::star::lang::ServiceManager. The arguments passed to
+ com::sun::star::lang::XMultiComponentFactory::createInstanceWithArgumentsAndContext()
+ select the configuration data source. Arguments must be provided as
+ com::sun::star::beans::NamedValue
+ or com::sun::star::beans::PropertyValue.
+ If the parameters given are incomplete missing values are taken
+ from the context or the environment. If an instance already exists for the
+ given set of arguments, the existing instance may be reused.
+ In particular, instantiating a provider without explicit arguments to access
+ the default configuration data will always yield the same
+ com::sun::star::configuration::DefaultProvider object.
+ </p>
+ <p>Some arguments for
+ com::sun::star::lang::XMultiServiceFactory::createInstanceWithArguments()
+ may be given default values during creation of this service. In particular
+ this applies to the parameters <code>"Locale"</code> and <code>"EnableAsync"</code>.
+ </p>
+
+ @deprecated Use theDefaultProvider instead.
+ */
+published service ConfigurationProvider
+{
+/** allows creating access objects for specific views such as subsets and fragments
+ of the configuration.
+
+ <p>The parameter <var>aServiceSpecifier</var> passed to
+ com::sun::star::lang::XMultiServiceFactory::createInstanceWithArguments()
+ supports at least the service specifiers
+ <code>"com.sun.star.configuration.ConfigurationAccess"</code> and
+ <code>"com.sun.star.configuration.ConfigurationUpdateAccess"</code>.
+ </p>
+
+ <p>Using the first of these service specifiers requests a read-only view of
+ the configuration.
+ The object that is created implements service ConfigurationAccess.
+ To reflect its <em>element role</em> as root of the view, it implements
+ service AccessRootElement.
+ </p>
+
+ <p>Using the second form requests an updatable view of the configuration.
+ The object that is created should implement service
+ ConfigurationUpdateAccess. To reflect its <em>element role</em>
+ which includes controlling updates for the whole view, it implements
+ service UpdateRootElement.
+ <BR />If the root element of the view is marked read-only (as indicated
+ by com::sun::star::beans::PropertyAttributes::READONLY),
+ the implementation may either raise an exception or return a (read-only)
+ ConfigurationAccess/AccessRootElement instead.
+ </p>
+
+ <p>The arguments passed to
+ com::sun::star::lang::XMultiServiceFactory::createInstanceWithArguments()
+ in parameter <var>aArguments</var> specify the view of the configuration that
+ should be created. That is, they determine the subset of elements that can be
+ accessed starting from the returned object. Each element of the argument
+ sequence should be a com::sun::star::beans::PropertyValue
+ or a com::sun::star::beans::NamedValue,
+ so that the parameters can be identified by name rather than by position.
+ </p>
+
+ <p>What combinations of arguments are supported depends on the service name.
+ </p>
+
+ <p>With both of the standard service-specifiers above, an implementation must
+ accept a single argument named <code>nodepath</code> of type `string`.
+ This argument must contain the absolute path to an element of the
+ configuration. The view that is selected consists of the named element and
+ all its descendants.
+ </p>
+
+ <p>Other arguments can be used to control the behavior of the view. These
+ are different for different implementations. Whether and how they are used
+ may also depend on the configuration store and configuration that were
+ selected when the provider was created.
+ </p>
+
+ <p>An implementation must ignore unknown arguments.</p>
+
+ <p>Some parameters that are commonly supported are:</p>
+
+ <ul>
+ <li>
+ <strong>Selecting data into a view:</strong>
+ <dl>
+ <dt><code>"nodepath"</code> : `string`</dt>
+ <dd>specifies the location of the view root in the configuration.</dd>
+ <dt><code>"depth"</code> : `short`</dt>
+ <dd>specifies that elements of the hierarchy that are more than the given
+ number of nesting levels away from the root need not be included in the
+ view.
+ </dd>
+ <dt><code>"locale"</code> : com::sun::star::lang::Locale</dt>
+ <dd>specifies the locale for which localized values should be
+ retrieved.
+ </dd>
+ </dl>
+
+ <p><strong>Example:</strong> In the hierarchy
+<BR /><pre>
+ A - B1 - C1
+ |
+ - B2 - C2 (localized: de, en, fr, ..)
+ | |
+ | - C3 - D1
+ | | |
+ | | - D2 - E1
+ | |
+ | - C4 - D3 - E2 - F1
+ | | |
+ | | - F2
+ | |
+ | - C5
+ |
+ - B3
+ |
+ - B4 - C6 - D4 - E3
+
+</pre>
+ <BR />selecting a view with <code>nodepath = "/A/B2"</code>,
+ <code>depth = 2</code> and <code>locale = &lt;Locale for en_US&gt;</code>
+ would result in the tree fragment
+<BR /><pre>
+(A-) B2 - C2 (en)
+ |
+ - C3 - D1
+ | |
+ | - D2 (..)
+ |
+ - C4 - D3 (..)
+ |
+ - C5
+
+</pre>
+ </p>
+ </li>
+
+ <li>
+ <strong>Controlling cache behavior:</strong> (with providers that
+ cache configuration data)
+ <dl>
+ <dt><code>"enableasync"</code> : `boolean`</dt>
+ <dd>controls how updates are handled in the cache. If `TRUE`, the
+ cache may operate in <em>write-back</em> mode, where updates at
+ first only affect the cache and are written to persistent storage
+ at some later time. If `FALSE`, the cache must operate in
+ <em>write-through</em> mode, where updates are written to persistent
+ storage at once - that is before
+ com::sun::star::util::XChangesBatch::commitChanges()
+ returns.
+ <p><em>This parameter was formerly called <code>"lazywrite"</code>.
+ The old name should still be supported for compatibility.
+ </em></p>
+ </dd>
+
+ <dt><code>"nocache"</code> : `boolean`</dt>
+ <dd>This deprecated parameter
+ specifies that data for the view is not taken from the cache, but
+ read directly from storage. This may entail that future changes that
+ become visible in the cache are not reflected in this view and that
+ changes done through this view are not reflected in the cache.
+ <BR /><strong>Use with caution !</strong>
+ <p><em>This parameter is not supported by all implementations and may be
+ silently ignored !
+ </em></p>
+ </dd>
+ </dl>
+ </li>
+ </ul>
+
+ <p>com::sun::star::lang::XMultiServiceFactory::createInstance()
+ may be unusable. Only an implementation that supports service names that can be
+ used with no further arguments support this method. It should return the
+ same result as if
+ com::sun::star::lang::XMultiServiceFactory::createInstanceWithArguments()
+ had been called using an empty sequence of arguments.
+ </p>
+*/
+ interface com::sun::star::lang::XMultiServiceFactory;
+
+
+/** allows controlling or observing the lifetime of the configuration.
+
+ <p>The owner of the provider may dispose of this object
+ using com::sun::star::lang::XComponent::dispose().
+ Note that the default provider is owned by the
+ com::sun::star::lang::ServiceManager and should not be
+ disposed of by user code.
+ </p>
+
+ <p>Views created by the provider generally refer to data that is managed by
+ the provider. Therefore, disposing of the provider will cause all objects
+ belonging to these views to be disposed of as well. This does not apply to
+ <em>snapshot</em> views that have their own copy of the data, if available.
+ </p>
+
+*/
+ interface com::sun::star::lang::XComponent;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/ConfigurationRegistry.idl b/offapi/com/sun/star/configuration/ConfigurationRegistry.idl
new file mode 100644
index 000000000..2773a1782
--- /dev/null
+++ b/offapi/com/sun/star/configuration/ConfigurationRegistry.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_configuration_ConfigurationRegistry_idl__
+#define __com_sun_star_configuration_ConfigurationRegistry_idl__
+
+
+#include <com/sun/star/registry/XSimpleRegistry.idl>
+#include <com/sun/star/util/XFlushable.idl>
+
+module com { module sun { module star { module configuration {
+
+
+
+/* provides access to a configuration tree as a registry.
+
+ <p>This service is deprecated,
+ com.sun.star.configuration::ConfigurationProvider should
+ be used instead.</p>
+
+ <p> Using the com::sun::star::registry::XSimpleRegistry
+ interface, the service can be bound to a subtree within the
+ configuration tree, as provided by an
+ com.sun.star.configuration::ConfigurationProvider
+ service, which must be accessible from the service factory you use for the
+ creation of this service.
+ </p>
+ <p> There are some restrictions when accessing a configuration tree using a registry.
+ Most of them are implications of the fact that a configuration tree is very static in
+ it's structure. Removal and addition of sub nodes is allowed only for special
+ nodes, and even then the new elements have to comply to a given scheme (which is some
+ kind of attribute of the container node). So for instance the
+ com.sun.star.registry::XRegistryKey::createKey() method is not allowed
+ for some nodes.
+ </p><p>
+ Thus anybody using this service is strongly advised to read and understand the specification
+ of a configuration provider (com.sun.star.configuration::ConfigurationProvider)
+ and all of its aspects.
+ </p>
+
+ @version 1.0 2000/07/06
+*/
+
+published service ConfigurationRegistry
+{
+ /** controls the binding of the object to a configuration sub tree.
+ <p>com::sun::star::registry::XSimpleRegistry::open()
+ is used to open a special subtree within the configuration tree.
+ </p>
+ <p>The parameters of this method control the location of the root of the to-be-opened
+ configuration node and the access mode (read only or updatable).
+ </p>
+ */
+ interface com::sun::star::registry::XSimpleRegistry;
+
+ /** is used to commit changes to the configuration.
+ <p>As specified for the
+ com::sun::star::configuration::ConfigurationUpdateAccess
+ service, all changes made to a configuration subtree have to be committed
+ before they become persistent.
+ To do this for a configuration accessed as a registry, call
+ com::sun::star::util::XFlushable::flush().
+ </p>
+ <p><strong>Warning:</strong><em>Changes that are not flushed will be
+ lost.</em>
+ </p>
+ */
+ interface com::sun::star::util::XFlushable;
+};
+
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/ConfigurationUpdateAccess.idl b/offapi/com/sun/star/configuration/ConfigurationUpdateAccess.idl
new file mode 100644
index 000000000..7d151349d
--- /dev/null
+++ b/offapi/com/sun/star/configuration/ConfigurationUpdateAccess.idl
@@ -0,0 +1,123 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_configuration_ConfigurationUpdateAccess_idl__
+#define __com_sun_star_configuration_ConfigurationUpdateAccess_idl__
+
+#include <com/sun/star/configuration/ConfigurationAccess.idl>
+#include <com/sun/star/configuration/SetUpdate.idl>
+#include <com/sun/star/configuration/GroupUpdate.idl>
+#include <com/sun/star/configuration/UpdateRootElement.idl>
+
+
+module com { module sun { module star { module configuration {
+
+/** provides modifying access to a fragment of the configuration hierarchy.
+
+ <p>Extends ConfigurationAccess to support modifying values
+ or inserting and removing elements.
+ </p>
+
+ <p>Descendants of this service also implement this service
+ unless they are marked <em>read-only</em> (which is indicated by attribute
+ com::sun::star::beans::PropertyAttribute::READONLY),
+ in which case they only need implement ConfigurationAccess.
+ </p>
+
+ <p>The classification of implementations that is described for
+ ConfigurationAccess applies to implementations of this service
+ as well. Therefore an implementation will support one of several alternate
+ services describing its <em>Container</em> role and one of several alternate
+ services describing its <em>Element</em> role. These services are
+ extensions of the respective services documented for ConfigurationAccess.
+ </p>
+ <ul>
+ <li><em>Container</em> role:
+ A <em>group</em> permits changing child values.
+ A <em>set</em> permits inserting and removing contained elements.
+ </li>
+ <li><em>Element</em> role:
+ The root element of a modifiable tree provides extended functionality
+ to control processing of changes for the entire tree (fragment) by
+ supporting com::sun::star::util::XChangesBatch.
+ For elements of a <em>set</em> or a <em>group</em> no additional
+ interfaces are supported.
+ </li>
+ </ul>
+
+ @see ConfigurationProvider
+ Root instances of this service can be requested from a
+ ConfigurationProvider
+*/
+published service ConfigurationUpdateAccess
+{
+ /** is the basic service providing read access to an element of the
+ configuration hierarchy and its child and descendent elements.
+
+ <p>The HierarchyAccess specialization implemented will be
+ further specialized to support modifying access.
+ Implementations shall therefore implement one of SetUpdate or
+ GroupUpdate depending on the <em>Container</em> role.
+ </p>
+
+ <p>If the HierarchyElement specialization that is implemented
+ is AccessRootElement, the implementation must support the
+ extended functionality of UpdateRootElement. Otherwise, there
+ are no new requirements mandated by the <em>Element</em> role.
+ </p>
+
+ */
+ service ConfigurationAccess;
+
+ /** specializes SetAccess to support modifying the element.
+
+ <p>Implemented, if this element is a <em>Set</em>.
+ Otherwise service GroupUpdate is provided.
+ </p>
+ */
+ [optional] service SetUpdate;
+
+ /** specializes GroupAccess to support modifying contained
+ data.
+
+ <p>Implemented, if this element is a <em>Group</em>.
+ Otherwise service SetUpdate is provided.
+ </p>
+ */
+ [optional] service GroupUpdate;
+
+ /** specializes AccessRootElement to support transaction-like
+ control over a batch of changes accumulated within the tree fragment.
+
+ <p>Implemented, if this element is the <em>Root</em> of the whole hierarchy.
+ Otherwise either SetElement or GroupElement is provided.
+ </p>
+
+ @see ConfigurationProvider
+ Instances obtained from a ConfigurationProvider will
+ implement this version of HierarchyElement.
+ */
+ [optional] service UpdateRootElement;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/CorruptedConfigurationException.idl b/offapi/com/sun/star/configuration/CorruptedConfigurationException.idl
new file mode 100644
index 000000000..2beab78e2
--- /dev/null
+++ b/offapi/com/sun/star/configuration/CorruptedConfigurationException.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_configuration_CorruptedConfigurationException_idl__
+#define __com_sun_star_configuration_CorruptedConfigurationException_idl__
+
+#include <com/sun/star/uno/RuntimeException.idl>
+
+
+
+module com { module sun { module star { module configuration {
+
+
+/** This exception is thrown in case a configuration
+ does not exists or contains corrupt data.
+
+ This exception must be used as base exception to derive
+ specialized exceptions from it which identify a concrete
+ error case.
+
+ @since OOo 2.3
+ */
+published exception CorruptedConfigurationException : ::com::sun::star::uno::RuntimeException
+{
+ /** Instead of the message part of an exception, this value
+ describe the type of corruption more in detail. */
+ string Details;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/CorruptedUIConfigurationException.idl b/offapi/com/sun/star/configuration/CorruptedUIConfigurationException.idl
new file mode 100644
index 000000000..8009d52e1
--- /dev/null
+++ b/offapi/com/sun/star/configuration/CorruptedUIConfigurationException.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_configuration_CorruptedUIConfigurationException_idl__
+#define __com_sun_star_configuration_CorruptedUIConfigurationException_idl__
+
+#include <com/sun/star/configuration/CorruptedConfigurationException.idl>
+
+
+
+module com { module sun { module star { module configuration {
+
+
+/** This exception is thrown in case the global UI configuration
+ (including menubars/toolbars and accelerators)
+ does not exists or contains corrupted data.
+
+ @since OOo 2.3
+ */
+published exception CorruptedUIConfigurationException : ::com::sun::star::configuration::CorruptedConfigurationException
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/DefaultProvider.idl b/offapi/com/sun/star/configuration/DefaultProvider.idl
new file mode 100644
index 000000000..9fc05f304
--- /dev/null
+++ b/offapi/com/sun/star/configuration/DefaultProvider.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_configuration_DefaultProvider_idl__
+#define __com_sun_star_configuration_DefaultProvider_idl__
+
+#include <com/sun/star/configuration/ConfigurationProvider.idl>
+#include <com/sun/star/util/XRefreshable.idl>
+#include <com/sun/star/util/XFlushable.idl>
+#include <com/sun/star/lang/XLocalizable.idl>
+
+
+
+module com { module sun { module star { module configuration {
+
+
+/**
+ is a ConfigurationProvider, that is
+ the default ConfigurationProvider for its
+ com::sun::star::uno::XComponentContext.
+
+ <p>This object is accessible as singleton
+ theDefaultProvider</p>.
+
+ @since OOo 1.1.2
+*/
+published service DefaultProvider
+{
+
+ /** characterizes the functionality.
+ */
+ service ConfigurationProvider ;
+
+ /**Provides refresh capabilities, data can be refreshed from the backend(s) into
+ the in-memory cache.
+ */
+ [optional] interface com::sun::star::util::XRefreshable;
+
+ /** Enables the data to be flushed from the in-memory cache to the backend(s).
+ */
+ [optional] interface com::sun::star::util::XFlushable;
+
+ /** Enable setting/getting locale for Provider
+
+ @since OOo 2.0
+ */
+
+ [optional] interface com::sun::star::lang::XLocalizable;
+
+ /** Property to enable/disable asynchronous write-back from in-memory cache to backend(s)
+
+ @since OOo 2.0
+ */
+
+ [optional,property] boolean EnableAsync;
+
+} ;
+
+
+} ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/GroupAccess.idl b/offapi/com/sun/star/configuration/GroupAccess.idl
new file mode 100644
index 000000000..d0305fe90
--- /dev/null
+++ b/offapi/com/sun/star/configuration/GroupAccess.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_configuration_GroupAccess_idl__
+#define __com_sun_star_configuration_GroupAccess_idl__
+
+#include <com/sun/star/configuration/HierarchyAccess.idl>
+#include <com/sun/star/configuration/PropertyHierarchy.idl>
+#include <com/sun/star/beans/XPropertyState.idl>
+#include <com/sun/star/beans/XMultiPropertyStates.idl>
+
+
+module com { module sun { module star { module configuration {
+
+/** provides access to a predefined heterogeneous group of values and nested
+ trees as part of a hierarchy.
+
+ <p>Provides access to, and information about, its children and descendants
+ viewed either as properties or as contained elements.
+ </p>
+
+ <p><em>Groups</em> are static collections within the hierarchy.</p>
+
+ <p>The number and names of contained elements are fixed in advance
+ and each child may have a different type.
+ </p>
+
+ <p>This service subsumes two alternate ways of accessing child and descendent
+ elements. These strongly overlap, supporting the basic identity
+ <code>xGroup.getPropertyValue( aName ) == xGroup.getByName( aName )</code>.
+ </p>
+
+ @see com::sun::star::configuration::GroupElement
+ Child objects of this service generally implement service GroupElement.
+
+ @see com::sun::star::configuration::SetAccess
+ A complementary service providing for dynamic homogeneous sets of elements.
+
+*/
+published service GroupAccess
+{
+/** is the basic service for accessing child and descendent nodes using
+ a view of the tree as a container of values and structuring elements.
+*/
+ service HierarchyAccess;
+
+/** is the basic service for accessing child and descendent nodes using
+ a view of the tree as a hierarchy of properties and subproperties.
+
+ <p>This view is meaningful only for a static fragment of the hierarchy
+ Object's properties may change, but not which properties they have.
+ Therefore, dynamic elements of the hierarchy (see SetAccess)
+ do not implement service PropertyHierarchy.
+ </p>
+
+ <p>If such elements occur as properties or subproperties of an implementation,
+ it is not specified whether direct subproperty access using
+ com::sun::star::beans::XHierarchicalPropertySet or
+ com::sun::star::beans::XMultiHierarchicalPropertySet can
+ be used to access descendants of such elements.
+ </p>
+
+ <p>Similarly, information about such descendants may not be available from
+ the com::sun::star::beans::XHierarchicalPropertySetInfo
+ the implementation provides.
+ </p>
+
+ <p>If an implementation is part of a <em>read-only</em> view of the hierarchy,
+ all properties and subproperties will be reported as having attribute
+ com::sun::star::beans::PropertyAttribute::READONLY set,
+ and attempts to change property values will fail.
+ </p>
+*/
+ service PropertyHierarchy;
+
+/** provides access to the state of child elements of an implementation. [optional]
+
+ <p>This interface should be present, if the hierarchy supports default values
+ for simple (non-object) properties and the group contains such properties.
+ </p>
+
+ <p>For properties that are objects themselves, the semantic documented for
+ service HierarchyAccess applies.
+ </p>
+ */
+ [optional] interface com::sun::star::beans::XPropertyState;
+
+/** provides access to the states of multiple child elements of
+ an implementation. [optional]
+
+ <p>This interface should be present, if the hierarchy supports default values
+ for simple (non-object) properties and the group contains such properties.
+ </p>
+
+ <p>For properties that are objects themselves, the semantic documented for
+ service HierarchyAccess applies.
+ </p>
+*/
+ [optional] interface com::sun::star::beans::XMultiPropertyStates;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/GroupElement.idl b/offapi/com/sun/star/configuration/GroupElement.idl
new file mode 100644
index 000000000..e6bd88e77
--- /dev/null
+++ b/offapi/com/sun/star/configuration/GroupElement.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_configuration_GroupElement_idl__
+#define __com_sun_star_configuration_GroupElement_idl__
+
+#include <com/sun/star/configuration/HierarchyElement.idl>
+#include <com/sun/star/container/XChild.idl>
+
+
+module com { module sun { module star { module configuration {
+
+/** provides information about a predefined element contained in a
+ heterogeneous group of elements within a hierarchy.
+
+ <p>Provides information about the element.
+ Provides access to its containing group object.
+ </p>
+
+ <p>A group element bears a predefined name. It may only exist within a
+ containing group object.
+ </p>
+
+ @see com::sun::star::configuration::GroupAccess
+ Parent objects of this service generally implement service GroupAccess.
+
+ @see com::sun::star::configuration::SetElement
+ A complementary service, for elements of a dynamic homogeneous container.
+
+ @see com::sun::star::configuration::AccessRootElement
+ A complementary service, for the root element of a hierarchy.
+
+*/
+published service GroupElement
+{
+/** is the basic service for accessing information about an element in the
+ hierarchy.
+*/
+ service HierarchyElement;
+
+/** provides access to the containing group object.
+
+ <p>In this service this interface is mandatory</p>
+
+ <p>com::sun::star::container::XChild::getParent()
+ shall not return NULL.
+ </p>
+
+ <p><em>Setting a different parent is not supported.</em></p>
+*/
+ interface com::sun::star::container::XChild;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/GroupUpdate.idl b/offapi/com/sun/star/configuration/GroupUpdate.idl
new file mode 100644
index 000000000..c8cff5c09
--- /dev/null
+++ b/offapi/com/sun/star/configuration/GroupUpdate.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_configuration_GroupUpdate_idl__
+#define __com_sun_star_configuration_GroupUpdate_idl__
+
+#include <com/sun/star/configuration/GroupAccess.idl>
+#include <com/sun/star/container/XNameReplace.idl>
+
+
+module com { module sun { module star { module configuration {
+
+/** provides write access to a predefined heterogeneous group of values
+ and nested trees as part of a hierarchy.
+
+ <p>This service extends GroupAccess to support
+ modifying values.
+ </p>
+*/
+published service GroupUpdate
+{
+/** is the basic service providing read access to a group element of the
+ hierarchy.
+
+ <p>Any child and descendant objects support modifying access as well,
+ unless they represent a read-only tree element as indicated by
+ com::sun::star::beans::PropertyAttribute::READONLY.
+ </p>
+*/
+ service GroupAccess;
+
+/** allows replacing values.
+
+ <p>This service extends the interface
+ com::sun::star::container::XNameAccess supported
+ by service GroupAccess to allow changing values.
+ This strongly overlaps with functionality available through
+ PropertyHierarchy (from GroupAccess), so that
+ <code>xGroup.setPropertyValue( aName, aValue )</code> is equivalent to
+ <code>xGroup.replaceByName( aName, aValue )</code>.
+ </p>
+
+ <p>Changes can be observed by registering a listener with interface
+ com::sun::star::beans::XPropertySet or
+ com::sun::star::beans::XMultiPropertySet.
+ </p>
+
+ <p>Elements of this group may be replaced only if they are of simple type.
+ The type returned by
+ com::sun::star::container::XElementAccess::getElementType()
+ must not be an interface type. Replacing whole subtrees is not supported.
+ </p>
+*/
+ interface com::sun::star::container::XNameReplace;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/HierarchyAccess.idl b/offapi/com/sun/star/configuration/HierarchyAccess.idl
new file mode 100644
index 000000000..5ed58f861
--- /dev/null
+++ b/offapi/com/sun/star/configuration/HierarchyAccess.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_configuration_HierarchyAccess_idl__
+#define __com_sun_star_configuration_HierarchyAccess_idl__
+
+#include <com/sun/star/container/XNameAccess.idl>
+#include <com/sun/star/container/XHierarchicalNameAccess.idl>
+#include <com/sun/star/container/XContainer.idl>
+#include <com/sun/star/beans/XExactName.idl>
+#include <com/sun/star/beans/XPropertySetInfo.idl>
+#include <com/sun/star/beans/XPropertyState.idl>
+#include <com/sun/star/beans/XMultiPropertyStates.idl>
+
+
+module com { module sun { module star { module configuration {
+
+/** provides access to a hierarchy of descendant elements.
+
+ <p>Subnodes are accessed by their name. Values that are direct or indirect
+ descendants of this tree node can be retrieved. Non-value subnodes can be
+ navigated using container interfaces.
+ Other interfaces provide access to information about this node.
+ Changes to values in the subtree can be monitored by event listeners.
+ </p>
+
+ <p>Elements of this container that are not simple values
+ are similar containers themselves, thus (recursively) forming a
+ hierarchical tree.
+ </p>
+
+ <p>Implementations of this service usually also implement
+ service HierarchyElement, which concerns the complementary role
+ of being accessible as an element of the hierarchy.
+ </p>
+*/
+published service HierarchyAccess
+{
+/** allows access to immediate children of this node.
+
+ <p>com::sun::star::container::XNameAccess::getByName()
+ returns an `any` holding either a simple value or an interface
+ on another HierarchyAccess if the child is not a simple value.
+ </p>
+*/
+ interface com::sun::star::container::XNameAccess;
+
+/** allows access to all descendants of this node
+
+ <p>com::sun::star::container::XHierarchicalNameAccess::getByHierarchicalName()
+ returns an `any` holding either a simple value or an interface
+ on another HierarchyAccess if the descendant is not a simple value.
+ </p>
+*/
+ interface com::sun::star::container::XHierarchicalNameAccess;
+
+/** allows attaching listeners to this node to monitor changes to immediate child nodes.
+*/
+ interface com::sun::star::container::XContainer;
+
+/** provides support for inexact names.
+ <p>Exact names can be obtained for simple or hierarchical names for use in
+ com::sun::star::container::XNameAccess,
+ com::sun::star::container::XHierarchicalNameAccess,
+ com::sun::star::beans::XPropertySet or
+ any other interfaces that allow access to or manipulation of subnodes
+ selected by name or hierarchical name.
+ </p>
+ <p>If an inexact name could be matched to either a simple or a hierarchical
+ name, the simple (immediate child) name is preferred.
+ </p>
+*/
+ interface com::sun::star::beans::XExactName;
+
+/** provides information about immediate children of this node. [optional]
+
+ <p>This interface may be missing, if the hierarchy supports no traits that are
+ described by com::sun::star::beans::PropertyAttribute
+ values or if the same information is available by other means,
+ e.g. if the implementation supports
+ com::sun::star::beans::XPropertySet::getPropertySetInfo().
+ </p>
+
+ <p>If a child of this node is an object that implements
+ com::sun::star::beans::XProperty, then this implementation
+ returns the same com::sun::star::beans::Property for that
+ child as the child itself.
+ </p>
+*/
+ [optional] interface com::sun::star::beans::XPropertySetInfo;
+
+/** provides access to the state of child elements of an implementation. [optional]
+
+ <p>This interface may be missing if the hierarchy (or a hierarchy fragment
+ that contains this implementation as element) does not support default values or
+ if the node does not support accessing the default state of individual children.
+ </p>
+
+ <p>If elements that are not simple values, but objects themselves, support
+ a default state (as indicated by
+ com::sun::star::beans::PropertyAttribute::MAYBEDEFAULT),
+ they should implement
+ com::sun::star::beans::XPropertyWithState, in which case
+ the com::sun::star::beans::PropertyState applies to all
+ their children and recursively to all descendants.
+ </p>
+
+ <p>If an implementation is part of a <em>read-only</em> view of the hierarchy,
+ attempts to change property states will fail.
+ </p>
+*/
+ [optional] interface com::sun::star::beans::XPropertyState;
+
+/** provides access to the states of multiple child elements of
+ an implementation. [optional]
+
+ <p>This interface may be missing if the hierarchy (or a hierarchy fragment
+ that contains this implementation as element) does not support default values
+ if the node does not support accessing the default state of individual children.
+ </p>
+
+ <p>If elements that are not simple values, but objects themselves, support
+ a default state (as indicated by
+ com::sun::star::beans::PropertyAttribute::MAYBEDEFAULT),
+ they should implement
+ com::sun::star::beans::XPropertyWithState, in which case
+ the com::sun::star::beans::PropertyState applies to all
+ their children and recursively to all descendants.
+ </p>
+
+ <p>If an implementation is part of a <em>read-only</em> view of the hierarchy,
+ attempts to change property states will fail.
+ </p>
+*/
+ [optional] interface com::sun::star::beans::XMultiPropertyStates;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/HierarchyElement.idl b/offapi/com/sun/star/configuration/HierarchyElement.idl
new file mode 100644
index 000000000..5f7485713
--- /dev/null
+++ b/offapi/com/sun/star/configuration/HierarchyElement.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_configuration_HierarchyElement_idl__
+#define __com_sun_star_configuration_HierarchyElement_idl__
+
+#include <com/sun/star/container/XNamed.idl>
+#include <com/sun/star/container/XHierarchicalName.idl>
+#include <com/sun/star/beans/XProperty.idl>
+#include <com/sun/star/beans/XPropertyWithState.idl>
+#include <com/sun/star/container/XChild.idl>
+
+
+module com { module sun { module star { module configuration {
+
+/** provides information about an element within a hierarchy.
+
+ <p>The local name and the full hierarchical name can be retrieved.
+ Attributes detailing the role of the element can be queried.
+ The state of the element (regarding defaults) can be accessed.
+ </p>
+
+ <p>Implementations of this service usually also implement
+ service HierarchyAccess, which concerns the complementary role
+ of providing access to subelements of the hierarchy.
+ </p>
+*/
+published service HierarchyElement
+{
+/** provides the complete hierarchical name of this element
+ within the hierarchy tree.
+*/
+ interface com::sun::star::container::XHierarchicalName;
+
+/** provides the local name of this element within its parent.
+
+ <p><em>Renaming an element is generally not supported.</em></p>
+*/
+ interface com::sun::star::container::XNamed;
+
+/** provides a property descriptor for this element.[optional]
+
+ <p>This interface may be missing, if the hierarchy supports no traits that are
+ described by com::sun::star::beans::PropertyAttribute
+ values.
+ </p>
+
+ <p>If the parent of this object implements
+ com::sun::star::beans::XPropertySetInfo, then this returns
+ the same com::sun::star::beans::Property as the
+ com::sun::star::beans::XPropertySetInfo of the parent.
+ </p>
+*/
+ [optional] interface com::sun::star::beans::XProperty;
+
+/** provides access to the default state of this element. [optional]
+
+ <p>This interface may be missing, if the hierarchy supports access to
+ a default state and values only for simple values or not at all.
+ </p>
+
+ <p>If the parent of this object implements
+ com::sun::star::beans::XPropertyState, then members
+ of this interface have the same effect as corresponding members of the parent.
+ </p>
+
+ <p>If an implementation is part of a <em>read-only</em> view of the hierarchy,
+ attempts to change property states will fail.
+ </p>
+*/
+ [optional] interface com::sun::star::beans::XPropertyWithState;
+
+/** provides access to the parent of this element [optional].
+
+ <p>This interface may be missing if this object is not obtained
+ as a child or descendant of another tree node, for example, directly from a factory or provider.
+ </p>
+
+ <p>com::sun::star::container::XChild::getParent()
+ returns NULL, if this object is currently not contained in another node.
+ </p>
+
+ <p><em>Setting a different parent is, generally, not supported.</em></p>
+*/
+ [optional] interface com::sun::star::container::XChild;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/InstallationIncompleteException.idl b/offapi/com/sun/star/configuration/InstallationIncompleteException.idl
new file mode 100644
index 000000000..6674f035c
--- /dev/null
+++ b/offapi/com/sun/star/configuration/InstallationIncompleteException.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_configuration_InstallationIncompleteException_idl__
+#define __com_sun_star_configuration_InstallationIncompleteException_idl__
+
+#include <com/sun/star/configuration/CannotLoadConfigurationException.idl>
+
+
+ module com { module sun { module star { module configuration {
+
+
+/** is thrown when creating a configuration provider fails because
+ the user's installation for the is missing or incomplete
+ */
+published exception InstallationIncompleteException: com::sun::star::configuration::CannotLoadConfigurationException
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/InvalidBootstrapFileException.idl b/offapi/com/sun/star/configuration/InvalidBootstrapFileException.idl
new file mode 100644
index 000000000..e580f16bb
--- /dev/null
+++ b/offapi/com/sun/star/configuration/InvalidBootstrapFileException.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_configuration_InvalidBootstrapFileException_idl__
+#define __com_sun_star_configuration_InvalidBootstrapFileException_idl__
+
+#include <com/sun/star/configuration/CannotLoadConfigurationException.idl>
+
+
+ module com { module sun { module star { module configuration {
+
+
+/** is thrown when creating a configuration provider fails because
+ a bootstrap file needed to locate the configuration contains invalid data
+ */
+published exception InvalidBootstrapFileException: com::sun::star::configuration::CannotLoadConfigurationException
+{
+ /// the URL of the bootstrap file that is invalid
+ string BootstrapFileURL;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/MissingBootstrapFileException.idl b/offapi/com/sun/star/configuration/MissingBootstrapFileException.idl
new file mode 100644
index 000000000..ed8ea7341
--- /dev/null
+++ b/offapi/com/sun/star/configuration/MissingBootstrapFileException.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_configuration_MissingBootstrapFileException_idl__
+#define __com_sun_star_configuration_MissingBootstrapFileException_idl__
+
+#include <com/sun/star/configuration/CannotLoadConfigurationException.idl>
+
+
+ module com { module sun { module star { module configuration {
+
+
+/** is thrown when creating a configuration provider fails because
+ a bootstrap file needed to locate the configuration is missing
+ */
+published exception MissingBootstrapFileException: com::sun::star::configuration::CannotLoadConfigurationException
+{
+ /// the URL of the bootstrap file that could not be found
+ string BootstrapFileURL;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/PropertyHierarchy.idl b/offapi/com/sun/star/configuration/PropertyHierarchy.idl
new file mode 100644
index 000000000..90df5e46f
--- /dev/null
+++ b/offapi/com/sun/star/configuration/PropertyHierarchy.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_configuration_PropertyHierarchy_idl__
+#define __com_sun_star_configuration_PropertyHierarchy_idl__
+
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/beans/XMultiPropertySet.idl>
+#include <com/sun/star/beans/XHierarchicalPropertySet.idl>
+#include <com/sun/star/beans/XMultiHierarchicalPropertySet.idl>
+
+
+module com { module sun { module star { module configuration {
+
+/** provides access to and information about properties and subproperties
+ of an implementation.
+
+ <p>Properties in a property set may be full-fledged objects that have
+ properties themselves (and so on recursively), thereby forming a hierarchy
+ of properties. This service describes such a hierarchy, and allows
+ direct access even to subproperties.
+ </p>
+
+ @see com::sun::star::beans::XProperty
+ Properties of an implementation that are objects themselves will often
+ implement com::sun::star::beans::XProperty to allow
+ direct access to information about the object.
+ If such objects have properties of their own, they should fully implement
+ PropertyHierarchy again.
+*/
+published service PropertyHierarchy
+{
+/** provides access to and information about the immediate properties of an implementation.
+*/
+ interface com::sun::star::beans::XPropertySet;
+
+/** provides access to and information about the immediate properties
+ of an implementation.
+
+ <p>This interface allows retrieving or setting multiple properties at once.
+ Accesses are guaranteed to occur as single atomic operations even if
+ multiple threads are accessing the object simultaneously.
+ </p>
+*/
+ interface com::sun::star::beans::XMultiPropertySet;
+
+/** provides access to and information about the whole hierarchy
+ of properties and subproperties of an implementation.
+*/
+ interface com::sun::star::beans::XHierarchicalPropertySet;
+
+/** provides access to and information about the whole hierarchy
+ of properties and subproperties of an implementation.
+
+ <p>This interface allows retrieving or setting multiple properties at once.
+ Accesses are guaranteed to occur as single atomic operations even if
+ multiple threads are accessing the object simultaneously.
+ </p>
+*/
+ interface com::sun::star::beans::XMultiHierarchicalPropertySet;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/ReadOnlyAccess.idl b/offapi/com/sun/star/configuration/ReadOnlyAccess.idl
new file mode 100644
index 000000000..b2ad08c4a
--- /dev/null
+++ b/offapi/com/sun/star/configuration/ReadOnlyAccess.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_CONFIGURATION_READONLYACCESS_IDL
+#define _COM_SUN_STAR_CONFIGURATION_READONLYACCESS_IDL
+
+#include <com/sun/star/container/XHierarchicalNameAccess.idl>
+
+module com { module sun { module star { module configuration {
+
+/** Provides easy read-only access to the complete configuration.
+
+ <p>This service is still unpublished and unstable.</p>
+
+ @since LibreOffice 4.0
+*/
+service ReadOnlyAccess: com::sun::star::container::XHierarchicalNameAccess {
+ /** Service constructor.
+
+ @param locale a string representation of the locale to use for localized
+ properties; use <code>*</code> for all-locale access
+ */
+ create([in] string locale);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/ReadWriteAccess.idl b/offapi/com/sun/star/configuration/ReadWriteAccess.idl
new file mode 100644
index 000000000..7b376f90f
--- /dev/null
+++ b/offapi/com/sun/star/configuration/ReadWriteAccess.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_CONFIGURATION_READWRITEACCESS_IDL
+#define _COM_SUN_STAR_CONFIGURATION_READWRITEACCESS_IDL
+
+#include <com/sun/star/configuration/XReadWriteAccess.idl>
+
+module com { module sun { module star { module configuration {
+
+/** Provides easy read/write access to the complete configuration.
+
+ <p>This service is still unpublished and unstable.</p>
+
+ @since LibreOffice 4.0
+*/
+service ReadWriteAccess: com::sun::star::configuration::XReadWriteAccess {
+ /** Service constructor.
+
+ @param locale a string representation of the locale to use for localized
+ properties; use <code>*</code> for all-locale access
+ */
+ create([in] string locale);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/SetAccess.idl b/offapi/com/sun/star/configuration/SetAccess.idl
new file mode 100644
index 000000000..e1560b8c0
--- /dev/null
+++ b/offapi/com/sun/star/configuration/SetAccess.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_configuration_SetAccess_idl__
+#define __com_sun_star_configuration_SetAccess_idl__
+
+#include <com/sun/star/configuration/HierarchyAccess.idl>
+#include <com/sun/star/configuration/SimpleSetAccess.idl>
+#include <com/sun/star/container/XContainer.idl>
+
+
+module com { module sun { module star { module configuration {
+
+/** provides access to a dynamic, homogeneous set of values or nested
+ trees within a hierarchy.
+
+ <p>Also provides information about the template for elements.
+ Allows normalizing externally generated names.
+ </p>
+
+ <p><em>Sets</em> are dynamic containers within the hierarchy.</p>
+
+ <p>The number and names of contained elements are not fixed in advance,
+ but all elements have to be of one predetermined type.
+ </p>
+
+ @see com::sun::star::configuration::SetElement
+ Child objects of this service generally implement SetElement.
+ The template name returned by the child from
+ XTemplateInstance::getTemplateName()
+ corresponds to the name returned by the set from
+ XTemplateContainer::getElementTemplateName().
+
+ @see com::sun::star::configuration::GroupAccess
+ A complementary service that provides for static heterogeneous groups of
+ elements within the hierarchy.
+
+*/
+published service SetAccess
+{
+/** is the basic service for accessing child and descendent nodes in a hierarchy.
+
+ <p>External names (from foreign namespaces) should be normalized using
+ com::sun::star::util::XStringEscape::escapeString()
+ (if available) before using them as element names.
+ </p>
+*/
+ service HierarchyAccess;
+
+/** is the basic service providing information about and access to elements
+ of a not necessarily hierarchical <em>set</em>.
+
+ <p>Interface com::sun::star::configuration::XTemplateContainer,
+ which is optional in SimpleSetAccess must always be implemented
+ in this service, if the elements are of object type. </p>
+*/
+ service SimpleSetAccess;
+
+/** allows attaching listeners to this node to monitor changes to the set.
+
+ <p>In this service, support for notifications is mandatory.
+ </p>
+*/
+ interface com::sun::star::container::XContainer;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/SetElement.idl b/offapi/com/sun/star/configuration/SetElement.idl
new file mode 100644
index 000000000..6260020d7
--- /dev/null
+++ b/offapi/com/sun/star/configuration/SetElement.idl
@@ -0,0 +1,166 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_configuration_SetElement_idl__
+#define __com_sun_star_configuration_SetElement_idl__
+
+#include <com/sun/star/configuration/HierarchyElement.idl>
+#include <com/sun/star/container/XChild.idl>
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/configuration/XTemplateInstance.idl>
+
+
+module com { module sun { module star { module configuration {
+
+/** provides information about a dynamic element that can be inserted into a
+ homogeneous set of elements within a hierarchy.
+
+ <p>Provides information about the element.
+ Provides access to its containing set object.
+ Allows controlling the lifetime of the element.
+ </p>
+
+ <p>Set elements may be added to and removed from the hierarchy at runtime.
+ They bear user-defined names. They may exist independently, outside any
+ container.
+ </p>
+
+ <p>New set element instances generally are created through members of
+ com::sun::star::lang::XSingleServiceFactory or,
+ if supported, com::sun::star::lang::XMultiServiceFactory
+ on an implementation of SetUpdate. Initially, they are not
+ contained in a set object and have no meaningful name.
+ </p>
+
+ <p>While an instance is not contained in a set object, it is owned by
+ the client and can be disposed by calling
+ com::sun::star::lang::XComponent::dispose(). The name
+ of the object can freely be changed in that situation though without
+ persistent effect.
+ </p>
+
+ <p>When the instance is inserted into a set (this includes replacing an
+ existing element), ownership is transferred to the container.
+ While it is contained in the container, clients must not dispose the
+ object. When inserted, the name of the object is fixed and is used to
+ identify it within the container. An implementation may support
+ com::sun::star::container::XNamed::setName() even in
+ this case. If it does, changing the name has the same effect of removing
+ the object (under the old name) and then reinserting it into the same
+ container (using the new name).
+ </p>
+
+ <p>When an instance is removed from a set (this includes being replaced by
+ a new element), ownership is transferred to the client again. It can then be
+ disposed or reinserted into a container. An instance can only be inserted
+ into a container, if it was obtained from the same hierarchy.
+ </p>
+
+ <p>When a set element is removed from its set from outside the hierarchy, the
+ container disposes of the object. This occurrence can be detected by registering
+ a com::sun::star::lang::XEventListener with the object.
+ </p>
+
+ <p>If an implementation is part of a <em>read-only</em> view of the hierarchy,
+ changing the name or parent is not supported (the object can't be removed from
+ its container anyway).
+ </p>
+
+ @see com::sun::star::configuration::SetAccess
+ Parent objects of this service generally implement service SetAccess.
+
+ @see com::sun::star::configuration::GroupElement
+ A complementary service for elements of a static heterogeneous collection.
+
+ @see com::sun::star::configuration::AccessRootElement
+ A complementary service for the root element of a hierarchy.
+
+*/
+published service SetElement
+{
+/** is the basic service for accessing information about an element in the
+ hierarchy.
+*/
+ service HierarchyElement;
+
+/** provides access to the containing set object.
+
+ <p>In this service, this interface is mandatory</p>
+
+ <p>com::sun::star::container::XChild::getParent()
+ returns `NULL`, if the object is currently not contained in a container.
+ </p>
+
+ <p>An implementation may also support
+ com::sun::star::container::XChild::setParent().
+ If it does, changing the parent has the effect of first removing the object
+ from its old parent (if any) and then inserting it into the new parent
+ (unless that is `NULL`) under the same name. The new parent must be part of
+ the same hierarchy as the old one. The name of the object must have been set
+ before.
+ </p>
+*/
+ interface com::sun::star::container::XChild;
+
+/** allows controlling or observing the lifetime of the object.
+
+ <p>Clients may dispose of the object using
+ com::sun::star::lang::XComponent::dispose(), only if
+ the object is currently not contained in a container (
+ com::sun::star::container::XChild::getParent()
+ returns `NULL`).
+ </p>
+
+ <p>Clients may register a com::sun::star::lang::XEventListener
+ to be notified, if the object is removed from its container by an outside source.
+ </p>
+*/
+ interface com::sun::star::lang::XComponent;
+
+/** provides information about the type of the element.
+
+ <p>Set elements have a predetermined structure (their <em>type</em>),
+ that is described by and can be generated from a <em>template</em>.
+ </p>
+
+ <p>If the object was created using interface
+ com::sun::star::lang::XSingleServiceFactory
+ on an implementation of SetUpdate, this interface describes the
+ same template as interface XTemplateContainer on that
+ SetUpdate.
+ </p>
+ <p>If the object was created using interface
+ com::sun::star::lang::XMultiServiceFactory
+ on an implementation of SetUpdate, this interface describes the
+ template whose name was used as a service identifier for the factory method.
+ </p>
+ <p>Otherwise, the semantics of the information provided about the template depends on the
+ implementation.
+ </p>
+
+ @see com::sun::star::configuration::XTemplateContainer
+*/
+ interface com::sun::star::configuration::XTemplateInstance;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/SetUpdate.idl b/offapi/com/sun/star/configuration/SetUpdate.idl
new file mode 100644
index 000000000..8736e2a88
--- /dev/null
+++ b/offapi/com/sun/star/configuration/SetUpdate.idl
@@ -0,0 +1,91 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_configuration_SetUpdate_idl__
+#define __com_sun_star_configuration_SetUpdate_idl__
+
+#include <com/sun/star/configuration/SetAccess.idl>
+#include <com/sun/star/configuration/SimpleSetUpdate.idl>
+
+
+module com { module sun { module star { module configuration {
+
+/** provides write access to a dynamic homogeneous set of values or nested
+ trees within a hierarchy.
+
+ <p>Allows adding and removing elements.
+ Helps creates new elements to be added.
+ </p>
+
+ <p>This service extends SetAccess to support
+ modifying the container.
+ </p>
+
+ <p>Any child and descendant objects support modifying access as well,
+ unless they represent a read-only tree element (as indicated by
+ com::sun::star::beans::PropertyAttribute::READONLY).
+ </p>
+*/
+published service SetUpdate
+{
+/** is the basic service providing read access to a <em>set</em> within the
+ hierarchy.
+*/
+ service SetAccess;
+
+/** is the basic service providing modifying access to a
+ not necessarily hierarchical <em>set</em>.
+
+ <p>Changes can be observed by registering a listener with interface
+ com::sun::star::container::XContainer.
+ </p>
+
+ <p>If the elements of this set are of object type, new elements are constructed
+ to match the tree structure prescribed by the element template of this set, when
+ using interfaces com::sun::star::lang::XSingleServiceFactory
+ and (if supported) com::sun::star::lang::XMultiServiceFactory.
+ </p>
+
+ <p>Objects that are removed from a set can be reinserted into any set supporting
+ the same template within the same hierarchy. Even under a different name.
+ </p>
+
+ <p>Implementations that support insertion of objects that weren't obtained
+ from within the hierarchy must reject elements that don't have the correct
+ structure as described by the template, even if the object returns the
+ correct template name from XTemplateInstance::getTemplateName().
+ </p>
+
+ <p>Other ways in which an element may be moved among or within compatible sets
+ include com::sun::star::container::XChild::setParent()
+ and com::sun::star::container::XNamed::setName(), if
+ the element implements them.
+ </p>
+
+ @see com::sun::star::configuration::SetElement
+*/
+ service SimpleSetUpdate;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/SimpleSetAccess.idl b/offapi/com/sun/star/configuration/SimpleSetAccess.idl
new file mode 100644
index 000000000..3a6253162
--- /dev/null
+++ b/offapi/com/sun/star/configuration/SimpleSetAccess.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_configuration_SimpleSetAccess_idl__
+#define __com_sun_star_configuration_SimpleSetAccess_idl__
+
+#include <com/sun/star/container/XNameAccess.idl>
+#include <com/sun/star/configuration/XTemplateContainer.idl>
+#include <com/sun/star/util/XStringEscape.idl>
+#include <com/sun/star/container/XContainer.idl>
+
+
+module com { module sun { module star { module configuration {
+
+/** provides access to a dynamic, homogeneous, nonhierarchical set of values
+ or objects.
+
+ <p>Also provides information about the template for elements.
+ Allows normalizing externally generated names.
+ </p>
+
+ <p><em>Sets</em> are dynamic containers.</p>
+
+ <p>The number and names of contained elements is not fixed in advance,
+ but all elements have to be of one predetermined type.
+ </p>
+*/
+published service SimpleSetAccess
+{
+/** is the basic service for accessing child and descendent nodes.
+
+ <p>External names from foreign namespaces should be normalized using
+ com::sun::star::util::XStringEscape::escapeString(),
+ if available, before using them as element names.
+ </p>
+*/
+ interface com::sun::star::container::XNameAccess;
+
+/** provides additional information about the element type. [optional]
+
+ <p>All set elements, if they are not just simple values, but whole trees,
+ must have a predetermined structure (their <em>type</em>)
+ that is described by and can be generated from a <em>template</em>.
+ The semantics of the information provided about the template depends on the
+ implementation.
+ </p>
+
+ <p>This interface may be missing, if the implementation can support only
+ one predefined type or if the elements are of a simple type and
+ no further information is available. In the latter case,
+ com::sun::star::container::XElementAccess::getElementType()
+ provides all the information there is about the element's type.
+ </p>
+*/
+ [optional] interface com::sun::star::configuration::XTemplateContainer;
+
+/** allows normalizing and denormalizing external names. [optional]
+
+ <p>Elements of a <em>set</em> often correspond to external entities,
+ for example, files, web pages, and people whose names obey different rules and
+ restrictions than names that are valid in the hierarchical naming scheme.
+ </p>
+
+ <p>This interface may be missing if there are no naming restrictions,
+ if the implementation handles any such conversions internally,
+ or if clients must enforce such restrictions themselves. In the last case,
+ the naming scheme documentation must fully document any restrictions.
+ </p>
+*/
+ [optional] interface com::sun::star::util::XStringEscape;
+
+/** allows attaching listeners to this node to monitor changes to the set. [optional]
+
+ <p>This interface may be missing if the implementation does not support
+ notifications.
+ </p>
+*/
+ [optional] interface com::sun::star::container::XContainer;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/SimpleSetUpdate.idl b/offapi/com/sun/star/configuration/SimpleSetUpdate.idl
new file mode 100644
index 000000000..735316783
--- /dev/null
+++ b/offapi/com/sun/star/configuration/SimpleSetUpdate.idl
@@ -0,0 +1,164 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_configuration_SimpleSetUpdate_idl__
+#define __com_sun_star_configuration_SimpleSetUpdate_idl__
+
+#include <com/sun/star/configuration/SimpleSetAccess.idl>
+#include <com/sun/star/container/XNameContainer.idl>
+#include <com/sun/star/lang/XSingleServiceFactory.idl>
+#include <com/sun/star/lang/XMultiServiceFactory.idl>
+
+
+module com { module sun { module star { module configuration {
+
+/** provides write access to a dynamic, homogeneous, non-hierarchical set of
+ values or objects.
+
+ <p>Allows adding and removing elements.
+ Helps create new elements to be added.
+ </p>
+
+ <p>This service extends SimpleSetAccess to support
+ modifying the container. Any child objects shall in turn support
+ modifying access.
+ </p>
+*/
+published service SimpleSetUpdate
+{
+/** is the basic service providing read access to a (not necessarily
+ hierarchical) <em>set</em>.
+*/
+ service SimpleSetAccess;
+
+/** allows inserting, removing, and replacing elements.
+
+ <p>This interface extends the interface
+ com::sun::star::container::XNameAccess supported
+ by service SimpleSetAccess to allow modifying the container.
+ </p>
+
+ <p>If available, changes can be observed by registering a listener with interface
+ com::sun::star::container::XContainer.
+ </p>
+
+ <p>If the elements of this set are of simple type (the type returned by
+ com::sun::star::container::XElementAccess::getElementType()
+ is not an interface type), then values of that type can directly be passed to
+ com::sun::star::container::XNameContainer::insertByName()
+ and
+ com::sun::star::container::XNameContainer::replaceByName().
+ </p>
+
+ <p>Otherwise new elements have to be constructed to match the type
+ prescribed by the element template of this set. Such elements can be created
+ using interfaces com::sun::star::lang::XSingleServiceFactory
+ and, if supported, com::sun::star::lang::XMultiServiceFactory.
+ </p>
+
+ <p>Objects to be inserted must not be contained in any set at the time of
+ insertion. com::sun::star::container::XChild::getParent()
+ must return `NULL`. If a name had been assigned to the object prior to insertion
+ (using com::sun::star::container::XNamed::setName()
+ or by other means), this name is ignored and will be lost.
+ After insertion the name of the object is the name that was used as argument
+ to com::sun::star::container::XNameContainer::insertByName()
+ or com::sun::star::container::XNameContainer::replaceByName().
+</p>
+
+
+ <p>Objects that are removed using
+ com::sun::star::container::XNameContainer::removeByName()
+ or replaced using
+ com::sun::star::container::XNameContainer::replaceByName()
+ remain valid and can be reinserted into a set supporting the same template and
+ even under a different name.
+ </p>
+
+ <p>An implementation need not support insertion of objects that were not
+ obtained in one of the ways described above. If it does, the implementation
+ must reject elements that do not have the correct structure as described
+ by the template.
+ </p>
+*/
+ interface com::sun::star::container::XNameContainer;
+
+/** allows creating an object that can be inserted into this set. [conditional]
+
+ <p>This interface shall be implemented by an implementation,
+ if and only if the element type of the set, as returned by
+ com::sun::star::container::XElementAccess::getElementType(),
+ is an object type, such as an interface.
+ </p>
+
+ <p>Using com::sun::star::lang::XSingleServiceFactory::createInstance()
+ an instance of the element template of this set is created. If the set
+ supports multiple templates or variations of the basic template, a default
+ variant of the basic template is instantiated. If an implementation supports
+ variations, they may be specified by passing arguments to
+ com::sun::star::lang::XSingleServiceFactory::createInstanceWithArguments().
+ There are no predefined arguments for all versions of this service.
+ </p>
+
+ <p>The object created is not contained in the set and does not have a name yet.
+ It may subsequently be inserted into the set and named using
+ com::sun::star::container::XNameContainer::insertByName()
+ or
+ com::sun::star::container::XNameContainer::replaceByName().
+ </p>
+*/
+ [optional] interface com::sun::star::lang::XSingleServiceFactory;
+
+/** allows creating various objects that can be inserted into this set. [optional]
+
+ <p>This interface may be implemented by an implementation of
+ service SetUpdate to support creating elements from other than
+ the basic element template. An example of this would be an
+ implementation that supports inheritance, allowing the use of
+ templates derived from the basic template by extension.
+ </p>
+
+ <p>This interface may only be implemented if the element type of the set
+ (as returned by
+ com::sun::star::container::XElementAccess::getElementType())
+ is an object type, such as an interface. An implementation should also implement
+ interface XTemplateContainer which is optional in this service.
+ </p>
+
+ <p>The service identifier argument passed
+ to com::sun::star::lang::XMultiServiceFactory::createInstance()
+ or com::sun::star::lang::XMultiServiceFactory::createInstanceWithArguments()
+ names the template to be instantiated or otherwise identifies the structure
+ to be built. The implementation must at least support using the template
+ name obtained from XTemplateContainer::getElementTemplateName()
+ as a service identifier, in which case the result shall be the same as if
+ the corresponding member of com::sun::star::lang::XSingleServiceFactory
+ had been called.
+ </p>
+
+*/
+ [optional] interface com::sun::star::lang::XMultiServiceFactory;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/Update.idl b/offapi/com/sun/star/configuration/Update.idl
new file mode 100644
index 000000000..7c699be87
--- /dev/null
+++ b/offapi/com/sun/star/configuration/Update.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_configuration_Update_idl__
+#define __com_sun_star_configuration_Update_idl__
+
+#include <com/sun/star/configuration/XUpdate.idl>
+
+module com { module sun { module star { module configuration {
+
+/* Provides access to internal update features of the configuration provider.
+
+ <p>This singleton is unpublished and unstable.</p>
+
+ @since OOo 3.3
+*/
+singleton Update: XUpdate;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/UpdateRootElement.idl b/offapi/com/sun/star/configuration/UpdateRootElement.idl
new file mode 100644
index 000000000..78342f73c
--- /dev/null
+++ b/offapi/com/sun/star/configuration/UpdateRootElement.idl
@@ -0,0 +1,96 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_configuration_UpdateRootElement_idl__
+#define __com_sun_star_configuration_UpdateRootElement_idl__
+
+#include <com/sun/star/configuration/AccessRootElement.idl>
+#include <com/sun/star/util/XChangesBatch.idl>
+
+
+module com { module sun { module star { module configuration {
+
+/** provides update control for a hierarchy of configuration items
+ and information about the hierarchy as a whole as well as its root.
+
+ <p>Extends AccessRootElement by adding support for
+ collecting changes and applying them to a backend store as a single batch.
+ </p>
+
+ <p>An implementation represents the root of a partial hierarchy. [See the
+ documentation for AccessRootElement]. The hierarchy in turn is
+ a <em>view</em> onto a fragment of persistent data tree that can be accessed
+ through several such views, or even several processes, simultaneously.
+ </p>
+
+ <p>Elements of the hierarchy, such as descendants of this root element,
+ may support modification by providing appropriate
+ interfaces. Changes done this way initially only affect these objects
+ themselves and other objects within the same hierarchy, such as other
+ descendants of this root element.
+ </p>
+
+ <p>The accumulated changes within this hierarchy can be managed using
+ com::sun::star::util::XChangesBatch. Pending changes
+ will become persistent and visible from other overlapping hierarchies
+ only when com::sun::star::util::XChangesBatch::commitChanges()
+ is called. If the hierarchy is disposed or discarded without committing
+ changes, the changes will be lost.
+ </p>
+
+ @see com::sun::star::configuration::GroupUpdate
+ @see com::sun::star::configuration::SetUpdate
+*/
+published service UpdateRootElement
+{
+/** provides (read-only) access to information about the root element of
+ (a fragment of) the hierarchy. It also provides some functionality concerning
+ the hierarchy (fragment) accessible from that element as a whole.
+*/
+ service AccessRootElement;
+
+/** allows managing changes within the hierarchy.
+
+ <p>com::sun::star::util::XChangesBatch::getPendingChanges()
+ reports all changes within the hierarchy that are done through (direct or
+ indirect) descendants of this element. The same set of changes is committed
+ to persistent storage and/or made visible to other objects accessing the same
+ data set, when
+ com::sun::star::util::XChangesBatch::commitChanges()
+ is invoked.
+ </p>
+
+ <p>If the implementation supports
+ com::sun::star::lang::XLocalizable::setLocale(), changes
+ will be considered to apply to the locale that is set when
+ com::sun::star::util::XChangesBatch::commitChanges()
+ is invoked.
+ </p>
+
+ @see AccessRootElement
+ @see com::sun::star::util::XChangesNotifier
+*/
+ interface com::sun::star::util::XChangesBatch;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/XReadWriteAccess.idl b/offapi/com/sun/star/configuration/XReadWriteAccess.idl
new file mode 100644
index 000000000..0980b3936
--- /dev/null
+++ b/offapi/com/sun/star/configuration/XReadWriteAccess.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_CONFIGURATION_XREADWRITEACCESS_IDL
+#define _COM_SUN_STAR_CONFIGURATION_XREADWRITEACCESS_IDL
+
+#include <com/sun/star/beans/XHierarchicalPropertySetInfo.idl>
+#include <com/sun/star/container/XHierarchicalNameReplace.idl>
+#include <com/sun/star/util/XChangesBatch.idl>
+
+module com { module sun { module star { module configuration {
+
+/* Provides easy read/write access to the complete configuration.
+
+ <p>This interface is still unpublished and unstable.</p>
+
+ @since LibreOffice 3.6
+*/
+interface XReadWriteAccess {
+ interface com::sun::star::container::XHierarchicalNameReplace;
+
+ interface com::sun::star::util::XChangesBatch;
+
+ // @since LibreOffice 5.0
+ interface com::sun::star::beans::XHierarchicalPropertySetInfo;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/XTemplateContainer.idl b/offapi/com/sun/star/configuration/XTemplateContainer.idl
new file mode 100644
index 000000000..cd119a0fd
--- /dev/null
+++ b/offapi/com/sun/star/configuration/XTemplateContainer.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_configuration_XTemplateContainer_idl__
+#define __com_sun_star_configuration_XTemplateContainer_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+ module com { module sun { module star { module configuration {
+
+
+/** is implemented by objects that contain instances of a named template to
+ provide information about the template.
+
+ <p> An implementation will also implement
+ com::sun::star::lang::XSingleServiceFactory, in which case
+ that interface creates instances of the specified template.
+ </p>
+ <p> If multiple templates are supported, the supported factory interface may be
+ com::sun::star::lang::XMultiServiceFactory, in which case
+ the `string` returned from
+ XTemplateContainer::getElementTemplateName() can be used as
+ the service name argument.
+ </p>
+
+ @see XTemplateInstance
+ */
+published interface XTemplateContainer: com::sun::star::uno::XInterface
+{
+
+ /** retrieves the name of the template
+
+ <p> If instances of multiple templates are accepted by the container,
+ this is the name of the basic or primary template.
+ </p>
+ <p> Instances of the template must be created
+ using an appropriate factory.
+ </p>
+
+ @returns
+ the name of the (default) template for elements.
+ */
+ string getElementTemplateName();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/XTemplateInstance.idl b/offapi/com/sun/star/configuration/XTemplateInstance.idl
new file mode 100644
index 000000000..2eab30a26
--- /dev/null
+++ b/offapi/com/sun/star/configuration/XTemplateInstance.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_configuration_XTemplateInstance_idl__
+#define __com_sun_star_configuration_XTemplateInstance_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+ module com { module sun { module star { module configuration {
+
+
+/** is implemented by objects that are instances of a named template to provide
+ information about the template.
+
+ <p> Template names are similar to service names, but apply to structure and
+ content, rather than to type.
+ </p>
+ <p> Often a template description can be retrieved from a repository and then be
+ interpreted by a factory object. Templates provide a means to build
+ new kinds of objects dynamically.
+ </p>
+
+ @see XTemplateContainer
+ */
+published interface XTemplateInstance: com::sun::star::uno::XInterface
+{
+
+ /** retrieves the name of the template
+
+ @returns
+ the name of the template this object was built from or conforms to.
+ */
+ string getTemplateName();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/XUpdate.idl b/offapi/com/sun/star/configuration/XUpdate.idl
new file mode 100644
index 000000000..90862b112
--- /dev/null
+++ b/offapi/com/sun/star/configuration/XUpdate.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_configuration_XUpdate_idl__
+#define __com_sun_star_configuration_XUpdate_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module configuration {
+
+/* Provides access to internal update features of the configuration provider.
+
+ <p>This interface is unpublished and unstable.</p>
+
+ @since OOo 3.3
+*/
+interface XUpdate {
+ void insertExtensionXcsFile([in] boolean shared, [in] string fileUri);
+
+ void insertExtensionXcuFile([in] boolean shared, [in] string fileUri);
+
+ void removeExtensionXcuFile([in] string fileUri);
+ // fileUri must exactly match corresponding insertExtensionXcuFile
+ // argument
+
+ void insertModificationXcuFile(
+ [in] string fileUri, [in] sequence< string > includedPaths,
+ [in] sequence< string > excludedPaths);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/backend/AuthenticationFailedException.idl b/offapi/com/sun/star/configuration/backend/AuthenticationFailedException.idl
new file mode 100644
index 000000000..c004544e4
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/AuthenticationFailedException.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_configuration_backend_AuthenticationFailedException_idl__
+#define __com_sun_star_configuration_backend_AuthenticationFailedException_idl__
+
+#include <com/sun/star/configuration/backend/BackendSetupException.idl>
+
+module com { module sun { module star { module configuration {
+module backend {
+
+/**
+ Exception thrown when authentication to the underlying backend fails
+ due to an unknown user-id or invalid credentials.
+
+ @since OOo 1.1.2
+ */
+published exception AuthenticationFailedException : BackendSetupException {
+} ;
+
+} ;
+} ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/backend/Backend.idl b/offapi/com/sun/star/configuration/backend/Backend.idl
new file mode 100644
index 000000000..801f485d7
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/Backend.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_configuration_backend_Backend_idl__
+#define __com_sun_star_configuration_backend_Backend_idl__
+
+#include <com/sun/star/configuration/backend/XBackend.idl>
+#include <com/sun/star/configuration/backend/XBackendEntities.idl>
+#include <com/sun/star/configuration/backend/XSchemaSupplier.idl>
+
+
+module com { module sun { module star { module configuration { module backend {
+
+
+/**
+ provides access to a configuration database composed of one or more
+ storage backends containing settings used by software modules.
+
+ <p> Configuration data is organized into layers which are selected
+ by components and entities.
+ </p>
+
+ <p> Components are characterized by configuration schemas.
+ A component contains configuration data for a particular
+ application domain or software module.
+ </p>
+ <p> Entities are organized hierarchically in organizations,
+ groups, roles and individual users. Each element of the associated
+ hierarchy corresponds to a layer that applies to an entity.
+ </p>
+ <p> A layer contains data for multiple components
+ associated to a single entity.
+ <p>
+
+ @since OOo 1.1.2
+*/
+published service Backend
+{
+
+ /**
+ provides access to configuration schemas.
+ */
+ interface XSchemaSupplier ;
+
+
+ /**
+ provides access to the layer data.
+ */
+ interface XBackend ;
+
+
+ /**
+ provides information about supported and special entities.
+ */
+ [optional] interface XBackendEntities ;
+
+} ;
+
+
+} ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/backend/BackendAccessException.idl b/offapi/com/sun/star/configuration/backend/BackendAccessException.idl
new file mode 100644
index 000000000..4a423c417
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/BackendAccessException.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_configuration_backend_BackendAccessException_idl__
+#define __com_sun_star_configuration_backend_BackendAccessException_idl__
+
+#include <com/sun/star/lang/WrappedTargetException.idl>
+
+module com { module sun { module star { module configuration {
+module backend {
+
+/**
+ Generic exception thrown when physical access to an underlying
+ backend fails.
+ <p>Wraps an exception that originates in the underlying access layer.</p>
+
+ @since OOo 1.1.2
+ */
+published exception BackendAccessException : ::com::sun::star::lang::WrappedTargetException {
+} ;
+
+} ;
+} ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/backend/BackendAdapter.idl b/offapi/com/sun/star/configuration/backend/BackendAdapter.idl
new file mode 100644
index 000000000..84e42e4f6
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/BackendAdapter.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_configuration_backend_BackendAdapter_idl__
+#define __com_sun_star_configuration_backend_BackendAdapter_idl__
+
+#include <com/sun/star/configuration/backend/Backend.idl>
+#include <com/sun/star/configuration/backend/XBackendEntities.idl>
+#include <com/sun/star/lang/XInitialization.idl>
+
+
+module com { module sun { module star { module configuration { module backend {
+
+
+/**
+ implements Backend retrieving data
+ from a SingleBackend.
+
+ @since OOo 1.1.2
+*/
+published service BackendAdapter
+{
+
+ /** provides access to configuration data.
+ */
+ service Backend ;
+
+
+ /**
+ This interface, that is optional in Backend, is
+ mandatory in this service.
+ */
+ interface XBackendEntities ;
+
+
+ /**
+ allows initializing the backend to use.
+
+ <p>If this interface is present, a SingleBackend
+ may be passed, that is used to access the data.
+ Also a com::sun::star::configuration::bootstrap::BootstrapContext
+ can be passed, that provides further settings for the backend.
+ </p>
+
+ <p>If this interface is missing, the real backend to use is determined
+ from the com::sun::star::uno::XComponentContext.
+ </p>
+ */
+ [optional] interface com::sun::star::lang::XInitialization ;
+
+} ;
+
+
+} ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/backend/BackendSetupException.idl b/offapi/com/sun/star/configuration/backend/BackendSetupException.idl
new file mode 100644
index 000000000..50ff74706
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/BackendSetupException.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_configuration_backend_BackendSetupException_idl__
+#define __com_sun_star_configuration_backend_BackendSetupException_idl__
+
+#include <com/sun/star/configuration/CannotLoadConfigurationException.idl>
+
+module com { module sun { module star { module configuration {
+module backend {
+
+/**
+ Generic exception thrown when setting up a connection to an underlying
+ backend fails.
+ <p>Indicates an error that originates in the underlying access layer.</p>
+
+ @since OOo 1.1.2
+ */
+published exception BackendSetupException : ::com::sun::star::configuration::CannotLoadConfigurationException {
+
+ /** The exception that is raised by the underlying backend implementation.
+ <p>May be a numeric error code, a message `string` or `VOID`,
+ if the original exception is not represented as a
+ com::sun::star::uno::Exception.
+ </p>
+ */
+ any BackendException;
+} ;
+
+} ;
+} ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/backend/CannotConnectException.idl b/offapi/com/sun/star/configuration/backend/CannotConnectException.idl
new file mode 100644
index 000000000..5a12318b2
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/CannotConnectException.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_configuration_backend_CannotConnectException_idl__
+#define __com_sun_star_configuration_backend_CannotConnectException_idl__
+
+#include <com/sun/star/configuration/backend/BackendSetupException.idl>
+
+module com { module sun { module star { module configuration {
+module backend {
+
+/**
+ Exception thrown when a connection to the underlying backend
+ cannot be established.
+
+ <p> Examples of this include
+ <ul>
+ <li>Misconfigured backend.</li>
+ <li>Communications link failure.</li>
+ <li>Backend is unavailable temporarily or permanently.</li>
+ <li>Internal failure of the backend access layer.</li>
+ </ul>
+ </p>
+
+ @since OOo 1.1.2
+ */
+published exception CannotConnectException : BackendSetupException {
+} ;
+
+} ;
+} ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/backend/ComponentChangeEvent.idl b/offapi/com/sun/star/configuration/backend/ComponentChangeEvent.idl
new file mode 100644
index 000000000..52578dba3
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/ComponentChangeEvent.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_configuration_backend_ComponentChangeEvent_idl__
+#define __com_sun_star_configuration_backend_ComponentChangeEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+
+module com { module sun { module star { module configuration { module backend {
+
+
+/** This event is fired when a change becomes effective on the source of the event
+
+ @see XBackendChangesNotifier
+
+ */
+struct ComponentChangeEvent: ::com::sun::star::lang::EventObject
+{
+ /** The name of the Component that changed
+ */
+ string Component;
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/backend/ConnectionLostException.idl b/offapi/com/sun/star/configuration/backend/ConnectionLostException.idl
new file mode 100644
index 000000000..18849c1ee
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/ConnectionLostException.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_configuration_backend_ConnectionLostException_idl__
+#define __com_sun_star_configuration_backend_ConnectionLostException_idl__
+
+#include <com/sun/star/configuration/backend/BackendAccessException.idl>
+
+module com { module sun { module star { module configuration {
+module backend {
+
+/**
+ Exception thrown when the connection to the underlying backend was lost
+ irrecoverably.
+
+ <p> Any future attempts to access data from the backend through this object
+ will also fail.
+ </p>
+
+ @since OOo 1.1.2
+ */
+published exception ConnectionLostException : BackendAccessException {
+} ;
+
+} ;
+} ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/backend/CopyImporter.idl b/offapi/com/sun/star/configuration/backend/CopyImporter.idl
new file mode 100644
index 000000000..68bfae8e7
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/CopyImporter.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_configuration_backend_CopyImporter_idl__
+#define __com_sun_star_configuration_backend_CopyImporter_idl__
+
+#include <com/sun/star/configuration/backend/Importer.idl>
+#include <com/sun/star/lang/XInitialization.idl>
+
+
+module com { module sun { module star { module configuration { module backend {
+
+
+/**
+ imports data into a configuration layer by copying over existing data.
+
+
+ @since OOo 1.1.2
+*/
+published service CopyImporter
+{
+
+ /** allows importing configuration data into a backend.
+
+ <p> In this implementation, the changes are copied over any
+ XLayer data that already exists in the Backend,
+ replacing it completely.
+ </p>
+ */
+ service Importer ;
+
+
+ /** allows initializing the implementation with settings that control
+ its behavior .
+
+ <p> This interface, which is optional in Importer
+ is mandatory in this service and supports the following arguments
+ which must be provided as
+ com::sun::star::beans::NamedValue:
+ <dl>
+ <dt><code>Overwrite</code> : `boolean`</dt>
+ <dd>If `FALSE`, specifies that the data should be applied
+ only if the existing layer is empty.
+ </dd>
+ </dl>
+ </p>
+ */
+ interface com::sun::star::lang::XInitialization ;
+
+} ;
+
+
+} ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/backend/DataImporter.idl b/offapi/com/sun/star/configuration/backend/DataImporter.idl
new file mode 100644
index 000000000..3a1b0aaf3
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/DataImporter.idl
@@ -0,0 +1,114 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_configuration_backend_DataImporter_idl__
+#define __com_sun_star_configuration_backend_DataImporter_idl__
+
+#include <com/sun/star/task/XJob.idl>
+
+
+module com { module sun { module star { module configuration { module backend {
+
+
+/**
+ allows importing data from one configuration repository into another.
+
+ @since OOo 1.1.2
+*/
+published service DataImporter
+{
+
+ /** allows running an import job
+
+ <p> The source and destination repositories are selected by arguments
+ passed to
+ com::sun::star::task::XJob::execute().
+ The names and meanings of such arguments depend on
+ the implementation. Each implementation must document such arguments.
+ </p>
+
+ <p> Implementations may return a value from
+ com::sun::star::task::XJob::execute()
+ that indicates the status of job execution. The type and meaning of
+ such status indicators depend on the implementation.
+ </p>
+ <p>If `VOID` or `TRUE` is returned, this indicates successful
+ execution. If an
+ com::sun::star::uno::Exception is returned,
+ it represents an error condition encountered during execution.
+ </p>
+
+ <p> The following arguments to
+ com::sun::star::task::XJob::execute()
+ should be supported by implementations. Implementations must document
+ a failure to support any of these arguments:
+ <dl>
+ <dt><code>ImporterService</code> : `string`</dt>
+ <dd>A service or implementation name used to instantiate the
+ Importer to use for importing. If this parameter
+ is missing, the implementation selects an appropriate importer.
+ By default, a MergeImporter should be used.
+ </dd>
+ <dt><code>OverwriteExisting</code> : `boolean`</dt>
+ <dd>If `TRUE`, specifies that no existing data should be
+ overwritten by the import. If the Importer used
+ does not support such protection, an error may be raised.
+ If some data is not imported, because there is existing
+ data, this is indicated by returning an appropriate exception.
+ </dd>
+ <dt><code>TruncateExisting</code> : `boolean`</dt>
+ <dd>If `TRUE`, specifies that existing data should be
+ discarded and replaced by the imported data.
+ If the Importer used does not support this
+ operation, an error may be raised.
+ By default, a CopyImporter is used to perform
+ truncating import.
+ </dd>
+ <dt><code>Entity</code> : `string`</dt>
+ <dd>An identifier for the entity in the destination backend for
+ which the imported data should apply. The value will be passed
+ to XLayerImporter::importLayerForEntity().
+ If this parameter is missing, the implementation uses
+ XLayerImporter::importLayer() instead.
+ </dd>
+ <dt><code>Component</code> : `string`</dt>
+ <dd>Names the component for which to import data. If this
+ parameter is missing, the selection of data to import depends
+ on implementation-specific parameters.
+ </dd>
+ <dt><code>LayerFilter</code> : LayerFilter</dt>
+ <dd>A filter to transform data during import. This parameter is
+ optional. If this parameter is missing, data will be imported
+ unaltered. <em>Support for this parameter is optional.</em>
+ If the implementation does not support a filter it will raise an
+ com::sun::star::lang::IllegalArgumentException.
+ </dd>
+ </dl>
+ </p>
+
+ */
+ interface com::sun::star::task::XJob ;
+
+} ;
+
+
+} ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/backend/DefaultBackend.idl b/offapi/com/sun/star/configuration/backend/DefaultBackend.idl
new file mode 100644
index 000000000..7135d6324
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/DefaultBackend.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_configuration_backend_DefaultBackend_idl__
+#define __com_sun_star_configuration_backend_DefaultBackend_idl__
+
+#include <com/sun/star/configuration/backend/Backend.idl>
+
+
+module com { module sun { module star { module configuration { module backend {
+
+
+/**
+ is a DefaultBackend, that is
+ the default DefaultBackend for its
+ com::sun::star::uno::XComponentContext.
+
+ <p>This object is accessible as singleton within the context</p>.
+
+ @since OOo 1.1.2
+*/
+service DefaultBackend
+{
+
+ /** characterizes the functionality.
+ */
+ service Backend ;
+
+} ;
+
+
+} ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/backend/HierarchyBrowser.idl b/offapi/com/sun/star/configuration/backend/HierarchyBrowser.idl
new file mode 100644
index 000000000..2bd96640d
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/HierarchyBrowser.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_configuration_backend_HierarchyBrowser_idl__
+#define __com_sun_star_configuration_backend_HierarchyBrowser_idl__
+
+#include <com/sun/star/task/XJob.idl>
+
+
+module com { module sun { module star { module configuration { module backend {
+
+
+/**
+ allows scanning a configuration data repository for available components .
+
+ @since OOo 1.1.2
+*/
+published service HierarchyBrowser
+{
+
+ /** allows executing a scan of the repository
+
+ <p> The repository to browse is selected by arguments passed to
+ com::sun::star::task::XJob::execute().
+ The names and meanings of such arguments depend on
+ the implementation. Each implementation must document such arguments.
+ </p>
+
+ <p> The following argument to
+ com::sun::star::task::XJob::execute()
+ must be supported by all implementations:
+ <dl>
+ <dt><code>ExcludeComponents</code> : `string[]` or `string`</dt>
+ <dd>A component or list of components that should be skipped
+ and excluded from the result. If this argument appears multiple
+ times it is handled cumulatively.
+ </dd>
+ </dl>
+ </p>
+ <p> The return value of
+ com::sun::star::task::XJob::execute()
+ is a list of components found. The format in which components are
+ returned may depend on the implementation. Each implementation
+ should support returning component identifiers that are compatible
+ with some implementation of Backend.
+ </p>
+ */
+ interface com::sun::star::task::XJob ;
+
+} ;
+
+
+} ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/backend/Importer.idl b/offapi/com/sun/star/configuration/backend/Importer.idl
new file mode 100644
index 000000000..8ea23576b
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/Importer.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_configuration_backend_Importer_idl__
+#define __com_sun_star_configuration_backend_Importer_idl__
+
+#include <com/sun/star/lang/XInitialization.idl>
+#include <com/sun/star/configuration/backend/XLayerImporter.idl>
+
+
+module com { module sun { module star { module configuration { module backend {
+
+
+/**
+ imports data into a configuration layer.
+
+ <p> The configuration changes are read from a XLayer
+ and stored into a Backend.
+ </p>
+
+ @since OOo 1.1.2
+*/
+published service Importer
+{
+
+ /** allows importing configuration data into a backend.
+ */
+ interface XLayerImporter ;
+
+
+ /** allows initializing the implementation with settings that control
+ its behavior .
+
+ <p> Arguments are provided as
+ com::sun::star::beans::NamedValue.
+ Implementations specify which arguments they support.
+
+ <dl>
+ <dt><code>Notify</code> : `boolean`</dt>
+ <dd>If `TRUE`, specifies that the backend should trigger
+ notification to its listeners.
+ </dd>
+ </dl>
+ </p>
+ */
+ [optional] interface com::sun::star::lang::XInitialization ;
+
+} ;
+
+
+} ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/backend/InsufficientAccessRightsException.idl b/offapi/com/sun/star/configuration/backend/InsufficientAccessRightsException.idl
new file mode 100644
index 000000000..ac056efc4
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/InsufficientAccessRightsException.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_configuration_backend_InsufficientAccessRightsException_idl__
+#define __com_sun_star_configuration_backend_InsufficientAccessRightsException_idl__
+
+#include <com/sun/star/configuration/backend/BackendAccessException.idl>
+
+module com { module sun { module star { module configuration {
+module backend {
+
+/**
+ Exception thrown when access to the underlying backend fails because of
+ insufficient access rights to some needed resource.
+
+ <p> Examples of this include
+ <ul>
+ <li>Misconfigured anonymous access.</li>
+ <li>Missing rights to get internal configuration data.</li>
+ <li>Missing access to shared or default data.</li>
+ <li>Missing access to personal data.</li>
+ <li>Missing write access when updating data.</li>
+ </ul>
+ </p>
+
+ @since OOo 1.1.2
+ */
+published exception InsufficientAccessRightsException : BackendAccessException {
+} ;
+
+} ;
+} ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/backend/InteractionHandler.idl b/offapi/com/sun/star/configuration/backend/InteractionHandler.idl
new file mode 100644
index 000000000..f7e9d16cb
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/InteractionHandler.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_configuration_backend_InteractionHandler_idl__
+#define __com_sun_star_configuration_backend_InteractionHandler_idl__
+
+module com { module sun { module star {
+ module lang { published interface XInitialization; };
+ module task { published interface XInteractionHandler; };
+}; }; };
+
+module com { module sun { module star { module configuration { module backend {
+
+/** An interaction request handler that lets the user handle a number of well
+ known requests via GUI dialogs.
+
+ <P>The well known requests handled by this service include
+ <UL>
+ <LI>MergeRecoveryRequest*</LI>
+ </UL>
+ The requests marked with an asterisk are only handled if (a) their
+ continuations match certain restrictions (see below), and (b) the
+ necessary resource strings are available (this can be exploited by
+ applications that carry only a subset of all resource files with
+ them).</P>
+
+ <P>The continuation restrictions are as follows: Let <VAR>C</VAR> be the
+ subset of the provided continuations that are of type
+ com::sun::star::task::XInteractionApprove,
+ com::sun::star::task::XInteractionDisapprove,
+ com::sun::star::task::XInteractionRetry, or
+ com::sun::star::task::XInteractionAbort (or of a
+ derived type). All other continuations are ignored for these requests.
+ The request is only handled if the set <VAR>C</VAR> is any of the
+ following:
+ <UL>
+ <LI>Abort</LI>
+ <LI>Retry, Abort</LI>
+ <LI>Approve</LI>
+ <LI>Approve, Abort</LI>
+ <LI>Approve, Disapprove</LI>
+ <LI>Approve, Disapprove, Abort</LI>
+ </UL></P>
+
+ @since OOo 2.0
+
+ @see com::sun::star::task::InteractionHandler
+ */
+published service InteractionHandler
+{
+ /** Handle an interaction request.
+ */
+ interface com::sun::star::task::XInteractionHandler;
+
+ /** Initialize the interaction handler.
+
+ <P>The arguments must be a sequence of
+ com::sun::star::beans::PropertyValues. The
+ currently supported properties are:
+ <UL>
+ <LI><code>"Parent"</code> of type
+ com::sun::star::awt::XWindow denotes the
+ parent window for any GUI dialogs the interaction handler pops up;
+ it is strongly recommended that this property is supplied;</LI>
+ <LI><code>"Context"</code> of type `string` is a
+ textual description of the current context (used, e.g., as a first
+ line of text in error boxes); this property is optional.</LI>
+ </UL></P>
+ */
+ interface com::sun::star::lang::XInitialization;
+};
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/backend/InvalidAuthenticationMechanismException.idl b/offapi/com/sun/star/configuration/backend/InvalidAuthenticationMechanismException.idl
new file mode 100644
index 000000000..475d0ccf3
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/InvalidAuthenticationMechanismException.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_configuration_backend_InvalidAuthenticationMechanismException_idl__
+#define __com_sun_star_configuration_backend_InvalidAuthenticationMechanismException_idl__
+
+#include <com/sun/star/configuration/backend/BackendSetupException.idl>
+
+module com { module sun { module star { module configuration {
+module backend {
+
+/**
+ Exception thrown when authentication to the underlying backend fails
+ because the configured authentication mechanism is not supported by the
+ backend or no valid mechanism can be negotiated.
+
+ @since OOo 1.1.2
+ */
+published exception InvalidAuthenticationMechanismException : BackendSetupException {
+} ;
+
+} ;
+} ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/backend/Layer.idl b/offapi/com/sun/star/configuration/backend/Layer.idl
new file mode 100644
index 000000000..8520bbbfa
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/Layer.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_configuration_backend_Layer_idl__
+#define __com_sun_star_configuration_backend_Layer_idl__
+
+#include <com/sun/star/configuration/backend/XLayer.idl>
+#include <com/sun/star/configuration/backend/XCompositeLayer.idl>
+#include <com/sun/star/util/XTimeStamped.idl>
+
+
+module com { module sun { module star { module configuration { module backend {
+
+
+/**
+ provides read-only access to a configuration data layer.
+
+ <p> A layer contains the configuration setting changes to be performed
+ on a default settings tree to obtain the values of those settings
+ for a given entity and component.
+ </p>
+
+ @see com::sun::star::configuration::backend::Schema
+ Service providing access to schema data for a configuration component.
+
+ @see com::sun::star::configuration::backend::UpdatableLayer
+ Service providing write access to a configuration data layer.
+
+ @since OOo 1.1.2
+ */
+published service Layer
+{
+
+ /**
+ provides read access to the contents of the configuration layer.
+ */
+ interface XLayer ;
+
+
+ /**
+ provides read access to sublayers accessible through an
+ additional criterion (for instance the locale they contain data for).
+ */
+ [optional] interface XCompositeLayer ;
+
+
+ /**
+ provides a way to detect changes to the layer.
+
+ <p> Timestamps should be considered as opaque markers and
+ can only safely be compared for equality and
+ only to timestamps generated by the same implementation.
+ When the content of the Layer changes,
+ the timestamp is guaranteed to change to a different value.
+ </p>
+ <p> The timestamp format depends on the implementation.
+ If the timestamp is a representation of the time of the last change,
+ the recommended format is "YYYYMMDDhhmmssZ".
+ </p>
+ */
+ [optional] interface com::sun::star::util::XTimeStamped ;
+
+
+ /**
+ The URL of the layer data.
+
+ @since OOo 2.0
+ */
+ [property,optional,readonly] string URL ;
+
+} ;
+
+
+} ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/backend/LayerDescriber.idl b/offapi/com/sun/star/configuration/backend/LayerDescriber.idl
new file mode 100644
index 000000000..da89b4254
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/LayerDescriber.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_configuration_backend_LayerDescriber_idl__
+#define __com_sun_star_configuration_backend_LayerDescriber_idl__
+
+#include <com/sun/star/configuration/backend/XLayerContentDescriber.idl>
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+
+module com { module sun { module star { module configuration { module backend {
+
+
+/**
+ describe the contents of a layer to an XLayerHandler object. The contents of
+ the layer is contained in the sequence of PropertyInfo structures
+ @see PropertyInfo
+
+*/
+service LayerDescriber
+{
+
+
+ /**
+ describes a set of configuration data to an XLayerHandler Object.
+ */
+ interface com::sun::star::configuration::backend::XLayerContentDescriber ;
+
+
+} ;
+} ; } ; } ; } ; } ;
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/backend/LayerFilter.idl b/offapi/com/sun/star/configuration/backend/LayerFilter.idl
new file mode 100644
index 000000000..1e68cdb93
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/LayerFilter.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_configuration_backend_LayerFilter_idl__
+#define __com_sun_star_configuration_backend_LayerFilter_idl__
+
+#include <com/sun/star/configuration/backend/XLayer.idl>
+#include <com/sun/star/lang/XInitialization.idl>
+
+
+module com { module sun { module star { module configuration { module backend {
+
+
+/**
+ provides a filtered version of a configuration data Layer.
+
+ <p> A layer filter wraps a source XLayer object and
+ provides access to a filtered version of its data.
+ The data read from the filter usually is produced from the source data
+ by adding and removing elements or modifying values.
+ </p>
+
+ @see com::sun::star::configuration::backend::DataImporter
+ Service that supports applying a LayerFilter to imported data.
+
+ @since OOo 2.0
+ */
+published service LayerFilter
+{
+
+ /**
+ provides read access to the filtered contents.
+
+ <p> Method XLayer::readData() will render a filtered version
+ of the data produced by the same method of the source object.
+ </p>
+ */
+ interface XLayer ;
+
+
+ /**
+ provides a means to set the source data for the filter.
+
+ <p> Call com::sun::star::lang::XInitialization::initialize()()
+ with a single argument of type com::sun::star::beans::NamedValue,
+ where com::sun::star::beans::NamedValue::Name is <code>"Source"</code>
+ and com::sun::star::beans::NamedValue::Value
+ is an object implementing XLayer.
+ </p>
+ */
+ interface com::sun::star::lang::XInitialization ;
+
+} ;
+
+
+} ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/backend/LayerUpdateMerger.idl b/offapi/com/sun/star/configuration/backend/LayerUpdateMerger.idl
new file mode 100644
index 000000000..6ddbf686d
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/LayerUpdateMerger.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_configuration_backend_LayerUpdateMerger_idl__
+#define __com_sun_star_configuration_backend_LayerUpdateMerger_idl__
+
+#include <com/sun/star/lang/XInitialization.idl>
+#include <com/sun/star/configuration/backend/XUpdateHandler.idl>
+
+
+module com { module sun { module star { module configuration { module backend {
+
+
+/**
+ applies updates to a configuration layer.
+
+ <p> The configuration layer data is read from a XLayer
+ and the changed layer is provided as XLayer again or
+ described to a XLayerHandler.
+ </p>
+
+ @see com::sun::star::configuration::backend::UpdatableLayer
+ Service describes a layer and accepts a changed layer...
+
+ @since OOo 1.1.2
+*/
+published service LayerUpdateMerger
+{
+
+ /** accepts events describing the changes.
+ */
+ interface com::sun::star::configuration::backend::XUpdateHandler ;
+
+
+ /** allows initializing layer data source and target.
+
+ <p> Both source and target of the update can be provided by passing a
+ XUpdatableLayer object. Alternatively they can be
+ provided individually by providing a XLayer object as
+ data source and an XLayerHandler object to receive the
+ updated data.
+ </p>
+ <p> Implementations can provide more arguments to fine tune the behavior.
+ Such arguments are provided as
+ com::sun::star::beans::NamedValue.
+ Implementations should support the following named arguments:
+ <dl>
+ <dt><code>Overwrite</code> : `boolean`</dt>
+ <dd>If `FALSE`, specifies that changes should be applied
+ only if the existing layer is empty.
+ </dd>
+ <dt><code>Truncate</code> : `boolean`</dt>
+ <dd>If `TRUE` requests that changes should not be merged onto
+ existing data, but that the changes should be applied
+ to a layer that is completely empty.
+ </dd>
+ </dl>
+ </p>
+ */
+ interface com::sun::star::lang::XInitialization ;
+
+} ;
+
+
+} ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/backend/LdapMultiLayerStratum.idl b/offapi/com/sun/star/configuration/backend/LdapMultiLayerStratum.idl
new file mode 100644
index 000000000..074034cad
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/LdapMultiLayerStratum.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_configuration_backend_LdapMultiLayerStratum_idl__
+#define __com_sun_star_configuration_backend_LdapMultiLayerStratum_idl__
+
+#include <com/sun/star/configuration/backend/MultiLayerStratum.idl>
+
+
+module com { module sun { module star { module configuration { module backend {
+
+
+/**
+ implements MultiLayerStratum that
+ provides access to a multiple layers of configuration data from LDAP source
+*/
+service LdapMultiLayerStratum
+{
+
+ /**
+ provides access to multiple layers of configuration data.
+ */
+ service MultiLayerStratum;
+
+} ;
+
+
+} ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/backend/LdapSingleBackend.idl b/offapi/com/sun/star/configuration/backend/LdapSingleBackend.idl
new file mode 100644
index 000000000..c39e06333
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/LdapSingleBackend.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_configuration_backend_LdapSingleBackend_idl__
+#define __com_sun_star_configuration_backend_LdapSingleBackend_idl__
+
+#include <com/sun/star/configuration/backend/SingleBackend.idl>
+
+
+module com { module sun { module star { module configuration { module backend {
+
+
+/**
+ implements SingleBackend that stores data in an
+ LDAP directory.
+
+ @since OOo 1.1.2
+*/
+published service LdapSingleBackend
+{
+
+ /** provides access to configuration data.
+ */
+ service SingleBackend ;
+
+} ;
+
+
+} ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/backend/LdapSingleStratum.idl b/offapi/com/sun/star/configuration/backend/LdapSingleStratum.idl
new file mode 100644
index 000000000..db95e6676
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/LdapSingleStratum.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_configuration_backend_LdapSingleStratum_idl__
+#define __com_sun_star_configuration_backend_LdapSingleStratum_idl__
+
+#include <com/sun/star/configuration/backend/SingleLayerStratum.idl>
+
+
+module com { module sun { module star { module configuration { module backend {
+
+
+/**
+ implements SingleLayerStratum that
+ provides access to a single layer of configuration data from LDAP source
+*/
+service LdapSingleStratum
+{
+
+ /**
+ provides access to configuration data.
+ */
+ service SingleLayerStratum;
+
+} ;
+
+
+} ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/backend/LocalDataImporter.idl b/offapi/com/sun/star/configuration/backend/LocalDataImporter.idl
new file mode 100644
index 000000000..a3b2bdd3e
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/LocalDataImporter.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_configuration_backend_LocalDataImporter_idl__
+#define __com_sun_star_configuration_backend_LocalDataImporter_idl__
+
+#include <com/sun/star/configuration/backend/DataImporter.idl>
+
+
+module com { module sun { module star { module configuration { module backend {
+
+
+/**
+ allows importing data from a local configuration data repository
+ or file into any Backend.
+
+ <p> Data to be imported can be a single layer either from a full local
+ configuration database or from a particular OOR Update XML file.
+ </p>
+ <p> Data is imported into the DefaultBackend.
+ </p>
+
+ @see com::sun::star::configuration::backend::LocalHierarchyBrowser
+ Service that can be used to locate available layer files or components.
+
+ @see com::sun::star::configuration::backend::LocalSingleBackend
+ Service that can be used to access a local configuration database.
+
+ @since OOo 1.1.2
+*/
+published service LocalDataImporter
+{
+
+ /** provides for running an import job
+
+ <p> The implementation returns `VOID` from
+ com::sun::star::task::XJob::execute()
+ to indicates successful execution. If import is not executed,
+ because <code>OverwriteExisting = </code>`TRUE` was specified,
+ a com::sun::star::lang::IllegalAccessException
+ is returned.
+ </p>
+ <p>If `VOID` or `TRUE` is returned, this indicates successful
+ execution. If an
+ com::sun::star::uno::Exception is returned,
+ it represents an error condition encountered during execution.
+ </p>
+
+ <p> The standard arguments to
+ com::sun::star::task::XJob::execute()
+ are all supported by implementations. Additionally the following
+ argument is required to select the data source:
+ <dl>
+ <dt><code>LayerDataUrl</code> : `string`</dt>
+ <dd>A file URL that specifies the location of the source data.
+ <p> If no <code>Component</code> is provided, this must be the
+ location of an OOR Update XML file, which will be imported
+ directly.
+ </p>
+ <p> If a <code>Component</code> is provided, the
+ <code>LayerDataUrl</code> is treated as Entity
+ (i.e. Layer directory base URL) for a local
+ configuration database and the appropriate component
+ from that repository is imported.
+ </p>
+ </dd>
+ </dl>
+ </p>
+ <p> Implementations may support additional parameters to select
+ a destination Backend, that is not the
+ DefaultBackend.
+ </p>
+ */
+ service DataImporter ;
+
+} ;
+
+
+} ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/backend/LocalHierarchyBrowser.idl b/offapi/com/sun/star/configuration/backend/LocalHierarchyBrowser.idl
new file mode 100644
index 000000000..e097f21df
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/LocalHierarchyBrowser.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_configuration_backend_LocalHierarchyBrowser_idl__
+#define __com_sun_star_configuration_backend_LocalHierarchyBrowser_idl__
+
+#include <com/sun/star/configuration/backend/HierarchyBrowser.idl>
+
+
+module com { module sun { module star { module configuration { module backend {
+
+
+/**
+ is a HierarchyBrowser, that browses a configuration database
+ stored in the local file system.
+
+ @see com::sun::star::configuration::backend::LocalSingleBackend
+
+ @since OOo 1.1.2
+*/
+published service LocalHierarchyBrowser
+{
+
+ /** allows browsing a configuration hierarchy for components.
+
+ <p> Either a schema repository or a layer directory can be browsed.
+ Components can be retrieved either as component names or as
+ file URLs.
+ </p>
+
+ <p> The following additional arguments are supported for
+ com::sun::star::task::XJob::execute():<BR/>
+
+ <dl>
+ <dt><code>SchemaDataUrl</code> : `string`</dt>
+ <dd>Base directory to search for schema files.
+ If this is specified, schema files will be browsed,
+ so argument <code>LayerDataUrl</code> should not be specified.
+ </dd>
+ <dt><code>LayerDataUrl</code> : `string`</dt>
+ <dd>Base directory to search for layer files.
+ If this is specified, layer files will be browsed,
+ so argument <code>SchemaDataUrl</code> should not be specified.
+ </dd>
+ <dt><code>FetchComponentNames</code> : `boolean`</dt>
+ <dd><ul><li>if `TRUE` components will be returned as component names,</li>
+ <li>if `FALSE` components will be returned as fileURLs,</li>
+ <li>if this argument is not provided, the default is to
+ retrieve names when browsing schemas and URLs when
+ browsing layers.</li>
+ </dd>
+ </dl>
+ </p>
+ */
+ service HierarchyBrowser ;
+
+} ;
+
+
+} ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/backend/LocalSchemaSupplier.idl b/offapi/com/sun/star/configuration/backend/LocalSchemaSupplier.idl
new file mode 100644
index 000000000..9ccb60363
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/LocalSchemaSupplier.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_configuration_backend_LocalSchemaSupplier_idl__
+#define __com_sun_star_configuration_backend_LocalSchemaSupplier_idl__
+
+#include <com/sun/star/configuration/backend/SchemaSupplier.idl>
+
+
+
+module com { module sun { module star { module configuration { module backend {
+
+
+/**
+ implements SchemaSupplier providing access to
+ local configuration schemas
+*/
+service LocalSchemaSupplier
+{
+ /**
+ provides access to configuration schemas.
+ */
+ service SchemaSupplier ;
+
+
+} ;
+
+
+} ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/backend/LocalSingleBackend.idl b/offapi/com/sun/star/configuration/backend/LocalSingleBackend.idl
new file mode 100644
index 000000000..97a4b883c
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/LocalSingleBackend.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_configuration_backend_LocalSingleBackend_idl__
+#define __com_sun_star_configuration_backend_LocalSingleBackend_idl__
+
+#include <com/sun/star/configuration/backend/SingleBackend.idl>
+
+
+module com { module sun { module star { module configuration { module backend {
+
+
+/**
+ implements SingleBackend that stores data in the
+ local file system using the OOR XML formats.
+
+ @since OOo 1.1.2
+*/
+published service LocalSingleBackend
+{
+
+ /** provides access to configuration data.
+ */
+ service SingleBackend ;
+
+} ;
+
+
+} ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/backend/LocalSingleStratum.idl b/offapi/com/sun/star/configuration/backend/LocalSingleStratum.idl
new file mode 100644
index 000000000..552ee7d5f
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/LocalSingleStratum.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_configuration_backend_LocalSingleStratum_idl__
+#define __com_sun_star_configuration_backend_LocalSingleStratum_idl__
+
+#include <com/sun/star/configuration/backend/SingleLayerStratum.idl>
+
+
+module com { module sun { module star { module configuration { module backend {
+
+
+/**
+ implements SingleLayerStratum that
+ provides access to a single layer of configuration data from local file system
+*/
+service LocalSingleStratum
+{
+
+ /**
+ provides access to configuration data.
+ */
+ service SingleLayerStratum;
+
+} ;
+
+
+} ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/backend/MalformedDataException.idl b/offapi/com/sun/star/configuration/backend/MalformedDataException.idl
new file mode 100644
index 000000000..b4174d3c3
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/MalformedDataException.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_configuration_backend_MalformedDataException_idl__
+#define __com_sun_star_configuration_backend_MalformedDataException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+module com { module sun { module star { module configuration { module backend {
+
+
+/** is raised when the data of a component schema, layer or update
+ is not well-formed, violates the schema or is otherwise invalid.
+
+ @since OOo 1.1.2
+ */
+published exception MalformedDataException: ::com::sun::star::uno::Exception
+{
+ /**
+ data that provides more detailed information about the
+ reason and location of the error.
+
+ <p> Typically this member should contain an exception characterizing
+ the error in detail.
+ </p>
+ <p> For example the following exceptions may be used:
+ <dl>
+ <dt>com::sun::star::container::ElementExistException</dt>
+ <dd>for duplicate nodes.</dd>
+
+ <dt>com::sun::star::container::NoSuchElementException</dt>
+ <dd>for nodes that are not in the schema.</dd>
+
+ <dt>com::sun::star::beans::IllegalTypeException</dt>
+ <dd>for properties having the wrong or an invalid type.</dd>
+
+ <dt>com::sun::star::beans::PropertyExistException</dt>
+ <dd>for duplicate properties.</dd>
+
+ <dt>com::sun::star::beans::UnknownPropertyException</dt>
+ <dd>for properties that are not in the schema.</dd>
+
+ <dt>com::sun::star::lang::IllegalArgumentException</dt>
+ <dd>for data values (names,attributes,etc.) that are invalid.</dd>
+
+ <dt>com::sun::star::lang::IllegalAccessException</dt>
+ <dd>for changes that violate access restrictions.</dd>
+
+ <dt>com::sun::star::lang::NoSupportException</dt>
+ <dd>for features that are not supported by the current implementation.</dd>
+ </dl>
+ </p>
+ <p> If no more detail information is available, this may be left `VOID`.
+ </p>
+ */
+ any ErrorDetails;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/backend/MergeImporter.idl b/offapi/com/sun/star/configuration/backend/MergeImporter.idl
new file mode 100644
index 000000000..e9deb915e
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/MergeImporter.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_configuration_backend_MergeImporter_idl__
+#define __com_sun_star_configuration_backend_MergeImporter_idl__
+
+#include <com/sun/star/configuration/backend/Importer.idl>
+#include <com/sun/star/lang/XInitialization.idl>
+
+
+module com { module sun { module star { module configuration { module backend {
+
+
+/**
+ imports data into a configuration layer by merging with existing data.
+
+ <p> No named arguments to
+ com::sun::star::lang::XInitialization::initialize()
+ are supported.
+ </p>
+
+ @since OOo 1.1.2
+*/
+published service MergeImporter
+{
+
+ /** allows importing configuration data into a backend.
+
+ <p> In this implementation, the changes are merged with any
+ XLayer data that already exists in the Backend,
+ replacing it completely.
+ </p>
+
+ @see LayerUpdateMerger
+ Service that can be used to perform merging of changes into a layer.
+ */
+ service Importer ;
+
+} ;
+
+
+} ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/backend/MergeRecoveryRequest.idl b/offapi/com/sun/star/configuration/backend/MergeRecoveryRequest.idl
new file mode 100644
index 000000000..569c4a338
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/MergeRecoveryRequest.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_configuration_backend_MergeRecoveryRequest_idl__
+#define __com_sun_star_configuration_backend_MergeRecoveryRequest_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+module com { module sun { module star { module configuration { module backend {
+
+
+/** is passed to an InteractionHandler when merging fails due to
+ invalid layer data or access problems.
+
+ @since OOo 2.0
+ */
+exception MergeRecoveryRequest: ::com::sun::star::uno::Exception
+{
+ /**
+ data that provides more detailed information about the
+ reason and location of the error.
+
+ <p> Typically this member should contain an exception characterizing
+ the error in detail.
+ </p>
+ <p> For example the following exceptions may be used:
+ <dl>
+ <dt>MalformedException</dt>
+ <dd>for layers containing invalid data.</dd>
+
+ <dt>BackendAccessException</dt>
+ <dd>for layers that can't be accessed.</dd>
+ </dl>
+ </p>
+ <p> If no more detail information is available, this may be left `VOID`.
+ </p>
+ */
+ any ErrorDetails;
+
+ /**
+ Identifier of the layer object containing the invalid data.
+ */
+ string ErrorLayerId;
+
+ /**
+ specifies whether the requester wants to remove or skip the invalid layer.
+
+ <p> If `TRUE` the requester wants to remove the underlying data of
+ the layer.<BR/>
+ If `FALSE` the request is to skip the underlying data this time,
+ but without removing it.
+ </p>
+ */
+ boolean IsRemovalRequest;
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/backend/MultiLayerStratum.idl b/offapi/com/sun/star/configuration/backend/MultiLayerStratum.idl
new file mode 100644
index 000000000..6081c77b2
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/MultiLayerStratum.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_configuration_backend_MultiLayerStratum_idl__
+#define __com_sun_star_configuration_backend_MultiLayerStratum_idl__
+
+#include <com/sun/star/configuration/backend/XBackendEntities.idl>
+#include <com/sun/star/configuration/backend/XMultiLayerStratum.idl>
+
+
+
+module com { module sun { module star { module configuration { module backend {
+
+
+/**
+ Provides access to a single layer of configuration data
+*/
+service MultiLayerStratum
+{
+ /**
+ provides access to multiple layers of configuration data .
+ */
+ interface XMultiLayerStratum ;
+
+
+
+ /**
+ provides information about supported and special entities.
+ */
+ [optional] interface XBackendEntities ;
+
+
+} ;
+
+
+} ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/backend/MultiStratumBackend.idl b/offapi/com/sun/star/configuration/backend/MultiStratumBackend.idl
new file mode 100644
index 000000000..50200b76c
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/MultiStratumBackend.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_configuration_backend_MultiStratumBackend_idl__
+#define __com_sun_star_configuration_backend_MultiStratumBackend_idl__
+
+#include <com/sun/star/configuration/backend/Backend.idl>
+#include <com/sun/star/lang/XInitialization.idl>
+
+
+module com { module sun { module star { module configuration { module backend {
+
+
+/**
+ implements Backend provides access to a configuration database
+ composed of one or more storage backends containing settings used by software modules.
+*/
+service MultiStratumBackend
+{
+
+ /** characterizes the functionality.
+ */
+ service Backend ;
+
+
+ /**
+ allows initialization of backend data sources
+
+ <p>If present a type
+ com::sun::star::configuration::bootstrap::BootstrapContext
+ must be passed, that provides further backend initialization settings.
+ </p>
+
+
+ */
+
+ [optional] interface com::sun::star::lang::XInitialization ;
+
+} ;
+
+
+} ; } ; } ; } ; } ;
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/backend/NodeAttribute.idl b/offapi/com/sun/star/configuration/backend/NodeAttribute.idl
new file mode 100644
index 000000000..44eea3eea
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/NodeAttribute.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_configuration_backend_NodeAttribute_idl__
+#define __com_sun_star_configuration_backend_NodeAttribute_idl__
+
+
+module com { module sun { module star { module configuration { module backend {
+
+
+/** These values are used to specify the behavior of a node or property
+ in a layer.
+
+ <p> The values were chosen so they can be combined with values from
+ SchemaAttribute
+ </p>
+
+ @see com::sun::star::configuration::backend::SchemaAttribute
+ During merging the values may be combined with static attributes
+ from the schema.
+
+ @since OOo 1.1.2
+ */
+published constants NodeAttribute
+{
+
+ /** indicates that a node or property may not be changed or overridden
+ in subsequent layers
+ */
+ const short FINALIZED = 256;
+
+
+ /** indicates that a set item may not be removed or replaced
+ in subsequent layers.
+ */
+ const short MANDATORY = 512;
+
+
+ /** indicates that a node or property may not be changed
+ in this or subsequent layer.
+ */
+ const short READONLY = 1024;
+
+
+ /** indicates that contents shall be fused.
+
+ <p>Used in XLayerHandler::addOrReplaceNode(),
+ XLayerHandler::addOrReplaceNodeFromTemplate(),
+ XUpdateHandler::addOrReplaceNode(), and
+ XUpdateHandler::addOrReplaceNodeFromTemplate().</p>
+
+ @since OOo 2.0.3
+ */
+ const short FUSE = 2048;
+
+
+ /** can be used to mask the node attributes from merged attributes
+ */
+ const short MASK = 32512; // 0xFF00, changed to 0x7F00 because only 3 bits
+ // are masked and fixing a bug in idlc
+
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/backend/OfflineBackend.idl b/offapi/com/sun/star/configuration/backend/OfflineBackend.idl
new file mode 100644
index 000000000..4d7a5181d
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/OfflineBackend.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_configuration_backend_OfflineBackend_idl__
+#define __com_sun_star_configuration_backend_OfflineBackend_idl__
+
+#include <com/sun/star/configuration/backend/BackendAdapter.idl>
+
+
+module com { module sun { module star { module configuration { module backend {
+
+
+/**
+ implements BackendAdapter that maintains a cache so it
+ can operate even if the SingleBackend holding the data
+ is inaccessible.
+
+ @see com::sun::star::configuration::backend::OnlineBackend
+
+ @since OOo 1.1.2
+*/
+published service OfflineBackend
+{
+
+ /** provides access to configuration data from a SingleBackend.
+
+ <p>If no backend is provided during initialization or if the context
+ contains an <code>Offline</code> flag that is `TRUE`, then off-line mode
+ is activated. This may fail, if the off-line cache has not been filled
+ during a previous execution.
+ </p>
+ <p>Less entities may be available from XBackendEntities,
+ when operating in off-line mode than when operating with an on-line
+ SingleBackend.
+ </p>
+ <p>If off-line mode is not invoked, the implementation behaves
+ like any other BackendAdapter.
+ </p>
+
+ */
+ service BackendAdapter ;
+
+} ;
+
+
+} ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/backend/OnlineBackend.idl b/offapi/com/sun/star/configuration/backend/OnlineBackend.idl
new file mode 100644
index 000000000..9822ae5ba
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/OnlineBackend.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_configuration_backend_OnlineBackend_idl__
+#define __com_sun_star_configuration_backend_OnlineBackend_idl__
+
+#include <com/sun/star/configuration/backend/BackendAdapter.idl>
+
+
+module com { module sun { module star { module configuration { module backend {
+
+
+/**
+ implements a BackendAdapter that requires that
+ the SingleBackend holding the data
+ is continuously accessible.
+
+ @see com::sun::star::configuration::backend::OfflineBackend
+
+ @since OOo 1.1.2
+*/
+published service OnlineBackend
+{
+
+ /** provides access to configuration data from a SingleBackend.
+
+ */
+ service BackendAdapter ;
+
+} ;
+
+
+} ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/backend/PlatformBackend.idl b/offapi/com/sun/star/configuration/backend/PlatformBackend.idl
new file mode 100644
index 000000000..4b6b14857
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/PlatformBackend.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_configuration_backend_PlatformBackend_idl__
+#define __com_sun_star_configuration_backend_PlatformBackend_idl__
+
+#include <com/sun/star/configuration/backend/SingleLayerStratum.idl>
+
+
+module com { module sun { module star { module configuration { module backend {
+
+
+/**
+ implements SingleLayerStratum that
+ provides access to a single layer of configuration data from external data store
+*/
+service PlatformBackend
+{
+
+ /**
+ provides access to configuration data.
+ */
+ service SingleLayerStratum;
+
+} ;
+
+
+} ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/backend/PropertyInfo.idl b/offapi/com/sun/star/configuration/backend/PropertyInfo.idl
new file mode 100644
index 000000000..02e4672e4
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/PropertyInfo.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_configuration_backend_PropertyInfo_idl__
+#define __com_sun_star_configuration_backend_PropertyInfo_idl__
+
+
+
+module com { module sun { module star { module configuration { module backend {
+
+
+/** This structure contains all the information related to a property
+ @see XLayerContentDescriber
+*/
+struct PropertyInfo
+{
+ /** The full name of the Property
+ * for eg. org.openoffice.Inet/Settings/ooInetHTTPProxyName
+ */
+ string Name;
+
+ /** The type of the Property
+ */
+ string Type;
+
+ /** The value of the property
+ */
+ any Value;
+
+ /** Is the property protected, if true the property can not
+ * be over written in later layer.
+ */
+ boolean Protected;
+
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/backend/Schema.idl b/offapi/com/sun/star/configuration/backend/Schema.idl
new file mode 100644
index 000000000..58bad6f00
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/Schema.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_configuration_backend_Schema_idl__
+#define __com_sun_star_configuration_backend_Schema_idl__
+
+#include <com/sun/star/configuration/backend/XSchema.idl>
+
+
+module com { module sun { module star { module configuration { module backend {
+
+
+/**
+ provides read only access to a configuration component schema.
+
+ <p>A component is a set of hierarchically organized and semantically
+ related configuration settings, e.g StarWriter settings.
+ </p>
+ <p>A component schema contains two separate sections, one which
+ describes the templates to be used in the dynamic containers (sets) of
+ the component and one which describes the component's data structure.
+ </p>
+
+ @see com::sun::star::configuration::backend::Layer
+ Service providing access to individual
+ configuration data for an entity.
+
+ @since OOo 1.1.2
+ */
+published service Schema
+{
+
+ /**
+ handles access to the schema data for a component.
+ <p>The data can be read either in its entirety (templates and component
+ description) or each of its parts can be accessed.
+ </p>
+ */
+ interface XSchema ;
+
+
+ /**
+ The URL of the layer data.
+
+ @since OOo 2.0
+ */
+ [property,optional,readonly] string URL ;
+
+} ;
+
+
+} ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/backend/SchemaAttribute.idl b/offapi/com/sun/star/configuration/backend/SchemaAttribute.idl
new file mode 100644
index 000000000..dbbf4ebe4
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/SchemaAttribute.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_configuration_backend_SchemaAttribute_idl__
+#define __com_sun_star_configuration_backend_SchemaAttribute_idl__
+
+
+module com { module sun { module star { module configuration { module backend {
+
+
+/** These values are used to specify the behavior of a node or property
+ in the schema.
+
+ @see com::sun::star::configuration::backend::NodeAttribute
+ During merging the values may be combined with node attributes.
+
+ @since OOo 1.1.2
+ */
+published constants SchemaAttribute
+{
+
+ /** indicates that a property value can't be null.
+ */
+ const short REQUIRED = 1;
+
+
+ /** indicates that the content of the node or the value of the property
+ may depend on the locale.
+ */
+ const short LOCALIZED = 2;
+
+
+ /** indicates that properties can be added to the node at runtime
+ */
+ const short EXTENSIBLE = 4;
+
+
+ /** can be used to mask the schema attributes from merged attributes
+ */
+ const short MASK = 255; // 0x00FF
+
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/backend/SchemaSupplier.idl b/offapi/com/sun/star/configuration/backend/SchemaSupplier.idl
new file mode 100644
index 000000000..d43d4144c
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/SchemaSupplier.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_configuration_backend_SchemaSupplier_idl__
+#define __com_sun_star_configuration_backend_SchemaSupplier_idl__
+
+#include <com/sun/star/configuration/backend/XSchemaSupplier.idl>
+
+
+
+module com { module sun { module star { module configuration { module backend {
+
+
+/**
+ provides access to configuration schemas
+*/
+service SchemaSupplier
+{
+ /**
+ provides access to configuration schemas.
+ */
+ interface XSchemaSupplier ;
+
+
+} ;
+
+
+} ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/backend/SingleBackend.idl b/offapi/com/sun/star/configuration/backend/SingleBackend.idl
new file mode 100644
index 000000000..218fe3854
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/SingleBackend.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_configuration_backend_SingleBackend_idl__
+#define __com_sun_star_configuration_backend_SingleBackend_idl__
+
+#include <com/sun/star/configuration/backend/XBackendEntities.idl>
+#include <com/sun/star/configuration/backend/XSchemaSupplier.idl>
+#include <com/sun/star/configuration/backend/XMultiLayerStratum.idl>
+
+
+module com { module sun { module star { module configuration { module backend {
+
+
+/**
+ is a configuration storage backends containing a complete
+ configuration database, including user data, default or
+ policy layers and schemata.
+
+ <p> Configuration data is organized into layers which are selected
+ by components and entities.
+ </p>
+
+ <p> Components are characterized by configuration schemas.
+ A component contains configuration data for a particular
+ application domain or software module.
+ </p>
+ <p> Entities are organized hierarchically in organizations,
+ groups, roles and individual users. Each element of the associated
+ hierarchy corresponds to a layer that applies to an entity.
+ </p>
+ <p> Layers contains data for multiple components
+ associated to a single entity.
+ <p>
+
+ @since OOo 1.1.2
+*/
+published service SingleBackend
+{
+
+ /**
+ provides access to configuration schemas.
+ */
+ interface XSchemaSupplier ;
+
+
+ /**
+ provides access to the layer data.
+ */
+ interface XMultiLayerStratum ;
+
+
+ /**
+ provides information about supported and special entities.
+ */
+ interface XBackendEntities ;
+
+} ;
+
+
+} ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/backend/SingleBackendAdapter.idl b/offapi/com/sun/star/configuration/backend/SingleBackendAdapter.idl
new file mode 100644
index 000000000..da6ecb788
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/SingleBackendAdapter.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_configuration_backend_SingleBackendAdapter_idl__
+#define __com_sun_star_configuration_backend_SingleBackendAdapter_idl__
+
+#include <com/sun/star/configuration/backend/BackendAdapter.idl>
+
+
+module com { module sun { module star { module configuration { module backend {
+
+
+/**
+ implements a simple BackendAdapter that can be used for
+ normal configuration operation.
+
+ <p>All real functionality is provided by the wrapped SingleBackend.
+
+ @see com::sun::star::configuration::backend::OnlineBackend
+
+ @since OOo 1.1.2
+*/
+published service SingleBackendAdapter
+{
+
+ /** provides access to configuration data from a SingleBackend.
+ */
+ service BackendAdapter ;
+
+} ;
+
+
+} ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/backend/SingleLayerStratum.idl b/offapi/com/sun/star/configuration/backend/SingleLayerStratum.idl
new file mode 100644
index 000000000..b59deecbb
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/SingleLayerStratum.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_configuration_backend_SingleLayerStratum_idl__
+#define __com_sun_star_configuration_backend_SingleLayerStratum_idl__
+
+#include <com/sun/star/configuration/backend/XBackendEntities.idl>
+#include <com/sun/star/configuration/backend/XSingleLayerStratum.idl>
+
+
+
+module com { module sun { module star { module configuration { module backend {
+
+
+/**
+ Provides access to a single layer of configuration data
+*/
+service SingleLayerStratum
+{
+ /**
+ provides access to single layer of configuration data.
+ */
+ interface XSingleLayerStratum ;
+
+
+
+ /**
+ provides information about supported and special entities.
+ */
+ [optional] interface XBackendEntities ;
+
+
+} ;
+
+
+} ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/backend/StratumCreationException.idl b/offapi/com/sun/star/configuration/backend/StratumCreationException.idl
new file mode 100644
index 000000000..ce5a62714
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/StratumCreationException.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_configuration_backend_StratumCreationException_idl__
+#define __com_sun_star_configuration_backend_StratumCreationException_idl__
+
+#include <com/sun/star/configuration/backend/BackendSetupException.idl>
+
+
+module com { module sun { module star { module configuration { module backend {
+
+
+/** is passed to an InteractionHandler when creating a stratum backend fails.
+
+ @since OOo 2.0
+ */
+exception StratumCreationException : BackendSetupException
+{
+ /**
+ Identifier of the stratum service that could not be created.
+ */
+ string StratumService;
+
+ /**
+ Initialization data passed to the stratum instance.
+ */
+ string StratumData;
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/backend/SystemIntegration.idl b/offapi/com/sun/star/configuration/backend/SystemIntegration.idl
new file mode 100644
index 000000000..8ace0d125
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/SystemIntegration.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_configuration_backend_SystemIntegration_idl__
+#define __com_sun_star_configuration_backend_SystemIntegration_idl__
+
+#include <com/sun/star/configuration/backend/Backend.idl>
+#include <com/sun/star/lang/XInitialization.idl>
+
+module com { module sun { module star { module configuration { module backend {
+
+
+/**
+ provides access to a configuration data composed of one or more
+ platform backends containing settings used by software modules.
+
+ */
+service SystemIntegration
+{
+ /**
+ provides access to the layer data.
+ */
+ interface XBackend ;
+
+ /**
+ allows initialization of backend data sources
+
+ <p>no parameters need to be passed as backends are initialized
+ using the service registration database "services.rdb".
+ </p>
+
+ */
+
+ interface com::sun::star::lang::XInitialization ;
+} ;
+
+
+} ; } ; } ; } ; } ;
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/backend/TemplateIdentifier.idl b/offapi/com/sun/star/configuration/backend/TemplateIdentifier.idl
new file mode 100644
index 000000000..17fe57ecc
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/TemplateIdentifier.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_configuration_backend_TemplateIdentifier_idl__
+#define __com_sun_star_configuration_backend_TemplateIdentifier_idl__
+
+
+
+module com { module sun { module star { module configuration { module backend {
+
+
+/** holds the data needed to identify a template.
+
+ @since OOo 1.1.2
+
+ */
+published struct TemplateIdentifier
+{
+ /** specifies the name of the template.
+
+ <p>The name is unique within a component.</p>
+ */
+ string Name;
+
+
+ /** specifies the component where the template originates.
+
+ */
+ string Component;
+
+
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/backend/UpdatableLayer.idl b/offapi/com/sun/star/configuration/backend/UpdatableLayer.idl
new file mode 100644
index 000000000..df9fff0f9
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/UpdatableLayer.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_configuration_backend_UpdatableLayer_idl__
+#define __com_sun_star_configuration_backend_UpdatableLayer_idl__
+
+#include <com/sun/star/configuration/backend/Layer.idl>
+#include <com/sun/star/configuration/backend/XUpdatableLayer.idl>
+
+
+module com { module sun { module star { module configuration { module backend {
+
+
+/**
+ provides read/write access to a configuration data layer.
+
+ <p>A layer contains the configuration setting changes to be performed
+ on a default layer (or schema) to obtain the values of those settings
+ for a given entity and component.
+ </p>
+ <p>An updatable layer can be read or replaced with another layer.
+ </p>
+
+ @since OOo 1.1.2
+ */
+published service UpdatableLayer
+{
+
+ /**
+ handles read access to the contents of the layer.
+
+ <p> If the implementation supports
+ com::sun::star::util::XTimeStamped,
+ then after executing XUpdatableLayer::replaceWith()
+ the timestamp will be the one for the replaced contents and
+ if reading after updates is supported the next read will reproduce the
+ replaced data.
+ </p>
+ */
+ service Layer ;
+
+
+ /**
+ provides write access to the contents of the layer.
+
+ <p> Depending of the actual type (simple, i.e pure XLayer or
+ composite, i.e XCompositeLayer) of the current layer and
+ the provided replacement layer, the operation performed
+ by XUpdatableLayer::replaceWith(), will vary.
+ </p>
+ <p> For the different current/replacement layer combinations, we have:
+ <dl>
+ <dt>Simple/Simple<dt>
+ <dd>the provided layer's contents replace the current one's.</dd>
+
+ <dt>Composite/Composite<dt>
+ <dd>all layers (main and sub) present in the
+ provided layer are used to replace the corresponding current
+ layer contents. Sublayers present in the current layer but
+ not in the provided one are left untouched. Sublayers present
+ in the provided layer but not in the current one are added to
+ the current layer.
+ </dd>
+
+ <dt>Simple/Composite<dt>
+ <dd>the main layer and sublayers of the provided layer
+ are merged into one whose contents replace the current layer.
+ </dd>
+
+ <dt>Composite/Simple<dt>
+ <dd>the provided layer is split into a composite one whose contents
+ are then used to replace the current layer as described above.
+ </dd>
+
+ </dl>
+ <em> Not all implementations of XUpdatableLayer
+ support conversions of the replacement layer.
+ In such a case the sublayers of the provided layer may be ignored
+ or all simple data be merged into the main layer.
+ </em>
+ </p>
+ */
+ interface XUpdatableLayer ;
+
+
+} ;
+
+
+} ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/backend/XBackend.idl b/offapi/com/sun/star/configuration/backend/XBackend.idl
new file mode 100644
index 000000000..20eab1474
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/XBackend.idl
@@ -0,0 +1,172 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_configuration_backend_XBackend_idl__
+#define __com_sun_star_configuration_backend_XBackend_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/configuration/backend/XUpdateHandler.idl>
+#include <com/sun/star/configuration/backend/XLayer.idl>
+#include <com/sun/star/configuration/backend/XSchema.idl>
+#include <com/sun/star/configuration/backend/BackendAccessException.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/lang/NoSupportException.idl>
+
+
+module com { module sun { module star { module configuration { module backend {
+
+
+/**
+ Handles access to layered data stored in a repository.
+
+ <p> Data can be retrieved on behalf of one or more entities.</p>
+
+ <p> There is an implied owner entity associated to the object
+ when it is created. This entity should be used for normal data access.
+ For administrative operations data of other entities can be accessed.
+ </p>
+
+ @see com::sun::star::configuration::backend::XBackendEntities
+ @see com::sun::star::configuration::backend::XSchemaSupplier
+
+ @since OOo 1.1.2
+*/
+published interface XBackend : ::com::sun::star::uno::XInterface
+{
+
+ /**
+ retrieves the layers associated to the owner
+ entity for a component.
+
+ @param aComponent
+ component whose data will be accessed
+
+ @returns
+ a list of objects allowing access to the
+ component data for each layer associated to
+ the current entity
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the component identifier is invalid
+
+ @throws com::sun::star::configuration::backend::BackendAccessException
+ if an error occurs while accessing the data.
+
+ @see com::sun::star::configuration::backend::XBackendEntities::getOwnerEntity()
+ */
+ sequence<XLayer> listOwnLayers([in] string aComponent)
+ raises (BackendAccessException,
+ com::sun::star::lang::IllegalArgumentException) ;
+
+
+ /**
+ creates an update handler for the owner entity
+ layer for a component.
+
+ @param aComponent
+ component whose data will be updated
+
+ @returns
+ an object allowing manipulation of the
+ component data for the current entity
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the component identifier is invalid
+
+ @throws com::sun::star::lang::NoSupportException
+ if updates are not supported for this backend
+
+ @throws com::sun::star::configuration::backend::BackendAccessException
+ if an error occurs while accessing the data.
+
+ @see com::sun::star::configuration::backend::XBackendEntities::getOwnerEntity()
+ */
+ XUpdateHandler getOwnUpdateHandler([in] string aComponent)
+ raises (BackendAccessException,
+ com::sun::star::lang::NoSupportException,
+ com::sun::star::lang::IllegalArgumentException) ;
+
+
+ /**
+ retrieves the layers associated to an entity for a component.
+
+ @param aComponent
+ component whose data will be accessed
+
+ @param aEntity
+ entity whose data will be accessed
+
+ @returns
+ a list of objects allowing access to the
+ component data for each layer associated
+ with the entity.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the component identifier is invalid
+ or if the entity doesn't exist.
+
+ @throws com::sun::star::configuration::backend::BackendAccessException
+ if an error occurs while accessing the data.
+
+ @see com::sun::star::configuration::backend::XBackendEntities::supportsEntity()
+ */
+ sequence<XLayer> listLayers([in] string aComponent,
+ [in] string aEntity)
+ raises (BackendAccessException,
+ com::sun::star::lang::IllegalArgumentException) ;
+
+
+ /**
+ creates an update handler on an entity's layer for a component.
+
+ @param aComponent
+ component whose data will be updated
+
+ @param aEntity
+ entity whose data will be updated
+
+ @returns
+ an object allowing manipulation of the
+ component data for the entity
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the component identifier is invalid
+ or if the entity doesn't exist.
+
+ @throws com::sun::star::lang::NoSupportException
+ if updates are not supported for this backend
+
+ @throws com::sun::star::configuration::backend::BackendAccessException
+ if an error occurs while accessing the data.
+
+ @see com::sun::star::configuration::backend::XBackendEntities::supportsEntity()
+ */
+ XUpdateHandler getUpdateHandler([in] string aComponent,
+ [in] string aEntity)
+ raises (BackendAccessException,
+ com::sun::star::lang::NoSupportException,
+ com::sun::star::lang::IllegalArgumentException) ;
+
+} ;
+
+
+} ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/backend/XBackendChangesListener.idl b/offapi/com/sun/star/configuration/backend/XBackendChangesListener.idl
new file mode 100644
index 000000000..53818fc21
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/XBackendChangesListener.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_configuration_backend_XBackendChangesListener_idl__
+#define __com_sun_star_configuration_backend_XBackendChangesListener_idl__
+
+#include <com/sun/star/configuration/backend/ComponentChangeEvent.idl>
+#include <com/sun/star/lang/XEventListener.idl>
+
+module com { module sun { module star { module configuration { module backend {
+
+
+/** receives notification from backend broadcaster objects.
+
+ @see XBackendChangesNotifier
+
+ */
+ interface XBackendChangesListener: ::com::sun::star::lang::XEventListener
+{
+ /** is invoked when component data in backend source changes
+
+ @param Event
+ Event indicating the component data change
+ */
+ void componentDataChanged( [in] com::sun::star::configuration::backend::ComponentChangeEvent Event );
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/backend/XBackendChangesNotifier.idl b/offapi/com/sun/star/configuration/backend/XBackendChangesNotifier.idl
new file mode 100644
index 000000000..164a3b4e4
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/XBackendChangesNotifier.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_configuration_backend_XBackendChangesNotifier_idl__
+#define __com_sun_star_configuration_backend_XBackendChangesNotifier_idl__
+
+#include <com/sun/star/configuration/backend/XBackendChangesListener.idl>
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module configuration { module backend {
+
+
+/** broadcasts changes when data from backend sources has changed.
+
+ @see XBackendChangesListener
+*/
+interface XBackendChangesNotifier: com::sun::star::uno::XInterface
+{
+ /** adds the specified listener to receive events when changes occurred.
+ @param aListener
+ specifies the listener object.
+
+ @param component
+ The name of the component the listener is monitoring changes for.
+
+ */
+ void addChangesListener( [in] com::sun::star::configuration::backend::XBackendChangesListener aListener,
+ [in] string component);
+
+ /** removes the specified listener.
+ @param aListener
+ specifies the listener object.
+
+ @param component
+ The name of the component the listener is monitoring changes for.
+
+ */
+ void removeChangesListener( [in] com::sun::star::configuration::backend::XBackendChangesListener aListener,
+ [in] string component);
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/backend/XBackendEntities.idl b/offapi/com/sun/star/configuration/backend/XBackendEntities.idl
new file mode 100644
index 000000000..7f1bf481c
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/XBackendEntities.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_configuration_backend_XBackendEntities_idl__
+#define __com_sun_star_configuration_backend_XBackendEntities_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/configuration/backend/BackendAccessException.idl>
+
+
+module com { module sun { module star { module configuration { module backend {
+
+
+/**
+ Provides functionality relating to common and supported entities
+ for a configuration data backend.
+
+ @see com::sun::star::configuration::backend::XBackend
+ @see com::sun::star::configuration::backend::XMultiLayerStratum
+
+ @since OOo 1.1.2
+*/
+published interface XBackendEntities : ::com::sun::star::uno::XInterface
+{
+
+ /**
+ provides the entity id of the owner entity of the backend.
+
+ @returns
+ an entity identifier for the owner entity.
+ <p> The owner entity is the default entity for the backend.
+ For normal configuration data access the owner entity
+ should always be used.
+ </p>
+
+ @see com::sun::star::configuration::backend::XBackend::listOwnLayers()
+ @see com::sun::star::configuration::backend::XBackend::getOwnUpdateHandler()
+ */
+ string getOwnerEntity() ;
+
+
+ /**
+ provides the entity id of an entity for general administrative access.
+
+ <p> The admin entity is an entity that should be used to
+ read and manage configuration data that applies to all entities
+ within the backend.
+ </p>
+
+ @returns
+ an entity identifier for the admin entity or
+ an empty string, if there is no entity that can be used for
+ general administrative access.
+
+ */
+ string getAdminEntity() ;
+
+
+ /**
+ determines, if a given entity id exists in this backend.
+
+ @param aEntity
+ The name of an entity.
+
+ @throws com::sun::star::configuration::backend::BackendAccessException
+ if an error occurs while accessing the backend.
+
+ @returns
+ `TRUE`, if aEntity is a valid, existing entity for this backend,
+ `FALSE` otherwise.
+ */
+ boolean supportsEntity([in] string aEntity)
+ raises( BackendAccessException );
+
+
+ /**
+ determines, if two given entity ids denote the same entity.
+
+ @param aEntity
+ The name of an entity.
+
+ @param aOtherEntity
+ The name of another entity.
+
+ @returns
+ `TRUE`, if aEntity and aOtherEntity denote the same entity
+ within this backend, `FALSE` otherwise.
+
+ @throws com::sun::star::configuration::backend::BackendAccessException
+ if an error occurs while accessing the backend.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if either entity does not exist.
+ */
+ boolean isEqualEntity([in] string aEntity, [in] string aOtherEntity)
+ raises( BackendAccessException, com::sun::star::lang::IllegalArgumentException) ;
+
+} ;
+
+
+} ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/backend/XCompositeLayer.idl b/offapi/com/sun/star/configuration/backend/XCompositeLayer.idl
new file mode 100644
index 000000000..a918488f2
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/XCompositeLayer.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_configuration_backend_XCompositeLayer_idl__
+#define __com_sun_star_configuration_backend_XCompositeLayer_idl__
+
+#include <com/sun/star/configuration/backend/XLayer.idl>
+#include <com/sun/star/lang/NullPointerException.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#include <com/sun/star/configuration/backend/MalformedDataException.idl>
+
+
+module com { module sun { module star { module configuration { module backend {
+
+
+/**
+ provides read access to layers that contain sublayers accessible through an
+ additional criterion (for instance the locale they contain data for).
+
+ @since OOo 1.1.2
+ */
+published interface XCompositeLayer : XLayer
+{
+
+ /**
+ Returns a list of the criteria that can be used to access the
+ sublayers.
+
+ @return
+ a list supported sublayer identifiers
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if an error occurs in the retrieval of the data.
+ */
+ sequence<string> listSubLayerIds()
+ raises (com::sun::star::lang::WrappedTargetException) ;
+
+
+ /**
+ Describes the content of a particular sublayer to
+ an XLayerHandler.
+
+ @param aHandler
+ Handler object that will receive calls
+ describing the contents of the sublayer.
+
+ @param aSubLayerId
+ Identifier of the sublayer to be read.
+ <p> Must be one the identifiers returned by
+ XCompositeLayer::listSubLayerIds()
+ </p>
+
+ @throws com::sun::star::lang::NullPointerException
+ if a `NULL` handler is passed.
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the identifier is invalid.
+ @throws com::sun::star::lang::WrappedTargetException
+ if an error occurs in the access to or processing of the data.
+ @throws com::sun::star::configuration::backend::MalformedDataException
+ if the data read from the layer is rejected as invalid by the
+ XLayerHandler.
+ */
+ void readSubLayerData([in] XLayerHandler aHandler, [in] string aSubLayerId)
+ raises (com::sun::star::lang::NullPointerException,
+ com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::lang::WrappedTargetException,
+ MalformedDataException) ;
+
+} ;
+
+
+} ; } ; } ; } ; } ;
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/backend/XLayer.idl b/offapi/com/sun/star/configuration/backend/XLayer.idl
new file mode 100644
index 000000000..e2948554f
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/XLayer.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_configuration_backend_XLayer_idl__
+#define __com_sun_star_configuration_backend_XLayer_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/configuration/backend/XLayerHandler.idl>
+#include <com/sun/star/lang/NullPointerException.idl>
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#include <com/sun/star/configuration/backend/MalformedDataException.idl>
+
+
+module com { module sun { module star { module configuration { module backend {
+
+
+/**
+ provides read access to the data contained in a layer.
+
+ @since OOo 1.1.2
+*/
+published interface XLayer : ::com::sun::star::uno::XInterface
+{
+
+ /**
+ describes the contents of the layer to an XLayerHandler.
+
+ @param aHandler
+ Handler object that will receive calls
+ describing the contents of the layer
+
+ @throws com::sun::star::lang::NullPointerException
+ if a `NULL` handler is passed.
+ @throws com::sun::star::lang::WrappedTargetException
+ if an error occurs in the access to or processing of the data.
+ @throws com::sun::star::configuration::backend::MalformedDataException
+ if the data read from the layer is rejected as invalid by the
+ XLayerHandler.
+ */
+ void readData([in] XLayerHandler aHandler)
+ raises (com::sun::star::lang::NullPointerException,
+ com::sun::star::lang::WrappedTargetException,
+ MalformedDataException) ;
+
+} ;
+
+
+} ; } ; } ; } ; } ;
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/backend/XLayerContentDescriber.idl b/offapi/com/sun/star/configuration/backend/XLayerContentDescriber.idl
new file mode 100644
index 000000000..355ab485f
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/XLayerContentDescriber.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_configuration_backend_XLayerContentDescriber_idl__
+#define __com_sun_star_configuration_backend_XLayerContentDescriber_idl__
+
+#include <com/sun/star/configuration/backend/PropertyInfo.idl>
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/configuration/backend/XLayerHandler.idl>
+#include <com/sun/star/lang/NullPointerException.idl>
+#include <com/sun/star/configuration/backend/MalformedDataException.idl>
+
+
+module com { module sun { module star { module configuration { module backend {
+
+
+/**
+ describe the contents of a layer to an XLayerHandler object. The contents of
+ the layer is contained in the sequence of PropertyInfo structures
+ @see PropertyInfo
+
+*/
+interface XLayerContentDescriber : ::com::sun::star::uno::XInterface
+{
+
+ /**
+ describes the contents of the layer to an XLayerHandler.
+
+ @param aHandler
+ Handler object that will receive calls
+ describing the contents of the layer
+
+ @param aPropertyInfos
+ sequence of PropertyInfo structs contained
+ all required property information
+
+ @throws com::sun::star::lang::NullPointerException
+ if a `NULL` handler is passed.
+ @throws com::sun::star::configuration::backend::MalformedDataException
+ if the data read from the layer is rejected as invalid by the
+ XLayerHandler.
+ */
+ void describeLayer([in] XLayerHandler aHandler,
+ [in] sequence<PropertyInfo> aPropertyInfos)
+ raises (com::sun::star::lang::NullPointerException,
+ com::sun::star::lang::WrappedTargetException,
+ MalformedDataException) ;
+
+} ;
+
+
+} ; } ; } ; } ; } ;
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/backend/XLayerHandler.idl b/offapi/com/sun/star/configuration/backend/XLayerHandler.idl
new file mode 100644
index 000000000..df735c632
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/XLayerHandler.idl
@@ -0,0 +1,536 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_configuration_backend_XLayerHandler_idl__
+#define __com_sun_star_configuration_backend_XLayerHandler_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/configuration/backend/TemplateIdentifier.idl>
+
+#include <com/sun/star/configuration/backend/MalformedDataException.idl>
+#include <com/sun/star/lang/WrappedTargetException.idl>
+
+
+module com { module sun { module star { module configuration { module backend {
+
+
+/** receives a description of a configuration layer
+ as a sequence of events.
+
+ @since OOo 1.1.2
+ */
+published interface XLayerHandler: ::com::sun::star::uno::XInterface
+{
+
+ /** receives notification that a layer description is started
+ for a component.
+
+ <p> Subsequent calls describe the contents of the layer
+ until a matching call to XLayerHandler::endLayer()
+ is encountered.
+ </p>
+
+ @throws com::sun::star::configuration::backend::MalformedDataException
+ if there is an unfinished layer in progress
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if an error occurs processing the event.
+ */
+ void startLayer( )
+ raises( MalformedDataException,
+ com::sun::star::lang::WrappedTargetException );
+
+ /** receives notification that a layer description is complete.
+
+ <p> Must match a previous call to XLayerHandler::startLayer().
+ </p>
+
+ @throws com::sun::star::configuration::backend::MalformedDataException
+ <ul>
+ <li>if invalid data is detected in the layer</li>
+ <li>if there is an unfinished subnode in progress</li>
+ <li>if no layer is started at all</li>
+ <li>if the layer tries to override read-only or final data</li>
+ </ul>
+ <p><em>Not every implementation can detect each condition</em></p>
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if an error occurs processing the event.
+ */
+ void endLayer( )
+ raises( MalformedDataException,
+ com::sun::star::lang::WrappedTargetException );
+
+ /** receives notification that a description of a node override is started.
+
+ <p> Subsequent calls describe overrides to properties and members
+ or items of the node until a matching call to
+ XLayerHandler::endNode()is encountered.
+ </p>
+
+ @param aName
+ specifies the name of the node.
+
+ @param aAttributes
+ specifies attribute values to be applied to the node.
+
+ <p> The value is a combination of
+ NodeAttribute flags.
+ </p>
+ <p> The attributes are combined cumulatively with those
+ set on lower layers.
+ </p>
+
+ @param bClear
+ if `TRUE`, specifies that the node should be cleared to an empty
+ state by removing all non-mandatory children from lower layers prior
+ to applying the overrides.
+
+ @throws com::sun::star::configuration::backend::MalformedDataException
+ <ul>
+ <li>if there isn't a layer in progress</li>
+ <li>if there already was a change to that node</li>
+ <li>if there is no node with that name</li>
+ <li>if the node is marked read-only in a lower layer</li>
+ <li>if the name is not a valid node name</li>
+ <li>if the attributes are not valid for the node</li>
+ </ul>
+ <p><em>Not every implementation can detect each condition</em></p>
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if an error occurs processing the event.
+
+ @see com::sun::star::configuration::backend::NodeAttribute
+ */
+ void overrideNode( [in] string aName,
+ [in] short aAttributes,
+ [in] boolean bClear )
+ raises( MalformedDataException,
+ com::sun::star::lang::WrappedTargetException );
+
+ /** receives notification that a new item is started.
+
+ <p> The current node must be a set and
+ a preexisting item (if any) must be removable.
+ </p>
+ <p> The new item will be created from the default template
+ of the set.
+ </p>
+ <p> Subsequent calls describe the difference from the template
+ of properties and members or items of the node until
+ a matching call to XLayerHandler::endNode()
+ is encountered.
+ </p>
+
+ @param aName
+ specifies the name of the item.
+
+ @param aAttributes
+ specifies attribute values to be applied to the new node.
+
+ <p> The value is a combination of
+ NodeAttribute flags. Note that
+ NodeAttribute::FUSE has an impact on the
+ semantics of this method.
+ </p>
+
+ @throws com::sun::star::configuration::backend::MalformedDataException
+ <ul>
+ <li>if there isn't a set node in progress currently</li>
+ <li>if there already was a change to a node of that name</li>
+ <li>if the template for the new node is not found</li>
+ <li>if an item of that name on a lower layer is not removable</li>
+ <li>if the name is not a valid item name</li>
+ <li>if the attributes are not valid for the node</li>
+ </ul>
+ <p><em>Not every implementation can detect each condition</em></p>
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if an error occurs processing the event.
+
+ @see com::sun::star::configuration::backend::NodeAttribute
+ */
+ void addOrReplaceNode( [in] string aName,
+ [in] short aAttributes )
+ raises( MalformedDataException,
+ com::sun::star::lang::WrappedTargetException );
+
+ /** receives notification that a new item based on a particular template
+ is started.
+
+ <p> The current node must be a set and
+ a preexisting item (if any) must be removable.
+ </p>
+ <p> Subsequent calls describe the difference from the template
+ of properties and members or items of the node until
+ a matching call to XLayerHandler::endNode()
+ is encountered.
+ </p>
+
+ @param aName
+ specifies the name of the item.
+
+ @param aTemplate
+ specifies the template to use for the new node
+
+ @param aAttributes
+ specifies attribute values to be applied to the new node.
+
+ <p> The value is a combination of
+ NodeAttribute flags. Note that
+ NodeAttribute::FUSE has an impact on the
+ semantics of this method.
+ </p>
+
+ @throws com::sun::star::configuration::backend::MalformedDataException
+ <ul>
+ <li>if there isn't a set node in progress currently</li>
+ <li>if there already was a change to a node of that name</li>
+ <li>if the template for the new node is not found</li>
+ <li>if the template is not a valid item type for the containing set</li>
+ <li>if an item of that name on a lower layer is not removable</li>
+ <li>if the name is not a valid item name</li>
+ <li>if the attributes are not valid for the node</li>
+ </ul>
+ <p><em>Not every implementation can detect each condition</em></p>
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if an error occurs processing the event.
+
+ @see com::sun::star::configuration::backend::NodeAttribute
+ */
+ void addOrReplaceNodeFromTemplate( [in] string aName,
+ [in] TemplateIdentifier aTemplate,
+ [in] short aAttributes )
+ raises( MalformedDataException,
+ com::sun::star::lang::WrappedTargetException );
+
+ /** receives notification that a node description is complete.
+
+ <p> Must match the last open call to
+ XLayerHandler::overrideNode(),
+ XLayerHandler::addOrReplaceNode() or
+ XLayerHandler::addOrReplaceNodeFromTemplate().
+ </p>
+
+ @throws com::sun::star::configuration::backend::MalformedDataException
+ <ul>
+ <li>if invalid data is detected in the node</li>
+ <li>if no node is started at all</li>
+ </ul>
+ <p><em>Not every implementation can detect each condition</em></p>
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if an error occurs processing the event.
+ */
+ void endNode( )
+ raises( MalformedDataException,
+ com::sun::star::lang::WrappedTargetException );
+
+ /** receives notification that a node is dropped from a set.
+
+ <p> The current node must be a set and
+ the item must be removable.
+ </p>
+
+ @param aName
+ specifies the name of the node.
+
+ @throws com::sun::star::configuration::backend::MalformedDataException
+ <ul>
+ <li>if there isn't a set node in progress currently</li>
+ <li>if there already was a change to a node of that name</li>
+ <li>if there is no item with that name</li>
+ <li>if the item is not removable</li>
+ <li>if the name is not a valid node name</li>
+ </ul>
+ <p><em>Not every implementation can detect each condition</em></p>
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if an error occurs processing the event.
+ */
+ void dropNode( [in] string aName )
+ raises( MalformedDataException,
+ com::sun::star::lang::WrappedTargetException );
+
+ /** receives notification that an existing property is modified.
+
+ <p> Subsequent calls describe new value(s) for the property until a
+ matching call to XLayerHandler::endProperty()
+ is encountered.
+ </p>
+
+ @param aName
+ specifies the name of the property.
+
+ @param aAttributes
+ specifies the new attributes of the property.
+
+ <p> The value is a combination of
+ NodeAttribute flags.
+ </p>
+ <p> The attributes are combined cumulatively with those
+ set on lower layers.
+ </p>
+
+ @param aType
+ specifies the type of the property.
+
+ <p> This must be the same type as is already defined in the schema
+ or lower layers, unless the previous type was unspecified
+ (as indicated by
+ com::sun::star::uno::TypeClass::ANY.)
+ </p>
+ <p> A `VOID` type indicates that the type is unspecified
+ in this layer.
+ In this case any subsequent value may be of a generic type
+ (e.g. `string` or - for list values -
+ `string[]`.) Such values may be
+ converted to the type defined in the schema by
+ the implementation.
+ </p>
+
+ @param bClear
+ if `TRUE`, specifies that the property should be cleared to an empty
+ state by discarding all values from lower layers prior
+ to applying the overrides.
+
+ @throws com::sun::star::configuration::backend::MalformedDataException
+ <ul>
+ <li>if there isn't a group or extensible node in progress currently</li>
+ <li>if there already was a change to a property of that name</li>
+ <li>if there is no property with that name</li>
+ <li>if the property is read-only</li>
+ <li>if the type does not match the type of the property</li>
+ <li>if a type is missing and cannot be determined otherwise</li>
+ <li>if the name is not a valid property name</li>
+ <li>if the attributes are not valid for the property</li>
+ </ul>
+ <p><em>Not every implementation can detect each condition</em></p>
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if an error occurs processing the event.
+
+ @see com::sun::star::configuration::backend::NodeAttribute
+ */
+ void overrideProperty( [in] string aName,
+ [in] short aAttributes,
+ [in] type aType,
+ [in] boolean bClear )
+ raises( MalformedDataException,
+ com::sun::star::lang::WrappedTargetException );
+
+
+ /** receives notification that the value of the current property
+ is overridden.
+
+ @param aValue
+ specifies the new value of the property.
+
+ <p> The value must match the type of the current property.
+ If the property does not have the
+ SchemaAttribute::REQUIRED flag set,
+ the value can be `VOID`.
+ </p>
+ <p> If the current property is localized, this value applies
+ to the default locale.
+ </p>
+
+ @throws com::sun::star::configuration::backend::MalformedDataException
+ <ul>
+ <li>if there isn't a property in progress currently</li>
+ <li>if there already was a change to the value of that property</li>
+ <li>if the value does not have the proper type</li>
+ <li>if the value is not valid for the property</li>
+ </ul>
+ <p><em>Not every implementation can detect each condition</em></p>
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if an error occurs processing the event.
+
+ @see com::sun::star::configuration::backend::NodeAttribute
+ */
+ void setPropertyValue( [in] any aValue )
+ raises( MalformedDataException,
+ com::sun::star::lang::WrappedTargetException );
+
+
+ /** receives notification that the value of the current localized property
+ is overridden for a specific locale .
+
+ @param aValue
+ specifies the new value of the property.
+
+ <p> The value must match the type of the current property.
+ If the property does not have the
+ SchemaAttribute::REQUIRED flag set,
+ the value can be `VOID`.
+ </p>
+
+ @param aLocale
+ specifies the locale this value should apply to.
+
+ @throws com::sun::star::configuration::backend::MalformedDataException
+ <ul>
+ <li>if there isn't a property in progress currently</li>
+ <li>if the current property isn't localized</li>
+ <li>if there already was a change to the property for that locale</li>
+ <li>if the value does not have the proper type</li>
+ <li>if the value is not valid for the property</li>
+ <li>if the locale is not a valid locale</li>
+ </ul>
+ <p><em>Not every implementation can detect each condition</em></p>
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if an error occurs processing the event.
+
+ @see com::sun::star::configuration::backend::NodeAttribute
+ */
+ void setPropertyValueForLocale([in] any aValue,
+ [in] string aLocale )
+ raises( MalformedDataException,
+ com::sun::star::lang::WrappedTargetException );
+
+
+ /** receives notification that a property description is complete.
+
+ <p> Must match an open call to
+ XLayerHandler::overrideProperty(),
+ </p>
+
+ @throws com::sun::star::configuration::backend::MalformedDataException
+ <ul>
+ <li>if invalid data is detected in the property</li>
+ <li>if no property is started at all</li>
+ </ul>
+ <p><em>Not every implementation can detect each condition</em></p>
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if an error occurs processing the event.
+ */
+ void endProperty( )
+ raises( MalformedDataException,
+ com::sun::star::lang::WrappedTargetException );
+
+ /** receives notification that a property having a `VOID` value is added
+ to the current node.
+
+ <p> The current node must be extensible.
+ </p>
+
+ @param aName
+ specifies the name of the new property.
+
+ @param aAttributes
+ specifies the attributes of the new property.
+
+ <p> The value is a combination of
+ NodeAttribute flags and may also contain the
+ SchemaAttribute::REQUIRED flag.
+ </p>
+ <p> NodeAttribute::MANDATORY need not be set,
+ as dynamically added properties always are mandatory
+ in subsequent layers.
+ </p>
+
+ @param aType
+ specifies the type of the new property.
+
+ @throws com::sun::star::configuration::backend::MalformedDataException
+ <ul>
+ <li>if there isn't an extensible node in progress currently</li>
+ <li>if a property with that name already exists</li>
+ <li>if the specified type is not allowed for a property</li>
+ <li>if the name is not a valid property name</li>
+ <li><li>if the attributes are not valid for the property</li>
+ </ul>
+ <p><em>Not every implementation can detect each condition</em></p>
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if an error occurs processing the event.
+
+ @see com::sun::star::configuration::backend::SchemaAttribute
+ */
+ void addProperty( [in] string aName,
+ [in] short aAttributes,
+ [in] type aType )
+ raises( MalformedDataException,
+ com::sun::star::lang::WrappedTargetException );
+
+
+ /** receives notification that a property having a non-`VOID` value
+ is added to the current node.
+
+ <p> The current node must be extensible.
+ </p>
+
+ @param aName
+ specifies the name of the new property.
+
+ @param aAttributes
+ specifies the attributes of the new property.
+
+ <p> The value is a combination of
+ NodeAttribute flags and may also contain the
+ SchemaAttribute::REQUIRED flag.
+ </p>
+ </p>
+ <p> NodeAttribute::MANDATORY need not be set,
+ as dynamic properties always are mandatory
+ in subsequent layers.
+ </p>
+
+ @param aValue
+ specifies the value of the new property.
+
+ <p> The value also determines the type.
+ Therefore the value must not be `VOID`.
+ </p>
+
+ @throws com::sun::star::configuration::backend::MalformedDataException
+ <ul>
+ <li>if there isn't an extensible node in progress currently</li>
+ <li>if a property with that name already exists</li>
+ <li>if the type of the value is not an allowed type
+ or if the value is `VOID`</li>
+ <li>if the name is not a valid property name</li>
+ <li>if the value is not valid for the property</li>
+ <li>if the attributes are not valid for the property</li>
+ </ul>
+ <p><em>Not every implementation can detect each condition</em></p>
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if an error occurs processing the event.
+
+ @see com::sun::star::configuration::backend::SchemaAttribute
+ */
+ void addPropertyWithValue( [in] string aName,
+ [in] short aAttributes,
+ [in] any aValue )
+ raises( MalformedDataException,
+ com::sun::star::lang::WrappedTargetException );
+
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/backend/XLayerImporter.idl b/offapi/com/sun/star/configuration/backend/XLayerImporter.idl
new file mode 100644
index 000000000..793227684
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/XLayerImporter.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_configuration_backend_XLayerImporter_idl__
+#define __com_sun_star_configuration_backend_XLayerImporter_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/configuration/backend/XLayer.idl>
+#include <com/sun/star/configuration/backend/XBackend.idl>
+#include <com/sun/star/configuration/backend/MalformedDataException.idl>
+#include <com/sun/star/lang/NullPointerException.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/lang/WrappedTargetException.idl>
+
+
+module com { module sun { module star { module configuration { module backend {
+
+
+/** allows importing a layer into a Backend
+
+ @since OOo 1.1.2
+*/
+published interface XLayerImporter : ::com::sun::star::uno::XInterface
+{
+
+ /** gets the target backend for importing.
+
+ @returns
+ the Backend into which layers are
+ imported by XLayerImporter::importLayer().
+
+ */
+ XBackend getTargetBackend();
+
+
+ /** sets the target backend for importing.
+
+ @param aBackend
+ a Backend into which layers should be
+ imported by XLayerImporter::importLayer().
+
+ @throws com::sun::star::lang::NullPointerException
+ if the backend passed is `NULL`.
+ */
+ void setTargetBackend([in] XBackend aBackend)
+ raises (com::sun::star::lang::NullPointerException) ;
+
+
+ /** Imports the layer given into the backend.
+
+ <p>This method imports data for the current entity of the backend.</p>
+
+ @param aLayer
+ a layer whose data will be imported into the backend
+
+ @throws com::sun::star::lang::NullPointerException
+ if the layer passed is `NULL` or no backend is available.
+
+ @throws com::sun::star::configuration::backend::MalformedDataException
+ if the layer passed is invalid
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the layer passed is for a component
+ that doesn't exist in the backend
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if an error occurs in the backend or source layer.
+
+ @see com::sun::star::configuration::backend::XBackend::getOwnUpdateHandler()
+ */
+ void importLayer([in] XLayer aLayer)
+ raises (MalformedDataException,
+ com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::lang::NullPointerException,
+ com::sun::star::lang::WrappedTargetException) ;
+
+
+ /** Imports the layer given into the backend for a given entity.
+
+ <p>This method imports data for the current entity of the backend.</p>
+
+ @param aLayer
+ a layer whose data will be imported into the backend
+
+ @param aEntity
+ an entity into whose data the layer will be imported
+
+ @throws com::sun::star::lang::NullPointerException
+ if the layer passed is `NULL` or no backend is available.
+
+ @throws com::sun::star::configuration::backend::MalformedDataException
+ if the layer passed is invalid
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the layer passed is for a component
+ that doesn't exist in the backend
+ or if the entity doesn't exist in the backend.
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if an error occurs in the backend or source layer.
+
+ @see com::sun::star::configuration::backend::XBackend::getUpdateHandler()
+ */
+ void importLayerForEntity([in] XLayer aLayer, [in] string aEntity)
+ raises (MalformedDataException,
+ com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::lang::NullPointerException,
+ com::sun::star::lang::WrappedTargetException) ;
+
+} ;
+
+
+} ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/backend/XMultiLayerStratum.idl b/offapi/com/sun/star/configuration/backend/XMultiLayerStratum.idl
new file mode 100644
index 000000000..5c20f01bb
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/XMultiLayerStratum.idl
@@ -0,0 +1,314 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_configuration_backend_XMultiLayerStratum_idl__
+#define __com_sun_star_configuration_backend_XMultiLayerStratum_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/configuration/backend/XLayer.idl>
+#include <com/sun/star/configuration/backend/XUpdatableLayer.idl>
+#include <com/sun/star/configuration/backend/BackendAccessException.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/lang/NoSupportException.idl>
+
+
+module com { module sun { module star { module configuration { module backend {
+
+
+/**
+ Handles access to a stratum consisting of multiple layers
+ in a single configuration data repository
+
+ <p> The interface provides access to data for multiple entities and
+ timestamp-checking capabilities for efficient caching.
+ </p>
+
+ @see com::sun::star::configuration::backend::XBackendEntities
+ @see com::sun::star::util::XTimeStamped
+ @see com::sun::star::configuration::backend::XSchemaSupplier
+ @see com::sun::star::configuration::backend::XSingleLayerStratum
+
+ @since OOo 1.1.2
+*/
+published interface XMultiLayerStratum : ::com::sun::star::uno::XInterface
+{
+
+ /**
+ identifies the layers within this stratum which should be read and
+ merged to determine data of a component for an entity
+
+
+ @param aComponent
+ The name of the component to access.
+
+ @param aEntity
+ The name of an entity on behalf of which data will be accessed.
+
+ @return
+ a list of layer identifiers that can be used to
+ retrieve Layer objects.
+ <p> The list is ordered by priority. Typically
+ the most general layers (global defaults,
+ entire organization) are first, more specific layers
+ (associated to specific groups or roles) are next
+ and the entity's own data is last.
+ </p>
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the component identifier is invalid or
+ if the entity doesn't exist.
+
+ @throws com::sun::star::configuration::backend::BackendAccessException
+ if an error occurs while accessing the data.
+
+ @see com::sun::star::configuration::backend::XMultiLayerStratum::getLayer()
+ @see com::sun::star::configuration::backend::XMultiLayerStratum::getLayers()
+ @see com::sun::star::configuration::backend::XMultiLayerStratum::getMultipleLayers()
+ @see com::sun::star::configuration::backend::XBackendEntities
+ */
+ sequence<string> listLayerIds([in] string aComponent,
+ [in] string aEntity)
+ raises (BackendAccessException,
+ com::sun::star::lang::IllegalArgumentException) ;
+
+
+ /**
+ identifies the layer which should be modified
+ to update data of a component on behalf of an entity.
+
+ <p> The layer id returned is one of the layer ids obtained from
+ XMultiLayerStratum::listLayerIds() for the same
+ component and entity.
+ </p>
+
+ @param aComponent
+ The name of the component to access.
+
+ @param aEntity
+ The name of an entity on behalf of which data will be accessed.
+
+ @returns
+ a layer identifier that can be used to obtain
+ an UpdatableLayer object.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the component identifier is invalid or
+ if the entity doesn't exist.
+
+ @throws com::sun::star::lang::NoSupportException
+ if the implementation does not support updates.
+
+ @throws com::sun::star::configuration::backend::BackendAccessException
+ if an error occurs while accessing the data.
+
+ @see com::sun::star::configuration::backend::XMultiLayerStratum::getUpdatableLayer()
+ @see com::sun::star::configuration::backend::XBackendEntities
+ */
+ string getUpdateLayerId([in] string aComponent,
+ [in] string aEntity)
+ raises (BackendAccessException,
+ com::sun::star::lang::NoSupportException,
+ com::sun::star::lang::IllegalArgumentException) ;
+
+
+ /**
+ retrieves a layer associated to a layer id, if newer than indicated.
+
+ <p> A timestamp can be provided, which is used to indicate
+ a point in time. The layer should be returned only if is modified
+ since that time.
+ </p>
+
+ @param aLayerId
+ identifier of the layers to be accessed.
+ <p>Layer ids can be obtained from
+ XMultiLayerStratum::listLayerIds() or
+ XMultiLayerStratum::getUpdateLayerId().
+ </p>
+
+ @param aTimestamp
+ a timestamp for the layer.
+
+ <p> An empty timestamp indicates, that the layer should be
+ retrieved irrespective of its modification time.
+ </p>
+ <p> The format and meaning of a timestamp depends on
+ the implementation. Timestamps can be obtained using
+ com::sun::star::util::XTimeStamped::getTimestamp().
+ </p>
+
+ @returns
+ a Layer object providing access to the layer data,
+ `NULL` if the layer is newer than indicated by the timestamp.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the layer id is invalid or
+ if the timestamp is invalid
+
+ @throws com::sun::star::configuration::backend::BackendAccessException
+ if an error occurs while accessing the data.
+
+ @see com::sun::star::util::XTimeStamped
+ */
+ XLayer getLayer([in] string aLayerId,
+ [in] string aTimestamp)
+ raises (BackendAccessException,
+ com::sun::star::lang::IllegalArgumentException) ;
+
+
+ /**
+ retrieves the layers associated to a series of layer ids,
+ if newer than indicated.
+ <p> A timestamp can be provided, which is used to indicate
+ a point in time. Only layers that are modified since that time
+ should be returned. The same timestamp is used for all layers.
+ </p>
+
+ @param aLayerIds
+ identifiers of the layers to be accessed.
+ <p>Layer ids can be obtained from
+ XMultiLayerStratum::listLayerIds().
+ </p>
+
+ @param aTimestamp
+ a timestamp for all of the layers.
+ <p> An empty timestamp indicates, that the layers should be
+ retrieved irrespective of their modification time.
+ </p>
+ <p> The format and meaning of a timestamp depends on
+ the implementation. Timestamps can be obtained using
+ com::sun::star::util::XTimeStamped::getTimestamp().
+ </p>
+
+ @returns
+ a list of Layer objects
+ providing access to the layer data.
+ <p> The list has the same length as aLayerIds. Each layer
+ object is associated to the layer id in the corresponding
+ position.
+ </p>
+ <p> For layers that are newer than indicated by the
+ timestamp, the list contains a `NULL` element.
+ </p>
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if one of the layer ids is invalid or
+ if the timestamp is invalid
+
+ @throws com::sun::star::configuration::backend::BackendAccessException
+ if an error occurs while accessing the data.
+
+ @see com::sun::star::util::XTimeStamped
+ */
+ sequence<XLayer> getLayers([in] sequence<string> aLayerIds,
+ [in] string aTimestamp)
+ raises (BackendAccessException,
+ com::sun::star::lang::IllegalArgumentException) ;
+
+
+ /**
+ retrieves the layers associated to a series of layer ids,
+ if newer than indicated for each layer.
+ <p> For each layer an individual timestamp can be provided,
+ which is used to indicate the last known version of the layer.
+ Only layers that are modified since that time should be returned.
+ </p>
+
+ @param aLayerIds
+ identifiers of the layers to be accessed.
+ <p>Layer ids can be obtained from
+ XMultiLayerStratum::listLayerIds().
+ </p>
+
+ @param aTimestamps
+ timestamps for each of the layers.
+
+ <p> This list must have the same length as aLayerIds.
+ Timestamps are matched to layer ids by their position.
+ </p>
+ <p> An empty timestamp indicates, that the associated layer
+ should be retrieved irrespective of its modification time.
+ </p>
+ <p> The format and meaning of a timestamp depends on
+ the implementation. Timestamps can be obtained using
+ com::sun::star::util::XTimeStamped::getTimestamp().
+ </p>
+
+ @returns
+ a list of Layer objects
+ providing access to the layer data.
+ <p> The list has the same length as aLayerIds. Each layer
+ object is associated to the layer id in the corresponding
+ position.
+ </p>
+ <p> For layers that are newer than indicated by the corresponding
+ timestamp, the list contains a `NULL` element.
+ </p>
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if one of the layer ids is invalid or
+ if one of the timestamps is invalid or
+ if the lengths of the arguments don't match.
+
+ @throws com::sun::star::configuration::backend::BackendAccessException
+ if an error occurs while accessing the data.
+
+ @see com::sun::star::util::XTimeStamped
+ */
+ sequence<XLayer> getMultipleLayers([in] sequence<string> aLayerIds,
+ [in] sequence<string> aTimestamps)
+ raises (BackendAccessException,
+ com::sun::star::lang::IllegalArgumentException) ;
+
+
+ /**
+ retrieves a writable representation of the layer
+ associated to a layer id.
+
+ @param aLayerId
+ identifier of the layer to be accessed for writing.
+ <p>A layer id for writing can be obtained from
+ XMultiLayerStratum::getUpdateLayerId().
+ </p>
+
+ @return
+ an UpdatableLayer object providing
+ write access to the layer
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the layer id is invalid.
+
+ @throws com::sun::star::lang::NoSupportException
+ if the implementation does not support updates.
+
+ @throws com::sun::star::configuration::backend::BackendAccessException
+ if an error occurs while accessing the data.
+ */
+ XUpdatableLayer getUpdatableLayer([in] string aLayerId)
+ raises (BackendAccessException,
+ com::sun::star::lang::NoSupportException,
+ com::sun::star::lang::IllegalArgumentException) ;
+
+} ;
+
+
+} ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/backend/XSchema.idl b/offapi/com/sun/star/configuration/backend/XSchema.idl
new file mode 100644
index 000000000..606cadcbf
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/XSchema.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_configuration_backend_XSchema_idl__
+#define __com_sun_star_configuration_backend_XSchema_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/configuration/backend/XSchemaHandler.idl>
+#include <com/sun/star/lang/NullPointerException.idl>
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#include <com/sun/star/configuration/backend/MalformedDataException.idl>
+
+
+module com { module sun { module star { module configuration { module backend {
+
+
+/**
+ Handles access to the elements of a component schema,
+ i.e its templates and its component definition.
+
+ @since OOo 1.1.2
+*/
+published interface XSchema : ::com::sun::star::uno::XInterface
+{
+
+ /**
+ Describes the full schema (templates + component) to a
+ XSchemaHandler.
+
+ @param aHandler
+ schema handler that will receive calls
+ describing the contents of the templates
+ and the component definition
+
+ @throws com::sun::star::lang::NullPointerException
+ if a `NULL` handler is passed.
+ @throws com::sun::star::lang::WrappedTargetException
+ if an error occurs in the access to or processing of the data or
+ if a subsequent call to any of the XSchemamethods is made.
+ The elements of a component schema are only parsed once,a repeat call
+ leads to exception.
+ @throws com::sun::star::configuration::backend::MalformedDataException
+ if the data read from the layer is rejected as invalid by the
+ XSchemaHandler.
+ */
+ void readSchema([in] XSchemaHandler aHandler)
+ raises (com::sun::star::lang::NullPointerException,
+ com::sun::star::lang::WrappedTargetException,
+ MalformedDataException) ;
+
+
+ /**
+ Describes only the component definition to a XSchemaHandler.
+
+ @param aHandler
+ schema handler that will receive calls
+ describing the contents of the component
+ definition
+
+ @throws com::sun::star::lang::NullPointerException
+ if a `NULL` handler is passed.
+ @throws com::sun::star::lang::WrappedTargetException
+ if an error occurs in the access to or processing of the data or
+ if a subsequent call to any of the XSchemamethods is made.
+ The elements of a component schema are only parsed once,a repeat call
+ leads to exception.
+ @throws com::sun::star::configuration::backend::MalformedDataException
+ if the data read from the layer is rejected as invalid by the
+ XSchemaHandler.
+ */
+ void readComponent([in] XSchemaHandler aHandler)
+ raises (com::sun::star::lang::NullPointerException,
+ com::sun::star::lang::WrappedTargetException,
+ MalformedDataException) ;
+
+
+ /**
+ Describes the component templates to a XSchemaHandler.
+
+ @param aHandler
+ schema handler that will receive calls
+ describing the contents of the templates
+
+ @throws com::sun::star::lang::NullPointerException
+ if a `NULL` handler is passed.
+ @throws com::sun::star::lang::WrappedTargetException
+ if an error occurs in the access to or processing of the data or
+ if a subsequent call to any of the XSchemamethods is made.
+ The elements of a component schema are only parsed once,a repeat call
+ leads to exception.
+ @throws com::sun::star::configuration::backend::MalformedDataException
+ if the data read from the layer is rejected as invalid by the
+ XSchemaHandler.
+ */
+ void readTemplates([in] XSchemaHandler aHandler)
+ raises (com::sun::star::lang::NullPointerException,
+ com::sun::star::lang::WrappedTargetException,
+ MalformedDataException) ;
+
+} ;
+
+
+} ; } ; } ; } ; } ;
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/backend/XSchemaHandler.idl b/offapi/com/sun/star/configuration/backend/XSchemaHandler.idl
new file mode 100644
index 000000000..f3721f2fd
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/XSchemaHandler.idl
@@ -0,0 +1,502 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_configuration_backend_XSchemaHandler_idl__
+#define __com_sun_star_configuration_backend_XSchemaHandler_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/configuration/backend/TemplateIdentifier.idl>
+
+#include <com/sun/star/configuration/backend/MalformedDataException.idl>
+#include <com/sun/star/lang/WrappedTargetException.idl>
+
+
+module com { module sun { module star { module configuration { module backend {
+
+
+/** receives a description of a configuration schema as a sequence of events.
+
+ @since OOo 1.1.2
+ */
+published interface XSchemaHandler: ::com::sun::star::uno::XInterface
+{
+
+ /** receives notification that a schema description is started.
+
+ <p> The schema description may comprise components templates or both.
+ </p>
+
+ @throws com::sun::star::configuration::backend::MalformedDataException
+ if a schema is already started (and has not been ended).
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if an error occurs processing the event.
+ */
+ void startSchema( )
+ raises( MalformedDataException,
+ com::sun::star::lang::WrappedTargetException );
+
+ /** receives notification that the current schema description is complete.
+
+ <p> Must match a previous call to startSchema().
+ </p>
+
+ @throws com::sun::star::configuration::backend::MalformedDataException
+ <ul>
+ <li>if invalid data is detected in the schema</li>
+ <li>if there is an unfinished component or template in progress</li>
+ <li>if no schema is started at all</li>
+ </ul>
+ <p><em>Not every implementation can detect each condition</em></p>
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if an error occurs processing the event.
+ */
+ void endSchema( )
+ raises( MalformedDataException,
+ com::sun::star::lang::WrappedTargetException );
+
+ /** receives notification that the schema depends on templates
+ from a different component.
+
+ @param aName
+ specifies the name of the component.
+
+ @throws com::sun::star::configuration::backend::MalformedDataException
+ <ul>
+ <li>if there is an unfinished component or template in progress</li>
+ <li>if no schema is started at all</li>
+ <li>if the name is not a valid component name</li>
+ <li>if the requested component is not found</li>
+ </ul>
+ <p><em>Not every implementation can detect each condition</em></p>
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if an error occurs processing the event.
+ */
+ void importComponent( [in] string aName )
+ raises( MalformedDataException,
+ com::sun::star::lang::WrappedTargetException );
+
+ /** receives notification that a component description is started.
+
+ <p> Subsequent calls describe the schema of the component
+ until a matching call to endComponent()
+ is encountered.
+ </p>
+
+ @param aName
+ specifies the name of the component.
+
+ @throws com::sun::star::configuration::backend::MalformedDataException
+ <ul>
+ <li>if there is an unfinished component or template in progress </li>
+ <li>if no schema is started at all </li>
+ <li>if there already is a component data tree of this name</li>
+ <li>if the name is not a valid component name</li>
+ <li>if the instance supports no component schemas (only templates)</li>
+ </ul>
+ <p><em>Not every implementation can detect each condition</em></p>
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if an error occurs processing the event.
+ */
+ void startComponent( [in] string aName )
+ raises( MalformedDataException,
+ com::sun::star::lang::WrappedTargetException );
+
+ /** receives notification that a component description is complete.
+
+ <p> Must match a previous call to startComponent().
+ </p>
+
+ @throws com::sun::star::configuration::backend::MalformedDataException
+ <ul>
+ <li>if invalid data is detected in the component<li>
+ <li>if there is an unfinished subnode in progress<li>
+ <li>if no component has been started at all<li>
+ <li>if the instance supports no component schemas (only templates)<li>
+ </ul>
+ <p><em>Not every implementation can detect each condition</em></p>
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if an error occurs processing the event.
+ */
+ void endComponent( )
+ raises( MalformedDataException,
+ com::sun::star::lang::WrappedTargetException );
+
+ /** receives notification that a template description is started for a group.
+
+ <p> Subsequent calls describe the members and properties of the template
+ until a matching call to endTemplate()
+ is encountered.
+ </p>
+
+ @param aTemplate
+ specifies the identity of the template.
+
+ @param aAttributes
+ specifies the attributes of the template.
+
+ <p> The value is a combination of
+ SchemaAttribute flags.
+ </p>
+ <p> SchemaAttribute::EXTENSIBLE can be used
+ to describe a template for a node with an extensible
+ set of properties.
+ </p>
+
+ @throws com::sun::star::configuration::backend::MalformedDataException
+ <ul>
+ <li>if there is an unfinished component or template in progress</li>
+ <li>if no schema is started at all </li>
+ <li>if there already is a template with that identifier</li>
+ <li>if the name is not a valid template identifier </li>
+ <li>if the attributes are not valid for a group</li>
+ <li>if the instance supports no templates (only component schemas)</li>
+ </ul>
+ <p><em>Not every implementation can detect each condition</em></p>
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if an error occurs processing the event.
+
+ @see com::sun::star::configuration::backend::SchemaAttribute
+ */
+ void startGroupTemplate( [in] TemplateIdentifier aTemplate,
+ [in] short aAttributes )
+ raises( MalformedDataException,
+ com::sun::star::lang::WrappedTargetException );
+
+ /** receives notification that a template description is started for a set.
+
+ <p> Subsequent calls describe the members and properties of the template
+ until a matching call to endTemplate()
+ is encountered.
+ </p>
+
+ @param aTemplate
+ specifies the identity of the template.
+
+ @param aAttributes
+ specifies the attributes of the template.
+
+ <p> The value is a combination of
+ SchemaAttribute flags.
+ </p>
+ <p> SchemaAttribute::EXTENSIBLE can be used
+ to describe a template for a node with an extensible
+ set of properties.
+ </p>
+
+ @param aItemType
+ specifies the (default) template for set items.
+
+ @throws com::sun::star::configuration::backend::MalformedDataException
+ <ul>
+ <li>if there is an unfinished component or template in progress</li>
+ <li>if no schema is started at all </li>
+ <li>if there already is a template with that identifier</li>
+ <li>if the item-type template is not found</li>
+ <li>if the name or item-type are not valid template identifiers </li>
+ <li>if the attributes are not valid for a set</li>
+ <li>if the instance supports no templates (only component schemas).</li>
+ </ul>
+ <p><em>Not every implementation can detect each condition</em></p>
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if an error occurs processing the event.
+
+ @see com::sun::star::configuration::backend::SchemaAttribute
+ */
+ void startSetTemplate( [in] TemplateIdentifier aTemplate,
+ [in] short aAttributes,
+ [in] TemplateIdentifier aItemType )
+ raises( MalformedDataException,
+ com::sun::star::lang::WrappedTargetException );
+
+ /** receives notification that a template description is complete.
+
+ <p> Must match a previous call to startGroupTemplate()
+ or startSetTemplate().
+ </p>
+
+ @throws com::sun::star::configuration::backend::MalformedDataException
+ <ul>
+ <li>if invalid data is detected in the template</li>
+ <li>if there is an unfinished subnode in progress</li>
+ <li>if no template has been started at all</li>
+ <li>if the instance supports no templates (only component schemas)</li>
+ </ul>
+ <p><em>Not every implementation can detect each condition</em></p>
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if an error occurs processing the event.
+ */
+ void endTemplate( )
+ raises( MalformedDataException,
+ com::sun::star::lang::WrappedTargetException );
+
+ /** receives notification that a group description is started.
+
+ <p> Subsequent calls describe the members and properties of the group
+ until a matching call to endNode()
+ is encountered.
+ </p>
+
+ @param aName
+ specifies the name of the group.
+
+ @param aAttributes
+ specifies the attributes of the node.
+
+ <p> The value is a combination of
+ SchemaAttribute flags.
+ </p>
+ <p> SchemaAttribute::EXTENSIBLE can be used
+ to describe a group with an extensible set of properties.
+ </p>
+
+ @throws com::sun::star::configuration::backend::MalformedDataException
+ <ul>
+ <li>if there isn't a group node in progress currently</li>
+ <li>if there already is a node with that name</li>
+ <li>if the name is not a valid node name</li>
+ <li>if the attributes are not valid for a group</li>
+ </ul>
+ <p><em>Not every implementation can detect each condition</em></p>
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if an error occurs processing the event.
+
+ @see com::sun::star::configuration::backend::SchemaAttribute
+ */
+ void startGroup( [in] string aName,
+ [in] short aAttributes )
+ raises( MalformedDataException,
+ com::sun::star::lang::WrappedTargetException );
+
+ /** receives notification that a set description is started.
+
+ <p> Subsequent calls describe the item-types and properties of the set
+ until a matching call to endNode()
+ is encountered.
+ </p>
+
+ @param aName
+ specifies the name of the set.
+
+ @param aAttributes
+ specifies the attributes of the node.
+
+ <p> The value is a combination of
+ SchemaAttribute flags.
+ </p>
+ <p> SchemaAttribute::EXTENSIBLE can be used
+ to describe a set with an extensible set of properties.
+ </p>
+
+ @param aItemType
+ specifies the (default) template for set items.
+
+ @throws com::sun::star::configuration::backend::MalformedDataException
+ <ul>
+ <li>if there isn't a group node in progress currently</li>
+ <li>if there already is a node with that name</li>
+ <li>if the item-type template is not found</li>
+ <li>if the name is not a valid node name</li>
+ <li>if the item-type is not a valid template identifier</li>
+ <li>if the attributes are not valid for a set</li>
+ </ul>
+ <p><em>Not every implementation can detect each condition</em></p>
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if an error occurs processing the event.
+
+ @see com::sun::star::configuration::backend::SchemaAttribute
+ */
+ void startSet( [in] string aName,
+ [in] short aAttributes,
+ [in] TemplateIdentifier aItemType )
+ raises( MalformedDataException,
+ com::sun::star::lang::WrappedTargetException );
+
+ /** receives notification that a node description is complete.
+
+ <p> Must match the last open call to startGroup()
+ or startSet().
+ </p>
+
+ @throws com::sun::star::configuration::backend::MalformedDataException
+ <ul>
+ <li>if the name is not the name of the node in progress</li>
+ <li>if invalid data is detected in the node</li>
+ <li>if no node has been started at all</li>
+ </ul>
+ <p><em>Not every implementation can detect each condition</em></p>
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if an error occurs processing the event.
+ */
+ void endNode( )
+ raises( MalformedDataException,
+ com::sun::star::lang::WrappedTargetException );
+
+ /** receives notification that a property is added to the current node.
+
+ <p> The property will have a default value of `NULL`
+ (unless it is SchemaAttribute::REQUIRED).
+ </p>
+
+ @param aName
+ specifies the name of the new property.
+
+ @param aAttributes
+ specifies the attributes of the new property.
+
+ <p> The value is a combination of
+ SchemaAttribute flags.
+ </p>
+
+ @param aType
+ specifies the type of the new property.
+
+ @throws com::sun::star::configuration::backend::MalformedDataException
+ <ul>
+ <li>if there isn't a group or extensible node in progress currently</li>
+ <li>if a property with the same name already exists</li>
+ <li>if the specified type is not allowed</li>
+ <li>if the name is not a valid property name</li>
+ <li>if the attributes are not valid for a property</li>
+ </ul>
+ <p><em>Not every implementation can detect each condition</em></p>
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if an error occurs processing the event.
+
+ @see com::sun::star::configuration::backend::SchemaAttribute
+ */
+ void addProperty( [in] string aName,
+ [in] short aAttributes,
+ [in] type aType )
+ raises( MalformedDataException,
+ com::sun::star::lang::WrappedTargetException );
+
+
+ /** receives notification that a property having a default value
+ is added to the current node.
+
+ @param aName
+ specifies the name of the new property.
+
+ @param aAttributes
+ specifies the attributes of the new property.
+
+ <p> The value is a combination of
+ SchemaAttribute flags.
+ </p>
+
+ @param aDefaultValue
+ specifies the value of the new property.
+
+ <p> The value also determines the type.
+ Therefore the value must not be `VOID`.
+ </p>
+
+ @throws com::sun::star::configuration::backend::MalformedDataException
+ <ul>
+ <li>if there isn't a group or extensible node in progress currently</li>
+ <li>if a property with the same name already exists</li>
+ <li>if the type of the default value is not an allowed type,
+ or if the default value is `VOID`</li>
+ <li>if the name is not a valid property name</li>
+ <li>if the attributes are not valid for a property</li>
+ </ul>
+ <p><em>Not every implementation can detect each condition</em></p>
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if an error occurs processing the event.
+
+ @see com::sun::star::configuration::backend::SchemaAttribute
+ */
+ void addPropertyWithDefault( [in] string aName,
+ [in] short aAttributes,
+ [in] any aDefaultValue )
+ raises( MalformedDataException,
+ com::sun::star::lang::WrappedTargetException );
+
+
+ /** receives notification that the current group has a child node
+ that is an instance of a specified template.
+
+ @param aName
+ specifies the name of the new node.
+
+ @param aTemplate
+ specifies a template that describes the new node.
+
+ @throws com::sun::star::configuration::backend::MalformedDataException
+ <ul>
+ <li>if there isn't a group node in progress currently</li>
+ <li>if there already is a node with that name</li>
+ <li>if the template is not found</li>
+ <li>if the name or template name are not valid</li>
+ </ul>
+ <p><em>Not every implementation can detect each condition</em></p>
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if an error occurs processing the event.
+ */
+ void addInstance( [in] string aName,
+ [in] TemplateIdentifier aTemplate )
+ raises( MalformedDataException,
+ com::sun::star::lang::WrappedTargetException );
+
+
+ /** receives notification that the current set can contain items
+ that are instances of a specified template.
+
+ @param aItemType
+ specifies a template that is accepted as valid item type
+ for the current set node.
+
+ @throws com::sun::star::configuration::backend::MalformedDataException
+ <ul>
+ <li>if there isn't a set node in progress currently</li>
+ <li>if the template is not found</li>
+ <li>if the name is not a valid template name</li>
+ </ul>
+ <p><em>Not every implementation can detect each condition</em></p>
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if an error occurs processing the event.
+ */
+ void addItemType( [in] TemplateIdentifier aItemType )
+ raises( MalformedDataException,
+ com::sun::star::lang::WrappedTargetException );
+
+
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/backend/XSchemaSupplier.idl b/offapi/com/sun/star/configuration/backend/XSchemaSupplier.idl
new file mode 100644
index 000000000..6c7319006
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/XSchemaSupplier.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_configuration_backend_XSchemaSupplier_idl__
+#define __com_sun_star_configuration_backend_XSchemaSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/configuration/backend/XSchema.idl>
+#include <com/sun/star/configuration/backend/BackendAccessException.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+module com { module sun { module star { module configuration { module backend {
+
+
+/**
+ provides access to configuration component schemas.
+
+ @since OOo 1.1.2
+*/
+published interface XSchemaSupplier : ::com::sun::star::uno::XInterface
+{
+
+ /**
+ Returns the schema information (component + templates)
+ for a particular component.
+
+ @param aComponent
+ component whose schema will be accessed
+
+ @returns
+ an object allowing access to the various parts of the schema,
+ `NULL` if the component doesn't exist.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the component identifier is invalid.
+
+ @throws com::sun::star::configuration::backend::BackendAccessException
+ if an error occurs while accessing the data.
+ */
+ XSchema getComponentSchema([in] string aComponent)
+ raises (BackendAccessException,
+ com::sun::star::lang::IllegalArgumentException) ;
+
+} ;
+
+
+} ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/backend/XSingleLayerStratum.idl b/offapi/com/sun/star/configuration/backend/XSingleLayerStratum.idl
new file mode 100644
index 000000000..6faa25a30
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/XSingleLayerStratum.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_configuration_backend_XSingleLayerStratum_idl__
+#define __com_sun_star_configuration_backend_XSingleLayerStratum_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/configuration/backend/XLayer.idl>
+#include <com/sun/star/configuration/backend/XUpdatableLayer.idl>
+#include <com/sun/star/configuration/backend/BackendAccessException.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/lang/NoSupportException.idl>
+
+
+module com { module sun { module star { module configuration { module backend {
+
+
+/**
+ Handles access to a stratum consisting of a single layer
+ in a configuration data repository
+
+ <p> The interface provides timestamp-checking capabilities
+ for efficient caching.
+ </p>
+
+ @see com::sun::star::util::XTimeStamped
+ @see com::sun::star::configuration::backend::XSchemaSupplier
+ @see com::sun::star::configuration::backend::XMultiLayerStratum
+
+ @since OOo 1.1.2
+*/
+published interface XSingleLayerStratum : ::com::sun::star::uno::XInterface
+{
+
+ /**
+ retrieves the layer data for a component, if newer than indicated.
+
+ <p> A timestamp can be provided, which is used to indicate
+ a point in time. The layer should be returned only if is modified
+ since that time.
+ </p>
+
+ @param aComponent
+ The name of the component to access.
+
+ @param aTimestamp
+ a timestamp for the layer.
+
+ <p> An empty timestamp indicates, that the layer should be
+ retrieved irrespective of its modification time.
+ </p>
+ <p> The format and meaning of a timestamp depends on
+ the implementation. Timestamps can be obtained using
+ com::sun::star::util::XTimeStamped::getTimestamp().
+ </p>
+
+ @returns
+ a Layer object providing access to the layer data,
+ `NULL` if the layer is newer than indicated by the timestamp.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the component identifier is invalid or
+ if the timestamp is invalid.
+
+ @throws com::sun::star::configuration::backend::BackendAccessException
+ if an error occurs while accessing the data.
+
+ @see com::sun::star::util::XTimeStamped
+ */
+ XLayer getLayer([in] string aComponent,
+ [in] string aTimestamp)
+ raises (BackendAccessException,
+ com::sun::star::lang::IllegalArgumentException) ;
+
+
+ /**
+ retrieves a writable representation of the layer for a component.
+
+ @param aComponent
+ The name of the component to access.
+
+ @return
+ an UpdatableLayer object providing
+ write access to the layer
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the component identifier is invalid.
+
+ @throws com::sun::star::lang::NoSupportException
+ if the implementation does not support updates.
+
+ @throws com::sun::star::configuration::backend::BackendAccessException
+ if an error occurs while accessing the data.
+ */
+ XUpdatableLayer getUpdatableLayer([in] string aComponent)
+ raises (BackendAccessException,
+ com::sun::star::lang::NoSupportException,
+ com::sun::star::lang::IllegalArgumentException) ;
+
+} ;
+
+
+} ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/backend/XUpdatableLayer.idl b/offapi/com/sun/star/configuration/backend/XUpdatableLayer.idl
new file mode 100644
index 000000000..dcc9e35ec
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/XUpdatableLayer.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_configuration_backend_XUpdatableLayer_idl__
+#define __com_sun_star_configuration_backend_XUpdatableLayer_idl__
+
+#include <com/sun/star/configuration/backend/XLayer.idl>
+#include <com/sun/star/lang/NullPointerException.idl>
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#include <com/sun/star/configuration/backend/MalformedDataException.idl>
+
+
+module com { module sun { module star { module configuration { module backend {
+
+
+/**
+ Provides access to a read-write layer of configuration data for
+ a given component and entity.
+
+ @since OOo 1.1.2
+ */
+published interface XUpdatableLayer : XLayer
+{
+
+ /**
+ Replaces the current layer with the layer given as input
+ parameter.
+
+ <p> After the replacement has been performed, reading the
+ layer will return the new content. Some implementations
+ may not support this, so after an update
+ XLayer::readData() may fail.
+ </p>
+
+ @param aNewLayer
+ replacement layer
+
+ @throws com::sun::star::lang::NullPointerException
+ if a `NULL` handler is passed.
+ @throws com::sun::star::lang::WrappedTargetException
+ if an error occurs during the replacement.
+ @throws com::sun::star::configuration::backend::MalformedDataException
+ if the layer contains invalid data.
+ */
+ void replaceWith([in] XLayer aNewLayer)
+ raises (com::sun::star::lang::NullPointerException,
+ com::sun::star::lang::WrappedTargetException,
+ MalformedDataException) ;
+
+} ;
+
+} ; } ; } ; } ; } ;
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/backend/XUpdateHandler.idl b/offapi/com/sun/star/configuration/backend/XUpdateHandler.idl
new file mode 100644
index 000000000..5bff16437
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/XUpdateHandler.idl
@@ -0,0 +1,633 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_configuration_backend_XUpdateHandler_idl__
+#define __com_sun_star_configuration_backend_XUpdateHandler_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/configuration/backend/TemplateIdentifier.idl>
+
+#include <com/sun/star/configuration/backend/MalformedDataException.idl>
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#include <com/sun/star/lang/IllegalAccessException.idl>
+
+
+module com { module sun { module star { module configuration { module backend {
+
+
+/** receives a description of a configuration update or layer
+ as a sequence of events.
+
+ @since OOo 1.1.2
+ */
+published interface XUpdateHandler: ::com::sun::star::uno::XInterface
+{
+
+ /** receives notification that an update or description is started.
+
+ @throws com::sun::star::configuration::backend::MalformedDataException
+ if the update already was started
+
+ @throws com::sun::star::lang::IllegalAccessException
+ if the target layer is read-only
+ <p><em>Some implementations can only detect this when executing
+ XUpdateHandler::endUpdate()</em>
+ </p>
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if an error occurs processing the event.
+ */
+ void startUpdate( )
+ raises( MalformedDataException,
+ com::sun::star::lang::IllegalAccessException,
+ com::sun::star::lang::WrappedTargetException );
+
+ /** receives notification that the current update description is complete.
+
+ <p> Must match a previous call to XUpdateHandler::startUpdate().
+ </p>
+
+ @throws com::sun::star::configuration::backend::MalformedDataException
+ <ul>
+ <li>if no update is started at all</li>
+ <li>if invalid data is detected in the update</li>
+ <li>if there is an unfinished subnode in progress</li>
+ <li>if the update tries to change read-only data</li>
+ </ul>
+ <p><em>Not every implementation can detect each condition</em></p>
+
+ @throws com::sun::star::lang::IllegalAccessException
+ if the target layer is read-only
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if an error occurs processing the event.
+ */
+ void endUpdate( )
+ raises( MalformedDataException,
+ com::sun::star::lang::IllegalAccessException,
+ com::sun::star::lang::WrappedTargetException );
+
+ /** receives notification that a modification of a node is started.
+
+ <p> Subsequent calls describe changes to properties and items or
+ members of the node until a matching call to
+ XUpdateHandler::endNode() is encountered.
+ </p>
+
+ @param aName
+ specifies the name of the node.
+
+ @param aAttributes
+ specifies attribute values to be applied to the node in the
+ current layer.
+
+ <p> The value is a combination of
+ NodeAttribute flags.
+ </p>
+ <p> Only attributes which are selected in aAttributeMask
+ are changed.
+ </p>
+
+ @param aAttributeMask
+ specifies which attributes should be changed for the node.
+
+ <p> The value is a combination of
+ NodeAttribute flags.
+ </p>
+
+ @param bReset
+ if `TRUE`, specifies that the node should be reset to its default
+ state as given by lower layers and the schema or template prior
+ to applying the changes.
+
+ @throws com::sun::star::configuration::backend::MalformedDataException
+ <ul>
+ <li>if there isn't an update in progress at all</li>
+ <li>if a node is not valid in this place</li>
+ <li>if there already was a change to that node</li>
+ <li>if there is no node with that name</li>
+ <li>if the node is read-only</li>
+ <li>if the name is not a valid node name</li>
+ <li>if the attributes or mask are not valid for the node</li>
+ </ul>
+ <p><em>Not every implementation can detect each condition</em></p>
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if an error occurs processing the event.
+
+ @see com::sun::star::configuration::backend::NodeAttribute
+ */
+ void modifyNode ( [in] string aName,
+ [in] short aAttributes,
+ [in] short aAttributeMask,
+ [in] boolean bReset )
+ raises( MalformedDataException,
+ com::sun::star::lang::WrappedTargetException );
+
+ /** receives notification that a node is started as a new item.
+
+ <p> The current node must be a set and
+ a preexisting item (if any) must be removable.
+ </p>
+ <p> The new item will be created from the default template
+ of the set.
+ </p>
+ <p> Subsequent calls describe the difference from the template
+ of properties, items or members of the node until a matching call
+ to XUpdateHandler::endNode() is encountered.
+ </p>
+
+ @param aName
+ specifies the name of the new item.
+
+ @param aAttributes
+ specifies attribute values to be applied to the new node.
+
+ <p> The value is a combination of
+ NodeAttribute flags. Note that
+ NodeAttribute::FUSE has an impact on the
+ semantics of this method.
+ </p>
+
+ @throws com::sun::star::configuration::backend::MalformedDataException
+ <ul>
+ <li>if there isn't a set node in progress currently</li>
+ <li>if there already was a change to an item of that name</li>
+ <li>if the template for the new node is not found</li>
+ <li>if an item of that name exists and is not removable</li>
+ <li>if the name is not a valid item name</li>
+ <li>if the attributes are not valid for the node</li>
+ </ul>
+ <p><em>Not every implementation can detect each condition</em></p>
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if an error occurs processing the event.
+
+ @see com::sun::star::configuration::backend::NodeAttribute
+ */
+ void addOrReplaceNode ( [in] string aName,
+ [in] short aAttributes )
+ raises( MalformedDataException,
+ com::sun::star::lang::WrappedTargetException );
+
+ /** receives notification that a node is started as a new item
+ based on a particular template.
+
+ <p> The current node must be a set and
+ a preexisting item (if any) must be removable.
+ </p>
+ <p> Subsequent calls describe the difference from the template
+ of properties or members of the node until a matching call
+ to XUpdateHandler::endNode() is encountered.
+ </p>
+
+ @param aName
+ specifies the name of the item.
+
+ @param aTemplate
+ specifies the template to use for the new node
+
+ @param aAttributes
+ specifies attribute values to be applied to the new node.
+
+ <p> The value is a combination of
+ NodeAttribute flags. Note that
+ NodeAttribute::FUSE has an impact on the
+ semantics of this method.
+ </p>
+
+ @throws com::sun::star::configuration::backend::MalformedDataException
+ <ul>
+ <li>if there isn't a set node in progress currently</li>
+ <li>if there already was a change to an item of that name</li>
+ <li>if the template for the new node is not found</li>
+ <li>if an item of that name exists and is not removable</li>
+ <li>if the name is not a valid item name</li>
+ <li>if the template is not a valid item type for the containing set</li>
+ <li>if the attributes are not valid for the node</li>
+ </ul>
+ <p><em>Not every implementation can detect each condition</em></p>
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if an error occurs processing the event.
+
+ @see com::sun::star::configuration::backend::NodeAttribute
+ */
+ void addOrReplaceNodeFromTemplate( [in] string aName,
+ [in] short aAttributes,
+ [in] TemplateIdentifier aTemplate )
+ raises( MalformedDataException,
+ com::sun::star::lang::WrappedTargetException );
+
+ /** receives notification that a node modification is complete.
+
+ <p> Must match the last open call to
+ XUpdateHandler::modifyNode(),
+ XUpdateHandler::addOrReplaceNode() or
+ XUpdateHandler::addOrReplaceNodeFromTemplate().
+ </p>
+
+ @throws com::sun::star::configuration::backend::MalformedDataException
+ <ul>
+ <li>if invalid data is detected in the node</li>
+ <li>if no node is started at all</li>
+ </ul>
+ <p><em>Not every implementation can detect each condition</em></p>
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if an error occurs processing the event.
+ */
+ void endNode( )
+ raises( MalformedDataException,
+ com::sun::star::lang::WrappedTargetException );
+
+ /** receives notification that an item is to be dropped from a set.
+
+ <p> The current node must be a set and
+ the item must be removable.
+ </p>
+
+ @param aName
+ specifies the name of the node.
+
+ @throws com::sun::star::configuration::backend::MalformedDataException
+ <ul>
+ <li>if there isn't a set node in progress currently</li>
+ <li>if there already was a change to a node of that name</li>
+ <li>if there is no item with that name</li>
+ <li>if the item is not removable</li>
+ <li>if the name is not a valid node name</li>
+ </ul>
+ <p><em>Not every implementation can detect each condition</em></p>
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if an error occurs processing the event.
+ */
+ void removeNode( [in] string aName )
+ raises( MalformedDataException,
+ com::sun::star::lang::WrappedTargetException );
+
+ /** receives notification that modification of an existing property is
+ started.
+
+ <p> Subsequent calls describe changes to the value(s)
+ of the property until a matching call to
+ XUpdateHandler::endProperty() is encountered.
+ </p>
+
+ @param aName
+ specifies the name of the property.
+
+ @param aAttributes
+ specifies new attributes of the property.
+
+ <p> The value is a combination of
+ NodeAttribute flags.
+ </p>
+ <p> Only attributes which are selected in aAttributeMask are changed.
+ </p>
+ <p> NodeAttribute::MANDATORY need not be set
+ and can't be removed, as dynamic properties always are mandatory
+ in subsequent layers.
+ </p>
+
+ @param aAttributeMask
+ specifies which attributes should be changed for the property.
+
+ <p> The value is a combination of
+ NodeAttribute flags.
+ </p>
+
+ @param aType
+ specifies the type of the property.
+
+ <p> A `VOID` type can be used to signify that
+ the type is unknown and should not be recorded.
+ </p>
+
+ @throws com::sun::star::configuration::backend::MalformedDataException
+ <ul>
+ <li>if there isn't a group or extensible node in progress currently</li>
+ <li>if there already was a change to a property of that name</li>
+ <li>if there is no property with that name</li>
+ <li>if the property is read-only</li>
+ <li>if the name is not a valid property name</li>
+ <li>if the attributes are not valid for the property</li>
+ </ul>
+ <p><em>Not every implementation can detect each condition</em></p>
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if an error occurs processing the event.
+
+ @see com::sun::star::configuration::backend::NodeAttribute
+ */
+ void modifyProperty( [in] string aName,
+ [in] short aAttributes,
+ [in] short aAttributeMask,
+ [in] type aType )
+ raises( MalformedDataException,
+ com::sun::star::lang::WrappedTargetException );
+
+ /** receives notification about a change to the value of
+ the current property.
+
+ @param aValue
+ specifies the new value of the property.
+
+ <p> The value must match the type of the existing property.
+ If the property does not have the
+ SchemaAttribute::REQUIRED flag set,
+ the value can be `VOID`.
+ </p>
+
+ @throws com::sun::star::configuration::backend::MalformedDataException
+ <ul>
+ <li>if there isn't a property modification in progress currently</li>
+ <li>if there already was a change to this value</li>
+ <li>if the type of the value is not an allowed type</li>
+ <li>if the value is not valid for the property</li>
+ </ul>
+ <p><em>Not every implementation can detect each condition</em></p>
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if an error occurs processing the event.
+
+ @see com::sun::star::configuration::backend::NodeAttribute
+ */
+ void setPropertyValue( [in] any aValue )
+ raises( MalformedDataException,
+ com::sun::star::lang::WrappedTargetException );
+
+ /** receives notification about a change to the value of
+ the current property for a specific locale.
+
+ @param aValue
+ specifies the new value of the property for the given locale.
+
+ <p> The value must match the type of the existing property.
+ If the property does not have the
+ SchemaAttribute::REQUIRED flag set,
+ the value can be `VOID`.
+ </p>
+
+ @param aLocale
+ specifies the locale that the new value applies to.
+
+ @throws com::sun::star::configuration::backend::MalformedDataException
+ <ul>
+ <li>if there isn't a property modification in progress currently</li>
+ <li>if the property is not localizable</li>
+ <li>if there already was a change to this value</li>
+ <li>if the type of the value is not an allowed type</li>
+ <li>if the value is not valid for the property</li>
+ <li>if the locale is not a valid locale name</li>
+ </ul>
+ <p><em>Not every implementation can detect each condition</em></p>
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if an error occurs processing the event.
+
+ @see com::sun::star::configuration::backend::NodeAttribute
+ */
+ void setPropertyValueForLocale( [in] any aValue, [in] string aLocale )
+ raises( MalformedDataException,
+ com::sun::star::lang::WrappedTargetException );
+
+ /** receives notification that the value of the current property
+ should be reset to its default.
+
+ @throws com::sun::star::configuration::backend::MalformedDataException
+ <ul>
+ <li>if there isn't a property modification in progress currently</li>
+ <li>if there already was a change to this value</li>
+ </ul>
+ <p><em>Not every implementation can detect each condition</em></p>
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if an error occurs processing the event.
+
+ @see com::sun::star::configuration::backend::NodeAttribute
+ */
+ void resetPropertyValue( )
+ raises( MalformedDataException,
+ com::sun::star::lang::WrappedTargetException );
+
+ /** receives notification that the value of the current property
+ for a specific locale should be reset to its default.
+
+ @param aLocale
+ specifies the locale the change applies to.
+
+ @throws com::sun::star::configuration::backend::MalformedDataException
+ <ul>
+ <li>if there isn't a property modification in progress currently</li>
+ <li>if the property is not localizable</li>
+ <li>if there already was a change to this value</li>
+ <li>if the locale is not a valid locale name</li>
+ </ul>
+ <p><em>Not every implementation can detect each condition</em></p>
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if an error occurs processing the event.
+
+ @see com::sun::star::configuration::backend::NodeAttribute
+ */
+ void resetPropertyValueForLocale( [in] string aLocale )
+ raises( MalformedDataException,
+ com::sun::star::lang::WrappedTargetException );
+
+ /** receives notification that a property modification is complete.
+
+ <p> Must match the last open call to
+ XUpdateHandler::modifyProperty().
+ </p>
+
+ @throws com::sun::star::configuration::backend::MalformedDataException
+ <ul>
+ <li>if invalid data is detected in the property</li>
+ <li>if no property is started at all</li>
+ </ul>
+ <p><em>Not every implementation can detect each condition</em></p>
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if an error occurs processing the event.
+ */
+ void endProperty( )
+ raises( MalformedDataException,
+ com::sun::star::lang::WrappedTargetException );
+
+ /** receives notification that a property is reset to its default state.
+
+ @param aName
+ specifies the name of the property.
+
+ @throws com::sun::star::configuration::backend::MalformedDataException
+ <ul>
+ <li>if there isn't a group or extensible node in progress currently</li>
+ <li>if there already was a change to a property of that name</li>
+ <li>if there is no property with that name, or if the property
+ has no default</li>
+ <li>if the property is read-only</li>
+ <li>if the name is not a valid property name</li>
+ </ul>
+ <p><em>Not every implementation can detect each condition</em></p>
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if an error occurs processing the event.
+
+ @see com::sun::star::configuration::backend::NodeAttribute
+ */
+ void resetProperty( [in] string aName )
+ raises( MalformedDataException,
+ com::sun::star::lang::WrappedTargetException );
+
+ /** receives notification that a property having a value of `VOID`
+ is added to the current node.
+
+ <p> The current node must be extensible and
+ a preexisting property (if any) must be
+ removable in this layer.
+ </p>
+
+ @param aName
+ specifies the name of the new property.
+
+ @param aAttributes
+ specifies the attributes of the new property.
+
+ <p> The value is a combination of
+ NodeAttribute flags and may also contain the
+ SchemaAttribute::REQUIRED flag.
+ </p>
+ </p>
+ <p> NodeAttribute::MANDATORY need not be set,
+ as dynamic properties always are mandatory
+ in subsequent layers.
+ </p>
+
+ @param aType
+ specifies the type of the new property.
+
+ @throws com::sun::star::configuration::backend::MalformedDataException
+ <ul>
+ <li>if there isn't a group or extensible node in progress currently</li>
+ <li>if there already was a change to a property of that name</li>
+ <li>if a property of that name exists and is not removable</li>
+ <li>if the specified type is not allowed</li>
+ <li>if the name is not a valid property name</li>
+ <li>if the attributes are not valid for the property</li>
+ </ul>
+ <p><em>Not every implementation can detect each condition</em></p>
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if an error occurs processing the event.
+
+ @see com::sun::star::configuration::backend::SchemaAttribute
+ */
+ void addOrReplaceProperty( [in] string aName,
+ [in] short aAttributes,
+ [in] type aType )
+ raises( MalformedDataException,
+ com::sun::star::lang::WrappedTargetException );
+
+ /** receives notification that a property having a non-`NULL` value
+ is added to the current node.
+
+ <p> The current node must be extensible and
+ a preexisting property (if any) must be
+ removable in this layer.
+ </p>
+
+ @param aName
+ specifies the name of the new property.
+
+ @param aAttributes
+ specifies the attributes of the new property.
+
+ <p> The value is a combination of
+ NodeAttribute flags and may also contain the
+ SchemaAttribute::REQUIRED flag.
+ </p>
+ </p>
+ <p> NodeAttribute::MANDATORY need not be set,
+ as dynamic properties always are mandatory
+ in subsequent layers.
+ </p>
+
+ @param aValue
+ specifies the value of the new property.
+
+ <p> The value also determines the type.
+ Therefore the value must not be `VOID`.
+ </p>
+
+ @throws com::sun::star::configuration::backend::MalformedDataException
+ <ul>
+ <li>if there isn't a group or extensible node in progress currently</li>
+ <li>if there already was a change to a property of that name</li>
+ <li>if a property of that name exists and is not removable</li>
+ <li>if the type of the value is not an allowed type,
+ or if the value is `VOID`</li>
+ <li>if the name is not a valid property name</li>
+ <li>if the attributes are not valid for the property</li>
+ </ul>
+ <p><em>Not every implementation can detect each condition</em></p>
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if an error occurs processing the event.
+
+ @see com::sun::star::configuration::backend::SchemaAttribute
+ */
+ void addOrReplacePropertyWithValue( [in] string aName,
+ [in] short aAttributes,
+ [in] any aValue )
+ raises( MalformedDataException,
+ com::sun::star::lang::WrappedTargetException );
+
+ /** receives notification that a property is dropped from the current node.
+
+ <p>The current node must be extensible and the property removable.</p>
+
+ @param aName
+ specifies the name of the property.
+
+ @throws com::sun::star::configuration::backend::MalformedDataException
+ <ul>
+ <li>if there isn't a group or extensible node in progress currently</li>
+ <li>if there is no property with that name</li>
+ <li>if the property is not removable</li>
+ <li>if the name is not a valid node name</li>
+ </ul>
+ <p><em>Not every implementation can detect each condition</em></p>
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if an error occurs processing the event.
+ */
+ void removeProperty( [in] string aName )
+ raises( MalformedDataException,
+ com::sun::star::lang::WrappedTargetException );
+
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/backend/XVersionedSchemaSupplier.idl b/offapi/com/sun/star/configuration/backend/XVersionedSchemaSupplier.idl
new file mode 100644
index 000000000..9d8e83167
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/XVersionedSchemaSupplier.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_configuration_backend_XVersionedSchemaSupplier_idl__
+#define __com_sun_star_configuration_backend_XVersionedSchemaSupplier_idl__
+
+#include <com/sun/star/configuration/backend/XSchemaSupplier.idl>
+#include <com/sun/star/configuration/backend/BackendAccessException.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+module com { module sun { module star { module configuration { module backend {
+
+
+/**
+ provides access to versioned configuration component schemas.
+
+ @since OOo 2.0
+*/
+interface XVersionedSchemaSupplier : XSchemaSupplier
+{
+
+ /**
+ Returns the schema version for a particular component.
+
+ @param aComponent
+ component whose schema version will be determined
+
+ @returns
+ a `string` that identifies the schema version for
+ the given component.
+
+ <p> The format of the version string is arbitrary. No meaning
+ should be attached to it, unless an implementing service
+ defines one. If no version can be determined, an empty
+ `string` may be returned.
+ </p>
+
+ <p> Clients may assume that all instances of a schema with the
+ same version are identical. The converse is not true.
+ In particular an implementation may return the same version
+ string for all schemas it supplies (i.e. return a version for
+ the complete schema, including all components)
+ </p>
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the component identifier is invalid.
+
+ @throws com::sun::star::configuration::backend::BackendAccessException
+ if an error occurs while accessing the version data.
+ */
+ string getSchemaVersion([in] string aComponent)
+ raises (BackendAccessException,
+ com::sun::star::lang::IllegalArgumentException) ;
+
+} ;
+
+
+} ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/backend/xml/LayerParser.idl b/offapi/com/sun/star/configuration/backend/xml/LayerParser.idl
new file mode 100644
index 000000000..53a90edcd
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/xml/LayerParser.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_configuration_backend_xml_LayerParser_idl__
+#define __com_sun_star_configuration_backend_xml_LayerParser_idl__
+
+#include <com/sun/star/configuration/backend/XLayer.idl>
+#include <com/sun/star/io/XActiveDataSink.idl>
+#include <com/sun/star/lang/XInitialization.idl>
+
+
+module com { module sun { module star { module configuration { module backend {
+module xml {
+
+
+/**
+ represents a configuration data layer that is stored in a stream in
+ OOR Update XML format.
+
+ <p> The configuration layer XML from a given stream is parsed and fed to a
+ com::sun::star::configuration::backend::XLayerHandler.
+ </p>
+
+ @see com::sun::star::configuration::backend::xml::SchemaParser
+ Service that represents a configuration schema stored in XML.
+
+ @see com::sun::star::configuration::backend::xml::LayerWriter
+ Service that writes OOR Update XML for data described via
+ com::sun::star::configuration::backend::XLayerHandler.
+
+ @since OOo 1.1.2
+*/
+published service LayerParser
+{
+
+ /** provides access to the parsed layer data.
+ */
+ interface com::sun::star::configuration::backend::XLayer ;
+
+
+ /** provides access to the source XML stream.
+ */
+ interface com::sun::star::io::XActiveDataSink ;
+
+
+ /** allows initializing the source stream.
+
+ <p> The source can be passed
+ as a com::sun::star::io::XInputStream or
+ as a com::sun::star::xml::sax::InputSource.
+ </p>
+ */
+ interface com::sun::star::lang::XInitialization ;
+
+} ;
+
+} ;
+} ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/backend/xml/LayerWriter.idl b/offapi/com/sun/star/configuration/backend/xml/LayerWriter.idl
new file mode 100644
index 000000000..6e3a30c08
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/xml/LayerWriter.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_configuration_backend_xml_LayerWriter_idl__
+#define __com_sun_star_configuration_backend_xml_LayerWriter_idl__
+
+#include <com/sun/star/lang/XInitialization.idl>
+#include <com/sun/star/io/XActiveDataSource.idl>
+#include <com/sun/star/configuration/backend/XLayerHandler.idl>
+
+
+module com { module sun { module star { module configuration { module backend {
+module xml {
+
+
+/**
+ can be used to parse a stream of configuration layer XML.
+
+ <p> The configuration layer data described to a
+ com::sun::star::configuration::backend::XLayerHandler
+ is written to a stream as OOR Update XML.
+ </p>
+
+ @see com::sun::star::configuration::backend::xml::LayerParser
+ Service that parses configuration layer XML.
+
+ @since OOo 1.1.2
+*/
+published service LayerWriter
+{
+
+ /** accepts events describing the layer data.
+ */
+ interface com::sun::star::configuration::backend::XLayerHandler ;
+
+
+ /** provides access to the target stream.
+ */
+ interface com::sun::star::io::XActiveDataSource ;
+
+
+ /** allows initializing target stream.
+
+ <p> The target can be passed
+ as a com::sun::star::io::XOutputStream.
+ </p>
+ */
+ interface com::sun::star::lang::XInitialization ;
+
+} ;
+
+} ;
+} ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/backend/xml/SchemaParser.idl b/offapi/com/sun/star/configuration/backend/xml/SchemaParser.idl
new file mode 100644
index 000000000..e8f600425
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/xml/SchemaParser.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_configuration_backend_xml_SchemaParser_idl__
+#define __com_sun_star_configuration_backend_xml_SchemaParser_idl__
+
+#include <com/sun/star/configuration/backend/XSchema.idl>
+#include <com/sun/star/io/XActiveDataSink.idl>
+#include <com/sun/star/lang/XInitialization.idl>
+
+
+module com { module sun { module star { module configuration { module backend {
+module xml {
+
+
+/** represents a configuration schema that is stored in a stream in
+ OOR Schema XML format.
+
+ <p> The configuration schema XML from a given stream is parsed and fed to a
+ com::sun::star::configuration::backend::XSchemaHandler.
+ </p>
+
+ @see com::sun::star::configuration::backend::xml::LayerParser
+ Service that parses configuration layer XML.
+
+ @since OOo 1.1.2
+*/
+published service SchemaParser
+{
+
+ /** provides access to the parsed schema data.
+ */
+ interface com::sun::star::configuration::backend::XSchema ;
+
+
+ /** provides access to the source XML stream.
+ */
+ interface com::sun::star::io::XActiveDataSink ;
+
+
+ /** allows initializing the source stream.
+
+ <p> The source can be passed
+ as a com::sun::star::io::XInputStream or
+ as a com::sun::star::xml::sax::InputSource.
+ </p>
+ */
+ interface com::sun::star::lang::XInitialization ;
+
+} ;
+
+} ;
+} ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/bootstrap/BootstrapContext.idl b/offapi/com/sun/star/configuration/bootstrap/BootstrapContext.idl
new file mode 100644
index 000000000..1e488492f
--- /dev/null
+++ b/offapi/com/sun/star/configuration/bootstrap/BootstrapContext.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_configuration_bootstrap_BootstrapContext_idl__
+#define __com_sun_star_configuration_bootstrap_BootstrapContext_idl__
+
+#include <com/sun/star/uno/XComponentContext.idl>
+
+
+module com { module sun { module star { module configuration { module bootstrap {
+
+
+/**
+ provides access to a component context that is enhanced with
+ bootstrap parameters for configuration services from the
+ associated metaconfiguration mechanism.
+
+ <p> The contained settings are used to initialize the
+ com::sun::star::configuration::DefaultProvider and
+ com::sun::star::configuration::backend::DefaultBackend of the
+ component context.
+ </p>
+ <p> The implementation is usually available as a singleton in the context
+ that it wraps...
+ </p>
+
+ @since OOo 1.1.2
+
+ @deprecated
+*/
+published service BootstrapContext
+{
+
+ /**
+ provides access to metaconfiguration data.
+
+ <p>Some values are retrieved from external metaconfiguration,
+ if they are not overridden in the wrapped context.
+ </p>
+ */
+ interface com::sun::star::uno::XComponentContext ;
+
+} ;
+
+
+} ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/configuration/theDefaultProvider.idl b/offapi/com/sun/star/configuration/theDefaultProvider.idl
new file mode 100644
index 000000000..16e280ee3
--- /dev/null
+++ b/offapi/com/sun/star/configuration/theDefaultProvider.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_CONFIGURATION_THEDEFAULTPROVIDER_IDL
+#define _COM_SUN_STAR_CONFIGURATION_THEDEFAULTPROVIDER_IDL
+
+module com { module sun { module star { module lang {
+ published interface XMultiServiceFactory;
+}; }; }; };
+
+module com { module sun { module star { module configuration {
+
+/**
+ The default ConfigurationProvider.
+
+ <p>This singleton somewhat arbitrarily makes available the
+ com::sun::star::lang::XMultiServiceFactory interface of
+ the (old-style) DefaultProvider service, as it is the most
+ frequently used one. See the DefaultProvider service for
+ details.</p>
+
+ @since OOo 1.1.2
+*/
+published singleton theDefaultProvider:
+ com::sun::star::lang::XMultiServiceFactory;
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/cui/AsynchronousColorPicker.idl b/offapi/com/sun/star/cui/AsynchronousColorPicker.idl
new file mode 100644
index 000000000..1fb8f195c
--- /dev/null
+++ b/offapi/com/sun/star/cui/AsynchronousColorPicker.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_cui_AsynchronousColorPicker_idl__
+#define __com_sun_star_cui_AsynchronousColorPicker_idl__
+
+#include <com/sun/star/ui/dialogs/XAsynchronousExecutableDialog.idl>
+#include <com/sun/star/awt/XWindow.idl>
+
+
+module com { module sun { module star { module cui {
+
+/**
+ @since LibreOffice 7.3
+ */
+service AsynchronousColorPicker : com::sun::star::ui::dialogs::XAsynchronousExecutableDialog
+{
+ createWithParent([in] com::sun::star::awt::XWindow Parent);
+};
+
+}; }; }; };
+
+#endif
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/cui/ColorPicker.idl b/offapi/com/sun/star/cui/ColorPicker.idl
new file mode 100644
index 000000000..215b3f7b5
--- /dev/null
+++ b/offapi/com/sun/star/cui/ColorPicker.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_cui_ColorPicker_idl__
+#define __com_sun_star_cui_ColorPicker_idl__
+
+#include <com/sun/star/ui/dialogs/XExecutableDialog.idl>
+#include <com/sun/star/awt/XWindow.idl>
+
+
+module com { module sun { module star { module cui {
+
+/**
+ @since LibreOffice 4.1
+ */
+service ColorPicker : com::sun::star::ui::dialogs::XExecutableDialog
+{
+ createWithParent([in] com::sun::star::awt::XWindow Parent);
+};
+
+
+}; }; }; };
+
+#endif
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/datatransfer/DataFlavor.idl b/offapi/com/sun/star/datatransfer/DataFlavor.idl
new file mode 100644
index 000000000..da4a7d77a
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/DataFlavor.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_datatransfer_DataFlavor_idl__
+#define __com_sun_star_datatransfer_DataFlavor_idl__
+
+
+module com { module sun { module star { module datatransfer {
+
+/** Each instance represents the concept of a data format as it would
+ appear on a clipboard, or during drag and drop.
+*/
+
+published struct DataFlavor
+{
+ /** The MIME content-type (type/subtype) string describing the data format
+ of the object to transfer. MimeType must conform to <a href="ftp://ftp.isi.edu/in-notes/rfc2045.txt">Rfc2045</a> and
+ <a href="ftp://ftp.isi.edu/in-notes/rfc2046.txt">Rfc2046</a>)
+ */
+ string MimeType;
+
+ /** A human presentable name for the data format.
+ */
+ string HumanPresentableName;
+
+ /** The type of the object to transfer, for example, XOutputStream.
+ */
+ type DataType;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/datatransfer/DataFormatTranslator.idl b/offapi/com/sun/star/datatransfer/DataFormatTranslator.idl
new file mode 100644
index 000000000..33230edef
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/DataFormatTranslator.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_datatransfer_DataFormatTranslator_idl__
+#define __com_sun_star_datatransfer_DataFormatTranslator_idl__
+
+
+module com { module sun { module star { module datatransfer {
+
+
+ published interface XDataFormatTranslator;
+
+/** Different platforms use different types to describe data formats available
+ during data exchange operations like clipboard or drag&drop.
+ Implementations of this service do convert system dependent data types to a
+ DataFlavor and vice versa.
+
+ @see com::sun::star::datatransfer::XDataFormatTranslator
+ @see com::sun::star::datatransfer::DataFlavor
+
+ Converts a DataFlavor to system data types and vice versa.
+*/
+published service DataFormatTranslator : XDataFormatTranslator;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/datatransfer/MimeContentTypeFactory.idl b/offapi/com/sun/star/datatransfer/MimeContentTypeFactory.idl
new file mode 100644
index 000000000..8bc8a6cac
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/MimeContentTypeFactory.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_datatransfer_MimeContentTypeFactory_idl__
+#define __com_sun_star_datatransfer_MimeContentTypeFactory_idl__
+
+
+module com { module sun { module star { module datatransfer {
+
+
+ published interface XMimeContentTypeFactory;
+
+/** Used to create an instance that implement the interface
+ XMimeContentType from a string
+ representation of such a MIME content-type that conforms to
+ <a href="ftp://ftp.isi.edu/in-notes/rfc2045.txt">Rfc2045</a> and
+ <a href="ftp://ftp.isi.edu/in-notes/rfc2046.txt">Rfc2046</a>.
+
+ @see com::sun::star::datatransfer::XMimeContentTypeFactory
+*/
+published service MimeContentTypeFactory : XMimeContentTypeFactory;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/datatransfer/UnsupportedFlavorException.idl b/offapi/com/sun/star/datatransfer/UnsupportedFlavorException.idl
new file mode 100644
index 000000000..4e36b4789
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/UnsupportedFlavorException.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_datatransfer_UnsupportedFlavorException_idl__
+#define __com_sun_star_datatransfer_UnsupportedFlavorException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+module com { module sun { module star { module datatransfer {
+
+/** Exception will be thrown if there is a request for data in a
+ DataFlavor that is not supported by a data source.
+
+ @see com::sun::star::datatransfer::DataFlavor
+ @see com::sun::star::datatransfer::XTransferable
+*/
+published exception UnsupportedFlavorException: com::sun::star::uno::Exception
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/datatransfer/XDataFormatTranslator.idl b/offapi/com/sun/star/datatransfer/XDataFormatTranslator.idl
new file mode 100644
index 000000000..6e0cbc1d6
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/XDataFormatTranslator.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_datatransfer_XDataFormatTranslator_idl__
+#define __com_sun_star_datatransfer_XDataFormatTranslator_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/datatransfer/DataFlavor.idl>
+
+module com { module sun { module star { module datatransfer {
+
+/** Interface to be implemented by objects used to translate a DataFlavor to
+ a system dependent data transfer type and vice versa.
+
+ <p>Different platforms use different types to describe data formats available
+ during data exchange operations like clipboard or drag&drop. Windows for instance
+ uses integer values to describe an available clipboard or drag&drop format, Unix
+ X11 uses so called Atoms etc.</p>
+*/
+
+published interface XDataFormatTranslator : com::sun::star::uno::XInterface
+{
+ /** Converts a DataFlavor to system dependent data type.
+
+ @param aDataFlavor
+ Describes the format for which a system dependent data types is requested.
+
+ @returns
+ A system dependent data transfer type for the given DataFlavor
+ if there is one available.
+ <p>If the is no system dependent data type for a given DataFlavor
+ the returned any is empty.</p>
+ */
+ any getSystemDataTypeFromDataFlavor( [in] DataFlavor aDataFlavor );
+
+ /** Converts a system dependent data type to a DataFlavor.
+
+ @param aSysDataType
+ A system dependent data type. If aSysDataType is empty so is the returned DataFlavor.
+
+ @returns
+ A DataFlavor for the given system dependent data transfer type.
+ <p>If there is no appropriate mapping for a system dependent data type, the returned DataFlavor will be empty.</p>
+ */
+ DataFlavor getDataFlavorFromSystemDataType( [in] any aSysDataType );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/datatransfer/XMimeContentType.idl b/offapi/com/sun/star/datatransfer/XMimeContentType.idl
new file mode 100644
index 000000000..f7123876d
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/XMimeContentType.idl
@@ -0,0 +1,96 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+#ifndef __com_sun_star_datatransfer_XMimeContentType_idl__
+#define __com_sun_star_datatransfer_XMimeContentType_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/container/NoSuchElementException.idl>
+
+module com { module sun { module star { module datatransfer {
+
+/** An implementation of this interface represents a MIME content-type that
+ conforms to <a href="ftp://ftp.isi.edu/in-notes/rfc2045.txt">Rfc2045</a> and
+ <a href="ftp://ftp.isi.edu/in-notes/rfc2046.txt">Rfc2046</a>.
+ Instances that implement this interface could be created using the
+ interface XMimeContentTypeFactory.
+*/
+
+published interface XMimeContentType : com::sun::star::uno::XInterface
+{
+ /** To get the media type of the MIME content-type.
+
+ @returns
+ The media type of the MIME content-type.
+ */
+ string getMediaType( );
+
+ /** To get the media subtype of the MIME content-type.
+
+ @returns
+ The media subtype of the MIME content-type.
+ */
+ string getMediaSubtype( );
+
+ /** To get the full media/submedia type of the MIME content-type.
+
+ @returns
+ The full media/submedia type of the MIME content-type.
+ */
+ string getFullMediaType( );
+
+ /** To get a list of parameters that the MIME content-type contains.
+
+ @returns
+ A list of the names of all parameters of the MIME content-type.
+ */
+ sequence< string > getParameters( );
+
+ /** To query if a specific parameter is supported.
+
+ @param aName
+ The name of the parameter to query for.
+
+ @returns
+ A value of `TRUE` if the MIME content-type has the specified parameter.
+ <p>A value of `FALSE` if the MIME content-type has not the specified parameter.</p>
+ */
+ boolean hasParameter( [in] string aName );
+
+ /** To get the value of a specified parameter.
+
+ @param aName
+ The name of the parameter for which the value is requested.
+
+ @returns
+ The value of the specified parameter.
+
+ @throws com::sun::star::container::NoSuchElementException
+ if the specified parameter doesn't exist.
+ */
+ string getParameterValue( [in] string aName )
+ raises ( com::sun::star::container::NoSuchElementException );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/datatransfer/XMimeContentTypeFactory.idl b/offapi/com/sun/star/datatransfer/XMimeContentTypeFactory.idl
new file mode 100644
index 000000000..f77d9d407
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/XMimeContentTypeFactory.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_datatransfer_XMimeContentTypeFactory_idl__
+#define __com_sun_star_datatransfer_XMimeContentTypeFactory_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/datatransfer/XMimeContentType.idl>
+
+module com { module sun { module star { module datatransfer {
+
+/** Implementations of this interface do create a
+ com::sun::star::datatransfer::XMimeContentType from
+ a given string that represents a MIME content-type
+ (see <a href="ftp://ftp.isi.edu/in-notes/rfc2045.txt">Rfc2045</a> and
+ <a href="ftp://ftp.isi.edu/in-notes/rfc2046.txt">Rfc2046</a>).
+
+*/
+published interface XMimeContentTypeFactory : com::sun::star::uno::XInterface
+{
+ /** Creates an object that implements XMimeContentType.
+
+ @param aContentType
+ A string that represents a MIME content-type as specified in
+ <a href="ftp://ftp.isi.edu/in-notes/rfc2045.txt">Rfc2045</a> and
+ <a href="ftp://ftp.isi.edu/in-notes/rfc2046.txt">Rfc2046</a>.
+
+ @returns
+ An object that implements XMimeContentType.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the string does not conform to
+ <a href="ftp://ftp.isi.edu/in-notes/rfc2045.txt">Rfc2045</a> and
+ <a href="ftp://ftp.isi.edu/in-notes/rfc2046.txt">Rfc2046</a>;
+ <p><strong>Exception:</strong> Quoted parameter values may contain spaces.</p>
+
+ @see com::sun::star::datatransfer::XMimeContentType
+ */
+ com::sun::star::datatransfer::XMimeContentType createMimeContentType( [in] string aContentType )
+ raises ( com::sun::star::lang::IllegalArgumentException );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/datatransfer/XSystemTransferable.idl b/offapi/com/sun/star/datatransfer/XSystemTransferable.idl
new file mode 100644
index 000000000..1c976e7f8
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/XSystemTransferable.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_datatransfer_XSystemTransferable_idl__
+#define __com_sun_star_datatransfer_XSystemTransferable_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module datatransfer {
+
+/** Interface to be implemented by objects used to provide system dependent data
+ for a transfer operation. Those objects usually also implement XTransferable.
+*/
+
+published interface XSystemTransferable: com::sun::star::uno::XInterface
+{
+ /** Called by a data consumer to obtain a system specific data object from the
+ source.
+ The data object is returned in an any. The contained type may differ on
+ different platforms.
+
+ @param aProcessId
+ The argument aProcessId is a process identifier of the caller's process.
+ The interface implementation must ensure that the system data object can be
+ used in that process. If the data object is not valid in the caller process
+ then the returned any must be empty.
+
+ @returns
+ The system dependent data object.
+
+ <br/><br/><p><strong>Notes:</strong>Under Windows the returned any contains an unsigned long which represents a pointer to
+ an IDataObject interface. The caller of getData has to release the data
+ object (IDataObject::Release) if it is no longer needed.
+ The caller must also make sure that the current thread has been initialized for
+ OLE (use OleInitialize).</p>
+ */
+ any getData( [in] sequence < byte > aProcessId);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/datatransfer/XTransferDataAccess.idl b/offapi/com/sun/star/datatransfer/XTransferDataAccess.idl
new file mode 100644
index 000000000..b2a84bb65
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/XTransferDataAccess.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_datatransfer_XTransferDataAccess_idl__
+#define __com_sun_star_datatransfer_XTransferDataAccess_idl__
+
+#include <com/sun/star/datatransfer/DataFlavor.idl>
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module datatransfer {
+
+/** This interface provides direct access to the data in all data flavors. It can
+ be used by the clipboard implementation to optimize data transport on
+ flush operations.
+
+ @see com::sun::star::datatransfer::XTransferable
+*/
+
+published interface XTransferDataAccess: com::sun::star::uno::XInterface
+{
+ /** To query for the summarized data size in bytes of a sequence of DataFlavor.
+
+ @param aFlavorList
+ A sequence of requested DataFlavor.
+ <p>An unsupported DataFlavor will be ignored.</p>
+
+ @returns
+ The number of bytes of the transfer data in the specified sequence of DataFlavor.
+ */
+ hyper queryDataSize( [in] sequence < DataFlavor > aFlavorList );
+
+ /** To get all the data of a sequence of DataFlavor.
+
+ @param aFlavorList
+ The sequence of requested DataFlavor.
+ <p>An unsupported DataFlavor will be ignored.</p>
+
+ @returns
+ The data in the requested DataFlavor.
+ <p>For unsupported DataFlavor an
+ empty any will be returned.</p>
+ */
+ sequence < any > getData( [in] sequence < DataFlavor > aFlavorList );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/datatransfer/XTransferable.idl b/offapi/com/sun/star/datatransfer/XTransferable.idl
new file mode 100644
index 000000000..c59a3752a
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/XTransferable.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_datatransfer_XTransferable_idl__
+#define __com_sun_star_datatransfer_XTransferable_idl__
+
+#include <com/sun/star/datatransfer/UnsupportedFlavorException.idl>
+#include <com/sun/star/datatransfer/DataFlavor.idl>
+#include <com/sun/star/io/IOException.idl>
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module datatransfer {
+
+/** Interface to be implemented by objects used to provide data for a data
+ transfer operation.
+
+ @see com::sun::star::datatransfer::DataFlavor
+*/
+
+published interface XTransferable: com::sun::star::uno::XInterface
+{
+ /** Called by a data consumer to obtain data from the source in a specified
+ format.
+
+ @param aFlavor
+ Describes the requested data format
+
+ @returns
+ The data in the specified DataFlavor.
+
+ @throws com::sun::star::io::IOException
+ if the data is no longer available in the requested flavor.
+
+ @throws com::sun::star::datatransfer::UnsupportedFlavorException
+ if the requested DataFlavor is not supported.
+ */
+ any getTransferData( [in] DataFlavor aFlavor )
+ raises ( UnsupportedFlavorException, com::sun::star::io::IOException );
+
+ /** Returns a sequence of supported DataFlavor.
+
+ @returns
+ The sequence of supported DataFlavor.
+
+ @see com::sun::star::datatransfer::DataFlavor
+ */
+ sequence < DataFlavor > getTransferDataFlavors();
+
+ /** Checks if the data object supports the specified data flavor.
+
+ @param aFlavor
+ Describes the format that should be checked
+
+ @returns
+ A value of `TRUE` if the DataFlavor is supported by the transfer source.
+ <p>A value of `FALSE` if the DataFlavor is unsupported by the transfer source.</p>
+
+ <br/><br/><p><strong>Note: </strong>This method is only for analogy with the JAVA Clipboard interface. To
+ avoid many calls, the caller should instead use
+ com::sun::star::datatransfer::XTransferable::getTransferDataFlavors().
+ */
+ boolean isDataFlavorSupported( [in] DataFlavor aFlavor );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/datatransfer/XTransferable2.idl b/offapi/com/sun/star/datatransfer/XTransferable2.idl
new file mode 100644
index 000000000..9fb99e600
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/XTransferable2.idl
@@ -0,0 +1,48 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.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_datatransfer_XTransferable2_idl__
+#define __com_sun_star_datatransfer_XTransferable2_idl__
+
+#include <com/sun/star/datatransfer/XTransferable.idl>
+
+module com { module sun { module star { module datatransfer {
+
+interface XTransferable2 : com::sun::star::datatransfer::XTransferable
+{
+ /** This is equivalent of getTransferData of XTransferable, but takes an
+ additional parameter that specifies the destination document type.
+
+ @param aFlavor requested data format
+ @param aDestShellID destination document shell ID. The ID of each
+ individual shell must be unique.
+
+ @returns data in specified data format.
+
+ @throws com::sun::star::io::IOException
+ if the data is no longer available in the requested flavor.
+
+ @throws com::sun::star::datatransfer::UnsupportedFlavorException
+ if the requested DataFlavor is not supported.
+ */
+ any getTransferData2( [in] DataFlavor aFlavor, [in] string aDestShellID )
+ raises ( UnsupportedFlavorException, com::sun::star::io::IOException );
+
+ /**
+ * Returns true if the selection contains embedded objects or is a large text blob.
+ *
+ * @since LibreOffice 6.4
+ */
+ boolean isComplex();
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
+
diff --git a/offapi/com/sun/star/datatransfer/XTransferableEx.idl b/offapi/com/sun/star/datatransfer/XTransferableEx.idl
new file mode 100644
index 000000000..ac13fca04
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/XTransferableEx.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_datatransfer_XTransferableEx_idl__
+#define __com_sun_star_datatransfer_XTransferableEx_idl__
+
+#include <com/sun/star/datatransfer/DataFlavor.idl>
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module datatransfer {
+
+/** Interface to be implemented by objects used to provide data for a transfer
+ operation.
+
+ @see com::sun::star::datatransfer::DataFlavor
+ @see com::sun::star::datatransfer::XTransferable
+*/
+
+
+published interface XTransferableEx: com::sun::star::uno::XInterface
+{
+ /** @param requestedFlavors
+ Sequence of DataFlavor of interest. Specify an empty sequence for interest
+ in all data flavors with top-level MIME content-types. To get all MIME
+ content-types, call com::sun::star::datatransfer::XTransferable::getTransferDataFlavors().
+
+ @returns
+ The list of the matching supported DataFlavor that were requested. For
+ each requested top-level MIME content-type, all supported subtypes are returned.
+ */
+ sequence < DataFlavor > queryTransferDataFlavors( [in] sequence< DataFlavor > requestedFlavors );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/datatransfer/XTransferableSource.idl b/offapi/com/sun/star/datatransfer/XTransferableSource.idl
new file mode 100644
index 000000000..f485f0db0
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/XTransferableSource.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_datatransfer_XTransferableSource_idl__
+#define __com_sun_star_datatransfer_XTransferableSource_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module datatransfer {
+
+/** The transferable source interface.
+
+ @see com::sun::star::datatransfer::XTransferable
+*/
+
+published interface XTransferableSource: com::sun::star::uno::XInterface
+{
+ /** @returns
+ A human presentable description of the source that created the
+ transferable object.
+ */
+ string getDataSourceDescription();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/datatransfer/XTransferableSupplier.idl b/offapi/com/sun/star/datatransfer/XTransferableSupplier.idl
new file mode 100644
index 000000000..36cd156a8
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/XTransferableSupplier.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_datatransfer_XTransferableSupplier_idl__
+#define __com_sun_star_datatransfer_XTransferableSupplier_idl__
+
+#include <com/sun/star/datatransfer/XTransferable.idl>
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module datatransfer {
+
+interface XTransferableSupplier
+{
+ /** To get access to a transferable representation of a selected part of an object.
+
+ @returns
+ The transferable object representing the selection inside the supplying object
+
+ @see com::sun::star::datatransfer::XTransferable
+ */
+ XTransferable getTransferable();
+
+ /** Hands over a transferable object that shall be inserted.
+
+ @param xTrans
+ The transferable object to be inserted
+ <p>A NULL value is not allowed.</p>
+
+ @throws com::sun::star::datatransfer::UnsupportedFlavorException
+ if the given com::sun::star::datatransfer::XTransferable
+ has no com::sun::star::datatransfer::DataFlavor or the called
+ object can't handle any of the available ones.
+
+ @see com::sun::star::datatransfer::XTransferable
+ */
+ void insertTransferable( [in] XTransferable xTrans )
+ raises ( UnsupportedFlavorException );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/datatransfer/XTransferableTextSupplier.idl b/offapi/com/sun/star/datatransfer/XTransferableTextSupplier.idl
new file mode 100644
index 000000000..7d91ec9f0
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/XTransferableTextSupplier.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_datatransfer_XTransferableTextSupplier_idl__
+#define __com_sun_star_datatransfer_XTransferableTextSupplier_idl__
+
+#include <com/sun/star/datatransfer/XTransferable.idl>
+#include <com/sun/star/text/XTextRange.idl>
+
+
+module com { module sun { module star { module datatransfer {
+
+/** @since LO 7.2
+ */
+interface XTransferableTextSupplier
+{
+ /** Provide access to a transferable representation of a given text
+ range.
+
+ @param xRange a text range known to the supplier.
+
+ @returns
+ a transferable object representing the given text range.
+
+ @see com::sun::star::datatransfer::XTransferable
+ */
+ XTransferable getTransferableForTextRange(
+ [in] com::sun::star::text::XTextRange xRange);
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/datatransfer/clipboard/ClipboardEvent.idl b/offapi/com/sun/star/datatransfer/clipboard/ClipboardEvent.idl
new file mode 100644
index 000000000..536c447af
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/clipboard/ClipboardEvent.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_datatransfer_clipboard_ClipboardEvent_idl__
+#define __com_sun_star_datatransfer_clipboard_ClipboardEvent_idl__
+
+#include <com/sun/star/datatransfer/XTransferable.idl>
+#include <com/sun/star/lang/EventObject.idl>
+
+
+module com { module sun { module star { module datatransfer { module clipboard {
+
+/** A clipboard uses this object to notify its listeners of content changes.
+
+ @see com::sun::star::datatransfer::clipboard::XClipboardListener
+*/
+
+published struct ClipboardEvent: com::sun::star::lang::EventObject
+{
+ /** The current content of the clipboard.
+ */
+ com::sun::star::datatransfer::XTransferable Contents;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/datatransfer/clipboard/ClipboardManager.idl b/offapi/com/sun/star/datatransfer/clipboard/ClipboardManager.idl
new file mode 100644
index 000000000..de4b4f77b
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/clipboard/ClipboardManager.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_datatransfer_clipboard_ClipboardManager_idl__
+#define __com_sun_star_datatransfer_clipboard_ClipboardManager_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+
+
+module com { module sun { module star { module datatransfer { module clipboard {
+
+
+ published interface XClipboardManager;
+
+/** The clipboard manager is a one-instance service that holds a list of all
+ known clipboard instances.
+
+ @see XClipboardManager
+*/
+published service ClipboardManager
+{
+ /** Manages internal and external clipboard implementations.
+ */
+ interface XClipboardManager;
+
+ /** For shutdown and listener support.
+ */
+ interface com::sun::star::lang::XComponent;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/datatransfer/clipboard/GenericClipboard.idl b/offapi/com/sun/star/datatransfer/clipboard/GenericClipboard.idl
new file mode 100644
index 000000000..880b30a03
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/clipboard/GenericClipboard.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_datatransfer_clipboard_GenericClipboard_idl__
+#define __com_sun_star_datatransfer_clipboard_GenericClipboard_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/lang/XInitialization.idl>
+
+
+module com { module sun { module star { module datatransfer { module clipboard {
+
+
+ published interface XClipboardEx;
+ published interface XClipboardNotifier;
+
+/** A generic clipboard service is a simple container for transferable objects.
+*/
+published service GenericClipboard
+{
+ /** Provides access to the clipboard content.
+ */
+ interface XClipboardEx;
+
+ /** Provides the ability to request notifications on content changes.
+ */
+ interface XClipboardNotifier;
+
+ /** Provides the ability to initially set the name of the clipboard.
+ */
+ interface com::sun::star::lang::XInitialization;
+
+ /** For shutdown and listener support.
+ */
+ interface com::sun::star::lang::XComponent;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/datatransfer/clipboard/RenderingCapabilities.idl b/offapi/com/sun/star/datatransfer/clipboard/RenderingCapabilities.idl
new file mode 100644
index 000000000..b254cbf5f
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/clipboard/RenderingCapabilities.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_datatransfer_clipboard_RenderingCapabilities_idl__
+#define __com_sun_star_datatransfer_clipboard_RenderingCapabilities_idl__
+
+
+module com { module sun { module star { module datatransfer { module clipboard {
+
+/** These flags describe the capabilities a system clipboard has to transfer
+ data to other applications via the OS.
+
+ @see com::sun::star::datatransfer::clipboard::SystemClipboard
+*/
+published constants RenderingCapabilities
+{
+ /** The implementation supports delayed rendering.
+ */
+ const byte Delayed = 1;
+
+ /** The implementation is able to store the data persistent in the system
+ so that it does not get lost when the source application no longer exist.
+ @deprecated since 7.1, rather use "Persistent" const
+ */
+ const byte Persistant = 2;
+
+ /** The implementation is able to store the data persistent in the system
+ so that it does not get lost when the source application no longer exist.
+ */
+ const byte Persistent = 2;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/datatransfer/clipboard/SystemClipboard.idl b/offapi/com/sun/star/datatransfer/clipboard/SystemClipboard.idl
new file mode 100644
index 000000000..9c5c780c4
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/clipboard/SystemClipboard.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_datatransfer_clipboard_SystemClipboard_idl__
+#define __com_sun_star_datatransfer_clipboard_SystemClipboard_idl__
+
+#include <com/sun/star/datatransfer/clipboard/XSystemClipboard.idl>
+
+module com { module sun { module star { module datatransfer { module clipboard {
+
+/** The system clipboard service builds a bridge to the OS specific clipboard
+ interfaces.
+*/
+published service SystemClipboard : XSystemClipboard;
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/datatransfer/clipboard/XClipboard.idl b/offapi/com/sun/star/datatransfer/clipboard/XClipboard.idl
new file mode 100644
index 000000000..32ad8940c
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/clipboard/XClipboard.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_datatransfer_clipboard_XClipboard_idl__
+#define __com_sun_star_datatransfer_clipboard_XClipboard_idl__
+
+#include <com/sun/star/datatransfer/XTransferable.idl>
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module datatransfer { module clipboard {
+
+/** The default interface to access clipboard instances.
+*/
+
+ published interface XClipboardListener;
+ published interface XClipboardOwner;
+
+published interface XClipboard: com::sun::star::uno::XInterface
+{
+ /** To get the current content of the clipboard.
+
+ @returns
+ The transferable object representing the current content of
+ this clipboard.
+
+ @see com::sun::star::datatransfer::XTransferable
+ */
+ com::sun::star::datatransfer::XTransferable getContents();
+
+ /** Sets the current contents of the clipboard to the specified
+ transferable object and registers the specified clipboard owner
+ as the owner of the new contents.
+
+ @param xTrans
+ The transferable object to set as new content.
+ <p>If the given com::sun::star::datatransfer::XTransferable
+ has no com::sun::star::datatransfer::DataFlavor the clipboard
+ will be deleted.
+ <p>A NULL value is not allowed.</p>
+
+ @param xClipboardOwner
+ The new owner of the clipboard.
+ <p>NULL is an acceptable value and means that the
+ caller is not interested in lost ownership notifications.</p>
+
+ @see com::sun::star::datatransfer::XTransferable
+ @see com::sun::star::datatransfer::clipboard::XClipboardOwner
+ */
+ void setContents( [in] com::sun::star::datatransfer::XTransferable xTrans, [in] XClipboardOwner xClipboardOwner );
+
+ /** To get the name of the clipboard instance.
+
+ @returns
+ The name of this clipboard object.
+ <p>If the returned string is empty the
+ clipboard instance is the system clipboard.</p>
+ */
+ string getName();
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/datatransfer/clipboard/XClipboardEx.idl b/offapi/com/sun/star/datatransfer/clipboard/XClipboardEx.idl
new file mode 100644
index 000000000..83fe95f2a
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/clipboard/XClipboardEx.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_datatransfer_clipboard_XClipboardEx_idl__
+#define __com_sun_star_datatransfer_clipboard_XClipboardEx_idl__
+
+#include <com/sun/star/datatransfer/clipboard/XClipboard.idl>
+
+
+module com { module sun { module star { module datatransfer { module clipboard {
+
+/** The extended clipboard interface.
+
+ @see com::sun::star::datatransfer::clipboard::XClipboard
+*/
+
+published interface XClipboardEx: com::sun::star::datatransfer::clipboard::XClipboard
+{
+ /** To determine the supported rendering capabilities of the clipboard instance.
+
+ @returns
+ A set of flags describing the rendering capabilities of the clipboard instance.
+
+ @see RenderingCapabilities
+ */
+ byte getRenderingCapabilities();
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/datatransfer/clipboard/XClipboardFactory.idl b/offapi/com/sun/star/datatransfer/clipboard/XClipboardFactory.idl
new file mode 100644
index 000000000..7fb9fa24c
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/clipboard/XClipboardFactory.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_datatransfer_clipboard_XClipboardFactory_idl__
+#define __com_sun_star_datatransfer_clipboard_XClipboardFactory_idl__
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module datatransfer { module clipboard {
+
+ published interface XClipboard;
+
+/** Should be implemented by a clipboard factory that simplifies the creation of
+ multiple clipboard instances.
+
+ @see com::sun::star::datatransfer::clipboard::XClipboard
+*/
+
+published interface XClipboardFactory: com::sun::star::uno::XInterface
+{
+ /** Creates a new named clipboard instance.
+
+ @returns
+ A newly created instance of a GenericClipboard
+ implementation.
+
+ @param aName
+ The name the clipboard should have.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ If an empty string is passed as clipboard name.
+ */
+ XClipboard createClipboard( [in] string aName )
+ raises ( com::sun::star::lang::IllegalArgumentException );
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/datatransfer/clipboard/XClipboardListener.idl b/offapi/com/sun/star/datatransfer/clipboard/XClipboardListener.idl
new file mode 100644
index 000000000..2977b6778
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/clipboard/XClipboardListener.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_datatransfer_clipboard_XClipboardListener_idl__
+#define __com_sun_star_datatransfer_clipboard_XClipboardListener_idl__
+
+#include <com/sun/star/datatransfer/clipboard/ClipboardEvent.idl>
+#include <com/sun/star/lang/XEventListener.idl>
+
+
+module com { module sun { module star { module datatransfer { module clipboard {
+
+/** Interface to be implemented to receive notifications on clipboard content
+ changes.
+*/
+
+published interface XClipboardListener: com::sun::star::lang::XEventListener
+{
+ /** The content of the clipboard has changed.
+
+ @param event
+ The event object containing the new clipboard content.
+
+ @see com::sun::star::datatransfer::clipboard::ClipboardEvent
+ */
+ void changedContents( [in] ClipboardEvent event );
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/datatransfer/clipboard/XClipboardManager.idl b/offapi/com/sun/star/datatransfer/clipboard/XClipboardManager.idl
new file mode 100644
index 000000000..855e7ac83
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/clipboard/XClipboardManager.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_datatransfer_clipboard_XClipboardManager_idl__
+#define __com_sun_star_datatransfer_clipboard_XClipboardManager_idl__
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/container/ElementExistException.idl>
+#include <com/sun/star/container/NoSuchElementException.idl>
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module datatransfer { module clipboard {
+
+ published interface XClipboard;
+
+/** This interface is used to retrieve, add, or remove clipboard instances.
+
+ @see com::sun::star::datatransfer::clipboard::XClipboard
+*/
+
+published interface XClipboardManager: com::sun::star::uno::XInterface
+{
+ /** Get a clipboard instance by name.
+
+ @returns
+ The clipboard object with the specified name.
+
+ @param aName
+ The name of clipboard to return. To retrieve the default (system)
+ clipboard, pass an empty string.
+
+ @throws com::sun::star::container::NoSuchElementException
+ if no clipboard with the specified name exists.
+ */
+ XClipboard getClipboard( [in] string aName )
+ raises ( com::sun::star::container::NoSuchElementException );
+
+ /** Add a clipboard instance to the manager's list.
+
+ @param xClipboard
+ The clipboard to add.
+
+ @throws com::sun::star::IllegalArgumentException
+ if xClipboard is not a valid clipboard.
+
+ @throws com::sun::star::container::ElementExistsException
+ if a clipboard with the name of xClipboard already exists.
+ */
+ void addClipboard( [in] XClipboard xClipboard )
+ raises ( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::container::ElementExistException );
+
+ /** Removes the clipboard with the specified name from the list.
+
+ @param aName
+ The name of the clipboard to remove.
+ */
+ void removeClipboard( [in] string aName );
+
+ /** Get a list of a managed clipboards.
+
+ @returns
+ A sequence of the names of all available clipboards.
+ */
+ sequence < string > listClipboardNames();
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/datatransfer/clipboard/XClipboardNotifier.idl b/offapi/com/sun/star/datatransfer/clipboard/XClipboardNotifier.idl
new file mode 100644
index 000000000..f12ac9a61
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/clipboard/XClipboardNotifier.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_datatransfer_clipboard_XClipboardNotifier_idl__
+#define __com_sun_star_datatransfer_clipboard_XClipboardNotifier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module datatransfer { module clipboard {
+
+/** Provides the ability to request notifications on clipboard content changes.
+
+ @see com::sun::star::datatransfer::clipboard::XClipboardListener
+*/
+
+ published interface XClipboardListener;
+
+published interface XClipboardNotifier: com::sun::star::uno::XInterface
+{
+ /** Requests notifications on clipboard content changes.
+
+ @param listener
+ The object receiving the notifications.
+ */
+ void addClipboardListener( [in] XClipboardListener listener );
+
+ /** Removes listener from notification list.
+
+ @param listener
+ The object to remove from notification list.
+ */
+ void removeClipboardListener( [in] XClipboardListener listener );
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/datatransfer/clipboard/XClipboardOwner.idl b/offapi/com/sun/star/datatransfer/clipboard/XClipboardOwner.idl
new file mode 100644
index 000000000..9ece43c82
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/clipboard/XClipboardOwner.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_datatransfer_clipboard_XClipboardOwner_idl__
+#define __com_sun_star_datatransfer_clipboard_XClipboardOwner_idl__
+
+#include <com/sun/star/datatransfer/XTransferable.idl>
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module datatransfer { module clipboard {
+
+ published interface XClipboard;
+
+/** The owner of a transferable object may pass this interface to the
+ clipboard instance.
+
+ @see com::sun::star::datatransfer::clipboard::XClipboard
+*/
+
+published interface XClipboardOwner: com::sun::star::uno::XInterface
+{
+ /** Notifies the transferable object source that it is no longer the owner of
+ the clipboard.
+
+ @param xClipboard
+ The clipboard for which the ownership was lost.
+
+ @param xTrans
+ The transferable object that has been the contents of the clipboard.
+
+ @see com::sun::star::datatransfer::clipboard::XClipboard
+ @see com::sun::star::datatransfer::XTransferable
+ */
+ void lostOwnership( [in] XClipboard xClipboard, [in] com::sun::star::datatransfer::XTransferable xTrans );
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/datatransfer/clipboard/XFlushableClipboard.idl b/offapi/com/sun/star/datatransfer/clipboard/XFlushableClipboard.idl
new file mode 100644
index 000000000..653690eca
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/clipboard/XFlushableClipboard.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_datatransfer_clipboard_XFlushableClipboard_idl__
+#define __com_sun_star_datatransfer_clipboard_XFlushableClipboard_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module datatransfer { module clipboard {
+
+/** An interface for flushable clipboards may optionally be implemented by a
+ system clipboard service.
+
+ @see com::sun::star::datatransfer::clipboard::SystemClipboard
+*/
+
+
+published interface XFlushableClipboard: com::sun::star::uno::XInterface
+{
+ /** Renders the current content of the clipboard to the system so that it
+ is available even if the source application no longer exist.
+ */
+ void flushClipboard();
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/datatransfer/clipboard/XSystemClipboard.idl b/offapi/com/sun/star/datatransfer/clipboard/XSystemClipboard.idl
new file mode 100644
index 000000000..32f8bf39d
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/clipboard/XSystemClipboard.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_datatransfer_clipboard_XSystemClipboard_idl__
+#define __com_sun_star_datatransfer_clipboard_XSystemClipboard_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/datatransfer/clipboard/XClipboardEx.idl>
+#include <com/sun/star/datatransfer/clipboard/XClipboardNotifier.idl>
+#include <com/sun/star/datatransfer/clipboard/XFlushableClipboard.idl>
+
+module com { module sun { module star { module datatransfer { module clipboard {
+
+
+/**
+ Provides a unified interface for new-style service SystemClipboard.
+
+ @since LibreOffice 4.2
+*/
+published interface XSystemClipboard
+{
+ /** Provides access to the clipboard content.
+ */
+ interface XClipboardEx;
+
+ /** Provides the ability to request notifications on content changes.
+ */
+ interface XClipboardNotifier;
+
+ /** Provides the ability to render the complete clipboard content. This
+ interface is only available if the method
+ com::sun::star::datatransfer::clipboard::XClipboardEx::getRenderingCapabilities()
+ returns Persistent
+ */
+ [optional] interface XFlushableClipboard;
+
+ /** For shutdown and listener support.
+ */
+ interface com::sun::star::lang::XComponent;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/datatransfer/dnd/DNDConstants.idl b/offapi/com/sun/star/datatransfer/dnd/DNDConstants.idl
new file mode 100644
index 000000000..49bee5387
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/DNDConstants.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_datatransfer_dnd_DNDConstants_idl__
+#define __com_sun_star_datatransfer_dnd_DNDConstants_idl__
+
+
+module com { module sun { module star { module datatransfer { module dnd {
+
+/** These values represent the type of action or actions to be performed by a
+ Drag and Drop operation.
+*/
+
+published constants DNDConstants
+{
+ /** No action.
+ */
+
+ const byte ACTION_NONE = 0x00;
+
+ /** Action copy.
+ */
+
+ const byte ACTION_COPY = 0x01;
+
+ /** Action move.
+ */
+
+ const byte ACTION_MOVE = 0x02;
+
+ /** Action copy or move.
+ */
+
+ const byte ACTION_COPY_OR_MOVE = 0x03;
+
+ /** Action link.
+ */
+
+ const byte ACTION_LINK = 0x04;
+
+ /** Action reference.
+ */
+
+ const byte ACTION_REFERENCE = 0x04;
+
+ /** Action default.
+ */
+
+ const byte ACTION_DEFAULT = -0x80;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/datatransfer/dnd/DragGestureEvent.idl b/offapi/com/sun/star/datatransfer/dnd/DragGestureEvent.idl
new file mode 100644
index 000000000..4055de129
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/DragGestureEvent.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_datatransfer_dnd_DragGestureEvent_idl__
+#define __com_sun_star_datatransfer_dnd_DragGestureEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+
+
+module com { module sun { module star { module datatransfer { module dnd {
+
+ published interface XDragSource;
+
+/** A DragGestureEvent is passed to the method XDragGestureListener::dragGestureRecognized()
+ when a particular XDragGestureRecognizer detects that a platform
+ dependent drag initiating gesture has occurred on the component that it is
+ tracking.
+*/
+
+published struct DragGestureEvent: com::sun::star::lang::EventObject
+{
+ /** The action selected by the user.
+ <p>Different constants may be combined using a logical OR.</p>
+ It's further possible to combine the ACTION_DEFAULT with one of the other
+ actions defined in com::sun::star::datatransfer::dnd::DNDConstants.
+ This means the user did not press any key during the Drag and Drop operation
+ and the action that was combined with ACTION_DEFAULT is the system default action.</p>
+
+ @see com::sun::star::datatransfer::dnd::DNDConstants
+ */
+
+ byte DragAction;
+
+ /** The x coordinate where the drag originated in component coordinates.
+ */
+
+ long DragOriginX;
+
+ /** The y coordinate where the drag originated in component coordinates.
+ */
+
+ long DragOriginY;
+
+ /** The DragSource associated with this drag action.
+ */
+
+ XDragSource DragSource;
+
+ /** The last event comprising the gesture.
+
+ <p>The initial trigger event will presumably be a com::sun::star::awt::MouseEvent event.
+ If it is not, the implementation should either react accordingly or
+ presume that the left mouse button was clicked. </p>
+ */
+
+ any Event;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/datatransfer/dnd/DragSourceDragEvent.idl b/offapi/com/sun/star/datatransfer/dnd/DragSourceDragEvent.idl
new file mode 100644
index 000000000..ea1bb42eb
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/DragSourceDragEvent.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_datatransfer_dnd_DragSourceDragEvent_idl__
+#define __com_sun_star_datatransfer_dnd_DragSourceDragEvent_idl__
+
+#include <com/sun/star/datatransfer/dnd/DragSourceEvent.idl>
+
+
+module com { module sun { module star { module datatransfer { module dnd {
+
+/** The DragSourceDragEvent is delivered from an object that
+ implements the XDragSourceContext to the
+ currently registered drag source listener.
+
+ <p>It contains state regarding the current state of the operation to enable
+ the operations initiator to provide the end user with the appropriate drag
+ over feedback.</p>
+
+ @see com::sun::star::datatransfer::dnd::XDragSourceListener
+*/
+
+published struct DragSourceDragEvent: com::sun::star::datatransfer::dnd::DragSourceEvent
+{
+ /** The drag action selected by the current drop target.
+
+ @see com::sun::star::datatransfer::dnd::DNDConstants
+ */
+ byte DropAction;
+
+ /** The user's currently selected drop action.
+
+ @see com::sun::star::datatransfer::dnd::DNDConstants
+ */
+ byte UserAction;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/datatransfer/dnd/DragSourceDropEvent.idl b/offapi/com/sun/star/datatransfer/dnd/DragSourceDropEvent.idl
new file mode 100644
index 000000000..3ed36c4ed
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/DragSourceDropEvent.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_datatransfer_dnd_DragSourceDropEvent_idl__
+#define __com_sun_star_datatransfer_dnd_DragSourceDropEvent_idl__
+
+#include <com/sun/star/datatransfer/dnd/DragSourceEvent.idl>
+
+
+module com { module sun { module star { module datatransfer { module dnd {
+
+/** The DragSourceDropEvent is delivered from an object that implements
+ XDragSourceContext to its currently registered drag source listener's.
+
+ <p>It contains sufficient information for the originator of the operation to
+ provide appropriate feedback to the end user when the operation completes.</p>
+
+ @see com::sun::star::datatransfer::dnd::XDragSourceListener
+*/
+
+published struct DragSourceDropEvent: com::sun::star::datatransfer::dnd::DragSourceEvent
+{
+ /** The action performed by the target on the subject of the drop.
+
+ @see com::sun::star::datatransfer::dnd::DNDConstants
+ */
+
+ byte DropAction;
+
+ /** Indicates if the drop was successful.
+ */
+
+ boolean DropSuccess;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/datatransfer/dnd/DragSourceEvent.idl b/offapi/com/sun/star/datatransfer/dnd/DragSourceEvent.idl
new file mode 100644
index 000000000..fc30deb8f
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/DragSourceEvent.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_datatransfer_dnd_DragSourceEvent_idl__
+#define __com_sun_star_datatransfer_dnd_DragSourceEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+
+
+module com { module sun { module star { module datatransfer { module dnd {
+
+ published interface XDragSource;
+ published interface XDragSourceContext;
+
+/** This class is the base class for DragSourceDragEvent and DragSourceDropEvent.
+
+ <p>To access the XDragSource that originated this event, use the
+ com::sun::star::lang::EventObject::Source member of
+ this object.</p>
+*/
+
+published struct DragSourceEvent: com::sun::star::lang::EventObject
+{
+ /** The drag source context of the current drag operation.
+
+ @see com::sun::star::datatransfer::dnd::XDragSourceContext
+ */
+
+ XDragSourceContext DragSourceContext;
+
+ /** The drag source on which the Drag and Drop operation was initiated.
+
+ @see com::sun::star::datatransfer::dnd::XDragSource
+ */
+
+ XDragSource DragSource;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/datatransfer/dnd/DropTargetDragEnterEvent.idl b/offapi/com/sun/star/datatransfer/dnd/DropTargetDragEnterEvent.idl
new file mode 100644
index 000000000..9b2b38366
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/DropTargetDragEnterEvent.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_datatransfer_dnd_DropTargetDragEnterEvent_idl__
+#define __com_sun_star_datatransfer_dnd_DropTargetDragEnterEvent_idl__
+
+#include <com/sun/star/datatransfer/dnd/DropTargetDragEvent.idl>
+#include <com/sun/star/datatransfer/DataFlavor.idl>
+
+
+module com { module sun { module star { module datatransfer { module dnd {
+
+/** The DropTargetDragEnterEvent is delivered from the drop target to the
+ currently registered drop target listeners whenever the logical cursor
+ associated with a Drag and Drop operation enters the visible geometry
+ of a window associated with a drop target.
+
+ <p>It contains the com::sun::star::datatransfer::DataFlavor
+ types supported by the transferable object of the current Drag and Drop operation. </p>
+
+ @see com::sun::star::datatransfer::XTransferable
+*/
+
+published struct DropTargetDragEnterEvent: DropTargetDragEvent
+{
+ /** A sequence of supported com::sun::star::datatransfer::DataFlavor types.
+
+ */
+
+ sequence< com::sun::star::datatransfer::DataFlavor > SupportedDataFlavors;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/datatransfer/dnd/DropTargetDragEvent.idl b/offapi/com/sun/star/datatransfer/dnd/DropTargetDragEvent.idl
new file mode 100644
index 000000000..547144175
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/DropTargetDragEvent.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_datatransfer_dnd_DropTargetDragEvent_idl__
+#define __com_sun_star_datatransfer_dnd_DropTargetDragEvent_idl__
+
+#include <com/sun/star/datatransfer/dnd/DropTargetEvent.idl>
+
+
+module com { module sun { module star { module datatransfer { module dnd {
+
+ published interface XDropTargetDragContext;
+
+/** The DropTargetDragEvent is delivered from the drop target
+ to the currently registered drop target listener.
+
+ <p>It contains information regarding the current state of the operation to enable
+ the operations initiator to provide the end user with the appropriate drag
+ over feedback.</p>
+
+ @see com::sun::star::datatransfer::dnd::XDropTargetListener
+*/
+
+published struct DropTargetDragEvent: com::sun::star::datatransfer::dnd::DropTargetEvent
+{
+ /** The drop target context of the current drag operation.
+
+ @see com::sun::star::datatransfer::dnd::XDropTargetDragContext
+ */
+
+ XDropTargetDragContext Context;
+
+ /** This value represents the currently selected drop action.
+
+ @see com::sun::star::datatransfer::dnd::DNDConstants
+ */
+
+ byte DropAction;
+
+ /** The cursor's current x location within the window's coordinates.
+ */
+
+ long LocationX;
+
+ /** The cursor's current y location within the window's coordinates.
+ */
+
+ long LocationY;
+
+ /** This value represents the action or actions supported by the source.
+ This may be a combination of arbitrary source actions except ACTION_DEFAULT.
+ <p>To combine different actions use a logical OR.</p>
+
+ @see com::sun::star::datatransfer::dnd::DNDConstants
+ */
+
+ byte SourceActions;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/datatransfer/dnd/DropTargetDropEvent.idl b/offapi/com/sun/star/datatransfer/dnd/DropTargetDropEvent.idl
new file mode 100644
index 000000000..d51a92693
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/DropTargetDropEvent.idl
@@ -0,0 +1,86 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_datatransfer_dnd_DropTargetDropEvent_idl__
+#define __com_sun_star_datatransfer_dnd_DropTargetDropEvent_idl__
+
+#include <com/sun/star/datatransfer/dnd/DropTargetEvent.idl>
+#include <com/sun/star/datatransfer/XTransferable.idl>
+
+
+module com { module sun { module star { module datatransfer { module dnd {
+
+ published interface XDropTargetDropContext;
+
+/** The DropTargetDropEvent is delivered from the drop target to
+ its currently registered drop target listener.
+
+ <p>It contains sufficient information for the originator of the operation to
+ provide appropriate feedback to the end user when the operation completes.</p>
+*/
+
+published struct DropTargetDropEvent: com::sun::star::datatransfer::dnd::DropTargetEvent
+{
+ /** The drop target context of the current drag operation.
+
+ @see com::sun::star::datatransfer::dnd::XDropTargetDropContext
+ */
+
+ XDropTargetDropContext Context;
+
+ /** This value represents the action or actions selected by the user at
+ the time of the drop.
+
+ <p>If more than one action is specified, the XDropTargetListener
+ should raise a dialog to ask the user which action to use.</p>
+
+ @see com::sun::star::datatransfer::dnd::DNDConstants
+ */
+
+ byte DropAction;
+
+ /** The cursor's current x location within the window's coordinates.
+ */
+
+ long LocationX;
+
+ /** The cursor's current y location within the window's coordinates.
+ */
+
+ long LocationY;
+
+ /** This value represents the action or actions supported by the source.
+ */
+
+ byte SourceActions;
+
+ /** The transferable object associated with the drop.
+
+ @see com::sun::star::datatransfer::XTransferable
+ */
+
+ com::sun::star::datatransfer::XTransferable Transferable;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/datatransfer/dnd/DropTargetEvent.idl b/offapi/com/sun/star/datatransfer/dnd/DropTargetEvent.idl
new file mode 100644
index 000000000..db5379ac8
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/DropTargetEvent.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_datatransfer_dnd_DropTargetEvent_idl__
+#define __com_sun_star_datatransfer_dnd_DropTargetEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+
+
+module com { module sun { module star { module datatransfer { module dnd {
+
+/** This class is the base class for DropTargetDragEvent and
+ DropTargetDropEvent.
+
+ <p>To access the XDropTarget that originated this event, use the
+ com::sun::star::lang::EventObject::Source member of
+ this object.</p>
+*/
+
+published struct DropTargetEvent: com::sun::star::lang::EventObject
+{
+ /** UNO specification does not allow empty struct definitions.
+ */
+
+ byte Dummy;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/datatransfer/dnd/InvalidDNDOperationException.idl b/offapi/com/sun/star/datatransfer/dnd/InvalidDNDOperationException.idl
new file mode 100644
index 000000000..1a26594bb
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/InvalidDNDOperationException.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_datatransfer_dnd_InvalidDNDOperationException_idl__
+#define __com_sun_star_datatransfer_dnd_InvalidDNDOperationException_idl__
+
+#include <com/sun/star/uno/RuntimeException.idl>
+
+
+module com { module sun { module star { module datatransfer { module dnd {
+
+/** This exception is thrown by various methods in the datatransfer.dnd
+ package.
+
+ <p>It is usually thrown to indicate that the target in question is unable
+ to undertake the requested operation at the present time, since the
+ underlying Drag and Drop system is not in the appropriate state.</p>
+*/
+
+published exception InvalidDNDOperationException: com::sun::star::uno::RuntimeException
+{
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/datatransfer/dnd/OleDragSource.idl b/offapi/com/sun/star/datatransfer/dnd/OleDragSource.idl
new file mode 100644
index 000000000..c72c2521b
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/OleDragSource.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_datatransfer_dnd_OleDragSource_idl__
+#define __com_sun_star_datatransfer_dnd_OleDragSource_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/lang/XInitialization.idl>
+
+
+module com { module sun { module star { module datatransfer { module dnd {
+
+
+ published interface XDragSource;
+
+/** This service connects the Java-like UNO drag and drop protocol to the protocol
+ used on window platforms. It realized the drag source.
+
+ @see XDragSource
+*/
+
+published service OleDragSource
+{
+ /** Used to provide data to other applications via the Ole Drag & Drop protocol.
+ */
+ interface XDragSource;
+
+ /** The service expects a byte sequence uniquely identifying the machine as
+ the first, and only, parameter. This identifier should be checked to
+ ensure that the window ids used for creating DropTargets are valid for
+ the service, that is, come from the same machine.
+
+ <p>TODO: specify how such a machine id should look like.</p>
+
+ The second parameter is a window handle of the native windows window.
+ It is passed as an unsigned long.
+ */
+ interface com::sun::star::lang::XInitialization;
+
+ /** For shutdown and listener support.
+ */
+ interface com::sun::star::lang::XComponent;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/datatransfer/dnd/OleDropTarget.idl b/offapi/com/sun/star/datatransfer/dnd/OleDropTarget.idl
new file mode 100644
index 000000000..7b326e7ef
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/OleDropTarget.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_datatransfer_dnd_OleDropTarget_idl__
+#define __com_sun_star_datatransfer_dnd_OleDropTarget_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/lang/XInitialization.idl>
+
+
+module com { module sun { module star { module datatransfer { module dnd {
+
+
+published interface XDropTarget;
+
+/** This service connects the Java-like UNO Drag & Drop protocol to the protocol
+ used on window platforms. It realizes the drop target.
+
+ @see XDropTarget
+*/
+
+published service OleDropTarget
+{
+ /** Used to provide data to other applications via Ole Drag & Drop protocol.
+ */
+ interface XDropTarget;
+
+ /** The service expects a windows window handle. It is passed as unsigned long.
+ */
+ interface com::sun::star::lang::XInitialization;
+
+ /** For shutdown and listener support.
+ */
+ interface com::sun::star::lang::XComponent;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/datatransfer/dnd/X11DragSource.idl b/offapi/com/sun/star/datatransfer/dnd/X11DragSource.idl
new file mode 100644
index 000000000..8561bdbfd
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/X11DragSource.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_datatransfer_dnd_X11DragSource_idl__
+#define __com_sun_star_datatransfer_dnd_X11DragSource_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/lang/XInitialization.idl>
+
+
+module com { module sun { module star { module datatransfer { module dnd {
+
+
+ published interface XDragSource;
+
+/** This service connects the Java-like UNO Drag and Drop protocol to the
+ X Drag and Drop protocol used on X-Servers to transfer data between
+ applications via Drag and Drop operations.
+
+ @see XDragSource
+*/
+
+published service X11DragSource
+{
+ /** Used to provide data to other applications via X Drag and Drop protocol.
+ */
+ interface XDragSource;
+
+ /** The service expects an instance of
+ com::sun::star::awt::XDisplayConnection
+ as the first parameter.
+ */
+ interface com::sun::star::lang::XInitialization;
+
+ /** For shutdown and listener support.
+ */
+ interface com::sun::star::lang::XComponent;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/datatransfer/dnd/X11DropTarget.idl b/offapi/com/sun/star/datatransfer/dnd/X11DropTarget.idl
new file mode 100644
index 000000000..90d75e9fe
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/X11DropTarget.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_datatransfer_dnd_X11DropTarget_idl__
+#define __com_sun_star_datatransfer_dnd_X11DropTarget_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/lang/XInitialization.idl>
+
+
+module com { module sun { module star { module datatransfer { module dnd {
+
+
+ published interface XDropTarget;
+
+/** This service connects the Java-like UNO Drag and Drop protocol to the
+ X Drag and Drop protocol used on X-Servers to transfer data between
+ application via Drag and Drop operations.
+
+ @see XDragSource
+ @see XDropTarget
+*/
+
+published service X11DropTarget
+{
+ /** Used to get data from other applications via X Drag and Drop protocol.
+ */
+ interface XDropTarget;
+
+ /** The service expects an instance of
+ com::sun::star::awt::XDisplayConnection
+ as the first parameter. The second parameter must be a long
+ that contains an XWindow window which shall be registered
+ as drop target.
+ */
+ interface com::sun::star::lang::XInitialization;
+
+ /** For shutdown and listener support.
+ */
+ interface com::sun::star::lang::XComponent;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/datatransfer/dnd/XAutoscroll.idl b/offapi/com/sun/star/datatransfer/dnd/XAutoscroll.idl
new file mode 100644
index 000000000..22f57420b
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/XAutoscroll.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_datatransfer_dnd_XAutoscroll_idl__
+#define __com_sun_star_datatransfer_dnd_XAutoscroll_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module datatransfer { module dnd {
+
+/** Interface for autoscroll support.
+
+ <p>During Drag and Drop operations it is possible that a user may wish to drop the
+ subject of the operation on a region of a scrollable GUI control that is
+ not currently visible to the user.</p>
+
+ <p>In such situations it is desirable that the GUI control detect this and
+ institute a scroll operation in order to make obscured region(s) visible to
+ the user. This feature is known as autoscrolling.</p>
+
+ <p>If a GUI control is both an active DropTarget and is also scrollable,
+ it can receive notifications of autoscrolling gestures by the user from
+ the Drag and Drop system by implementing this interface.</p>
+
+ <p>An autoscrolling gesture is initiated by the user by keeping the drag
+ cursor motionless with a border region of the Component, referred to as
+ the "autoscrolling region", for a predefined period of time, this will
+ result in repeated scroll requests to the Component until the drag Cursor
+ resumes its motion. </p>
+*/
+
+published interface XAutoscroll: com::sun::star::uno::XInterface
+{
+ /** Notify the component to autoscroll.
+
+ @param cursorLocationX
+ X location of the cursor in pixel.
+
+ @param cursorLocationY
+ Y location of the cursor in pixel.
+ */
+
+ void autoscroll( [in] long cursorLocationX, [in] long cursorLocationY );
+
+ /** Returns the regions describing the autoscrolling region.
+
+ @returns
+ The regions describing the autoscrolling region or border
+ relative to the geometry of the implementing component.
+ */
+
+ any getAutoscrollRegion();
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/datatransfer/dnd/XDragGestureListener.idl b/offapi/com/sun/star/datatransfer/dnd/XDragGestureListener.idl
new file mode 100644
index 000000000..23b2adb56
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/XDragGestureListener.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_datatransfer_dnd_XDragGestureListener_idl__
+#define __com_sun_star_datatransfer_dnd_XDragGestureListener_idl__
+
+#include <com/sun/star/datatransfer/dnd/DragGestureEvent.idl>
+#include <com/sun/star/lang/XEventListener.idl>
+
+
+module com { module sun { module star { module datatransfer { module dnd {
+
+/** This interface will be used by a XDragGestureRecognizer
+ when it detects a drag initiating gesture.
+
+ <p>The implementor of this interface is responsible for starting the drag
+ as a result of receiving such notification.</p>
+
+*/
+
+published interface XDragGestureListener: com::sun::star::lang::XEventListener
+{
+ /** A XDragGestureRecognizer has detected a platform-dependent
+ drag initiating gesture and is notifying this listener in order
+ for it to initiate the action for the user.
+
+ @param dge
+ The DragGestureEvent describing the gesture that has just occurred.
+
+ */
+ void dragGestureRecognized( [in] DragGestureEvent dge );
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/datatransfer/dnd/XDragGestureRecognizer.idl b/offapi/com/sun/star/datatransfer/dnd/XDragGestureRecognizer.idl
new file mode 100644
index 000000000..abc99c61f
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/XDragGestureRecognizer.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_datatransfer_dnd_XDragGestureRecognizer_idl__
+#define __com_sun_star_datatransfer_dnd_XDragGestureRecognizer_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module datatransfer { module dnd {
+
+ published interface XDragGestureListener;
+
+/** This interface is implemented by a view or window that supports drag
+ operations.
+
+ <p>Different to Java, the association between view and interface is fixed
+ and cannot be changed. Otherwise, the AWT messaging would have to be
+ implemented for any window supporting Drag and Drop operations, which would
+ be a performance issue.</p>
+*/
+
+published interface XDragGestureRecognizer: com::sun::star::uno::XInterface
+{
+ /** Registers a new XDragGestureListener.
+
+ @param dgl
+ The XDragGestureListener to register with this
+ XDragGestureRecognizer.
+ */
+
+ void addDragGestureListener( [in] XDragGestureListener dgl );
+
+ /** Unregisters the specified XDragGestureListener.
+
+ @param dgl
+ The XDragGestureListener to register with this
+ XDragGestureRecognizer.
+ */
+
+ void removeDragGestureListener( [in] XDragGestureListener dgl );
+
+ /** Reset the recognizer. If it is currently recognizing a gesture, ignore it.
+ */
+
+ void resetRecognizer();
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/datatransfer/dnd/XDragSource.idl b/offapi/com/sun/star/datatransfer/dnd/XDragSource.idl
new file mode 100644
index 000000000..dba6cb36c
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/XDragSource.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_datatransfer_dnd_XDragSource_idl__
+#define __com_sun_star_datatransfer_dnd_XDragSource_idl__
+
+#include <com/sun/star/datatransfer/dnd/InvalidDNDOperationException.idl>
+#include <com/sun/star/datatransfer/dnd/DragGestureEvent.idl>
+#include <com/sun/star/datatransfer/XTransferable.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+module com { module sun { module star { module datatransfer { module dnd {
+
+ published interface XDragSourceListener;
+
+/** This interface is implemented by a view or window that supports drag
+ operations and will be received as part of a DragGestureEvent
+ through a com::sun::star::datatransfer::dnd::XDragGestureListener::dragGestureRecognized()
+ callback.
+
+ <p>Differently to Java, the association between view and interface is fixed
+ and can not be changed. Otherwise, the AWT messaging would have to be
+ implemented for any window supporting Drag and Drop operations, which would
+ be a real performance issue.</p>
+*/
+
+published interface XDragSource: com::sun::star::uno::XInterface
+{
+
+ /** In order to query if drag image support is available.
+
+ @returns
+ A boolean indicating whether or not drag image support is
+ available on the underlying platform.
+ */
+
+ boolean isDragImageSupported();
+
+ /** To get the default cursor for a specified drag action.
+
+ @param dragAction
+ A drag action as specified in DNDConstants.
+
+ @returns
+ The default drag cursor for the specified drag action.
+ <p>The returned value may be used as parameter for the method
+ com::sun::star::datatransfer::dnd::XDragSourceContext::setCursor().</p>
+ */
+
+ long getDefaultCursor( [in] byte dragAction )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** Starts the drag operation.
+
+ <p>Note: this call does <em>not</em> block until the drag and drop
+ operation ends. If the Drag and Drop system is unable to initiate
+ a drag operation or if the user attempts to start a drag while an
+ existing drag operation is still executing, the action fails immediately.
+ This is indicated by calling
+ com::sun::star::datatransfer::dnd::XDragSourceListener::dragDropEnd()
+ on the parameter listener with a DragSourceDragEvent showing a failure.</p>
+
+ @param trigger
+ The DragGestureEvent that initiated the drag.
+
+ @param sourceActions
+ The action or actions supported for this transferable as defined
+ in DNDConstants.
+
+ @param cursor
+ The initial drag cursor id or 0 as default.
+
+ @param image
+ The initial drag image id or 0 as default.
+
+ @param trans
+ The transferable object dragged.
+
+ @param listener
+ The XDragSourceListener.
+
+ @see com::sun::star::datatransfer::XTransferable
+ */
+
+ void startDrag(
+ [in] DragGestureEvent trigger,
+ [in] byte sourceActions,
+ [in] long cursor,
+ [in] long image,
+ [in] com::sun::star::datatransfer::XTransferable trans,
+ [in] XDragSourceListener listener );
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/datatransfer/dnd/XDragSourceContext.idl b/offapi/com/sun/star/datatransfer/dnd/XDragSourceContext.idl
new file mode 100644
index 000000000..dd9f15b78
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/XDragSourceContext.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_datatransfer_dnd_XDragSourceContext_idl__
+#define __com_sun_star_datatransfer_dnd_XDragSourceContext_idl__
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+module com { module sun { module star { module datatransfer { module dnd {
+
+ published interface XDragSourceListener;
+
+/** The drag source context class is responsible for managing the initiator side
+ of the Drag and Drop protocol.
+
+ <p>In particular, it is responsible for managing event notifications to the
+ DragSourceListener and providing the Transferable state to enable the data
+ transfer. </p>
+
+ <p>An instance of this class is created as a result of the method XDragSource::startDrag()
+ being successfully invoked. This instance is responsible
+ for tracking the state of the operation on behalf of the drag source and
+ dispatching state changes to the drag source listener. </p>
+
+ @see com::sun::star::datatransfer::dnd::XDragSourceContext
+ @see com::sun::star::datatransfer::dnd::XDragSourceListener
+*/
+
+published interface XDragSourceContext: com::sun::star::uno::XInterface
+{
+ /** Get the identifier of the currently used cursor.
+
+ @returns
+ The currently selected drag cursor.
+ */
+
+ long getCurrentCursor();
+
+ /** This method sets the current drag cursor.
+
+ <p>This method should only be called to set another cursor than the
+ default one for drag action currently selected by the user.</p>
+ <p>Invalid cursor identifiers will be ignored.</p>
+
+ @param cursorId
+ The identifier the drag source returned when registering the cursor.
+ */
+
+ void setCursor( [in] long cursorId );
+
+ /** This method sets the current drag image.
+
+ @param imageId
+ The identifier the drag source returned when registering the image (0 = none).
+ Invalid identifier will be ignored.
+ */
+
+ void setImage( [in] long imageId );
+
+ /** This method notifies the context that the
+ com::sun::star::datatransfer::DataFlavor types
+ of the transferable object have changed.
+
+ @see com::sun::star::datatransfer::XTransferable
+ */
+
+ void transferablesFlavorsChanged();
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/datatransfer/dnd/XDragSourceListener.idl b/offapi/com/sun/star/datatransfer/dnd/XDragSourceListener.idl
new file mode 100644
index 000000000..342490232
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/XDragSourceListener.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_datatransfer_dnd_XDragSourceListener_idl__
+#define __com_sun_star_datatransfer_dnd_XDragSourceListener_idl__
+
+#include <com/sun/star/datatransfer/dnd/DragSourceDragEvent.idl>
+#include <com/sun/star/datatransfer/dnd/DragSourceDropEvent.idl>
+#include <com/sun/star/lang/XEventListener.idl>
+
+
+module com { module sun { module star { module datatransfer { module dnd {
+
+/** This interface must be implemented by any drag gesture recognizer
+ implementation that a drag source supports.
+
+ @see com::sun::star::datatransfer::dnd::XDragGestureRecognizer
+ @see com::sun::star::datatransfer::dnd::XDragSource
+*/
+
+published interface XDragSourceListener: com::sun::star::lang::XEventListener
+{
+ /** This method is invoked to signify that the Drag and Drop operation is
+ complete.
+
+ @param dsde
+ The DragSourceDropEvent
+ */
+
+ void dragDropEnd( [in] DragSourceDropEvent dsde );
+
+ /** Called as the hotspot enters a platform dependent drop site.
+
+ <p><strong>NOTE:</strong> currently this notification can not be ensured by all
+ implementations. Do not rely on it ! </p>
+
+ @param dsde
+ The DragSourceDragEvent.
+ */
+
+ void dragEnter( [in] DragSourceDragEvent dsde );
+
+ /** Called as the hotspot exits a platform dependent drop site.
+
+ <p><strong>NOTE:</strong> Currently this notification can not be ensured by all
+ implementations. Do not rely on it ! </p>
+
+ @param dse
+ The DragSourceEvent.
+ */
+
+ void dragExit( [in] DragSourceEvent dse );
+
+ /** Called as the hotspot moves over a platform dependent drop site.
+
+ @param dsde
+ The DragSourceEvent
+ */
+
+ void dragOver( [in] DragSourceDragEvent dsde );
+
+ /** Called when the user has modified the drop gesture.
+
+ @param dsde
+ The DragSourceEvent.
+ */
+
+ void dropActionChanged( [in] DragSourceDragEvent dsde );
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/datatransfer/dnd/XDropTarget.idl b/offapi/com/sun/star/datatransfer/dnd/XDropTarget.idl
new file mode 100644
index 000000000..2f27b90e1
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/XDropTarget.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_datatransfer_dnd_XDropTarget_idl__
+#define __com_sun_star_datatransfer_dnd_XDropTarget_idl__
+
+#include <com/sun/star/datatransfer/XTransferable.idl>
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module datatransfer { module dnd {
+
+ published interface XDropTargetListener;
+
+/** This interface is implemented by a view or window that supports drop
+ operations.
+
+ <p>Differently to Java, the association between view and interface is fixed
+ and cannot be changed. Otherwise, the AWT messaging would have to be
+ implemented for any window supporting Drag and Drop operations, which would
+ be a performance issue.</p>
+*/
+
+published interface XDropTarget: com::sun::star::uno::XInterface
+{
+ /** Add a DropTargetListener.
+
+ <p>The listener will be queried for the XAutoscroll interface
+ to see if it supports autoscrolling.</p>
+
+ @param dtl
+ The listener to add to the notification list.
+ */
+
+ void addDropTargetListener( [in] XDropTargetListener dtl );
+
+ /** Remove a drop target listener.
+
+ @param dtl
+ The listener to remove from notification list.
+ */
+
+ void removeDropTargetListener( [in] XDropTargetListener dtl );
+
+ /** Indicates either a drop target object is active or not.
+
+ @returns
+ A boolean indicating whether or not this drop target object is
+ currently active, that is ready to accept drops.
+ */
+
+ boolean isActive();
+
+ /** Sets the drop target object active or inactive.
+
+ @param active
+ A value of `TRUE` sets the drop target object active.
+ <p>A value of `FALSE` sets the drop target object inactive.
+ */
+
+ void setActive( [in] boolean active );
+
+ /** Determine the actions supported by a drop target.
+
+ @returns
+ The current action or actions supported by this drop target.
+
+ <p>By default this will include all drag and drop actions.</p>
+
+ @see com::sun::star::datatransfer::dnd::DNDConstants
+ */
+
+ byte getDefaultActions();
+
+ /** Sets the default acceptable actions for this drop target.
+
+ <p>This method is a way to reduce the number of Drag and Drop events
+ by blocking events for actions not supported by this target.</p>
+ <p>By default the listener will receive notifications for all actions.</p>
+
+ @param actions
+ The actions.
+
+ @see com::sun::star::datatransfer::dnd::DNDConstants
+ */
+ void setDefaultActions( [in] byte actions );
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/datatransfer/dnd/XDropTargetDragContext.idl b/offapi/com/sun/star/datatransfer/dnd/XDropTargetDragContext.idl
new file mode 100644
index 000000000..3fb006f9a
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/XDropTargetDragContext.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_datatransfer_dnd_XDropTargetDragContext_idl__
+#define __com_sun_star_datatransfer_dnd_XDropTargetDragContext_idl__
+
+#include <com/sun/star/datatransfer/dnd/InvalidDNDOperationException.idl>
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module datatransfer { module dnd {
+
+/** This interface is implemented by any drop target context object.
+
+ <p>A drop target context is created whenever the logical cursor associated
+ with a Drag and Drop operation moves within the visible geometry of a
+ window associated with a drop target. </p>
+
+ <p>The drop target context provides the mechanism for a potential receiver
+ of a drop operation to both provide the end user with the appropriate drag
+ under feedback and effect the subsequent data transfer, if appropriate. </p>
+*/
+
+published interface XDropTargetDragContext: com::sun::star::uno::XInterface
+{
+ /** Accept the Drag.
+
+ <p>This method should be called from the methods of XDropTargetListener
+ <ul>
+ <li>XDropTargetListener::dragEnter()</li>
+ <li>XDropTargetListener::dragOver()</li>
+ <li>XDropTargetListener::dragActionChanged()</li>
+ </ul>
+ if the implementation wishes to accept the drag operation with the specified
+ action.</p>
+
+ @param dragOperation
+ The operation accepted by the target.
+
+ @see DNDConstants
+ @see DropTargetDragEvent
+ */
+
+ void acceptDrag( [in] byte dragOperation );
+
+ /** Reject the drag as a result of examining the available
+ com::sun::star::datatransfer::DataFlavor types
+ received in the com::sun::star::datatransfer::dnd::XDropTargetListener::dragEnter() method.
+ */
+
+ void rejectDrag();
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/datatransfer/dnd/XDropTargetDropContext.idl b/offapi/com/sun/star/datatransfer/dnd/XDropTargetDropContext.idl
new file mode 100644
index 000000000..1f1f2dcdc
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/XDropTargetDropContext.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_datatransfer_dnd_XDropTargetDropContext_idl__
+#define __com_sun_star_datatransfer_dnd_XDropTargetDropContext_idl__
+
+#include <com/sun/star/datatransfer/dnd/InvalidDNDOperationException.idl>
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module datatransfer { module dnd {
+
+/** This interface is implemented by any drop target context object.
+
+ <p>A DropTargetContext is created whenever the logical cursor associated
+ with a Drag and Drop operation moves within the visible geometry of a
+ window associated with a DropTarget. </p>
+
+ <p>The drop target context provides the mechanism for a potential receiver
+ of a drop operation to provide the end user with the appropriate drag
+ under feedback and to effect the subsequent data transfer, if appropriate. </p>
+*/
+
+published interface XDropTargetDropContext : com::sun::star::uno::XInterface
+{
+ /** Accept the Drop.
+
+ <p>This method should be called from the
+ com::sun::star::datatransfer::dnd::XDropTargetListener::drop()
+ method if the implementation wishes to accept the drop operation with the specified action.</p>
+
+ @param dragOperation
+ The operation accepted by the target.
+
+ @see DNDConstants
+ @see DropTargetDragEvent
+ */
+
+ void acceptDrop( [in] byte dragOperation );
+
+ /** Reject the drop as a result of examining the available
+ com::sun::star::datatransfer::DataFlavor types
+ received in the XDropTargetListener::dragEnter() method.
+ */
+
+ void rejectDrop();
+
+ /** Signals that the drop is completed and if it was successful or not.
+
+ @param success
+ A value of `TRUE` means the drop completed successfully
+ <p>A value of `FALSE` means the drop completed unsuccessfully.</p>
+ */
+
+ void dropComplete( [in] boolean success );
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/datatransfer/dnd/XDropTargetListener.idl b/offapi/com/sun/star/datatransfer/dnd/XDropTargetListener.idl
new file mode 100644
index 000000000..5229d18e7
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/XDropTargetListener.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_datatransfer_dnd_XDropTargetListener_idl__
+#define __com_sun_star_datatransfer_dnd_XDropTargetListener_idl__
+
+#include <com/sun/star/datatransfer/dnd/DropTargetDragEnterEvent.idl>
+#include <com/sun/star/datatransfer/dnd/DropTargetDropEvent.idl>
+#include <com/sun/star/lang/XEventListener.idl>
+
+
+module com { module sun { module star { module datatransfer { module dnd {
+
+/** This interface is the callback interface used by the drop target object to
+ provide notification of Drag and Drop operations that involve the subject
+ drop target.
+
+ <p>Methods of this interface may be implemented to provide "drag under"
+ visual feedback to the user throughout the Drag and Drop operation.</p>
+*/
+
+published interface XDropTargetListener: com::sun::star::lang::XEventListener
+{
+ /** The drag operation has terminated with a drop on this drop target.
+
+ <p><strong>NOTE:</strong> The implementation
+ has to wait until the method XDropTargetDropContext::dropComplete()
+ is called before releasing the data for the drop operation. This
+ should occur before returning from drop in a normal flow of operation.
+ Also, the implementor of XDropTargetListener should not assume
+ the DropTargetDropEvent to be meaningful after returning
+ from the XDropTargetListener::drop() method.</p>
+
+ @param dtde
+ The DropTargetDropEvent.
+ */
+
+ void drop( [in] DropTargetDropEvent dtde );
+
+ /** Called when a drag operation has encountered the drop target.
+
+ @param dtdee
+ The DropTargetDragEvent.
+ */
+
+ void dragEnter( [in] DropTargetDragEnterEvent dtdee );
+
+ /** The drag operation has departed the drop target without dropping.
+
+ @param dte
+ The DropTargetEvent.
+ */
+
+ void dragExit( [in] DropTargetEvent dte );
+
+ /** Called when a drag operation is ongoing on the drop target.
+
+ @param dtde
+ The DropTargetEvent.
+ */
+
+ void dragOver( [in] DropTargetDragEvent dtde );
+
+ /** Called when the user has modified the drop gesture.
+
+ @param dtde
+ The DropTargetEvent.
+ */
+
+ void dropActionChanged( [in] DropTargetDragEvent dtde );
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/deployment/DependencyException.idl b/offapi/com/sun/star/deployment/DependencyException.idl
new file mode 100644
index 000000000..1a95466b7
--- /dev/null
+++ b/offapi/com/sun/star/deployment/DependencyException.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_DEPLOYMENT_DEPENDENCYEXCEPTION_IDL
+#define _COM_SUN_STAR_DEPLOYMENT_DEPENDENCYEXCEPTION_IDL
+
+#include <com/sun/star/uno/Exception.idl>
+
+module com { module sun { module star { module xml { module dom {
+ interface XElement;
+}; }; }; }; };
+
+module com { module sun { module star { module deployment {
+
+/**
+ describes unsatisfied dependencies a deployment unit has on its target
+ environment.
+
+ <p>This exception is intended to be used with an
+ com::sun::star::task::XInteractionHandler.</p>
+
+ @since OOo 2.0.4
+*/
+exception DependencyException: com::sun::star::uno::Exception {
+ /**
+ a sequence of dependencies represented by XML elements.
+
+ <p>The exact nature of those XML elements is deliberately left open, so
+ that new kinds of dependencies can be defined in the future.
+ OOo&nbsp;2.0.4 does not define any kinds of dependencies. Each such XML
+ element should have an attribute whose global name consists of the
+ namespace name
+ <code>http://openoffice.org/extensions/description/2006</code> and the
+ local part <code>name</code> and whose value is a human-readable
+ (English) description of the dependency. If an instance of OOo does not
+ know more about a specific kind of dependency, it should display the
+ value of that attribute to the user.</p>
+
+ <p>The sequence must not be empty, and none of the elements may be
+ `NULL`.</p>
+ */
+ sequence< com::sun::star::xml::dom::XElement > UnsatisfiedDependencies;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/deployment/DeploymentException.idl b/offapi/com/sun/star/deployment/DeploymentException.idl
new file mode 100644
index 000000000..786850513
--- /dev/null
+++ b/offapi/com/sun/star/deployment/DeploymentException.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef _com_sun_star_deployment_DeploymentException_idl
+#define _com_sun_star_deployment_DeploymentException_idl
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+module com { module sun { module star { module deployment {
+
+/** A DeploymentException reflects a deployment error.
+
+ @since OOo 2.0
+ */
+exception DeploymentException : com::sun::star::uno::Exception
+{
+ /** reflects the cause of the error. Commonly an exception.
+ */
+ any Cause;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/deployment/ExtensionManager.idl b/offapi/com/sun/star/deployment/ExtensionManager.idl
new file mode 100644
index 000000000..27b6e5816
--- /dev/null
+++ b/offapi/com/sun/star/deployment/ExtensionManager.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef _com_sun_star_deployment_ExtensionManager_idl
+#define _com_sun_star_deployment_ExtensionManager_idl
+
+#include <com/sun/star/deployment/XExtensionManager.idl>
+
+
+module com { module sun { module star { module deployment {
+
+/** the ExtensionManager service.
+
+ The component context entry is
+ <code>
+ /singletons/com.sun.star.deployment.ExtensionManager
+ </code>.
+
+ @since OOo 3.3
+*/
+singleton ExtensionManager : XExtensionManager;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/deployment/ExtensionRemovedException.idl b/offapi/com/sun/star/deployment/ExtensionRemovedException.idl
new file mode 100644
index 000000000..33cc71476
--- /dev/null
+++ b/offapi/com/sun/star/deployment/ExtensionRemovedException.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef _COM_SUN_STAR_DEPLOYMENT_EXTENSIONREMOVEDEXCEPTION_IDL
+#define _COM_SUN_STAR_DEPLOYMENT_EXTENSIONREMOVEDEXCEPTION_IDL
+
+#include <com/sun/star/uno/Exception.idl>
+
+module com { module sun { module star { module deployment {
+
+interface XPackage;
+
+/**
+ indicates that a function call with the given arguments is not supported
+ because the extension was removed. XPackage::isRemoved() will
+ return true on that object.
+
+ @since OOo 3.3
+*/
+exception ExtensionRemovedException: com::sun::star::uno::Exception {
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/deployment/InstallException.idl b/offapi/com/sun/star/deployment/InstallException.idl
new file mode 100644
index 000000000..54f7b4a2c
--- /dev/null
+++ b/offapi/com/sun/star/deployment/InstallException.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_DEPLOYMENT_INSTALLEXCEPTION_IDL
+#define _COM_SUN_STAR_DEPLOYMENT_INSTALLEXCEPTION_IDL
+
+#include <com/sun/star/uno/Exception.idl>
+
+module com { module sun { module star { module deployment {
+
+interface XPackage;
+
+/**
+ describes the fact that deployment unit is about to be installed.
+
+ <p>This exception is intended to be used with an
+ com::sun::star::task::XInteractionHandler.</p>
+
+ @since OOo 2.2
+*/
+exception InstallException: com::sun::star::uno::Exception {
+ /**
+ the display name of the extension, which is to be installed.
+
+ */
+ string displayName;
+
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/deployment/InvalidRemovedParameterException.idl b/offapi/com/sun/star/deployment/InvalidRemovedParameterException.idl
new file mode 100644
index 000000000..ee43fdf66
--- /dev/null
+++ b/offapi/com/sun/star/deployment/InvalidRemovedParameterException.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_DEPLOYMENT_INVALIDREMOVEDPARAMETEREXCEPTION_IDL
+#define _COM_SUN_STAR_DEPLOYMENT_INVALIDREMOVEDPARAMETEREXCEPTION_IDL
+
+#include <com/sun/star/uno/Exception.idl>
+
+module com { module sun { module star { module deployment {
+
+interface XPackage;
+
+/**
+ indicates that XPackageRegistry::bindPackage() was previously
+ called with a different value for the <code>removed</code> parameter and that
+ the XPackage object created by that call still exist.
+
+ @since OOo 3.3
+*/
+exception InvalidRemovedParameterException: com::sun::star::uno::Exception {
+ /** the value of the <code>removed</code> parameter which was used in
+ XPackageRegistry::bindPackage() to create the currently
+ existing XPackage object.
+ */
+ boolean PreviousValue;
+ /**
+ the XPackage that was already bound to the provided
+ <code>url</code> parameter during
+ XPackageRegistry::bindPackage().
+
+ <p>Must not be `NULL`.</p>
+ */
+ XPackage Extension;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/deployment/LicenseException.idl b/offapi/com/sun/star/deployment/LicenseException.idl
new file mode 100644
index 000000000..dc67bd967
--- /dev/null
+++ b/offapi/com/sun/star/deployment/LicenseException.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_deployment_LicenseException_idl
+#define _com_sun_star_deployment_LicenseException_idl
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+module com { module sun { module star { module deployment {
+
+/** A LicenseException reflects the necessity of someone agreeing to a license.
+
+ @since OOo 2.0.4
+ */
+exception LicenseException : com::sun::star::uno::Exception
+{
+ /** name of the extension.
+
+ The display name of the extension.
+ See XPackage::getDisplayName()
+ */
+ string ExtensionName;
+ /** contains the text of the license.
+ */
+ string Text;
+
+ /** contains the value of the attribute
+ `/description/registration/simple-license/@accept-by`
+ from the description.xml
+ */
+ string AcceptBy;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/deployment/PackageInformationProvider.idl b/offapi/com/sun/star/deployment/PackageInformationProvider.idl
new file mode 100644
index 000000000..59db3ddb0
--- /dev/null
+++ b/offapi/com/sun/star/deployment/PackageInformationProvider.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_deployment_PackageInformationProvider_idl__
+#define __com_sun_star_deployment_PackageInformationProvider_idl__
+
+#include <com/sun/star/deployment/XPackageInformationProvider.idl>
+
+module com { module sun { module star { module deployment {
+
+/** Implementations of this service provide the root location
+ of a package for a given Package ID.
+
+ @since OOo 2.3
+*/
+singleton PackageInformationProvider : XPackageInformationProvider;
+
+}; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/deployment/PackageRegistryBackend.idl b/offapi/com/sun/star/deployment/PackageRegistryBackend.idl
new file mode 100644
index 000000000..e80419b5c
--- /dev/null
+++ b/offapi/com/sun/star/deployment/PackageRegistryBackend.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_deployment_PackageRegistryBackend_idl
+#define _com_sun_star_deployment_PackageRegistryBackend_idl
+
+#include <com/sun/star/deployment/XPackageRegistry.idl>
+
+
+module com { module sun { module star { module deployment {
+
+/** The PackageRegistryBackend service is used to bind
+ a specific type of XPackage which can be registered or revoked.
+ <p>
+ All PackageRegistryBackend objects
+ are related to a XPackageManager instance.
+ </p>
+
+ @since OOo 2.0
+*/
+service PackageRegistryBackend : XPackageRegistry
+{
+ /** Creates a transient registry.
+
+ @param context
+ context of registry, e.g. user, shared
+ */
+ createTransient( [in] string context );
+
+ /** Creates a persistent registry.
+
+ @param context
+ context of registry, e.g. user, shared
+ @param cacheDirectory
+ cache directory that the registry has to use
+ @param readOnly
+ reflects whether writing to cache directory is allowed
+ */
+ createPersistent( [in] string context,
+ [in] string cacheDirectory,
+ [in] boolean readOnly );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/deployment/PlatformException.idl b/offapi/com/sun/star/deployment/PlatformException.idl
new file mode 100644
index 000000000..be050b4b5
--- /dev/null
+++ b/offapi/com/sun/star/deployment/PlatformException.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef _com_sun_star_deployment_PlatformException_idl
+#define _com_sun_star_deployment_PlatformException_idl
+
+#include <com/sun/star/uno/Exception.idl>
+
+module com { module sun { module star { module deployment {
+
+ interface XPackage;
+/** A DeploymentException indicates that the current platform
+ is not supported.
+
+ @since OOo 3.0
+ */
+exception PlatformException : com::sun::star::uno::Exception
+{
+ /** The package which does not support the current platform.
+ */
+ XPackage package;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/deployment/Prerequisites.idl b/offapi/com/sun/star/deployment/Prerequisites.idl
new file mode 100644
index 000000000..956ec2349
--- /dev/null
+++ b/offapi/com/sun/star/deployment/Prerequisites.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_deployment_prerequisites_idl_
+#define __com_sun_star_deployment_prerequisites_idl_
+
+module com { module sun { module star { module deployment {
+
+constants Prerequisites
+{
+ const long PLATFORM = 0x1;
+ const long DEPENDENCIES = 0x2;
+ const long LICENSE = 0x04;
+};
+
+
+} ; } ; } ; } ;
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/deployment/UpdateInformationEntry.idl b/offapi/com/sun/star/deployment/UpdateInformationEntry.idl
new file mode 100644
index 000000000..c930d79e3
--- /dev/null
+++ b/offapi/com/sun/star/deployment/UpdateInformationEntry.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_deployment_UpdateInformationEntry_idl__
+#define __com_sun_star_deployment_UpdateInformationEntry_idl__
+
+module com { module sun { module star { module xml { module dom {
+interface XElement;
+}; }; }; }; };
+
+module com { module sun { module star { module deployment {
+
+/** Objects of this type are used as elements of the enumeration
+ returned by XUpdateInformationProvider.
+
+ @since OOo 2.3
+*/
+struct UpdateInformationEntry
+{
+ /** the DOM representation of an update information entry
+ */
+ com::sun::star::xml::dom::XElement UpdateDocument;
+
+ /** the (optional) description for an update information
+ * entry extracted from the update feed container
+ */
+ string Description;
+};
+
+}; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/deployment/UpdateInformationProvider.idl b/offapi/com/sun/star/deployment/UpdateInformationProvider.idl
new file mode 100644
index 000000000..018ce4021
--- /dev/null
+++ b/offapi/com/sun/star/deployment/UpdateInformationProvider.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_deployment_UpdateInformationProvider_idl__
+#define __com_sun_star_deployment_UpdateInformationProvider_idl__
+
+#include <com/sun/star/deployment/XUpdateInformationProvider.idl>
+
+module com { module sun { module star { module deployment {
+
+/** Implementations of this service provide access to the root element
+ of one or more update information files for a given sets of URLs.
+
+ @since OOo 2.2
+*/
+service UpdateInformationProvider : XUpdateInformationProvider;
+
+}; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/deployment/VersionException.idl b/offapi/com/sun/star/deployment/VersionException.idl
new file mode 100644
index 000000000..d9e74e67b
--- /dev/null
+++ b/offapi/com/sun/star/deployment/VersionException.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_DEPLOYMENT_VERSIONEXCEPTION_IDL
+#define _COM_SUN_STAR_DEPLOYMENT_VERSIONEXCEPTION_IDL
+
+#include <com/sun/star/uno/Exception.idl>
+
+module com { module sun { module star { module deployment {
+
+interface XPackage;
+
+/**
+ describes version clashes of a deployment unit.
+
+ <p>This exception is intended to be used with an
+ com::sun::star::task::XInteractionHandler.</p>
+
+ @since OOo 2.1
+*/
+exception VersionException: com::sun::star::uno::Exception {
+ /**
+ the version of the extension which is being installed.
+ */
+ string NewVersion;
+ /**
+ the display name of the extension which is being installed.
+ */
+ string NewDisplayName;
+
+ /**
+ represents the already installed version of the deployment unit.
+
+ <p>Must not be `NULL`.</p>
+ */
+ XPackage Deployed;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/deployment/XExtensionManager.idl b/offapi/com/sun/star/deployment/XExtensionManager.idl
new file mode 100644
index 000000000..f607e3bfa
--- /dev/null
+++ b/offapi/com/sun/star/deployment/XExtensionManager.idl
@@ -0,0 +1,341 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef _com_sun_star_deployment_XExtensionManager_idl
+#define _com_sun_star_deployment_XExtensionManager_idl
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/task/XAbortChannel.idl>
+#include <com/sun/star/util/XModifyBroadcaster.idl>
+#include <com/sun/star/deployment/XPackage.idl>
+#include <com/sun/star/deployment/XPackageTypeInfo.idl>
+#include <com/sun/star/ucb/XCommandEnvironment.idl>
+#include <com/sun/star/deployment/DeploymentException.idl>
+#include <com/sun/star/container/NoSuchElementException.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/beans/NamedValue.idl>
+
+module com { module sun { module star { module deployment {
+
+/** The XExtensionManager interface is used to manage extensions
+ in the user, shared and bundled repository.
+
+ @see ExtensionManager
+ @since OOo 3.3
+*/
+interface XExtensionManager
+{
+ /** interface to notify disposing
+ */
+ interface com::sun::star::lang::XComponent;
+
+ /** interface to notify changes of the set of deployed packages of
+ this manager
+ */
+ interface com::sun::star::util::XModifyBroadcaster;
+
+
+ /** gets the supported XPackageTypeInfos.
+
+ @return
+ supported XPackageTypeInfos.
+ */
+ sequence<XPackageTypeInfo> getSupportedPackageTypes();
+
+ /** creates a command channel to be used to asynchronously abort a command.
+
+ @return
+ abort channel
+ */
+ com::sun::star::task::XAbortChannel createAbortChannel();
+
+ /** adds an extension.
+
+ The properties argument is currently only used to suppress the license information
+ for shared extensions.
+
+ @param url
+ package URL, must be UCB conform
+ @param properties
+ additional properties, for example, that the license is to be
+ suppressed (if supported by the extension)
+ @param repository
+ the name of the repository
+ @param xAbortChannel
+ abort channel to asynchronously abort the adding process,
+ or null
+ @param xCmdEnv
+ command environment for error and progress handling
+ @return
+ object representing the extension.
+ */
+ XPackage addExtension( [in] string url,
+ [in] sequence<com::sun::star::beans::NamedValue> properties,
+ [in] string repository,
+ [in] com::sun::star::task::XAbortChannel xAbortChannel,
+ [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
+ raises (DeploymentException,
+ com::sun::star::ucb::CommandFailedException,
+ com::sun::star::ucb::CommandAbortedException,
+ com::sun::star::lang::IllegalArgumentException);
+
+ /** removes an extension.
+
+ @param identifier
+ package identifier
+ @param fileName
+ package file name
+ @param repository
+ the name of the repository
+ @param xAbortChannel
+ abort channel to asynchronously abort the removing process,
+ or null
+ @param xCmdEnv
+ command environment for error and progress handling
+ */
+ void removeExtension(
+ [in] string identifier,
+ [in] string fileName,
+ [in] string repository,
+ [in] com::sun::star::task::XAbortChannel xAbortChannel,
+ [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
+ raises (DeploymentException,
+ com::sun::star::ucb::CommandFailedException,
+ com::sun::star::ucb::CommandAbortedException,
+ com::sun::star::lang::IllegalArgumentException);
+
+
+ /** enable an extension.
+
+ If the extension is not from the user repository then an
+ IllegalArgumentException is thrown.
+
+ @param extension
+ the extension which is to be enabled.
+ @param xAbortChannel
+ abort channel to asynchronously abort the removing process,
+ or null
+ @param xCmdEnv
+ command environment for error and progress handling
+ */
+ void enableExtension(
+ [in] XPackage extension,
+ [in] com::sun::star::task::XAbortChannel xAbortChannel,
+ [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
+ raises (DeploymentException,
+ com::sun::star::ucb::CommandFailedException,
+ com::sun::star::ucb::CommandAbortedException,
+ com::sun::star::lang::IllegalArgumentException);
+
+ /** disable an extension.
+
+ If the extension is not from the user repository then an
+ IllegalArgumentException is thrown.
+
+ @param extension
+ the extension which is to be disabled
+ @param xAbortChannel
+ abort channel to asynchronously abort the removing process,
+ or null
+ @param xCmdEnv
+ command environment for error and progress handling
+ */
+ void disableExtension(
+ [in] XPackage extension,
+ [in] com::sun::star::task::XAbortChannel xAbortChannel,
+ [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
+ raises (DeploymentException,
+ com::sun::star::ucb::CommandFailedException,
+ com::sun::star::ucb::CommandAbortedException,
+ com::sun::star::lang::IllegalArgumentException);
+
+ /** gets all currently installed extensions, including disabled
+ user extensions.
+
+ @param repository
+ the repository from which the extensions are returned
+ @param xAbortChannel
+ abort channel to asynchronously abort the removing process,
+ or null
+ @param xCmdEnv
+ command environment for error and progress handling
+ @return
+ all currently installed packages
+ */
+ sequence<XPackage> getDeployedExtensions(
+ [in] string repository,
+ [in] com::sun::star::task::XAbortChannel xAbortChannel,
+ [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
+ raises (DeploymentException,
+ com::sun::star::ucb::CommandFailedException,
+ com::sun::star::ucb::CommandAbortedException,
+ com::sun::star::lang::IllegalArgumentException);
+
+
+ /** gets an installed extensions.
+
+ @param repository
+ the name of the repository
+ @param identifier
+ extension identifier
+ @param fileName
+ extension file name
+ @param xCmdEnv
+ command environment for error and progress handling
+ @return
+ XPackage object
+ */
+ XPackage getDeployedExtension(
+ [in] string repository,
+ [in] string identifier,
+ [in] string fileName,
+ [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
+ raises (DeploymentException,
+ com::sun::star::ucb::CommandFailedException,
+ com::sun::star::lang::IllegalArgumentException);
+
+ /** gets all extensions with the same identifier from all repositories.
+
+ The extension at the first position in the returned sequence represents
+ the extension from the user repository. The next element is from the shared
+ and the last one is from the bundled repository.
+ If one repository does not contain this extension, then the respective
+ element is a null reference.
+ */
+ sequence<XPackage> getExtensionsWithSameIdentifier(
+ [in] string identifier,
+ [in] string fileName,
+ [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
+ raises (DeploymentException,
+ com::sun::star::ucb::CommandFailedException,
+ com::sun::star::lang::IllegalArgumentException);
+
+
+ /** returns a sequence containing all installed extensions.
+
+ The members of the returned sequence correspond to an extension with a
+ particular extension identifier. The members are also sequences which
+ contain as many elements as there are repositories. Those are ordered
+ according to the priority of the repository. That is, the first member
+ is the extension from the user repository, the second is from the shared
+ repository and the last is from the bundled repository.
+ */
+ sequence<sequence<XPackage> > getAllExtensions(
+ [in] com::sun::star::task::XAbortChannel xAbortChannel,
+ [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
+ raises (DeploymentException,
+ com::sun::star::ucb::CommandFailedException,
+ com::sun::star::ucb::CommandAbortedException,
+ com::sun::star::lang::IllegalArgumentException);
+
+
+ /** Expert feature: erases the underlying registry cache and reinstalls
+ all previously added extensions. Please keep in mind that all
+ registration status get lost.
+ <p>
+ Please use this in case of suspected cache inconsistencies only.
+ </p>
+ @param force
+ set to true when called during soffice bootstrap after cleaning
+ old extension cache
+ @param repository
+ the name of the repository
+ @param xAbortChannel
+ abort channel to asynchronously abort the adding process
+ @param xCmdEnv
+ command environment for error and progress handling
+ */
+ void reinstallDeployedExtensions(
+ [in] boolean force,
+ [in] string repository,
+ [in] com::sun::star::task::XAbortChannel xAbortChannel,
+ [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
+ raises (DeploymentException,
+ com::sun::star::ucb::CommandFailedException,
+ com::sun::star::ucb::CommandAbortedException,
+ com::sun::star::lang::IllegalArgumentException);
+
+
+ /** synchronizes the extension database with the contents of the extensions
+ folder of shared and bundled extensions.
+
+ Added extensions will be added to the database and removed extensions
+ will be removed from the database.
+ The active extensions are determined. That is, shared or bundled extensions
+ are not necessarily registered (XPackage::registerPackage()).
+
+ @return
+ If true - then at least one extension was removed or added. Otherwise
+ nothing was changed.
+ */
+ boolean synchronize(
+ [in] com::sun::star::task::XAbortChannel xAbortChannel,
+ [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
+ raises (DeploymentException,
+ com::sun::star::ucb::CommandFailedException,
+ com::sun::star::ucb::CommandAbortedException,
+ com::sun::star::lang::IllegalArgumentException);
+
+ /** returns all extensions which are currently not in use
+ because the user did not accept the license.
+
+ The function will not return any object for the user repository, because
+ a user extension will not be kept in the user repository if its license
+ is declined. Only extensions which are registered at start-up of OOo,
+ that is, shared and bundled extensions, can be returned.
+
+ Extensions which allow the license to be suppressed, that is, it does not
+ need to be displayed, and which are installed with the corresponding option,
+ are also not returned.
+
+ Extensions returned by these functions are not returned by
+ XExtensionManager::getDeployedExtension()
+ XExtensionManager::getDeployedExtensions()
+ XExtensionManager::getAllExtensions()
+ XExtensionManager::getExtensionsWithSameIdentifier()
+ */
+ sequence<XPackage> getExtensionsWithUnacceptedLicenses(
+ [in] string repository,
+ [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
+ raises (DeploymentException,
+ com::sun::star::lang::IllegalArgumentException);
+
+ /** check if all prerequisites for the extension are fulfilled
+ and activates it, if possible.
+ */
+ long checkPrerequisitesAndEnable(
+ [in] XPackage extension,
+ [in] com::sun::star::task::XAbortChannel xAbortChannel,
+ [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
+ raises (DeploymentException,
+ com::sun::star::ucb::CommandFailedException,
+ com::sun::star::ucb::CommandAbortedException,
+ com::sun::star::lang::IllegalArgumentException);
+
+ /** determines if the current user has write access to the extensions folder
+ of the repository.
+ */
+ boolean isReadOnlyRepository([in] string repository);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/deployment/XPackage.idl b/offapi/com/sun/star/deployment/XPackage.idl
new file mode 100644
index 000000000..825e66082
--- /dev/null
+++ b/offapi/com/sun/star/deployment/XPackage.idl
@@ -0,0 +1,370 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef _com_sun_star_deployment_XPackage_idl
+#define _com_sun_star_deployment_XPackage_idl
+
+#include <com/sun/star/beans/Optional.idl>
+#include <com/sun/star/beans/Ambiguous.idl>
+#include <com/sun/star/beans/StringPair.idl>
+#include <com/sun/star/deployment/DeploymentException.idl>
+#include <com/sun/star/deployment/XPackageTypeInfo.idl>
+#include <com/sun/star/deployment/ExtensionRemovedException.idl>
+#include <com/sun/star/graphic/XGraphic.idl>
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/task/XAbortChannel.idl>
+#include <com/sun/star/ucb/CommandFailedException.idl>
+#include <com/sun/star/ucb/CommandAbortedException.idl>
+#include <com/sun/star/ucb/XCommandEnvironment.idl>
+#include <com/sun/star/util/XModifyBroadcaster.idl>
+
+
+module com { module sun { module star { module deployment {
+
+/** Objects of this interface reflect a bound package and are issued by a
+ PackageRegistryBackend.
+
+ @since OOo 2.0
+*/
+interface XPackage
+{
+ /** implemented to notify that the package has been removed
+ */
+ interface com::sun::star::lang::XComponent;
+
+ /** notifies changes of the registration state of the package
+ */
+ interface com::sun::star::util::XModifyBroadcaster;
+
+
+ /** creates a command channel to be used to asynchronously abort a command.
+
+ @return
+ abort channel
+ */
+ com::sun::star::task::XAbortChannel createAbortChannel();
+
+ /** checks if the package can be installed.
+
+ Only if the return value is `TRUE` the package is allowed to be installed.
+ In case of `FALSE` or in case of an exception, the package must be removed
+ completely.
+ After return of this function no code from the extension may be used
+ anymore, so that the extension can be safely removed from the hard disk.
+
+ @param xAbortChannel
+ abort channel to asynchronously abort the registration process,
+ or `NULL`
+ @param xCmdEnv
+ command environment for error handling and other interaction.
+ @param alreadyInstalled
+ indicates that an extension with the same identifier is already installed.
+
+ @return
+ `NULL` - all prerequisites are met. Otherwise, a value from
+ Prerequisites indicating what prerequisites are missing.
+ */
+ long checkPrerequisites(
+ [in] com::sun::star::task::XAbortChannel xAbortChannel,
+ [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv,
+ [in] boolean alreadyInstalled)
+ raises (DeploymentException,
+ ExtensionRemovedException,
+ com::sun::star::ucb::CommandFailedException,
+ com::sun::star::ucb::CommandAbortedException);
+
+ /** checks if the dependencies for this package are still satisfied
+
+ After updating the OpenOffice.org, some dependencies for packages might
+ no longer be satisfied.
+
+ @since OOo 3.2
+
+ @param xCmdEnv
+ command environment for error handling and other interaction.
+
+ @return
+ `TRUE` - all dependencies are satisfied
+ `FALSE` - at least one dependency failed.
+ */
+ boolean checkDependencies(
+ [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
+ raises (DeploymentException,
+ ExtensionRemovedException,
+ com::sun::star::ucb::CommandFailedException);
+
+
+ /** determines whether the package is currently registered, i.e.
+ whether it is active.
+
+ @param xAbortChannel
+ abort channel to asynchronously abort the registration process,
+ or `NULL`
+ @param xCmdEnv
+ command environment for error and progress handling
+ @return
+ status whether the package is registered (`TRUE`, `FALSE`) or
+ the status is ambiguous. Additionally, a registration status
+ may not apply, e.g. in case of an empty package bundle.
+ */
+ com::sun::star::beans::Optional<
+ com::sun::star::beans::Ambiguous<boolean> > isRegistered(
+ [in] com::sun::star::task::XAbortChannel xAbortChannel,
+ [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
+ raises (DeploymentException,
+ com::sun::star::ucb::CommandFailedException,
+ com::sun::star::ucb::CommandAbortedException);
+
+ /** registers this XPackage.
+
+ NEVER call this directly. This is done by the extension manager if necessary.
+
+ @param startup
+ indicates that registration is adapted to the particular
+ startup scenario. That is, it is set to `TRUE`, when called
+ from XExtensionManager::synchronize()
+ @param xAbortChannel
+ abort channel to asynchronously abort the registration process,
+ or `NULL`
+ @param xCmdEnv
+ command environment for error and progress handling
+ */
+ void registerPackage(
+ [in] boolean startup,
+ [in] com::sun::star::task::XAbortChannel xAbortChannel,
+ [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
+ raises (DeploymentException,
+ ExtensionRemovedException,
+ com::sun::star::ucb::CommandFailedException,
+ com::sun::star::ucb::CommandAbortedException,
+ com::sun::star::lang::IllegalArgumentException);
+
+ /** revokes this XPackage.
+
+ NEVER call this directly. This is done by the extension manager if necessary.
+
+ @param startup
+ indicates that registration is adapted to the particular
+ startup scenario. That is, it is set to `TRUE`, when called
+ from XExtensionManager::synchronize()
+ @param xAbortChannel
+ abort channel to asynchronously abort the registration process,
+ or `NULL`
+ @param xCmdEnv
+ command environment for error and progress handling
+ */
+ void revokePackage(
+ [in] boolean startup,
+ [in] com::sun::star::task::XAbortChannel xAbortChannel,
+ [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
+ raises (DeploymentException,
+ com::sun::star::ucb::CommandFailedException,
+ com::sun::star::ucb::CommandAbortedException,
+ com::sun::star::lang::IllegalArgumentException);
+
+ /** reflects whether this package is a bundle of one or more packages,
+ e.g. a zip (legacy) package file or a document hosting script packages.
+
+ @return
+ `TRUE` if this package is a package bundle, `FALSE` otherwise
+ */
+ boolean isBundle();
+
+ /** Gets packages of the bundle.
+
+ If isRemoved() returns `TRUE` then getBundle may return an
+ empty sequence in case the object is not registered.
+
+ @param xAbortChannel
+ abort channel to asynchronously abort the registration process,
+ or `NULL`
+ @param xCmdEnv
+ command environment for error and progress handling
+ @return
+ set of packages enclosed in this package
+ */
+ sequence<XPackage> getBundle(
+ [in] com::sun::star::task::XAbortChannel xAbortChannel,
+ [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
+ raises (DeploymentException,
+ com::sun::star::ucb::CommandFailedException,
+ com::sun::star::ucb::CommandAbortedException,
+ com::sun::star::lang::IllegalArgumentException);
+
+ /** returns the file name of the package.
+
+ @return
+ file name of the package
+ */
+ string getName();
+
+ /** returns the unique extension identifier.
+
+ @return
+ the extension identifier (a
+ <code>"org.openoffice.legacy."</code> one if the extension does not
+ explicitly specify one), or an empty <code>Optional</code> if this
+ package does not represent an extension
+ */
+ com::sun::star::beans::Optional<string> getIdentifier();
+
+ /** returns the textual version representation of the package.
+
+ A textual version representation is a finite string following the
+ BNF<br/>
+ version ::= [element ("." element)*]<br/>
+ element ::= ("0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9")+
+
+ @return
+ the textual version representation
+ */
+ string getVersion()
+ raises (ExtensionRemovedException);
+
+ /** returns the location of the package.
+
+ @return
+ location of package
+ */
+ string getURL();
+
+ /** returns the display name of the package, e.g. for graphical user
+ interfaces (GUI).
+
+ @return
+ display name of the package
+ */
+ string getDisplayName()
+ raises (ExtensionRemovedException);
+
+ /** returns a description string to describe the package.
+
+ @return
+ description
+ */
+ string getDescription()
+ raises (ExtensionRemovedException);
+
+ /** returns a string containing the license text.
+
+ @return
+ license
+ */
+ string getLicenseText()
+ raises (DeploymentException,
+ ExtensionRemovedException);
+
+ /** returns a sequence of update information URLs.
+
+ The sequence may be empty in case no update information is available.
+ If the sequence contains more than one URL, the extra URLs must mirror
+ the information available at the first URL.
+
+ @return
+ update information URLs
+ */
+ sequence<string> getUpdateInformationURLs()
+ raises (ExtensionRemovedException);
+ /** returns the publisher info for the package, the strings
+ might be empty, if there is no publisher
+
+ ::com::sun::star::beans::StringPair::First
+ represents the publisher name and
+ ::com::sun::star::beans::StringPair::Second
+ represents the URL to the publisher.
+ */
+
+ ::com::sun::star::beans::StringPair getPublisherInfo()
+ raises (ExtensionRemovedException);
+ /** returns the XPackageTypeInfo, e.g. media-type etc.
+
+ @return
+ media type of package
+ */
+ XPackageTypeInfo getPackageType();
+
+ /** exports package to given destination URL.
+
+ @param destFolderURL
+ package destination folder URL, must be UCB conforming
+ @param newTitle
+ new package name
+ @param nameClashAction
+ one of com::sun::star::ucb::NameClash
+ @param xCmdEnv
+ command environment for error and progress handling
+ */
+ void exportTo( [in] string destFolderURL,
+ [in] string newTitle,
+ [in] long nameClashAction,
+ [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
+ raises (
+ ExtensionRemovedException,
+ com::sun::star::ucb::CommandFailedException,
+ com::sun::star::ucb::CommandAbortedException,
+ com::sun::star::ucb::ContentCreationException);
+
+ /** returns an icon for a package.
+
+ @param highContrast
+ return high contrast icon
+ @return
+ the icon which should be used to represent the table in the
+ database application window, or `NULL` if the default icon
+ should be used.
+ */
+ com::sun::star::graphic::XGraphic getIcon( [in] boolean highContrast )
+ raises (ExtensionRemovedException);
+
+ /** returns the name of the repository where this object comes from.
+ */
+ string getRepositoryName();
+
+ /** return a URL to a directory which contains the registration data.
+
+ This data may be created when calling
+ XPackage::registerPackage(). If this is the case is
+ indicated by
+ com::sun::star::beans::Optional::IsPresent of the return
+ value.
+ If registration data are created during registration, but the package is
+ currently not registered, for example after calling
+ XPackage::revokePackage(), then
+ com::sun::star::beans::Optional::IsPresent is `TRUE` and
+ the com::sun::star::beans::Optional::Value may
+ be an empty string.
+ */
+ com::sun::star::beans::Optional<string> getRegistrationDataURL()
+ raises (DeploymentException, ExtensionRemovedException);
+
+ /** indicates if this object represents a removed extension or extension
+ item. This is the case when it was created by providing
+ `TRUE` for the <code>removed</code> parameter in the function
+ XPackageRegistry::bindPackage().
+ */
+ boolean isRemoved();
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/deployment/XPackageInformationProvider.idl b/offapi/com/sun/star/deployment/XPackageInformationProvider.idl
new file mode 100644
index 000000000..2aac9bf75
--- /dev/null
+++ b/offapi/com/sun/star/deployment/XPackageInformationProvider.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_deployment_XPackageInformationProvider_idl__
+#define __com_sun_star_deployment_XPackageInformationProvider_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+
+module com { module sun { module star { module deployment {
+
+/** Objects implementing this interface provide a URL to the root of
+ an installed package.
+
+ @since OOo 2.3
+*/
+interface XPackageInformationProvider
+{
+ /** get Package information for a specific extension.
+
+ @param extensionId
+ the unique identifier of an extension. The service looks for
+ an installed package with the given id and returns the URL to
+ the root of the package. If the service can not find a matching
+ package, an empty string will be returned.
+ */
+ string getPackageLocation( [in] string extensionId );
+
+ /** check if there are updates available for an extension.
+
+ @param extensionId
+ the unique identifier of an extension. When the extensionId is empty,
+ the service looks checks all installed extensions for a newer version,
+ otherwise the service looks for updates for an installed package with
+ the given id.
+ If the service finds an update for an extension, a sequence containing the name
+ and the version will be returned for each extension which has an update.
+ If the service can not find a matching package, an empty sequence is returned.
+ */
+ sequence< sequence< string > > isUpdateAvailable( [in] string extensionId );
+
+ /** returns a list of all installed extension with their version.
+ */
+ sequence< sequence< string > > getExtensionList();
+};
+
+}; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/deployment/XPackageManager.idl b/offapi/com/sun/star/deployment/XPackageManager.idl
new file mode 100644
index 000000000..1db19203e
--- /dev/null
+++ b/offapi/com/sun/star/deployment/XPackageManager.idl
@@ -0,0 +1,313 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef _com_sun_star_deployment_XPackageManager_idl
+#define _com_sun_star_deployment_XPackageManager_idl
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/task/XAbortChannel.idl>
+#include <com/sun/star/util/XModifyBroadcaster.idl>
+#include <com/sun/star/deployment/XPackage.idl>
+#include <com/sun/star/deployment/XPackageTypeInfo.idl>
+#include <com/sun/star/ucb/XCommandEnvironment.idl>
+#include <com/sun/star/deployment/DeploymentException.idl>
+#include <com/sun/star/container/NoSuchElementException.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/beans/NamedValue.idl>
+
+
+module com { module sun { module star { module deployment {
+
+/** The XPackageManager interface is used to add or remove
+ packages to a specific repository. This interface represents a particular
+ repository.
+ Packages are deployable files, e.g. scripts or UNO components.
+ <p>
+ Adding a UNO package means that a copy of the package is stored
+ in the repository.
+ </p>
+ <p>
+ Removing a UNO package means that the previously added package is
+ removed from the repository.
+ </p>
+ <p>
+ All interface methods do neither register nor revoke an extension.
+ This happens exclusively by XExtensionManager.
+ </p>
+ <p>
+ Objects of this interface are created using the
+ XPackageManagerFactory service resp. the singleton
+ <code>
+ /singletons/com.sun.star.deployment.thePackageManagerFactory
+ </code>.
+ </p>
+
+ @see thePackageManagerFactory
+ @since OOo 2.0
+ @deprecated
+ Use XExtensionManager.
+*/
+interface XPackageManager
+{
+ /** interface to notify disposing
+ */
+ interface com::sun::star::lang::XComponent;
+
+ /** interface to notify changes of the set of deployed packages of
+ this manager
+ */
+ interface com::sun::star::util::XModifyBroadcaster;
+
+ /** returns the underlying deployment context, that is,
+ the name of the repository.
+
+ @return
+ underlying deployment context
+ */
+ string getContext();
+
+ /** gets the supported XPackageTypeInfos.
+
+ @return
+ supported XPackageTypeInfos.
+ */
+ sequence<XPackageTypeInfo> getSupportedPackageTypes();
+
+ /** creates a command channel to be used to asynchronously abort a command.
+
+ @return
+ abort channel
+ */
+ com::sun::star::task::XAbortChannel createAbortChannel();
+
+ /** adds a UNO package.
+
+ The properties argument is currently only used to suppress the license information
+ for shared extensions.
+
+
+ @param url
+ package URL, must be UCB conform
+ @param properties
+ additional properties, for example, that the license is to be
+ suppressed (if supported by the extension)
+ @param mediaType
+ media-type of package, empty string if to be detected
+ @param xAbortChannel
+ abort channel to asynchronously abort the adding process,
+ or null
+ @param xCmdEnv
+ command environment for error and progress handling
+ @return
+ XPackage handle
+ */
+ XPackage addPackage( [in] string url,
+ [in] sequence<com::sun::star::beans::NamedValue> properties,
+ [in] string mediaType,
+ [in] com::sun::star::task::XAbortChannel xAbortChannel,
+ [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
+ raises (DeploymentException,
+ com::sun::star::ucb::CommandFailedException,
+ com::sun::star::ucb::CommandAbortedException,
+ com::sun::star::lang::IllegalArgumentException);
+
+ /** adds an extension.
+
+ This copies the extension. If it was from the same repository,
+ which is represented by this XPackageManager interface, then
+ nothing happens.
+
+ @param extension
+
+ @param xAbortChannel
+ abort channel to asynchronously abort the adding process,
+ or null
+ @param xCmdEnv
+ command environment for error and progress handling
+ @return
+ XPackage handle
+ */
+ XPackage importExtension( [in] XPackage extension,
+ [in] com::sun::star::task::XAbortChannel xAbortChannel,
+ [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
+ raises (DeploymentException,
+ com::sun::star::ucb::CommandFailedException,
+ com::sun::star::ucb::CommandAbortedException,
+ com::sun::star::lang::IllegalArgumentException);
+
+ /** removes a UNO package.
+
+ @param identifier
+ package identifier
+ @param fileName
+ package file name
+ @param xAbortChannel
+ abort channel to asynchronously abort the removing process,
+ or null
+ @param xCmdEnv
+ command environment for error and progress handling
+ */
+ void removePackage( [in] string identifier,
+ [in] string fileName,
+ [in] com::sun::star::task::XAbortChannel xAbortChannel,
+ [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
+ raises (DeploymentException,
+ com::sun::star::ucb::CommandFailedException,
+ com::sun::star::ucb::CommandAbortedException,
+ com::sun::star::lang::IllegalArgumentException);
+
+ /** gets a deployed package.
+
+ @param identifier
+ package identifier
+ @param fileName
+ package file name
+ @param xCmdEnv
+ command environment for error and progress handling
+ @return
+ XPackage handle
+ */
+ XPackage getDeployedPackage(
+ [in] string identifier,
+ [in] string fileName,
+ [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
+ raises (DeploymentException,
+ com::sun::star::ucb::CommandFailedException,
+ com::sun::star::lang::IllegalArgumentException);
+
+ /** gets all currently deployed packages.
+
+ @param xAbortChannel
+ abort channel to asynchronously abort the removing process,
+ or null
+ @param xCmdEnv
+ command environment for error and progress handling
+ @return
+ all currently deployed packages
+ */
+ sequence<XPackage> getDeployedPackages(
+ [in] com::sun::star::task::XAbortChannel xAbortChannel,
+ [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
+ raises (DeploymentException,
+ com::sun::star::ucb::CommandFailedException,
+ com::sun::star::ucb::CommandAbortedException,
+ com::sun::star::lang::IllegalArgumentException);
+
+ /** Expert feature: erases the underlying registry cache and reinstalls
+ all previously added packages. Please keep in mind that all
+ registration status get lost.
+ <p>
+ Please use this in case of suspected cache inconsistencies only.
+ </p>
+
+ @param force
+ set to true when called during soffice bootstrap after cleaning
+ old extension cache
+ @param xAbortChannel
+ abort channel to asynchronously abort the adding process
+ @param xCmdEnv
+ command environment for error and progress handling
+ */
+ void reinstallDeployedPackages(
+ [in] boolean force,
+ [in] com::sun::star::task::XAbortChannel xAbortChannel,
+ [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
+ raises (DeploymentException,
+ com::sun::star::ucb::CommandFailedException,
+ com::sun::star::ucb::CommandAbortedException,
+ com::sun::star::lang::IllegalArgumentException);
+
+ /** indicates that this implementation cannot be used for tasks
+ which require write access to the location where the extensions
+ are installed.
+ <p>
+ Normally one would call a method and handle the exception
+ if writing failed. However, a GUI interface may need to know beforehand
+ if writing is allowed. For example, the Extension Manager dialog
+ needs to enable / disable the Add button depending if the user has
+ write permission. Only the XPackageManager implementation knows the
+ location of the installed extensions. Therefore it is not possible
+ to check &quot;externally&quot; for write permission.
+ </p>
+ */
+ boolean isReadOnly();
+
+ /** synchronizes the extension database with the contents of the extensions
+ folder.
+
+ Added extensions will be added to the database and removed extensions
+ will be removed from the database.
+
+ @param xAbortChannel
+ abort channel to asynchronously abort the adding process
+ @param xCmdEnv
+ command environment for error and progress handling
+
+ @return
+ If true - then at least one extension was removed or added. Otherwise
+ nothing was changed.
+ */
+ boolean synchronize([in] com::sun::star::task::XAbortChannel xAbortChannel,
+ [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
+ raises (DeploymentException,
+ com::sun::star::ucb::ContentCreationException,
+ com::sun::star::ucb::CommandFailedException,
+ com::sun::star::ucb::CommandAbortedException);
+
+
+ /** returns all extensions which are currently not in use
+ because the user did not accept the license.
+
+ The function will not return any object for the user repository, because
+ a user extension will not be kept in the user repository if its license
+ is declined. Only extensions which are registered at start-up of OOo,
+ that is, shared and bundled extensions, can be returned.
+
+ Extensions which allow the license to be suppressed, that is, it does not
+ need to be displayed, and which are installed with the corresponding option,
+ are also not returned.
+ */
+ sequence<XPackage> getExtensionsWithUnacceptedLicenses(
+ [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
+ raises (DeploymentException);
+
+ /** checks if the extension can be used.
+
+ The extension must be managed by this package manager, that is, it must
+ be recorded in its database. The package manager calls
+ XPackage::checkPrerequisites and updates its data base with the
+ result. The result, which is from Prerequisites will be
+ returned.
+ */
+ long checkPrerequisites(
+ [in] XPackage extension,
+ [in] com::sun::star::task::XAbortChannel xAbortChannel,
+ [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
+ raises (DeploymentException,
+ com::sun::star::ucb::CommandFailedException,
+ com::sun::star::ucb::CommandAbortedException,
+ com::sun::star::lang::IllegalArgumentException);
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/deployment/XPackageManagerFactory.idl b/offapi/com/sun/star/deployment/XPackageManagerFactory.idl
new file mode 100644
index 000000000..913a312a5
--- /dev/null
+++ b/offapi/com/sun/star/deployment/XPackageManagerFactory.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_deployment_XPackageManagerFactory_idl
+#define _com_sun_star_deployment_XPackageManagerFactory_idl
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/deployment/XPackageManager.idl>
+
+
+module com { module sun { module star { module deployment {
+
+/** The XPackageManagerFactory interface is used to obtain
+ XPackageManager instances.
+ <p>
+ You have to use the singleton
+ <code>
+ /singletons/com.sun.star.deployment.thePackageManagerFactory
+ </code>
+ exclusively.
+ </p>
+
+ @since OOo 2.0
+ @deprecated
+ Use XExtensionManager.
+*/
+interface XPackageManagerFactory
+{
+ /** Method to create (or reusing and already existing)
+ XPackageManager object to add or remove UNO packages
+ persistently.
+ <p>
+ Packages for context strings <code>"user"</code> and
+ <code>"shared"</code> will be registered and
+ revoked persistently.
+ </p>
+ <!-- p>
+ Document contexts (<code>"vnd.sun.star.tdoc:..."</code>) will get a
+ XPackageManager object that stores packages
+ in the given document and modify the manifest.
+ </p -->
+ <p>
+ Context strings other than <code>"user"</code>, <code>"shared"</code>
+ <!-- or <code>vnd.sun.star.tdoc</code --> will last in an
+ com::sun::star::lang::IllegalArgumentException.
+ </p>
+
+ @param context
+ context string, e.g.
+ <ul>
+ <li><code>"user"</code>
+ => persistent storage and registration into installation's
+ user layer
+ </li>
+ <li><code>"shared"</code>
+ => persistent storage and registration into installation's
+ shared layer
+ </li>
+ <!-- li><code>"vnd.sun.star.tdoc:///4711/uno_packages"</code>
+ (open document)
+ => transient storage in folder uno_packages
+ and transient registration
+ </li -->
+ </ul>
+ @return
+ XPackageManager object
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ in case of an invalid context
+ */
+ XPackageManager getPackageManager( [in] string context )
+ raises (com::sun::star::lang::IllegalArgumentException);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/deployment/XPackageRegistry.idl b/offapi/com/sun/star/deployment/XPackageRegistry.idl
new file mode 100644
index 000000000..8773d771e
--- /dev/null
+++ b/offapi/com/sun/star/deployment/XPackageRegistry.idl
@@ -0,0 +1,115 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef _com_sun_star_deployment_XPackageRegistry_idl
+#define _com_sun_star_deployment_XPackageRegistry_idl
+
+#include <com/sun/star/deployment/XPackage.idl>
+#include <com/sun/star/deployment/XPackageTypeInfo.idl>
+#include <com/sun/star/deployment/InvalidRemovedParameterException.idl>
+#include <com/sun/star/beans/StringPair.idl>
+
+
+module com { module sun { module star { module deployment {
+
+/** Interface to bind a UNO package.
+
+ @since OOo 2.0
+*/
+interface XPackageRegistry
+{
+ /** binds a package URL to a XPackage handle.
+ The returned UNO package handle ought to late-initialize itself,
+ thus the process of binding must not be an expensive operation, because
+ it is not abortable.
+
+ Calling the function several time with the same parameters must result
+ in returning the same object.
+
+ The file or folder at the location where url points to may not exist or
+ it was replaced. This can happen, for example, when a bundled extension
+ was removed by the setup and a user later starts OOo. Then the user data
+ may still contain all registration data of that extension, but the
+ actual extension files do not exist anymore. The registration data must
+ then be cleaned of all the remains of that extension. To do that one
+ creates an XPackage object on behalf of that extension and
+ calls XPackage::revokePackage(). The parameter
+ <code>removed</code> indicates this case. The returned object may not
+ rely on the file or folder to which refers <code>url</code>. Instead it
+ must use previously saved data to successfully carry out the revocation
+ of this object (XPackage::revokePackage()).
+
+ The implementation must ensure that there is only one instance of
+ XPackage for the same <code>url</code> at any
+ time. Therefore calling bindPackage() again with the same
+ <code>url</code> but different <code>mediaType</code> (the exception is,
+ if previously an empty string was provided to cause the determination
+ of the media type) or <code>removed</code> parameters will cause an
+ exception. A com::sun::star::lang::IllegalArgumentException will be
+ thrown in case of a different <code>mediaType</code> parameter and a
+ InvalidRemovedParameterException is thrown if the
+ <code>removed</code> parameter is different.
+
+ The <code>identifier</code> parameter must be provided when
+ <code>removed</code> = true. If not, then an
+ com::sun::star::lang::IllegalArgumentException will be thrown.
+
+ @param url
+ package URL, must be UCB conform
+ @param mediaType
+ media type of package, empty string if to be detected
+ @param removed
+ @param identifier
+ the identifier of the extension
+ @param xCmdEnv
+ command environment for error and progress handling
+ @return
+ XPackage handle
+ */
+ XPackage bindPackage(
+ [in] string url,
+ [in] string mediaType,
+ [in] boolean removed,
+ [in] string identifier,
+ [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
+ raises (DeploymentException,
+ InvalidRemovedParameterException,
+ com::sun::star::ucb::CommandFailedException,
+ com::sun::star::lang::IllegalArgumentException);
+
+ /** gets the supported XPackageTypeInfos.
+
+ @return
+ supported XPackageTypeInfos.
+ */
+ sequence<XPackageTypeInfo> getSupportedPackageTypes();
+
+ void packageRemoved(
+ [in] string url,
+ [in] string mediaType)
+ raises (DeploymentException,
+ com::sun::star::lang::IllegalArgumentException);
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/deployment/XPackageTypeInfo.idl b/offapi/com/sun/star/deployment/XPackageTypeInfo.idl
new file mode 100644
index 000000000..85d6c49a0
--- /dev/null
+++ b/offapi/com/sun/star/deployment/XPackageTypeInfo.idl
@@ -0,0 +1,86 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef _com_sun_star_deployment_XPackageTypeInfo_idl
+#define _com_sun_star_deployment_XPackageTypeInfo_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/deployment/ExtensionRemovedException.idl>
+
+module com { module sun { module star { module deployment {
+
+/** Objects of this interface provide information about a package's type.
+
+ @since OOo 2.0
+*/
+interface XPackageTypeInfo
+{
+ /** returns the media type of a package, e.g.
+ <code>application/vnd.sun.star.basic-script</code>.
+
+ @return
+ media type of package
+ */
+ string getMediaType();
+
+ /** returns a description string to describe a package type.
+
+ @return
+ description
+ */
+ string getDescription()
+ raises (ExtensionRemovedException);
+
+ /** returns a short description string to describe a package type
+ (one line only).
+
+ @return
+ description
+ */
+ string getShortDescription()
+ raises (ExtensionRemovedException);
+
+ /** returns a file filter string for the file picker user interface.
+ Both, the short description string and file filter string
+ will be passed to
+ com::sun::star::ui::dialogs::XFilterManager::appendFilter().
+
+ @return
+ file filter string
+ */
+ string getFileFilter();
+
+ /** returns an icon for a package.
+
+ @param highContrast
+ argument is ignored
+ @param smallIcon
+ argument is ignored
+ @return
+ empty any
+ @deprecated
+ */
+ any getIcon( [in] boolean highContrast, [in] boolean smallIcon );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/deployment/XUpdateInformationProvider.idl b/offapi/com/sun/star/deployment/XUpdateInformationProvider.idl
new file mode 100644
index 000000000..882d59f80
--- /dev/null
+++ b/offapi/com/sun/star/deployment/XUpdateInformationProvider.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_deployment_XUpdateInformationProvider_idl__
+#define __com_sun_star_deployment_XUpdateInformationProvider_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+
+module com { module sun { module star { module container {
+interface XEnumeration;
+}; }; }; };
+
+module com { module sun { module star { module task {
+interface XInteractionHandler;
+}; }; }; };
+
+module com { module sun { module star { module xml { module dom {
+interface XElement;
+}; }; }; }; };
+
+module com { module sun { module star { module deployment {
+
+/** Objects implementing this interface provide access to the xml root of
+ one or more update information files for a given set of URLs.
+
+ @since OOo 2.2
+*/
+interface XUpdateInformationProvider
+{
+ /** get update information for a specific extension or all available
+ information from a repository.
+
+ @param repositories
+ a repository and its mirrors.
+ @param extensionId
+ the unique identifier of an extension. If it is not empty and
+ the update document is an atom feed, only items whose "term"
+ attribute of the atom:category tag matches extensionId are returned.
+
+ */
+ sequence < com::sun::star::xml::dom::XElement > getUpdateInformation(
+ [in] sequence< string > repositories,
+ [in] string extensionId
+ ) raises ( com::sun::star::uno::Exception );
+
+ /** interrupts a getUpdateInformation call and let's it return immediately.
+ */
+ void cancel();
+
+ /** Sets an interaction handler to be used for further operations.
+
+ <p>
+ A default interaction handler is available as service
+ com::sun::star::task::InteractionHandler.
+ The documentation of this service also contains further
+ information about the interaction handler concept.
+ </p>
+
+ @see com::sun::star::task::InteractionHandler
+
+ @param handler
+ The interaction handler to be set
+ */
+ void setInteractionHandler( [in] com::sun::star::task::XInteractionHandler handler );
+
+ /** get update information for a specific extension or all available
+ information from a repository.
+
+ @param repositories
+ a repository and its mirrors.
+ @param extensionId
+ the unique identifier of an extension. If it is not empty and
+ the update document is an atom feed, only items whose "term"
+ attribute of the atom:category tag matches extensionId are returned.
+
+ @returns
+ an enumeration of UpdateInformationEntry.
+ */
+ com::sun::star::container::XEnumeration getUpdateInformationEnumeration(
+ [in] sequence< string > repositories,
+ [in] string extensionId
+ ) raises ( com::sun::star::uno::Exception );
+};
+
+}; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/deployment/test/SmoketestCommandEnvironment.idl b/offapi/com/sun/star/deployment/test/SmoketestCommandEnvironment.idl
new file mode 100644
index 000000000..e7a755168
--- /dev/null
+++ b/offapi/com/sun/star/deployment/test/SmoketestCommandEnvironment.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_deployment_test_SmoketestCommandEnvironment_idl_
+#define _com_sun_star_deployment_test_SmoketestCommandEnvironment_idl_
+
+
+#include <com/sun/star/ucb/XCommandEnvironment.idl>
+
+
+module com { module sun { module star { module deployment { module test {
+ /* The service is intended to be used in the smoke test to test the installation of
+ an extension (com::sun::star::deployment::XPackageManager::addPackage). It may therefore
+ be constantly adapted to meet the need of the smoke test
+ */
+ service SmoketestCommandEnvironment: ::com::sun::star::ucb::XCommandEnvironment;
+};};};};};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/deployment/thePackageManagerFactory.idl b/offapi/com/sun/star/deployment/thePackageManagerFactory.idl
new file mode 100644
index 000000000..7b9f106d6
--- /dev/null
+++ b/offapi/com/sun/star/deployment/thePackageManagerFactory.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_deployment_thePackageManagerFactory_idl
+#define _com_sun_star_deployment_thePackageManagerFactory_idl
+
+#include <com/sun/star/deployment/XPackageManagerFactory.idl>
+
+
+module com { module sun { module star { module deployment {
+
+/** thePackageManagerFactory denotes the one and only
+ XPackageManagerFactory object to be used.
+ <p>
+ The component context entry is
+ <code>
+ /singletons/com.sun.star.deployment.thePackageManagerFactory
+ </code>.
+ </p>
+
+ @since OOo 2.0
+ @deprecated
+ Use XExtensionManager.
+*/
+singleton thePackageManagerFactory : XPackageManagerFactory;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/deployment/ui/LicenseDialog.idl b/offapi/com/sun/star/deployment/ui/LicenseDialog.idl
new file mode 100644
index 000000000..223a3086c
--- /dev/null
+++ b/offapi/com/sun/star/deployment/ui/LicenseDialog.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_deployment_ui_LicenseDialog_idl
+#define _com_sun_star_deployment_ui_LicenseDialog_idl
+
+#include <com/sun/star/ui/dialogs/XExecutableDialog.idl>
+#include <com/sun/star/awt/XWindow.idl>
+
+
+module com { module sun { module star { module deployment { module ui {
+
+/** The LicenseDialog is used to display a license text.
+
+ @since OOo 2.0.4
+*/
+service LicenseDialog : com::sun::star::ui::dialogs::XExecutableDialog
+{
+ /** Create a GUI using the specific parent window and focus on the
+ given context.
+
+ @param xParent
+ parent window
+
+ @param extensionName
+ the display name of the extension
+ @param licenseText
+ text to be displayed
+ */
+ create( [in] com::sun::star::awt::XWindow xParent,
+ [in] string extensionName,
+ [in] string licenseText );
+};
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/deployment/ui/PackageManagerDialog.idl b/offapi/com/sun/star/deployment/ui/PackageManagerDialog.idl
new file mode 100644
index 000000000..6acb2487e
--- /dev/null
+++ b/offapi/com/sun/star/deployment/ui/PackageManagerDialog.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_deployment_ui_PackageManagerDialog_idl
+#define _com_sun_star_deployment_ui_PackageManagerDialog_idl
+
+#include <com/sun/star/ui/dialogs/XAsynchronousExecutableDialog.idl>
+#include <com/sun/star/awt/XWindow.idl>
+
+
+module com { module sun { module star { module deployment { module ui {
+
+/** The PackageManagerDialog is used to visually manage installed
+ packages of the user and shared installation as well as currently open
+ documents.
+
+ @since OOo 2.0
+*/
+service PackageManagerDialog : com::sun::star::ui::dialogs::XAsynchronousExecutableDialog
+{
+ /** Create a default GUI.
+ */
+ createDefault();
+
+ /** Create a GUI using the specific parent window and focus on the
+ given context.
+
+ @param xParent
+ parent window
+ @param focusedContext
+ context to be focused
+ */
+ create( [in] com::sun::star::awt::XWindow xParent,
+ [in] string focusedContext );
+
+ /** Create a GUI and pass the URL of the extension which shall be installed right away.
+ This constructor is intended for the case when unopkg is run as result of
+ clicking an extension in a file browser, etc. The extensions will always be installed
+ for the current user.
+
+ @param extensionURL
+ URL of extension
+ */
+ createAndInstall( [in] string extensionURL);
+
+};
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/deployment/ui/UpdateRequiredDialog.idl b/offapi/com/sun/star/deployment/ui/UpdateRequiredDialog.idl
new file mode 100644
index 000000000..c3a70e0ae
--- /dev/null
+++ b/offapi/com/sun/star/deployment/ui/UpdateRequiredDialog.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_deployment_ui_UpdateRequiredDialog_idl
+#define _com_sun_star_deployment_ui_UpdateRequiredDialog_idl
+
+#include <com/sun/star/ui/dialogs/XExecutableDialog.idl>
+#include <com/sun/star/awt/XWindow.idl>
+
+
+module com { module sun { module star { module deployment { module ui {
+
+/** The UpdateRequiredDialog is used to show a list of extensions not compatible with this office version.
+
+ @since OOo 3.2
+*/
+service UpdateRequiredDialog : com::sun::star::ui::dialogs::XExecutableDialog
+{
+ /** Create a GUI using the specific parent window and focus on the
+ given context.
+
+ */
+ create();
+};
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/AmbigousFilterRequest.idl b/offapi/com/sun/star/document/AmbigousFilterRequest.idl
new file mode 100644
index 000000000..d89c8b272
--- /dev/null
+++ b/offapi/com/sun/star/document/AmbigousFilterRequest.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_document_AmbigousFilterRequest_idl__
+#define __com_sun_star_document_AmbigousFilterRequest_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+module com { module sun { module star { module document {
+
+/** should be used for interaction to handle states of ambiguous filter detection
+
+ <p>
+ This exception indicates, that generic filter detection can't decide which of
+ two filters is the right one. In this case an interaction will be made.
+ Given URL can be used to decide between given two filters.
+ Decision can be made e.g. by a dialog, on which the user must select one
+ of these filters.
+ A possible continuation of type XInteractionFilterSelect
+ transport this decision back to source of started interaction.
+ </p>
+
+ @see XInteractionFilterSelect
+*/
+published exception AmbigousFilterRequest : ::com::sun::star::uno::Exception
+{
+ /** transport URL which couldn't be detected right
+ */
+ string URL;
+
+ /** transport the preselected filter
+ */
+ string SelectedFilter;
+
+ /** transport the real detected filter, which stands in conflict to the pre selected one
+ */
+ string DetectedFilter;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/BrokenPackageRequest.idl b/offapi/com/sun/star/document/BrokenPackageRequest.idl
new file mode 100644
index 000000000..627e6da7b
--- /dev/null
+++ b/offapi/com/sun/star/document/BrokenPackageRequest.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_document_BrokenPackageRequest_idl__
+#define __com_sun_star_document_BrokenPackageRequest_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+module com { module sun { module star { module document {
+
+/** Is used for interaction handle in case package is broken.
+
+ @since OOo 1.1.2
+*/
+published exception BrokenPackageRequest : ::com::sun::star::uno::Exception
+{
+ /** The name of the document that is broken
+ */
+ string aName;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/ChangedByOthersRequest.idl b/offapi/com/sun/star/document/ChangedByOthersRequest.idl
new file mode 100644
index 000000000..cadbbf362
--- /dev/null
+++ b/offapi/com/sun/star/document/ChangedByOthersRequest.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_document_ChangedByOthersRequest_idl__
+#define __com_sun_star_document_ChangedByOthersRequest_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/frame/XModel.idl>
+
+
+module com { module sun { module star { module document {
+
+/** Is used for interaction handle to query user decision in case the document
+ being saved was already stored by another user during the editing.
+
+ @since OOo 3.1
+*/
+published exception ChangedByOthersRequest : ::com::sun::star::uno::Exception
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/CmisProperty.idl b/offapi/com/sun/star/document/CmisProperty.idl
new file mode 100644
index 000000000..b06b84a0e
--- /dev/null
+++ b/offapi/com/sun/star/document/CmisProperty.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_document_CmisProperty_idl__
+#define __com_sun_star_document_CmisProperty_idl__
+
+module com { module sun { module star { module document {
+
+/** specifies a CMIS property.
+ */
+struct CmisProperty
+{
+ /** unique ID of the Cmis property
+ */
+ string Id;
+
+ /** specifies the display name of the CMIS property.
+ */
+ string Name;
+
+ /** type of the property
+ */
+ string Type;
+
+ /** specifies if the property is updatable.
+ */
+ boolean Updatable;
+
+ /** specifies if the property is required and
+ can not be empty.
+ */
+ boolean Required;
+
+ /** specifies if the property has multiple value
+ */
+ boolean MultiValued;
+
+ /** specifies if the property value can be freely set
+ or is restricted from a list of choices.
+ */
+ boolean OpenChoice;
+
+ /** specifies the possible choices of the values.
+ */
+ any Choices;
+
+ /** specifies value of the property
+ */
+ any Value;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/CmisVersion.idl b/offapi/com/sun/star/document/CmisVersion.idl
new file mode 100644
index 000000000..81712830a
--- /dev/null
+++ b/offapi/com/sun/star/document/CmisVersion.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_document_CmisVersion_idl__
+#define __com_sun_star_document_CmisVersion_idl__
+
+#include <com/sun/star/util/DateTime.idl>
+
+module com { module sun { module star { module document {
+
+/** specifies a CMIS document version.
+ */
+struct CmisVersion
+{
+ /** unique ID of the Cmis version
+ */
+ string Id;
+
+ /** specifies the time when the revision was created.
+ */
+ util::DateTime TimeStamp;
+
+ /** contains the author that created the version.
+ */
+ string Author;
+
+ /** contains the comment the author has left.
+ */
+ string Comment;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/CorruptedFilterConfigurationException.idl b/offapi/com/sun/star/document/CorruptedFilterConfigurationException.idl
new file mode 100644
index 000000000..fddd2ecd5
--- /dev/null
+++ b/offapi/com/sun/star/document/CorruptedFilterConfigurationException.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_document_CorruptedFilterConfigurationException_idl__
+#define __com_sun_star_document_CorruptedFilterConfigurationException_idl__
+
+#include <com/sun/star/uno/RuntimeException.idl>
+
+
+
+module com { module sun { module star { module document {
+
+
+/** This exception is thrown in case the global filter configuration
+ does not exists or contains corrupted data.
+
+ @since OOo 2.0
+ */
+published exception CorruptedFilterConfigurationException : ::com::sun::star::uno::RuntimeException
+{
+ /** Instead of the message part of an exception, this value
+ describe the type of corruption more in detail. */
+ string Details;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/DocumentEvent.idl b/offapi/com/sun/star/document/DocumentEvent.idl
new file mode 100644
index 000000000..5e3d00f2d
--- /dev/null
+++ b/offapi/com/sun/star/document/DocumentEvent.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_document_DocumentEvent_idl__
+#define __com_sun_star_document_DocumentEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+#include <com/sun/star/frame/XController2.idl>
+
+
+module com { module sun { module star { module document {
+
+
+/** describes an event happening in an OfficeDocument
+
+ <p>The com::sun::star::lang::EventObject::Source member
+ of the base type refers to the document which broadcasts the event.</p>
+
+ <p>This type is the successor of the EventObject type, which should not be used
+ anymore.</p>
+
+ @see XDocumentEventBroadcaster
+ @since OOo 3.1
+ */
+struct DocumentEvent : ::com::sun::star::lang::EventObject
+{
+ /** specifies the name of the event.
+
+ <p>It's the responsibility of the component supporting the XDocumentEventBroadcaster
+ interface to specify which events it supports.</p>
+ */
+ string EventName;
+
+ /** denotes the view respectively controller which the event applies to.
+
+ <p>Might be `NULL` if the event is not related to a concrete view of
+ the document.</p>
+ */
+ ::com::sun::star::frame::XController2
+ ViewController;
+
+ /** contains supplemental information about the event which is being notified
+
+ <p>The semantics of this additional information needs to be specified by the broadcaster
+ of the event.</p>
+ */
+ any Supplement;
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/DocumentProperties.idl b/offapi/com/sun/star/document/DocumentProperties.idl
new file mode 100644
index 000000000..f4705ba76
--- /dev/null
+++ b/offapi/com/sun/star/document/DocumentProperties.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_document_DocumentProperties_idl__
+#define __com_sun_star_document_DocumentProperties_idl__
+
+#include <com/sun/star/document/XDocumentProperties.idl>
+
+
+module com { module sun { module star { module document {
+
+/** provides document-specific information such as the author, creation date,
+ and user-defined fields.
+
+ <p>
+ This service replaces the deprecated DocumentInfo and
+ StandaloneDocumentInfo services.
+ </p>
+
+ @since OOo 3.0
+
+ @see XDocumentProperties
+ @see XDocumentPropertiesSupplier
+ */
+published service DocumentProperties : XDocumentProperties
+{
+ /** constructs default-initialized instance
+ */
+ create();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/DocumentRevisionListPersistence.idl b/offapi/com/sun/star/document/DocumentRevisionListPersistence.idl
new file mode 100644
index 000000000..79a9ee3f9
--- /dev/null
+++ b/offapi/com/sun/star/document/DocumentRevisionListPersistence.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_document_DocumentRevisionListPersistence_idl__
+#define __com_sun_star_document_DocumentRevisionListPersistence_idl__
+
+#include <com/sun/star/document/XDocumentRevisionListPersistence.idl>
+
+
+
+module com { module sun { module star { module document {
+
+/** interface to maintain a list of document revisions
+
+ <p>
+ <p>
+ */
+service DocumentRevisionListPersistence : XDocumentRevisionListPersistence;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/EmptyUndoStackException.idl b/offapi/com/sun/star/document/EmptyUndoStackException.idl
new file mode 100644
index 000000000..305c831a0
--- /dev/null
+++ b/offapi/com/sun/star/document/EmptyUndoStackException.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_document_EmptyUndoStackException_idl__
+#define __com_sun_star_document_EmptyUndoStackException_idl__
+
+#include <com/sun/star/util/InvalidStateException.idl>
+
+
+module com { module sun { module star { module document {
+
+
+/** is raised when an operation is attemption at an XUndoManager which requires a non-empty stack
+ of undo actions, and this requirement is not fulfilled.
+ @since OOo 3.4
+ */
+exception EmptyUndoStackException : ::com::sun::star::util::InvalidStateException
+{
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/EventDescriptor.idl b/offapi/com/sun/star/document/EventDescriptor.idl
new file mode 100644
index 000000000..9fa3f6ec1
--- /dev/null
+++ b/offapi/com/sun/star/document/EventDescriptor.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_document_EventDescriptor_idl__
+#define __com_sun_star_document_EventDescriptor_idl__
+
+
+module com { module sun { module star { module document {
+
+/** specifies an event binding for a document or a document content
+
+ @see Events
+ @see XEventsSupplier
+ */
+published service EventDescriptor
+{
+ /** specifies the type of the event handler
+
+ <p>
+ Usually this is one of the following:
+ <ul>
+ <li>"None"</li>
+ <li>"StarBasic"</li>
+ <li>"JavaScript"</li>
+ <li>"Presentation"</li>
+ </ul>
+ This list is extensible.
+ </p>
+ */
+ [property] string EventType;
+
+ /** specifies the script source code
+ */
+ [property] string Script;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/EventObject.idl b/offapi/com/sun/star/document/EventObject.idl
new file mode 100644
index 000000000..cb406d316
--- /dev/null
+++ b/offapi/com/sun/star/document/EventObject.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_document_EventObject_idl__
+#define __com_sun_star_document_EventObject_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+
+
+module com { module sun { module star { module document {
+
+/** is thrown on document and document content events
+
+ @see XEventListener
+ @see XEventBroadcaster
+
+ @deprecated
+ @see DocumentEvent
+ */
+published struct EventObject: com::sun::star::lang::EventObject
+{
+ /** specifies the name of the occurred event
+
+ <p>
+ For a list of possible event names see Events.
+ </p>
+ */
+ string EventName;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/Events.idl b/offapi/com/sun/star/document/Events.idl
new file mode 100644
index 000000000..ec8875c7a
--- /dev/null
+++ b/offapi/com/sun/star/document/Events.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_document_Events_idl__
+#define __com_sun_star_document_Events_idl__
+
+#include <com/sun/star/container/XNameReplace.idl>
+
+
+module com { module sun { module star { module document {
+
+/** is a collection of all events supported by a document or content of a
+ document
+
+ <p>
+ Such Events will be broadcasted by a XEventBroadcaster
+ to any XEventListener packed as EventObjects.
+ </p>
+ */
+published service Events
+{
+ /** offers access to the list of EventDescriptors
+
+ <p>
+ The following events are usually available:
+ <dl>
+ <dt>OnAlphaCharInput</dt>
+ <dt>OnClick</dt>
+ <dt>OnCloseApp</dt>
+ <dt>OnCopyTo</dt>
+ <dt>OnCopyToDone</dt>
+ <dt>OnError</dt>
+ <dt>OnFocus</dt>
+ <dt>OnInsertDone</dt>
+ <dt>OnInsertStart</dt>
+ <dt>OnLoad</dt>
+ <dt>OnLoadCancel</dt>
+ <dt>OnLoadDone</dt>
+ <dt>OnLoadError</dt>
+ <dt>OnLoadFinished</dt>
+ <dt>OnMailMerge</dt>
+ <dt>OnMailMergeFinished</dt>
+ <dt>OnModifyChanged</dt>
+ <dt>OnMouseOut</dt>
+ <dt>OnMouseOver</dt>
+ <dt>OnMove</dt>
+ <dt>OnNew</dt>
+ <dt>OnNewMail</dt>
+ <dt>OnNonAlphaCharInput</dt>
+ <dt>OnPageCountChange</dt>
+ <dt>OnPrepareUnload</dt>
+ <dt>OnPrepareViewClosing</dt>
+ <dt>OnPrint</dt>
+ <dt>OnResize</dt>
+ <dt>OnSave</dt>
+ <dt>OnSaveAs</dt>
+ <dt>OnSaveAsDone</dt>
+ <dt>OnSaveDone</dt>
+ <dt>OnSaveFinished</dt>
+ <dt>OnSelect</dt>
+ <dt>OnStartApp</dt>
+ <dt>OnToggleFullscreen</dt>
+ <dt>OnUnfocus</dt>
+ <dt>OnUnload</dt>
+ <dt>OnViewCreated</dt>
+ <dt>OnViewClosed</dt>
+ </dl>
+ </p>
+ */
+ interface com::sun::star::container::XNameReplace;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/ExoticFileLoadException.idl b/offapi/com/sun/star/document/ExoticFileLoadException.idl
new file mode 100644
index 000000000..e742f7edb
--- /dev/null
+++ b/offapi/com/sun/star/document/ExoticFileLoadException.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_document_ExoticFileLoadException_idl__
+#define __com_sun_star_document_ExoticFileLoadException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+module com { module sun { module star { module document {
+
+/** An exception used to notify loading of an exotic file format
+ @since LibreOffice 6.1
+*/
+exception ExoticFileLoadException : ::com::sun::star::uno::Exception
+{
+ /** contains the URL of the document
+ */
+ string URL;
+
+ /** contains the UI name of the filter
+ */
+ string FilterUIName;
+};
+
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/document/ExportFilter.idl b/offapi/com/sun/star/document/ExportFilter.idl
new file mode 100644
index 000000000..c8654d7cf
--- /dev/null
+++ b/offapi/com/sun/star/document/ExportFilter.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_document_ExportFilter_idl__
+#define __com_sun_star_document_ExportFilter_idl__
+
+#include <com/sun/star/document/XExporter.idl>
+#include <com/sun/star/document/XFilter.idl>
+#include <com/sun/star/lang/XInitialization.idl>
+#include <com/sun/star/container/XNamed.idl>
+
+
+module com { module sun { module star { module document {
+
+/** filter for exports
+
+ <p>
+ Such filters can be used for exporting a content.
+ Of course it's possible to combine it with the service ImportFilter
+ if import functionality should be available at same implementation too.
+ </p>
+
+ @see ImportFilter
+ */
+published service ExportFilter
+{
+ /** set source(!) document for this filter
+
+ <p>
+ The document must be used as the source for following filter operation.
+ Any content from there will be exported to another format.
+ </p>
+ */
+ interface XExporter;
+
+ /** filter interface
+
+ <p>
+ It's used to filter a document at saving time.
+ The source document should be already set by using another interface
+ XExporter which is supported by this service too.
+ </p>
+
+ <p>
+ Tip:<br>
+ If same implementation provides the service ImportFilter too,
+ code must distinguish between filtering from a source document (for export) or
+ filtering to a target document (for import). This can be recognized by saving
+ state of used interfaces XExporter or XImporter!
+ Otherwise it's not clear which action is required here.
+ </p>
+ */
+ interface XFilter;
+
+ /** support initialization of filter with its own configuration
+
+ <p>
+ A filter object must be created by global service FilterFactory.
+ If filter supports this optional interface, he will be initialized by the factory directly
+ after creation. The factory will pass the following information to this new instance:
+ <ul>
+ <li>first item will be a set of configuration data of the filter</li>
+ <li>after that will follow may given optional parameters of call
+ com::sun::star::lang::XMultiServiceFactory::createInstanceWithArguments()
+ of service FilterFactory.
+ </li>
+ </ul>
+ See description of service FilterFactory::XNameContainer for a description of
+ possible configuration data.
+ </p>
+ */
+ [optional] interface com::sun::star::lang::XInitialization;
+
+ /** provides access to the internal name of this filter
+
+ <p>
+ This internal filter name can be used on service FilterFactory
+ to get further information about it (e.g. his registration for mime types or extensions etc.)
+ It's important that returned string is the "internal name" of the filter which must be
+ unambiguous against all other registered filters in current installation.
+ </p>
+ <p>
+ <strong>Attention!</strong><br>
+ Supported method setName() should be ignored or forwarded to the FilterFactory.
+ It's not allowed to set it directly to the configuration. Because it depends
+ from real implementation of the FilterFactory if it will be allowed or not!
+ </p>
+ */
+ [optional] interface com::sun::star::container::XNamed;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/ExtendedTypeDetection.idl b/offapi/com/sun/star/document/ExtendedTypeDetection.idl
new file mode 100644
index 000000000..9008d430b
--- /dev/null
+++ b/offapi/com/sun/star/document/ExtendedTypeDetection.idl
@@ -0,0 +1,97 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_document_ExtendedTypeDetection_idl__
+#define __com_sun_star_document_ExtendedTypeDetection_idl__
+
+#include <com/sun/star/document/XExtendedFilterDetection.idl>
+
+
+module com { module sun { module star { module document {
+
+/** describes a class of service which will be used for deep TypeDetection
+ in a generic way
+
+ <p>
+ Due to the registered types, flat TypeDetection is already possible, i.e.
+ the assignment of types (e.g. to a URL) only on the basis of configuration data.
+ If, however, you imagine special cases (e.g. modifying the file extension of a
+ Writer file from .sdw to .doc), it quickly becomes clear that you cannot always
+ get a correct result with flat detection. To be certain to get correct results,
+ you need deep detection, i.e. the file itself has to be examined.
+ And that is exactly the function of DetectServices. They get all the information
+ collected so far on a document and then decide which type to assign it to.
+ In the new modular model, such a detector is meant as UNO service which registers
+ itself in the office and is requested by the generic type detection if necessary.
+ <br>
+ Therefore you need two pieces of information:
+ <ul>
+ <li>
+ The <strong>ServiceName</strong> - This must be a valid UNO service name.
+ It is also an entry in the corresponding configuration list.
+ <br>
+ Example: "com.company.division.DetectService"
+ <br>
+ Note that this really means the implementation name of the service.
+ Because it's not possible otherwise to distinguish between more than one
+ registered detect services in same office installation! But it's possible for
+ the generic type detection to create a UNO service by his implementation name too.
+ </li>
+ <li>
+ A list of <strong>Types</strong> able to be recognized by this service -
+ You can also implement and register detectors for groups of types.
+ </li>
+ </ul>
+ See service TypeDetection and his configuration for further information.
+ </p>
+
+ @see TypeDetection
+ */
+published service ExtendedTypeDetection
+{
+ /** makes the deep detection
+
+ <p>
+ Generic type detection searches for a registered DetectService for an
+ already flat detected type. If any could be found it will be created and
+ used by calling methods of this interface. It gets a MediaDescriptor
+ which contains information about the document which should be detected and must return
+ <ul>
+ <li>an internal type name for detected format</li>
+ <li>or `NULL` if format is unknown nor supported.</li>
+ </ul>
+ May be that given descriptor already includes the opened document stream as parameter
+ MediaDescriptor::InputStream. Then this one should be used every time.
+ If it's not included in descriptor the value of MediaDescriptor::URL
+ must be used to open requested resource by this service.
+ <br>
+ Note: The stream should be added to the descriptor if it wasn't a part of them before.
+ So further steps on the whole detection process can use it and will perform her work.
+ It's further not allowed to hold a reference to this stream any longer. Only copies
+ will be valid then. Otherwise nobody can close this stream then.
+ </p>
+ */
+ interface XExtendedFilterDetection;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/ExtendedTypeDetectionFactory.idl b/offapi/com/sun/star/document/ExtendedTypeDetectionFactory.idl
new file mode 100644
index 000000000..a9fe2a77f
--- /dev/null
+++ b/offapi/com/sun/star/document/ExtendedTypeDetectionFactory.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_document_ExtendedTypeDetectionFactory_idl__
+#define __com_sun_star_document_ExtendedTypeDetectionFactory_idl__
+
+#include <com/sun/star/lang/XMultiServiceFactory.idl>
+#include <com/sun/star/container/XNameContainer.idl>
+#include <com/sun/star/container/XContainerQuery.idl>
+#include <com/sun/star/util/XFlushable.idl>
+
+
+module com { module sun { module star { module document {
+
+/** factory to create extended type detection components.
+
+ <p>
+ This factory implements read/write access on the underlying configuration set.
+ and further a validate and flush mechanism for more performance and a special query mode
+ can be used here too.
+ </p>
+
+ @since OOo 1.1.2
+ */
+published service ExtendedTypeDetectionFactory
+{
+ /** factory interface to create and initialize extended type detection components.
+
+ <p>
+ A detection component must be specified by its UNO implementation name and will be created then.
+ Every new created component can be initialized with its own configuration data
+ and may given optional arguments of the corresponding createInstanceWithArguments() request. To do so the
+ service must support the optional interface com::sun::star::lang::XInitialization.
+ The arguments parameter will have the following structure:
+ <ul>
+ <li>sequence< Any >[0] contains a sequence< com::sun::star::beans::PropertyValue >,
+ which represent the configuration data set of this detector component. The used properties are the same, as
+ they are available at the container interface of this factory service. (see below)</li>
+ <li>Every following item of the argument list sequence< Any >[1..n] contains the copied argument of the
+ corresponding createInstanceWithArguments() call. That means: Item 0 or the original list was copied as
+ item 1 of the destination list ... etc.
+ </ul>
+ </p>
+ */
+ interface com::sun::star::lang::XMultiServiceFactory;
+
+ /** provides read access to the complete set of configuration data.
+
+ <p>
+ Every container item is specified as a set of properties and will be
+ represented by a sequence< com::sun::star::beans::PropertyValue > structure.
+ Follow properties are supported:
+ (But note: not all of them must be present every time!)
+ </p>
+ <table border=1>
+ <tr>
+ <td><strong>Property Name</strong></td>
+ <td><strong>Value Type</strong></td>
+ <td><strong>Description</strong></td>
+ </tr>
+ <tr>
+ <td><em>Name</em></td>
+ <td>[string]</td>
+ <td>It means the UNO implementation name of the detector component.
+ Note: It means the really the implementation instead of the UNO service name.
+ Because it's not possible to distinguish between more than one components; if all of them
+ uses a generic service identifier!</td>
+ </tr>
+ <tr>
+ <td><em>Types</em></td>
+ <td>[sequence< string >]</td>
+ <td>It's a list of all types, which can be detected by this extended detection component.
+ All items of this list must match an item of the TypeDetection container service.</td>
+ </tr>
+ </table>
+ </p>
+ */
+ interface com::sun::star::container::XNameAccess;
+
+ /** provides a write access to the configuration data.
+ */
+ [optional] interface com::sun::star::container::XNameContainer;
+
+ /** provides search on the configuration data set.
+
+ <p>
+ Against simple property search it provides some complex algorithms too.
+ For further information please read the SDK documentation.
+ </p>
+ */
+ [optional] interface com::sun::star::container::XContainerQuery;
+
+ /** can be used to perform container changes.
+
+ <p>
+ Because the complexness of such configuration set can be very high,
+ it seems not very useful to update the underlying configuration layer
+ on every container change request immediately. Another strategy can be to
+ make all changes (adding/changing/removing of items) and call flush at the end.
+ That will validate the whole container and reject inconsistent data sets.
+ Only in case all made changes was correct, they will be written back to the
+ configuration. Further this interface provides the possibility, that interested
+ changes listener can be registered too.
+ </p>
+ */
+ [optional] interface com::sun::star::util::XFlushable;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/FilterAdapter.idl b/offapi/com/sun/star/document/FilterAdapter.idl
new file mode 100644
index 000000000..ed9f7db25
--- /dev/null
+++ b/offapi/com/sun/star/document/FilterAdapter.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_DOCUMENT_FILTERADAPTER_IDL__
+#define _COM_SUN_STAR_DOCUMENT_FILTERADAPTER_IDL__
+
+#include <com/sun/star/document/XFilterAdapter.idl>
+
+
+module com { module sun { module star { module document {
+
+ /* Provides access to user to filters written to use the FilterAdapter
+
+ @since OOo 1.1.2
+ */
+published service FilterAdapter
+ {
+ interface XFilterAdapter;
+ };
+ };
+ };
+ };
+};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/FilterConfigRefresh.idl b/offapi/com/sun/star/document/FilterConfigRefresh.idl
new file mode 100644
index 000000000..cd2856105
--- /dev/null
+++ b/offapi/com/sun/star/document/FilterConfigRefresh.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_document_FilterConfigRefresh_idl__
+#define __com_sun_star_document_FilterConfigRefresh_idl__
+
+#include <com/sun/star/util/XRefreshable.idl>
+
+
+module com { module sun { module star { module document {
+
+
+/**
+ @since LibreOffice 4.1
+ */
+service FilterConfigRefresh : com::sun::star::util::XRefreshable;
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/FilterFactory.idl b/offapi/com/sun/star/document/FilterFactory.idl
new file mode 100644
index 000000000..acb0280e2
--- /dev/null
+++ b/offapi/com/sun/star/document/FilterFactory.idl
@@ -0,0 +1,226 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_document_FilterFactory_idl__
+#define __com_sun_star_document_FilterFactory_idl__
+
+#include <com/sun/star/lang/XMultiServiceFactory.idl>
+#include <com/sun/star/container/XNameContainer.idl>
+#include <com/sun/star/container/XContainerQuery.idl>
+#include <com/sun/star/util/XFlushable.idl>
+
+
+module com { module sun { module star { module document {
+
+/** factory to create filter components.
+
+ <p>
+ After a generic TypeDetection an internal type name
+ will be known. Further a generic com::sun::star::frame::FrameLoader
+ can use this information, to search a suitable filter (may the default filter) at
+ this factory and use it for loading the document into a specified frame.
+ </p>
+
+ <p>
+ This factory implements read/write access on the underlying configuration set.
+ and further a validate and flush mechanism for more performance and a special query mode
+ can be used here too.
+ </p>
+ */
+published service FilterFactory
+{
+ /** factory interface to create and initialize filter components.
+
+ <p>
+ <strong>Current behavior</strong><p>
+ The methods createInstance() or createInstanceWithArguments() of this interface must be
+ called with an internal type name!. This name is used internally to search a suitable
+ (mostly the default) filter for this type then. The found filter will be created, initialized
+ and returned then. Creation of a filter by using its internal filter name directly can be
+ reached by using createInstanceWithArguments() with an optional property "FilterName" only.
+ See the following example:
+
+ @code{.java}
+ private com.sun.star.uno.XInterface createFilterDirect( com.sun.star.lang.XMultiServiceFactory xFilterFactory ,
+ java.lang.String sInternalFilterName )
+ {
+ com.sun.star.beans.PropertyValue aFilterProp = new com.sun.star.beans.PropertyValue();
+ aFilterProp.Name = "FilterName";
+ aFilterProp.Value = sInternalFilterName;
+
+ com.sun.star.uno.Any[] lProps = new com.sun.star.uno.Any[1];
+ lProps[0] = aFilterProp;
+
+ java.lang.Object aFilter = xFilterFactory.createInstanceWithArguments("", lProps);
+ return (com.sun.star.uno.XInterface)UnoRuntime.queryInterface(com.sun.star.uno.XInterface.class, aFilter);
+ }
+ @endcode
+ </p>
+
+ <p>
+ <strong>Proposed behavior</strong><p>
+ Searching of a suitable filter for a given internal type name, must be done by the new interface
+ com::sun::star::container::XContainerQuery, available on this factory too.
+ The factory interface can be used to create filter components by its internal filter name only.
+ </p>
+
+ <p>
+ <strong>How it can be distinguished?</strong><p>
+ The new proposed implementation will throw a com::sun::star::container::NoSuchElementException
+ if the first parameter of createInstance() or createInstanceWithArguments() does not match to a valid container (means
+ filter) item. Further it will throw a com::sun::star::lang::IllegalArgumentException if the optional
+ parameter "FilterName" could not be detected inside the argument list of call createInstanceWithArguments().
+ </p>
+
+ <p>
+ <strong>Initialization of a filter component</strong><p>
+ Every filter, which was created by this factory can(!) be initialized with its own configuration data
+ and may given optional arguments of the corresponding createInstanceWithArguments() request. To do so the filter
+ instance must support the optional interface com::sun::star::lang::XInitialization.
+ The arguments parameter will have the following structure:
+ <ul>
+ <li>sequence< Any >[0] contains a sequence< com::sun::star::beans::PropertyValue >,
+ which represent the configuration data set of this filter. The used properties are the same, as
+ they are available at the container interface of this factory service. (see below)</li>
+ <li>Every following item of the argument list sequence< Any >[1..n] contains the copied argument of the
+ corresponding createInstanceWithArguments() call. That means: Item 0 or the original list was copied as
+ item 1 of the destination list ... etc.
+ </ul>
+ </p>
+ */
+ interface com::sun::star::lang::XMultiServiceFactory;
+
+ /** provides read access to the complete set of configuration data.
+
+ <p>
+ Every container item is specified as a set of properties and will be
+ represented by a sequence< com::sun::star::beans::PropertyValue > structure.
+ Follow properties are supported:
+ (But note: not all of them must be present every time!)
+ </p>
+ <table border=1>
+ <tr>
+ <td><strong>Property Name</strong></td>
+ <td><strong>Value Type</strong></td>
+ <td><strong>Description</strong></td>
+ </tr>
+ <tr>
+ <td><em>Name</em></td>
+ <td>[string]</td>
+ <td>The internal name is the only value, which makes a container item unique.</td>
+ </tr>
+ <tr>
+ <td><em>UIName</em></td>
+ <td>[string]</td>
+ <td>It contains the localized name for this filter for the current locale.</td>
+ </tr>
+ <tr>
+ <td><em>UINames</em></td>
+ <td>[sequence< string >]</td>
+ <td>It contains all available localized names for this filter. The are organized
+ in pairs and represented as a structure of sequence< com::sun::star::beans::PropertyValue >.
+ The name of such property must be interpreted as locale; its value as the localized
+ filter name corresponding to this locale.</td>
+ </tr>
+ <tr>
+ <td><em>Type</em></td>
+ <td>[string]</td>
+ <td>Every filter is registered for a type. This value contains the internal name of it.
+ (see service TypeDetection for further information)</td>
+ </tr>
+ <tr>
+ <td><em>DocumentService</em></td>
+ <td>[string]</td>
+ <td>It's the UNO service name of the document type, which can be handled by this filter.
+ (e.g. com::sun::star::text::TextDocument)</td>
+ </tr>
+ <tr>
+ <td><em>FilterService</em></td>
+ <td>[string]</td>
+ <td>It means the UNO implementation name of the filter component.
+ Note: It really means the implementation instead of the UNO service name.
+ Because it's not possible to distinguish between more than one filters; if all of them
+ uses a generic identifier!</td>
+ </tr>
+ <tr>
+ <td><em>Flags</em></td>
+ <td>[integer]</td>
+ <td>They describe the filter more specific.<br>
+ (e.g. they mark it as IMPORT/EXPORT or DEFAULT filter.)</td>
+ </tr>
+ <tr>
+ <td><em>UserData</em></td>
+ <td>[string]</td>
+ <td>This field contains filter specific configuration data.</td>
+ </tr>
+ <tr>
+ <td><em>FileFormatVersion</em></td>
+ <td>[integer]</td>
+ <td>It specifies the supported file format version if there exist more than ones.</td>
+ </tr>
+ <tr>
+ <td><em>TemplateName</em></td>
+ <td>[string]</td>
+ <td>It's the name of a suitable default template.</td>
+ </tr>
+ </table>
+ </p>
+
+ <p>
+ Note:<br>
+ All elements of this container will be addressed by his internal name,
+ and it must be an unambiguous value.
+ </p>
+ */
+ interface com::sun::star::container::XNameAccess;
+
+ /** provides a write access to the configuration data.
+ */
+ [optional] interface com::sun::star::container::XNameContainer;
+
+ /** provides search on the configuration data set.
+
+ <p>
+ Against simple property search it provides some complex algorithms too.
+ For further information please read the SDK documentation.
+ </p>
+ */
+ interface com::sun::star::container::XContainerQuery;
+
+ /** can be used to perform container changes.
+
+ <p>
+ Because the complexness of such configuration set can be very high,
+ it seems not very useful to update the underlying configuration layer
+ on every container change request immediately. Another strategy can be to
+ make all changes (adding/changing/removing of items) and call flush at the end.
+ That will validate the whole container and reject inconsistent data sets.
+ Only in case all made changes was correct, they will be written back to the
+ configuration. Further this interface provides the possibility, that interested
+ changes listener can be registered too.
+ </p>
+ */
+ [optional] interface com::sun::star::util::XFlushable;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/FilterOptionsRequest.idl b/offapi/com/sun/star/document/FilterOptionsRequest.idl
new file mode 100644
index 000000000..2bf536836
--- /dev/null
+++ b/offapi/com/sun/star/document/FilterOptionsRequest.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_document_FilterOptionsRequest_idl__
+#define __com_sun_star_document_FilterOptionsRequest_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/frame/XModel.idl>
+
+
+module com { module sun { module star { module document {
+
+/** Is used for interaction handle to get filter options.
+
+ @since OOo 1.1.2
+*/
+published exception FilterOptionsRequest : ::com::sun::star::uno::Exception
+{
+ /** The model of the document that should be provided to filters
+ that supports XExporter interface.
+ */
+ ::com::sun::star::frame::XModel rModel;
+
+ /** The Media-descriptor of the document
+ */
+ sequence< com::sun::star::beans::PropertyValue > rProperties;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/GraphicStorageHandler.idl b/offapi/com/sun/star/document/GraphicStorageHandler.idl
new file mode 100644
index 000000000..a29f181f3
--- /dev/null
+++ b/offapi/com/sun/star/document/GraphicStorageHandler.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_document_GraphicStorageHandler_idl__
+#define __com_sun_star_document_GraphicStorageHandler_idl__
+
+#include <com/sun/star/document/GraphicStorageHandler.idl>
+#include <com/sun/star/embed/XStorage.idl>
+
+module com { module sun { module star { module document {
+
+/**
+ Default implementation of XGraphicStorageHandler
+
+ @since LibreOffice 6.1
+ */
+service GraphicStorageHandler : XGraphicStorageHandler
+{
+ createWithStorage([in] com::sun::star::embed::XStorage Storage);
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/HeaderFooterSettings.idl b/offapi/com/sun/star/document/HeaderFooterSettings.idl
new file mode 100644
index 000000000..799cb81c6
--- /dev/null
+++ b/offapi/com/sun/star/document/HeaderFooterSettings.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_document_HeaderFooterSettings_idl__
+#define __com_sun_star_document_HeaderFooterSettings_idl__
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+
+module com { module sun { module star { module document {
+
+
+// Note: Where is the distinction between header and footer ?
+/** describes properties that control the formatting of headers and
+ footers for documents that do not allow individual settings for
+ individual parts like pages or slides.
+ */
+published service HeaderFooterSettings
+{
+ /** gives access to the properties implemented by this service.
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+
+ /** enables or disables the printing of the page name in the
+ header or footer
+ */
+ [optional, property] boolean IsPrintPageName;
+
+ /** enables or disables the printing of the date in the
+ header or footer
+ */
+ [optional, property] boolean IsPrintDate;
+
+ /** enables or disables the printing of the current time in the
+ header or footer
+ */
+ [optional, property] boolean IsPrintTime;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/ImportFilter.idl b/offapi/com/sun/star/document/ImportFilter.idl
new file mode 100644
index 000000000..a6079f461
--- /dev/null
+++ b/offapi/com/sun/star/document/ImportFilter.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_document_ImportFilter_idl__
+#define __com_sun_star_document_ImportFilter_idl__
+
+#include <com/sun/star/document/XImporter.idl>
+#include <com/sun/star/document/XFilter.idl>
+#include <com/sun/star/lang/XInitialization.idl>
+#include <com/sun/star/container/XNamed.idl>
+
+
+module com { module sun { module star { module document {
+
+/** filter for imports
+
+ <p>
+ Such filters can be used for importing a content.
+ Of course it's possible to combine it with the service ExportFilter
+ if export functionality should be available at same implementation too.
+ </p>
+
+ @see ExportFilter
+ */
+published service ImportFilter
+{
+ /** set target(!) document for this filter
+
+ <p>
+ The document must be used as the target of the filter.
+ Any external content will be written there.
+ </p>
+ */
+ interface XImporter;
+
+ /** filter interface
+
+ <p>
+ It's used to filter a document at loading time.
+ The target document should be already set by using another interface
+ ImportFilter::XImporter which is supported by this service too.
+ </p>
+
+ <p>
+ Tip:<br>
+ If same implementation provides the service ExportFilter too,
+ code must distinguish between filtering into a target document (for import) or
+ filtering from a source document (for export). This can be recognized by saving
+ state of used interfaces XExporter or XImporter!
+ Otherwise it's not clear which action is required here.
+ </p>
+ */
+ interface XFilter;
+
+ /** support initialization of filter with its own configuration
+
+ <p>
+ A filter object must be created by global service FilterFactory.
+ If filter supports this optional interface, he will be initialized by the factory directly
+ after creation. The factory will pass follow information to this new instance:
+ <ul>
+ <li>first item will be a set of configuration data of the filter</li>
+ <li>after that will follow may given optional parameters of call
+ com::sun::star::lang::XMultiServiceFactory::createInstanceWithArguments()
+ of service FilterFactory.
+ </li>
+ </ul>
+ See description of service FilterFactory::XNameContainer for a description of
+ possible configuration data.
+ </p>
+ */
+ [optional] interface com::sun::star::lang::XInitialization;
+
+ /** provides access to the internal name of this filter
+
+ <p>
+ This internal filter name can be used on service FilterFactory
+ to get further information about it (e.g. his registration for mime types or extensions etc.)
+ It's important that returned string is the "internal name" of the filter which must be
+ unambiguous against all other registered filters in current installation.
+ </p>
+ <p>
+ <strong>Attention!</strong><br>
+ Supported method setName() should be ignored or forwarded to the FilterFactory.
+ It's not allowed to set it directly to the configuration. Because it depends
+ from real implementation of the FilterFactory if it will be allowed or not!
+ </p>
+ */
+ [optional] interface com::sun::star::container::XNamed;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/IndexedPropertyValues.idl b/offapi/com/sun/star/document/IndexedPropertyValues.idl
new file mode 100644
index 000000000..e9b96febd
--- /dev/null
+++ b/offapi/com/sun/star/document/IndexedPropertyValues.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_document_IndexedPropertyValues_idl__
+#define __com_sun_star_document_IndexedPropertyValues_idl__
+
+#include <com/sun/star/container/XIndexContainer.idl>
+
+
+module com { module sun { module star { module document {
+
+/**
+ @since LibreOffice 4.1
+ */
+service IndexedPropertyValues : com::sun::star::container::XIndexContainer;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/LinkTarget.idl b/offapi/com/sun/star/document/LinkTarget.idl
new file mode 100644
index 000000000..be5b9cc43
--- /dev/null
+++ b/offapi/com/sun/star/document/LinkTarget.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_document_LinkTarget_idl__
+#define __com_sun_star_document_LinkTarget_idl__
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+#include <com/sun/star/document/XLinkTargetSupplier.idl>
+
+
+
+module com { module sun { module star { module document {
+
+
+/** This service is implemented by objects inside a document object model that
+ can be the target of a link inside a document
+ */
+published service LinkTarget
+{
+ interface com::sun::star::beans::XPropertySet;
+
+ /** a link target may have child objects which can be link targets too.
+ These are accessible by this optional interface.
+ */
+ [optional] interface com::sun::star::document::XLinkTargetSupplier;
+
+ /** contains a human readable name for this object that could be displayed in a user
+ interface.
+ */
+ [readonly, property] string LinkDisplayName;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/LinkTargets.idl b/offapi/com/sun/star/document/LinkTargets.idl
new file mode 100644
index 000000000..015133566
--- /dev/null
+++ b/offapi/com/sun/star/document/LinkTargets.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_document_LinkTargets_idl__
+#define __com_sun_star_document_LinkTargets_idl__
+
+#include <com/sun/star/container/XNameAccess.idl>
+
+
+
+module com { module sun { module star { module document {
+
+
+/** This service gives access to a collection of names that are child links
+ of the parent object that supplied this service.
+
+ <p>The com::sun::star::container::XNameAccess returns elements
+ of com::sun::star::beans::XPropertySet that implement
+ the service LinkTarget. </p>
+ */
+published service LinkTargets
+{
+ interface com::sun::star::container::XNameAccess;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/LinkUpdateModes.idl b/offapi/com/sun/star/document/LinkUpdateModes.idl
new file mode 100644
index 000000000..f1cdd93be
--- /dev/null
+++ b/offapi/com/sun/star/document/LinkUpdateModes.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_document_LinkUpdateModes_idl__
+#define __com_sun_star_document_LinkUpdateModes_idl__
+
+
+module com { module sun { module star { module document {
+
+
+published constants LinkUpdateModes
+{
+ /** never update links
+ */
+ const long NEVER = 0;
+
+ /** update links when confirmed on request during loading the
+ document
+ */
+ const long MANUAL = 1;
+
+ /** automatic update on load
+ */
+ const long AUTO = 2;
+
+ /** use the setting that is configured in your installed
+ application. This may be one of the above behaviors.
+ */
+ const long GLOBAL_SETTING = 3;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/LockFileCorruptRequest.idl b/offapi/com/sun/star/document/LockFileCorruptRequest.idl
new file mode 100644
index 000000000..4a22f0a96
--- /dev/null
+++ b/offapi/com/sun/star/document/LockFileCorruptRequest.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_document_LockFileCorruptRequest_idl__
+#define __com_sun_star_document_LockFileCorruptRequest_idl__
+
+#include <com/sun/star/io/IOException.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/frame/XModel.idl>
+
+
+module com { module sun { module star { module document {
+
+/** Is used for interaction handle to query user's decision
+ when the lock file is corrupt.
+
+ @since LibreOffice 6.0
+*/
+exception LockFileCorruptRequest : ::com::sun::star::io::IOException
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/LockFileIgnoreRequest.idl b/offapi/com/sun/star/document/LockFileIgnoreRequest.idl
new file mode 100644
index 000000000..e7a015f3f
--- /dev/null
+++ b/offapi/com/sun/star/document/LockFileIgnoreRequest.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_document_LockFileIgnoreRequest_idl__
+#define __com_sun_star_document_LockFileIgnoreRequest_idl__
+
+#include <com/sun/star/io/IOException.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/frame/XModel.idl>
+
+
+module com { module sun { module star { module document {
+
+/** Is used for interaction handle to query user decision regarding storing
+ to a location where no lock file can be created.
+
+ @since OOo 3.0
+*/
+published exception LockFileIgnoreRequest : ::com::sun::star::io::IOException
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/LockedDocumentRequest.idl b/offapi/com/sun/star/document/LockedDocumentRequest.idl
new file mode 100644
index 000000000..3039cc26b
--- /dev/null
+++ b/offapi/com/sun/star/document/LockedDocumentRequest.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_document_LockedDocumentRequest_idl__
+#define __com_sun_star_document_LockedDocumentRequest_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/frame/XModel.idl>
+
+
+module com { module sun { module star { module document {
+
+/** Is used for interaction handle to query user decision regarding locked document.
+
+ @since OOo 3.0
+*/
+published exception LockedDocumentRequest : ::com::sun::star::uno::Exception
+{
+ /** The URL of the locked document.
+ */
+ string DocumentURL;
+
+ /** The user information of the locked document.
+ */
+ string UserInfo;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/LockedOnSavingRequest.idl b/offapi/com/sun/star/document/LockedOnSavingRequest.idl
new file mode 100644
index 000000000..8285e9542
--- /dev/null
+++ b/offapi/com/sun/star/document/LockedOnSavingRequest.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_document_LockedOnSavingRequest_idl__
+#define __com_sun_star_document_LockedOnSavingRequest_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/frame/XModel.idl>
+
+
+module com { module sun { module star { module document {
+
+/** Is used for interaction handle to query user decision regarding locked
+ document on saving.
+
+ @since OOo 3.1
+*/
+published exception LockedOnSavingRequest : ::com::sun::star::uno::Exception
+{
+ /** The URL of the locked document.
+ */
+ string DocumentURL;
+
+ /** The user information of the locked document.
+ */
+ string UserInfo;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/MacroExecMode.idl b/offapi/com/sun/star/document/MacroExecMode.idl
new file mode 100644
index 000000000..14bc0b7a7
--- /dev/null
+++ b/offapi/com/sun/star/document/MacroExecMode.idl
@@ -0,0 +1,113 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_document_MacroExecMode_idl__
+#define __com_sun_star_document_MacroExecMode_idl__
+
+
+module com { module sun { module star { module document {
+
+/** Specify whether a macro can be executed.
+
+ @since OOo 1.1.2
+*/
+published constants MacroExecMode
+{
+ /** A macro should not be executed at all.
+ */
+
+ const short NEVER_EXECUTE = 0;
+
+ /** Execute macros from secure list quietly.
+
+ <p>
+ If a macro is not in the list a confirmation for it executing will
+ appear.
+ </p>
+ */
+
+ const short FROM_LIST = 1;
+
+ /** Execute any macro, macros signed with trusted certificates and macros
+ from secure list are executed quietly.
+
+ <p>
+ If the macro is neither in secure list nor signed a conformation
+ will be requested.
+ </p>
+ */
+
+ const short ALWAYS_EXECUTE = 2;
+
+ /** Use configuration to retrieve macro settings. In case a user
+ confirmation is required a dialog is output.
+ */
+
+ const short USE_CONFIG = 3;
+
+
+ /** A macro should be executed always no conformation should be provided.
+ */
+
+ const short ALWAYS_EXECUTE_NO_WARN = 4;
+
+ /** Use configuration to retrieve macro settings. Treat cases when user
+ confirmation required as rejected.
+ */
+
+ const short USE_CONFIG_REJECT_CONFIRMATION = 5;
+
+ /** Use configuration to retrieve macro settings. Treat cases when user
+ confirmation required as approved.
+ */
+
+ const short USE_CONFIG_APPROVE_CONFIRMATION = 6;
+
+ /** Execute only macros from secure list. Macros that are not from the list
+ are not executed.
+ */
+ const short FROM_LIST_NO_WARN = 7;
+
+ /** Execute only macros from secure list or macros that are signed by
+ trusted certificates.
+
+ <p> If the macro is neither in secure list nor signed it will not be
+ executed.
+ </p>
+
+ <p> If the macro is signed with unknown certificate a warning will
+ appear. The macro either will not be executed or if the warning
+ allows conformation, it will be executed after user agrees.
+ </p>
+ */
+ const short FROM_LIST_AND_SIGNED_WARN = 8;
+
+ /** Execute only macros from secure list or macros that are signed by
+ trusted certificates. No warning/conformation should be shown.
+ */
+ const short FROM_LIST_AND_SIGNED_NO_WARN = 9;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/MediaDescriptor.idl b/offapi/com/sun/star/document/MediaDescriptor.idl
new file mode 100644
index 000000000..73ea2cacb
--- /dev/null
+++ b/offapi/com/sun/star/document/MediaDescriptor.idl
@@ -0,0 +1,619 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_document_MediaDescriptor_idl__
+#define __com_sun_star_document_MediaDescriptor_idl__
+
+#include <com/sun/star/io/XOutputStream.idl>
+#include <com/sun/star/io/XInputStream.idl>
+#include <com/sun/star/awt/Rectangle.idl>
+#include <com/sun/star/beans/NamedValue.idl>
+#include <com/sun/star/util/URL.idl>
+#include <com/sun/star/task/XInteractionHandler.idl>
+#include <com/sun/star/task/XStatusIndicator.idl>
+#include <com/sun/star/frame/XFrame.idl>
+
+
+module com { module sun { module star { module document {
+
+/** describes properties of a document, regarding the relationship
+ between the loaded document and the resource the document is
+ loaded from / stored to.
+
+ <p>
+ This service may be represented by a com::sun::star::beans::PropertyValue[].
+ Such descriptors will be passed to different functions, included into possible
+ load/save processes. Every member of such process can use this descriptor
+ and may change it if to actualize the information about the document.
+ So this descriptor should be used as an in/out parameter.
+ </p>
+
+ <p>
+ Note:<br>
+ It's not allowed to hold member of this descriptor by references longer than they
+ will be used (especially a possible stream). It's allowed to use it directly
+ or by copying it only.
+ </p>
+
+ @see com::sun::star::beans::PropertyValue
+ */
+service MediaDescriptor
+{
+ /** May be set by filters or detection services if user has chosen to
+ abort loading/saving, e.g. while entering a password.
+ */
+ [optional,property] boolean Aborted;
+
+ /** document is a template
+
+ <p>
+ Loading a component of type "template" creates a new untitled document
+ by default, but setting the "AsTemplate" property to `FALSE` loads the
+ template document for editing. Setting "AsTemplate" to `TRUE` creates a
+ new untitled document out of the loaded document, even if it has not
+ a "template" type.
+ </p>
+ */
+ [optional,property] boolean AsTemplate;
+
+ /** the author of the document
+
+ <p>
+ Only for storing versions in components supporting versioning:
+ author of version.
+ </p>
+ */
+ [optional,property] string Author;
+
+ /** identifier of used character set
+
+ <p>
+ Defines the character set for document formats that contain single
+ byte characters (if necessary).
+ </p>
+ */
+ [optional,property] string CharacterSet;
+
+ /** description of document
+
+ <p>
+ Only for storing versions in components supporting versioning:
+ comment (description) for stored version.
+ </p>
+ */
+ [optional,property] string Comment;
+
+ /** pack specific properties of caller
+
+ <p>
+ This is a parameter that can be used for any properties specific
+ for a special component type. Format of that depends from real
+ type of addressed component.
+ </p>
+
+ <p>
+ For extensibility, it is recommended to use values of type
+ sequence<com.sun.star.beans.NamedValue> with this property.
+ </p>
+ */
+ [optional,property] any ComponentData;
+
+ /** The base URL of the document to be used to resolve relative links.
+ */
+ [optional,property] string DocumentBaseURL;
+
+ /** document title
+
+ <p>
+ This parameter can be used to specify a title for a document.
+ </p>
+ */
+ [optional,property] string DocumentTitle;
+
+ /** encryption information for encryption/decryption of documents
+
+ <p>
+ It contains the necessary information for encryption/decryption of
+ a component (if necessary).
+ If neither password nor encryption data is specified, loading of
+ a password protected document will fail, storing will be done without
+ encryption. If both are provided, the encryption data is used
+ ( if the filter supports it ).
+ </p>
+ <p>
+ The encryption data is generated based on the password.
+ </p>
+ */
+ [optional,property] sequence< ::com::sun::star::beans::NamedValue > EncryptionData;
+
+ /** same as MediaDescriptor::URL
+
+ <p>
+ It will be supported for compatibility reasons only.
+ </p>
+
+ @deprecated
+ */
+ [optional,property] string FileName;
+
+ /** internal filter name
+
+ <p>
+ Name of a filter that should be used for loading or storing the component.
+ Names must match the names of the TypeDetection configuration,
+ invalid names are ignored. If a name is specified on loading,
+ it still will be verified by a filter detection, but in case of doubt
+ it will be preferred.
+
+ See this page for a list of internal filter names: https://help.libreoffice.org/latest/en-US/text/shared/guide/convertfilters.html
+ </p>
+ */
+ [optional,property] string FilterName;
+
+ /** same as MediaDescriptor::FilterOptions
+
+ <p>
+ It will be supported for compatibility reasons only.
+ </p>
+
+ @deprecated
+ */
+ [optional,property] string FilterFlags;
+
+ /** additional properties for filter
+
+ <p>
+ Some filters need additional parameters; use only together with property
+ MediaDescriptor::FilterName. Details must be documented
+ by the filter. This is an old format for some filters. If a string is not
+ enough, filters can use the property MediaDescriptor::FilterData.
+ </p>
+ */
+ [optional,property] string FilterOptions;
+
+ /** additional properties for filter
+
+ <p>
+ This is a parameter that can be used for any properties specific
+ for a special filter type. It should be used if
+ MediaDescriptor::FilterOptions isn't enough.
+ </p>
+ */
+ [optional,property] any FilterData;
+
+ /** load document invisible
+
+ <p>
+ Defines if the loaded component is made visible. If this property is not
+ specified, the component is made visible by default.
+ </p>
+ */
+ [optional,property] boolean Hidden;
+
+ /** The hierarchical path to the embedded document from topmost container.
+ */
+ [optional,property] string HierarchicalDocumentName;
+
+ /** a stream to receive the document data.
+
+ <p>
+ If used when storing a document: writing must be done using this stream.
+ If no stream is provided, the loader will create a stream by itself using
+ the other properties. It is not allowed to keep a reference to this
+ OutputStream after storing the component.
+ </p>
+ */
+ [optional,property] com::sun::star::io::XOutputStream OutputStream;
+
+ /** content of document
+
+ <p>
+ If used when loading a document: reading must be done using this stream.
+ If no stream is provided, the loader will create a stream by itself using
+ the other properties. It is not allowed to keep a reference to this
+ InputStream after loading the component, and it would be useless, because
+ in general an InputStream is usable for reading only once, except when it
+ also implements the com::sun::star::io::XSeekable interface.
+ </p>
+ */
+ [optional,property] com::sun::star::io::XInputStream InputStream;
+
+ /** handle exceptional situations
+
+ <p>
+ Object implementing the com::sun::star::task::InteractionHandler
+ service that is used to handle exceptional situations where proceeding with the task
+ is impossible without additional information or impossible at all.
+ The implemented API provides a default implementation for it that can handle many situations.
+ If no InteractionHandler is set, a suitable exception is thrown.
+ It is not allowed to keep a reference to this object, even not in the loaded
+ or stored component's copy of the MediaDescriptor provided by its arguments attribute.
+ </p>
+ */
+ [optional,property] com::sun::star::task::XInteractionHandler InteractionHandler;
+
+ /** jump to a marked position after loading
+
+ <p>
+ This is the same as the text behind a "#" in a http URL. But
+ this syntax with a "#" is not specified in most URL schemas.
+ </p>
+ */
+ [optional,property] string JumpMark;
+
+ /** specify mime type of content
+
+ <p>
+ Type of the medium to load, that must match to one of the types defined
+ in the TypeDetection configuration (otherwise it's ignored).
+ This bypasses the type detection of the com::sun::star::frame::Desktop environment,
+ so passing a wrong MediaType will cause failure of loading.
+ </p>
+ */
+ [optional,property] string MediaType;
+
+ /** please use the corresponding parameters of this descriptor instead
+
+ <p>
+ String that summarizes some flags for loading. The string contains capital
+ letters for the flags:<br>
+ <table border=1>
+ <tr>
+ <td><strong>flag</strong></td>
+ <td><strong>value</strong></td>
+ <td><strong>replacement</strong></td>
+ </tr>
+ <tr>
+ <td><em>ReadOnly</em></td>
+ <td>R</td>
+ <td>MediaDescriptor::ReadOnly</td>
+ </tr>
+ <tr>
+ <td><em>Preview</em></td>
+ <td>B</td>
+ <td>MediaDescriptor::Preview</td>
+ </tr>
+ <tr>
+ <td><em>AsTemplate</em></td>
+ <td>T</td>
+ <td>MediaDescriptor::AsTemplate</td>
+ </tr>
+ <tr>
+ <td><em>Hidden</em></td>
+ <td>H</td>
+ <td>MediaDescriptor::Hidden</td>
+ </tr>
+ </table>
+ </p>
+
+ @deprecated
+ */
+ [optional,property] string OpenFlags;
+
+ /** opens a new view for an already loaded document
+
+ <p>
+ Setting this to `TRUE` forces the component to create a new window on loading
+ in any case. If the component supports multiple views, a second view is
+ opened, if not, the component is loaded one more time. Otherwise the behavior
+ depends on the default window handling of the com::sun::star::frame::Desktop environment.
+ </p>
+ */
+ [optional,property] boolean OpenNewView;
+
+
+ /** overwrite any existing file
+
+ <p>
+ For storing only: overwrite any existing file, default is `TRUE`.
+ Setting this to `FALSE` raises an error, if the target file already exists.
+ </p>
+ */
+ [optional,property] boolean Overwrite;
+
+ /** password for loading or storing documents
+
+ <p>
+ It contains a password for loading or storing a component (if necessary).
+ If neither password nor encryption data is specified, loading of
+ a password protected document will fail, storing will be done without
+ encryption. If both are provided, the encryption data is used
+ ( if the filter supports it ).
+ </p>
+ */
+ [optional,property] string Password;
+
+ /** contains the data for HTTP post method as a sequence of bytes.
+
+ <p>
+ Data to send to a location described by the media descriptor to get
+ a result in return that will be loaded as a component
+ (usually in webforms). Default is: no PostData.
+ </p>
+ */
+ [optional,property] sequence< byte > PostData;
+
+ /** add loaded document to recent document list
+
+ <p>
+ Setting this to `FALSE` prevents the loaded document to be added to the recent documents list.
+ Default is `TRUE`.
+ </p>
+
+ @since LibreOffice 5.1
+ */
+ [optional,property] boolean PickListEntry;
+
+ /** use MediaDescriptor::PostData instead of this
+
+ <p>
+ Same as PostData, but the data is transferred as a string
+ (just for compatibility).
+ </p>
+
+ @deprecated
+ */
+ [optional,property] string PostString;
+
+ /** show preview
+
+ <p>
+ Setting this to `TRUE` tells the a loaded component that it is loaded as
+ a preview, so it can optimize loading and viewing for this special purpose.
+ Default is `FALSE`.
+ </p>
+ */
+ [optional,property] boolean Preview;
+
+ /** open document readonly
+
+ <p>
+ Tells whether a document should be loaded in a (logical) readonly or in
+ read/write mode. If opening in the desired mode is impossible, an error occurs.
+ By default the loaded content decides what to do: if its UCB content supports
+ a "readonly" property, the logical open mode depends on that, otherwise
+ it will be read/write. This is only a UI related property, opening a
+ document in read only mode will not prevent the component from being
+ modified by API calls, but all modifying functionality in the UI will
+ be disabled or removed.
+ </p>
+ */
+ [optional,property] boolean ReadOnly;
+
+ /** start presentation from a document
+
+ <p>
+ Tells the component loading the document that a presentation that is in the
+ document is to be started right away.
+ </p>
+ */
+ [optional,property] boolean StartPresentation;
+
+ /** name of document referrer
+
+ <p>
+ A URL describing the environment of the request; e.g. a referrer may be a
+ URL of a document, if a hyperlink inside this document is clicked to load
+ another document. The referrer may be evaluated by the addressed UCB content
+ or the loaded document. Without a referrer the processing of URLs that
+ needs security checks will be denied, e.g. "macro:" URLs.
+ <br>
+ Don't be confused about the wrong spelling; it is kept for compatibility reasons.
+ </p>
+ */
+ [optional,property] string Referer;
+
+ /** let the document be opened in repair mode
+
+ <p>
+ For loading of corrupted zip packages: Setting this to `TRUE` let the document
+ be opened in repair mode, so as much as possible information will be retrieved.
+ </p>
+
+ @since OOo 1.1.2
+ */
+ [optional,property] boolean RepairPackage;
+
+ /** can be used for status information
+
+ <p>
+ Object implementing the com::sun::star::task::XStatusIndicator
+ interface that can be used to give status information (text or progress) for the task.
+ The office provides a default implementation for it. It is not allowed to keep
+ a reference to this object, even not in the loaded or stored component's
+ copy of the MediaDescriptor provided by its arguments attribute.
+ </p>
+ */
+ [optional,property] com::sun::star::task::XStatusIndicator StatusIndicator;
+
+ /** allows to specify the URL that is used next time SaveAs dialog is opened
+
+ <p>
+ If the parameter is specified, the URL will be used by SaveAs dialog
+ next time as target folder.
+ </p>
+ */
+ [optional,property] string SuggestedSaveAsDir;
+
+ /** allows to specify the suggested file name that is used next time SaveAs
+ dialog is opened
+
+ <p>
+ If the parameter is specified, the file name will be suggested by
+ SaveAs dialog next time.
+ </p>
+ */
+ [optional,property] string SuggestedSaveAsName;
+
+ /** name of the template instead of the URL
+
+ <p>
+ The logical name of a template to load. Together with the MediaDescriptor::TemplateRegion
+ property it can be used instead of the URL of the template. Use always in conjunction with
+ MediaDescriptor::TemplateRegionName.
+ </p>
+ */
+ [optional,property] string TemplateName;
+
+ /** name of the template instead of the URL
+
+ <p>
+ See MediaDescriptor::TemplateName. The template region names are the folder names you see
+ in the templates dialog.
+ </p>
+ */
+ [optional,property] string TemplateRegionName;
+
+ /** regulate using of compressing
+
+ <p>
+ For storing: Setting this to `TRUE` means, don't use a zip file to save
+ the document, use a folder instead (only usable for UCB contents, that
+ support folders). Default is `FALSE`.
+ </p>
+ */
+ [optional,property] boolean Unpacked;
+
+ /** URL of the document
+
+ <p>
+ The location of the component in URL syntax. It must be a fully qualified URL.
+ </p>
+ */
+ [optional,property] string URL;
+
+ /** storage version
+
+ <p>
+ For components supporting versioning: the number of the version to be
+ loaded or saved. Default is zero and means: no version is created or
+ loaded, the "main" document is processed.
+ </p>
+ */
+ [optional,property] short Version;
+
+ /** set special view state
+ <p>
+ Data to set a special view state after loading. The type depends on
+ the component and is usually retrieved from a com::sun::star::frame::Controller
+ object by its com::sun::star::frame::XController
+ interface. Default is: no view data.
+ </p>
+ */
+ [optional,property] any ViewData;
+
+ /** id of the initial view
+
+ <p>
+ For components supporting different views: a number to define the view
+ that should be constructed after loading. Default is: zero, and this
+ should be treated by the component as the default view.
+ </p>
+ */
+ [optional,property] short ViewId;
+
+ /** should the macro be executed.
+ the value should be one from com::sun::star::document::MacroExecMode
+ constant list.
+
+ @since OOo 1.1.2
+ */
+ [optional,property] short MacroExecutionMode;
+
+ /** can the document be updated depending from links.
+ the value should be one from com::sun::star::document::UpdateDocMode
+ constant list.
+
+ @since OOo 1.1.2
+ */
+ [optional,property] short UpdateDocMode;
+
+ /** specifies the name of the view controller to create when loading a document
+
+ <p>If this property is used when loading a document into a frame, then it
+ specifies the name of the view controller to create. That is, the property
+ is passed to the document's com::sun::star::frame::XModel2::createViewController()
+ method.<br/>
+ If the loaded document does not support the <code>XModel2</code> interface,
+ the property is ignored.</p>
+
+ @see ::com::sun::star::frame::XModel2::createViewController
+ @see ::com::sun::star::frame::XController2::ViewControllerName
+
+ @since OOo 3.0
+ */
+ [optional,property] string ViewControllerName;
+
+ /** specifies the frame containing the document. May be empty.
+ */
+ [optional,property] com::sun::star::frame::XFrame Frame;
+
+ /** Setting this option will prevent copying/dragging any content anywhere.
+ The commands 'Copy' and 'Cut' will be disabled; selection clipboard won't work,
+ and dragging with mouse will also be disabled.
+
+ @since LibreOffice 6.4
+ */
+ [optional,property] boolean LockContentExtraction;
+
+ /** Setting this option will prevent exporting document content to any file.
+ Export, Send, save as, etc will be disabled,
+ as well as individual graphic/chart export and mail merge.
+
+ @since LibreOffice 6.4
+ */
+ [optional,property] boolean LockExport;
+
+ /** Setting this option will disable all print functions (including Printer setup)
+
+ @since LibreOffice 6.4
+ */
+ [optional,property] boolean LockPrint;
+
+ /** Setting this option will disable the save function.
+ *
+ @since LibreOffice 6.4
+ */
+ [optional,property] boolean LockSave;
+
+ /** Setting this option will disable switching to edit mode from read-only mode.
+ *
+ @since LibreOffice 6.4
+ */
+ [optional,property] boolean LockEditDoc;
+
+ /** Mark the document as replaceable / a placeholder
+
+ <p>Normally a document is always opened in a new frame. If this property is
+ set to true, this document just acts as a placeholder while it's unmodified.
+ I.e. the next opened document from its frame will close and replace it.</p>
+
+ <p>This defaults to false, except for the default template of a LibreOffice
+ module, referenced as "private:factory/&lt;module&gt;".</p>
+
+ @since LibreOffice 7.0
+ */
+ [optional,property] boolean Replaceable;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/NamedPropertyValues.idl b/offapi/com/sun/star/document/NamedPropertyValues.idl
new file mode 100644
index 000000000..08b0035cd
--- /dev/null
+++ b/offapi/com/sun/star/document/NamedPropertyValues.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_document_NamedPropertyValues_idl__
+#define __com_sun_star_document_NamedPropertyValues_idl__
+
+#include <com/sun/star/container/XNameContainer.idl>
+
+
+module com { module sun { module star { module document {
+
+/**
+ @since LibreOffice 4.1
+ */
+service NamedPropertyValues : com::sun::star::container::XNameContainer;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/NoSuchFilterRequest.idl b/offapi/com/sun/star/document/NoSuchFilterRequest.idl
new file mode 100644
index 000000000..cafedad74
--- /dev/null
+++ b/offapi/com/sun/star/document/NoSuchFilterRequest.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_document_NoSuchFilterRequest_idl__
+#define __com_sun_star_document_NoSuchFilterRequest_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+module com { module sun { module star { module document {
+
+/** should be used for interaction to handle states of unknown filter during detection
+
+ <p>
+ If during loading time the filter can't be detected and wasn't given at calling time,
+ a possible com::sun::star::task::InteractionHandler will be used.
+ (it's a part of used MediaDescriptor)
+ Such "NoSuchFilterRequest" will be used then to start right interaction on that to
+ get a decision which filter should be used for given URL. A possible continuation
+ of type XInteractionFilterSelect will transport this decision back to
+ generic filter detection and force using of it. Of course it's possible to abort
+ the loading process by use another continuation com::sun::star::task::XInteractionAbort.
+ </p>
+
+ @see MediaDescriptor
+ @see com::sun::star::task::InteractionHandler
+ @see XInteractionFilterSelect
+ @see com::sun::star::task::XInteractionAbort
+*/
+published exception NoSuchFilterRequest : ::com::sun::star::uno::Exception
+{
+ /** transport URL which couldn't be detected
+ */
+ string URL;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/OOXMLDocumentPropertiesImporter.idl b/offapi/com/sun/star/document/OOXMLDocumentPropertiesImporter.idl
new file mode 100644
index 000000000..04299af95
--- /dev/null
+++ b/offapi/com/sun/star/document/OOXMLDocumentPropertiesImporter.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_document_OOXMLDocumentPropertiesImporter_idl__
+#define __com_sun_star_document_OOXMLDocumentPropertiesImporter_idl__
+
+#include <com/sun/star/document/XOOXMLDocumentPropertiesImporter.idl>
+
+
+module com { module sun { module star { module document {
+
+
+/** allows to import document properties from OOXML format
+ */
+service OOXMLDocumentPropertiesImporter : XOOXMLDocumentPropertiesImporter;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/OfficeDocument.idl b/offapi/com/sun/star/document/OfficeDocument.idl
new file mode 100644
index 000000000..e9dd418ab
--- /dev/null
+++ b/offapi/com/sun/star/document/OfficeDocument.idl
@@ -0,0 +1,176 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_document_OfficeDocument_idl__
+#define __com_sun_star_document_OfficeDocument_idl__
+
+#include <com/sun/star/frame/XModel.idl>
+#include <com/sun/star/util/XModifiable.idl>
+#include <com/sun/star/frame/XStorable.idl>
+#include <com/sun/star/view/XPrintable.idl>
+#include <com/sun/star/view/XPrintJobBroadcaster.idl>
+#include <com/sun/star/document/XEventBroadcaster.idl>
+#include <com/sun/star/document/XEventsSupplier.idl>
+#include <com/sun/star/document/XViewDataSupplier.idl>
+#include <com/sun/star/document/XDocumentEventBroadcaster.idl>
+#include <com/sun/star/document/XEmbeddedScripts.idl>
+#include <com/sun/star/document/XDocumentPropertiesSupplier.idl>
+#include <com/sun/star/document/XUndoManagerSupplier.idl>
+
+
+module com { module sun { module star { module document {
+
+/** abstract service which specifies a storable and printable document
+
+ <p>
+ All major document-like components should support this service
+ instead of simple components which supports a com::sun::star::frame::Controller
+ or pure com::sun::star::awt::XWindow only.
+ </p>
+
+ @see com::sun::star::frame::Controller
+ */
+published service OfficeDocument
+{
+ /** represents a component which is created from a URL and arguments
+
+ <p>
+ It is a representation of a resource in the sense that it was
+ created/loaded from the resource. The arguments are passed to the loader
+ to modify its behavior.
+ </p>
+ */
+ interface com::sun::star::frame::XModel;
+
+ /** a storable document should provide information about his modify state
+
+ <p>
+ With this interface it's possible too, to reset the modify state.
+ That can be necessary to prevent code against problem during closing
+ of the document without saving any changes.
+ </p>
+ */
+ interface com::sun::star::util::XModifiable;
+
+ /** offers a simple way to store a component to a URL
+
+ <p>
+ This interface supports functionality
+ <ul>
+ <li>to make a copy of current component by saving it to another location</li>
+ <li>to commit made changes</li>
+ <li>to convert it by saving it by using suitable filter name.</li>
+ </ul>
+ </p>
+ */
+ interface com::sun::star::frame::XStorable;
+
+ /** offers a way to print a component
+
+ <p>
+ It's possible to specify which printer should be used and of course
+ print the document on it.
+ </p>
+ */
+ interface com::sun::star::view::XPrintable;
+
+ /** is an old and deprecated version of the XDocumentEventBroadcaster interface
+ @deprecated
+ */
+ [optional] interface XEventBroadcaster;
+
+ /** makes it possible to register listeners which are called whenever
+ a document event occurs
+ */
+ [optional] interface XDocumentEventBroadcaster;
+
+ /** access to bound event handlers
+ */
+ [optional] interface XEventsSupplier;
+
+ /** access to some properties describing all open views to a document
+ */
+ [optional] interface XViewDataSupplier;
+
+ /** allows for getting information about a print job
+
+ @since OOo 1.1.2
+ */
+ [optional] interface com::sun::star::view::XPrintJobBroadcaster;
+
+ /** is supported when the document can contain scripts and dialogs
+
+ @since OOo 2.4
+ */
+ [optional] interface XEmbeddedScripts;
+
+ /** access to the DocumentProperties.
+
+ @since OOo 3.0
+ */
+ [optional] interface XDocumentPropertiesSupplier;
+
+ /** provides access to the document's undo manager.
+ */
+ [optional] interface XUndoManagerSupplier;
+
+ /** controls the focus behavior of the form controls in the document
+
+ <p>
+ If this flag is set to `TRUE`, any view belonging to the document
+ should focus the first control in the document. With this, you may
+ control if your document works primarily as a form document.
+ </p>
+ */
+ [property, optional] boolean AutomaticControlFocus;
+
+ /** controls the initial (on-load) behavior of the form controls in the document
+
+ <p>If set to `TRUE`, upon loading the document, the form controls will be in design mode.<br/>
+ If set to `FALSE`, they will be alive, i.e. operational.<br/>
+ With this, you may control if your document works primarily as a form document.
+ </p>
+ */
+ [property, optional] boolean ApplyFormDesignMode;
+
+ /** contains a unique id for the document
+
+ <p>Once calculated, the id must not change until the document has been
+ closed. Upon closing it will not be made persistent. Thus, the document
+ may get a different id every time it gets loaded.</p>
+ */
+ [property, optional, readonly] string RuntimeUID;
+
+ /** Grab bag of document properties, used as a string-any map for
+ interim interop purposes.
+
+ @since LibreOffice 4.2
+
+ <p>This property is intentionally not handled by the ODF
+ filter. Any member that should be handled there should be
+ first moved out from this grab bag to a separate property.</p>
+ */
+ [optional, property] sequence<com::sun::star::beans::PropertyValue> InteropGrabBag;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/OleEmbeddedServerRegistration.idl b/offapi/com/sun/star/document/OleEmbeddedServerRegistration.idl
new file mode 100644
index 000000000..2cc11f326
--- /dev/null
+++ b/offapi/com/sun/star/document/OleEmbeddedServerRegistration.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_document_OleEmbeddedServerRegistration_idl__
+#define __com_sun_star_document_OleEmbeddedServerRegistration_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+module com { module sun { module star { module document {
+
+
+/** registers embedded server for StarOffice documents
+ <p>
+ This service is only used to register embedded server support
+ for StarOffice documents.
+ </p>
+
+ @since OOo 1.1.2
+ */
+published service OleEmbeddedServerRegistration
+ : com::sun::star::uno::XInterface;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/OwnLockOnDocumentRequest.idl b/offapi/com/sun/star/document/OwnLockOnDocumentRequest.idl
new file mode 100644
index 000000000..f805f2c4d
--- /dev/null
+++ b/offapi/com/sun/star/document/OwnLockOnDocumentRequest.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_document_OwnLockOnDocumentRequest_idl__
+#define __com_sun_star_document_OwnLockOnDocumentRequest_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/frame/XModel.idl>
+
+
+module com { module sun { module star { module document {
+
+/** Is used for interaction handle to query user decision regarding locked
+ document.
+
+ @since OOo 3.1
+*/
+published exception OwnLockOnDocumentRequest : ::com::sun::star::uno::Exception
+{
+ /** The URL of the locked document.
+ */
+ string DocumentURL;
+
+ /** The time from which the document is locked.
+ */
+ string TimeInfo;
+
+ /** Whether the request is related to storing process
+ */
+ boolean IsStoring;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/PDFDialog.idl b/offapi/com/sun/star/document/PDFDialog.idl
new file mode 100644
index 000000000..398029fa9
--- /dev/null
+++ b/offapi/com/sun/star/document/PDFDialog.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_document_PDFDialog_idl__
+#define __com_sun_star_document_PDFDialog_idl__
+
+#include <com/sun/star/ui/dialogs/FilterOptionsDialog.idl>
+
+
+module com { module sun { module star { module document {
+
+
+/** This service is for a PDFDialog
+ */
+service PDFDialog
+{
+ service com::sun::star::ui::dialogs::FilterOptionsDialog;
+
+ /** PDFDialog options can be set as sequence of
+ com.sun.star.beans.PropertyValue at the FilterData property of the
+ MediaDescriptor. The PropertyValues which are supported within the
+ sequence are described in the registry at Office.Common/Filter/PDF/Export
+
+ The source of this registry can be found in following file:
+ "officecfg/registry/schema/org/openoffice/Office/Common.xcs"
+ */
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/PrinterIndependentLayout.idl b/offapi/com/sun/star/document/PrinterIndependentLayout.idl
new file mode 100644
index 000000000..989eaa7be
--- /dev/null
+++ b/offapi/com/sun/star/document/PrinterIndependentLayout.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_document_PrinterIndependentLayout_idl__
+#define __com_sun_star_document_PrinterIndependentLayout_idl__
+
+
+module com { module sun { module star { module document {
+
+
+/** specifies whether the document printer metric is used.
+
+ @since OOo 1.1.2
+*/
+published constants PrinterIndependentLayout
+{
+ /** use printer-dependent metrics for layout */
+ const short DISABLED = 1;
+
+ /** use printer-independent metrics for layout,
+ assuming a generic 600dpi printer */
+ const short LOW_RESOLUTION = 2;
+
+ /** @deprecated ENABLED changed to LOW_RESOLUTION,
+ to distinguish from HIGH_RESOLUTION */
+ const short ENABLED = LOW_RESOLUTION;
+
+ /** use printer-independent metrics for layout,
+ assuming a generic high-resolution printer (4800dpi) */
+ const short HIGH_RESOLUTION = 3;
+
+ /** [future:] use printer-independent-layout settings from parent object
+ const short LIKE_PARENT = 4;
+ */
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/RedlineDisplayType.idl b/offapi/com/sun/star/document/RedlineDisplayType.idl
new file mode 100644
index 000000000..750d0701a
--- /dev/null
+++ b/offapi/com/sun/star/document/RedlineDisplayType.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_document_RedlineDisplayType_idl__
+#define __com_sun_star_document_RedlineDisplayType_idl__
+
+
+module com { module sun { module star { module document {
+
+
+/** specifies which changes in a document are displayed.
+ */
+published constants RedlineDisplayType
+{
+ /** no changes are displayed.
+ */
+ const short NONE = 0;
+
+ /** only inserted parts are displayed and attributed.
+ */
+ const short INSERTED = 1;
+
+ /** only inserted parts are displayed and attributed.
+ */
+ const short INSERTED_AND_REMOVED = 2;
+
+ /** only removed parts are displayed and attributed.
+ */
+ const short REMOVED = 3;
+};
+
+};};};};
+#endif
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/ReloadEditableRequest.idl b/offapi/com/sun/star/document/ReloadEditableRequest.idl
new file mode 100644
index 000000000..f091bcf26
--- /dev/null
+++ b/offapi/com/sun/star/document/ReloadEditableRequest.idl
@@ -0,0 +1,50 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_document_ReloadEditableRequest_idl__
+#define __com_sun_star_document_ReloadEditableRequest_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+module com
+{
+ module sun
+ {
+ module star
+ {
+ module document
+ {
+ /** Is used for interaction handle to query user decision regarding reloading a
+ document that was recently made editable.
+
+ @since LibreOffice 7.2
+ */
+ published exception ReloadEditableRequest : ::com::sun::star::uno::Exception
+ {
+ /** The URL of the document that is open but was made editable.
+ */
+ string DocumentURL;
+ };
+ };
+ };
+ };
+};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/offapi/com/sun/star/document/Settings.idl b/offapi/com/sun/star/document/Settings.idl
new file mode 100644
index 000000000..55ece20e5
--- /dev/null
+++ b/offapi/com/sun/star/document/Settings.idl
@@ -0,0 +1,293 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_document_Settings_idl__
+#define __com_sun_star_document_Settings_idl__
+
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/i18n/XForbiddenCharacters.idl>
+
+
+module com { module sun { module star { module document {
+
+
+/** describes properties that apply to the whole document of any
+ application.
+
+ <p>For application specific settings, please refer to the
+ individual services.</p>
+
+ @see com::sun::star::text::DocumentSettings
+ @see com::sun::star::sheet::DocumentSettings
+ @see com::sun::star::drawing::DocumentSettings
+ @see com::sun::star::presentation::DocumentSettings
+ */
+published service Settings
+{
+ /** gives access to the properties implemented by this service.
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+
+ // Note: These settings are global. However there is a note at
+ // every property that shows which application currently makes use
+ // of it.
+
+ // Writer and Draw/Impress and Calc
+ /** gives access to the set of forbidden characters.
+
+ @return the
+ com::sun::star::i18n::XForbiddenCharacters
+ interface to allow retrieval and modification of the
+ forbidden characters set.
+ */
+ [optional, property] com::sun::star::i18n::XForbiddenCharacters ForbiddenCharacters;
+
+ // Writer and Calc
+ /** specifies the update mode for links when loading text documents.
+
+ <p>For supported values see the constants group
+ LinkUpdateModes.</p>
+ */
+ [optional, property] short LinkUpdateMode;
+
+ // Writer and Draw/Impress and Calc
+ /** printer used by the document.
+ */
+ [property] string PrinterName;
+
+ // Writer and Draw/Impress and Calc
+ /** platform and driver dependent printer setup data.
+
+ <p>This property serves to capture the current printer setup
+ settings, such as paper tray, printer options, etc. The data
+ can typically be interpreted only by the system that generated
+ it. The PrinterSetup property may be used to save and restore
+ the user's printer settings.</p>
+ */
+ [property] sequence< byte > PrinterSetup;
+
+ // Writer and Draw/Impress and Calc
+ /** specifies if kerning is applied to Asian punctuation.
+
+ <p>Applies only if kerning is enabled.</p>
+ */
+ [optional, property] boolean IsKernAsianPunctuation;
+
+ // Writer and Draw/Impress and Calc
+ /** specifies the compression (character spacing) type used for
+ Asian characters.
+
+ @see com::sun::star::text::CharacterCompressionType
+ */
+ [optional, property] short CharacterCompressionType;
+
+ // Writer and Draw/Impress and Calc
+ /** specifies if the user-specific settings saved within a
+ document should be loaded with the document.
+ */
+ [optional, property] boolean ApplyUserData;
+
+ // Writer and Calc
+ /** specifies if a new version is created if a document has
+ been modified and you want to close it.
+ */
+ [optional, property] boolean SaveVersionOnClose;
+
+ // Writer and Draw/Impress and Calc
+ /** specifies if the document should be updated when the
+ template it was created from changes.
+
+ <p>Applies only for documents that were created from a template.</p>
+ */
+ [optional, property] boolean UpdateFromTemplate;
+
+ // Writer
+ /** specifies if fields in text documents are updated automatically.
+ */
+ [optional, property] boolean FieldAutoUpdate;
+
+ // Writer
+ /** The name of the globally registered
+ com::sun::star::sdb::DataSource
+ from which the current data is taken.
+
+ <p>The data source can e.g. be used for feeding a form
+ letter.</p>
+ */
+ [optional, property] string CurrentDatabaseDataSource;
+
+ // Writer
+ /** a string value, specifying the name of the object displayed
+ currently (or the SQL statement used).
+ */
+ [optional, property] string CurrentDatabaseCommand;
+
+ // Writer
+ // Note: What is the property DataTableName? Is this Writer-specific?
+ /** determines the interpretation of the property DataTableName.
+
+ @see com::sun::star::sdb::CommandType
+ */
+ [optional, property] long CurrentDatabaseCommandType;
+
+ // Draw and Impress
+ /**
+ */
+ [optional, property] long DefaultTabStop;
+
+ // Draw and Impress
+ /** determines if the document will be printed as a booklet
+ (brochure), i.e., two document pages are put together on one
+ physical page, such that you can fold the print result and get
+ a booklet.
+
+ <p>Note, that you have to print in duplex mode, if both,
+ #IsPrintBookletFront and
+ #IsPrintBookletBack are set to `TRUE`.</p>
+ */
+ [optional, property] boolean IsPrintBooklet;
+
+ // Draw and Impress
+ /** is only effective, if #IsPrintBooklet is
+ `TRUE`. If this property is also `TRUE`, only the fronts of
+ the pages of your booklet are printed.
+
+ <p>This is especially useful, if your printer does not supply
+ duplex printing.</p>
+ */
+ [optional, property] boolean IsPrintBookletFront;
+
+ // Draw and Impress
+ /** is only effective, if #IsPrintBooklet is
+ `TRUE`. If this property is also `TRUE`, only the backs of
+ the pages of your booklet are printed.
+
+ <p>This is especially useful, if your printer does not supply
+ duplex printing.</p>
+ */
+ [optional, property] boolean IsPrintBookletBack;
+
+ // Draw and Impress
+ /** how printing uses color.
+
+ <ul>
+ <li>0: Default</li>
+ <li>1: Grayscale</li>
+ <li>2: Black &amp; White (with grayscale images)</li>
+ </ul>
+ */
+ [optional, property] long PrintQuality;
+
+ // Draw and Impress
+ /** contains the URL that points to a color table (file extension
+ .soc) that will be used for showing a palette in dialogs using
+ colors.
+ */
+ [optional, property] string ColorTableURL;
+
+ // Draw and Impress
+ /**
+ */
+ [optional, property] string DashTableURL;
+
+ // Draw and Impress
+ /**
+ */
+ [optional, property] string LineEndTableURL;
+
+ // Draw and Impress
+ /**
+ */
+ [optional, property] string HatchTableURL;
+
+ // Draw and Impress
+ /**
+ */
+ [optional, property] string GradientTableURL;
+
+ // Draw and Impress
+ /**
+ */
+ [optional, property] string BitmapTableURL;
+
+ // Calc
+ /**
+ */
+ [optional, property] boolean AutoCalculate;
+
+ // Writer, later others
+ /** forbid use of printer metrics for layout
+
+ <p>For supported values see the constants group
+ PrinterIndependentLayout.</p>
+ */
+ [optional, property] short PrinterIndependentLayout;
+
+ // Writer, maybe later other applications, too
+ /** layout engine should add value of a Font's "external leading"
+ * attribute to the line spacing.
+ */
+ [optional, property] boolean AddExternalLeading;
+
+ // Writer, maybe later others
+ /**
+ Whether to embed fonts used by the document (see e.g. handling
+ of OOXML embedRegular etc.)
+ @since LibreOffice 4.0
+ */
+ [optional, property] boolean EmbedFonts;
+ // Writer, maybe later others
+ /**
+ Whether to embed also system fonts used by the document.
+ Does not have any effect if EmbedFonts is false.
+ @since LibreOffice 4.0
+ */
+ [optional, property] boolean EmbedSystemFonts;
+
+ /** Whether to embed only the fonts that are used in the document.
+
+ @since LibreOffice 6.2
+ */
+ [optional, property] boolean EmbedOnlyUsedFonts;
+
+ /** Whether to embed Latin script fonts.
+
+ @since LibreOffice 6.2
+ */
+ [optional, property] boolean EmbedLatinScriptFonts;
+
+ /** Whether to embed Asian script fonts.
+
+ @since LibreOffice 6.2
+ */
+ [optional, property] boolean EmbedAsianScriptFonts;
+
+ /** Whether to embed Complex script fonts.
+
+ @since LibreOffice 6.2
+ */
+ [optional, property] boolean EmbedComplexScriptFonts;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/TypeDetection.idl b/offapi/com/sun/star/document/TypeDetection.idl
new file mode 100644
index 000000000..57e446bc3
--- /dev/null
+++ b/offapi/com/sun/star/document/TypeDetection.idl
@@ -0,0 +1,173 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_document_TypeDetection_idl__
+#define __com_sun_star_document_TypeDetection_idl__
+
+#include <com/sun/star/document/XTypeDetection.idl>
+#include <com/sun/star/container/XNameContainer.idl>
+#include <com/sun/star/container/XContainerQuery.idl>
+#include <com/sun/star/util/XFlushable.idl>
+
+
+module com { module sun { module star { module document {
+
+/** encapsulate a type detection service and provide read/write access on it's configuration data.
+
+ <p>
+ It's possible to make a "flat" detection which may use internal configuration
+ data only - or a "deep" detection which use special ExtendedTypeDetection
+ services to look into the document stream. Last mode can be suppressed to perform the operation.
+ Of course the results can't be guaranteed then. (e.g. in case the extension was changed)
+ </p>
+ */
+published service TypeDetection
+{
+ /** can be used to make a flat or deep type detection.
+
+ <p>
+ Use this interface to get information about the type of the given resource.
+ Return value will be always an internal name of a registered document type.
+ It can be used may on other services (e.g. com::sun::star::frame::FrameLoaderFactory)
+ to do further things, which base on it (e.g. to load it into a frame).
+ </p>
+ */
+ interface XTypeDetection;
+
+ /** provides read access to the complete set of type configuration data.
+
+ <p>
+ Every container item is specified as a set of properties and will be
+ represented by a sequence< com::sun::star::beans::PropertyValue > structure.
+ Follow properties are supported:
+ (But note: not all of them must be present every time!)
+
+ <table border=1>
+ <tr>
+ <td><strong>Property Name</strong></td>
+ <td><strong>Value Type</strong></td>
+ <td><strong>Description</strong></td>
+ </tr>
+ <tr>
+ <td><em>Name</em></td>
+ <td>[string]</td>
+ <td>The internal name is the only value, which makes a container item unique.</td>
+ </tr>
+ <tr>
+ <td><em>UIName</em></td>
+ <td>[string]</td>
+ <td>It contains the localized name for this type for the current locale.</td>
+ </tr>
+ <tr>
+ <td><em>UINames</em></td>
+ <td>[sequence< string >]</td>
+ <td>It contains all available localized names for this type. The are organized
+ in pairs and represented as a structure of sequence< com::sun::star::beans::PropertyValue >.
+ The name of such property must be interpreted as locale; its value as the localized
+ type name corresponding to this locale.</td>
+ </tr>
+ <tr>
+ <td><em>MediaType</em></td>
+ <td>[string]</td>
+ <td>It contains the MIME or content type descriptor. The differences between a MIME type and
+ an internal type name was made, to resolve existing ambiguities.</td>
+ </tr>
+ <tr>
+ <td><em>ClipboardFormat</em><strong>deprecated!</strong></td>
+ <td>[string]</td>
+ <td>It was interpreted as an identifier inside clipboard.
+ Please use new property ContentFormat instead of this now.</td>
+ </tr>
+ <tr>
+ <td><em>ContentFormat</em></td>
+ <td>[string]</td>
+ <td>It's and identifier, which is used for a deep format detection.
+ An ExtendedTypeDetection use this value to match
+ a given content to this type. e.g. It's interpreted as the doc type
+ of an XML stream or as an identifier inside a file header.
+ </td>
+ </tr>
+ <tr>
+ <td><em>URLPattern</em></td>
+ <td>[sequence< string >]</td>
+ <td>This list contains different URL patterns, which identify this type.
+ E.g. data base contents can be described by a new defined protocol like "sql://select*".
+ In combination with a suitable com::sun::star::frame::FrameLoader or
+ ImportFilter/ExportFilter it would be possible then, to
+ layout a SQL query output into an office frame.</td>
+ </tr>
+ <tr>
+ <td><em>Extensions</em></td>
+ <td>[sequence< string >]</td>
+ <td>It contains a list of file extensions, which match this type.
+ They must be specified as pure extension, without any special signs.
+ E.g.: "doc", "html" ... but not ".doc".
+ Using wild cards is allowed but not very useful. They may result in
+ ambiguities with other type registrations can't be resolved anytime.</td>
+ </tr>
+ <tr>
+ <td><em>DocumentIconID</em></td>
+ <td>[integer]</td>
+ <td>It's an ID, which present the number of a corresponding icon.</td>
+ </tr>
+ </table>
+ </p>
+
+ <p>
+ Note:<br>
+ All elements of this container will be addressed by his internal name,
+ and it must be an unambiguous value.
+ </p>
+ */
+ interface com::sun::star::container::XNameAccess;
+
+ /** provides a write access to the configuration data.
+ */
+ [optional] interface com::sun::star::container::XNameContainer;
+
+ /** provides search on the configuration data set.
+
+ <p>
+ Against simple property search it provides some complex algorithms too.
+ For further information please read the SDK documentation.
+ </p>
+ */
+ [optional] interface com::sun::star::container::XContainerQuery;
+
+ /** can be used to perform container changes.
+
+ <p>
+ Because the complexness of such configuration set can be very high,
+ it seems not very useful to update the underlying configuration layer
+ on every container change request immediately. Another strategy can be to
+ make all changes (adding/changing/removing of items) and call flush at the end.
+ That will validate the whole container and reject inconsistent data sets.
+ Only in case all made changes was correct, they will be written back to the
+ configuration. Further this interface provides the possibility, that interested
+ changes listener can be registered too.
+ </p>
+ */
+ [optional] interface com::sun::star::util::XFlushable;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/UndoContextNotClosedException.idl b/offapi/com/sun/star/document/UndoContextNotClosedException.idl
new file mode 100644
index 000000000..29313e2a7
--- /dev/null
+++ b/offapi/com/sun/star/document/UndoContextNotClosedException.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_document_UndoContextNotClosedException_idl__
+#define __com_sun_star_document_UndoContextNotClosedException_idl__
+
+#include <com/sun/star/util/InvalidStateException.idl>
+
+
+module com { module sun { module star { module document {
+
+
+/** is thrown when an operation is attempted at an XUndoManager which requires all undo
+ contexts to be closed, but this requirement is not fulfilled.
+ @since OOo 3.4
+ */
+exception UndoContextNotClosedException : ::com::sun::star::util::InvalidStateException
+{
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/UndoFailedException.idl b/offapi/com/sun/star/document/UndoFailedException.idl
new file mode 100644
index 000000000..9c71dafc1
--- /dev/null
+++ b/offapi/com/sun/star/document/UndoFailedException.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_document_UndoFailedException_idl__
+#define __com_sun_star_document_UndoFailedException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+module com { module sun { module star { module document {
+
+
+/** thrown when reverting to re-applying an undoable action fails.
+
+ @see XUndoAction::undo
+ @see XUndoManager::undo
+ @since OOo 3.4
+ */
+exception UndoFailedException : ::com::sun::star::uno::Exception
+{
+ /** describes the reason why the operation failed. Usually, this member will carry an exception.
+ */
+ any Reason;
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/UndoManagerEvent.idl b/offapi/com/sun/star/document/UndoManagerEvent.idl
new file mode 100644
index 000000000..769e3ea1b
--- /dev/null
+++ b/offapi/com/sun/star/document/UndoManagerEvent.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_document_UndoManagerEvent_idl__
+#define __com_sun_star_document_UndoManagerEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+
+
+module com { module sun { module star { module document {
+
+
+/** is an event sent by an XUndoManager implementation when the Undo/Redo stacks of the manager are
+ modified.
+ @see XUndoManager
+ @see XUndoManagerListener
+ @see XUndoAction
+ @since OOo 3.4
+ */
+struct UndoManagerEvent : ::com::sun::star::lang::EventObject
+{
+ /** the title of the undo action which is described by the event
+ @see XUndoAction::Title
+ */
+ string UndoActionTitle;
+
+ /** denotes the number of Undo contexts which are open, and not yet closed, at the time the event is fired.
+ @see XUndoManager::enterUndoContext
+ */
+ long UndoContextDepth;
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/UpdateDocMode.idl b/offapi/com/sun/star/document/UpdateDocMode.idl
new file mode 100644
index 000000000..c09187af1
--- /dev/null
+++ b/offapi/com/sun/star/document/UpdateDocMode.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_document_UpdateDocMode_idl__
+#define __com_sun_star_document_UpdateDocMode_idl__
+
+
+module com { module sun { module star { module document {
+
+/** Specify the way a document can be updated.
+
+ @since OOo 1.1.2
+*/
+published constants UpdateDocMode
+{
+ /** Do not update document.
+ */
+
+ const short NO_UPDATE = 0;
+
+ /** Update document if it does not require a dialog.
+ Otherwise do not update. For example a link to a database
+ can require a dialog to get password for an update.
+ */
+
+ const short QUIET_UPDATE = 1;
+
+ /** Produce update according to configuration settings.
+ If there are no settings use dialog.
+ */
+
+ const short ACCORDING_TO_CONFIG = 2;
+
+ /** Update document even if it does require a dialog.
+ */
+
+ const short FULL_UPDATE = 3;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/XActionLockable.idl b/offapi/com/sun/star/document/XActionLockable.idl
new file mode 100644
index 000000000..f1bbb386c
--- /dev/null
+++ b/offapi/com/sun/star/document/XActionLockable.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_document_XActionLockable_idl__
+#define __com_sun_star_document_XActionLockable_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+module com { module sun { module star { module document {
+
+
+/** makes it possible to prevent object internal updates for a certain period
+ to be able to quickly change multiple parts of the objects, where the
+ updates would invalidate each other, anyway.
+ */
+published interface XActionLockable: com::sun::star::uno::XInterface
+{
+ /** @returns
+ `TRUE` if at least one lock exists.
+ */
+ boolean isActionLocked();
+
+ /** increments the lock count of the object by one.
+ */
+ void addActionLock();
+
+ /** decrements the lock count of the object by one.
+ */
+ void removeActionLock();
+
+ /** sets the locking level.
+
+ <p>This method is used for debugging purposes. The programming
+ environment can restore the locking after a break of a debug
+ session.</p>
+ */
+ void setActionLocks( [in] short nLock );
+
+ /** resets the locking level.
+
+ <p>This method is used for debugging purposes. The debugging
+ environment of a programming language can reset the locks
+ to allow refreshing of the view if a breakpoint is reached or
+ step execution is used. </p>
+ */
+ short resetActionLocks();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/XBinaryStreamResolver.idl b/offapi/com/sun/star/document/XBinaryStreamResolver.idl
new file mode 100644
index 000000000..0ebeabf22
--- /dev/null
+++ b/offapi/com/sun/star/document/XBinaryStreamResolver.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_document_XBinaryStreamResolver_idl__
+#define __com_sun_star_document_XBinaryStreamResolver_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/io/XInputStream.idl>
+#include <com/sun/star/io/XOutputStream.idl>
+
+
+module com { module sun { module star { module document {
+
+
+/**
+ <p>This interface encapsulates functionality to get/resolve binary data streams.
+ It is used to transform binary data to a URL or to transform a URL to binary
+ data. The binary data is represented through input and output streams.</p>
+
+ <p>In the case of transforming a URL to binary data, the <code>getInputStream</code>
+ method is used. This returns a com::sun::star::io::XInputStream
+ from which the binary data, transformed from the given URL, can be read.</p>
+
+ <p>In the case of transforming binary data to a URL, a
+ com::sun::star::io::XOutputStream is created first to write
+ the binary data to. After this, the <code>resolveOutputStream</code> method can
+ be used to transform the binary data, represented through the
+ com::sun::star::io::XOutputStream interface, to a URL.</p>
+ */
+published interface XBinaryStreamResolver: com::sun::star::uno::XInterface
+{
+ /** converts the given URL from the source URL namespace to an input stream,
+ from which binary data can be read
+ */
+ com::sun::star::io::XInputStream getInputStream( [in] string aURL );
+
+ /** creates an output stream, to which binary data can be written.
+ After writing, a URL can be retrieved by a call to
+ XBinaryStreamResolver::resolveOutputStream().
+ */
+ com::sun::star::io::XOutputStream createOutputStream();
+
+ /** converts the output stream, data has been written to, to a URL in
+ source URL namespace.
+ */
+ string resolveOutputStream( [in] com::sun::star::io::XOutputStream aBinaryStream );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/XCmisDocument.idl b/offapi/com/sun/star/document/XCmisDocument.idl
new file mode 100644
index 000000000..0f6ef8f6e
--- /dev/null
+++ b/offapi/com/sun/star/document/XCmisDocument.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/.
+ */
+#ifndef __com_sun_star_document_XCmisDocument_idl__
+#define __com_sun_star_document_XCmisDocument_idl__
+
+#include <com/sun/star/document/CmisProperty.idl>
+#include <com/sun/star/document/CmisVersion.idl>
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module document {
+
+/** The document can provide access to CMIS properties and versions
+ through this interface.
+ */
+interface XCmisDocument : com::sun::star::uno::XInterface
+{
+ /** Check out the document into a private working copy on the
+ server, and update the loaded document to reflect this change.
+ */
+ void checkOut( );
+
+ /** Cancel checked out document, this will discard all changes since
+ check-out.
+ */
+ void cancelCheckOut( );
+
+ /** Creates a new version of the document from the private working
+ copy.
+ */
+ void checkIn( [in] boolean isMajor, [in] string comment );
+
+ /** Tells whether a document can support versioning or not.
+ */
+ boolean isVersionable( );
+
+ boolean canCheckOut( );
+
+ boolean canCancelCheckOut( );
+
+ boolean canCheckIn( );
+
+ void updateCmisProperties( [in] sequence <com::sun::star::document::CmisProperty> cmisProperties );
+
+ sequence <com::sun::star::document::CmisVersion> getAllVersions( );
+
+ /** Contains the properties values named after their CMIS ID.
+ */
+ [attribute] sequence <com::sun::star::document::CmisProperty> CmisProperties;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/XCodeNameQuery.idl b/offapi/com/sun/star/document/XCodeNameQuery.idl
new file mode 100644
index 000000000..2a942eedc
--- /dev/null
+++ b/offapi/com/sun/star/document/XCodeNameQuery.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_document_XCodeNameQuery_idl__
+#define __com_sun_star_document_XCodeNameQuery_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module document {
+interface XCodeNameQuery
+{
+ string getCodeNameForObject( [in] com::sun::star::uno::XInterface aObj );
+
+ string getCodeNameForContainer( [in] com::sun::star::uno::XInterface aObj );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/XCompatWriterDocProperties.idl b/offapi/com/sun/star/document/XCompatWriterDocProperties.idl
new file mode 100644
index 000000000..84c2c986f
--- /dev/null
+++ b/offapi/com/sun/star/document/XCompatWriterDocProperties.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_document_XCompatWriterDocProperties_idl__
+#define __com_sun_star_document_XCompatWriterDocProperties_idl__
+
+#include <com/sun/star/document/XDocumentProperties.idl>
+
+module com { module sun { module star { module document {
+interface XCompatWriterDocProperties
+{
+// interface ::com::sun::star::document::XDocumentProperties;
+ [attribute] string Manager;
+ [attribute] string Category;
+ [attribute] string Company;
+
+
+}; }; }; };
+};
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/XDocumentEventBroadcaster.idl b/offapi/com/sun/star/document/XDocumentEventBroadcaster.idl
new file mode 100644
index 000000000..929db7df8
--- /dev/null
+++ b/offapi/com/sun/star/document/XDocumentEventBroadcaster.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_document_XDocumentEventBroadcaster_idl__
+#define __com_sun_star_document_XDocumentEventBroadcaster_idl__
+
+#include <com/sun/star/frame/XController2.idl>
+#include <com/sun/star/document/DocumentEvent.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/lang/NoSupportException.idl>
+
+
+module com { module sun { module star { module document {
+
+interface XDocumentEventListener;
+
+
+/** allows to be notified of events happening in an OfficeDocument, and to cause notification
+ of such events.
+
+ <p>This interface is the successor of the XEventBroadcaster interface, which should not be used
+ anymore.</p>
+
+ @see DocumentEvent
+ @since OOo 3.1
+*/
+interface XDocumentEventBroadcaster
+{
+ /** registers a listener which is notified about document events
+
+ @param Listener
+ the listener to register. The behavior of the method is undefined this listener
+ is `NULL`.
+ */
+ void addDocumentEventListener( [in] XDocumentEventListener Listener );
+
+ /** revokes a listener which has previously been registered to be notified about document events.
+
+ @param Listener
+ the listener to revoke. The behavior of the method is undefined this listener
+ is `NULL`.
+ */
+ void removeDocumentEventListener( [in] XDocumentEventListener Listener );
+
+ /** causes the broadcaster to notify all registered listeners of the given event
+
+ <p>The method will create a DocumentEvent instance with the given parameters,
+ and fill in the <code>Source</code> member (denoting the broadcaster) as appropriate.</p>
+
+ <p>Whether the actual notification happens synchronously or asynchronously is up to the
+ implementor of this method. However, implementations are encouraged to specify this, for the
+ list of supported event types, in their service contract.</p>
+
+ <p>Implementations might also decide to limit the list of allowed events (means event names) at
+ their own discretion. Again, in this case they're encouraged to document this in their service
+ contract.</p>
+
+ @param EventName
+ the name of the event to be notified.
+ @param ViewController
+ the view/controller which the event applies to. May be `NULL`
+ @param Supplement
+ supplemental information related to the event.
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if EventName is empty, or if EventName is not supported by the
+ document implementation.
+
+ @throws ::com::sun::star::lang::NoSupportException
+ if the broadcaster implementation does not supported broadcasting events induced externally.
+ This is usually used for components which multiplex events from multiple sources, and thus would
+ be unable to fill in the <code>Source</code> member of the DocumentEvent instance.
+ */
+ void notifyDocumentEvent(
+ [in] string EventName,
+ [in] ::com::sun::star::frame::XController2 ViewController,
+ [in] any Supplement
+ )
+ raises ( ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::lang::NoSupportException );
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/XDocumentEventListener.idl b/offapi/com/sun/star/document/XDocumentEventListener.idl
new file mode 100644
index 000000000..b3c249f60
--- /dev/null
+++ b/offapi/com/sun/star/document/XDocumentEventListener.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_document_XDocumentEventListener_idl__
+#define __com_sun_star_document_XDocumentEventListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+#include <com/sun/star/document/DocumentEvent.idl>
+
+
+module com { module sun { module star { module document {
+
+
+/** allows to be notified of events happening in an OfficeDocument
+
+ <p>This interface is the successor of the XEventListener interface, which should not be used
+ anymore.</p>
+
+ @see XDocumentEventBroadcaster
+ @since OOo 3.1
+ */
+interface XDocumentEventListener : ::com::sun::star::lang::XEventListener
+{
+ /** is called whenever a document event occurred
+ */
+ void documentEventOccured( [in] DocumentEvent Event );
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/XDocumentInsertable.idl b/offapi/com/sun/star/document/XDocumentInsertable.idl
new file mode 100644
index 000000000..340305c6d
--- /dev/null
+++ b/offapi/com/sun/star/document/XDocumentInsertable.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_document_XDocumentInsertable_idl__
+#define __com_sun_star_document_XDocumentInsertable_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/beans/PropertyValue.idl>
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+#include <com/sun/star/io/IOException.idl>
+
+
+
+module com { module sun { module star { module document {
+
+
+/** Makes it possible to import a document from a given URL
+ into this document.
+ */
+published interface XDocumentInsertable: com::sun::star::uno::XInterface
+{
+ /** Inserts the document that is specified by the URL.
+ The document will be inserted at the current cursor position.
+
+ Make sure that you insert at a position which can be split
+ in two paragraphs (i.e. not inside of a field).
+ */
+ void insertDocumentFromURL( [in] string aURL,
+ [in] sequence<com::sun::star::beans::PropertyValue> aOptions )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::io::IOException );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/XDocumentLanguages.idl b/offapi/com/sun/star/document/XDocumentLanguages.idl
new file mode 100644
index 000000000..6658f9f23
--- /dev/null
+++ b/offapi/com/sun/star/document/XDocumentLanguages.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_document_XDocumentLanguages_idl__
+#define __com_sun_star_document_XDocumentLanguages_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/Locale.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+module com { module sun { module star { module document {
+
+interface XDocumentLanguages: com::sun::star::uno::XInterface
+{
+ /** retrieve the list of languages already used in current document
+
+ @returns
+ sequence
+ */
+ sequence< com::sun::star::lang::Locale > getDocumentLanguages( [in] short nScriptTypes, [in] short nCount )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/XDocumentProperties.idl b/offapi/com/sun/star/document/XDocumentProperties.idl
new file mode 100644
index 000000000..5a4b1f5c2
--- /dev/null
+++ b/offapi/com/sun/star/document/XDocumentProperties.idl
@@ -0,0 +1,398 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_document_XDocumentProperties_idl__
+#define __com_sun_star_document_XDocumentProperties_idl__
+
+#include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/util/DateTime.idl>
+#include <com/sun/star/lang/Locale.idl>
+#include <com/sun/star/beans/NamedValue.idl>
+#include <com/sun/star/embed/XStorage.idl>
+#include <com/sun/star/io/IOException.idl>
+#include <com/sun/star/io/WrongFormatException.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/beans/XPropertyContainer.idl>
+
+
+
+module com { module sun { module star { module document {
+
+/** provides document-specific information such as the author, creation date,
+ and user-defined fields.
+
+ <p>
+ This interface manages access to document meta-data properties.
+ Such properties may be set from the outside via the setter methods
+ (e.g. when importing arbitrary document formats that support
+ document properties), or imported from an ODF package via the methods
+ loadFromStorage() and loadFromMedium().
+ The properties may also be stored via the methods
+ storeToStorage() and storeToMedium().
+ </p>
+
+ @since OOo 3.0
+
+ @see XDocumentPropertiesSupplier
+ for getting access to an instance from a loaded document
+ @see DocumentProperties for a service that implements this interface
+ */
+published interface XDocumentProperties
+{
+ /** contains the initial author of the document.
+ */
+
+ [attribute] string Author;
+
+ /** identifies which application was used to create or last modify the
+ document.
+ <p>
+ The generating application will set this attribute when it creates a
+ new document or it saves a document. When a document is loaded that
+ itself contains such an attribute it will be preserved until the
+ document is saved again.
+ </p>
+ */
+
+ [attribute] string Generator;
+
+ /** contains the date and time when the document was created.
+ */
+
+ [attribute] com::sun::star::util::DateTime CreationDate;
+
+ /** contains the title of the document.
+ */
+
+ [attribute] string Title;
+
+ /** contains the subject of the document.
+ */
+
+ [attribute] string Subject;
+
+ /** contains a multi-line comment describing the document.
+ <p>
+ Line delimiters can be UNIX, Macintosh or DOS style.
+ </p>
+ */
+
+ [attribute] string Description;
+
+ /** contains a list of keywords for the document.
+ */
+
+ [attribute] sequence< string > Keywords;
+
+ /** contains the default language of the document.
+ */
+
+ [attribute] com::sun::star::lang::Locale Language;
+
+ /** contains the name of the person who most recently stored the document.
+ */
+
+ [attribute] string ModifiedBy;
+
+ /** contains the date and time of the last time the document was stored.
+ <p>
+ If the document has never been stored, contains a default value.
+ </p>
+ */
+
+ [attribute] com::sun::star::util::DateTime ModificationDate;
+
+ /** contains the name of the person who most recently printed the document.
+ */
+
+ [attribute] string PrintedBy;
+
+ /** contains the date and time when the document was last printed.
+ <p>
+ If the document has never been printed, contains a default value.
+ </p>
+ */
+
+ [attribute] com::sun::star::util::DateTime PrintDate;
+
+ /** contains the name of the template from which the document was created.
+ <p>
+ The value is an empty `string` if the document was not
+ created from a template or if it was detached from the template.
+ </p>
+ */
+
+ [attribute] string TemplateName;
+
+ /** contains the URL of the template from which the document was created.
+ <p>
+ The value is an empty `string` if the document was not
+ created from a template or if it was detached from the template.
+ </p>
+ */
+
+ [attribute] string TemplateURL;
+
+ /** contains the date and time of when the document
+ was created or updated from the template.
+ */
+
+ [attribute] com::sun::star::util::DateTime TemplateDate;
+
+ /** contains the URL to load automatically at a
+ specified time after the document is loaded into a desktop frame.
+ <p>
+ An empty URL is valid and describes a case where the document shall be
+ reloaded from its original location after some time described by the
+ attribute #AutoloadSecs.
+ An empty `string` together with an
+ #AutoloadSecs value of 0
+ describes a case where no autoload is specified.
+ </p>
+
+ @see AutoloadSecs
+ */
+
+ [attribute] string AutoloadURL;
+
+ /** contains the number of seconds after which a specified
+ URL is to be loaded after the document is loaded into a desktop
+ frame.
+ <p>
+ A value of 0 is valid and describes a redirection.
+ A value of 0 together with an empty `string` as
+ #AutoloadURL
+ describes a case where no autoload is specified.
+ </p>
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if argument is negative
+
+ @see AutoloadURL
+ */
+
+ [attribute] long AutoloadSecs {
+ set raises ( com::sun::star::lang::IllegalArgumentException );
+ };
+
+ /** contains the name of the default frame into which
+ links should be loaded if no target is specified.
+ <p>
+ This applies to the autoload feature too, but to others as well.
+ </p>
+ */
+
+ [attribute] string DefaultTarget;
+
+ /** contains some statistics about the document.
+ <p>
+ The contained statistics may be specific to the type of the document.
+ </p>
+ */
+
+ [attribute]
+ sequence< com::sun::star::beans::NamedValue > DocumentStatistics;
+
+ /** describes how often the document was edited and saved.
+ <p>
+ </p>
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if argument is negative
+ */
+
+ [attribute] short EditingCycles {
+ set raises ( com::sun::star::lang::IllegalArgumentException );
+ };
+
+ /** contains the net time of editing the document (in seconds).
+ <p>
+ </p>
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if argument is negative
+ */
+
+ [attribute] long EditingDuration {
+ set raises ( com::sun::star::lang::IllegalArgumentException );
+ };
+
+ /** resets all attributes that could identify the user.
+ <p>
+ Clears the document properties, such that it appears the document
+ has just been created.
+ This is a convenience method which resets several attributes at once,
+ as follows:
+ <ul>
+ <li>#Author is set to the given parameter.</li>
+ <li>#CreationDate is set to the current date and time.
+ </li>
+ <li>#ModifiedBy is cleared.</li>
+ <li>#ModificationDate is cleared.</li>
+ <li>#PrintedBy is cleared.</li>
+ <li>#PrintDate is cleared.</li>
+ <li>#EditingDuration is cleared.</li>
+ <li>#EditingCycles is set to 1.</li>
+ </ul>
+
+ @param Author
+ the new value of the #Author attribute.
+ </p>
+ */
+ void resetUserData( [in] string Author );
+
+ /** provides access to a container for user-defined properties.
+ <p>
+ The returned object also implements the interface
+ com::sun::star::beans::XPropertySet.
+ </p>
+ @returns a container that provides access to user-defined properties
+ */
+
+ com::sun::star::beans::XPropertyContainer getUserDefinedProperties();
+
+ /** loads document properties from an ODF package.
+ <p>
+ This method is used for accessing an ODF package that is owned by
+ someone else, e.g., a document.
+ </p>
+
+ @param Storage
+ the com::sun::star::embed::Storage representing the
+ ODF package
+
+ @param Medium
+ the com::sun::star::document::MediaDescriptor
+ representing the source
+ <p>
+ This is unfortunately necessary in order to properly resolve
+ relative URLs in the meta-data.
+ </p>
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if argument is `NULL`
+ @throws com::sun::star::io::WrongFormatException
+ if parsing the XML document fails
+ @throws com::sun::star::lang::WrappedTargetException
+ if thrown when trying to open a stream in the given storage
+ @throws com::sun::star::io::IOException
+ if thrown when trying to open a stream in the given storage
+ */
+
+ void loadFromStorage( [in] com::sun::star::embed::XStorage Storage,
+ [in] sequence < com::sun::star::beans::PropertyValue > Medium )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::io::WrongFormatException,
+ com::sun::star::lang::WrappedTargetException,
+ com::sun::star::io::IOException );
+
+ /** loads document properties from an ODF package or an OLE container.
+
+ @param URL
+ the URL of the source document
+ <p>
+ The URL could be part of the Medium parameter, but because often
+ no other parameters except the URL are needed, providing it
+ separately was added for convenience.
+ </p>
+
+ @param Medium
+ the com::sun::star::document::MediaDescriptor
+ representing the source
+
+ @throws com::sun::star::io::WrongFormatException
+ if parsing the XML document fails
+ @throws com::sun::star::lang::WrappedTargetException
+ if thrown when trying to open a stream in the given storage
+ @throws com::sun::star::io::IOException
+ if thrown when trying to open a stream in the given storage
+ */
+
+ void loadFromMedium( [in] string URL,
+ [in] sequence < com::sun::star::beans::PropertyValue > Medium )
+ raises( com::sun::star::io::WrongFormatException,
+ com::sun::star::lang::WrappedTargetException,
+ com::sun::star::io::IOException );
+
+ /** stores document properties to an ODF package.
+ <p>
+ This method is used for accessing an ODF package that is owned by
+ someone else, e.g., a document.
+ Note that the implementation may choose to store the meta-data
+ in either OOo or ODF format, depending on the MediaType property
+ of the given Storage argument.
+ </p>
+
+ @param Storage
+ the com::sun::star::embed::Storage representing the
+ ODF package
+
+ @param Medium
+ the com::sun::star::document::MediaDescriptor
+ representing the source
+ <p>
+ This is unfortunately necessary in order to properly resolve
+ relative URLs in the meta-data.
+ </p>
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if argument is `NULL`
+ @throws com::sun::star::lang::WrappedTargetException
+ if thrown when trying to open a stream in the given storage
+ @throws com::sun::star::io::IOException
+ if thrown when writing to the storage
+ */
+
+ void storeToStorage( [in] com::sun::star::embed::XStorage Storage,
+ [in] sequence < com::sun::star::beans::PropertyValue > Medium )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::lang::WrappedTargetException,
+ com::sun::star::io::IOException );
+
+ /** stores document properties to an ODF package or an OLE container.
+
+ @param URL
+ the URL of the target document
+ <p>
+ The URL could be part of the Medium parameter, but because often
+ no other parameters except the URL are needed, providing it
+ separately was added for convenience.
+ </p>
+
+ @param Medium
+ the com::sun::star::document::MediaDescriptor
+ representing the target
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if thrown when trying to open a stream in the given storage
+ @throws com::sun::star::io::IOException
+ if thrown when writing to the storage
+ */
+
+ void storeToMedium( [in] string URL,
+ [in] sequence < com::sun::star::beans::PropertyValue > Medium )
+ raises( com::sun::star::lang::WrappedTargetException,
+ com::sun::star::io::IOException );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/XDocumentPropertiesSupplier.idl b/offapi/com/sun/star/document/XDocumentPropertiesSupplier.idl
new file mode 100644
index 000000000..29c29d9cd
--- /dev/null
+++ b/offapi/com/sun/star/document/XDocumentPropertiesSupplier.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_document_XDocumentPropertiesSupplier_idl__
+#define __com_sun_star_document_XDocumentPropertiesSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/document/XDocumentProperties.idl>
+
+
+module com { module sun { module star { module document {
+
+/** provides access to the XDocumentProperties instance of a
+ document.
+ <p>
+ A DocumentProperties instance is available on loaded documents
+ via this supplier interface.
+ </p>
+
+ @since OOo 3.0
+
+ @see XDocumentProperties
+ @see DocumentProperties
+ */
+published interface XDocumentPropertiesSupplier
+{
+ /** provides the document properties object.
+
+ @returns
+ an object of type XDocumentProperties
+ */
+ XDocumentProperties getDocumentProperties();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/XDocumentRecovery.idl b/offapi/com/sun/star/document/XDocumentRecovery.idl
new file mode 100644
index 000000000..914a091b6
--- /dev/null
+++ b/offapi/com/sun/star/document/XDocumentRecovery.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_document_XDocumentRecovery_idl__
+#define __com_sun_star_document_XDocumentRecovery_idl__
+
+#include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/io/IOException.idl>
+#include <com/sun/star/lang/WrappedTargetException.idl>
+
+
+module com { module sun { module star { module document {
+
+
+/** is the interface to be implemented by documents who wish to participate in
+ the document emergency-save / recovery process.
+ */
+interface XDocumentRecovery
+{
+ /** determines whether the document has been modified since the last call to storeToRecoveryFile().
+
+ <p>If <code>storeToRecoveryFile</code> has not been called before, this method returns whether the document
+ has been modified since it has been loaded respectively created.</p>
+
+ <p>When saving a session, either in case of an emergency (when OpenOffice.org crashed), or during a
+ periodic session save as configured by the user, storeToRecoveryFile() is called for every
+ document where <code>wasModifiedSinceLastSave</code> returns `TRUE`.</p>
+
+ <p>It's allowed to implement this method sloppy, by returning `TRUE` in cases where it is not sure whether
+ the document actually has been modified. So, the most simple implementation could simply delegate this call
+ to com::sun::star::util::XModifiable::isModified(). (Well, actually that's the
+ second simple implementation, the <em>most</em> simple one would, still legitimately, always return `TRUE`.)</p>
+
+ <p>However, in such a case, the document might be saved more often than needed. In particular during the
+ periodic session save, this might become a problem when saving is expensive, for a single document
+ or the sum of all open documents.</p>
+ */
+ boolean wasModifiedSinceLastSave();
+
+ /** does an emergency save of the document
+
+ <p>A default implementation of this method could simply delegate this call to
+ com::sun::star::frame::XStorable::storeToURL().</p>
+
+ @param TargetLocation
+ specifies the URL of the location to which the document should be emergency-saved.
+
+ @param MediaDescriptor
+ contains additional arguments for the save process, for instance a StatusIndicator.
+
+ @see MediaDescriptor
+ */
+ void storeToRecoveryFile(
+ [in] string TargetLocation,
+ [in] sequence< ::com::sun::star::beans::PropertyValue > MediaDescriptor
+ )
+ raises ( ::com::sun::star::io::IOException,
+ ::com::sun::star::lang::WrappedTargetException
+ );
+
+ /** recovers the document after a previous emergency or session save.
+
+ <p>The document itself has previously been created, but <em>not</em> loaded
+ (via com::sun::star::frame::XLoadable::load()) or initialized (via
+ com::sun::star::frame::XLoadable::initNew()).</p>
+
+ <p>Upon successful return, the document must be fully initialized. In particular, the
+ caller is not responsible for calling com::sun::star::frame::XModel::attachResource().
+ Instead, the implementation is responsible to do so, if required.</p>
+
+ <p>A default implementation of this method could simply delegate this call to
+ ::com::sun::star::frame::XLoadable::load(), followed by
+ com::sun::star::frame::XModel::attachResource().</p>
+
+ @param SourceLocation
+ specifies the URL of the location to which the document was previously emergency-saved.
+
+ @param SalvagedFile
+ specifies the original URL of the file which had been emergency-saved. If this is empty,
+ then the file should be recovered from its original location.
+
+ @param MediaDescriptor
+ contains additional arguments for the load process, for instance a StatusIndicator.
+
+ @see MediaDescriptor
+ */
+ void recoverFromFile(
+ [in] string SourceLocation,
+ [in] string SalvagedFile,
+ [in] sequence< ::com::sun::star::beans::PropertyValue > MediaDescriptor
+ )
+ raises ( ::com::sun::star::io::IOException,
+ ::com::sun::star::lang::WrappedTargetException
+ );
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/XDocumentRevisionListPersistence.idl b/offapi/com/sun/star/document/XDocumentRevisionListPersistence.idl
new file mode 100644
index 000000000..f8aa9f5ce
--- /dev/null
+++ b/offapi/com/sun/star/document/XDocumentRevisionListPersistence.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_document_XDocumentRevisionListPersistence_idl__
+#define __com_sun_star_document_XDocumentRevisionListPersistence_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/embed/XStorage.idl>
+#include <com/sun/star/util/RevisionTag.idl>
+#include <com/sun/star/io/IOException.idl>
+#include <com/sun/star/container/NoSuchElementException.idl>
+#include <com/sun/star/uno/Exception.idl>
+
+
+module com { module sun { module star { module document {
+
+/** interface to load or store a list of document revisions from or to a document
+ using the packed XML file format
+ */
+interface XDocumentRevisionListPersistence: com::sun::star::uno::XInterface
+{
+ /** Loads a list of available revisions from a storage
+ <p>
+ This method does not load any revision itself
+ </p>
+ */
+ sequence < ::com::sun::star::util::RevisionTag > load( [in] ::com::sun::star::embed::XStorage Storage)
+ raises( com::sun::star::container::NoSuchElementException,
+ com::sun::star::io::IOException,
+ com::sun::star::uno::Exception );
+
+ /** Stores a list of available revisions to a storage
+ <p>
+ This method does not store revisions themselves
+ </p>
+ */
+ void store( [in] ::com::sun::star::embed::XStorage Storage, [in] sequence < ::com::sun::star::util::RevisionTag > List )
+ raises( com::sun::star::io::IOException,
+ com::sun::star::uno::Exception );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/XDocumentSubStorageSupplier.idl b/offapi/com/sun/star/document/XDocumentSubStorageSupplier.idl
new file mode 100644
index 000000000..044bd98f3
--- /dev/null
+++ b/offapi/com/sun/star/document/XDocumentSubStorageSupplier.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_document_XDocumentSubStorageSupplier_idl__
+#define __com_sun_star_document_XDocumentSubStorageSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/embed/XStorage.idl>
+
+
+
+module com { module sun { module star { module document {
+
+/** through this interface documents can provide access to their substorages
+
+ <p>
+ A temporary interface to get access to documents substorages.
+ </p>
+ */
+interface XDocumentSubStorageSupplier: com::sun::star::uno::XInterface
+{
+ /** provides the access to a substorage with specified name
+
+ @param StorageName
+ the name of requested substorage
+
+ @param nMode
+ a mode the storage should be opened in can take value from ::com::sun::star::embed::ElementModes
+
+ @returns
+ XStorage implementation that refers to specified substorage
+ */
+ com::sun::star::embed::XStorage getDocumentSubStorage(
+ [in] string StorageName,
+ [in] long nMode );
+
+ /** provides the list of substorages
+
+ @returns
+ sequence of substorages names
+ */
+ sequence< string > getDocumentSubStoragesNames()
+ raises( ::com::sun::star::io::IOException );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/XEmbeddedObjectResolver.idl b/offapi/com/sun/star/document/XEmbeddedObjectResolver.idl
new file mode 100644
index 000000000..bbba8de4d
--- /dev/null
+++ b/offapi/com/sun/star/document/XEmbeddedObjectResolver.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_document_XEmbeddedObjectResolver_idl__
+#define __com_sun_star_document_XEmbeddedObjectResolver_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module document {
+
+
+/** this interface converts embedded object URLs from one URL space to another.
+ */
+published interface XEmbeddedObjectResolver: com::sun::star::uno::XInterface
+{
+ /** converts the given URL from the source URL namespace to the destination
+ URL space of this instance.
+ */
+ string resolveEmbeddedObjectURL( [in] string aURL );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/XEmbeddedObjectSupplier.idl b/offapi/com/sun/star/document/XEmbeddedObjectSupplier.idl
new file mode 100644
index 000000000..dfe393e70
--- /dev/null
+++ b/offapi/com/sun/star/document/XEmbeddedObjectSupplier.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_document_XEmbeddedObjectSupplier_idl__
+#define __com_sun_star_document_XEmbeddedObjectSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/lang/XComponent.idl>
+
+
+
+module com { module sun { module star { module document {
+
+
+/** represents something that provides an embedded object.
+ */
+published interface XEmbeddedObjectSupplier: com::sun::star::uno::XInterface
+{
+ /** returns the object which is embedded into this object.
+ */
+ com::sun::star::lang::XComponent getEmbeddedObject();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/XEmbeddedObjectSupplier2.idl b/offapi/com/sun/star/document/XEmbeddedObjectSupplier2.idl
new file mode 100644
index 000000000..22b957366
--- /dev/null
+++ b/offapi/com/sun/star/document/XEmbeddedObjectSupplier2.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_document_XEmbeddedObjectSupplier2_idl__
+#define __com_sun_star_document_XEmbeddedObjectSupplier2_idl__
+
+#include <com/sun/star/embed/XEmbeddedObject.idl>
+
+#include <com/sun/star/graphic/XGraphic.idl>
+#include <com/sun/star/document/XEmbeddedObjectSupplier.idl>
+
+
+
+module com { module sun { module star { module document {
+
+
+/** represents something that provides an embedded object.
+ */
+interface XEmbeddedObjectSupplier2: com::sun::star::document::XEmbeddedObjectSupplier
+{
+ /** returns the object which is embedded into this object.
+
+ <p>
+ This method does not return the model that is controlled by the
+ embedded object, but the embedded object itself.
+ </p>
+ */
+ com::sun::star::embed::XEmbeddedObject getExtendedControlOverEmbeddedObject();
+
+ /** allows to control the aspect of the object.
+ */
+ [attribute] hyper Aspect;
+
+ /** allows to get the replacement image of the object.
+ */
+ [attribute,readonly] com::sun::star::graphic::XGraphic ReplacementGraphic;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/XEmbeddedScripts.idl b/offapi/com/sun/star/document/XEmbeddedScripts.idl
new file mode 100644
index 000000000..c7ef5ea4e
--- /dev/null
+++ b/offapi/com/sun/star/document/XEmbeddedScripts.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_document_XEmbeddedScripts_idl__
+#define __com_sun_star_document_XEmbeddedScripts_idl__
+
+#include <com/sun/star/script/XStorageBasedLibraryContainer.idl>
+
+
+module com { module sun { module star { module document {
+
+
+/** is supported by OfficeDocuments which allow to embed scripts
+
+ @since OOo 2.4
+ */
+interface XEmbeddedScripts
+{
+ /** is the container of <code>StarBasic</code> macro libraries contained in the document
+ */
+ [attribute, readonly] ::com::sun::star::script::XStorageBasedLibraryContainer BasicLibraries;
+
+ /** is the container of dialogs libraries contained in the document
+ */
+ [attribute, readonly] ::com::sun::star::script::XStorageBasedLibraryContainer DialogLibraries;
+
+ /** determines whether executing macros from this document is allowed.
+
+ <p>Effectively, this attribute is an evaluation of the document's MacroExecMode
+ against possibly applicable configuration settings, the document location in relation to the
+ trusted location, and the like.</p>
+
+ @see MacroExecMode
+ */
+ [attribute, readonly] boolean AllowMacroExecution;
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/XEventBroadcaster.idl b/offapi/com/sun/star/document/XEventBroadcaster.idl
new file mode 100644
index 000000000..140b0b6ab
--- /dev/null
+++ b/offapi/com/sun/star/document/XEventBroadcaster.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_document_XEventBroadcaster_idl__
+#define __com_sun_star_document_XEventBroadcaster_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/document/XEventListener.idl>
+
+
+module com { module sun { module star { module document {
+
+/** makes it possible to register listeners which are called whenever
+ a document event (see EventObject) occurs
+
+ @deprecated
+ @see XDocumentEventBroadcaster
+ */
+published interface XEventBroadcaster: com::sun::star::uno::XInterface
+{
+ /** registers the given listener
+
+ @param Listener
+ listener which is interested on such events
+ */
+ void addEventListener( [in] XEventListener Listener );
+
+ /** unregisters the given listener
+
+ @param Listener
+ listener which isn't interested on such events any longer
+ */
+ void removeEventListener( [in] XEventListener Listener );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/XEventListener.idl b/offapi/com/sun/star/document/XEventListener.idl
new file mode 100644
index 000000000..213583c11
--- /dev/null
+++ b/offapi/com/sun/star/document/XEventListener.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_document_XEventListener_idl__
+#define __com_sun_star_document_XEventListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+#include <com/sun/star/document/EventObject.idl>
+
+
+module com { module sun { module star { module document {
+
+/** makes it possible to register listeners, which are called whenever
+ a document or document content event occurs
+
+ <p>Such events will be broadcasted by a XEventBroadcaster.</p>
+
+ @deprecated
+ @see XDocumentEventListener
+ */
+published interface XEventListener: com::sun::star::lang::XEventListener
+{
+ /** is called whenever a document event (see EventObject) occurs
+
+ @param Event
+ specifies the event type
+ */
+ void notifyEvent( [in] EventObject Event );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/XEventsSupplier.idl b/offapi/com/sun/star/document/XEventsSupplier.idl
new file mode 100644
index 000000000..46d303558
--- /dev/null
+++ b/offapi/com/sun/star/document/XEventsSupplier.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_document_XEventsSupplier_idl__
+#define __com_sun_star_document_XEventsSupplier_idl__
+
+#include <com/sun/star/container/XNameReplace.idl>
+
+
+module com { module sun { module star { module document {
+
+/** gives access to a list of URLs bound to events of this object
+ */
+published interface XEventsSupplier: com::sun::star::uno::XInterface
+{
+ /** offers a list of event handlers which are be bound to events of
+ this object
+
+ @returns
+ an Events description object
+ */
+ com::sun::star::container::XNameReplace getEvents();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/XExporter.idl b/offapi/com/sun/star/document/XExporter.idl
new file mode 100644
index 000000000..ca175d787
--- /dev/null
+++ b/offapi/com/sun/star/document/XExporter.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_document_XExporter_idl__
+#define __com_sun_star_document_XExporter_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+module com { module sun { module star { module document {
+
+/** makes it possible to connect a document with an ExportFilter
+
+ <p>
+ An ExportFilter must know the source of his filter operation.
+ To set this on a filter is part of this interface.
+ Same mechanism exist for import too.
+ </p>
+
+ @see ExportFilter
+ @see ImportFilter
+ @see XImporter
+ */
+published interface XExporter: com::sun::star::uno::XInterface
+{
+ /** sets the source document for the exporter
+
+ @param Document
+ the source document
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if <var>Document</var> does not support any service which is
+ supported by this exporter
+ */
+ void setSourceDocument(
+ [in] com::sun::star::lang::XComponent Document )
+ raises( com::sun::star::lang::IllegalArgumentException );
+};
+
+
+}; }; }; };
+
+#endif
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/XExtendedFilterDetection.idl b/offapi/com/sun/star/document/XExtendedFilterDetection.idl
new file mode 100644
index 000000000..879c83937
--- /dev/null
+++ b/offapi/com/sun/star/document/XExtendedFilterDetection.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_document_XExtendedFilterDetection_idl__
+#define __com_sun_star_document_XExtendedFilterDetection_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+
+
+module com { module sun { module star { module document {
+
+/** provides a "deep" filter detection
+
+ <p>
+ A "deep" filter detection means looking into the document stream to detect
+ the format of it. Services of type ExtendedTypeDetection must support this
+ interface to be called from generic load mechanism of the office for that.
+ </p>
+
+ @see DetectService
+ @see TypeDetection
+ @see FilterFactory
+ */
+published interface XExtendedFilterDetection: com::sun::star::uno::XInterface
+{
+ /** controls agreement of a "flat" TypeDetection
+ with given URL or arguments
+
+ <p>
+ Registered services in configuration, which support this interface for different mime types,
+ will be called automatically to look into the document stream and decide which format it represent.
+ Add the collected information about detected documents in given MediaDescriptor
+ <var>Descriptor</var>. The decision must be returned as any valid type name (which specifies
+ the detected format) or an empty value for unknown formats.
+ </p>
+
+ @param Descriptor
+ represent a MediaDescriptor which can be used to get/set information
+ about the detected document
+
+ @returns
+ an internal type name if format was detected successfully
+ <br>
+ or an empty value for an unknown document format.
+ */
+ string detect( [inout] sequence< com::sun::star::beans::PropertyValue > Descriptor );
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/XFilter.idl b/offapi/com/sun/star/document/XFilter.idl
new file mode 100644
index 000000000..9a17b2bf5
--- /dev/null
+++ b/offapi/com/sun/star/document/XFilter.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_document_XFilter_idl__
+#define __com_sun_star_document_XFilter_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+
+
+module com { module sun { module star { module document {
+
+/** interface to filter documents
+
+ <p>
+ This interface will be used by service ImportFilter or
+ ExportFilter to support loading/saving of documents in
+ different formats. The target/source of such filter operations must
+ be known <em>before</em> filtering will be started.
+ (see XImporter and XExporter too)
+ Otherwise this interface can't work right.
+ <p>
+
+ @see ImportFilter
+ @see ExportFilter
+ @see XImporter
+ @see XExporter
+ */
+published interface XFilter: com::sun::star::uno::XInterface
+{
+ /** filter the document.
+
+ <p>
+ The given MediaDescriptor holds all necessary information
+ about the document.
+
+ Don't hold hard references to the descriptor items. You must copy needed information!
+ Otherwise we couldn't destroy (for example) an existing input stream!
+ </p>
+ @param aDescriptor
+ the MediaDescriptor describing the respective document.
+ @return a boolean value indicating whether the filter operation was successful or not.
+ */
+ boolean filter( [in] sequence< com::sun::star::beans::PropertyValue > aDescriptor );
+
+ /** cancel the process.
+ */
+ void cancel();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/XFilterAdapter.idl b/offapi/com/sun/star/document/XFilterAdapter.idl
new file mode 100644
index 000000000..226782009
--- /dev/null
+++ b/offapi/com/sun/star/document/XFilterAdapter.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_DOCUMENT_XFILTERADAPTER_IDL__
+#define _COM_SUN_STAR_DOCUMENT_XFILTERADAPTER_IDL__
+
+#include <com/sun/star/uno/RuntimeException.idl>
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/io/XInputStream.idl>
+#include <com/sun/star/io/XOutputStream.idl>
+
+
+module com { module sun { module star { module document {
+
+
+ /** This is an interface that can be used to link a filter to the
+ FilterAdapter
+
+ @throws com::sun::star::uno::RuntimeException
+
+ @since OOo 1.1.2
+ */
+published interface XFilterAdapter : com::sun::star::uno::XInterface
+ {
+ void convert(
+ [in] com::sun::star::io::XInputStream xml,
+ [in] com::sun::star::io::XOutputStream device,
+ [in] boolean convertToOffice,
+ [in] string pluginUrl,
+ [in] string fileName);
+ /*raises( com::sun::star::uno::RuntimeException );*/
+
+ };
+ };
+ };
+ };
+};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/XGraphicObjectResolver.idl b/offapi/com/sun/star/document/XGraphicObjectResolver.idl
new file mode 100644
index 000000000..2296a0c2c
--- /dev/null
+++ b/offapi/com/sun/star/document/XGraphicObjectResolver.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_document_XGraphicObjectResolver_idl__
+#define __com_sun_star_document_XGraphicObjectResolver_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module document {
+
+
+/** this interface converts graphic object URLs from one URL space to another.
+
+ @deprecated since LibreOffice 6.1
+ Use GraphicStorageHandler or GraphicProvider to load an XGraphic instead
+ as converting to internal GraphicObject URL is not possible anymore.
+ */
+published interface XGraphicObjectResolver: com::sun::star::uno::XInterface
+{
+ /** converts the given URL from the source URL namespace to the destination
+ URL space of this instance.
+
+ @deprecated since LibreOffice 6.1 - throws a RuntimeException if called
+ */
+ string resolveGraphicObjectURL( [in] string aURL );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/XGraphicStorageHandler.idl b/offapi/com/sun/star/document/XGraphicStorageHandler.idl
new file mode 100644
index 000000000..9c70132e0
--- /dev/null
+++ b/offapi/com/sun/star/document/XGraphicStorageHandler.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/.
+ *
+ */
+#ifndef __com_sun_star_document_XGraphicStorageHandler_idl__
+#define __com_sun_star_document_XGraphicStorageHandler_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/graphic/XGraphic.idl>
+
+module com { module sun { module star { module document {
+
+/** interface for loading, saving and serializing of XGraphic objects to
+ a document storage
+
+ @since LibreOffice 6.1
+ */
+interface XGraphicStorageHandler : com::sun::star::uno::XInterface
+{
+ /** load a graphic defined by the URL from the storage
+ */
+ com::sun::star::graphic::XGraphic loadGraphic([in] string aURL);
+
+ /** load a graphic from the output stream
+ */
+ com::sun::star::graphic::XGraphic loadGraphicFromOutputStream([in] com::sun::star::io::XOutputStream xOutputStream);
+
+ /** save the graphic to the storage and return the URL reference to
+ its location inside the storage
+ */
+ string saveGraphic([in] com::sun::star::graphic::XGraphic xGraphic);
+
+ /** save the graphic to the storage with a requested name and return
+ the URL reference to its location inside the storage and the mime
+ type of the format that the graphic was saved to as an output parameter
+ */
+ string saveGraphicByName([in] com::sun::star::graphic::XGraphic xGraphic, [out] string savedMimeType, [in] string aRequestedName);
+
+ /** create an input stream from the input graphic
+ */
+ com::sun::star::io::XInputStream createInputStream([in] com::sun::star::graphic::XGraphic xGraphic);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/XImporter.idl b/offapi/com/sun/star/document/XImporter.idl
new file mode 100644
index 000000000..3325bb789
--- /dev/null
+++ b/offapi/com/sun/star/document/XImporter.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_document_XImporter_idl__
+#define __com_sun_star_document_XImporter_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+module com { module sun { module star { module document {
+
+/** makes it possible to connect a document with an ImportFilter
+
+ <p>
+ An ImportFilter must know the target of his filter operation.
+ To set this on a filter is part of this interface.
+ Same mechanism exist for export too.
+ </p>
+
+ @see ExportFilter
+ @see ImportFilter
+ @see XExporter
+ */
+published interface XImporter: com::sun::star::uno::XInterface
+{
+ /** sets the target document for the importer
+
+ @param Document
+ the target document
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if <var>Document</var> does not support any service which is
+ supported by this importer
+ */
+ void setTargetDocument(
+ [in] com::sun::star::lang::XComponent Document )
+ raises( com::sun::star::lang::IllegalArgumentException );
+};
+
+
+}; }; }; };
+
+#endif
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/XInteractionFilterOptions.idl b/offapi/com/sun/star/document/XInteractionFilterOptions.idl
new file mode 100644
index 000000000..27a0704bc
--- /dev/null
+++ b/offapi/com/sun/star/document/XInteractionFilterOptions.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_document_XInteractionFilterOptions_idl__
+#define __com_sun_star_document_XInteractionFilterOptions_idl__
+
+#include <com/sun/star/task/XInteractionContinuation.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+
+
+module com { module sun { module star { module document {
+
+/** A continuation to return filter options from interaction helper.
+
+ @since OOo 1.1.2
+*/
+published interface XInteractionFilterOptions : ::com::sun::star::task::XInteractionContinuation
+{
+ /** Store results to the continuation.
+
+ @param rProperties the list of properties containing filter options.
+
+ */
+ void setFilterOptions( [in] sequence< com::sun::star::beans::PropertyValue > rProperties );
+
+ /** Get results from the continuation.
+
+ @returns the stored list of properties containing filter options.
+ */
+ sequence< com::sun::star::beans::PropertyValue > getFilterOptions();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/XInteractionFilterSelect.idl b/offapi/com/sun/star/document/XInteractionFilterSelect.idl
new file mode 100644
index 000000000..0440fa1a4
--- /dev/null
+++ b/offapi/com/sun/star/document/XInteractionFilterSelect.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_document_XInteractionFilterSelect_idl__
+#define __com_sun_star_document_XInteractionFilterSelect_idl__
+
+#include <com/sun/star/task/XInteractionContinuation.idl>
+
+
+module com { module sun { module star { module document {
+
+/** continuation used by interaction mechanism at filter detection during
+ loading documents
+
+ <p>
+ If during loading time the filter can't be detected and wasn't given at calling time,
+ a possible com::sun::star::task::InteractionHandler will be used.
+ (it's a part of used MediaDescriptor)
+ A NoSuchFilterRequest will be used then to start right interaction on that to
+ get a decision which filter should be used for given URL. A possible continuation
+ of that can be this XInteractionFilterSelect. It will transport the decision back to
+ generic filter detection and force using of it. Of course it's possible to abort
+ the loading process by use another continuation com::sun::star::task::XInteractionAbort.
+ </p>
+
+ @see MediaDescriptor
+ @see com::sun::star::task::InteractionHandler
+ @see NoSuchFilterRequest
+ @see com::sun::star::task::XInteractionAbort
+ */
+published interface XInteractionFilterSelect : com::sun::star::task::XInteractionContinuation
+{
+ /** used by interaction to set selected filter
+
+ <p>
+ This value must be saved till another one will be set
+ and must be provided on getFilter() for interest users.
+ </p>
+ */
+ void setFilter( [in] string Name );
+
+ /** used by detection to get selected filter
+ */
+ string getFilter();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/XLinkTargetSupplier.idl b/offapi/com/sun/star/document/XLinkTargetSupplier.idl
new file mode 100644
index 000000000..31e44ca0f
--- /dev/null
+++ b/offapi/com/sun/star/document/XLinkTargetSupplier.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_document_XLinkTargetSupplier_idl__
+#define __com_sun_star_document_XLinkTargetSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/container/XNameAccess.idl>
+
+
+
+module com { module sun { module star { module document {
+
+
+/** interface is supplied by objects inside a document object model that have
+ children that can be the target of a link inside a document.
+
+ <p>These targets implement the service LinkTarget. </p>
+ */
+published interface XLinkTargetSupplier: com::sun::star::uno::XInterface
+{
+ /** @returns
+ the names of possible links to children of this object inside a
+ document object model. It implements the service LinkTargets.
+ */
+ com::sun::star::container::XNameAccess getLinks();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/XMLBasicExporter.idl b/offapi/com/sun/star/document/XMLBasicExporter.idl
new file mode 100644
index 000000000..d994a2174
--- /dev/null
+++ b/offapi/com/sun/star/document/XMLBasicExporter.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_document_XMLBasicExporter_idl__
+#define __com_sun_star_document_XMLBasicExporter_idl__
+
+#include <com/sun/star/xml/sax/XDocumentHandler.idl>
+#include <com/sun/star/document/XXMLBasicExporter.idl>
+
+
+
+module com { module sun { module star { module document {
+
+
+/** Filter for exporting Basic macros to the OpenOffice.org file format.
+
+ <p>First the XExporter::setSourceDocument() method must be
+ called in order to provide the export component with the source document
+ from which the data should be exported. After that, the export is started
+ by calling the XFilter::filter() method.</p>
+
+ @since OOo 2.0
+ */
+published service XMLBasicExporter : XXMLBasicExporter
+{
+ createWithHandler([in] com::sun::star::xml::sax::XDocumentHandler DocumentHandler);
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/XMLOasisBasicExporter.idl b/offapi/com/sun/star/document/XMLOasisBasicExporter.idl
new file mode 100644
index 000000000..7befbf100
--- /dev/null
+++ b/offapi/com/sun/star/document/XMLOasisBasicExporter.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_document_XMLOasisBasicExporter_idl__
+#define __com_sun_star_document_XMLOasisBasicExporter_idl__
+
+#include <com/sun/star/xml/sax/XDocumentHandler.idl>
+#include <com/sun/star/document/XXMLBasicExporter.idl>
+
+
+
+module com { module sun { module star { module document {
+
+
+/** Filter for exporting Basic macros to the OASIS Open Office file format.
+
+ <p>First the XExporter::setSourceDocument() method must be
+ called in order to provide the export component with the source document
+ from which the data should be exported. After that, the export is started
+ by calling the XFilter::filter() method.</p>
+
+ @since OOo 2.0
+ */
+published service XMLOasisBasicExporter : XXMLBasicExporter
+{
+ createWithHandler([in] com::sun::star::xml::sax::XDocumentHandler DocumentHandler);
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/XMimeTypeInfo.idl b/offapi/com/sun/star/document/XMimeTypeInfo.idl
new file mode 100644
index 000000000..5733b7d37
--- /dev/null
+++ b/offapi/com/sun/star/document/XMimeTypeInfo.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_document_XMimeTypeInfo_idl__
+#define __com_sun_star_document_XMimeTypeInfo_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+module com { module sun { module star { module document {
+
+
+/** provides information regarding which MIME types are supported by a filter.
+ */
+published interface XMimeTypeInfo: com::sun::star::uno::XInterface
+{
+
+ /** asks whether a MIME type is supported or not.
+ */
+ boolean supportsMimeType( [in] string MimeTypeName );
+
+
+ /** @returns
+ a sequence of the names of all supported MIME types.
+ */
+ sequence<string> getSupportedMimeTypeNames();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/XOOXMLDocumentPropertiesImporter.idl b/offapi/com/sun/star/document/XOOXMLDocumentPropertiesImporter.idl
new file mode 100644
index 000000000..840081663
--- /dev/null
+++ b/offapi/com/sun/star/document/XOOXMLDocumentPropertiesImporter.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_document_XOOXMLDocumentPropertiesImporter_idl__
+#define __com_sun_star_document_XOOXMLDocumentPropertiesImporter_idl__
+
+#include <com/sun/star/document/XDocumentProperties.idl>
+#include <com/sun/star/embed/XStorage.idl>
+#include <com/sun/star/xml/sax/SAXException.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/uno/Exception.idl>
+#include <com/sun/star/io/XInputStream.idl>
+
+
+module com { module sun { module star { module document {
+
+/** allows to import the document properties from OOXML format
+ */
+interface XOOXMLDocumentPropertiesImporter: com::sun::star::uno::XInterface
+{
+ /** allows to import the document properties from OOXML format
+
+ <p>
+ The implementation should parse the document properties from OOXML
+ format storage and set them to the target
+ XDocumentProperties implementation.
+ </p>
+
+ <p>
+ The storage must represent OOXML format and support
+ com::sun::star::embed::XRelationshipAccess
+ interface. Please see
+ com::sun::star::embed::StorageFactory for details
+ regarding creation of such a storage.
+ </p>
+
+ @param xSource
+ the source storage representing OOXML document
+
+ @param xDocumentProperties
+ the target XDocumentProperties interface implementation
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ the exception is thrown in case unexpected arguments are provided
+
+ @throws ::com::sun::star::xml::sax::SAXException
+ the exception is thrown in case of parsing problems
+
+ @throws ::com::sun::star::uno::Exception
+ the exception is thrown in case of other problems during the import
+ */
+
+ void importProperties(
+ [in] com::sun::star::embed::XStorage xSource,
+ [in] com::sun::star::document::XDocumentProperties xDocumentProperties )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::xml::sax::SAXException,
+ com::sun::star::uno::Exception );
+
+ /** find and get core properties stream
+
+ (usually it is docProps\core.xml)
+ @since LibreOffice 7.3
+ */
+
+ com::sun::star::io::XInputStream getCorePropertiesStream([in] com::sun::star::embed::XStorage xSource);
+
+ /** find and get extended properties stream
+
+ (usually it is docProps/app.xml)
+ @since LibreOffice 7.3
+ */
+
+ com::sun::star::io::XInputStream getExtendedPropertiesStream([in] com::sun::star::embed::XStorage xSource);
+
+ /** find and get custom properties streams
+
+ (usually it is customXml\*.xml)
+ @since LibreOffice 7.3
+ */
+
+ sequence< com::sun::star::io::XInputStream > getCustomPropertiesStreams([in] com::sun::star::embed::XStorage xSource);
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/XRedlinesSupplier.idl b/offapi/com/sun/star/document/XRedlinesSupplier.idl
new file mode 100644
index 000000000..4c7c2b19a
--- /dev/null
+++ b/offapi/com/sun/star/document/XRedlinesSupplier.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_document_XRedlinesSupplier_idl__
+#define __com_sun_star_document_XRedlinesSupplier_idl__
+
+#include <com/sun/star/container/XEnumerationAccess.idl>
+
+
+module com { module sun { module star { module document {
+
+
+/** provides access to a container of the redline objects of the document.
+ */
+published interface XRedlinesSupplier: com::sun::star::uno::XInterface
+{
+ /** @returns
+ an enumeration access that provides access to the redline objects of the document.
+
+ <p>The returned objects implement at least the interface
+ com::sun::star::beans::XPropertySet.
+ Specific objects may support other interfaces as well.</p>
+ */
+ com::sun::star::container::XEnumerationAccess getRedlines();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/XScriptInvocationContext.idl b/offapi/com/sun/star/document/XScriptInvocationContext.idl
new file mode 100644
index 000000000..574873188
--- /dev/null
+++ b/offapi/com/sun/star/document/XScriptInvocationContext.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_document_XScriptInvocationContext_idl__
+#define __com_sun_star_document_XScriptInvocationContext_idl__
+
+
+#include <com/sun/star/document/XEmbeddedScripts.idl>
+
+
+module com { module sun { module star { module document {
+
+
+/** indicates support for executing scripts contained in a, possibly foreign, document.
+
+ <p>If the component implementing it is a document, which supports embedding scripts into
+ itself, then #ScriptContainer refers to the document itself. Implementing this
+ interface is unnecessary then, instead the document should simply implement XEmbeddedScripts directly.</p>
+
+ <p>If the interface is implemented by a document which does not itself support embedding
+ scripts into it, but which is associated unambiguously with a document which does,
+ then this other document is denoted by #ScriptContainer.</p>
+
+ <p>If the interface is implemented by a controller, then #ScriptContainer
+ refers to the document which supports embedding scripts, and which is unambiguously
+ associated with the controller. This must not necessarily be the model returned by
+ com::sun::star::frame::XController::getModel().</p>
+
+ @since OOo 2.4
+ */
+interface XScriptInvocationContext
+{
+ /** denotes the document which contains the scripts which are to be invoked from
+ the component implementing the XScriptInvocationContext interface.
+ */
+ [attribute, readonly] XEmbeddedScripts ScriptContainer;
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/XShapeEventBroadcaster.idl b/offapi/com/sun/star/document/XShapeEventBroadcaster.idl
new file mode 100644
index 000000000..78a227eb9
--- /dev/null
+++ b/offapi/com/sun/star/document/XShapeEventBroadcaster.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_document_XShapeEventBroadcaster_idl__
+#define __com_sun_star_document_XShapeEventBroadcaster_idl__
+
+#include <com/sun/star/document/XShapeEventListener.idl>
+#include <com/sun/star/drawing/XShape.idl>
+
+
+module com { module sun { module star { module document {
+
+/**
+ Used to link a listener to a specific shape
+
+ @since LibreOffice 6.4
+ */
+interface XShapeEventBroadcaster : com::sun::star::document::XEventBroadcaster
+{
+ /** registers the given listener
+ @param Shape
+ the shape to be listened
+ @param Listener
+ listener which is interested on such events
+ */
+ void addShapeEventListener( [in] com::sun::star::drawing::XShape Shape, [in] XShapeEventListener Listener );
+
+ /** unregisters the given listener
+ @param Shape
+ the shape with the listener to be removed
+ @param Listener
+ listener which isn't interested on such events any longer
+ */
+ void removeShapeEventListener( [in] com::sun::star::drawing::XShape Shape, [in] XShapeEventListener Listener );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/XShapeEventListener.idl b/offapi/com/sun/star/document/XShapeEventListener.idl
new file mode 100644
index 000000000..56634d171
--- /dev/null
+++ b/offapi/com/sun/star/document/XShapeEventListener.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_document_XShapeEventListener_idl__
+#define __com_sun_star_document_XShapeEventListener_idl__
+
+#include <com/sun/star/document/EventObject.idl>
+
+
+module com { module sun { module star { module document {
+
+/** makes it possible to register listeners, which are called whenever
+ a document or document content event occurs
+
+ <p>Such events will be broadcasted by a XShapeEventBroadcaster.</p>
+
+ @since LibreOffice 6.4
+ */
+interface XShapeEventListener
+{
+ /** is called whenever a document event (see EventObject) occurs
+
+ @param Event
+ specifies the event type
+ */
+ void notifyShapeEvent( [in] EventObject Event );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/XStorageBasedDocument.idl b/offapi/com/sun/star/document/XStorageBasedDocument.idl
new file mode 100644
index 000000000..0819fe2cc
--- /dev/null
+++ b/offapi/com/sun/star/document/XStorageBasedDocument.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_document_XStorageBasedDocument_idl__
+#define __com_sun_star_document_XStorageBasedDocument_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/embed/XStorage.idl>
+#include <com/sun/star/io/IOException.idl>
+#include <com/sun/star/frame/DoubleInitializationException.idl>
+#include <com/sun/star/document/XStorageChangeListener.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+
+
+ module com { module sun { module star { module document {
+
+/** allows to initialize document with a storage, to store document to
+ a storage, and to set document to be based on provided storage.
+ */
+interface XStorageBasedDocument: com::sun::star::uno::XInterface
+{
+ /** lets the document load itself using provided storage.
+ */
+ void loadFromStorage(
+ [in] ::com::sun::star::embed::XStorage xStorage,
+ [in] sequence< ::com::sun::star::beans::PropertyValue > aMediaDescriptor )
+ raises( ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::frame::DoubleInitializationException,
+ ::com::sun::star::io::IOException,
+ ::com::sun::star::uno::Exception );
+
+ /** lets the document store itself to the provided storage.
+ */
+ void storeToStorage(
+ [in] ::com::sun::star::embed::XStorage xStorage,
+ [in] sequence< ::com::sun::star::beans::PropertyValue > aMediaDescriptor )
+ raises( ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::io::IOException,
+ ::com::sun::star::uno::Exception );
+
+ /** allows to switch the document to the provided storage.
+ */
+ void switchToStorage( [in] ::com::sun::star::embed::XStorage xStorage )
+ raises( ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::io::IOException,
+ ::com::sun::star::uno::Exception );
+
+
+ /** allows to get the storage the document is based on.
+ */
+ ::com::sun::star::embed::XStorage getDocumentStorage()
+ raises( ::com::sun::star::io::IOException,
+ ::com::sun::star::uno::Exception );
+
+ /** allows to register a listener that will be notified when another
+ storage is set to the document.
+ */
+ void addStorageChangeListener( [in] XStorageChangeListener xListener );
+
+ /** allows to deregister the listener.
+ */
+ void removeStorageChangeListener( [in] XStorageChangeListener xListener );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/XStorageChangeListener.idl b/offapi/com/sun/star/document/XStorageChangeListener.idl
new file mode 100644
index 000000000..3e8937952
--- /dev/null
+++ b/offapi/com/sun/star/document/XStorageChangeListener.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_document_XStorageChangeListener_idl__
+#define __com_sun_star_document_XStorageChangeListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/embed/XStorage.idl>
+
+
+module com { module sun { module star { module document {
+
+/** allows to be notified when a document is switched to a new storage.
+ */
+interface XStorageChangeListener: com::sun::star::lang::XEventListener
+{
+ /** is called when document switches to another storage.
+
+ @param xDocument
+ the document that has changed the storage it is based on
+
+ @param xStorage
+ the new storage the document is based on
+ */
+ void notifyStorageChange(
+ [in] ::com::sun::star::uno::XInterface xDocument,
+ [in] ::com::sun::star::embed::XStorage xStorage );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/XTypeDetection.idl b/offapi/com/sun/star/document/XTypeDetection.idl
new file mode 100644
index 000000000..5617fac0e
--- /dev/null
+++ b/offapi/com/sun/star/document/XTypeDetection.idl
@@ -0,0 +1,108 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_document_XTypeDetection_idl__
+#define __com_sun_star_document_XTypeDetection_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+
+
+module com { module sun { module star { module document {
+
+/** support "flat" and "deep" type detection of a given document
+
+ <p>
+ A "flat" detection means specifying the document format by using
+ the URL and some configuration data only. That will perform but produce
+ may invalid results if e.g., the extension of the document is wrong.
+ A "deep" detection means looking into the document stream to be right
+ which format it supports. Of course that includes a "flat" detection before.
+ The combination of both ones should produce stable results every time.
+ </p>
+
+ @see TypeDetection
+ */
+published interface XTypeDetection: com::sun::star::uno::XInterface
+{
+ /** make a "flat" detection by using the URL of the document
+
+ <p>
+ It use given URL in combination with the internal configuration of well known
+ types only to specify the format of given document.
+ </p>
+
+ @param URL
+ specify the document by name
+
+ @returns
+ an internal type name which represent the detected format
+ <br>
+ or an empty value for unknown ones
+ */
+ string queryTypeByURL( [in] string URL );
+
+ /** make a "deep" detection or optional a "flat" detection by using a
+ MediaDescriptor
+
+ <p>
+ Instead of XTypeDetection::queryTypeByURL() this function
+ use a MediaDescriptor to specify the document for detection.
+ Such descriptor hold different information about the document.
+ He will be passed to any part of made detection process and every part
+ can change it to actualize it.
+ The property MediaDescriptor::URL should be set on
+ this descriptor as minimum. It specifies the location of the document.
+ If this parameter is missing another one is required: MediaDescriptor::InputStream.
+ This can be useful to prevent operation against multiple opening of the stream
+ and perform the operation. If this stream isn't already included the detection
+ will open it (if allowed!) and add it to the descriptor so it will be available for
+ all following parts.
+ A combination of both parameters can be useful to perform the operation
+ and make results more stable; but only one of them is required.
+ Of course its possible to specify more document properties (e.g.
+ MediaDescriptor::ReadOnly).
+ <br>
+ As an additional feature it's possible to suppress "deep" detection by using argument
+ <var>AllowDeep</var>.
+ </p>
+
+ @param Descriptor
+ means the MediaDescriptor which specify the resource for detection
+
+ @param AllowDeep
+ if it is set to `TRUE` a "deep" detection will be follow a "flat" detection
+ <br>
+ if it is set to `FALSE` a "flat" detection will be made only
+
+ @returns
+ an internal type name which represent the detected format
+ <br>
+ or an empty value for unknown ones
+ */
+ string queryTypeByDescriptor(
+ [inout] sequence< com::sun::star::beans::PropertyValue > Descriptor,
+ [in] boolean AllowDeep );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/XUndoAction.idl b/offapi/com/sun/star/document/XUndoAction.idl
new file mode 100644
index 000000000..dd9b13212
--- /dev/null
+++ b/offapi/com/sun/star/document/XUndoAction.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_document_XUndoAction_idl__
+#define __com_sun_star_document_XUndoAction_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/document/UndoFailedException.idl>
+
+
+module com { module sun { module star { module document {
+
+
+/** represents a single (undoable) action on a document
+ @since OOo 3.4
+ */
+interface XUndoAction
+{
+ /** reverts the action represented by the instance
+
+ @throws UndoFailedException
+ if reverting the action failed. In this case, the caller should assume that this is a permanent failure,
+ and take appropriate action, such as discarding the <code>XUndoAction</code> instance, and any possibly
+ depending instances.
+ */
+ void undo()
+ raises ( ::com::sun::star::document::UndoFailedException
+ );
+
+ /** repeats the action represented by the instance, after it had previously been reverted.
+
+ @throws UndoFailedException
+ if repeating the action failed. In this case, the caller should assume that this is a permanent failure,
+ and take appropriate action, such as discarding the <code>XUndoAction</code> instance, and any possibly
+ depending instances.
+ */
+ void redo()
+ raises ( ::com::sun::star::document::UndoFailedException
+ );
+
+ /** is the human-readable, localized description of the action.
+ */
+ [attribute, readonly] string Title;
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/XUndoManager.idl b/offapi/com/sun/star/document/XUndoManager.idl
new file mode 100644
index 000000000..9eb3d1d5c
--- /dev/null
+++ b/offapi/com/sun/star/document/XUndoManager.idl
@@ -0,0 +1,330 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_document_XUndoManager_idl__
+#define __com_sun_star_document_XUndoManager_idl__
+
+#include <com/sun/star/document/EmptyUndoStackException.idl>
+#include <com/sun/star/document/UndoContextNotClosedException.idl>
+#include <com/sun/star/document/UndoFailedException.idl>
+#include <com/sun/star/util/InvalidStateException.idl>
+#include <com/sun/star/util/XLockable.idl>
+#include <com/sun/star/container/XChild.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/lang/WrappedTargetException.idl>
+
+
+module com { module sun { module star { module document {
+
+interface XUndoAction;
+interface XUndoManagerListener;
+
+
+/** provides access to the undo/redo stacks of a document
+ <p></p>
+ <h3>Undo</h3>
+ <p>Changes to a document usually result in recording of information how to undo those changes, if desired. A so-called
+ undo action records the information how to undo a single change. Undo actions are maintained in a stack, so that
+ the changes they represent can be undo in the reverse order they have originally been applied.</p>
+
+ <h3>Redo</h3>
+ <p>Additionally, the Undo manager manages a Redo stack: Actions which are undone are moved from the Undo to the Redo
+ stack, so it is possible to re-apply the changes to the document.</p>
+
+ <h3>Undo contexts</h3>
+ <p>For collecting multiple changes in a single undo action, so-called Undo contexts are provided. When an Undo
+ context is entered, all subsequently added Undo actions are not pushed onto the undo stack directly, but considered
+ a sub action of the Undo context. Once the Undo context is left, a single undo action is pushed onto the undo stack,
+ which comprises all those single Undo actions.<br/>
+ Undo contexts can be arbitrarily nested.</p>
+
+ <h3>Hidden Undo actions</h3>
+ <p>Hidden Undo actions are those which in no observable way contribute to the undo stack. That is,
+ any method retrieving information about the stack will behave as if the undo action does not exist. Nonetheless,
+ calling undo() respectively redo() will include those actions.<br/>
+ Hidden Undo actions can be created by calling enterHiddenUndoContext(), following by
+ leaveUndoContext().</p>
+
+ <a name="locking"></a>
+ <h3>Locking</h3>
+ <p>An Undo manager can be locked and unlocked, using the XLockable::lock() and
+ XLockable::unlock() methods. When it is locked, then every attempt to add an undo action, or to
+ enter or leave an Undo context, will be silently ignored.</p>
+
+ @since OOo 3.4
+ */
+interface XUndoManager
+{
+ /** allows <a href="#locking">locking</a> the undo manager.
+ */
+ interface ::com::sun::star::util::XLockable;
+
+ /** allows accessing the component, usually a document, which the undo manager works for.
+
+ <p>com::sun::star::container::XChild::setParent() is not supported, and will throw
+ a com::sun::star::lang::NoSupportException.</p>
+ */
+ interface ::com::sun::star::container::XChild;
+
+ /** enters a new undo context.
+
+ <p>A new undo action will be added to the undo stack, with the title given as <code>iTitle</code>. As long
+ as the context is not left, every undo action added to the stack will be treated as sub action. This means
+ it will not be directly accessible at the Undo manager, not appear in any user interface, and cannot be
+ separately undone or re-done.</p>
+
+ <p>Each call to <code>enterUndoContext</code> must be paired by a call to leaveUndoContext(),
+ otherwise, the document's undo stack is left in an inconsistent state.</p>
+
+ <p>Undo contexts can be nested, i.e. it is legitimate to call <code>enterUndoContext</code> and
+ enterHiddenUndoContext() multiple times without calling leaveUndoContext() inbetween.</p>
+
+ @see leaveUndoContext
+ */
+ void enterUndoContext(
+ [in] string iTitle
+ );
+
+ /** enters a new undo context, creating a hidden undo action.
+
+ <p>A hidden undo action does not, in any visible way, contribute to the undo stack. This means
+ that
+ <ul><li>Calling undo() when the top-element is a hidden undo action will transparently
+ undo this action, and also undo the new top element of the stack.</li>
+ <li>Calling redo() when the top-element is a hidden action will transparently
+ redo this action, and also redo the new top element of the stack.</li>
+ <li>In any user interface presenting the current Undo or Redo actions to the user, a hidden
+ action will not be listed.</p>
+ </ul>
+
+ <p>A new undo action will be added to the undo stack. As long as the context is not left, every undo action
+ added to the stack will be treated as sub action. This means it will not be directly accessible at the undo
+ manager, not appear in any user interface, and cannot be separately undone or re-done.</p>
+
+ <p>Each call to <code>enterHiddenUndoContext</code> must be paired by a call to leaveUndoContext(),
+ otherwise, the document's undo stack is left in an inconsistent state.</p>
+
+ <p>Undo contexts can be nested, i.e. it is legitimate to call enterUndoContext() and
+ <code>enterHiddenUndoContext</code> multiple times without calling leaveUndoContext() inbetween.</p>
+
+ @throws EmptyUndoStackException
+ if the undo stack is currently empty, in which case it is impossible to push a hidden undo action onto
+ it.
+
+ @see enterUndoContext
+ @see leaveUndoContext
+ */
+ void enterHiddenUndoContext()
+ raises( EmptyUndoStackException );
+
+ /** leaves the undo context previously opened via enterUndoContext() respectively
+ enterHiddenUndoContext().
+
+ <p>If no undo action has been added since the context has been opened, the context is not only left,
+ but silently removed, and does not contribute to the undo stack at all. In this case, possible
+ listeners will be notified via XUndoManagerListener::cancelledContext().</p>
+
+ <p>Otherwise, the undo context will be closed, and added to the Undo stack; the redo stack will be cleared,
+ and listeners will be notified via XUndoManagerListener::leftContext() resp.
+ XUndoManagerListener::leftHiddenContext()</p>
+
+ @throws ::com::sun::star::util::InvalidStateException
+ if no undo context is currently open.
+
+ @see enterUndoContext
+ @see enterHiddenUndoContext
+ */
+ void leaveUndoContext()
+ raises( ::com::sun::star::util::InvalidStateException );
+
+ /** adds the given undo action to the undo stack.
+
+ <p>The redo stack is cleared when a new action is pushed onto the undo stack.</p>
+
+ <p>The Undo manager takes ownership of any actions pushed onto the undo stack. This means that if the
+ action is finally removed from the Undo manager's control (e.g. by calling clear() resp.
+ clearRedo()), it will be disposed, as long as it supports the com::sun::star::lang::XComponent
+ interface.</p>
+
+ <p>If the Undo manager is <a href="#locking">locked</a> at the moment the method is called, the call will be ignored, and the undo action
+ will immediately be disposed, if applicable.</p>
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if the given undo action is `NULL`.
+ */
+ void addUndoAction(
+ [in] XUndoAction iAction
+ )
+ raises( ::com::sun::star::lang::IllegalArgumentException );
+
+ /** reverts the most recent action on the document.
+
+ <p>Effectively, invoking this method will
+ <ul><li>invoke XUndoAction::undo() on the top-most action of the undo stack</li>
+ <li>move this undo action from the undo stack to the redo stack</li>
+ </ul></p>
+
+ @throws EmptyUndoStackException
+ if the undo stack is currently empty
+
+ @throws UndoContextNotClosedException
+ if there currently is an open undo context
+
+ @throws UndoFailedException
+ if the invocation of XUndoAction::undo() raised this exception. In this case, the undo stack
+ of the undo manager will have been cleared.
+
+ @see redo
+ @see enterUndoContext
+ */
+ void undo()
+ raises( ::com::sun::star::document::EmptyUndoStackException,
+ ::com::sun::star::document::UndoContextNotClosedException,
+ ::com::sun::star::document::UndoFailedException );
+
+ /** replays the action on the document which has most recently been undone
+
+ <p>Effectively, invoking this method will
+ <ul><li>invoke XUndoAction::redo() on the top-most action of the redo stack</li>
+ <li>move this action from the redo stack to the undo stack</li>
+ </ul></p>
+
+ @throws EmptyUndoStackException
+ when the Redo stack is currently empty
+
+ @throws UndoContextNotClosedException
+ if there currently is an open undo context
+
+ @throws UndoFailedException
+ if the invocation of XUndoAction::redo() raised this exception. In this case, the redo stack
+ of the undo manager will have been cleared.
+
+ @see undo
+ */
+ void redo()
+ raises( ::com::sun::star::document::EmptyUndoStackException,
+ ::com::sun::star::document::UndoContextNotClosedException,
+ ::com::sun::star::document::UndoFailedException );
+
+ /** determines whether undo() can reasonably be expected to succeed.
+
+ @return
+ `FALSE` if and only if the undo stack is currently empty, or there is an open and not-yet-closed
+ undo context.
+ */
+ boolean isUndoPossible();
+
+ /** determines whether redo() can reasonably be expected to succeed.
+
+ @return
+ `FALSE` if and only if the redo stack is currently empty, or there is an open and not-yet-closed
+ undo context.
+ */
+ boolean isRedoPossible();
+
+ /** returns the title of the top-most action on the undo stack
+
+ @throws EmptyUndoStackException
+ when the undo stack is currently empty
+
+ @see XUndoAction::Title
+ */
+ string getCurrentUndoActionTitle()
+ raises( ::com::sun::star::document::EmptyUndoStackException );
+
+ /** returns the title of the top-most action on the Redo stack
+
+ @throws EmptyUndoStackException
+ when the Redo stack is currently empty
+ @see XUndoAction::Title
+ */
+ string getCurrentRedoActionTitle()
+ raises( ::com::sun::star::document::EmptyUndoStackException );
+
+ /** returns the titles of all actions currently on the undo stack, from top to bottom
+ @see XUndoAction::Title
+ */
+ sequence< string >
+ getAllUndoActionTitles();
+
+ /** returns the titles of all actions currently on the Redo stack, from top to bottom
+
+ @see XUndoAction::Title
+ */
+ sequence< string >
+ getAllRedoActionTitles();
+
+ /** clears the undo and the redo stack.
+
+ <p>All actions will be removed from both the Undo and the Redo stack. Actions which implement the
+ com::sun::star::lang::XComponent interface will be disposed.</p>
+
+ @throws UndoContextNotClosedException
+ if the method is invoked while an undo context is still open
+ */
+ void clear()
+ raises( ::com::sun::star::document::UndoContextNotClosedException );
+
+ /** clears the redo stack.
+
+ <p>All actions will be removed from the Redo stack. Actions which implement the com::sun::star::lang::XComponent
+ interface will be disposed.</p>
+
+ @throws UndoContextNotClosedException
+ if the method is invoked while an undo context is still open
+ */
+ void clearRedo()
+ raises( ::com::sun::star::document::UndoContextNotClosedException );
+
+ /** resets the Undo manager
+
+ <p>In particular, this method will
+ <ul><li>remove all locks from the undo manager</li>
+ <li>close all open undo contexts</li>
+ <li>clear the undo stack</li>
+ <li>clear the redo stack</li>
+ </ul></p>
+
+ <p>Note that possible listeners will not get notifications for the single parts of the reset, i.e. there
+ will be no single XUndoManagerListener::allActionsCleared(),
+ XUndoManagerListener::leftContext(), etc., notifications. Instead, listeners will be
+ notified of the reset by calling their XUndoManagerListener::resetAll() method.</p>
+ */
+ void reset();
+
+ /** adds a listener to be notified of changes in the Undo/Redo stacks.
+ */
+ void addUndoManagerListener(
+ [in] XUndoManagerListener iListener
+ );
+
+ /** removes a previously added listener
+ */
+ void removeUndoManagerListener(
+ [in] XUndoManagerListener iListener
+ );
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/XUndoManagerListener.idl b/offapi/com/sun/star/document/XUndoManagerListener.idl
new file mode 100644
index 000000000..449737b72
--- /dev/null
+++ b/offapi/com/sun/star/document/XUndoManagerListener.idl
@@ -0,0 +1,136 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_document_XUndoManagerListener_idl__
+#define __com_sun_star_document_XUndoManagerListener_idl__
+
+#include <com/sun/star/document/UndoManagerEvent.idl>
+#include <com/sun/star/lang/XEventListener.idl>
+
+
+module com { module sun { module star { module document {
+
+
+/** implemented by components which want to be notified of changes in the Undo/Redo stacks of an Undo manager.
+
+ @see XUndoManager
+ @since OOo 3.4
+ */
+interface XUndoManagerListener : ::com::sun::star::lang::XEventListener
+{
+ /** is called when an undo action is added to the undo stack.
+
+ <p>Note that the action must not necessarily be the new top element of the stack: In case there's an
+ open Undo context, UndoManagerEvent::UndoContextDepth will be greater <code>0</code>,
+ and the newly added action will be subordinate of the context action.</p>
+
+ @see XUndoManager::addUndoAction
+ */
+ void undoActionAdded( [in] UndoManagerEvent iEvent );
+
+ /** is called when the top-most action of the undo stack has been undone.
+
+ @see XUndoManager::undo
+ */
+ void actionUndone( [in] UndoManagerEvent iEvent );
+
+ /** is called when the top-most action of the Redo stack has been re-applied.
+
+ @see XUndoManager::redo
+ */
+ void actionRedone( [in] UndoManagerEvent iEvent );
+
+ /** is called when both the Undo and the Redo stack have been cleared from all Undo actions.
+
+ @see XUndoManager::clear
+ */
+ void allActionsCleared( [in] ::com::sun::star::lang::EventObject iEvent );
+
+ /** is called when the Redo stack has been cleared.
+
+ @see XUndoManager::clearRedo
+ */
+ void redoActionsCleared( [in] ::com::sun::star::lang::EventObject iEvent );
+
+ /** called when the complete undo manager has been reset
+ */
+ void resetAll( [in] ::com::sun::star::lang::EventObject iEvent );
+
+ /** is called when a new Undo context has been entered.
+
+ <p>UndoManagerEvent::UndoActionTitle carries the title of the Undo context, and
+ UndoManagerEvent::UndoContextDepth the number of open Undo contexts, including the
+ one just entered.</p>
+
+ @see XUndoManager::enterUndoContext
+ */
+ void enteredContext( [in] UndoManagerEvent iEvent );
+
+ /** is called when a new hidden Undo context has been entered.
+
+ <p>UndoManagerEvent::UndoActionTitle carries the title of the Undo context, and
+ UndoManagerEvent::UndoContextDepth the number of open Undo contexts, including the
+ one just entered.</p>
+
+ @see XUndoManager::enterUndoContext
+ */
+ void enteredHiddenContext( [in] UndoManagerEvent iEvent );
+
+ /** is called when an Undo context has been left.
+
+ <p>UndoManagerEvent::UndoActionTitle carries the title of the Undo context, and
+ UndoManagerEvent::UndoContextDepth the number of open Undo contexts, excluding the
+ one just left.</p>
+
+ @see XUndoManager::leaveUndoContext
+ @see leftHiddenUndocontext
+ @see cancelledContext
+ */
+ void leftContext( [in] UndoManagerEvent iEvent );
+
+ /** is called when a hidden Undo context has been left.
+
+ <p>UndoManagerEvent::UndoActionTitle is empty, as hidden Undo contexts don't have
+ a title.</p>
+
+ @see XUndoManager::leaveHiddenUndoContext
+ @see leftContext
+ @see cancelledContext
+ */
+ void leftHiddenContext( [in] UndoManagerEvent iEvent );
+
+ /** is called when an Undo context has been left, but no actions have been added within this context.
+
+ <p>In such a case, the context which has just been left will not contribute to the undo stack, but instead
+ be silently removed. Consequently, the UndoManagerEvent::UndoActionTitle is empty.</p>
+
+ @see XUndoManager::leaveUndoContext
+ @see leftContext
+ @see leftHiddenContext
+ */
+ void cancelledContext( [in] UndoManagerEvent iEvent );
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/XUndoManagerSupplier.idl b/offapi/com/sun/star/document/XUndoManagerSupplier.idl
new file mode 100644
index 000000000..b3affa1ec
--- /dev/null
+++ b/offapi/com/sun/star/document/XUndoManagerSupplier.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_document_XUndoManagerSupplier_idl__
+#define __com_sun_star_document_XUndoManagerSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module document {
+
+interface XUndoManager;
+
+
+/** provides access to an XUndoManager.
+
+ @since OOo 3.4
+ */
+interface XUndoManagerSupplier
+{
+ /** returns the Undo manager associated with the component.
+ */
+ XUndoManager getUndoManager();
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/XVbaMethodParameter.idl b/offapi/com/sun/star/document/XVbaMethodParameter.idl
new file mode 100644
index 000000000..3cd8467c6
--- /dev/null
+++ b/offapi/com/sun/star/document/XVbaMethodParameter.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_document_XVbaMethodParameter_idl__
+#define __com_sun_star_document_XVbaMethodParameter_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module document {
+
+//gives access to VBA method input/output parameters
+//some OO objects need to implement this interface to support the passing of input/output parameters
+//for certain VBA events
+
+interface XVbaMethodParameter : com::sun::star::uno::XInterface
+{
+
+ /** sets the value of the parameter with the specified name.
+ */
+ void setVbaMethodParameter( [in] string PropertyName,
+ [in] any Value );
+
+
+ /** returns the value of the parameter with the specified name.
+ */
+ any getVbaMethodParameter( [in] string PropertyName );
+};
+
+
+}; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/XViewDataSupplier.idl b/offapi/com/sun/star/document/XViewDataSupplier.idl
new file mode 100644
index 000000000..29f92883d
--- /dev/null
+++ b/offapi/com/sun/star/document/XViewDataSupplier.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_document_XViewDataSupplier_idl__
+#define __com_sun_star_document_XViewDataSupplier_idl__
+
+#include <com/sun/star/container/XIndexAccess.idl>
+
+
+module com { module sun { module star { module document {
+
+/** gives access to some properties describing all open views to a document
+
+ <p>
+ Each view is described by a sequence< ::com::sun::star::beans::PropertyValue >.
+ Through this interface the state of all open views can be retrieved and restored
+ later. These states can also be made persistent so that a document loader can create
+ all views of the correct types and restore their state to the state when the document was
+ saved.
+ </p>
+ */
+published interface XViewDataSupplier: com::sun::star::uno::XInterface
+{
+ /** retrieve information about currently opened view to restore it later
+
+ @returns
+ a com::sun::star::container::XIndexAccess,
+ that gives access to a list of com::sun::star::beans::PropertyValue
+ for every open view. May `NULL` if no view is currently available.
+ */
+ ::com::sun::star::container::XIndexAccess getViewData();
+
+ /** restore all views which will be represented by given data argument
+
+ @param Data
+ a list of com::sun::star::beans::PropertyValues
+ with information about last opened views to restore it
+ `NULL` isn't allowed here.
+ */
+ void setViewData( [in] com::sun::star::container::XIndexAccess Data );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/document/XXMLBasicExporter.idl b/offapi/com/sun/star/document/XXMLBasicExporter.idl
new file mode 100644
index 000000000..35ee98cbd
--- /dev/null
+++ b/offapi/com/sun/star/document/XXMLBasicExporter.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_document_XXMLBasicExporter_idl__
+#define __com_sun_star_document_XXMLBasicExporter_idl__
+
+#include <com/sun/star/document/XExporter.idl>
+#include <com/sun/star/document/XFilter.idl>
+
+
+
+module com { module sun { module star { module document {
+
+
+/** Provides unified interface for XMLOasisBasicExporter and XMLBasicExporter services.
+ @since LibreOffice 4.1
+ */
+published interface XXMLBasicExporter
+{
+
+ /** sets the source document for this filter.
+ */
+ interface com::sun::star::document::XExporter;
+
+
+ /** filters the document.
+ */
+ interface com::sun::star::document::XFilter;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/AccessibleDrawDocumentView.idl b/offapi/com/sun/star/drawing/AccessibleDrawDocumentView.idl
new file mode 100644
index 000000000..9dcf86314
--- /dev/null
+++ b/offapi/com/sun/star/drawing/AccessibleDrawDocumentView.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_drawing_AccessibleDrawDocumentView_idl__
+#define __com_sun_star_drawing_AccessibleDrawDocumentView_idl__
+
+#include <com/sun/star/accessibility/XAccessible.idl>
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+
+module com { module sun { module star { module drawing {
+
+/** The AccessibleDrawDocumentView service is implemented by
+ views of Draw and Impress documents.
+
+ <p>An object that implements the AccessibleDrawDocumentView
+ service provides information about the view of a Draw or Impress
+ document in one of the various view modes. With its children it gives
+ access to the current page and the shapes on that page.</p>
+
+ <p>This service gives a simplified view on the underlying document. It
+ tries both to keep the structure of the accessibility representation
+ tree as simple as possible and provide as much relevant information as
+ possible. This has the following consequences:
+ <ol>
+ <li>Only the current draw page and only the visible shapes are
+ accessible. To switch to another page or to access shapes that lie
+ outside the currently visible area, the user has to issue these requests
+ manually or programmatically through the usual channels, e.g. pressing
+ keys or selecting menu entries.</li>
+ <li>The hierarchy exposed through the
+ ::com::sun::star::accessibility::XAccessibleContext
+ interface does not necessarily correspond directly to the underlying
+ draw page structure. Internal nodes in this hierarchy are introduced
+ by group shapes, 3D scenes, and OLE objects.</li>
+ <li>The view modes editing view, outline view, slides view, notes view,
+ handout view, and presentation view are not exposed explicitly.
+ However, if there happens to be a view mode change which results in a
+ rearrangement of the visible shapes, the user gets notified of this.</li>
+ </ol></p>
+
+ @since OOo 1.1.2
+*/
+service AccessibleDrawDocumentView
+{
+ /** Base interface for being accessible. It gives access to the
+ ::com::sun::star::accessibility::XAccessibleContext
+ interface.
+ */
+ interface ::com::sun::star::accessibility::XAccessible;
+
+ /** Provide access to the view of a document.
+
+ <p>You can access the following information:
+ <ul>
+ <li>Role: The object's role might be
+ com::sun::star::accessibility::AccessibleRole::DOCUMENT or
+ com::sun::star::accessibility::AccessibleRole::DOCUMENT_PRESENTATION
+ , the former for a Draw and the latter for an Impress document.</li>
+ <li>Name: Its name is "AccessibleDrawDocumentView",
+ "AccessibleOutlineView", or "slide window".</li>
+ <li>Description: The description is "Draw Document", "Accessible
+ Draw Document Outline", or "slide window".</li>
+ <li>Children: The shapes of the current draw page that are currently
+ visible are direct and indirect children of (an object
+ implementing)
+ this service. Group shapes, 3D scenes, and OLE objects
+ introduce further levels into the hierarchy. If the visibility
+ of shapes changes--due to
+ scrolling, switching the current draw page, or changing the view
+ mode--the appropriate listeners are called and the user gets
+ informed of this.</li>
+ <li>Parent: The parent will usually be the window that contains the
+ draw document view. It has to be set via implementation dependent
+ ways.</li>
+ <li>Relations: Relations are set and modified from the outside.</li>
+ <li>States: com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ is set if a document view
+ becomes obsolete like when the window, which displays the view,
+ is closed. Otherwise the states
+ com::sun::star::accessibility::AccessibleStateType::ENABLED,
+ com::sun::star::accessibility::AccessibleStateType::SHOWING,
+ com::sun::star::accessibility::AccessibleStateType::VISIBLE,
+ com::sun::star::accessibility::AccessibleStateType::FOCUSABLE,
+ and
+ com::sun::star::accessibility::AccessibleStateType::SELECTABLE
+ are always set.</li>
+ <li>Locale: Is obtained from the parent and returned unchanged.</li>
+ </ul></p>
+ */
+ interface ::com::sun::star::accessibility::XAccessibleContext;
+
+ /** Provide access to a draw document's graphical representation.
+
+ <p>The main purpose of this interface is to provide a bounding box
+ of the currently visible area and to let the user find children
+ (i.e. shapes) that cover a given test point. The more interesting
+ part of the graphical representation of a draw page lies in its
+ children. See the AccessibleShape service for more
+ information about shapes.</p>
+
+ @see AccessibleShape
+ */
+ interface ::com::sun::star::accessibility::XAccessibleComponent;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/AccessibleGraphControl.idl b/offapi/com/sun/star/drawing/AccessibleGraphControl.idl
new file mode 100644
index 000000000..34cece8b3
--- /dev/null
+++ b/offapi/com/sun/star/drawing/AccessibleGraphControl.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_drawing_AccessibleGraphControl_idl__
+#define __com_sun_star_drawing_AccessibleGraphControl_idl__
+
+
+// Declarations of interfaces to avoid inclusion of IDL files.
+module com { module sun { module star { module accessibility {
+ interface XAccessible;
+ interface XAccessibleContext;
+ interface XAccessibleComponent;
+ interface XAccessibleEventBroadcaster;
+ interface XAccessibleSelection;
+}; }; }; };
+
+
+
+
+module com { module sun { module star { module drawing {
+
+/** The service describes the accessible graph controls that are used in the
+ image map of the Draw and Impress applications and the contour dialog of
+ the Writer application.
+
+ <p>The children of graph controls are shapes that define contours.</p>
+
+ @since OOo 1.1.2
+ */
+service AccessibleGraphControl
+{
+ /** Base interface for being accessible. It gives access to the
+ ::com::sun::star::accessibility::XAccessibleContext
+ interface.
+ */
+ interface ::com::sun::star::accessibility::XAccessible;
+
+ /** Description of the base accessibility information.
+ */
+ interface ::com::sun::star::accessibility::XAccessibleContext;
+
+ /** This interface describes the graphical representation of an image
+ bullet.
+ */
+ interface ::com::sun::star::accessibility::XAccessibleComponent;
+
+ /** Inform listeners about new or removed children and about changes of
+ the visual appearance.
+ */
+ interface ::com::sun::star::accessibility::XAccessibleEventBroadcaster;
+
+ /** Handle the selection of the shapes that represent the contour.
+ */
+ interface ::com::sun::star::accessibility::XAccessibleSelection;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/AccessibleGraphicShape.idl b/offapi/com/sun/star/drawing/AccessibleGraphicShape.idl
new file mode 100644
index 000000000..9dfd88c03
--- /dev/null
+++ b/offapi/com/sun/star/drawing/AccessibleGraphicShape.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_drawing_AccessibleGraphicShape_idl__
+#define __com_sun_star_drawing_AccessibleGraphicShape_idl__
+
+#include <com/sun/star/drawing/AccessibleShape.idl>
+#include <com/sun/star/accessibility/XAccessibleImage.idl>
+
+module com { module sun { module star { module drawing {
+
+/** The AccessibleGraphicShape service is implemented by the
+ graphic object shapes shapes com.sun.star.drawing.GraphicObjectShape and
+ com.sun.star.presentation.GraphicObjectShape.
+
+ <p>It differs from the included AccessibleShape "base"
+ service by the additional support of the
+ ::com::sun::star::accessibility::XAccessibleImage
+ interface.</p>
+
+ @since OOo 1.1.2
+*/
+service AccessibleGraphicShape
+{
+ /** Give access to information of generic shapes.
+
+ <p>See AccessibleShape for documentation and support of
+ the interfaces
+ ::com::sun::star::accessibility::XAccessible,
+ ::com::sun::star::accessibility::XAccessibleContext,
+ and
+ ::com::sun::star::accessibility::XAccessibleComponent.</p>
+
+ @see AccessibleShape
+ */
+ service AccessibleShape;
+
+ /** Give access to image specific information.
+
+ <p>The support of the
+ ::com::sun::star::accessibility::XAccessibleImage interface
+ requires the shape to provide a description of the displayed image
+ and the image's size in the screen coordinate system (pixel). At
+ the time being this interface does not provide information that is
+ not available through the AccessibleShape service:
+ the size returned by the
+ ::com::sun::star::accessibility::XAccessibleImage::getAccessibleImageWidth() and
+ ::com::sun::star::accessibility::XAccessibleImage::getAccessibleImageHeight()
+ functions is the same as that returned by the
+ ::com::sun::star::accessibility::XAccessibleComponent::getSize()
+ function; the description returned by
+ ::com::sun::star::accessibility::XAccessibleImage::getAccessibleImageDescription()
+ function is the same as the one returned by the
+ ::com::sun::star::accessibility::XAccessibleContext::getAccessibleDescription()
+ function.
+ This makes the additional interface for
+ the time being basically an indicator of graphic shapes. This may
+ change in the future.</p>
+ */
+ interface ::com::sun::star::accessibility::XAccessibleImage;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/AccessibleImageBullet.idl b/offapi/com/sun/star/drawing/AccessibleImageBullet.idl
new file mode 100644
index 000000000..f7faf43b9
--- /dev/null
+++ b/offapi/com/sun/star/drawing/AccessibleImageBullet.idl
@@ -0,0 +1,86 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_AccessibleImageBullet_idl__
+#define __com_sun_star_drawing_AccessibleImageBullet_idl__
+
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#include <com/sun/star/accessibility/XAccessibleEditableText.idl>
+
+
+
+module com { module sun { module star { module drawing {
+
+
+/** The accessible view of an image bullet.
+
+ @since OOo 1.1.2
+ */
+service AccessibleImageBullet
+{
+ /** This interface gives access to an image bullet within a text
+ paragraph fragment that is at least partially visible on the
+ screen.
+
+ <ul>
+ <li>The parent returned by
+ ::com::sun::star::accessibility::XAccessibleContext::getAccessibleParent()
+ is the accessible object of a text paragraph.
+ <li>There are no children returned by
+ ::com::sun::star::accessibility::XAccessibleContext::getAccessibleChild().
+ <li>The role is
+ ::com::sun::star::accessibility::AccessibleRole::GRAPHIC.
+ <li>The name is "image bullet" (or the equivalent term
+ in application's language).
+ <li>The description contains the term "image bullet" (or the equivalent
+ term in application's language) and the number of the paragraph
+ within this bullet appears.
+ <li>There are no relations.
+ <li>The following states are supported by the
+ ::com::sun::star::accessibility::XAccessibleStateSet returned by
+ ::com::sun::star::accessibility::XAccessibleContext::getAccessibleStateSet().
+ <ul>
+ <li>::com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ (indicates that
+ the document window has been closed or the image bullet
+ is not existing any longer).
+ <li>::com::sun::star::accessibility::AccessibleStateType::ENABLED
+ (always contained)
+ <li>::com::sun::star::accessibility::AccessibleStateType::SHOWING
+ <li>::com::sun::star::accessibility::AccessibleStateType::VISIBLE
+ <li>::com::sun::star::accessibility::AccessibleStateType::INVALID
+ </ul>
+ </ul>
+
+ */
+ interface ::com::sun::star::accessibility::XAccessibleContext;
+
+ /** This interface describes the graphical representation of an image
+ bullet.
+ */
+ interface ::com::sun::star::accessibility::XAccessibleComponent;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/AccessibleOLEShape.idl b/offapi/com/sun/star/drawing/AccessibleOLEShape.idl
new file mode 100644
index 000000000..66f626cac
--- /dev/null
+++ b/offapi/com/sun/star/drawing/AccessibleOLEShape.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_drawing_AccessibleOLEShape_idl__
+#define __com_sun_star_drawing_AccessibleOLEShape_idl__
+
+#include <com/sun/star/drawing/AccessibleShape.idl>
+#include <com/sun/star/accessibility/XAccessibleAction.idl>
+
+module com { module sun { module star { module drawing {
+
+/** The AccessibleOLEShape service is implemented by
+ OLE shapes.
+
+ <p>This includes generic OLE shapes, frames, plug-ins, and applets.</p>
+
+ <p>This service supports the additional
+ ::com::sun::star::accessibility::XAccessibleAction
+ interface.</p>
+
+ <p>OLE objects are handled as place holders. While not activated the
+ accessible OLE shape is the only indicator of the OLE object's
+ existence. When an OLE object has been activated then the accessibility
+ tree representing it (as far as that is available) is included directly
+ under the accessible document view and not under the OLE object. This
+ is due to underlying implementation constraints and may change in the
+ future.</p>
+
+
+
+ @since OOo 1.1.2
+*/
+service AccessibleOLEShape
+{
+ /** Give access to information of generic shapes.
+
+ <p>See AccessibleShape for basic documentation and
+ support of the ::com::sun::star::accessibility::XAccessibleContext, and
+ ::com::sun::star::accessibility::XAccessibleComponent interfaces.
+
+ @see AccessibleShape
+ */
+ service AccessibleShape;
+
+ /** The intended purpose of the support of this interface is the
+ activation of the accessible OLE object. This, however, is not
+ realized at the moment. It therefore serves solely as indicator of
+ accessible OLE objects.
+ */
+ interface ::com::sun::star::accessibility::XAccessibleAction;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/AccessibleShape.idl b/offapi/com/sun/star/drawing/AccessibleShape.idl
new file mode 100644
index 000000000..7e10a6fe5
--- /dev/null
+++ b/offapi/com/sun/star/drawing/AccessibleShape.idl
@@ -0,0 +1,189 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_drawing_AccessibleShape_idl__
+#define __com_sun_star_drawing_AccessibleShape_idl__
+
+#include <com/sun/star/accessibility/XAccessible.idl>
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#include <com/sun/star/accessibility/XAccessibleExtendedComponent.idl>
+
+module com { module sun { module star { module drawing {
+
+/** The AccessibleShape service is implemented by UNO shapes to
+ provide accessibility information that describe the shape's features.
+ A UNO shape is any object that implements the
+ ::com::sun::star::drawing::XShape interface.
+
+ <p>The content of a draw page is modelled as tree of accessible shapes
+ and accessible text paragraphs. The root of this (sub-)tree is the
+ accessible draw document view. An accessible shape implements either
+ this service or one of the "derived" services
+ AccessibleGraphicShape or AccessibleOLEShape.
+ See the section Children in the description of the
+ ::com::sun::star::accessibility::XAccessibleContext
+ interface support for more details.</p>
+
+ <p>There are two services that extend this one: the
+ AccessibleGraphicShape and the
+ AccessibleOLEShape services provide additional interfaces.
+ See there for details.</p>
+
+ <p>A shape object is either fully or partially visible on the screen or
+ has set the ::com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ state to indicate that it is no longer
+ actively supported by its parent.</p>
+
+ <p>Each shape object that has not set the DEFUNC state has a valid
+ parent. That is either the containing draw page or a group shape or a
+ 3D scene object.</p>
+
+ @since OOo 1.1.2
+*/
+service AccessibleShape
+{
+ /** Base interface for being accessible. It gives access to the
+ ::com::sun::star::accessibility::XAccessibleContext
+ interface.
+ */
+ interface ::com::sun::star::accessibility::XAccessible;
+
+ /** Give access to the structural information of a shape.
+
+ <p>You can access the following information for the shape being made
+ accessible:
+ <ul>
+ <li>Role: The role of all shapes is
+ com::sun::star::accessibility::AccessibleRole::SHAPE.</li>
+ <li>Name: The name of a shape is its localized type name.</li>
+ <li>Description: Descriptions are localized and start with the
+ shape's type and style. After that follow some properties that
+ differ from the defaults with respect to the style.
+ <li>Children: The children of a shape are either other accessible
+ shapes or accessible text paragraphs. Only group shapes, 3D scene
+ shapes, and OLE shapes may contain other shapes as children.
+ Some of the shapes may have text paragraphs as (additional)
+ children. See ::com::sun::star::text::AccessibleParagraphView for
+ details of how this text is represented.</li>
+ <li>Parent: The parent is either the document view as represented by
+ AccessibleDrawDocumentView or a group shape, 3D
+ scene shape, or OLE shape.</li>
+ <li>Relations: Are set and maintained from the outside. See the
+ service description of the object that has accessible shapes as
+ children for details.</li>
+ <li>States: The states supported by this service are:
+ <ul>
+ <li><p>com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ is set if an accessible
+ shape is not visible but still existent for some reason.
+ This should not really happen and is a sign that someone,
+ e.g. an AT-Tool holds references to such a shape. The
+ reason for this is that either the owner of the accessible
+ shape did not remove it from its list of children or that
+ the AT-Tool does not care for the events indicating
+ this.</p>
+ <p>Usually an object that has the
+ com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ state set has already
+ been disposed and subsequent calls to this object result in
+ ::com::sun::star::lang::DisposedException
+ exceptions.</p>
+ <p>If this state is set then no other of the states below is
+ set. This is also true for the states that are otherwise
+ always set (which makes "always" more of a sort of
+ "normally").</p></li>
+ <li>com::sun::star::accessibility::AccessibleStateType::EDITABLE
+ is always set.
+ This state is interpreted to mean that not only text but
+ also other, graphical, properties of a shape can be modified.
+ </li>
+ <li>com::sun::star::accessibility::AccessibleStateType::ENABLED
+ is always set.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::FOCUSABLE
+ is always set.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::FOCUSED
+ is set according to
+ whether the shape currently has the focus.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::MULTI_LINE
+ is set if a shape supports the
+ ::com::sun::star::accessibility::XAccessibleText interface.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::OPAQUE
+ is set for certain shapes
+ with certain attributes like for a filled rectangle.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::RESIZABLE
+ is always set.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::SELECTABLE
+ is always set.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::SELECTED
+ is set according to
+ whether the shape is currently selected.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::SHOWING
+ is always set.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::VISIBLE
+ is always set.</li>
+ </ul>
+ <li>Locale: The shape returns the locale of its parent.</li>
+ <li>Property change listeners: Property change listeners that are
+ registered with a shape are informed of the usual events.</li>
+ </ul>
+ */
+ interface ::com::sun::star::accessibility::XAccessibleContext;
+
+ /** Give access to the graphical representation of a shape.
+
+ <p>The bounding box returned by the
+ ::com::sun::star::accessibility::XAccessibleComponent::getBounds()
+ function returns the
+ shape's bounding box clipped at its parent's bounding box</p>
+
+ <p>An accessible shape tries as best as it can to return proper
+ values for calls to the
+ ::com::sun::star::accessibility::XAccessibleExtendedComponent::getForeground()
+ and
+ ::com::sun::star::accessibility::XAccessibleExtendedComponent::getBackground()
+ functions.
+ If the shape is painted with a uniform and non-transparent color
+ then the returned colors may differ from the ones visible on the
+ screen.</p>
+
+ <p>Key bindings are not supported at the moment</p>
+ */
+ interface ::com::sun::star::accessibility::XAccessibleComponent;
+
+ /** Give extended access to the graphical representation of a shape.
+
+ <p>The functions
+ ::com::sun::star::accessibility::XAccessibleExtendedComponent::getFont(),
+ ::com::sun::star::accessibility::XAccessibleExtendedComponent::getTitledBorderText(), and
+ ::com::sun::star::accessibility::XAccessibleExtendedComponent::getToolTipText()
+ are not supported and return empty references respectively empty
+ strings.</p>
+
+ <p>The support of this interface is optional to reduce overhead in
+ case that no text is displayed and color information can not be
+ determined with an acceptable cost.</p>
+ */
+ [optional] interface ::com::sun::star::accessibility::XAccessibleExtendedComponent;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/AccessibleSlideView.idl b/offapi/com/sun/star/drawing/AccessibleSlideView.idl
new file mode 100644
index 000000000..a5b248d21
--- /dev/null
+++ b/offapi/com/sun/star/drawing/AccessibleSlideView.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_drawing_AccessibleSlideView_idl__
+#define __com_sun_star_drawing_AccessibleSlideView_idl__
+
+#include <com/sun/star/accessibility/XAccessible.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 drawing {
+
+/** The AccessibleSlideView service is implemented by
+ slide views of Impress documents.
+
+ <p>An accessible slide view gives access to all visible slides of a
+ slide view.</p>
+
+ @since OOo 1.1.2
+*/
+service AccessibleSlideView
+{
+ interface ::com::sun::star::accessibility::XAccessible;
+ interface ::com::sun::star::accessibility::XAccessibleContext;
+ interface ::com::sun::star::accessibility::XAccessibleEventBroadcaster;
+ interface ::com::sun::star::accessibility::XAccessibleComponent;
+ interface ::com::sun::star::accessibility::XAccessibleSelection;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/AccessibleSlideViewObject.idl b/offapi/com/sun/star/drawing/AccessibleSlideViewObject.idl
new file mode 100644
index 000000000..3adaba8e7
--- /dev/null
+++ b/offapi/com/sun/star/drawing/AccessibleSlideViewObject.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_drawing_AccessibleSlideViewObject_idl__
+#define __com_sun_star_drawing_AccessibleSlideViewObject_idl__
+
+#include <com/sun/star/accessibility/XAccessible.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 drawing {
+
+/** The AccessibleSlideViewObject service is implemented by
+ the slides of the slide view of Impress documents.
+
+ <p>An accessible slide view object gives access to one of the visible
+ slides of a slide view.</p>
+
+ @since OOo 1.1.2
+*/
+service AccessibleSlideViewObject
+{
+ interface ::com::sun::star::accessibility::XAccessible;
+ interface ::com::sun::star::accessibility::XAccessibleContext;
+ interface ::com::sun::star::accessibility::XAccessibleEventBroadcaster;
+ interface ::com::sun::star::accessibility::XAccessibleComponent;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/Alignment.idl b/offapi/com/sun/star/drawing/Alignment.idl
new file mode 100644
index 000000000..4150f517d
--- /dev/null
+++ b/offapi/com/sun/star/drawing/Alignment.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_drawing_Alignment_idl__
+#define __com_sun_star_drawing_Alignment_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** The Alignment enumeration is a general way to specify the
+ alignment of an object or sub-object relative to another object.
+ */
+published enum Alignment
+{
+ TOP_LEFT,
+ TOP,
+ TOP_RIGHT,
+ LEFT,
+ CENTER,
+ RIGHT,
+ BOTTOM_LEFT,
+ BOTTOM,
+ BOTTOM_RIGHT
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/AppletShape.idl b/offapi/com/sun/star/drawing/AppletShape.idl
new file mode 100644
index 000000000..baa256adb
--- /dev/null
+++ b/offapi/com/sun/star/drawing/AppletShape.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_drawing_AppletShape_idl__
+#define __com_sun_star_drawing_AppletShape_idl__
+
+#include <com/sun/star/drawing/Shape.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+
+
+module com { module sun { module star { module drawing {
+
+/** This Shape encapsulates an applet.
+
+ <p> An applet is a small Java-based program that is executed and rendered
+ embedded in a document.
+*/
+published service AppletShape
+{
+ /** basic service for position, size and z-order.
+
+ <p>A AppletShape cannot be rotated.
+ */
+ service com::sun::star::drawing::Shape;
+
+
+ /** This property specifies the base URI for the applet.
+
+ <p>If this property is empty, then it defaults the same base URI as for
+ the current document.
+ */
+ [property] string AppletCodeBase;
+
+
+ /** this is an optional name for the applet.
+ */
+ [property] string AppletName;
+
+
+ /** This property specifies one of the following:
+ <br>The name of the class file that contains the compiled applet subclass.
+ <br>The path to the class, including the class file itself.
+ */
+ [property] string AppletCode;
+
+
+ /** This sequence contains parameters that are passed to the applet
+ when it is initialized.
+ */
+ [property] sequence< com::sun::star::beans::PropertyValue > AppletCommands;
+
+
+ /** This property specifies whether or not the applet can be scripted.
+ */
+ [readonly, property] boolean AppletIsScript;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/Arrangement.idl b/offapi/com/sun/star/drawing/Arrangement.idl
new file mode 100644
index 000000000..131d6323c
--- /dev/null
+++ b/offapi/com/sun/star/drawing/Arrangement.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_drawing_Arrangement_idl__
+#define __com_sun_star_drawing_Arrangement_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** With this enumeration you can arrange the relative position of an object
+ within the other objects.
+
+ @deprecated
+ */
+published enum Arrangement
+{
+ /** Move this object in front of all other objects.
+ */
+ FRONT,
+
+ /** Move this object one object more to the front.
+ */
+ MORE_FRONT,
+
+ /** Move this object one object more to the back.
+ */
+ MORE_BACK,
+
+ /** Move this object behind all other objects.
+ */
+ BACK
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/Background.idl b/offapi/com/sun/star/drawing/Background.idl
new file mode 100644
index 000000000..eff312c59
--- /dev/null
+++ b/offapi/com/sun/star/drawing/Background.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_drawing_Background_idl__
+#define __com_sun_star_drawing_Background_idl__
+
+#include <com/sun/star/drawing/FillProperties.idl>
+
+
+module com { module sun { module star { module drawing {
+
+
+/** this service provides the properties to describe a background filling for
+ a drawing page. It can be obtained by the com::sun::star::lang::XMultiServiceFactory
+ of a document and be set on draw pages that support a filled background.
+ */
+published service Background
+{
+ service FillProperties;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/BarCode.idl b/offapi/com/sun/star/drawing/BarCode.idl
new file mode 100644
index 000000000..ef26aa945
--- /dev/null
+++ b/offapi/com/sun/star/drawing/BarCode.idl
@@ -0,0 +1,48 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.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_drawing_BarCode_idl__
+#define __com_sun_star_drawing_BarCode_idl__
+
+ module com { module sun { module star { module drawing {
+
+
+/// This struct defines the attributes of a Bar Code
+/// @since LibreOffice 7.3
+
+published struct BarCode
+{
+ /** Type of the Bar Code
+ that is to be generated.
+ Supported types - 0:"QR Code", 1:"Code 128"
+ */
+ long Type;
+
+ /** Text for which Bar Code is made
+ */
+ string Payload;
+
+ /** Bar Code Error Correction Level
+ @see drawing/BarCodeErrorCorrection
+ */
+ long ErrorCorrection;
+
+ /** Border surrounding the Bar Code
+ It is a non-negative value.
+ One Border unit is equal to one dot in the generated Bar code.
+ */
+ long Border;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */ \ No newline at end of file
diff --git a/offapi/com/sun/star/drawing/BarCodeErrorCorrection.idl b/offapi/com/sun/star/drawing/BarCodeErrorCorrection.idl
new file mode 100644
index 000000000..9314bacb5
--- /dev/null
+++ b/offapi/com/sun/star/drawing/BarCodeErrorCorrection.idl
@@ -0,0 +1,50 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.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_drawing_BarCodeErrorCorrection_idl__
+#define __com_sun_star_drawing_BarCodeErrorCorrection_idl__
+
+module com { module sun { module star { module drawing {
+
+/** These constants identify the type of Error Correction for
+ a Bar Code.
+
+ <p>The Error Correction for a Bar code is a measure that
+ helps a Bar code to recover, if it is destroyed.
+
+ Level L (Low) 7% of codewords can be restored.
+ Level M (Medium) 15% of codewords can be restored.
+ Level Q (Quartile) 25% of codewords can be restored.
+ Level H (High) 30% of codewords can be restored.
+
+ More Info - <a href="https://en.wikipedia.org/wiki/QR_code#Error_correction">here</a>
+ </p>
+
+ @see BarCode
+ @see GraphicObectShape
+
+ @since LibreOffice 7.3
+*/
+
+published constants BarCodeErrorCorrection
+{
+ const long LOW = 1;
+
+ const long MEDIUM = 2;
+
+ const long QUARTILE = 3;
+
+ const long HIGH = 4;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/offapi/com/sun/star/drawing/BezierPoint.idl b/offapi/com/sun/star/drawing/BezierPoint.idl
new file mode 100644
index 000000000..b06b435c3
--- /dev/null
+++ b/offapi/com/sun/star/drawing/BezierPoint.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_drawing_BezierPoint_idl__
+#define __com_sun_star_drawing_BezierPoint_idl__
+
+#include <com/sun/star/awt/Point.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** This is a point on a Bezier curve.
+
+ <p>The two control points specify how the Bezier curve
+ goes through the given position.</p>
+
+ @deprecated
+ */
+published struct BezierPoint
+{
+ /** This is the position of this point.
+ */
+ com::sun::star::awt::Point Position;
+
+ /** This is the position of the first control point.
+ */
+ com::sun::star::awt::Point ControlPoint1;
+
+ /** This is the position of the second control point.
+ */
+ com::sun::star::awt::Point ControlPoint2;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/BitmapMode.idl b/offapi/com/sun/star/drawing/BitmapMode.idl
new file mode 100644
index 000000000..0172bc2b8
--- /dev/null
+++ b/offapi/com/sun/star/drawing/BitmapMode.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_drawing_BitmapMode_idl__
+#define __com_sun_star_drawing_BitmapMode_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** The BitmapMode selects an algorithm for filling an area with
+ a bitmap.
+ */
+published enum BitmapMode
+{
+
+ /** the bitmap is repeated over the fill area.
+ */
+ REPEAT,
+
+
+ /** the bitmap is stretched to fill the area.
+ */
+ STRETCH,
+
+
+ /** the bitmap is painted in its original or selected size.
+ */
+ NO_REPEAT
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/BitmapTable.idl b/offapi/com/sun/star/drawing/BitmapTable.idl
new file mode 100644
index 000000000..6deea952f
--- /dev/null
+++ b/offapi/com/sun/star/drawing/BitmapTable.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_drawing_BitmapTable_idl__
+#define __com_sun_star_drawing_BitmapTable_idl__
+
+#include <com/sun/star/container/XNameContainer.idl>
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** this is a container for URLs to bitmaps.
+
+ <p>It is used for example to access the bitmaps that
+ are used inside a document for filling.
+
+ @see DrawingDocumentFactory
+ @see FillStyle::FillBitmapURL
+*/
+published service BitmapTable
+{
+ /** this container lets you access the URLs that
+ are indexed with a name.
+
+ <p>Note: You can add new entries for later use, but you cannot
+ remove entries that are used inside the document.
+ */
+ interface com::sun::star::container::XNameContainer;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/BoundVolume.idl b/offapi/com/sun/star/drawing/BoundVolume.idl
new file mode 100644
index 000000000..86f5b406b
--- /dev/null
+++ b/offapi/com/sun/star/drawing/BoundVolume.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_drawing_BoundVolume_idl__
+#define __com_sun_star_drawing_BoundVolume_idl__
+
+#include <com/sun/star/drawing/Position3D.idl>
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** specifies a three-dimensional boundary volume with two positions.
+ */
+published struct BoundVolume
+{
+ /** this is the minimum position inside the boundary volume.
+ */
+ Position3D min;
+
+
+ /** this is the maximum position inside the boundary volume.
+ */
+ Position3D max;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/CameraGeometry.idl b/offapi/com/sun/star/drawing/CameraGeometry.idl
new file mode 100644
index 000000000..8e5b8d1c4
--- /dev/null
+++ b/offapi/com/sun/star/drawing/CameraGeometry.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_drawing_CameraGeometry_idl__
+#define __com_sun_star_drawing_CameraGeometry_idl__
+
+#include <com/sun/star/drawing/Direction3D.idl>
+#include <com/sun/star/drawing/Position3D.idl>
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** specifies a three-dimensional camera.
+ */
+published struct CameraGeometry
+{
+ /** is the camera position */
+ Position3D vrp;
+
+ /** is the camera view direction */
+ Direction3D vpn;
+
+ /** is the camera up direction */
+ Direction3D vup;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/CanvasFeature.idl b/offapi/com/sun/star/drawing/CanvasFeature.idl
new file mode 100644
index 000000000..2710bbd18
--- /dev/null
+++ b/offapi/com/sun/star/drawing/CanvasFeature.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_drawing_CanvasFeature_idl__
+#define __com_sun_star_drawing_CanvasFeature_idl__
+
+module com { module sun { module star { module drawing {
+
+constants CanvasFeature
+{
+ const short None = 0;
+ const short SpriteCanvas = 1;
+};
+
+
+
+}; }; }; }; // ::com::sun::star::drawing
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/CaptionEscapeDirection.idl b/offapi/com/sun/star/drawing/CaptionEscapeDirection.idl
new file mode 100644
index 000000000..ff9fd4e5c
--- /dev/null
+++ b/offapi/com/sun/star/drawing/CaptionEscapeDirection.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_drawing_CaptionEscapeDirection_idl__
+#define __com_sun_star_drawing_CaptionEscapeDirection_idl__
+
+
+module com { module sun { module star { module drawing {
+
+/** this flags describe escape direction for
+ the line of a CaptionShape.
+
+ @see CaptionShape
+*/
+published constants CaptionEscapeDirection
+{
+ /** the caption line leaves the caption area at the horizontal edge
+ that is nearest to the caption point.
+ */
+ const short horizontal = 0;
+
+ /** the caption line leaves the caption area at the vertical edge
+ that is nearest to the caption point.
+ */
+ const short vertical = 1;
+
+ /** the caption line leaves the caption area at the edge
+ that is nearest to the caption point.
+ */
+ const short auto = 2;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/CaptionShape.idl b/offapi/com/sun/star/drawing/CaptionShape.idl
new file mode 100644
index 000000000..548a85b34
--- /dev/null
+++ b/offapi/com/sun/star/drawing/CaptionShape.idl
@@ -0,0 +1,131 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_CaptionShape_idl__
+#define __com_sun_star_drawing_CaptionShape_idl__
+
+#include <com/sun/star/drawing/Shape.idl>
+
+#include <com/sun/star/drawing/Text.idl>
+#include <com/sun/star/drawing/FillProperties.idl>
+#include <com/sun/star/drawing/LineProperties.idl>
+
+#include <com/sun/star/drawing/ShadowProperties.idl>
+
+#include <com/sun/star/drawing/RotationDescriptor.idl>
+#include <com/sun/star/awt/Point.idl>
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** The CaptionShape represents a rectangular drawing shape
+ with an additional set of lines. It can be used as a description for
+ a fixed point inside a drawing.
+ */
+published service CaptionShape
+{
+ /** the position and size is only used for the
+ caption area
+ */
+ service com::sun::star::drawing::Shape;
+
+ service com::sun::star::drawing::FillProperties;
+
+ service com::sun::star::drawing::LineProperties;
+
+ service com::sun::star::drawing::ShadowProperties;
+
+ service com::sun::star::drawing::Text;
+
+ service com::sun::star::drawing::RotationDescriptor;
+
+ /** This is the radius of the caption area corners.
+ */
+ [property] long CornerRadius;
+
+ /** The caption point property specify the position of
+ the point that is captioned. A set of lines are
+ rendered from the caption area.
+ */
+ [property] com::sun::star::awt::Point CaptionPoint;
+
+ /** This property specifies the geometry of the line of a caption.
+
+ @see CaptionType
+ */
+ [property] short CaptionType;
+
+ /** This property specifies if the escape angle of
+ the line of a caption is fixed or free. If this
+ is set to `FALSE`, the application can choose
+ the best possible angle. If not, the value in
+ <code>CaptionAngle</code> is used.
+ */
+ [property] boolean CaptionIsFixedAngle;
+
+ /** This property specifies the escape angle of
+ the line of a caption.
+ It is only used if <code>CaptionIsFixedAngle</code>
+ is set to `TRUE`
+ */
+ [property] long CaptionAngle;
+
+ /** This property specifies the distance between the
+ text area of the caption and the start of the line.
+ */
+ [property] long CaptionGap;
+
+ /** This property specifies the escape direction for the
+ line of a caption.
+
+ @see CaptionEscapeDirection
+ */
+ [property] long CaptionEscapeDirection;
+
+ /** If this property is `TRUE`, the property <code>CaptionEscapeRelative</code>
+ is used, else the property <code>CaptionEscapeAbsolute</code> is used.
+ */
+ [property] boolean CaptionIsEscapeRelative;
+
+ /** This property specifies the relative escape distance for
+ the line of a caption.
+ */
+ [property] long CaptionEscapeRelative;
+
+ /** This property specifies the absolute escape distance for
+ the line of a caption.
+ */
+ [property] long CaptionEscapeAbsolute;
+
+ /** This property specifies the length of the caption line.
+ */
+ [property] long CaptionLineLength;
+
+ /** If this property is `TRUE`, the application determines
+ the best possible length for the caption line.
+ */
+ [property] boolean CaptionIsFitLineLength;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/CaptionType.idl b/offapi/com/sun/star/drawing/CaptionType.idl
new file mode 100644
index 000000000..5a881b4a3
--- /dev/null
+++ b/offapi/com/sun/star/drawing/CaptionType.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_drawing_CaptionType_idl__
+#define __com_sun_star_drawing_CaptionType_idl__
+
+
+module com { module sun { module star { module drawing {
+
+/** This constants specifies the geometry of the line of a CaptionShape.
+
+ @see CaptionShape
+*/
+published constants CaptionType
+{
+ /** the caption line is a straight line from a caption area edge to the
+ caption point.
+ */
+ const short straight = 0;
+
+ /** the caption line is the shortest line from the caption area edge to
+ the caption point.
+ */
+ const short angled = 1;
+
+ /** the caption line is build up with a straight line from the caption area
+ edge, followed by the shortest line to the caption area point.
+ */
+ const short connector = 2;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/CircleKind.idl b/offapi/com/sun/star/drawing/CircleKind.idl
new file mode 100644
index 000000000..a640a0589
--- /dev/null
+++ b/offapi/com/sun/star/drawing/CircleKind.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_drawing_CircleKind_idl__
+#define __com_sun_star_drawing_CircleKind_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** This enumeration defines a circle.
+ */
+published enum CircleKind
+{
+ /** a full circle
+ */
+ FULL,
+
+ /** a circle with a cut connected by a line
+ */
+ SECTION,
+
+ /** a circle with a cut connected by two lines
+ */
+ CUT,
+
+ /** a circle with an open cut
+ */
+ ARC
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/ClosedBezierShape.idl b/offapi/com/sun/star/drawing/ClosedBezierShape.idl
new file mode 100644
index 000000000..3364e28e3
--- /dev/null
+++ b/offapi/com/sun/star/drawing/ClosedBezierShape.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_drawing_ClosedBezierShape_idl__
+#define __com_sun_star_drawing_ClosedBezierShape_idl__
+
+#include <com/sun/star/drawing/LineShape.idl>
+
+#include <com/sun/star/drawing/LineProperties.idl>
+
+#include <com/sun/star/drawing/FillProperties.idl>
+
+#include <com/sun/star/drawing/PolyPolygonBezierDescriptor.idl>
+
+#include <com/sun/star/drawing/Text.idl>
+
+#include <com/sun/star/drawing/ShadowProperties.idl>
+
+#include <com/sun/star/drawing/RotationDescriptor.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** This service is for a closed Bezier shape.
+ */
+published service ClosedBezierShape
+{
+ service com::sun::star::drawing::Shape;
+
+ service com::sun::star::drawing::LineProperties;
+
+ service com::sun::star::drawing::FillProperties;
+
+ service com::sun::star::drawing::PolyPolygonBezierDescriptor;
+
+ service com::sun::star::drawing::Text;
+
+ service com::sun::star::drawing::ShadowProperties;
+
+ service com::sun::star::drawing::RotationDescriptor;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/ColorMode.idl b/offapi/com/sun/star/drawing/ColorMode.idl
new file mode 100644
index 000000000..90288b6b4
--- /dev/null
+++ b/offapi/com/sun/star/drawing/ColorMode.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_drawing_ColorMode_idl__
+#define __com_sun_star_drawing_ColorMode_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** The ColorMode defines the output style of colors
+ for a graphic.
+ */
+published enum ColorMode
+{
+ /** the graphic is rendered in the default color style of the output
+ device,
+ */
+ STANDARD,
+
+ /** the graphic is rendered in grayscale on the output device,
+ */
+ GREYS,
+
+ /** the graphic is rendered in black and white only,
+ */
+ MONO,
+
+ /** the graphic is rendered in a watermark like style,
+ */
+ WATERMARK
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/ColorTable.idl b/offapi/com/sun/star/drawing/ColorTable.idl
new file mode 100644
index 000000000..3b9bcddd5
--- /dev/null
+++ b/offapi/com/sun/star/drawing/ColorTable.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_drawing_ColorTable_idl__
+#define __com_sun_star_drawing_ColorTable_idl__
+
+#include <com/sun/star/container/XNameContainer.idl>
+
+
+module com { module sun { module star { module drawing {
+
+
+/**
+ @since LibreOffice 4.1
+ */
+published service ColorTable : com::sun::star::container::XNameContainer;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/ConnectionType.idl b/offapi/com/sun/star/drawing/ConnectionType.idl
new file mode 100644
index 000000000..7d04ea722
--- /dev/null
+++ b/offapi/com/sun/star/drawing/ConnectionType.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_drawing_ConnectionType_idl__
+#define __com_sun_star_drawing_ConnectionType_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** the direction where the
+ connection line leaves the connection point.
+ */
+published enum ConnectionType
+{
+ /** the connection point is chosen automatically,
+ */
+ AUTO,
+
+ /** the connection line leaves the connected object to the left,
+ */
+ LEFT,
+
+ /** the connection line leaves the connected object from the top,
+ */
+ TOP,
+
+ /** the connection line leaves the connected object to the right,
+ */
+ RIGHT,
+
+ /** the connection line leaves the connected object from the bottom,
+ */
+ BOTTOM,
+
+ /** not implemented, yet.
+ */
+ SPECIAL
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/ConnectorProperties.idl b/offapi/com/sun/star/drawing/ConnectorProperties.idl
new file mode 100644
index 000000000..0e97ef5ae
--- /dev/null
+++ b/offapi/com/sun/star/drawing/ConnectorProperties.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_drawing_ConnectorProperties_idl__
+#define __com_sun_star_drawing_ConnectorProperties_idl__
+
+#include <com/sun/star/drawing/ConnectorType.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** This is a set of properties to describe the style for rendering connector.
+ */
+published service ConnectorProperties
+{
+
+ /** This property contains the kind of the connector.
+ */
+ [property] com::sun::star::drawing::ConnectorType EdgeKind;
+
+
+ /** This property contains the horizontal distance of node 1.
+ */
+ [property] long EdgeNode1HorzDist;
+
+
+ /** This property contains the vertical distance of node 1.
+ */
+ [property] long EdgeNode1VertDist;
+
+
+ /** This property contains the horizontal distance of node 2.
+ */
+ [property] long EdgeNode2HorzDist;
+
+
+ /** This property contains the vertical distance of node 2.
+ */
+ [property] long EdgeNode2VertDist;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/ConnectorShape.idl b/offapi/com/sun/star/drawing/ConnectorShape.idl
new file mode 100644
index 000000000..f3272e11e
--- /dev/null
+++ b/offapi/com/sun/star/drawing/ConnectorShape.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_drawing_ConnectorShape_idl__
+#define __com_sun_star_drawing_ConnectorShape_idl__
+
+#include <com/sun/star/drawing/XConnectorShape.idl>
+#include <com/sun/star/drawing/ConnectorProperties.idl>
+
+#include <com/sun/star/drawing/Shape.idl>
+
+#include <com/sun/star/drawing/LineProperties.idl>
+
+#include <com/sun/star/drawing/Text.idl>
+
+#include <com/sun/star/drawing/ShadowProperties.idl>
+
+#include <com/sun/star/drawing/RotationDescriptor.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** This service is for a ConnectorShape, a specialized Shape,
+ which can be connected to other Shapes or GluePoints.
+ */
+published service ConnectorShape
+{
+ service com::sun::star::drawing::Shape;
+
+ service com::sun::star::drawing::LineProperties;
+
+ service com::sun::star::drawing::ConnectorProperties;
+
+ service com::sun::star::drawing::ShadowProperties;
+
+ service com::sun::star::drawing::Text;
+
+ service com::sun::star::drawing::RotationDescriptor;
+
+
+ /** this property either holds the shape that the start point of this
+ connector is connected to, or is empty when the start point of the
+ connector is not connected to a shape.
+ */
+ [property] com::sun::star::drawing::XShape StartShape;
+
+
+ /** this property holds the index of the gluepoint the start point of
+ this connector is glued on.
+ */
+ [property] long StartGluePointIndex;
+
+
+ /** this is the position of the connectors start point in 100th/mm. For
+ unconnected start points you can get and set the position. For
+ connected start points you can only get the position.
+ */
+ [property] com::sun::star::awt::Point StartPosition;
+
+
+ /** this property either holds the shape that the end point of this
+ connector is connected to, or is empty when the end point of the
+ connector is not connected to a shape.
+ */
+ [property] com::sun::star::drawing::XShape EndShape;
+
+
+ /** this property holds the index of the gluepoint the end point of
+ this connector is glued on.
+ */
+ [property] com::sun::star::awt::Point EndPosition;
+
+
+ /** this is the position of the connectors end point in 100th/mm. For
+ unconnected end points you can get and set the position. For
+ connected end points you can only get the position.
+ */
+ [property] long EndGluePointIndex;
+
+
+ /** This property contains the distance of line 1.
+ */
+ [property] long EdgeLine1Delta;
+
+
+ /** This property contains the distance of line 2.
+ */
+ [property] long EdgeLine2Delta;
+
+
+ /** This property contains the distance of line 3.
+ */
+ [property] long EdgeLine3Delta;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/ConnectorType.idl b/offapi/com/sun/star/drawing/ConnectorType.idl
new file mode 100644
index 000000000..c693ad22d
--- /dev/null
+++ b/offapi/com/sun/star/drawing/ConnectorType.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_drawing_ConnectorType_idl__
+#define __com_sun_star_drawing_ConnectorType_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** The ConnectorType specifies the appearance of a connector.
+ */
+published enum ConnectorType
+{
+ /** the connector is drawn with three lines, with the middle line
+ perpendicular to the other two
+ */
+ STANDARD,
+
+ /** the ConnectorShape is drawn as a curve
+ */
+ CURVE,
+
+ /** the ConnectorShape is drawn as a straight line
+ */
+ LINE,
+
+ /** the connector is drawn with three lines
+ */
+ LINES
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/ControlShape.idl b/offapi/com/sun/star/drawing/ControlShape.idl
new file mode 100644
index 000000000..4ecb5f3d6
--- /dev/null
+++ b/offapi/com/sun/star/drawing/ControlShape.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_drawing_ControlShape_idl__
+#define __com_sun_star_drawing_ControlShape_idl__
+
+#include <com/sun/star/drawing/Shape.idl>
+
+#include <com/sun/star/drawing/XControlShape.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** This service is for a Shape which contains a control.
+ <p>
+ @see Shape
+ @see XControlShape
+ */
+published service ControlShape
+{
+ service com::sun::star::drawing::Shape;
+ interface com::sun::star::drawing::XControlShape;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/CoordinateSequence.idl b/offapi/com/sun/star/drawing/CoordinateSequence.idl
new file mode 100644
index 000000000..b09755940
--- /dev/null
+++ b/offapi/com/sun/star/drawing/CoordinateSequence.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_CoordinateSequence_idl__
+#define __com_sun_star_drawing_CoordinateSequence_idl__
+
+
+
+module com { module sun { module star { module drawing {
+
+published typedef sequence<long> CoordinateSequence;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/CoordinateSequenceSequence.idl b/offapi/com/sun/star/drawing/CoordinateSequenceSequence.idl
new file mode 100644
index 000000000..231c23720
--- /dev/null
+++ b/offapi/com/sun/star/drawing/CoordinateSequenceSequence.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_CoordinateSequenceSequence_idl__
+#define __com_sun_star_drawing_CoordinateSequenceSequence_idl__
+
+#include <com/sun/star/drawing/CoordinateSequence.idl>
+
+
+module com { module sun { module star { module drawing {
+
+published typedef sequence<CoordinateSequence> CoordinateSequenceSequence;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/CustomShape.idl b/offapi/com/sun/star/drawing/CustomShape.idl
new file mode 100644
index 000000000..f3e1f224c
--- /dev/null
+++ b/offapi/com/sun/star/drawing/CustomShape.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_drawing_CustomShape_idl__
+#define __com_sun_star_drawing_CustomShape_idl__
+
+#include <com/sun/star/drawing/Shape.idl>
+
+#include <com/sun/star/drawing/FillProperties.idl>
+#include <com/sun/star/drawing/LineProperties.idl>
+
+#include <com/sun/star/drawing/ShadowProperties.idl>
+#include <com/sun/star/drawing/Text.idl>
+#include <com/sun/star/drawing/RotationDescriptor.idl>
+
+#include <com/sun/star/beans/PropertyValue.idl>
+
+
+module com { module sun { module star { module drawing {
+
+
+/** This service is for a CustomShape
+ */
+service CustomShape
+{
+ service com::sun::star::drawing::Shape;
+
+ service com::sun::star::drawing::FillProperties;
+
+ service com::sun::star::drawing::LineProperties;
+
+ service com::sun::star::drawing::ShadowProperties;
+
+ service com::sun::star::drawing::Text;
+
+ service com::sun::star::drawing::RotationDescriptor;
+
+ /** This property contains the CustomShapeEngine service name that has to
+ be used for rendering.
+ */
+ [property] string CustomShapeEngine;
+
+ /** This property can be used to store data that the CustomShapeEngine may
+ use for rendering
+ */
+ [optional, property] string CustomShapeData;
+
+ /** This property describes the geometry of the CustomShape. The CustomShapeEngine
+ that is used should be able to get on with the content of this property.
+
+ If the CustomShapeEngine property is "com.sun.star.drawing.EnhancedCustomShapeEngine",
+ then this property is containing properties as they are specified in the service
+ com.sun.star.drawing.EnhancedCustomShapeGeometry
+ */
+ [optional, property] sequence<::com::sun::star::beans::PropertyValue> CustomShapeGeometry;
+
+ /** This property describes the URL to a replacement graphic that could
+ be displayed if the CustomShape engine is not available.
+ */
+ [optional, property] string CustomShapeReplacementURL;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/CustomShapeEngine.idl b/offapi/com/sun/star/drawing/CustomShapeEngine.idl
new file mode 100644
index 000000000..e0b89e531
--- /dev/null
+++ b/offapi/com/sun/star/drawing/CustomShapeEngine.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_drawing_CustomShapeEngine_idl__
+#define __com_sun_star_drawing_CustomShapeEngine_idl__
+
+#include <com/sun/star/lang/XInitialization.idl>
+
+#include <com/sun/star/drawing/XCustomShapeEngine.idl>
+
+
+module com { module sun { module star { module drawing {
+
+
+/** This service is for a CustomShape
+ */
+service CustomShapeEngine
+{
+ /** initializing the CustomShapeEngine
+
+ */
+ interface ::com::sun::star::lang::XInitialization;
+
+ interface com::sun::star::drawing::XCustomShapeEngine;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/DashStyle.idl b/offapi/com/sun/star/drawing/DashStyle.idl
new file mode 100644
index 000000000..8b8217541
--- /dev/null
+++ b/offapi/com/sun/star/drawing/DashStyle.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_drawing_DashStyle_idl__
+#define __com_sun_star_drawing_DashStyle_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** This enumeration defines the style of a dash on a line.
+ */
+published enum DashStyle
+{
+ /** the dash is a rectangle
+ */
+ RECT,
+
+ /** the dash is a point
+ */
+ ROUND,
+
+ /** the dash is a rectangle, with the size of the dash given in
+ relation to the length of the line
+ */
+ RECTRELATIVE,
+
+ /** the dash is a point, with the size of the dash given in relation
+ to the length of the line
+ */
+ ROUNDRELATIVE
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/DashTable.idl b/offapi/com/sun/star/drawing/DashTable.idl
new file mode 100644
index 000000000..2e140c42b
--- /dev/null
+++ b/offapi/com/sun/star/drawing/DashTable.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_drawing_DashTable_idl__
+#define __com_sun_star_drawing_DashTable_idl__
+
+#include <com/sun/star/container/XNameContainer.idl>
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** this is a container for LineDashs
+
+ <p>It is used for example to access the LineDashs that
+ are used inside a document.
+
+ @see DrawingDocumentFactory
+ @see LineDash
+*/
+published service DashTable
+{
+ /** this container lets you access the LineDashs that
+ are indexed with a name.
+
+ <p>Note: You can add new entries for later use, but you cannot
+ remove entries that are used inside the document.
+ */
+ interface com::sun::star::container::XNameContainer;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/Defaults.idl b/offapi/com/sun/star/drawing/Defaults.idl
new file mode 100644
index 000000000..7a54f0049
--- /dev/null
+++ b/offapi/com/sun/star/drawing/Defaults.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_drawing_Defaults_idl__
+#define __com_sun_star_drawing_Defaults_idl__
+
+#include <com/sun/star/drawing/TextProperties.idl>
+#include <com/sun/star/drawing/FillProperties.idl>
+#include <com/sun/star/drawing/LineProperties.idl>
+#include <com/sun/star/drawing/ShadowProperties.idl>
+#include <com/sun/star/drawing/ConnectorProperties.idl>
+#include <com/sun/star/drawing/MeasureProperties.idl>
+
+
+
+module com { module sun { module star { module drawing {
+
+
+/** This is a set of properties to access the defaults of a drawing document
+
+ @see DrawingDocumentFactory
+ */
+published service Defaults
+{
+ service TextProperties;
+ service LineProperties;
+ service FillProperties;
+ service ShadowProperties;
+ service ConnectorProperties;
+ service MeasureProperties;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/Direction3D.idl b/offapi/com/sun/star/drawing/Direction3D.idl
new file mode 100644
index 000000000..1afcd1b54
--- /dev/null
+++ b/offapi/com/sun/star/drawing/Direction3D.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_Direction3D_idl__
+#define __com_sun_star_drawing_Direction3D_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** specifies a 3-dimensional vector.
+ */
+published struct Direction3D
+{
+ double DirectionX;
+ double DirectionY;
+ double DirectionZ;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/DocumentSettings.idl b/offapi/com/sun/star/drawing/DocumentSettings.idl
new file mode 100644
index 000000000..5223d906b
--- /dev/null
+++ b/offapi/com/sun/star/drawing/DocumentSettings.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_drawing_DocumentSettings_idl__
+#define __com_sun_star_drawing_DocumentSettings_idl__
+
+#include <com/sun/star/document/Settings.idl>
+#include <com/sun/star/document/HeaderFooterSettings.idl>
+
+
+module com { module sun { module star { module drawing {
+
+
+/** describes properties that apply to the whole drawing document.
+ */
+published service DocumentSettings
+{
+ service com::sun::star::document::Settings;
+
+ /** This service configures the header and footer settings during print
+ */
+ [optional] service com::sun::star::document::HeaderFooterSettings;
+
+
+ /** provides access to the properties.
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+
+ /** This is the default logical measure unit that is used for string
+ formatting inside the document, f.e. the measure text
+ */
+ [optional, property] short MeasureUnit;
+
+ /** is the numerator for the logical scale of the document
+ */
+ [optional, property] long ScaleNumerator;
+
+ /** is the denominator for the logical scale of the document
+ */
+ [optional, property] long ScaleDenominator;
+
+ // Note: the following properties exist also in
+ // css::presentation::DocumentSettings
+
+
+ /** enables or disables the fitting of the page to the printable
+ area during print
+ */
+ [optional, property] boolean IsPrintFitPage;
+
+ /** if this is true and the paper size for printing is larger than
+ the paper size of the printer than the content is tiled over
+ multiple pages.
+ */
+ [optional, property] boolean IsPrintTilePage;
+
+ /** is the number format used for page number fields
+
+ Values 0-7 are supported.
+
+ @see com::sun::star::style::NumberingType
+ */
+ [optional, property] long PageNumberFormat;
+
+ /** If this is true, the distance between two paragraphs is
+ the sum of ParaBottomMargin of the previous and ParaTopMargin of
+ the next paragraph. If false, only the greater of the two is
+ chosen.
+ */
+ [optional, property] boolean ParagraphSummation;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/DoubleSequence.idl b/offapi/com/sun/star/drawing/DoubleSequence.idl
new file mode 100644
index 000000000..e0f006b36
--- /dev/null
+++ b/offapi/com/sun/star/drawing/DoubleSequence.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_DoubleSequence_idl__
+#define __com_sun_star_drawing_DoubleSequence_idl__
+
+
+
+module com { module sun { module star { module drawing {
+
+published typedef sequence<double> DoubleSequence;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/DoubleSequenceSequence.idl b/offapi/com/sun/star/drawing/DoubleSequenceSequence.idl
new file mode 100644
index 000000000..c85d10fba
--- /dev/null
+++ b/offapi/com/sun/star/drawing/DoubleSequenceSequence.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_DoubleSequenceSequence_idl__
+#define __com_sun_star_drawing_DoubleSequenceSequence_idl__
+
+#include <com/sun/star/drawing/DoubleSequence.idl>
+
+
+module com { module sun { module star { module drawing {
+
+published typedef sequence<DoubleSequence> DoubleSequenceSequence;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/DrawPage.idl b/offapi/com/sun/star/drawing/DrawPage.idl
new file mode 100644
index 000000000..d8e668995
--- /dev/null
+++ b/offapi/com/sun/star/drawing/DrawPage.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_drawing_DrawPage_idl__
+#define __com_sun_star_drawing_DrawPage_idl__
+
+#include <com/sun/star/drawing/GenericDrawPage.idl>
+
+#include <com/sun/star/drawing/XMasterPageTarget.idl>
+#include <com/sun/star/form/XFormsSupplier.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** This service specifies a page for the actual draw pages to contain
+ the drawings.
+ @see GenericDrawPage
+ @see DrawPages
+ */
+published service DrawPage
+{
+
+ /** This service describes the base functionality that every
+ draw/master page has.
+ */
+ service com::sun::star::drawing::GenericDrawPage;
+
+ /** provides the link to a MasterPage.
+ */
+ interface com::sun::star::drawing::XMasterPageTarget;
+
+ /** provides access to the hierarchy of form components belonging to the draw page.
+
+ <p>Every draw page may contain a form layer - that is, a hierarchy of form elements. The layer can be
+ accessed using this interface.</p>
+
+ @see com::sun::star::form::FormComponent
+ @see com::sun::star::form::FormComponents
+ @see com::sun::star::form::Forms
+ */
+ [optional] interface com::sun::star::form::XFormsSupplier;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/DrawPages.idl b/offapi/com/sun/star/drawing/DrawPages.idl
new file mode 100644
index 000000000..17b9587e8
--- /dev/null
+++ b/offapi/com/sun/star/drawing/DrawPages.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_drawing_DrawPages_idl__
+#define __com_sun_star_drawing_DrawPages_idl__
+
+#include <com/sun/star/drawing/XDrawPages.idl>
+
+#include <com/sun/star/drawing/XDrawPageSummarizer.idl>
+
+#include <com/sun/star/drawing/XDrawPageExpander.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** provides access to a container of DrawPages
+ and makes it possible for you to manipulate them.
+
+ @see XDrawPagesSupplier
+ @see DrawingDocument
+ */
+published service DrawPages
+{
+ /** lets you access and create DrawPages
+ */
+ interface com::sun::star::drawing::XDrawPages;
+
+
+ /** This optional interface makes it possible to summarize the
+ pages in this collection.
+ */
+ [optional] interface com::sun::star::drawing::XDrawPageSummarizer;
+
+
+ /** This optional interface can be used for expanding a summarized page.
+ */
+ [optional] interface com::sun::star::drawing::XDrawPageExpander;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/DrawViewMode.idl b/offapi/com/sun/star/drawing/DrawViewMode.idl
new file mode 100644
index 000000000..7e0ed15be
--- /dev/null
+++ b/offapi/com/sun/star/drawing/DrawViewMode.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_drawing_DrawViewMode_idl__
+#define __com_sun_star_drawing_DrawViewMode_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** This enumeration specifies the view mode of a view in a presentation
+ document.
+
+ @deprecated
+ */
+published enum DrawViewMode
+{
+ /** The view shows the drawing pages.
+ */
+ DRAW,
+
+ /** The view shows the notes pages.
+ */
+ NOTES,
+
+ /** The view shows the handout pages,
+ */
+ HANDOUT
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/DrawingDocument.idl b/offapi/com/sun/star/drawing/DrawingDocument.idl
new file mode 100644
index 000000000..e558605a1
--- /dev/null
+++ b/offapi/com/sun/star/drawing/DrawingDocument.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_drawing_DrawingDocument_idl__
+#define __com_sun_star_drawing_DrawingDocument_idl__
+
+#include <com/sun/star/drawing/GenericDrawingDocument.idl>
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** specifies a document which consists of multiple pages
+ with drawings.
+ */
+service DrawingDocument
+{
+ /** this base service describes the whole functionality of such DrawingDocument. */
+ service GenericDrawingDocument;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/DrawingDocumentDrawView.idl b/offapi/com/sun/star/drawing/DrawingDocumentDrawView.idl
new file mode 100644
index 000000000..5f771c095
--- /dev/null
+++ b/offapi/com/sun/star/drawing/DrawingDocumentDrawView.idl
@@ -0,0 +1,152 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_DrawingDocumentDrawView_idl__
+#define __com_sun_star_drawing_DrawingDocumentDrawView_idl__
+
+#include <com/sun/star/drawing/XDrawView.idl>
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+#include <com/sun/star/frame/Controller.idl>
+
+#include <com/sun/star/view/XSelectionSupplier.idl>
+
+#include <com/sun/star/drawing/XDrawPage.idl>
+#include <com/sun/star/awt/XWindow.idl>
+#include <com/sun/star/awt/Point.idl>
+
+module com { module sun { module star { module view {
+ published interface XFormLayerAccess;
+}; }; }; };
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** This component integrates a view to a DrawPages or
+ MasterPage from a DrawingDocument.
+ */
+published service DrawingDocumentDrawView
+{
+
+ /** this services offers the integration of this component into the
+ desktop.
+ */
+ service com::sun::star::frame::Controller;
+
+
+ /** lets you access the window for this view
+
+ @since OOo 1.1.2
+ */
+ [optional] interface com::sun::star::awt::XWindow;
+
+ /** let's you access the view part of the form layer contained in the document's view
+ */
+ [optional] interface com::sun::star::view::XFormLayerAccess;
+
+
+ /** lets you set/get the current page displayed by this
+ view.
+ */
+ interface com::sun::star::drawing::XDrawView;
+
+
+
+ /** lets you access the properties of this service.
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+
+
+ /** gives you access to the selected entities of this
+ view.
+ */
+ interface com::sun::star::view::XSelectionSupplier;
+
+
+ /** If the view is in master page mode, the view shows the master pages
+ of this model.
+ */
+ [property] boolean IsMasterPageMode;
+
+
+ /** If the view is in layer mode, the user can modify the layer of the
+ model of this view in the user interface.
+ */
+ [property] boolean IsLayerMode;
+
+
+
+ /** This is the drawing page that is currently visible.
+ */
+ [property] XDrawPage CurrentPage;
+
+
+ /** This is the area that is currently visible.
+ */
+ [readonly, property] com::sun::star::awt::Rectangle VisibleArea;
+
+
+ /** This property defines the zoom type for the document.
+ @see com::sun::star::view::DocumentZoomType
+
+ Note: After setting other types then
+ com::sun::star::view::DocumentZoomType::BY_VALUE,
+ implementations may calculate the required zoom value and set the type
+ to com::sun::star::view::DocumentZoomType::BY_VALUE
+ afterwards.
+
+ @since OOo 1.1.2
+ */
+ [optional, property] short ZoomType;
+
+
+ /** Defines the zoom value to use.
+ Valid only if the ZoomType is set to
+ com::sun::star::view::DocumentZoomType::BY_VALUE.
+
+ @since OOo 1.1.2
+ */
+ [optional, property] short ZoomValue;
+
+
+ /** defines the offset from the top left position of the displayed page
+ to the top left position of the view area in 100th/mm.
+
+ @since OOo 1.1.2
+ */
+ [optional, property] com::sun::star::awt::Point ViewOffset;
+
+ /** The sub controller takes over view specific handling of properties,
+ the selection, and the current page/slide.
+
+ The following line is commented because XDrawSubController is not
+ (yet) published and the IDL compiler does not allow that.
+
+ [optional, property] ::com::sun::star::drawing::XDrawSubController SubController;
+ */
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/DrawingDocumentFactory.idl b/offapi/com/sun/star/drawing/DrawingDocumentFactory.idl
new file mode 100644
index 000000000..abbd1a0a1
--- /dev/null
+++ b/offapi/com/sun/star/drawing/DrawingDocumentFactory.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_drawing_DrawingDocumentFactory_idl__
+#define __com_sun_star_drawing_DrawingDocumentFactory_idl__
+
+#include <com/sun/star/lang/XMultiServiceFactory.idl>
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** @deprecated Please use the factory interface of the service GenericDrawingDocument.
+ */
+published service DrawingDocumentFactory
+{
+ /** @deprecated */
+ interface com::sun::star::lang::XMultiServiceFactory;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/EllipseShape.idl b/offapi/com/sun/star/drawing/EllipseShape.idl
new file mode 100644
index 000000000..448094c55
--- /dev/null
+++ b/offapi/com/sun/star/drawing/EllipseShape.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_drawing_EllipseShape_idl__
+#define __com_sun_star_drawing_EllipseShape_idl__
+
+#include <com/sun/star/drawing/Shape.idl>
+
+#include <com/sun/star/drawing/LineProperties.idl>
+
+#include <com/sun/star/drawing/FillProperties.idl>
+
+#include <com/sun/star/drawing/Text.idl>
+
+#include <com/sun/star/drawing/ShadowProperties.idl>
+
+#include <com/sun/star/drawing/RotationDescriptor.idl>
+#include <com/sun/star/drawing/CircleKind.idl>
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** This service is for an ellipse or circle shape.
+ */
+published service EllipseShape
+{
+ service com::sun::star::drawing::Shape;
+
+ service com::sun::star::drawing::LineProperties;
+
+ service com::sun::star::drawing::FillProperties;
+
+ service com::sun::star::drawing::Text;
+
+ service com::sun::star::drawing::ShadowProperties;
+
+ service com::sun::star::drawing::RotationDescriptor;
+
+
+ /** This is the kind of circle.
+ */
+ [property] com::sun::star::drawing::CircleKind CircleKind;
+
+
+ /** If the kind specifies an open circle, this is the start angle.
+ */
+ [property] long CircleStartAngle;
+
+
+ /** If the kind specifies an open circle, this is the end angle.
+ */
+ [property] long CircleEndAngle;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/EnhancedCustomShapeAdjustmentValue.idl b/offapi/com/sun/star/drawing/EnhancedCustomShapeAdjustmentValue.idl
new file mode 100644
index 000000000..496329f17
--- /dev/null
+++ b/offapi/com/sun/star/drawing/EnhancedCustomShapeAdjustmentValue.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_drawing_EnhancedCustomShapeAdjustmentValue_idl__
+#define __com_sun_star_drawing_EnhancedCustomShapeAdjustmentValue_idl__
+
+#include <com/sun/star/beans/PropertyState.idl>
+
+
+module com { module sun { module star { module drawing {
+
+
+/** specifies a single AdjustmentValue
+ */
+struct EnhancedCustomShapeAdjustmentValue
+{
+ /** the any can be of type long or double
+ */
+ any Value;
+
+ ::com::sun::star::beans::PropertyState State;
+
+
+ /** optional name, used by pptx import/export for custom shape presets
+ */
+ string Name;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/EnhancedCustomShapeExtrusion.idl b/offapi/com/sun/star/drawing/EnhancedCustomShapeExtrusion.idl
new file mode 100644
index 000000000..4b589c4aa
--- /dev/null
+++ b/offapi/com/sun/star/drawing/EnhancedCustomShapeExtrusion.idl
@@ -0,0 +1,159 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_EnhancedCustomShapeExtrusion_idl__
+#define __com_sun_star_drawing_EnhancedCustomShapeExtrusion_idl__
+
+#include <com/sun/star/awt/Size.idl>
+#include <com/sun/star/awt/Point.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/drawing/Position3D.idl>
+#include <com/sun/star/drawing/Direction3D.idl>
+#include <com/sun/star/drawing/ProjectionMode.idl>
+#include <com/sun/star/drawing/ShadeMode.idl>
+#include <com/sun/star/drawing/EnhancedCustomShapeParameterPair.idl>
+
+
+module com { module sun { module star { module drawing {
+
+/**
+ This service may be represented by a ::com::sun::star::beans::PropertyValue [].
+*/
+
+service EnhancedCustomShapeExtrusion
+{
+ /** This property specifies if extrusion is displayed. The default for this property
+ is "false"
+ */
+ [optional, property] boolean Extrusion;
+
+ /** This attribute specifies the brightness of a scene in percent.
+ */
+ [optional, property] double Brightness;
+
+ /** The first value of EnhancedCustomShapeParameterPair specifies the depth of the
+ extrusion in 1/100 mm. The second value (0.0 to 1.0) specifies the fraction of
+ the extrusion that lies before the shape, a value of 0 is default.
+ */
+ [optional, property] ::com::sun::star::drawing::EnhancedCustomShapeParameterPair Depth;
+
+ /** This attribute specifies the amount of diffusion reflected by the shape
+ in percent
+ */
+ [optional, property] double Diffusion;
+
+ /** Specifies the number of line segments that should be used to display curved surfaces.
+ The higher the number the more line segments are used.
+ */
+ [optional, property] long NumberOfLineSegments;
+
+ /** Specifies if the front face of the extrusion responds to lightning changes.
+ */
+ [optional, property] boolean LightFace;
+
+ /** Specifies if the primary light is harsh.
+ */
+ [optional, property] boolean FirstLightHarsh;
+
+ /** Specifies if the secondary light is harsh.
+ */
+ [optional, property] boolean SecondLightHarsh;
+
+ /** Specifies the intensity for the first light in percent.
+ */
+ [optional, property] double FirstLightLevel;
+
+ /** Specifies the intensity for the second light in percent.
+ */
+ [optional, property] double SecondLightLevel;
+
+ /** Specifies the direction of the first light.
+ */
+ [optional, property] ::com::sun::star::drawing::Direction3D FirstLightDirection;
+
+ /** Specifies the direction of the second light.
+ */
+ [optional, property] ::com::sun::star::drawing::Direction3D SecondLightDirection;
+
+ /** Specifies if the surface of the extrusion object looks like metal.
+ */
+ [optional, property] boolean Metal;
+
+ /** Specifies in case of Metal=true the way the rendering of the shape is modified.
+ <p>Note: Currently not usable in ODF strict.</p>
+
+ @see EnhancedCustomShapeMetalType
+
+ @since LibreOffice 7.4
+ */
+ [optional, property] short MetalType;
+
+ /** This property defines the shade mode.
+ */
+ [optional, property] ::com::sun::star::drawing::ShadeMode ShadeMode;
+
+ /** This attributes specifies the rotation angle about the x-axis in degrees.
+ The order of rotation is: z-axis, y-axis and then x-axis. The z-axis is
+ specified by the draw:rotate-angle.
+ */
+ [optional, property] ::com::sun::star::drawing::EnhancedCustomShapeParameterPair RotateAngle;
+
+ /** This attribute specifies the position of the rotate center
+ in terms of shape size fractions, if the property is omitted, then
+ the geometrical center of the shape is used (this is the default).
+ */
+ [optional, property] ::com::sun::star::drawing::Direction3D RotationCenter;
+
+ /** The draw:extrusion-shininess specifies the shininess of a mirror in percent.
+ */
+ [optional, property] double Shininess;
+
+ /** The first value of the draw:extrusion-skew attribute specifies the skew amount of
+ an extrusion in percent. The second parameter specifies the skew-angle. Skew settings
+ are only applied if the attribute ProjectionMode is ProjectionMode_PARALLEL.
+ */
+ [optional, property] ::com::sun::star::drawing::EnhancedCustomShapeParameterPair Skew;
+
+ /** This attribute specifies the specularity of an extrusion object in percent.
+ */
+ [optional, property] double Specularity;
+
+ /** This property defines the projection mode.
+ */
+ [optional, property] com::sun::star::drawing::ProjectionMode ProjectionMode;
+
+ /** This attribute specifies the viewpoint of the observer.
+ */
+ [optional, property] ::com::sun::star::drawing::Position3D ViewPoint;
+
+ /** This attribute specifies the origin within the bounding box of the
+ shape in terms of the shape size fractions.
+ */
+ [optional, property] ::com::sun::star::drawing::EnhancedCustomShapeParameterPair Origin;
+
+ /** This attribute specifies if the "SecondFillColor" is used as extrusion color
+ */
+ [optional, property] boolean ExtrusionColor;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/EnhancedCustomShapeGeometry.idl b/offapi/com/sun/star/drawing/EnhancedCustomShapeGeometry.idl
new file mode 100644
index 000000000..d0339bf50
--- /dev/null
+++ b/offapi/com/sun/star/drawing/EnhancedCustomShapeGeometry.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_drawing_EnhancedCustomShapeGeometry_idl__
+#define __com_sun_star_drawing_EnhancedCustomShapeGeometry_idl__
+
+#include <com/sun/star/awt/Rectangle.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/beans/PropertyValues.idl>
+#include <com/sun/star/drawing/EnhancedCustomShapeHandle.idl>
+#include <com/sun/star/drawing/EnhancedCustomShapeAdjustmentValue.idl>
+
+
+module com { module sun { module star { module drawing {
+
+/**
+ This service may be represented by a ::com::sun::star::beans::PropertyValue [].
+*/
+
+service EnhancedCustomShapeGeometry
+{
+ /**
+ The Type attribute contains the name of a shape type. This name can be
+ used to offer specialized user interfaces for certain classes of shapes, like
+ for arrows, smileys, etc. The shape type is rendering engine dependent and does
+ not influence the geometry of the shape. If the value of the draw:type
+ attribute is non-primitive, then no shape type is available.
+ */
+ [property] string Type;
+
+ /** This property describes the user space of the shape in its canonical form
+ */
+ [optional, property] ::com::sun::star::awt::Rectangle ViewBox;
+
+ /** This property specifies if the orientation of the shape is horizontal mirrored.
+ */
+ [optional, property] boolean MirroredX;
+
+ /** This property specifies if the orientation of the shape is vertical mirrored.
+ */
+ [optional, property] boolean MirroredY;
+
+ /** This property specifies the text rotation angle in degrees. The text rotation is added
+ to the shape geometry rotation.
+ */
+ [optional, property] double TextRotateAngle;
+
+ /** This property specifies a sequence of Adjustment values.
+ */
+ [optional, property] sequence<::com::sun::star::drawing::EnhancedCustomShapeAdjustmentValue> AdjustmentValues;
+
+ /** This property sequence is including the extrusion description, the properties
+ are as same as specified in the service com::sun::star:drawing::EnhancedCustomShapeExtrusion
+ */
+ [optional, property] sequence<::com::sun::star::beans::PropertyValue> Extrusion;
+
+ /** This property sequence is including the path description, the properties
+ are as same as specified in the service com::sun::star:drawing::EnhancedCustomShapePath
+ */
+ [optional, property] sequence<::com::sun::star::beans::PropertyValue> Path;
+
+ /** This property sequence is including the text path description, the properties
+ are as same as specified in the service com::sun::star:drawing::EnhancedCustomShapeTextPath
+ */
+ [optional, property] sequence<::com::sun::star::beans::PropertyValue> TextPath;
+
+ /** This property is describing the equations that are used, each equation can be referenced
+ by com::sun::star::drawing::EnhancedCustomShapeParameter which are often used in Path, Extrusion
+ and or Handle descriptions.
+ */
+ [optional, property] sequence<string> Equations;
+
+ /** This property is describing the interaction handles that are used, each inner property sequence
+ is having the same properties as they are specified in the service com::sun::star:drawing::EnhancedCustomShapeHandle
+ */
+ [optional, property] sequence<::com::sun::star::beans::PropertyValues> Handles;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/EnhancedCustomShapeGluePointType.idl b/offapi/com/sun/star/drawing/EnhancedCustomShapeGluePointType.idl
new file mode 100644
index 000000000..0d6acb66f
--- /dev/null
+++ b/offapi/com/sun/star/drawing/EnhancedCustomShapeGluePointType.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_drawing_EnhancedCustomShapeGluePointType_idl__
+#define __com_sun_star_drawing_EnhancedCustomShapeGluePointType_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** defines which gluepoints are being offered by the EnhancedCustomShape
+ */
+constants EnhancedCustomShapeGluePointType
+{
+ /** no gluepoints are offered
+ */
+ const short NONE = 0;
+
+ /** gluepoints are offered for each segment
+ */
+ const short SEGMENTS = 1;
+
+ /** only gluepoints of the GluePoints property from the
+ com::sun:star::drawing::EnhancedCustomShapePath are offered
+ */
+ const short CUSTOM = 2;
+
+ /** standard top, left, right, bottom gluepoints are offered
+ */
+ const short RECT = 3;
+ };
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/EnhancedCustomShapeHandle.idl b/offapi/com/sun/star/drawing/EnhancedCustomShapeHandle.idl
new file mode 100644
index 000000000..53038f14b
--- /dev/null
+++ b/offapi/com/sun/star/drawing/EnhancedCustomShapeHandle.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_drawing_EnhancedCustomShapeHandle_idl__
+#define __com_sun_star_drawing_EnhancedCustomShapeHandle_idl__
+
+#include <com/sun/star/drawing/EnhancedCustomShapeParameterPair.idl>
+
+
+module com { module sun { module star { module drawing {
+
+
+/**
+ This service may be represented by a ::com::sun::star::beans::PropertyValue [].
+*/
+
+service EnhancedCustomShapeHandle
+{
+ /** Specifies if the x position of the handle is mirrored.
+ */
+ [optional, property] boolean MirroredX;
+
+ /** Specifies if the y position of the handle is mirrored.
+ */
+ [optional, property] boolean MirroredY;
+
+ /** Specifies if the handle directions are swapped if the shape is taller than wide.
+ */
+ [optional, property] boolean Switched;
+
+ /** If the property Polar is set, then the first value specifies the radius and the second
+ parameter the angle of the handle. Otherwise, if the handle is not polar, the first parameter
+ specifies the horizontal handle position, the vertical handle position is described by the
+ second parameter.
+ */
+ [optional, property] com::sun::star::drawing::EnhancedCustomShapeParameterPair Position;
+
+ /** If this attribute is set, the handle is a polar handle. The property specifies the center
+ position of the handle. If this attribute is set, the attributes RangeX and RangeY are ignored,
+ instead the attribute RadiusRange is used.
+ */
+ [optional, property] ::com::sun::star::drawing::EnhancedCustomShapeParameterPair Polar;
+
+ /** RefX, if this attribute is set, it specifies the index of the adjustment
+ value which is connected to the horizontal position of the handle
+ */
+ [optional, property] long RefX;
+
+ /** RefY, if this attribute is set, it specifies the index of the adjustment
+ value which is connected to the vertical position of the handle
+ */
+ [optional, property] long RefY;
+
+ /** RefAngle, if this attribute is set, it specifies the index of the adjustment
+ value which is connected to the angle of the handle
+ */
+ [optional, property] long RefAngle;
+
+ /** RefR, if this attribute is set, it specifies the index of the adjustment
+ value which is connected to the radius of the handle
+ */
+ [optional, property] long RefR;
+
+ /** If the attribute RangeXMinimum is set, it specifies the horizontal minimum range of the handle.
+ */
+ [optional, property] ::com::sun::star::drawing::EnhancedCustomShapeParameter RangeXMinimum;
+
+ /** If the attribute RangeXMaximum is set, it specifies the horizontal maximum range of the handle.
+ */
+ [optional, property] ::com::sun::star::drawing::EnhancedCustomShapeParameter RangeXMaximum;
+
+ /** If the attribute RangeYMinimum is set, it specifies the vertical minimum range of the handle.
+ */
+ [optional, property] ::com::sun::star::drawing::EnhancedCustomShapeParameter RangeYMinimum;
+
+ /** If the attribute RangeYMaximum is set, it specifies the vertical maximum range of the handle.
+ */
+ [optional, property] ::com::sun::star::drawing::EnhancedCustomShapeParameter RangeYMaximum;
+
+ /** If this attribute is set, it specifies the minimum radius range that can be used for a polar handle.
+ */
+ [optional, property] ::com::sun::star::drawing::EnhancedCustomShapeParameter RadiusRangeMinimum;
+
+ /** If this attribute is set, it specifies the maximum radius range that can be used for a polar handle.
+ */
+ [optional, property] ::com::sun::star::drawing::EnhancedCustomShapeParameter RadiusRangeMaximum;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/EnhancedCustomShapeMetalType.idl b/offapi/com/sun/star/drawing/EnhancedCustomShapeMetalType.idl
new file mode 100644
index 000000000..aea502ccd
--- /dev/null
+++ b/offapi/com/sun/star/drawing/EnhancedCustomShapeMetalType.idl
@@ -0,0 +1,36 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.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_drawing_EnhancedCustomShapeMetalType_idl__
+#define __com_sun_star_drawing_EnhancedCustomShapeMetalType_idl__
+
+
+ module com { module sun { module star { module drawing {
+
+/** These constants define the way the attribute Metal of service
+ EnhancedCustomShapeExtrusion is interpreted for rendering the shape.
+ @since LibreOffice 7.4
+ */
+constants EnhancedCustomShapeMetalType
+{
+ /** The rendering of the shape is modified as specified in the ODF standard.
+ */
+ const short MetalODF = 0;
+
+ /** The rendering of the shape is modified to get a similar rendering as in Microsoft Office for objects, which have the fc3DMetallic flag in Rich Text Format or binary MS Office format set.
+ */
+ const short MetalMSCompatible = 1;
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */ \ No newline at end of file
diff --git a/offapi/com/sun/star/drawing/EnhancedCustomShapeParameter.idl b/offapi/com/sun/star/drawing/EnhancedCustomShapeParameter.idl
new file mode 100644
index 000000000..cd5467caf
--- /dev/null
+++ b/offapi/com/sun/star/drawing/EnhancedCustomShapeParameter.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_drawing_EnhancedCustomShapeParameter_idl__
+#define __com_sun_star_drawing_EnhancedCustomShapeParameter_idl__
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** specifies a single value which is used with EnhancedCustomShapes
+ */
+struct EnhancedCustomShapeParameter
+{
+ /** the any can be of type long or double
+ */
+ any Value;
+
+ short Type;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/EnhancedCustomShapeParameterPair.idl b/offapi/com/sun/star/drawing/EnhancedCustomShapeParameterPair.idl
new file mode 100644
index 000000000..3e32ca589
--- /dev/null
+++ b/offapi/com/sun/star/drawing/EnhancedCustomShapeParameterPair.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_EnhancedCustomShapeParameterPair_idl__
+#define __com_sun_star_drawing_EnhancedCustomShapeParameterPair_idl__
+
+#include <com/sun/star/drawing/EnhancedCustomShapeParameter.idl>
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** specifies the coordinates used with EnhancedCustomShapes
+ */
+struct EnhancedCustomShapeParameterPair
+{
+ ::com::sun::star::drawing::EnhancedCustomShapeParameter First;
+
+
+ ::com::sun::star::drawing::EnhancedCustomShapeParameter Second;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/EnhancedCustomShapeParameterType.idl b/offapi/com/sun/star/drawing/EnhancedCustomShapeParameterType.idl
new file mode 100644
index 000000000..a6502f5fc
--- /dev/null
+++ b/offapi/com/sun/star/drawing/EnhancedCustomShapeParameterType.idl
@@ -0,0 +1,97 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_EnhancedCustomShapeParameterType_idl__
+#define __com_sun_star_drawing_EnhancedCustomShapeParameterType_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** defines how an EnhancedCustomShapeParameter has to be interpreted
+ */
+constants EnhancedCustomShapeParameterType
+{
+ /** the value of the point component is normal, the Coordinate is taken as it is
+ */
+ const short NORMAL = 0;
+
+ /** the value of the point component has to be interpreted as index to an Equation
+ */
+ const short EQUATION = 1;
+
+ /** the value of the point component has to be interpreted as index into the list of AdjustmentValues
+ */
+ const short ADJUSTMENT = 2;
+
+ /** the logical left border of the CustomShape is used
+ */
+ const short LEFT = 3;
+
+ /** the logical top border of the CustomShape is used
+ */
+ const short TOP = 4;
+
+ /** the logical right border of the CustomShape is used
+ */
+ const short RIGHT = 5;
+
+ /** the logical bottom border of the CustomShape is used
+ */
+ const short BOTTOM = 6;
+
+ /** the x value of the stretch point is used
+ */
+ const short XSTRETCH = 7;
+
+ /** the y value of the stretch point is used
+ */
+ const short YSTRETCH = 8;
+
+ /** If the shape has a line style, a value of 1 is used.
+ */
+ const short HASSTROKE = 9;
+
+ /** If the shape has a fill style, a value of 1 is used.
+ */
+ const short HASFILL = 10;
+
+ /** The width of the svg:viewBox is used.
+ */
+ const short WIDTH = 11;
+
+ /** The height of the svg:viewBox is used.
+ */
+ const short HEIGHT = 12;
+
+ /** The logical width of the shape is used.
+ */
+ const short LOGWIDTH = 13;
+
+ /** The logical height of the shape is used.
+ */
+ const short LOGHEIGHT = 14;
+};
+
+
+ }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/EnhancedCustomShapePath.idl b/offapi/com/sun/star/drawing/EnhancedCustomShapePath.idl
new file mode 100644
index 000000000..568365646
--- /dev/null
+++ b/offapi/com/sun/star/drawing/EnhancedCustomShapePath.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_drawing_EnhancedCustomShapePath_idl__
+#define __com_sun_star_drawing_EnhancedCustomShapePath_idl__
+
+#include <com/sun/star/awt/Size.idl>
+#include <com/sun/star/awt/Point.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/drawing/EnhancedCustomShapeParameterPair.idl>
+#include <com/sun/star/drawing/EnhancedCustomShapeSegment.idl>
+#include <com/sun/star/drawing/EnhancedCustomShapeTextFrame.idl>
+
+
+module com { module sun { module star { module drawing {
+
+/**
+ This service may be represented by a ::com::sun::star::beans::PropertyValue [].
+*/
+
+service EnhancedCustomShapePath
+{
+ /** This property is specifying the points that makes the geometry of the shape
+ */
+ [optional, property] sequence<::com::sun::star::drawing::EnhancedCustomShapeParameterPair> Coordinates;
+
+ /** This property specifies the commands and the way the Coordinates have to be interpreted.
+ */
+ [optional, property] sequence<::com::sun::star::drawing::EnhancedCustomShapeSegment> Segments;
+
+ /** This property specifies the horizontal StretchPoint that has to be used. No stretching is used if
+ this property is omitted.
+ */
+ [optional, property] long StretchX;
+
+ /** This property specifies the vertical StretchPoint that has to be used. No stretching is used if
+ this property is omitted.
+ */
+ [optional, property] long StretchY;
+
+ /** This property specifies the text frames that can be used with the shape. In general
+ the first text frame is used, except the shape is containing vertical text, then the object
+ tries to use the second text frame. The default text frame will be as big as the shape.
+ */
+ [optional, property] sequence<::com::sun::star::drawing::EnhancedCustomShapeTextFrame> TextFrames;
+
+ /** This property specifies custom gluepoints
+ */
+ [optional, property] sequence<::com::sun::star::drawing::EnhancedCustomShapeParameterPair> GluePoints;
+
+ /** This property specifies GluePoint leaving directions.
+ */
+ [optional, property] sequence< double > GluePointLeavingDirections;
+
+ /** This property defines the GluePoint type. The values that can be used are
+ specified in com::sun::star::drawing::EnhancedCustomShapeGluePointType
+ */
+ [optional, property] short GluePointType;
+
+ /** This property specifies if this shape supports the EnhancedCustomShapeExtrusion
+ properties. The default is true.
+ */
+ [optional, property] boolean ExtrusionAllowed;
+
+ /** This property specifies if this shape supports concentric gradient fill. The default
+ is false.
+ */
+ [optional, property] boolean ConcentricGradientFillAllowed;
+
+ /** This property specifies if this shape supports concentric gradient fill. The
+ default is false;
+ */
+ [optional, property] boolean TextPathAllowed;
+
+ /** This property specifies view size per sub path
+ */
+ [optional, property] sequence< ::com::sun::star::awt::Size > SubViewSize;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/EnhancedCustomShapeSegment.idl b/offapi/com/sun/star/drawing/EnhancedCustomShapeSegment.idl
new file mode 100644
index 000000000..50ff91398
--- /dev/null
+++ b/offapi/com/sun/star/drawing/EnhancedCustomShapeSegment.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_drawing_EnhancedCustomShapeSegment_idl__
+#define __com_sun_star_drawing_EnhancedCustomShapeSegment_idl__
+
+#include <com/sun/star/drawing/EnhancedCustomShapeSegmentCommand.idl>
+
+
+ module com { module sun { module star { module drawing {
+
+
+struct EnhancedCustomShapeSegment
+{
+ short Command;
+
+ short Count;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/EnhancedCustomShapeSegmentCommand.idl b/offapi/com/sun/star/drawing/EnhancedCustomShapeSegmentCommand.idl
new file mode 100644
index 000000000..8411dfba1
--- /dev/null
+++ b/offapi/com/sun/star/drawing/EnhancedCustomShapeSegmentCommand.idl
@@ -0,0 +1,91 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_EnhancedCustomShapeSegmentCommand_idl__
+#define __com_sun_star_drawing_EnhancedCustomShapeSegmentCommand_idl__
+
+
+
+module com { module sun { module star { module drawing {
+
+
+constants EnhancedCustomShapeSegmentCommand
+{
+ const short UNKNOWN = 0;
+
+ const short MOVETO = 1;
+
+ const short LINETO = 2;
+
+ const short CURVETO = 3;
+
+ const short CLOSESUBPATH = 4;
+
+ const short ENDSUBPATH = 5;
+
+ const short NOFILL = 6;
+
+ const short NOSTROKE = 7;
+
+ const short ANGLEELLIPSETO = 8;
+
+ const short ANGLEELLIPSE = 9;
+
+ const short ARCTO = 10;
+
+ const short ARC = 11;
+
+ const short CLOCKWISEARCTO = 12;
+
+ const short CLOCKWISEARC = 13;
+
+ const short ELLIPTICALQUADRANTX = 14;
+
+ const short ELLIPTICALQUADRANTY = 15;
+
+ const short QUADRATICCURVETO = 16;
+
+ const short ARCANGLETO = 17;
+
+ /**
+ darken fill color
+ */
+ const short DARKEN = 18;
+
+ /**
+ darken fill color less
+ */
+ const short DARKENLESS = 19;
+
+ /**
+ lighten fill color
+ */
+ const short LIGHTEN = 20;
+
+ /**
+ lighten fill color less
+ */
+ const short LIGHTENLESS = 21;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/EnhancedCustomShapeTextFrame.idl b/offapi/com/sun/star/drawing/EnhancedCustomShapeTextFrame.idl
new file mode 100644
index 000000000..4bb11e030
--- /dev/null
+++ b/offapi/com/sun/star/drawing/EnhancedCustomShapeTextFrame.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_EnhancedCustomShapeTextFrame_idl__
+#define __com_sun_star_drawing_EnhancedCustomShapeTextFrame_idl__
+
+#include <com/sun/star/drawing/EnhancedCustomShapeParameterPair.idl>
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** specifies the coordinates used with EnhancedCustomShapes
+ */
+struct EnhancedCustomShapeTextFrame
+{
+ ::com::sun::star::drawing::EnhancedCustomShapeParameterPair TopLeft;
+
+
+ ::com::sun::star::drawing::EnhancedCustomShapeParameterPair BottomRight;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/EnhancedCustomShapeTextPath.idl b/offapi/com/sun/star/drawing/EnhancedCustomShapeTextPath.idl
new file mode 100644
index 000000000..53d9af4ed
--- /dev/null
+++ b/offapi/com/sun/star/drawing/EnhancedCustomShapeTextPath.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_drawing_EnhancedCustomShapeTextPath_idl__
+#define __com_sun_star_drawing_EnhancedCustomShapeTextPath_idl__
+
+#include <com/sun/star/drawing/EnhancedCustomShapeTextPathMode.idl>
+
+
+module com { module sun { module star { module drawing {
+
+/**
+ This service may be represented by a ::com::sun::star::beans::PropertyValue [].
+*/
+
+service EnhancedCustomShapeTextPath
+{
+ /** This property specifies if a text path is used. The default is false.
+ */
+ [optional, property] boolean TextPath;
+
+ /** This property specifies how the text is drawn.
+ */
+ [optional, property] ::com::sun::star::drawing::EnhancedCustomShapeTextPathMode TextPathMode;
+
+ /** This property specifies if the text is scaled using the shape path.
+ */
+ [optional, property] boolean ScaleX;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/EnhancedCustomShapeTextPathMode.idl b/offapi/com/sun/star/drawing/EnhancedCustomShapeTextPathMode.idl
new file mode 100644
index 000000000..c33c3cb06
--- /dev/null
+++ b/offapi/com/sun/star/drawing/EnhancedCustomShapeTextPathMode.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_drawing_EnhancedCustomShapeTextPathMode_idl__
+#define __com_sun_star_drawing_EnhancedCustomShapeTextPathMode_idl__
+
+
+
+module com { module sun { module star { module drawing {
+
+
+enum EnhancedCustomShapeTextPathMode
+{
+ /** the text is drawn along the path without scaling.
+ */
+ NORMAL,
+
+ /** the text is fit to the path.
+ */
+ PATH,
+
+ /** the text is fit to the bounding box of the shape.
+ */
+ SHAPE
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/EscapeDirection.idl b/offapi/com/sun/star/drawing/EscapeDirection.idl
new file mode 100644
index 000000000..63c948eaa
--- /dev/null
+++ b/offapi/com/sun/star/drawing/EscapeDirection.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_drawing_EscapeDirection_idl__
+#define __com_sun_star_drawing_EscapeDirection_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** This enumeration defines the escape direction a connector takes on
+ a gluepoint.
+ */
+published enum EscapeDirection
+{
+ SMART,
+ LEFT,
+ RIGHT,
+ UP,
+ DOWN,
+ HORIZONTAL,
+ VERTICAL
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/FillProperties.idl b/offapi/com/sun/star/drawing/FillProperties.idl
new file mode 100644
index 000000000..89335baa3
--- /dev/null
+++ b/offapi/com/sun/star/drawing/FillProperties.idl
@@ -0,0 +1,244 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_FillProperties_idl__
+#define __com_sun_star_drawing_FillProperties_idl__
+
+#include <com/sun/star/drawing/FillStyle.idl>
+#include <com/sun/star/util/Color.idl>
+#include <com/sun/star/awt/Gradient.idl>
+#include <com/sun/star/drawing/Hatch.idl>
+#include <com/sun/star/drawing/BitmapMode.idl>
+#include <com/sun/star/awt/XBitmap.idl>
+#include <com/sun/star/drawing/RectanglePoint.idl>
+#include <com/sun/star/text/GraphicCrop.idl>
+
+
+module com { module sun { module star { module drawing {
+
+
+/** This is a set of properties to describe the style for rendering an area.
+ */
+published service FillProperties
+{
+ /** This enumeration selects the style the area will be filled with.
+ */
+ [property] FillStyle FillStyle;
+
+ /** If the property #FillStyle is set to
+ FillStyle::SOLID, this is the color used.
+ */
+ [property] com::sun::star::util::Color FillColor;
+
+ /** This is the transparence of the filled area.
+
+ <p>This property is only valid if the property #FillStyle
+ is set to FillStyle::SOLID.
+ */
+ [property] short FillTransparence;
+
+ /** If a gradient is used for transparency, this is the name of the
+ used transparence gradient style or it is empty. If you set the name
+ of a transparence gradient style contained in the document, this
+ style used.
+ */
+ [property] string FillTransparenceGradientName;
+
+
+ /** This describes the transparency of the fill area as a gradient.
+ */
+ [optional, property] com::sun::star::awt::Gradient FillTransparenceGradient;
+
+ /** If the property #FillStyle is set to
+ FillStyle::GRADIENT, this is the name of the used fill
+ gradient style.
+ */
+ [property] string FillGradientName;
+
+ /** If the property #FillStyle is set to
+ FillStyle::GRADIENT, this describes the gradient used.
+ */
+ [optional, property] com::sun::star::awt::Gradient FillGradient;
+
+ /** If the property #FillStyle is set to
+ FillStyle::HATCH, this is the name of the used fill hatch
+ style.
+ */
+ [property] string FillHatchName;
+
+ /** If the property #FillStyle is set to
+ FillStyle::HATCH, this describes the hatch used.
+ */
+ [optional, property] Hatch FillHatch;
+
+ /** if this is `TRUE`, the transparent background of a
+ hatch filled area is drawn in the current background color.
+ */
+ [property] boolean FillBackground;
+
+ /** If the property #FillStyle is set to
+ FillStyle::BITMAP, this is the name of the used fill bitmap
+ style.
+ */
+ [property] string FillBitmapName;
+
+ /** If the property #FillStyle is set to
+ FillStyle::BITMAP, this is the bitmap used.
+ */
+ [optional, property] com::sun::star::awt::XBitmap FillBitmap;
+
+ /** If the property #FillStyle is set to
+ FillStyle::BITMAP, this is a URL to the bitmap used.
+
+ @deprecated as of LibreOffice 6.1, use FillBitmap
+
+ Note the new behaviour since it this was deprecated:
+ This property can only be set and only external URLs are
+ supported (no more vnd.sun.star.GraphicObject scheme). When a
+ URL is set, then it will load the bitmap and set the FillBitmap
+ property.
+ */
+ [optional, property] string FillBitmapURL;
+
+ /** This is the horizontal offset where the tile starts.
+
+ <p>It is given in percent in relation to the width of the bitmap.</p>
+ */
+ [property] short FillBitmapPositionOffsetX;
+
+ /** This is the vertical offset where the tile starts.
+
+ <p>It is given in percent in relation to the height of the bitmap.</p>
+ */
+ [property] short FillBitmapPositionOffsetY;
+
+ /** Every second line of tiles is moved the given percent of the
+ width of the bitmap.
+ */
+ [property] short FillBitmapOffsetX;
+
+ /** Every second row of tiles is moved the given percent of the
+ height of the bitmap.
+ */
+ [property] short FillBitmapOffsetY;
+
+ /** The RectanglePoint specifies the position inside of the bitmap to
+ use as the top left position for rendering.
+ */
+ [property] RectanglePoint FillBitmapRectanglePoint;
+
+ /** specifies if the size is given in percentage or as an absolute value.
+
+ <p>If this is `TRUE`, the properties #FillBitmapSizeX
+ and #FillBitmapSizeY contain the size of the tile in
+ percent of the size of the original bitmap. If this is `FALSE`, the
+ size of the tile is specified with 1/100th mm.
+ */
+ [property] boolean FillBitmapLogicalSize;
+
+ /** This is the width of the tile for filling.
+
+ <p>Depending on the property #FillBitmapLogicalSize,
+ this is either relative or absolute.
+ */
+ [property] long FillBitmapSizeX;
+
+ /** This is the height of the tile for filling.
+
+ <p>Depending on the property #FillBitmapLogicalSize,
+ this is either relative or absolute.
+ */
+ [property] long FillBitmapSizeY;
+
+ /** this enum selects how an area is filled with a single bitmap.
+
+ <p>This property corresponds to the properties
+ #FillBitmapStretch and #FillBitmapTile.</p>
+
+ <p>If set to BitmapMode::REPEAT, the property
+ FillBitmapStretch is set to `FALSE`, and the property FillBitmapTile
+ is set to `TRUE`.</p>
+
+ <p>If set to BitmapMode::STRETCH, the property
+ FillBitmapStretch is set to `TRUE`, and the property FillBitmapTile
+ is set to `FALSE`.</p>
+
+ <p>If set to BitmapMode::NO_REPEAT, both properties
+ FillBitmapStretch and FillBitmapTile are set to `FALSE`.</p>
+ */
+ [property] BitmapMode FillBitmapMode;
+
+ /** if set, the fill bitmap is stretched to fill the area of the shape.
+
+ <p>This property should not be used anymore and is included here for
+ completeness. The #FillBitmapMode property can be used
+ instead to set all supported bitmap modes.</p>
+
+ <p>If set to `TRUE`, the value of the FillBitmapMode property changes
+ to BitmapMode::STRETCH. BUT: behavior is undefined, if
+ the property #FillBitmapTile is `TRUE` too.</p>
+
+ <p>If set to `FALSE`, the value of the FillBitmapMode property
+ changes to BitmapMode::REPEAT or BitmapMode::NO_REPEAT,
+ depending on the current value of the
+ #FillBitmapTile property.</p>
+ */
+ [optional, property] boolean FillBitmapStretch;
+
+ /** if set, the fill bitmap is repeated to fill the area of the shape.
+
+ <p>This property should not be used anymore and is included here for
+ completeness. The #FillBitmapMode property can be used
+ instead to set all supported bitmap modes.</p>
+
+ <p>If set to `TRUE`, the value of the FillBitmapMode property changes
+ to BitmapMode::REPEAT. BUT: behavior is undefined, if
+ the property #FillBitmapStretch is `TRUE` too.</p>
+
+ <p>If set to `FALSE`, the value of the FillBitmapMode property
+ changes to BitmapMode::STRETCH or BitmapMode::NO_REPEAT,
+ depending on the current value of the
+ #FillBitmapStretch property.</p>
+ */
+ [optional, property] boolean FillBitmapTile;
+
+ /** contains the cropping of the object.
+
+ If the property #FillBitmapMode is set to BitmapMode::STRETCH,
+ this is the cropping, otherwise it is empty.
+
+ @see com::sun::star::text::GraphicCrop
+ @since LibreOffice 4.3
+ */
+ [optional, property] com::sun::star::text::GraphicCrop GraphicCrop;
+
+ /** If this is `TRUE`, and FillStyle is FillStyle::NONE:
+ The area displays the slide background
+
+ @since LibreOffice 7.4
+ */
+ [optional, property] boolean FillUseSlideBackground;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/FillStyle.idl b/offapi/com/sun/star/drawing/FillStyle.idl
new file mode 100644
index 000000000..54fad6747
--- /dev/null
+++ b/offapi/com/sun/star/drawing/FillStyle.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_drawing_FillStyle_idl__
+#define __com_sun_star_drawing_FillStyle_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** specifies how an area will be filled.
+ */
+published enum FillStyle
+{
+ /** the area is not filled.
+ */
+ NONE,
+ /** use a solid color to fill the area.
+ */
+ SOLID,
+ /** use a gradient color to fill the area.
+ */
+ GRADIENT,
+ /** use a hatch to fill the area.
+ */
+ HATCH,
+ /** use a bitmap to fill the area.
+ */
+ BITMAP
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/FlagSequence.idl b/offapi/com/sun/star/drawing/FlagSequence.idl
new file mode 100644
index 000000000..17e80d34e
--- /dev/null
+++ b/offapi/com/sun/star/drawing/FlagSequence.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_FlagSequence_idl__
+#define __com_sun_star_drawing_FlagSequence_idl__
+
+#include <com/sun/star/drawing/PolygonFlags.idl>
+
+
+module com { module sun { module star { module drawing {
+
+published typedef sequence<PolygonFlags> FlagSequence;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/FlagSequenceSequence.idl b/offapi/com/sun/star/drawing/FlagSequenceSequence.idl
new file mode 100644
index 000000000..9575d0672
--- /dev/null
+++ b/offapi/com/sun/star/drawing/FlagSequenceSequence.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_FlagSequenceSequence_idl__
+#define __com_sun_star_drawing_FlagSequenceSequence_idl__
+
+#include <com/sun/star/drawing/FlagSequence.idl>
+
+
+module com { module sun { module star { module drawing {
+
+published typedef sequence<FlagSequence> FlagSequenceSequence;
+
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/GenericDrawPage.idl b/offapi/com/sun/star/drawing/GenericDrawPage.idl
new file mode 100644
index 000000000..05073deb3
--- /dev/null
+++ b/offapi/com/sun/star/drawing/GenericDrawPage.idl
@@ -0,0 +1,166 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_GenericDrawPage_idl__
+#define __com_sun_star_drawing_GenericDrawPage_idl__
+
+#include <com/sun/star/drawing/XShapes.idl>
+
+#include <com/sun/star/drawing/XShapeGrouper.idl>
+
+#include <com/sun/star/drawing/XShapeCombiner.idl>
+
+#include <com/sun/star/drawing/XShapeBinder.idl>
+
+#include <com/sun/star/container/XNamed.idl>
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+#include <com/sun/star/view/PaperOrientation.idl>
+
+#include <com/sun/star/container/XNameContainer.idl>
+
+
+ module com { module sun { module star { module drawing {
+
+/** This abstract service is implemented by every page of a
+ DrawingDocument.
+
+ Example to create and insert a couple of 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
+ */
+published service GenericDrawPage
+{
+
+ /** manages the Shapes of this page.
+
+ <p>It also lets you add new Shapes. The program currently
+ requires that these Shapes be created by the factory of
+ the document.
+
+ @see DrawingDocument
+ */
+ interface com::sun::star::drawing::XShapes;
+
+ /** With this interface you can group/ungroup a collection of
+ Shapes.
+ */
+ interface com::sun::star::drawing::XShapeGrouper;
+
+ /** With this interface you can combine/split a collection of
+ Shapes.
+ */
+ [optional] interface com::sun::star::drawing::XShapeCombiner;
+
+ /** With this interface you can bind/unbind a collection of
+ Shapes.
+ */
+ [optional] interface com::sun::star::drawing::XShapeBinder;
+
+ /** Gets or sets the name of this page.
+
+ <p>Duplicated page names inside a document are not allowed.
+ */
+ [optional] interface com::sun::star::container::XNamed;
+
+ /** gives you access to the properties of this
+ DrawPage.
+ */
+ [optional] interface com::sun::star::beans::XPropertySet;
+
+ /** This is the border at the bottom.
+ */
+ [optional, property] long BorderBottom;
+
+ /** This is the border at the left.
+ */
+ [optional, property] long BorderLeft;
+
+ /** This is the border at the right.
+ */
+ [optional, property] long BorderRight;
+
+ /** This is the border at the top.
+ */
+ [optional, property] long BorderTop;
+
+ /** This is the height.
+ */
+ [optional, property] long Height;
+
+ /** This is the width.
+ */
+ [optional, property] long Width;
+
+ /** This is the number of this page, starting with 1.
+ */
+ [optional, readonly, property] short Number;
+
+ /** This is the orientation of this page.
+ */
+ [optional, property] com::sun::star::view::PaperOrientation Orientation;
+
+
+ /** this property stores xml attributes.
+ They will be saved to and restored from automatic styles inside xml files.
+
+ @see com::sun::star::xml::AttributeContainer
+ */
+ [optional, property] com::sun::star::container::XNameContainer UserDefinedAttributes;
+
+
+ /** this property is true if the averaged background filling colors luminance
+ is below an application specified threshold value. This can be used to
+ determine the actual value of an auto color.
+ */
+ [readonly, optional, property] boolean IsBackgroundDark;
+
+
+ /** this index access defines a navigation order for the top level shapes
+ inside this page.
+ By default this is equal to the index access of the slide itself,
+ making the z-order the default navigation order for top level shapes.
+ */
+ [optional, property] com::sun::star::container::XIndexAccess NavigationOrder;
+
+ /** does the background cover the full page or only inside the
+ margins?
+
+ @since LibreOffice 7.2
+ */
+ [optional, property] boolean BackgroundFullSize;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/GenericDrawingDocument.idl b/offapi/com/sun/star/drawing/GenericDrawingDocument.idl
new file mode 100644
index 000000000..621a1c360
--- /dev/null
+++ b/offapi/com/sun/star/drawing/GenericDrawingDocument.idl
@@ -0,0 +1,194 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_GenericDrawingDocument_idl__
+#define __com_sun_star_drawing_GenericDrawingDocument_idl__
+
+#include <com/sun/star/drawing/XDrawPageDuplicator.idl>
+#include <com/sun/star/drawing/XDrawPagesSupplier.idl>
+#include <com/sun/star/drawing/XMasterPagesSupplier.idl>
+#include <com/sun/star/drawing/XLayerSupplier.idl>
+#include <com/sun/star/lang/XMultiServiceFactory.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/style/XStyleFamiliesSupplier.idl>
+#include <com/sun/star/lang/Locale.idl>
+#include <com/sun/star/awt/Rectangle.idl>
+#include <com/sun/star/i18n/XForbiddenCharacters.idl>
+#include <com/sun/star/document/OfficeDocument.idl>
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** specifies a document which consists of multiple pages
+ with drawings.
+
+ <p>Because its function is needed more than once, it's defined as generic one.</p>
+ */
+service GenericDrawingDocument
+{
+ /** this base service describes storing and printing */
+ service com::sun::star::document::OfficeDocument;
+
+ /** this factory lets you create various services that are
+ used inside a drawing document
+
+ <p>The following services are Shapes.
+ They are created by the documents factory and must
+ be inserted into a DrawPage or MasterPage
+ of this document.
+
+ <ul>
+ <li>RectangleShape</li>
+ <li>EllipseShape</li>
+ <li>ControlShape</li>
+ <li>ConnectorShape</li>
+ <li>MeasureShape</li>
+ <li>LineShape</li>
+ <li>PolyPolygonShape</li>
+ <li>PolyLineShape</li>
+ <li>OpenBezierShape</li>
+ <li>ClosedBezierShape</li>
+ <li>GraphicObjectShape</li>
+ <li>GroupShape</li>
+ <li>TextShape</li>
+ <li>OLE2Shape</li>
+ <li>PageShape</li>
+ <li>CaptionShape</li>
+ <li>PluginShape</li>
+ <li>AppletShape</li>
+ </ul>
+
+ <p>The following services are all com::sun::star::text::TextField
+ and can be inserted into text as com::sun::star::text::TextContent.
+
+ <ul>
+ <li>com::sun::star::text::TextField::DateTime</li>
+ <li>com::sun::star::text::TextField::URL</li>
+ <li>com::sun::star::text::TextField::PageNumber</li>
+ <li>com::sun::star::text::TextField::PageCount</li>
+ <li>com::sun::star::text::TextField::SheetName</li>
+ <li>com::sun::star::text::TextField::FileName</li>
+ <li>com::sun::star::text::TextField::DocInfo.Title</li>
+ <li>com::sun::star::text::TextField::Author</li>
+ <li>com::sun::star::text::TextField::Measure</li>
+ </ul>
+
+ <p>The following services gives access to resources used inside the document
+ and let you add new resources.
+
+ <ul>
+ <li>com::sun::star::drawing::DashTable</li>
+ <li>com::sun::star::drawing::GradientTable</li>
+ <li>com::sun::star::drawing::HatchTable</li>
+ <li>com::sun::star::drawing::BitmapTable</li>
+ <li>com::sun::star::drawing::TransparencyGradientTable</li>
+ <li>com::sun::star::drawing::MarkerTable</li>
+ </ul>
+
+ <p>The following service can be set at the <code>Numbering</code> property
+ inside a com::sun::star::style::ParagraphProperties
+
+ <ul>
+ <li>com::sun::star::text::NumberingRules</li>
+ </ul>
+
+ <p>The following services can be used for a com::sun::star::image::ImageMap
+ inside the document.
+
+ <br>A com::sun::star::image::ImageMap can be obtained from a
+ GraphicObjectShape
+
+ <ul>
+ <li>com::sun::star::image::ImageMapRectangleObject</li>
+ <li>com::sun::star::image::ImageMapCircleObject</li>
+ <li>com::sun::star::image::ImageMapPolygonObject</li>
+ </ul>
+
+ <p>The following services lets you access the drawing property defaults
+ of a document.
+
+ <ul>
+ <li>com::sun::star::drawing::Defaults</li>
+ </ul>
+ */
+ interface com::sun::star::lang::XMultiServiceFactory;
+
+ /** lets you access the properties of this service.
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+ /** lets you duplicate pages inside this document.
+ */
+ interface com::sun::star::drawing::XDrawPageDuplicator;
+
+
+ /** provides an object that is implementing the service
+ DrawPages. With this service you have access to the
+ DrawPages inside a document.
+ */
+ interface com::sun::star::drawing::XDrawPagesSupplier;
+
+
+ /** returns an object that is implementing the service
+ MasterPages. With this service you have access to the
+ MasterPages inside a document.
+ */
+ interface com::sun::star::drawing::XMasterPagesSupplier;
+
+
+ /** returns an object that is implementing the service
+ LayerManager. This service lets you manipulate the
+ Layers of this document.
+ */
+ interface com::sun::star::drawing::XLayerSupplier;
+
+ /** This interface lets you access the styles contained in this document
+ */
+ interface com::sun::star::style::XStyleFamiliesSupplier;
+
+
+ /** This property specifies the length between the default tab stops
+ inside text in this document in 1/100th mm.
+ */
+ [property] long TabStop;
+
+
+ /** contains the identifier of the default locale of the document.
+ */
+ [property] com::sun::star::lang::Locale CharLocale;
+
+
+ /** if this document is an OLE client, this is the current visible area
+ in 100th mm
+ */
+ [property] com::sun::star::awt::Rectangle VisibleArea;
+
+
+ /** This property gives the XForbiddenCharacters.
+ */
+ [readonly, property] com::sun::star::i18n::XForbiddenCharacters ForbiddenCharacters;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/GluePoint.idl b/offapi/com/sun/star/drawing/GluePoint.idl
new file mode 100644
index 000000000..c4d7aa0e6
--- /dev/null
+++ b/offapi/com/sun/star/drawing/GluePoint.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_drawing_GluePoint_idl__
+#define __com_sun_star_drawing_GluePoint_idl__
+
+#include <com/sun/star/awt/Point.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** A GluePoint could be attached to a shape or to a page.
+
+
+
+ <p>If a GluePoint is attached to a shape, it is moved when
+ the shape moves.
+ The ends of connectors can be attached to GluePoint.</p>
+
+ @deprecated
+ @see GluePoint2
+ */
+published struct GluePoint
+{
+ /** This is the position of this GluePoint.
+ */
+ com::sun::star::awt::Point Position;
+
+ /** This is the direction in which the connector line leaves the
+ GluePoint.
+ */
+ short EscapeDirection;
+
+ /** If this is `TRUE`, then the position of this GluePoint is
+ absolute on a page and is not relative to a shape.
+ */
+ boolean PositionAbsolute;
+
+ /** The alignment of a <code>GluePoint</code> defines how the position of
+ the point is affected by resizing the parent <code>Shape</code>.
+ */
+ short Alignment;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/GluePoint2.idl b/offapi/com/sun/star/drawing/GluePoint2.idl
new file mode 100644
index 000000000..916be1bf9
--- /dev/null
+++ b/offapi/com/sun/star/drawing/GluePoint2.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_drawing_GluePoint2_idl__
+#define __com_sun_star_drawing_GluePoint2_idl__
+
+#include <com/sun/star/drawing/Alignment.idl>
+#include <com/sun/star/awt/Point.idl>
+#include <com/sun/star/drawing/EscapeDirection.idl>
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** This struct defines the attributes of a gluepoint.
+ <p>A gluepoint is a position inside a drawing shape where an edge
+ of a connector shape can be connected.</p>
+ */
+published struct GluePoint2
+{
+ /** This is the position of this gluepoint. Depending on
+ the flag <code>IsRelative</code>, this is either in 1/100cm
+ or in 1/100%.
+
+ <!-- Dennis: Is the % correct? -->
+ */
+ com::sun::star::awt::Point Position;
+
+ /** if this flag is set to true, the position of this gluepoint
+ is given in 1/100% values instead of 1/100cm. */
+ boolean IsRelative;
+
+ /** if this gluepoints position is not relative, this enum
+ specifies the vertical and horizontal alignment of this
+ point. The alignment specifies how the gluepoint is
+ moved if the shape is resized. */
+ com::sun::star::drawing::Alignment PositionAlignment;
+
+ /** this member specifies the escape direction for a glue
+ point. The escape direction is the direction the connecting
+ line escapes the shape. */
+
+ com::sun::star::drawing::EscapeDirection Escape;
+
+ /** if this flag is set to false, this is a default glue
+ point. Some shapes may have default gluepoints attached
+ to them which cannot be altered or removed. */
+ boolean IsUserDefined;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/GradientTable.idl b/offapi/com/sun/star/drawing/GradientTable.idl
new file mode 100644
index 000000000..6b843c474
--- /dev/null
+++ b/offapi/com/sun/star/drawing/GradientTable.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_drawing_GradientTable_idl__
+#define __com_sun_star_drawing_GradientTable_idl__
+
+#include <com/sun/star/container/XNameContainer.idl>
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** this is a container for com::sun::star::awt::Gradients
+
+ <p>It is used for example to access the com::sun::star::awt::Gradients that
+ are used inside a document.
+
+ @see DrawingDocumentFactory
+ @see com::sun::star::awt::Gradient
+*/
+published service GradientTable
+{
+ /** this container lets you access the com::sun::star::awt::Gradients that
+ are indexed with a name.
+
+ <p>Note: You can add new entries for later use, but you cannot
+ remove entries that are used inside the document.
+ */
+ interface com::sun::star::container::XNameContainer;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/GraphicExportFilter.idl b/offapi/com/sun/star/drawing/GraphicExportFilter.idl
new file mode 100644
index 000000000..190f189d2
--- /dev/null
+++ b/offapi/com/sun/star/drawing/GraphicExportFilter.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_GraphicExportFilter_idl__
+#define __com_sun_star_drawing_GraphicExportFilter_idl__
+
+#include <com/sun/star/drawing/XGraphicExportFilter.idl>
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** a component that supports this service lets you export pages, shapes, or
+ groups of shapes from a DrawingDocument to a file in one of the
+ file formats supported by the component.
+*/
+published service GraphicExportFilter : XGraphicExportFilter;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/GraphicFilterRequest.idl b/offapi/com/sun/star/drawing/GraphicFilterRequest.idl
new file mode 100644
index 000000000..1547b3789
--- /dev/null
+++ b/offapi/com/sun/star/drawing/GraphicFilterRequest.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_drawing_GraphicFilterRequest_idl__
+#define __com_sun_star_drawing_GraphicFilterRequest_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** represents a general error graphic filter exception.
+ It can be used to transport the error code information.
+ E.g. that can be useful for interactions.
+
+ @since OOo 3.0
+ */
+exception GraphicFilterRequest : com::sun::star::uno::Exception
+{
+ /** specifies the error code. */
+ long ErrCode;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/GraphicObjectShape.idl b/offapi/com/sun/star/drawing/GraphicObjectShape.idl
new file mode 100644
index 000000000..4a9272b51
--- /dev/null
+++ b/offapi/com/sun/star/drawing/GraphicObjectShape.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_drawing_GraphicObjectShape_idl__
+#define __com_sun_star_drawing_GraphicObjectShape_idl__
+
+#include <com/sun/star/drawing/Shape.idl>
+
+#include <com/sun/star/drawing/Text.idl>
+
+#include <com/sun/star/drawing/ShadowProperties.idl>
+
+#include <com/sun/star/drawing/RotationDescriptor.idl>
+
+#include <com/sun/star/awt/XBitmap.idl>
+#include <com/sun/star/graphic/XGraphic.idl>
+
+#include <com/sun/star/drawing/ColorMode.idl>
+#include <com/sun/star/container/XIndexContainer.idl>
+#include <com/sun/star/drawing/BarCode.idl>
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** This service is for a graphic shape.
+ */
+published service GraphicObjectShape
+{
+ service com::sun::star::drawing::Shape;
+
+ service com::sun::star::drawing::Text;
+
+ service com::sun::star::drawing::ShadowProperties;
+
+ service com::sun::star::drawing::RotationDescriptor;
+
+ /** This is a url to the source bitmap for this graphic shape.
+
+ @deprecated as of LibreOffice 6.1 - use Graphic instead
+
+ Note the new behaviour since it was deprecated:
+ This property can only be set and only external URLs are
+ supported (no more vnd.sun.star.GraphicObject scheme). When a
+ URL is set, then it will load the image and set the Graphic
+ property.
+ */
+ [property] string GraphicURL;
+
+ /** This is a url to the stream ("in document" or linked graphic) for this graphic shape.
+ */
+ [property] string GraphicStreamURL;
+
+ /** This is the bitmap that represents this graphic shape.
+
+ @deprecated Use graphic property instead!
+ */
+ [optional, property] com::sun::star::awt::XBitmap GraphicObjectFillBitmap;
+
+ /** If this property is set, the luminance of this graphic shape is adjusted
+ by the given signed percent value.
+ */
+ [property] short AdjustLuminance;
+
+ /** If this property is set, the contrast of this graphic shape is adjusted
+ by the given signed percent value.
+ */
+ [property] short AdjustContrast;
+
+ /** If this property is set, the red channel of this graphic shape is
+ adjusted by the given signed percent value.
+ */
+ [property] short AdjustRed;
+
+ /** If this property is set, the green channel of this graphic shape is
+ adjusted by the given signed percent value.
+ */
+ [property] short AdjustGreen;
+
+ /** If this property is set, the blue channel of this graphic shape is
+ adjusted by the given signed percent value.
+ */
+ [property] short AdjustBlue;
+
+ /** If this property is set, the gamma value of this graphic shape is
+ adjusted by the given value.
+ */
+ [property] double Gamma;
+
+ /** If this property is set, the transparency value of this graphic shape is
+ adjusted by the given unsigned percent value.
+ 100% is fully transparent, 0% is fully opaque.
+ */
+ [property] short Transparency;
+
+ /** This property selects the color mode that is used for rendering.
+ */
+ [property] ColorMode GraphicColorMode;
+
+ /** This property contains an image map for this graphic.
+ @see com::sun::star::image::ImageMap
+ */
+ [optional, property] com::sun::star::container::XIndexContainer ImageMap;
+
+ /** This is the graphic that represents this graphic shape
+ */
+ [optional, property] com::sun::star::graphic::XGraphic Graphic;
+
+ /// Whether this shape is actually a signature line.
+ [optional, property] boolean IsSignatureLine;
+
+ /// The ID of the signature line, used to connect to a signature.
+ [optional, property] string SignatureLineId;
+
+ /// Suggested Signer, Name of the Signer
+ [optional, property] string SignatureLineSuggestedSignerName;
+
+ /// Suggested Signer, Line 2 (Title or additional information)
+ [optional, property] string SignatureLineSuggestedSignerTitle;
+
+ /// Suggested Signer Email
+ [optional, property] string SignatureLineSuggestedSignerEmail;
+
+ /// Signing instructions, to be shown at signing time
+ [optional, property] string SignatureLineSigningInstructions;
+
+ /// Whether the signing date should be shown in the shape
+ [optional, property] boolean SignatureLineShowSignDate;
+
+ /// Whether the user can attach a comment at signing time
+ [optional, property] boolean SignatureLineCanAddComment;
+
+ /** Image to be displayed when the signature line is unsigned
+ *
+ * Images for signed signature lines (valid and invalid)
+ * are to be retrieved via com::sun::star::security::DocumentSignatureInformation
+ * (you can get the matching signature with the SignatureLineId property).
+ */
+ [optional, property] com::sun::star::graphic::XGraphic SignatureLineUnsignedImage;
+
+ /// Whether the signature line is signed using a digital signature
+ [optional, property] boolean SignatureLineIsSigned;
+
+ /// Shape as a QR Code
+ /// @since LibreOffice 6.4
+ [optional, property] com::sun::star::drawing::BarCode BarCodeProperties;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/GroupShape.idl b/offapi/com/sun/star/drawing/GroupShape.idl
new file mode 100644
index 000000000..96a0ded1b
--- /dev/null
+++ b/offapi/com/sun/star/drawing/GroupShape.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_drawing_GroupShape_idl__
+#define __com_sun_star_drawing_GroupShape_idl__
+
+#include <com/sun/star/drawing/XShapeGroup.idl>
+
+#include <com/sun/star/drawing/XShapes.idl>
+#include <com/sun/star/drawing/Shape.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** This service is for a group of Shapes.
+ @see XShapeGroup
+ @see XShapes
+ */
+published service GroupShape
+{
+ /** Since a GroupShape is also a shape, it has to support this service
+ */
+ service com::sun::star::drawing::Shape;
+
+ /** this is a ui feature for entering and leaving the group for
+ editing.
+ */
+ interface com::sun::star::drawing::XShapeGroup;
+
+
+ /** lets you access the Shapes in this Group.
+ */
+ interface com::sun::star::drawing::XShapes;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/Hatch.idl b/offapi/com/sun/star/drawing/Hatch.idl
new file mode 100644
index 000000000..666d274de
--- /dev/null
+++ b/offapi/com/sun/star/drawing/Hatch.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_drawing_Hatch_idl__
+#define __com_sun_star_drawing_Hatch_idl__
+
+#include <com/sun/star/drawing/HatchStyle.idl>
+
+#include <com/sun/star/util/Color.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** This struct defines the appearance of a hatch.
+
+ <p>A hatch is a texture made of straight lines.</p>
+ */
+published struct Hatch
+{
+ /** The HatchStyle defines the kind of lines used to draw
+ this hatch.
+ */
+ com::sun::star::drawing::HatchStyle Style;
+
+ /** This is the color of the hatch lines.
+ */
+ com::sun::star::util::Color Color;
+
+ /** This is the distance between the lines in the hatch.
+ */
+ long Distance;
+
+ /** You can rotate the lines of the hatch with this angle.
+ * Specified in tenths of a degree.
+ */
+ long Angle;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/HatchStyle.idl b/offapi/com/sun/star/drawing/HatchStyle.idl
new file mode 100644
index 000000000..e25437990
--- /dev/null
+++ b/offapi/com/sun/star/drawing/HatchStyle.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_drawing_HatchStyle_idl__
+#define __com_sun_star_drawing_HatchStyle_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** The HatchStyle defines the style of the lines in a hatch.
+ */
+published enum HatchStyle
+{
+ /** the hatch consists of a single horizontal line
+ */
+ SINGLE,
+
+ /** the hatch has a horizontal and a vertical line
+ */
+ DOUBLE,
+
+ /** the hatch has a horizontal, a vertical and a diagonal line
+ */
+ TRIPLE
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/HatchTable.idl b/offapi/com/sun/star/drawing/HatchTable.idl
new file mode 100644
index 000000000..9e709c1cf
--- /dev/null
+++ b/offapi/com/sun/star/drawing/HatchTable.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_drawing_HatchTable_idl__
+#define __com_sun_star_drawing_HatchTable_idl__
+
+#include <com/sun/star/container/XNameContainer.idl>
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** this is a container for Hatchs
+
+ <p>It is used for example to access the Hatchs that
+ are used inside a document.
+
+ @see DrawingDocumentFactory
+ @see Hatch
+*/
+published service HatchTable
+{
+ /** this container lets you access the Hatchs that
+ are indexed with a name.
+
+ <p>Note: You can add new entries for later use, but you cannot
+ remove entries that are used inside the document.
+ */
+ interface com::sun::star::container::XNameContainer;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/HomogenMatrix.idl b/offapi/com/sun/star/drawing/HomogenMatrix.idl
new file mode 100644
index 000000000..63ea6378f
--- /dev/null
+++ b/offapi/com/sun/star/drawing/HomogenMatrix.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_HomogenMatrix_idl__
+#define __com_sun_star_drawing_HomogenMatrix_idl__
+
+#include <com/sun/star/drawing/HomogenMatrixLine.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** specifies a homogeneous matrix by three homogeneous lines
+ */
+published struct HomogenMatrix
+{
+ com::sun::star::drawing::HomogenMatrixLine Line1;
+ com::sun::star::drawing::HomogenMatrixLine Line2;
+ com::sun::star::drawing::HomogenMatrixLine Line3;
+ com::sun::star::drawing::HomogenMatrixLine Line4;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/HomogenMatrix3.idl b/offapi/com/sun/star/drawing/HomogenMatrix3.idl
new file mode 100644
index 000000000..da5e9f675
--- /dev/null
+++ b/offapi/com/sun/star/drawing/HomogenMatrix3.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_drawing_HomogenMatrix3_idl__
+#define __com_sun_star_drawing_HomogenMatrix3_idl__
+
+#include <com/sun/star/drawing/HomogenMatrixLine3.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** specifies a homogeneous matrix by three homogeneous lines
+ */
+published struct HomogenMatrix3
+{
+ com::sun::star::drawing::HomogenMatrixLine3 Line1;
+ com::sun::star::drawing::HomogenMatrixLine3 Line2;
+ com::sun::star::drawing::HomogenMatrixLine3 Line3;
+ };
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/HomogenMatrix4.idl b/offapi/com/sun/star/drawing/HomogenMatrix4.idl
new file mode 100644
index 000000000..ec24081a5
--- /dev/null
+++ b/offapi/com/sun/star/drawing/HomogenMatrix4.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_HomogenMatrix4_idl__
+#define __com_sun_star_drawing_HomogenMatrix4_idl__
+
+#include <com/sun/star/drawing/HomogenMatrixLine4.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** specifies a homogeneous matrix by four homogeneous lines.
+ */
+published struct HomogenMatrix4
+{
+ com::sun::star::drawing::HomogenMatrixLine4 Line1;
+ com::sun::star::drawing::HomogenMatrixLine4 Line2;
+ com::sun::star::drawing::HomogenMatrixLine4 Line3;
+ com::sun::star::drawing::HomogenMatrixLine4 Line4;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/HomogenMatrixLine.idl b/offapi/com/sun/star/drawing/HomogenMatrixLine.idl
new file mode 100644
index 000000000..2a3063366
--- /dev/null
+++ b/offapi/com/sun/star/drawing/HomogenMatrixLine.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_drawing_HomogenMatrixLine_idl__
+#define __com_sun_star_drawing_HomogenMatrixLine_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** specifies a single line for a HomogenMatrix.
+ */
+published struct HomogenMatrixLine
+{
+ double Column1;
+ double Column2;
+ double Column3;
+ double Column4;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/HomogenMatrixLine3.idl b/offapi/com/sun/star/drawing/HomogenMatrixLine3.idl
new file mode 100644
index 000000000..607e800fd
--- /dev/null
+++ b/offapi/com/sun/star/drawing/HomogenMatrixLine3.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_HomogenMatrixLine3_idl__
+#define __com_sun_star_drawing_HomogenMatrixLine3_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** specifies a single line for a HomogenMatrix3.
+ */
+published struct HomogenMatrixLine3
+{
+ double Column1;
+ double Column2;
+ double Column3;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/HomogenMatrixLine4.idl b/offapi/com/sun/star/drawing/HomogenMatrixLine4.idl
new file mode 100644
index 000000000..52c97fa5d
--- /dev/null
+++ b/offapi/com/sun/star/drawing/HomogenMatrixLine4.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_drawing_HomogenMatrixLine4_idl__
+#define __com_sun_star_drawing_HomogenMatrixLine4_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** specifies a single line for a HomogenMatrix4.
+ */
+published struct HomogenMatrixLine4
+{
+ double Column1;
+ double Column2;
+ double Column3;
+ double Column4;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/HorizontalDimensioning.idl b/offapi/com/sun/star/drawing/HorizontalDimensioning.idl
new file mode 100644
index 000000000..4e083b2d4
--- /dev/null
+++ b/offapi/com/sun/star/drawing/HorizontalDimensioning.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_drawing_HorizontalDimensioning_idl__
+#define __com_sun_star_drawing_HorizontalDimensioning_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** The HorizontalDimensioning specifies the horizontal position
+ of the text of a dimensioning shape.
+ */
+published enum HorizontalDimensioning
+{
+ /** Set this to have the application select the best horizontal
+ position for the text.
+ */
+ AUTO,
+
+ /** The text is positioned to the left.
+ */
+ LEFT,
+
+ /** The text is positioned at the center.
+ */
+ CENTERED,
+
+ /** The text is positioned to the right.
+ */
+ RIGHT
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/Layer.idl b/offapi/com/sun/star/drawing/Layer.idl
new file mode 100644
index 000000000..32dcde6e6
--- /dev/null
+++ b/offapi/com/sun/star/drawing/Layer.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_drawing_Layer_idl__
+#define __com_sun_star_drawing_Layer_idl__
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** A layer is an entity inside a document which contains shapes.
+
+
+ <p>There could be zero or more Shapes attached to
+ such a layer.
+
+ </p>
+ <p>The properties of a Layer instance affect all Shapes
+ attached to the Layer.
+
+ </p>
+
+ @see DrawingDocument
+ @see LayerManager
+ */
+published service Layer
+{
+
+ /** The properties in this set affect all Shapes attached to
+ this Layer.
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+ /** The name of a Layer is used to identify the
+ Layer in the user interface.
+ */
+ [property] string Name;
+
+ /** If a Layer is not visible, the objects in this
+ Layer are not shown in the user interface.
+ */
+ [property] boolean IsVisible;
+
+ /** If a Layer is not printable, the objects in
+ this Layer are not printed.
+ */
+ [property] boolean IsPrintable;
+
+ /** If a Layer is locked, the objects in this
+ Layer cannot be edited in the user interface.
+ */
+ [property] boolean IsLocked;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/LayerManager.idl b/offapi/com/sun/star/drawing/LayerManager.idl
new file mode 100644
index 000000000..0bbf88f94
--- /dev/null
+++ b/offapi/com/sun/star/drawing/LayerManager.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_drawing_LayerManager_idl__
+#define __com_sun_star_drawing_LayerManager_idl__
+
+#include <com/sun/star/drawing/XLayerManager.idl>
+
+#include <com/sun/star/container/XNameAccess.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** This service is provided by documents to support Layers.
+
+ @see DrawingDocument
+ */
+published service LayerManager
+{
+
+ /** gives you access to the existing Layers by
+ index and makes it possible to add and remove Layers and
+ to attach Shapes to Layers.
+
+ <p>The contents of the collection all support Layer
+ returned by XLayer.
+ */
+ interface com::sun::star::drawing::XLayerManager;
+
+ /** gives access to the existing Layers by name.
+
+ <p>The contents of the collection all support Layer
+ returned by XLayer.
+ */
+ interface com::sun::star::container::XNameAccess;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/LayerType.idl b/offapi/com/sun/star/drawing/LayerType.idl
new file mode 100644
index 000000000..1d3ff0ad1
--- /dev/null
+++ b/offapi/com/sun/star/drawing/LayerType.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_drawing_LayerType_idl__
+#define __com_sun_star_drawing_LayerType_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** This enumeration specifies the type of a drawing layer.
+ */
+published enum LayerType
+{
+ /** This is the layer for all standard shapes.
+ */
+ LAYOUT,
+
+ /** This is the layer for the controls.
+ */
+ CONTROLSA,
+
+ /** This is the layer for all measure shapes.
+ */
+ DIMENSIONIANG_LINES,
+
+ /** There can be zero or more layers of this type.
+ */
+ USER_DEFINED
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/LineCap.idl b/offapi/com/sun/star/drawing/LineCap.idl
new file mode 100644
index 000000000..634a4fa3e
--- /dev/null
+++ b/offapi/com/sun/star/drawing/LineCap.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_drawing_LineCap_idl__
+#define __com_sun_star_drawing_LineCap_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+/** The LineCap defines rendering of ends of thick lines
+ */
+published enum LineCap
+{
+ /** the line will end without any additional shape
+ */
+ BUTT,
+ /** the line will get a half circle as additional cap
+ */
+ ROUND,
+ /** the line will get a half square as additional cap
+ */
+ SQUARE
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/LineDash.idl b/offapi/com/sun/star/drawing/LineDash.idl
new file mode 100644
index 000000000..ea0dd48f4
--- /dev/null
+++ b/offapi/com/sun/star/drawing/LineDash.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_drawing_LineDash_idl__
+#define __com_sun_star_drawing_LineDash_idl__
+
+#include <com/sun/star/drawing/DashStyle.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** A LineDash defines a non-continuous line.
+ */
+published struct LineDash
+{
+ /** This sets the style of this LineDash.
+ */
+ com::sun::star::drawing::DashStyle Style;
+
+ /** This is the number of dots in this LineDash.
+ */
+ short Dots;
+
+ /** This is the length of a dot.
+ */
+ long DotLen;
+
+ /** This is the number of dashes.
+ */
+ short Dashes;
+
+ /** This is the length of a single dash.
+ */
+ long DashLen;
+
+ /** This is the distance between the dots.
+ */
+ long Distance;
+
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/LineEndType.idl b/offapi/com/sun/star/drawing/LineEndType.idl
new file mode 100644
index 000000000..cf817f7bf
--- /dev/null
+++ b/offapi/com/sun/star/drawing/LineEndType.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_drawing_LineEndType_idl__
+#define __com_sun_star_drawing_LineEndType_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** The LineEndType specifies the appearance of the bullet at the
+ end of a line.
+
+ @deprecated
+ */
+published enum LineEndType
+{
+ /** the line has no special end.
+ */
+ NONE,
+ /** the line uses an arrow for the line end.
+ */
+ ARROW,
+ /** the line uses a circle for the line end.
+ */
+ CIRCLE,
+ /** the line uses a square for the line end.
+ */
+ SQUARE,
+ /** deprecated
+ */
+ SPECIAL
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/LineJoint.idl b/offapi/com/sun/star/drawing/LineJoint.idl
new file mode 100644
index 000000000..276ddd7e9
--- /dev/null
+++ b/offapi/com/sun/star/drawing/LineJoint.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_drawing_LineJoint_idl__
+#define __com_sun_star_drawing_LineJoint_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** The LineJoint defines rendering of joints between thick lines
+ */
+published enum LineJoint
+{
+ /** the joint between lines will not be connected
+ */
+ NONE,
+ /** the middle value between the joints is used
+ */
+ MIDDLE,
+ /** the edges of the thick lines will be joined by lines
+ */
+ BEVEL,
+ /** the lines join at intersections
+ */
+ MITER,
+ /** the lines join with an arc
+ */
+ ROUND
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/LineProperties.idl b/offapi/com/sun/star/drawing/LineProperties.idl
new file mode 100644
index 000000000..1697e3aba
--- /dev/null
+++ b/offapi/com/sun/star/drawing/LineProperties.idl
@@ -0,0 +1,128 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_LineProperties_idl__
+#define __com_sun_star_drawing_LineProperties_idl__
+
+#include <com/sun/star/drawing/LineStyle.idl>
+#include <com/sun/star/util/Color.idl>
+#include <com/sun/star/drawing/LineDash.idl>
+#include <com/sun/star/drawing/PolyPolygonBezierCoords.idl>
+#include <com/sun/star/drawing/LineJoint.idl>
+#include <com/sun/star/drawing/LineCap.idl>
+
+
+module com { module sun { module star { module drawing {
+
+
+/** This is a set of properties to describe the style for rendering a Line.
+ <p>The properties for line ends and line starts are only supported by
+ shapes with open line ends.
+ */
+published service LineProperties
+{
+ /** This property contains the type of the line.
+ */
+ [property] com::sun::star::drawing::LineStyle LineStyle;
+
+
+ /** This property contains the dash of the line.
+ */
+ [property] com::sun::star::drawing::LineDash LineDash;
+
+
+ /** This property contains the name of the dash of the line.
+ */
+ [optional, property] string LineDashName;
+
+
+ /** This property contains the line color.
+ */
+ [property] com::sun::star::util::Color LineColor;
+
+
+ /** This property contains the extent of transparency.
+ */
+ [property] short LineTransparence;
+
+
+ /** This property contains the width of the line in 1/100th mm.
+ */
+ [property] long LineWidth;
+
+
+ /** This property defines the rendering of joints between thick lines
+ */
+ [property] com::sun::star::drawing::LineJoint LineJoint;
+
+
+ /** This property defines the rendering of ends of thick lines
+ */
+ [optional, property] com::sun::star::drawing::LineCap LineCap;
+
+
+ /** This property contains the name of the line start poly polygon Bezier.
+ <p>If this string is empty, no line start polygon is rendered.
+ */
+ [optional, property] string LineStartName;
+
+
+ /** This property contains the name of the line end poly polygon Bezier.
+ <p>If this string is empty, no line end polygon is rendered.
+ */
+ [optional, property] string LineEndName;
+
+
+ /** This property contains the line start in the form of a poly polygon Bezier.
+ */
+ [optional, property] com::sun::star::drawing::PolyPolygonBezierCoords LineStart;
+
+
+ /** This property contains the line end in the form of a poly polygon Bezier.
+ */
+ [optional, property] com::sun::star::drawing::PolyPolygonBezierCoords LineEnd;
+
+
+ /** If this property is `TRUE`, the line will
+ start from the center of the polygon.
+ */
+ [optional, property] boolean LineStartCenter;
+
+
+ /** This property contains the width of the line start polygon.
+ */
+ [optional, property] long LineStartWidth;
+
+
+ /** If this property is `TRUE`, the line will end
+ in the center of the polygon.
+ */
+ [optional, property] boolean LineEndCenter;
+
+
+ /** This property contains the width of the line end polygon.
+ */
+ [optional, property] long LineEndWidth;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/LineShape.idl b/offapi/com/sun/star/drawing/LineShape.idl
new file mode 100644
index 000000000..24672c234
--- /dev/null
+++ b/offapi/com/sun/star/drawing/LineShape.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_drawing_LineShape_idl__
+#define __com_sun_star_drawing_LineShape_idl__
+
+#include <com/sun/star/drawing/Shape.idl>
+
+#include <com/sun/star/drawing/LineProperties.idl>
+
+#include <com/sun/star/drawing/PolyPolygonDescriptor.idl>
+
+#include <com/sun/star/drawing/Text.idl>
+
+#include <com/sun/star/drawing/ShadowProperties.idl>
+
+#include <com/sun/star/drawing/RotationDescriptor.idl>
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** This service is for a simple Shape with lines.
+ */
+published service LineShape
+{
+ service com::sun::star::drawing::Shape;
+
+ service com::sun::star::drawing::LineProperties;
+
+ service com::sun::star::drawing::PolyPolygonDescriptor;
+
+ service com::sun::star::drawing::Text;
+
+ service com::sun::star::drawing::ShadowProperties;
+
+ service com::sun::star::drawing::RotationDescriptor;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/LineStyle.idl b/offapi/com/sun/star/drawing/LineStyle.idl
new file mode 100644
index 000000000..4788dc847
--- /dev/null
+++ b/offapi/com/sun/star/drawing/LineStyle.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_drawing_LineStyle_idl__
+#define __com_sun_star_drawing_LineStyle_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** specifies the appearance of the lines of a
+ shape.
+ */
+published enum LineStyle
+{
+ /** the line is hidden.
+ */
+ NONE,
+ /** the line is solid.
+ */
+ SOLID,
+ /** the line use dashes.
+ */
+ DASH
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/MarkerTable.idl b/offapi/com/sun/star/drawing/MarkerTable.idl
new file mode 100644
index 000000000..fe4761407
--- /dev/null
+++ b/offapi/com/sun/star/drawing/MarkerTable.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_drawing_MarkerTable_idl__
+#define __com_sun_star_drawing_MarkerTable_idl__
+
+#include <com/sun/star/container/XNameContainer.idl>
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** this is a container for PointSequences
+
+ <p>It is used for example to access the line ends that
+ are used inside a document.
+
+ @see DrawingDocumentFactory
+ @see PointSequence
+*/
+published service MarkerTable
+{
+ /** this container lets you access the PointSequences that
+ are indexed with a name.
+
+ <p>Note: You can add new entries for later use, but you cannot
+ remove entries that are used inside the document.
+ */
+ interface com::sun::star::container::XNameContainer;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/MasterPage.idl b/offapi/com/sun/star/drawing/MasterPage.idl
new file mode 100644
index 000000000..db99527ff
--- /dev/null
+++ b/offapi/com/sun/star/drawing/MasterPage.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_drawing_MasterPage_idl__
+#define __com_sun_star_drawing_MasterPage_idl__
+
+#include <com/sun/star/drawing/GenericDrawPage.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** This service is a single master page inside a drawing document.
+
+
+ <p>It serves as a background page for zero or more DrawPages.
+ Since this service is derived from the service GenericDrawPage,
+ it can be used as a draw page with three differences:
+ </p>
+ <ol>
+ <li>It is not linked to any other MasterPage.
+ </li>
+ <li>It cannot be removed from a document as long as one or
+ more instances of DrawPage are linked to it.
+ </li>
+ <li>Modifications to a MasterPage are instantly visible on
+ every DrawPage that is linked to it.
+ </li>
+ </ol>
+ */
+published service MasterPage
+{
+
+ /** This service describes the base functionality that every
+ draw/master page has.
+ */
+ service com::sun::star::drawing::GenericDrawPage;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/MasterPages.idl b/offapi/com/sun/star/drawing/MasterPages.idl
new file mode 100644
index 000000000..989c1c436
--- /dev/null
+++ b/offapi/com/sun/star/drawing/MasterPages.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_drawing_MasterPages_idl__
+#define __com_sun_star_drawing_MasterPages_idl__
+
+#include <com/sun/star/drawing/XDrawPages.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** provides access to a container of MasterPages
+ and makes it possible for them to be manipulated.
+
+ @see XMasterPagesSupplier
+ @see DrawingDocument
+ */
+published service MasterPages
+{
+ /** lets you access and create MasterPages
+ */
+ interface com::sun::star::drawing::XDrawPages;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/MeasureKind.idl b/offapi/com/sun/star/drawing/MeasureKind.idl
new file mode 100644
index 000000000..5897f60a0
--- /dev/null
+++ b/offapi/com/sun/star/drawing/MeasureKind.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_drawing_MeasureKind_idl__
+#define __com_sun_star_drawing_MeasureKind_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** determines whether a measured shape is a standard
+ measure or a radius measure.
+
+ @deprecated
+ */
+published enum MeasureKind
+{
+ /** use the length measurement.
+ */
+ STANDARD,
+ /** use the radius measurement.
+ This option cannot be used from the GUI Interface.
+ */
+ RADIUS
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/MeasureProperties.idl b/offapi/com/sun/star/drawing/MeasureProperties.idl
new file mode 100644
index 000000000..13f5a032e
--- /dev/null
+++ b/offapi/com/sun/star/drawing/MeasureProperties.idl
@@ -0,0 +1,120 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_MeasureProperties_idl__
+#define __com_sun_star_drawing_MeasureProperties_idl__
+
+#include <com/sun/star/drawing/MeasureKind.idl>
+
+#include <com/sun/star/drawing/MeasureTextHorzPos.idl>
+
+#include <com/sun/star/drawing/MeasureTextVertPos.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** This service describes a MeasureShape.
+ */
+published service MeasureProperties
+{
+ /** If this property is `TRUE`, the measure is drawn below the
+ reference edge instead of above it.
+ */
+ [property] boolean MeasureBelowReferenceEdge;
+
+ /** This is the length of the first help line.
+ */
+ [property] long MeasureHelpLine1Length;
+
+ /** This is the length of the second help line.
+ */
+ [property] long MeasureHelpLine2Length;
+
+ /** This is the distance from the measure line to the start of the
+ help lines.
+ */
+ [property] long MeasureHelpLineDistance;
+
+ /** This is the overhang of the two help lines.
+ */
+ [property] long MeasureHelpLineOverhang;
+
+ /** This enumeration specifies the MeasureKind.
+ */
+ [property] com::sun::star::drawing::MeasureKind MeasureKind;
+
+ /** This is the distance from the reference edge to the measure line.
+ */
+ [property] long MeasureLineDistance;
+
+ /** This is the overhang of the reference line over the help lines.
+ */
+ [property] long MeasureOverhang;
+
+ /** If this is `TRUE`, the unit of measure is shown in the measure text.
+ */
+ [property] boolean MeasureShowUnit;
+
+ /** If this is `TRUE`, the angle of the measure is set automatically.
+ */
+ [property] boolean MeasureTextAutoAngle;
+
+ /** This is the automatic angle.
+ */
+ [property] long MeasureTextAutoAngleView;
+
+ /** This is the fixed angle.
+ */
+ [property] long MeasureTextFixedAngle;
+
+ /** This is the horizontal position of the measure text.
+ */
+ [property] com::sun::star::drawing::MeasureTextHorzPos MeasureTextHorizontalPosition;
+
+ /** This is the vertical position of the text.
+ */
+ [property] com::sun::star::drawing::MeasureTextVertPos MeasureTextVerticalPosition;
+
+ /** If this value is `TRUE`, the measure has a fixed angle.
+ */
+ [property] boolean MeasureTextIsFixedAngle;
+
+ /** If this value is `TRUE`, the text is rotated 90 degrees.
+ */
+ [property] boolean MeasureTextRotate90;
+
+ /** If this value is `TRUE`, the text is printed upside down.
+ */
+ [property] boolean MeasureTextUpsideDown;
+
+ /** This value is the number of decimal places that is used to format the
+ measure value.
+
+ @since OOo 1.1.2
+ */
+ [optional, property] short MeasureDecimalPlaces;
+ };
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/MeasureShape.idl b/offapi/com/sun/star/drawing/MeasureShape.idl
new file mode 100644
index 000000000..53d1e1191
--- /dev/null
+++ b/offapi/com/sun/star/drawing/MeasureShape.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_drawing_MeasureShape_idl__
+#define __com_sun_star_drawing_MeasureShape_idl__
+
+#include <com/sun/star/drawing/Shape.idl>
+
+#include <com/sun/star/drawing/MeasureProperties.idl>
+
+#include <com/sun/star/drawing/Text.idl>
+
+#include <com/sun/star/drawing/ShadowProperties.idl>
+#include <com/sun/star/drawing/LineProperties.idl>
+
+#include <com/sun/star/drawing/RotationDescriptor.idl>
+
+#include <com/sun/star/awt/Point.idl>
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** This service is for a dimensioning shape.
+ */
+published service MeasureShape
+{
+ service com::sun::star::drawing::Shape;
+
+ service com::sun::star::drawing::MeasureProperties;
+
+ service com::sun::star::drawing::LineProperties;
+
+ service com::sun::star::drawing::Text;
+
+ service com::sun::star::drawing::ShadowProperties;
+
+ service com::sun::star::drawing::RotationDescriptor;
+
+ /** this point is the start of the measured distance */
+ [property] com::sun::star::awt::Point StartPosition;
+
+
+ /** this point is the end of the measured distance */
+ [property] com::sun::star::awt::Point EndPosition;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/MeasureTextHorzPos.idl b/offapi/com/sun/star/drawing/MeasureTextHorzPos.idl
new file mode 100644
index 000000000..052944d6a
--- /dev/null
+++ b/offapi/com/sun/star/drawing/MeasureTextHorzPos.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_MeasureTextHorzPos_idl__
+#define __com_sun_star_drawing_MeasureTextHorzPos_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** This enumeration defines the relative horizontal placement of the text
+ inside a measure shape.
+ */
+published enum MeasureTextHorzPos
+{
+ AUTO,
+ LEFTOUTSIDE,
+ INSIDE,
+ RIGHTOUTSIDE
+
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/MeasureTextVertPos.idl b/offapi/com/sun/star/drawing/MeasureTextVertPos.idl
new file mode 100644
index 000000000..b9c59d5fe
--- /dev/null
+++ b/offapi/com/sun/star/drawing/MeasureTextVertPos.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_MeasureTextVertPos_idl__
+#define __com_sun_star_drawing_MeasureTextVertPos_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** This enumeration defines the relative vertical placement of the text
+ inside a measure shape.
+ */
+published enum MeasureTextVertPos
+{
+ AUTO,
+ EAST,
+ BREAKEDLINE,
+ WEST,
+ CENTERED
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/MirrorAxis.idl b/offapi/com/sun/star/drawing/MirrorAxis.idl
new file mode 100644
index 000000000..6faf02d2f
--- /dev/null
+++ b/offapi/com/sun/star/drawing/MirrorAxis.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_drawing_MirrorAxis_idl__
+#define __com_sun_star_drawing_MirrorAxis_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** defines an axis for simple mirroring.
+ */
+published enum MirrorAxis
+{
+ /** mirror to the vertical axis
+ */
+ VERTICAL,
+
+ /** mirror to the horizontal axis
+ */
+ HORIZONTAL
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/ModuleDispatcher.idl b/offapi/com/sun/star/drawing/ModuleDispatcher.idl
new file mode 100644
index 000000000..454262e75
--- /dev/null
+++ b/offapi/com/sun/star/drawing/ModuleDispatcher.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_drawing_ModuleDispatcher_idl__
+#define __com_sun_star_drawing_ModuleDispatcher_idl__
+
+#include <com/sun/star/frame/XDispatchProvider.idl>
+
+
+ module com { module sun { module star { module drawing {
+
+
+/**
+ @since LibreOffice 4.1
+ */
+service ModuleDispatcher : com::sun::star::frame::XDispatchProvider;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/NormalsKind.idl b/offapi/com/sun/star/drawing/NormalsKind.idl
new file mode 100644
index 000000000..0d87a9e98
--- /dev/null
+++ b/offapi/com/sun/star/drawing/NormalsKind.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_drawing_NormalsKind_idl__
+#define __com_sun_star_drawing_NormalsKind_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** specifies in which way the standard normals
+ for an object are produced.
+ */
+published enum NormalsKind
+{
+ /** does not produce standard normals, but leaves
+ the object-specific ones untouched.
+ */
+ SPECIFIC,
+
+ /** forces one normal per flat part.
+ */
+ FLAT,
+
+ /** forces normals to think that the object is a
+ sphere.
+ */
+ SPHERE
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/OLE2Shape.idl b/offapi/com/sun/star/drawing/OLE2Shape.idl
new file mode 100644
index 000000000..3d3aeee08
--- /dev/null
+++ b/offapi/com/sun/star/drawing/OLE2Shape.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_drawing_OLE2Shape_idl__
+#define __com_sun_star_drawing_OLE2Shape_idl__
+
+#include <com/sun/star/drawing/XShapeDescriptor.idl>
+#include <com/sun/star/drawing/Shape.idl>
+#include <com/sun/star/frame/XModel.idl>
+
+
+module com { module sun { module star { module drawing {
+
+/** This service is for an OLE shape.
+*/
+published service OLE2Shape
+{
+ service com::sun::star::drawing::Shape;
+
+
+ /** If you get this property you get the CLSID of the OLE2 document stream
+ contained in this OLE2 shape. If you set it, an empty OLE2 document stream
+ with this CLSID is created within this OLE2 shape.
+ */
+ [property] string CLSID;
+
+
+ /** this is the internal storage name that keeps this OLE2 persist.
+ */
+ [property] string PersistName;
+
+
+ /** This is the model for the OLE2 inside this shape.
+ <p>This property returns an empty reference if the OLE2 is not an
+ Office component.
+
+ */
+ [readonly, property] com::sun::star::frame::XModel Model;
+
+
+ /** This property returns `TRUE` for all OLE2 that are internal
+ Office components.
+ */
+ [readonly, property] boolean IsInternal;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/OpenBezierShape.idl b/offapi/com/sun/star/drawing/OpenBezierShape.idl
new file mode 100644
index 000000000..6c26c59cc
--- /dev/null
+++ b/offapi/com/sun/star/drawing/OpenBezierShape.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_drawing_OpenBezierShape_idl__
+#define __com_sun_star_drawing_OpenBezierShape_idl__
+
+#include <com/sun/star/drawing/Shape.idl>
+
+#include <com/sun/star/drawing/LineProperties.idl>
+
+#include <com/sun/star/drawing/PolyPolygonBezierDescriptor.idl>
+
+#include <com/sun/star/drawing/Text.idl>
+
+#include <com/sun/star/drawing/ShadowProperties.idl>
+
+#include <com/sun/star/drawing/RotationDescriptor.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** This service is for an open Bezier shape.
+ */
+published service OpenBezierShape
+{
+ service com::sun::star::drawing::Shape;
+
+ service com::sun::star::drawing::LineProperties;
+
+ service com::sun::star::drawing::PolyPolygonBezierDescriptor;
+
+ service com::sun::star::drawing::Text;
+
+ service com::sun::star::drawing::ShadowProperties;
+
+ service com::sun::star::drawing::RotationDescriptor;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/PageShape.idl b/offapi/com/sun/star/drawing/PageShape.idl
new file mode 100644
index 000000000..15b6db12b
--- /dev/null
+++ b/offapi/com/sun/star/drawing/PageShape.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_drawing_PageShape_idl__
+#define __com_sun_star_drawing_PageShape_idl__
+
+#include <com/sun/star/drawing/Shape.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** This service is for a page shape.
+ A page shape displays a preview of another page. These shapes
+ are used inside notes pages to preview the corresponding
+ drawing page. They're also used in the handout page to preview
+ the printing position and order of pages
+ */
+published service PageShape
+{
+ service com::sun::star::drawing::Shape;
+
+ /** this is the page number that is used for the preview.
+ For page shapes on notes pages, this can't be changed.
+ For page shapes on handout pages, this value only
+ describes the relative order of the different page
+ shapes on the page.
+ */
+ [optional, property] long PageNumber;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/PluginShape.idl b/offapi/com/sun/star/drawing/PluginShape.idl
new file mode 100644
index 000000000..5dbaf86c0
--- /dev/null
+++ b/offapi/com/sun/star/drawing/PluginShape.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_drawing_PluginShape_idl__
+#define __com_sun_star_drawing_PluginShape_idl__
+
+#include <com/sun/star/drawing/Shape.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+
+
+module com { module sun { module star { module drawing {
+
+/** This Shape encapsulates a plugin.
+
+ <p>A plugin is a binary object that is plugged into a document to represent
+ a media-type that is not handled natively by the application.
+*/
+published service PluginShape
+{
+ /** basic service for position, size and z-order.
+
+ <p>A PluginShape cannot be rotated.
+ */
+ service com::sun::star::drawing::Shape;
+
+
+ /** This property specifies the media-type to which this plugin should
+ be registered.
+ */
+ [property] string PluginMimeType;
+
+
+ /** This property specifies the url to the binary object.
+ */
+ [property] string PluginURL;
+
+
+ /** This sequence contains parameters that are passed to the application
+ that renders the plugin when it is initialized.
+ */
+ [property] sequence< com::sun::star::beans::PropertyValue > PluginCommands;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/PointSequence.idl b/offapi/com/sun/star/drawing/PointSequence.idl
new file mode 100644
index 000000000..604d66bf6
--- /dev/null
+++ b/offapi/com/sun/star/drawing/PointSequence.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_PointSequence_idl__
+#define __com_sun_star_drawing_PointSequence_idl__
+
+#include <com/sun/star/awt/Point.idl>
+
+
+module com { module sun { module star { module drawing {
+
+published typedef sequence<com::sun::star::awt::Point> PointSequence;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/PointSequenceSequence.idl b/offapi/com/sun/star/drawing/PointSequenceSequence.idl
new file mode 100644
index 000000000..e0f2c54ff
--- /dev/null
+++ b/offapi/com/sun/star/drawing/PointSequenceSequence.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_PointSequenceSequence_idl__
+#define __com_sun_star_drawing_PointSequenceSequence_idl__
+
+#include <com/sun/star/drawing/PointSequence.idl>
+
+
+module com { module sun { module star { module drawing {
+
+published typedef sequence<PointSequence> PointSequenceSequence;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/PolyLineShape.idl b/offapi/com/sun/star/drawing/PolyLineShape.idl
new file mode 100644
index 000000000..a5b41181e
--- /dev/null
+++ b/offapi/com/sun/star/drawing/PolyLineShape.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_drawing_PolyLineShape_idl__
+#define __com_sun_star_drawing_PolyLineShape_idl__
+
+#include <com/sun/star/drawing/Shape.idl>
+
+#include <com/sun/star/drawing/LineProperties.idl>
+
+#include <com/sun/star/drawing/PolyPolygonDescriptor.idl>
+
+#include <com/sun/star/drawing/Text.idl>
+
+#include <com/sun/star/drawing/ShadowProperties.idl>
+
+#include <com/sun/star/drawing/RotationDescriptor.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** This service is for a polyline shape.
+ <p>A polyline has one or more straight lines.</p>
+ */
+published service PolyLineShape
+{
+ service com::sun::star::drawing::Shape;
+
+ service com::sun::star::drawing::LineProperties;
+
+ service com::sun::star::drawing::PolyPolygonDescriptor;
+
+ service com::sun::star::drawing::Text;
+
+ service com::sun::star::drawing::ShadowProperties;
+
+ service com::sun::star::drawing::RotationDescriptor;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/PolyPolygonBezierCoords.idl b/offapi/com/sun/star/drawing/PolyPolygonBezierCoords.idl
new file mode 100644
index 000000000..58e32c3c1
--- /dev/null
+++ b/offapi/com/sun/star/drawing/PolyPolygonBezierCoords.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_PolyPolygonBezierCoords_idl__
+#define __com_sun_star_drawing_PolyPolygonBezierCoords_idl__
+
+#include <com/sun/star/drawing/PointSequenceSequence.idl>
+
+#include <com/sun/star/drawing/FlagSequenceSequence.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** specifies the coordinates for a poly polygon Bezier.
+ */
+published struct PolyPolygonBezierCoords
+{
+ com::sun::star::drawing::PointSequenceSequence Coordinates;
+ com::sun::star::drawing::FlagSequenceSequence Flags;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/PolyPolygonBezierDescriptor.idl b/offapi/com/sun/star/drawing/PolyPolygonBezierDescriptor.idl
new file mode 100644
index 000000000..eb1e7c44f
--- /dev/null
+++ b/offapi/com/sun/star/drawing/PolyPolygonBezierDescriptor.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_drawing_PolyPolygonBezierDescriptor_idl__
+#define __com_sun_star_drawing_PolyPolygonBezierDescriptor_idl__
+
+#include <com/sun/star/drawing/PolygonKind.idl>
+
+#include <com/sun/star/drawing/PolyPolygonBezierCoords.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** This service describes a polypolygonbezier.
+ <p>A polypolygonbezier consists of multiple Bezier polygons combined
+ in one.</p>
+ */
+published service PolyPolygonBezierDescriptor
+{
+
+ /** This is the type of this polygon.
+ */
+ [readonly, property] com::sun::star::drawing::PolygonKind PolygonKind;
+
+
+ /** These are the Bezier points of this polygon.
+ */
+ [property] com::sun::star::drawing::PolyPolygonBezierCoords PolyPolygonBezier;
+
+
+ /** These are the untransformed Bezier coordinates of this polygon.
+ */
+ [property] com::sun::star::drawing::PolyPolygonBezierCoords Geometry;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/PolyPolygonBezierShape.idl b/offapi/com/sun/star/drawing/PolyPolygonBezierShape.idl
new file mode 100644
index 000000000..eccb58783
--- /dev/null
+++ b/offapi/com/sun/star/drawing/PolyPolygonBezierShape.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_drawing_PolyPolygonBezierShape_idl__
+#define __com_sun_star_drawing_PolyPolygonBezierShape_idl__
+
+#include <com/sun/star/drawing/Shape.idl>
+
+#include <com/sun/star/drawing/LineProperties.idl>
+#include <com/sun/star/drawing/FillProperties.idl>
+
+#include <com/sun/star/drawing/PolyPolygonBezierDescriptor.idl>
+
+#include <com/sun/star/drawing/Text.idl>
+
+#include <com/sun/star/drawing/ShadowProperties.idl>
+
+#include <com/sun/star/drawing/RotationDescriptor.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** This service specifies a poly-polygon Bezier shape.
+ */
+published service PolyPolygonBezierShape
+{
+ service com::sun::star::drawing::Shape;
+
+ service com::sun::star::drawing::LineProperties;
+
+ service com::sun::star::drawing::FillProperties;
+
+ service com::sun::star::drawing::PolyPolygonBezierDescriptor;
+
+ service com::sun::star::drawing::Text;
+
+ service com::sun::star::drawing::ShadowProperties;
+
+ service com::sun::star::drawing::RotationDescriptor;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/PolyPolygonDescriptor.idl b/offapi/com/sun/star/drawing/PolyPolygonDescriptor.idl
new file mode 100644
index 000000000..ca052bc8d
--- /dev/null
+++ b/offapi/com/sun/star/drawing/PolyPolygonDescriptor.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_drawing_PolyPolygonDescriptor_idl__
+#define __com_sun_star_drawing_PolyPolygonDescriptor_idl__
+
+#include <com/sun/star/drawing/PolygonKind.idl>
+
+#include <com/sun/star/drawing/PointSequenceSequence.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** This service describes a poly-polygon.
+ <p>A poly-polygon consists of multiple polygons combined in one.</p>
+ */
+published service PolyPolygonDescriptor
+{
+
+ /** This is the type of polygon.
+ */
+ [readonly, property] com::sun::star::drawing::PolygonKind PolygonKind;
+
+
+ /** These are the reference points for this polygon.
+ */
+ [property] com::sun::star::drawing::PointSequenceSequence PolyPolygon;
+
+
+ /** These are the untransformed points of this polygon.
+ */
+ [property] com::sun::star::drawing::PointSequenceSequence Geometry;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/PolyPolygonShape.idl b/offapi/com/sun/star/drawing/PolyPolygonShape.idl
new file mode 100644
index 000000000..e901e92c7
--- /dev/null
+++ b/offapi/com/sun/star/drawing/PolyPolygonShape.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_drawing_PolyPolygonShape_idl__
+#define __com_sun_star_drawing_PolyPolygonShape_idl__
+
+#include <com/sun/star/drawing/Shape.idl>
+
+#include <com/sun/star/drawing/LineProperties.idl>
+#include <com/sun/star/drawing/FillProperties.idl>
+
+#include <com/sun/star/drawing/PolyPolygonDescriptor.idl>
+
+#include <com/sun/star/drawing/Text.idl>
+
+#include <com/sun/star/drawing/ShadowProperties.idl>
+
+#include <com/sun/star/drawing/RotationDescriptor.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** This service is for a polygon shape.
+ <p>A poly-polygon has 2 or more straight lines, with the first and
+ last point connected by a straight line.</p>
+ */
+published service PolyPolygonShape
+{
+ service com::sun::star::drawing::Shape;
+
+ service com::sun::star::drawing::LineProperties;
+
+ service com::sun::star::drawing::FillProperties;
+
+ service com::sun::star::drawing::PolyPolygonDescriptor;
+
+ service com::sun::star::drawing::Text;
+
+ service com::sun::star::drawing::ShadowProperties;
+
+ service com::sun::star::drawing::RotationDescriptor;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/PolyPolygonShape3D.idl b/offapi/com/sun/star/drawing/PolyPolygonShape3D.idl
new file mode 100644
index 000000000..7ec591722
--- /dev/null
+++ b/offapi/com/sun/star/drawing/PolyPolygonShape3D.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_PolyPolygonShape3D_idl__
+#define __com_sun_star_drawing_PolyPolygonShape3D_idl__
+
+#include <com/sun/star/drawing/DoubleSequenceSequence.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** specifies the coordinates of a 3-dimensional poly polygon.
+ */
+published struct PolyPolygonShape3D
+{
+ com::sun::star::drawing::DoubleSequenceSequence SequenceX;
+ com::sun::star::drawing::DoubleSequenceSequence SequenceY;
+ com::sun::star::drawing::DoubleSequenceSequence SequenceZ;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/PolygonFlags.idl b/offapi/com/sun/star/drawing/PolygonFlags.idl
new file mode 100644
index 000000000..b4d4e12d6
--- /dev/null
+++ b/offapi/com/sun/star/drawing/PolygonFlags.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_drawing_PolygonFlags_idl__
+#define __com_sun_star_drawing_PolygonFlags_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** defines how a Bezier curve goes through a point.
+ */
+published enum PolygonFlags
+{
+ /** the point is normal, from the curve discussion view.
+ */
+ NORMAL,
+ /** the point is smooth, the first derivation from the curve discussion view.
+ */
+ SMOOTH,
+ /** the point is a control point, to control the curve from the user interface.
+ */
+ CONTROL,
+ /** the point is symmetric, the second derivation from the curve discussion view.
+ */
+ SYMMETRIC
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/PolygonKind.idl b/offapi/com/sun/star/drawing/PolygonKind.idl
new file mode 100644
index 000000000..485aafe9d
--- /dev/null
+++ b/offapi/com/sun/star/drawing/PolygonKind.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_drawing_PolygonKind_idl__
+#define __com_sun_star_drawing_PolygonKind_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** This enumeration defines the type of polygon.
+ */
+published enum PolygonKind
+{
+ /** This is the PolygonKind for a LineShape.
+ */
+ LINE,
+
+ /** This is the PolygonKind for a PolyPolygonShape.
+ */
+ POLY,
+
+ /** This is the PolygonKind for a PolyLineShape.
+ */
+ PLIN,
+
+ /** This is the PolygonKind for an OpenBezierShape.
+ */
+ PATHLINE,
+
+ /** This is the PolygonKind for a ClosedBezierShape.
+ */
+ PATHFILL,
+
+ /** This is the PolygonKind for an OpenFreeHandShape.
+ */
+ FREELINE,
+
+ /** This is the PolygonKind for a ClosedFreeHandShape.
+ */
+ FREEFILL,
+
+ /** This is the PolygonKind for a PolyPolygonPathShape.
+ */
+ PATHPOLY,
+
+ /** This is the PolygonKind for a PolyLinePathShape.
+ */
+ PATHPLIN
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/Position3D.idl b/offapi/com/sun/star/drawing/Position3D.idl
new file mode 100644
index 000000000..e9123a35a
--- /dev/null
+++ b/offapi/com/sun/star/drawing/Position3D.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_drawing_Position3D_idl__
+#define __com_sun_star_drawing_Position3D_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** specifies a 3-dimensional point.
+ */
+published struct Position3D
+{
+ /** the position on the X-Axis in the 3D room in 100th of millimeters
+ */
+ double PositionX;
+ /** the position on the Y-Axis in the 3D room in 100th of millimeters
+ */
+ double PositionY;
+ /** the position on the Z-Axis in the 3D room in 100th of millimeters
+ */
+ double PositionZ;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/ProjectionMode.idl b/offapi/com/sun/star/drawing/ProjectionMode.idl
new file mode 100644
index 000000000..9803d5ebf
--- /dev/null
+++ b/offapi/com/sun/star/drawing/ProjectionMode.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_drawing_ProjectionMode_idl__
+#define __com_sun_star_drawing_ProjectionMode_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** defines whether the 3D objects are to be
+ drawn in perspective or parallel projection.
+ */
+published enum ProjectionMode
+{
+ /** the 3D objects are drawn in the parallel projection.
+ */
+ PARALLEL,
+ /** the 3D objects are drawn in the perspective projection.
+ */
+ PERSPECTIVE
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/RectanglePoint.idl b/offapi/com/sun/star/drawing/RectanglePoint.idl
new file mode 100644
index 000000000..265106064
--- /dev/null
+++ b/offapi/com/sun/star/drawing/RectanglePoint.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_drawing_RectanglePoint_idl__
+#define __com_sun_star_drawing_RectanglePoint_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** specifies one of nine points in a rectangle.
+ */
+published enum RectanglePoint
+{
+ /** specify to the point on the left side from the top of the rectangle.
+ */
+ LEFT_TOP,
+ /** specify to the point on the middle of the top from the rectangle.
+ */
+ MIDDLE_TOP,
+ /** specify to the point on the right side from the top of the rectangle.
+ */
+ RIGHT_TOP,
+ /** specify to the point on the middle of the left side from the rectangle.
+ */
+ LEFT_MIDDLE,
+ /** specify to the point on the center from the rectangle.
+ */
+ MIDDLE_MIDDLE,
+ /** specify to the point on the middle of the right side from the rectangle.
+ */
+ RIGHT_MIDDLE,
+ /** specify to the point on the bottom of the left side from the rectangle.
+ */
+ LEFT_BOTTOM,
+ /** specify to the point on the middle of the bottom from the rectangle.
+ */
+ MIDDLE_BOTTOM,
+ /** specify to the point on the bottom of the right side from the rectangle.
+ */
+ RIGHT_BOTTOM
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/RectangleShape.idl b/offapi/com/sun/star/drawing/RectangleShape.idl
new file mode 100644
index 000000000..1b1865801
--- /dev/null
+++ b/offapi/com/sun/star/drawing/RectangleShape.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_drawing_RectangleShape_idl__
+#define __com_sun_star_drawing_RectangleShape_idl__
+
+#include <com/sun/star/drawing/Shape.idl>
+#include <com/sun/star/drawing/FillProperties.idl>
+
+#include <com/sun/star/drawing/LineProperties.idl>
+
+#include <com/sun/star/drawing/Text.idl>
+
+#include <com/sun/star/drawing/ShadowProperties.idl>
+
+#include <com/sun/star/drawing/RotationDescriptor.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** This service is for a rectangle Shape.
+ */
+published service RectangleShape
+{
+ service com::sun::star::drawing::Shape;
+
+ service com::sun::star::drawing::FillProperties;
+
+ service com::sun::star::drawing::LineProperties;
+
+ service com::sun::star::drawing::Text;
+
+ service com::sun::star::drawing::ShadowProperties;
+
+ service com::sun::star::drawing::RotationDescriptor;
+
+
+ /** For Shapes with rounded corners, this is the radius
+ of the corners.
+ */
+ [property] long CornerRadius;
+ };
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/RotationDescriptor.idl b/offapi/com/sun/star/drawing/RotationDescriptor.idl
new file mode 100644
index 000000000..1697053e8
--- /dev/null
+++ b/offapi/com/sun/star/drawing/RotationDescriptor.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_drawing_RotationDescriptor_idl__
+#define __com_sun_star_drawing_RotationDescriptor_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** This abstract service specifies the general characteristics of an optional
+ rotation and shearing for a Shape.
+
+ This service is deprecated, instead please use the <code>Transformation</code>
+ property of the service Shape.
+
+ @deprecated
+ */
+published service RotationDescriptor
+{
+
+ /** This is the angle for rotation of this Shape.
+ The shape is rotated counter-clockwise around the center
+ of the bounding box.
+
+ This property contains an error, the rotation angle is mathematically
+ inverted when You take into account that the Y-Axis of the coordinate
+ system is pointing down. Please use the <code>Transformation</code>
+ property of the service Shape instead.
+ @deprecated
+ */
+ [property] long RotateAngle;
+
+
+ /** This is the amount of shearing for this Shape.
+ The shape is sheared counter-clockwise around the center
+ of the bounding box
+
+ @deprecated
+ */
+ [optional, property] long ShearAngle;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/ShadeMode.idl b/offapi/com/sun/star/drawing/ShadeMode.idl
new file mode 100644
index 000000000..90b70cb27
--- /dev/null
+++ b/offapi/com/sun/star/drawing/ShadeMode.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_drawing_ShadeMode_idl__
+#define __com_sun_star_drawing_ShadeMode_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** The ShadeMode determines the quality of displaying the object.
+ */
+published enum ShadeMode
+{
+ /** With FLAT shading, the faces of the object are
+ rendered in a solid color.
+ */
+ FLAT,
+
+ /** With PHONG shading, the normal itself is interpolated
+ to get more realistic colors and light reflections.
+ */
+ PHONG,
+
+
+ /** With SMOOTH shading, the colors of the lit vertices is
+ interpolated.
+ */
+ SMOOTH,
+
+ /** DRAFT is a special mode which uses a BSP tree and
+ triangle subdivision for displaying.
+ */
+ DRAFT
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/ShadingPattern.idl b/offapi/com/sun/star/drawing/ShadingPattern.idl
new file mode 100644
index 000000000..abc319072
--- /dev/null
+++ b/offapi/com/sun/star/drawing/ShadingPattern.idl
@@ -0,0 +1,225 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.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_drawing_ShadingPattern_idl__
+#define __com_sun_star_drawing_ShadingPattern_idl__
+
+
+
+module com { module sun { module star { module drawing {
+
+/** The ShadingPattern determines the background color pattern against
+ which characters and graphics are displayed, typically in tables.
+ The color can be no color or it can be a specific color with
+ a transparency or pattern value.
+ */
+constants ShadingPattern
+{
+ /* Clear */
+ const long CLEAR = 0x0000;
+
+ /* Solid */
+ const long SOLID = 0x0001;
+
+ /* 5% - pct5 */
+ const long PCT5 = 0x0002;
+
+ /* 10% - pct10 */
+ const long PCT10 = 0x0003;
+
+ /* 20% - pct20 */
+ const long PCT20 = 0x0004;
+
+ /* 25% - pct25 */
+ const long PCT25 = 0x0005;
+
+ /* 30% - pct30 */
+ const long PCT30 = 0x0006;
+
+ /* 40% - pct40 */
+ const long PCT40 = 0x0007;
+
+ /* 50% - pct50 */
+ const long PCT50 = 0x0008;
+
+ /* 60% - pct60 */
+ const long PCT60 = 0x0009;
+
+ /* 70% - pct70 */
+ const long PCT70 = 0x000A;
+
+ /* 75% - pct75 */
+ const long PCT75 = 0x000B;
+
+ /* 80% - pct80 */
+ const long PCT80 = 0x000C;
+
+ /* 90% - pct90 */
+ const long PCT90 = 0x000D;
+
+
+
+ /* Horizontal Stripe */
+ const long HORZ_STRIPE = 0x000E;
+
+ /* Vertical Stripe */
+ const long VERT_STRIPE = 0x000F;
+
+ /* Reverse Diagonal Stripe */
+ const long REVERSE_DIAG_STRIPE = 0x0010;
+
+ /* Diagonal Stripe */
+ const long DIAG_STRIPE = 0x0011;
+
+ /* Horizontal Cross */
+ const long HORZ_CROSS = 0x0012;
+
+ /* Diagonal Cross */
+ const long DIAG_CROSS = 0x0013;
+
+ /* Thin Horizontal Stripe */
+ const long THIN_HORZ_STRIPE = 0x0014;
+
+ /* Thin Vertical Stripe */
+ const long THIN_VERT_STRIPE = 0x0015;
+
+ /* Thin Reverse Diagonal Stripe */
+ const long THIN_REVERSE_DIAG_STRIPE = 0x0016;
+
+ /* Thin Diagonal Stripe */
+ const long THIN_DIAG_STRIPE = 0x0017;
+
+ /* Thin Horizontal Cross */
+ const long THIN_HORZ_CROSS = 0x0018;
+
+ /* Thin Diagonal Cross */
+ const long THIN_DIAG_CROSS = 0x0019;
+
+
+
+ /* Unused 1 */
+ const long UNUSED_1 = 0x001A;
+
+ /* Unused 2 */
+ const long UNUSED_2 = 0x001B;
+
+ /* Unused 3 */
+ const long UNUSED_3 = 0x001C;
+
+ /* Unused 4 */
+ const long UNUSED_4 = 0x001D;
+
+ /* Unused 5 */
+ const long UNUSED_5 = 0x001E;
+
+ /* Unused 6 */
+ const long UNUSED_6 = 0x001F;
+
+ /* Unused 7 */
+ const long UNUSED_7 = 0x0020;
+
+ /* Unused 8 */
+ const long UNUSED_8 = 0x0021;
+
+ /* Unused 9 */
+ const long UNUSED_9 = 0x0022;
+
+
+
+ /* 2.5% */
+ const long PCT2 = 0x0023;
+
+ /* 7.5% */
+ const long PCT7 = 0x0024;
+
+ /* 12.5% - pct12 */
+ const long PCT12 = 0x0025;
+
+ /* 15% - pct15 */
+ const long PCT15 = 0x0026;
+
+ /* 17.5% */
+ const long PCT17 = 0x0027;
+
+ /* 22.5% */
+ const long PCT22 = 0x0028;
+
+ /* 27.5% */
+ const long PCT27 = 0x0029;
+
+ /* 32.5% */
+ const long PCT32 = 0x002A;
+
+ /* 35% - pct35 */
+ const long PCT35 = 0x002B;
+
+ /* 37.5% - pct37 */
+ const long PCT37 = 0x002C;
+
+ /* 42.5% */
+ const long PCT42 = 0x002D;
+
+ /* 45% - pct45 */
+ const long PCT45 = 0x002E;
+
+ /* 47.5% */
+ const long PCT47 = 0x002F;
+
+ /* 52.5% */
+ const long PCT52 = 0x0030;
+
+ /* 55% - pct55 */
+ const long PCT55 = 0x0031;
+
+ /* 57.5% */
+ const long PCT57 = 0x0032;
+
+ /* 62.5% - pct62 */
+ const long PCT62 = 0x0033;
+
+ /* 65% - pct65 */
+ const long PCT65 = 0x0034;
+
+ /* 67.5% */
+ const long PCT67 = 0x0035;
+
+ /* 72.5% */
+ const long PCT72 = 0x0036;
+
+ /* 77.5% */
+ const long PCT77 = 0x0037;
+
+ /* 82.5% */
+ const long PCT82 = 0x0038;
+
+ /* 85% - pct85 */
+ const long PCT85 = 0x0039;
+
+ /* 87.5% - pct87 */
+ const long PCT87 = 0x003A;
+
+ /* 92.5% */
+ const long PCT92 = 0x003B;
+
+ /* 95% - pct95 */
+ const long PCT95 = 0x003C;
+
+ /* 97.5% */
+ const long PCT97 = 0x003D;
+
+ /* Nil */
+ const long NIL = 0xFFFF;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/ShadowProperties.idl b/offapi/com/sun/star/drawing/ShadowProperties.idl
new file mode 100644
index 000000000..7d7ad37d7
--- /dev/null
+++ b/offapi/com/sun/star/drawing/ShadowProperties.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_drawing_ShadowProperties_idl__
+#define __com_sun_star_drawing_ShadowProperties_idl__
+
+#include <com/sun/star/util/Color.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** This is a set of properties to describe the style for rendering a shadow.
+ */
+published service ShadowProperties
+{
+
+ /** enables/disables the shadow of a Shape.
+ <p>The other shadow properties are only applied if this is
+ set to `TRUE`.</p>
+ */
+ [property] boolean Shadow;
+
+
+ /** This is the color of the shadow of this Shape.
+ */
+ [property] com::sun::star::util::Color ShadowColor;
+
+
+ /** This defines the degree of transparence of the shadow in percent.
+ */
+ [property] short ShadowTransparence;
+
+
+ /** This is the horizontal distance of the left edge of the
+ Shape to the shadow.
+ */
+ [property] long ShadowXDistance;
+
+
+ /** This is the vertical distance of the top edge of the
+ Shape to the shadow.
+ */
+ [property] long ShadowYDistance;
+
+ /** This defines the degree of blur of the shadow in points.
+ */
+ [property,optional] long ShadowBlur;
+
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/Shape.idl b/offapi/com/sun/star/drawing/Shape.idl
new file mode 100644
index 000000000..7d6e9e22b
--- /dev/null
+++ b/offapi/com/sun/star/drawing/Shape.idl
@@ -0,0 +1,204 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_Shape_idl__
+#define __com_sun_star_drawing_Shape_idl__
+
+#include <com/sun/star/document/LinkTarget.idl>
+#include <com/sun/star/drawing/XShape.idl>
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/style/XStyle.idl>
+#include <com/sun/star/drawing/HomogenMatrix3.idl>
+#include <com/sun/star/drawing/XGluePointsSupplier.idl>
+#include <com/sun/star/container/XNameContainer.idl>
+#include <com/sun/star/beans/XTolerantMultiPropertySet.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+
+ module com { module sun { module star { module drawing {
+
+
+/** This abstract service specifies the general characteristics of all
+ Shapes.
+
+ @see XShape
+ @see com::sun::star::lang::XComponent
+ @see com::sun::star::text::XText
+ @see ShapeDescriptor
+ */
+published service Shape
+{
+
+ /** handles all the properties of this instance.
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+
+ /** This gives you the size and position of this Shape
+ and lets you change it. You can use getShapeType()
+ to determine what kind of shape this is.
+ */
+ interface com::sun::star::drawing::XShape;
+
+
+ /** is used for lifetime control of this Shape.
+ */
+ interface com::sun::star::lang::XComponent;
+
+
+ /** The XShapeDescriptor tells you what kind of
+ Shape this instance is.
+ */
+ interface com::sun::star::drawing::XShapeDescriptor;
+
+
+ /** This interfaces gives access to an optional container of gluepoints.
+ To have unique ids you should query the returned interface for
+ com::sun::star::container::XIdentifierContainer.
+ */
+ [optional] interface com::sun::star::drawing::XGluePointsSupplier;
+
+
+ [optional] interface com::sun::star::beans::XTolerantMultiPropertySet;
+
+
+ /** is used to query or change the ZOrder of this Shape. */
+ [optional, property] long ZOrder;
+
+
+ /** This is the ID of the Layer to which this
+ Shape is attached.
+ */
+ [optional, property] short LayerID;
+
+
+ /** This is the name of the Layer to which this
+ Shape is attached.
+ */
+ [optional, property] string LayerName;
+
+
+ /** If this is `FALSE`, the Shape is not visible
+ on screen outputs. Please note that the Shape may still
+ be visible when printed, see #Printable.
+ */
+ [optional, property] boolean Visible;
+
+
+ /** If this is `FALSE`, the Shape is not visible
+ on printer outputs.
+ */
+ [optional, property] boolean Printable;
+
+
+ /** With this set to `TRUE`, this Shape
+ cannot be moved interactively in the user interface.
+ */
+ [optional, property] boolean MoveProtect;
+
+
+ /** This is the name of this Shape.
+ */
+ [optional, property] string Name;
+
+
+ /** With this set to `TRUE`, this Shape may not be
+ sized interactively in the user interface.
+ */
+ [optional, property] boolean SizeProtect;
+
+
+ /** this property lets you get and set a style for this shape.
+ */
+ [optional, property] com::sun::star::style::XStyle Style;
+
+
+ /** this property lets you get and set the transformation matrix
+ for this shape.
+
+ The transformation is a 3x3 homogeneous matrix and can contain
+ translation, rotation, shearing and scaling.
+ */
+ [optional, property] com::sun::star::drawing::HomogenMatrix3 Transformation;
+
+
+ /** this property stores xml attributes.
+ They will be saved to and restored from automatic styles inside xml files.
+
+ @see com::sun::star::xml::AttributeContainer
+ */
+ [optional, property] com::sun::star::container::XNameContainer ShapeUserDefinedAttributes;
+
+
+ /** this property stores the navigation order of this shape. If this value
+ is negative, the navigation order for this shapes page is equal to
+ the z-order.
+ */
+ [optional, property] long NavigationOrder;
+
+ /** this property lets you get and set a hyperlink for this shape.
+ */
+ [optional, property] string Hyperlink;
+
+ /** Grab bag of shape properties, used as a string-any map for
+ interim interop purposes.
+
+ @since LibreOffice 4.2
+
+ <p>This property is intentionally not handled by the ODF
+ filter. Any member that should be handled there should be
+ first moved out from this grab bag to a separate property.</p>
+ */
+ [optional, property] sequence<com::sun::star::beans::PropertyValue> InteropGrabBag;
+
+ /** contains the relative height of the object.
+ <p> It is only valid if it is greater than zero.</p>
+
+ @since LibreOffice 4.3
+ */
+ [optional, property] short RelativeHeight;
+
+ /** contains the relative width of the object.
+ <p> It is only valid if it is greater than zero. </p>
+
+ @since LibreOffice 4.3
+ */
+ [optional, property] short RelativeWidth;
+
+ /** contains the relation of the relative height of the object.
+ <p> It is only valid if RelativeHeight is greater than zero.</p>
+
+ @see com::sun::star::text::RelOrientation
+ @since LibreOffice 4.3
+ */
+ [optional, property] short RelativeHeightRelation;
+
+ /** contains the relation of the relative width of the object.
+ <p> It is only valid if RelativeWidth is greater than zero.</p>
+
+ @see com::sun::star::text::RelOrientation
+ @since LibreOffice 4.3
+ */
+ [optional, property] short RelativeWidthRelation;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/ShapeCollection.idl b/offapi/com/sun/star/drawing/ShapeCollection.idl
new file mode 100644
index 000000000..38acd173c
--- /dev/null
+++ b/offapi/com/sun/star/drawing/ShapeCollection.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_ShapeCollection_idl__
+#define __com_sun_star_drawing_ShapeCollection_idl__
+
+#include <com/sun/star/drawing/Shapes.idl>
+
+
+module com { module sun { module star { module drawing {
+
+/** This service describes a generic container to manage collections of
+ Shape. The Shape that are added to this
+ collection are not owned by the collection.
+
+ This service is used by the view f.e. to return a collection of
+ Shape that are selected at the ui.
+*/
+published service ShapeCollection : com::sun::star::drawing::XShapes;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/Shapes.idl b/offapi/com/sun/star/drawing/Shapes.idl
new file mode 100644
index 000000000..0f6e7c6eb
--- /dev/null
+++ b/offapi/com/sun/star/drawing/Shapes.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_Shapes_idl__
+#define __com_sun_star_drawing_Shapes_idl__
+
+#include <com/sun/star/drawing/XShapes.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** This service is for a generic collection of shapes.
+ */
+published service Shapes
+{
+ interface com::sun::star::drawing::XShapes;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/SlideRenderer.idl b/offapi/com/sun/star/drawing/SlideRenderer.idl
new file mode 100644
index 000000000..63ea4f1cf
--- /dev/null
+++ b/offapi/com/sun/star/drawing/SlideRenderer.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_drawing_SlideRenderer_idl__
+#define __com_sun_star_drawing_SlideRenderer_idl__
+
+#include <com/sun/star/drawing/XSlideRenderer.idl>
+
+module com { module sun { module star { module drawing {
+
+/** Create preview bitmaps for single slides.
+*/
+service SlideRenderer : XSlideRenderer
+{
+ /** Create a new SlideRenderer object.
+ */
+ create ();
+};
+
+}; }; }; }; // ::com::sun::star::drawing
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/SlideSorter.idl b/offapi/com/sun/star/drawing/SlideSorter.idl
new file mode 100644
index 000000000..ae164153f
--- /dev/null
+++ b/offapi/com/sun/star/drawing/SlideSorter.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_drawing_SlideSorter_idl__
+#define __com_sun_star_drawing_SlideSorter_idl__
+
+#include <com/sun/star/drawing/framework/XView.idl>
+#include <com/sun/star/drawing/XDrawView.idl>
+#include <com/sun/star/awt/XWindow.idl>
+#include <com/sun/star/container/XIndexAccess.idl>
+#include <com/sun/star/frame/XController.idl>
+#include <com/sun/star/util/Color.idl>
+#include <com/sun/star/drawing/XSlideSorterBase.idl>
+
+module com { module sun { module star { module drawing {
+
+
+/** A slide sorter shows previews for a set of slides, typically all slides
+ in a document, and allows the selection, reordering, creation, and
+ deletion of slides.
+ <p>In the drawing framework a slide sorter is regarded as a view.</p>
+*/
+service SlideSorter : XSlideSorterBase
+{
+ /** Create a new slide sorter object.
+ @param xViewId
+ The resource id of the new slide sorter.
+ @param xController
+ The access point to an impress document.
+ @param xParentWindow
+ The parent window which will be completely covered by the new
+ slide sorter.
+ */
+ create (
+ [in] framework::XResourceId xViewId,
+ [in] ::com::sun::star::frame::XController xController,
+ [in] ::com::sun::star::awt::XWindow xParentWindow);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/SnapObjectType.idl b/offapi/com/sun/star/drawing/SnapObjectType.idl
new file mode 100644
index 000000000..4f4189a17
--- /dev/null
+++ b/offapi/com/sun/star/drawing/SnapObjectType.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_SnapObjectType_idl__
+#define __com_sun_star_drawing_SnapObjectType_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** @deprecated
+ */
+published enum SnapObjectType
+{
+ POINT,
+ VERTICAL,
+ HORIZONTAL
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/Text.idl b/offapi/com/sun/star/drawing/Text.idl
new file mode 100644
index 000000000..c7a4659e1
--- /dev/null
+++ b/offapi/com/sun/star/drawing/Text.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_drawing_Text_idl__
+#define __com_sun_star_drawing_Text_idl__
+
+#include <com/sun/star/text/XText.idl>
+
+#include <com/sun/star/drawing/TextProperties.idl>
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** This abstract service specifies the general characteristics of an optional
+ text inside a Shape.
+ */
+published service Text
+{
+ /** With this interface you can modify the text of this Shape.
+ */
+ interface com::sun::star::text::XText;
+
+ /** The properties in this service describe the style for rendering
+ a shapes text area.
+ */
+ service com::sun::star::drawing::TextProperties;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/TextAdjust.idl b/offapi/com/sun/star/drawing/TextAdjust.idl
new file mode 100644
index 000000000..bb13ae42b
--- /dev/null
+++ b/offapi/com/sun/star/drawing/TextAdjust.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_drawing_TextAdjust_idl__
+#define __com_sun_star_drawing_TextAdjust_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** This enumeration specifies the position of a text inside a shape in
+ relation to the shape.
+
+ @deprecated
+
+ <p>This counts for the complete text, not individual lines. </p>
+ */
+published enum TextAdjust
+{
+ /** The left edge of the text is adjusted to the left edge of the shape.
+ */
+ LEFT,
+
+ /** The text is centered inside the shape.
+ */
+ CENTER,
+
+ /** The right edge of the text is adjusted to the right edge of the shape.
+ */
+ RIGHT,
+
+ /** The text extends from the left to the right edge of the shape.
+ */
+ BLOCK,
+
+ /** The text is stretched so that the longest line goes from the left
+ to the right edge of the shape.
+ */
+ STRETCH
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/TextAnimationDirection.idl b/offapi/com/sun/star/drawing/TextAnimationDirection.idl
new file mode 100644
index 000000000..e392d63ac
--- /dev/null
+++ b/offapi/com/sun/star/drawing/TextAnimationDirection.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_drawing_TextAnimationDirection_idl__
+#define __com_sun_star_drawing_TextAnimationDirection_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** This enumeration defines the movement direction of a scrolltext.
+ */
+published enum TextAnimationDirection
+{
+ LEFT,
+ RIGHT,
+ UP,
+ DOWN
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/TextAnimationKind.idl b/offapi/com/sun/star/drawing/TextAnimationKind.idl
new file mode 100644
index 000000000..12f10a44b
--- /dev/null
+++ b/offapi/com/sun/star/drawing/TextAnimationKind.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_drawing_TextAnimationKind_idl__
+#define __com_sun_star_drawing_TextAnimationKind_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** This enumeration specifies the type of animation for a text.
+ */
+published enum TextAnimationKind
+{
+ /** Don't animate this text.
+ */
+ NONE,
+
+ /** Let this text switch its state from visible to invisible continuously.
+ */
+ BLINK,
+
+ /** Let this text scroll.
+ */
+ SCROLL,
+
+ /** Scroll the text from one side to the other and back.
+ */
+ ALTERNATE,
+
+ /** Scroll the text from one side to the final position and stop there.
+ */
+ SLIDE
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/TextFitToSizeType.idl b/offapi/com/sun/star/drawing/TextFitToSizeType.idl
new file mode 100644
index 000000000..00c9598fd
--- /dev/null
+++ b/offapi/com/sun/star/drawing/TextFitToSizeType.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_drawing_TextFitToSizeType_idl__
+#define __com_sun_star_drawing_TextFitToSizeType_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** This enumeration specifies how the text within a shape relates to the
+ size of the shape.
+ */
+published enum TextFitToSizeType
+{
+ /** The text size is only defined by the font properties.
+ */
+ NONE,
+
+ /** The bitmap with the rendered glyphs is scaled up or down
+ proportionally to fit the size of the shape.
+ This may scale anisotropically.
+ No AutoGrow and no Auto line-breaks in this case.
+
+ On fontwork custom shapes, the rendering is different:
+ each line of text is <em>separately</em> scaled
+ proportionally to fit the width.
+ */
+ PROPORTIONAL,
+
+ /** Nowadays this is the same as `PROPORTIONAL`.
+ @note This is actually only implemented on fontwork
+ custom shapes, and the only supported option
+ (other than NONE) on fontwork shapes.
+ Why this is in this enum and not a value of
+ com.sun.star.drawing.TextHorizontalAdjust
+ is anybody's guess.
+ */
+ ALLLINES,
+
+ /** The font size is scaled down (never up!) isotropically to
+ fit the available space. Auto line-breaks will keep working.
+ */
+ AUTOFIT
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/TextHorizontalAdjust.idl b/offapi/com/sun/star/drawing/TextHorizontalAdjust.idl
new file mode 100644
index 000000000..61eb05b42
--- /dev/null
+++ b/offapi/com/sun/star/drawing/TextHorizontalAdjust.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_drawing_TextHorizontalAdjust_idl__
+#define __com_sun_star_drawing_TextHorizontalAdjust_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** This enumeration specifies the horizontal position of text inside a shape in
+ relation to the shape.
+ <p>This counts for the complete text, not individual lines. </p>
+ */
+published enum TextHorizontalAdjust
+{
+
+ /** The left edge of the text is adjusted to the left edge of the shape.
+ */
+ LEFT,
+
+
+ /** The text is centered inside the shape.
+ */
+ CENTER,
+
+
+ /** The right edge of the text is adjusted to the right edge of the shape.
+ */
+ RIGHT,
+
+
+ /** The text extends from the left to the right edge of the shape.
+ */
+ BLOCK
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/TextProperties.idl b/offapi/com/sun/star/drawing/TextProperties.idl
new file mode 100644
index 000000000..eb045624a
--- /dev/null
+++ b/offapi/com/sun/star/drawing/TextProperties.idl
@@ -0,0 +1,267 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_TextProperties_idl__
+#define __com_sun_star_drawing_TextProperties_idl__
+
+#include <com/sun/star/container/XIndexReplace.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/drawing/TextFitToSizeType.idl>
+
+#include <com/sun/star/drawing/TextAdjust.idl>
+
+#include <com/sun/star/drawing/TextAnimationDirection.idl>
+
+#include <com/sun/star/drawing/TextAnimationKind.idl>
+
+#include <com/sun/star/drawing/TextVerticalAdjust.idl>
+#include <com/sun/star/drawing/TextHorizontalAdjust.idl>
+#include <com/sun/star/text/WritingMode.idl>
+#include <com/sun/star/text/XTextColumns.idl>
+
+
+ module com { module sun { module star { module drawing {
+
+
+
+/** This is a set of properties to describe the style for rendering the
+ text area inside a shape.
+ */
+published service TextProperties
+{
+ /** The properties in this service set default formats for text
+ inside the Shape.
+ */
+ service com::sun::star::style::CharacterProperties;
+
+
+ /** The properties in this service set default formats for Asian text
+ inside the Shape.
+ */
+ [optional] service com::sun::star::style::CharacterPropertiesAsian;
+
+
+ /** The properties in this service set default formats for complex text
+ inside the Shape.
+ */
+ [optional] service com::sun::star::style::CharacterPropertiesComplex;
+
+
+ /** The properties in this service set default formats for text
+ inside the Shape.
+ */
+ service com::sun::star::style::ParagraphProperties;
+
+
+ /** The properties in this service set default formats for Asian text
+ inside the Shape.
+ */
+ [optional] service com::sun::star::style::ParagraphPropertiesAsian;
+
+
+ /** The properties in this service set default formats for complex text
+ inside the Shape.
+ */
+ [optional] service com::sun::star::style::ParagraphPropertiesComplex;
+
+ /** If this is `TRUE`, numbering is ON for the text of
+ this Shape.
+ */
+ [optional, property] boolean IsNumbering;
+
+
+ /** describes the numbering levels.
+ <p>The different rules accessible with this
+ com::sun::star::container::XIndexReplace interface
+ are sequences of property values as described in the service
+ com::sun::star::style::NumberingRule.</p>
+ */
+ [optional, property] com::sun::star::container::XIndexReplace NumberingRules;
+
+
+ /** If this value is `TRUE`, the height of the Shape is
+ automatically expanded/shrunk when text is added to or removed from
+ the Shape.
+ */
+ [property] boolean TextAutoGrowHeight;
+
+
+ /** If this value is `TRUE`, the width of the Shape is
+ automatically expanded/shrunk when text is added to or removed from
+ the Shape.
+ */
+ [property] boolean TextAutoGrowWidth;
+
+ /** If this value is `TRUE`, the left edge of every line of text is
+ aligned with the left edge of this Shape.
+ */
+ [property] boolean TextContourFrame;
+
+
+ /** With this set to a value other than `NONE`, the text inside of
+ the Shape is stretched or scaled to fit into the Shape.
+ */
+ [property] com::sun::star::drawing::TextFitToSizeType TextFitToSize;
+
+
+ /** adjusts the horizontal position of the text inside of
+ the Shape.
+ */
+ [property] com::sun::star::drawing::TextHorizontalAdjust TextHorizontalAdjust;
+
+
+ /** adjusts the vertical position of the text inside of
+ the Shape.
+ */
+ [property] com::sun::star::drawing::TextVerticalAdjust TextVerticalAdjust;
+
+
+ /** This is the distance from the left edge of the Shape
+ to the left edge of the text.
+ <p>This is only useful if Text::TextHorizontalAdjust is
+ BLOCK or STRETCH or if
+ Text::TextFitSize is `TRUE`.</p>
+ */
+ [property] long TextLeftDistance;
+
+
+ /** This is the distance from the right edge of the Shape
+ to the right edge of the text.
+
+ <p>This is only useful if Text::TextHorizontalAdjust is
+ BLOCK or STRETCH
+ or if Text::TextFitSize is `TRUE`.</p>
+ */
+ [property] long TextRightDistance;
+
+
+ /** This is the distance from the upper edge of the Shape to
+ the upper edge of the text.
+
+ <p>This is only useful if Text::TextVerticalAdjust is
+ BLOCK or if Text::TextFitSize is
+ `TRUE`.</p>
+ */
+ [property] long TextUpperDistance;
+
+
+ /** This is the distance from the lower edge of the Shape to the
+ lower edge of the text.
+
+
+
+ <p>This is only useful if Text::TextVerticalAdjust is
+ BLOCK or if Text::TextFitSize is
+ `TRUE`.</p>
+ */
+ [property] long TextLowerDistance;
+
+
+ /** with this property you can set the maximum height for a shape with text.
+ On edit, the auto grow feature will not grow the object higher than
+ the value of this property.
+ */
+ [property] long TextMaximumFrameHeight;
+
+
+ /** with this property you can set the maximum width for a shape with text.
+ On edit, the auto grow feature will not grow the objects wider than
+ the value of this property.
+ */
+ [property] long TextMaximumFrameWidth;
+
+
+ /** with this property you can set the minimum height for a shape with text.
+ On edit, the auto grow feature will not shrink the objects height smaller
+ than the value of this property.
+ */
+ [property] long TextMinimumFrameHeight;
+
+
+ /** with this property you can set the minimum width for a shape with text.
+ On edit, the auto grow feature will not shrink the object width smaller
+ than the value of this property.
+ */
+ [property] long TextMinimumFrameWidth;
+
+
+ /** This is the number of pixels the text is moved in each animation step.
+ */
+ [property] short TextAnimationAmount;
+
+
+ /** This number defines how many times the text animation is repeated.
+ <p>If this is set to zero, the repeat is endless.</p>
+ */
+ [property] short TextAnimationCount;
+
+
+ /** This is the delay in thousandths of a second between each
+ of the animation steps.
+ */
+ [property] short TextAnimationDelay;
+
+
+ /** This enumeration defines the direction in which the text moves.
+ */
+ [property] com::sun::star::drawing::TextAnimationDirection TextAnimationDirection;
+
+
+ /** This value defines the type of animation.
+ */
+ [property] com::sun::star::drawing::TextAnimationKind TextAnimationKind;
+
+
+ /** If this value is `TRUE`, the text is visible at the start of the
+ animation.
+ */
+ [property] boolean TextAnimationStartInside;
+
+
+ /** If this value is `TRUE`, the text is visible at the end of the
+ animation.
+ */
+ [property] boolean TextAnimationStopInside;
+
+
+ /** This value selects the writing mode for the text.
+ */
+ [property] ::com::sun::star::text::WritingMode TextWritingMode;
+
+
+ /** Column layout properties for the text.
+
+ @since LibreOffice 7.2
+ */
+ [optional, property] ::com::sun::star::text::XTextColumns TextColumns;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/TextShape.idl b/offapi/com/sun/star/drawing/TextShape.idl
new file mode 100644
index 000000000..e1c440c1d
--- /dev/null
+++ b/offapi/com/sun/star/drawing/TextShape.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_drawing_TextShape_idl__
+#define __com_sun_star_drawing_TextShape_idl__
+
+#include <com/sun/star/drawing/Shape.idl>
+
+#include <com/sun/star/drawing/Text.idl>
+#include <com/sun/star/drawing/FillProperties.idl>
+#include <com/sun/star/drawing/LineProperties.idl>
+
+#include <com/sun/star/drawing/ShadowProperties.idl>
+
+#include <com/sun/star/drawing/RotationDescriptor.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** This service is for a text shape.
+ */
+published service TextShape
+{
+ service com::sun::star::drawing::Shape;
+
+ service com::sun::star::drawing::FillProperties;
+
+ service com::sun::star::drawing::LineProperties;
+
+ service com::sun::star::drawing::ShadowProperties;
+
+ service com::sun::star::drawing::Text;
+
+ service com::sun::star::drawing::RotationDescriptor;
+
+ /** This is the radius of the corners.
+ */
+ [property] long CornerRadius;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/TextVerticalAdjust.idl b/offapi/com/sun/star/drawing/TextVerticalAdjust.idl
new file mode 100644
index 000000000..d799472c2
--- /dev/null
+++ b/offapi/com/sun/star/drawing/TextVerticalAdjust.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_drawing_TextVerticalAdjust_idl__
+#define __com_sun_star_drawing_TextVerticalAdjust_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** This enumeration specifies the vertical position of text inside a shape in
+ relation to the shape.
+ <p>This counts for the complete text, not individual lines. </p>
+ */
+published enum TextVerticalAdjust
+{
+ /** The top edge of the text is adjusted to the top edge of the shape.
+ */
+ TOP,
+
+ /** The text is centered inside the shape.
+ */
+ CENTER,
+
+ /** The bottom edge of the text is adjusted to the bottom edge of the shape.
+ */
+ BOTTOM,
+
+
+ /** The text extends from the top to the bottom edge of the shape.
+ */
+ BLOCK
+ };
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/TextureKind.idl b/offapi/com/sun/star/drawing/TextureKind.idl
new file mode 100644
index 000000000..06452bace
--- /dev/null
+++ b/offapi/com/sun/star/drawing/TextureKind.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_drawing_TextureKind_idl__
+#define __com_sun_star_drawing_TextureKind_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** These enumeration values specify how the texture is applied.
+ @deprecated
+ */
+published enum TextureKind
+{
+ /** With TextureKind LUMINANCE, the texture
+ and the lighting information is mixed to produce the image, so a
+ lit, textured object is achieved.
+ */
+ LUMINANCE,
+
+ /** With this mode the lighting is ignored and only the
+ texture color information is used.
+ */
+ COLOR
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/TextureKind2.idl b/offapi/com/sun/star/drawing/TextureKind2.idl
new file mode 100644
index 000000000..15b39e858
--- /dev/null
+++ b/offapi/com/sun/star/drawing/TextureKind2.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_drawing_TextureKind2_idl__
+#define __com_sun_star_drawing_TextureKind2_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** These enumeration values specify how the texture is applied.
+ */
+published enum TextureKind2
+{
+
+ /** With TextureKind LUMINANCE, the texture
+ and the lighting information is mixed to produce the image, so a
+ lit, textured object is achieved.
+ */
+ LUMINANCE,
+
+ /** With TextureKind INTENSITY, each texture
+ pixel is used as an intensity value.
+ */
+ INTENSITY,
+
+ /** With this mode, the lighting is ignored and only the
+ texture color information is used.
+ */
+ COLOR
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/TextureMode.idl b/offapi/com/sun/star/drawing/TextureMode.idl
new file mode 100644
index 000000000..31f39869f
--- /dev/null
+++ b/offapi/com/sun/star/drawing/TextureMode.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_drawing_TextureMode_idl__
+#define __com_sun_star_drawing_TextureMode_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** The TextureMode defines in which way the texture color data
+ replaces the object color data.
+ */
+published enum TextureMode
+{
+ /** This is the standard mode.
+ */
+ REPLACE,
+
+ /** This mixes up colors in a way defined by the texture bitmap.
+ */
+ MODULATE,
+
+ /** This mixes both data sources in a fixed ratio.
+ */
+ BLEND
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/TextureProjectionMode.idl b/offapi/com/sun/star/drawing/TextureProjectionMode.idl
new file mode 100644
index 000000000..41328e117
--- /dev/null
+++ b/offapi/com/sun/star/drawing/TextureProjectionMode.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_drawing_TextureProjectionMode_idl__
+#define __com_sun_star_drawing_TextureProjectionMode_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** defines how the texture is mapped to the object.
+
+
+
+ <p>It can be set independently for X and Y texture directions.</p>
+ */
+published enum TextureProjectionMode
+{
+ /** This value specifies that the standard object projection method is
+ used.
+ */
+ OBJECTSPECIFIC,
+
+ /** This value specifies a flat parallel projection in the specified
+ degree of freedom (X or Y).
+ */
+ PARALLEL,
+
+ /** This value forces projection to wrapping in X and/or Y.
+ */
+ SPHERE
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/TransparencyGradientTable.idl b/offapi/com/sun/star/drawing/TransparencyGradientTable.idl
new file mode 100644
index 000000000..540d309e5
--- /dev/null
+++ b/offapi/com/sun/star/drawing/TransparencyGradientTable.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_drawing_TransparencyGradientTable_idl__
+#define __com_sun_star_drawing_TransparencyGradientTable_idl__
+
+#include <com/sun/star/container/XNameContainer.idl>
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** this is a container for com::sun::star::awt::Gradients
+
+ <p>It is used for example to access the com::sun::star::awt::Gradients that
+ are used inside a document for fill transparency.
+
+ @see DrawingDocumentFactory
+ @see com::sun::star::awt::Gradient
+*/
+published service TransparencyGradientTable
+{
+ /** this container lets you access the com::sun::star::awt::Gradients that
+ are indexed with a name.
+
+ <p>Note: You can add new entries for later use, but you cannot
+ remove entries that are used inside the document.
+ */
+ interface com::sun::star::container::XNameContainer;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/VerticalDimensioning.idl b/offapi/com/sun/star/drawing/VerticalDimensioning.idl
new file mode 100644
index 000000000..1ec5314d2
--- /dev/null
+++ b/offapi/com/sun/star/drawing/VerticalDimensioning.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_drawing_VerticalDimensioning_idl__
+#define __com_sun_star_drawing_VerticalDimensioning_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** specifies the vertical position of
+ the text of a dimensioning shape.
+ */
+published enum VerticalDimensioning
+{
+ /** Set this to have the application select the best horizontal
+ position for the text.
+ */
+ AUTO,
+
+ /** The text is positioned above the main line.
+ */
+ TOP,
+
+ /** The text is positioned over the main line.
+ */
+ CENTERED,
+
+ /** The text is positioned below the main line.
+ */
+ BOTTOM
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XConnectableShape.idl b/offapi/com/sun/star/drawing/XConnectableShape.idl
new file mode 100644
index 000000000..b9d0a0a94
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XConnectableShape.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_drawing_XConnectableShape_idl__
+#define __com_sun_star_drawing_XConnectableShape_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/awt/Point.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** @deprecated
+*/
+published interface XConnectableShape: com::sun::star::uno::XInterface
+{
+ boolean canConnect( [in] com::sun::star::awt::Point nPos,
+ [in] boolean bCreateGluePoint,
+ [in] long nMaxDist );
+ boolean doConnect( [in] com::sun::star::awt::Point nPos,
+ [in] boolean bCreateGluePoint,
+ [in] long nMaxDist );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XConnectorShape.idl b/offapi/com/sun/star/drawing/XConnectorShape.idl
new file mode 100644
index 000000000..9e8922486
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XConnectorShape.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_drawing_XConnectorShape_idl__
+#define __com_sun_star_drawing_XConnectorShape_idl__
+
+#include <com/sun/star/drawing/XShape.idl>
+
+#include <com/sun/star/drawing/XConnectableShape.idl>
+
+#include <com/sun/star/drawing/ConnectionType.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** @deprecated
+ */
+published interface XConnectorShape: com::sun::star::drawing::XShape
+{
+ /** connects the start of this instance
+ */
+ void connectStart( [in] com::sun::star::drawing::XConnectableShape xShape,
+ [in] com::sun::star::drawing::ConnectionType nPos );
+
+ /** connects the end of this instance.
+ */
+ void connectEnd( [in] com::sun::star::drawing::XConnectableShape xShape,
+ [in] com::sun::star::drawing::ConnectionType nPos );
+
+ /** disconnects the given Shape from the start of
+ this instance.
+ */
+ void disconnectBegin( [in] com::sun::star::drawing::XConnectableShape xShape );
+
+ /** disconnects the given Shape from the end of
+ this instance.
+ */
+ void disconnectEnd( [in] com::sun::star::drawing::XConnectableShape xShape );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XControlShape.idl b/offapi/com/sun/star/drawing/XControlShape.idl
new file mode 100644
index 000000000..cd59ed3f5
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XControlShape.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_drawing_XControlShape_idl__
+#define __com_sun_star_drawing_XControlShape_idl__
+
+#include <com/sun/star/drawing/XShape.idl>
+
+#include <com/sun/star/awt/XControlModel.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** is implemented by a ControlShape to access the controls model.
+
+ @see com::sun::star::drawing::ControlShape
+ @see com::sun::star::awt::UnoControlModel
+*/
+published interface XControlShape: com::sun::star::drawing::XShape
+{
+
+ /** returns the control model of this Shape.
+
+ @return
+ if there is already a control model assigned
+ to this ControlShape, then it's returned.
+ Otherwise you get an empty reference.
+ */
+ com::sun::star::awt::XControlModel getControl();
+
+
+ /** sets the control model for this Shape.
+
+ @param xControl
+ this will be the new control model that is
+ displayed with this shape. You may change
+ the model more than once during the lifetime
+ of a ControlShape
+
+ */
+ void setControl( [in] com::sun::star::awt::XControlModel xControl );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XCustomShapeEngine.idl b/offapi/com/sun/star/drawing/XCustomShapeEngine.idl
new file mode 100644
index 000000000..e4f8f7d3b
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XCustomShapeEngine.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_drawing_XCustomShapeEngine_idl__
+#define __com_sun_star_drawing_XCustomShapeEngine_idl__
+
+#include <com/sun/star/awt/Rectangle.idl>
+#include <com/sun/star/drawing/PolyPolygonBezierCoords.idl>
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/drawing/XShape.idl>
+#include <com/sun/star/drawing/XCustomShapeHandle.idl>
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** The XCustomShapeEngine
+ */
+interface XCustomShapeEngine: com::sun::star::uno::XInterface
+{
+
+ /**
+ @returns
+ the shape that is representing the CustomShape
+ */
+ com::sun::star::drawing::XShape render();
+
+ /**
+ @returns the text bound of the shape
+ */
+ com::sun::star::awt::Rectangle getTextBounds();
+
+ /**
+ @returns the line geometry of the object
+ */
+ com::sun::star::drawing::PolyPolygonBezierCoords getLineGeometry();
+
+ /**
+ @returns
+ a collection of interaction handles
+ */
+ sequence<com::sun::star::drawing::XCustomShapeHandle> getInteraction();
+
+ };
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XCustomShapeHandle.idl b/offapi/com/sun/star/drawing/XCustomShapeHandle.idl
new file mode 100644
index 000000000..1e4f092a4
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XCustomShapeHandle.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_drawing_XCustomShapeHandle_idl__
+#define __com_sun_star_drawing_XCustomShapeHandle_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/awt/Point.idl>
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** The XCustomShapeHandle
+ */
+interface XCustomShapeHandle: com::sun::star::uno::XInterface
+{
+
+ /** is getting the actual handle position
+
+ @returns
+ the actual handle position
+ */
+ com::sun::star::awt::Point getPosition();
+
+ /** is setting a new position for the handle
+ */
+ void setControllerPosition( [in] com::sun::star::awt::Point aPoint );
+
+ };
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XDrawPage.idl b/offapi/com/sun/star/drawing/XDrawPage.idl
new file mode 100644
index 000000000..1ebf020e4
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XDrawPage.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_drawing_XDrawPage_idl__
+#define __com_sun_star_drawing_XDrawPage_idl__
+
+#include <com/sun/star/drawing/XShapes.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** identifies an XShapes as a DrawPage.
+ */
+published interface XDrawPage: com::sun::star::drawing::XShapes
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XDrawPageDuplicator.idl b/offapi/com/sun/star/drawing/XDrawPageDuplicator.idl
new file mode 100644
index 000000000..e1ee7014a
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XDrawPageDuplicator.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_drawing_XDrawPageDuplicator_idl__
+#define __com_sun_star_drawing_XDrawPageDuplicator_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/drawing/XDrawPage.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** makes it possible to duplicate pages within the same document.
+ */
+published interface XDrawPageDuplicator: com::sun::star::uno::XInterface
+{
+
+ /** creates a duplicate of a DrawPage or MasterPage,
+ including the Shapes on that page and inserts it into the
+ same model.
+
+ @param xPage
+ that is the source DrawPage or MasterPage
+ that will be duplicated
+
+ @return
+ a newly created DrawPage or MasterPage
+ that as all properties and copies of all Shapes from
+ the source page.
+ */
+ com::sun::star::drawing::XDrawPage duplicate( [in] com::sun::star::drawing::XDrawPage xPage );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XDrawPageExpander.idl b/offapi/com/sun/star/drawing/XDrawPageExpander.idl
new file mode 100644
index 000000000..383ca343d
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XDrawPageExpander.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_drawing_XDrawPageExpander_idl__
+#define __com_sun_star_drawing_XDrawPageExpander_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/drawing/XDrawPages.idl>
+
+#include <com/sun/star/drawing/XDrawPage.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** is implemented by documents that can expand the contents
+ of a summary on a DrawPage into a collection of
+ DrawPages.
+
+ @see XDrawPageSummarizer
+
+ @deprecated
+ */
+published interface XDrawPageExpander: com::sun::star::uno::XInterface
+{
+
+ /** creates a collection of DrawPages from the
+ summary inside the given DrawPage and adds
+ them to the same model as the source DrawPage.
+ */
+ com::sun::star::drawing::XDrawPages expand( [in] com::sun::star::drawing::XDrawPage xPage );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XDrawPageSummarizer.idl b/offapi/com/sun/star/drawing/XDrawPageSummarizer.idl
new file mode 100644
index 000000000..5da5018aa
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XDrawPageSummarizer.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_drawing_XDrawPageSummarizer_idl__
+#define __com_sun_star_drawing_XDrawPageSummarizer_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/drawing/XDrawPage.idl>
+
+#include <com/sun/star/drawing/XDrawPages.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** is implemented by documents that can create summaries
+ of their DrawPages.
+
+ @deprecated
+ */
+published interface XDrawPageSummarizer: com::sun::star::uno::XInterface
+{
+ /** creates a new DrawPage with a summary of all
+ DrawPages in the given collection.
+ */
+ com::sun::star::drawing::XDrawPage summarize( [in] com::sun::star::drawing::XDrawPages xPages );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XDrawPageSupplier.idl b/offapi/com/sun/star/drawing/XDrawPageSupplier.idl
new file mode 100644
index 000000000..6c4856986
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XDrawPageSupplier.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_drawing_XDrawPageSupplier_idl__
+#define __com_sun_star_drawing_XDrawPageSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/drawing/XDrawPage.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** represents something that provides a DrawPage.
+
+ <p>This interface is provided if the container only supports exactly
+ one DrawPage. For containers which support multiple
+ DrawPages interface XDrawPagesSupplier is
+ supported.</p>
+
+ @deprecated
+ */
+published interface XDrawPageSupplier: com::sun::star::uno::XInterface
+{
+ /** returns the DrawPage.
+ */
+ com::sun::star::drawing::XDrawPage getDrawPage();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XDrawPages.idl b/offapi/com/sun/star/drawing/XDrawPages.idl
new file mode 100644
index 000000000..4ee185dd4
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XDrawPages.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_drawing_XDrawPages_idl__
+#define __com_sun_star_drawing_XDrawPages_idl__
+
+#include <com/sun/star/container/XIndexAccess.idl>
+
+#include <com/sun/star/drawing/XDrawPage.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** gives access to a container of DrawPages or MasterPages.
+
+ <p>The pages are stored in an index container. The order is determined by
+ the index.
+
+ You usually get this interface if you use the
+ XDrawPagesSupplier or the XMasterPagesSupplier
+ at a model that contains DrawPages or MasterPages
+*/
+published interface XDrawPages: com::sun::star::container::XIndexAccess
+{
+
+ /** creates and inserts a new DrawPage or MasterPage
+ into this container
+
+ @param nIndex
+ the index at which the newly created DrawPage or
+ MasterPage will be inserted.
+
+ @return
+ the newly created and already inserted DrawPage or
+ MasterPage.
+ */
+ com::sun::star::drawing::XDrawPage insertNewByIndex( [in] long nIndex );
+
+
+ /** removes a DrawPage or MasterPage from this
+ container.
+
+ @param xPage
+ this DrawPage or MasterPage must be
+ contained and will be removed from this container. It will
+ also be disposed and shouldn't be used any further.
+ */
+ void remove( [in] com::sun::star::drawing::XDrawPage xPage );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XDrawPagesSupplier.idl b/offapi/com/sun/star/drawing/XDrawPagesSupplier.idl
new file mode 100644
index 000000000..33d21b137
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XDrawPagesSupplier.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_drawing_XDrawPagesSupplier_idl__
+#define __com_sun_star_drawing_XDrawPagesSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/drawing/XDrawPages.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** must be supported to provide access to a multi-page drawing-layer.
+*/
+published interface XDrawPagesSupplier: com::sun::star::uno::XInterface
+{
+
+ /** @returns
+ an indexed container with the service DrawPages.
+ */
+ com::sun::star::drawing::XDrawPages getDrawPages();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XDrawSubController.idl b/offapi/com/sun/star/drawing/XDrawSubController.idl
new file mode 100644
index 000000000..3126cfa53
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XDrawSubController.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_drawing_XDrawSubController_idl__
+#define __com_sun_star_drawing_XDrawSubController_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/beans/XFastPropertySet.idl>
+#include <com/sun/star/drawing/XDrawView.idl>
+#include <com/sun/star/view/XSelectionSupplier.idl>
+
+
+
+module com { module sun { module star { module drawing {
+
+
+/** View dependent part of the Draw and Impress controller.
+ <p>During the lifetime of an Impress application the
+ com::sun::star::drawing::DrawingDocumentDrawView
+ changes its sub controllers whenever the view in the center pane is
+ replaced by another one. The sub controller handles the things that are
+ not common to all views, i.e. properties, the current page/slide, and
+ the selection.</p>
+*/
+interface XDrawSubController
+{
+ interface com::sun::star::drawing::XDrawView;
+ interface com::sun::star::view::XSelectionSupplier;
+
+ /** This narrow interface is used to pass property values to and from
+ the sub controller. Property change listeners are handled by the
+ controller.
+ */
+ interface com::sun::star::beans::XFastPropertySet;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XDrawView.idl b/offapi/com/sun/star/drawing/XDrawView.idl
new file mode 100644
index 000000000..40ebfe024
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XDrawView.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_drawing_XDrawView_idl__
+#define __com_sun_star_drawing_XDrawView_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/drawing/XDrawPage.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** is implemented by views that display DrawPages or MasterPages.
+ */
+published interface XDrawView: com::sun::star::uno::XInterface
+{
+
+ /** changes the current page.
+
+ @param xPage
+ this DrawPage or MasterPage will be
+ displayed inside this view.
+ */
+ void setCurrentPage( [in] com::sun::star::drawing::XDrawPage xPage );
+
+
+ /** returns the current page.
+
+ @return
+ the DrawPage or MasterPage that is
+ currently displayed.
+ */
+ com::sun::star::drawing::XDrawPage getCurrentPage();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XEnhancedCustomShapeDefaulter.idl b/offapi/com/sun/star/drawing/XEnhancedCustomShapeDefaulter.idl
new file mode 100644
index 000000000..2df794507
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XEnhancedCustomShapeDefaulter.idl
@@ -0,0 +1,281 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_XEnhancedCustomShapeDefaulter_idl__
+#define __com_sun_star_drawing_XEnhancedCustomShapeDefaulter_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+ module com { module sun { module star { module drawing {
+
+
+
+interface XEnhancedCustomShapeDefaulter: com::sun::star::uno::XInterface
+{
+
+ /**
+
+ This interface allows to create shape properties for the given "ShapeType".
+ The "ShapeType" string can be empty then the current "ShapeType" of the
+ shape is used.
+
+ "non-primitive",
+ "rectangle",
+ "round-rectangle",
+ "ellipse",
+ "diamond",
+ "isosceles-triangle"
+ "right-triangle",
+ "parallelogram",
+ "trapezoid",
+ "hexagon",
+ "octagon",
+ "cross",
+ "star5",
+ "right-arrow",
+ "mso-spt14",
+ "pentagon-right",
+ "cube",
+ "mso-spt17",
+ "mso-spt18",
+ "mso-spt19",
+ "mso-spt20",
+ "mso-spt21",
+ "can",
+ "ring",
+ "mso-spt24",
+ "mso-spt25",
+ "mso-spt26",
+ "mso-spt27",
+ "mso-spt28",
+ "mso-spt29",
+ "mso-spt30",
+ "mso-spt31",
+ "mso-spt32",
+ "mso-spt33",
+ "mso-spt34",
+ "mso-spt35",
+ "mso-spt36",
+ "mso-spt37",
+ "mso-spt38",
+ "mso-spt39",
+ "mso-spt40",
+ "mso-spt41",
+ "mso-spt42",
+ "mso-spt43",
+ "mso-spt44",
+ "mso-spt45",
+ "mso-spt46",
+ "line-callout-1",
+ "line-callout-2",
+ "mso-spt49",
+ "mso-spt50",
+ "mso-spt51",
+ "mso-spt52",
+ "mso-spt53",
+ "mso-spt54",
+ "chevron",
+ "pentagon",
+ "forbidden",
+ "star8",
+ "mso-spt59",
+ "mso-spt60",
+ "rectangular-callout",
+ "round-rectangular-callout",
+ "round-callout",
+ "mso-spt64",
+ "paper",
+ "left-arrow",
+ "down-arrow",
+ "up-arrow",
+ "left-right-arrow",
+ "up-down-arrow",
+ "mso-spt71",
+ "bang",
+ "lightning",
+ "heart",
+ "mso-spt75",
+ "quad-arrow",
+ "left-arrow-callout",
+ "right-arrow-callout",
+ "up-arrow-callout",
+ "down-arrow-callout",
+ "left-right-arrow-callout",
+ "up-down-arrow-callout",
+ "quad-arrow-callout",
+ "quad-bevel",
+ "left-bracket",
+ "right-bracket",
+ "left-brace",
+ "right-brace",
+ "mso-spt89",
+ "mso-spt90",
+ "mso-spt91",
+ "star24",
+ "striped-right-arrow",
+ "notched-right-arrow",
+ "block-arc",
+ "smiley",
+ "vertical-scroll",
+ "horizontal-scroll",
+ "circular-arrow",
+ "mso-spt100",
+ "mso-spt101",
+ "mso-spt102",
+ "mso-spt103",
+ "mso-spt104",
+ "mso-spt105",
+ "cloud-callout",
+ "mso-spt107",
+ "mso-spt108",
+ "flowchart-process",
+ "flowchart-decision",
+ "flowchart-data",
+ "flowchart-predefined-process",
+ "flowchart-internal-storage",
+ "flowchart-document",
+ "flowchart-multidocument",
+ "flowchart-terminator",
+ "flowchart-preparation",
+ "flowchart-manual-input",
+ "flowchart-manual-operation",
+ "flowchart-connector",
+ "flowchart-card",
+ "flowchart-punched-tape",
+ "flowchart-summing-junction",
+ "flowchart-or",
+ "flowchart-collate",
+ "flowchart-sort",
+ "flowchart-extract",
+ "flowchart-merge",
+ "mso-spt129",
+ "flowchart-stored-data",
+ "flowchart-sequential-access",
+ "flowchart-magnetic-disk",
+ "flowchart-direct-access-storage",
+ "flowchart-display",
+ "flowchart-delay",
+ "fontwork-plain-text",
+ "fontwork-stop",
+ "fontwork-triangle-up",
+ "fontwork-triangle-down",
+ "fontwork-chevron-up",
+ "fontwork-chevron-down",
+ "mso-spt142",
+ "mso-spt143",
+ "fontwork-arch-up-curve",
+ "fontwork-arch-down-curve",
+ "fontwork-circle-curve",
+ "fontwork-open-circle-curve",
+ "fontwork-arch-up-pour",
+ "fontwork-arch-down-pour",
+ "fontwork-circle-pour",
+ "fontwork-open-circle-pour",
+ "fontwork-curve-up",
+ "fontwork-curve-down",
+ "fontwork-fade-up-and-right",
+ "fontwork-fade-up-and-left",
+ "fontwork-wave",
+ "mso-spt157",
+ "mso-spt158",
+ "mso-spt159",
+ "fontwork-inflate",
+ "mso-spt161",
+ "mso-spt162",
+ "mso-spt163",
+ "mso-spt164",
+ "mso-spt165",
+ "mso-spt166",
+ "mso-spt167",
+ "fontwork-fade-right",
+ "fontwork-fade-left",
+ "fontwork-fade-up",
+ "fontwork-fade-down",
+ "fontwork-slant-up",
+ "fontwork-slant-down",
+ "mso-spt174",
+ "mso-spt175",
+ "flowchart-alternate-process",
+ "flowchart-off-page-connector",
+ "mso-spt178",
+ "mso-spt179",
+ "mso-spt180",
+ "line-callout-3",
+ "mso-spt182",
+ "sun",
+ "moon",
+ "bracket-pair",
+ "brace-pair",
+ "star4",
+ "mso-spt188",
+ "mso-spt189",
+ "mso-spt190",
+ "mso-spt191",
+ "mso-spt192",
+ "mso-spt193",
+ "mso-spt194",
+ "mso-spt195",
+ "mso-spt196",
+ "mso-spt197",
+ "mso-spt198",
+ "mso-spt199",
+ "mso-spt200",
+ "mso-spt201",
+ "mso-spt202",
+
+ SJ: following shape types can't be created with this method, they
+ are part of the gallery (soon they also will be added)
+ // gallery: quadrat
+ // gallery: round-quadrat
+ // gallery: circle
+ // gallery: circle-pie
+ // gallery: frame
+ // gallery: flower
+ // gallery: cloud
+ // gallery: puzzle
+ // gallery: octagon-bevel
+ // gallery: diamond-bevel
+ // gallery: up-right-arrow
+ // gallery: up-right-down-arrow
+ // gallery: corner-right-arrow
+ // gallery: split-arrow
+ // gallery: up-right-arrow-callout
+ // gallery: split-round-arrow
+ // gallery: s-sharped-arrow
+ // Gallery: star6
+ // Gallery: star12
+ // Gallery: concave-star6
+ // Gallery: signet
+ // Gallery: doorplate
+ // gallery: fontwork-arch-left-curve
+ // gallery: fontwork-arch-right-curve
+ // gallery: fontwork-arch-left-pour
+ // gallery: fontwork-arch-right-pour
+
+ */
+ void createCustomShapeDefaults( [ in ] string aShapeType );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XGluePointsSupplier.idl b/offapi/com/sun/star/drawing/XGluePointsSupplier.idl
new file mode 100644
index 000000000..8e129ba12
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XGluePointsSupplier.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_drawing_XGluePointsSupplier_idl__
+#define __com_sun_star_drawing_XGluePointsSupplier_idl__
+
+#include <com/sun/star/container/XIndexContainer.idl>
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** must be supported to provide access to a container of GluePoint2.
+ */
+published interface XGluePointsSupplier: com::sun::star::uno::XInterface
+{
+
+ /**
+ @return
+ a container of GluePoint2 structs.
+ */
+ com::sun::star::container::XIndexContainer getGluePoints();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XGraphicExportFilter.idl b/offapi/com/sun/star/drawing/XGraphicExportFilter.idl
new file mode 100644
index 000000000..25f61ef0b
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XGraphicExportFilter.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_drawing_XGraphicExportFilter_idl__
+#define __com_sun_star_drawing_XGraphicExportFilter_idl__
+
+#include <com/sun/star/document/XFilter.idl>
+#include <com/sun/star/document/XExporter.idl>
+#include <com/sun/star/document/XMimeTypeInfo.idl>
+
+
+ module com { module sun { module star { module drawing {
+
+
+/**
+ @since LibreOffice 4.1
+*/
+published interface XGraphicExportFilter
+{
+ /** calling com::sun::star::document::XFilter::filter()
+ starts the export of the graphic file.
+
+ <p>The following properties from the
+ com::sun::star::document::MediaDescriptor are
+ supported:</p>
+
+ <ul>
+ <li>
+ com::sun::star::document::MediaDescriptor::MediaType
+ <p>Depending on the export filters supported by this component,
+ this is the mime type of the target graphic file.</p>
+ <p>Possible values are:</p>
+ <ul>
+ <li>image/x-MS-bmp</li>
+ <li>application/dxf</li>
+ <li>application/postscript</li>
+ <li>image/gif</li>
+ <li>image/jpeg</li>
+ <li>image/png</li>
+ <li>image/x-pict</li>
+ <li>image/x-pcx</li>
+ <li>image/x-portable-bitmap</li>
+ <li>image/x-portable-graymap</li>
+ <li>image/x-portable-pixmap</li>
+ <li>image/x-cmu-raster</li>
+ <li>image/targa</li>
+ <li>image/tiff</li>
+ <li>image/x-xbitmap</li>
+ <li>image/x-xpixmap</li>
+ <li>image/svg+xml</li>
+ </ul>
+ <p>Ask the interface com::sun::star::document::XMimeTypeInfo
+ for all values supported by the component.</p>
+ </li>
+ <li>
+ com::sun::star::document::MediaDescriptor::URL
+ <p>This is the target url of the file that will be created during export.</p>
+ </li>
+ </ul>
+ */
+ interface ::com::sun::star::document::XFilter;
+
+ /** sets the source component for this export filter.
+ <p>This could either be a DrawPage, a Shape
+ or a Shapes.</p>
+ */
+ interface ::com::sun::star::document::XExporter;
+
+ /** lets you query the supported mime types by this component */
+ interface ::com::sun::star::document::XMimeTypeInfo;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XLayer.idl b/offapi/com/sun/star/drawing/XLayer.idl
new file mode 100644
index 000000000..82933d37e
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XLayer.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_drawing_XLayer_idl__
+#define __com_sun_star_drawing_XLayer_idl__
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** identifies the object as a Layer.
+ */
+published interface XLayer: com::sun::star::beans::XPropertySet
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XLayerManager.idl b/offapi/com/sun/star/drawing/XLayerManager.idl
new file mode 100644
index 000000000..58c0d4db0
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XLayerManager.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_drawing_XLayerManager_idl__
+#define __com_sun_star_drawing_XLayerManager_idl__
+
+#include <com/sun/star/container/XIndexAccess.idl>
+
+#include <com/sun/star/drawing/XLayer.idl>
+
+#include <com/sun/star/container/NoSuchElementException.idl>
+
+#include <com/sun/star/drawing/XShape.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** This interface makes it possible to access and manage the
+ Layers of a document.
+
+ @see LayerManager
+ */
+published interface XLayerManager: com::sun::star::container::XIndexAccess
+{
+
+ /** creates a new Layer
+
+ @param nIndex
+ the index at which the new layer is inserted
+
+ @returns
+ the new created Layer
+ */
+ com::sun::star::drawing::XLayer insertNewByIndex( [in] long nIndex );
+
+
+ /** removes a Layer and all Shapes on
+ this Layer.
+
+ @param xLayer
+ this Layer will be removed and disposed
+ */
+ void remove( [in] com::sun::star::drawing::XLayer xLayer )
+ raises( com::sun::star::container::NoSuchElementException );
+
+
+ /** attaches a Shape to the given Layer.
+
+ @param xShape
+ this is the Shape that will be attached to a Layer
+
+ @param xLayer
+ this is the Layer that will be attached to a Shape
+ */
+ void attachShapeToLayer( [in] com::sun::star::drawing::XShape xShape,
+ [in] com::sun::star::drawing::XLayer xLayer );
+
+
+ /** queries the Layer that a Shape is attached to
+
+ @param xShape
+ specifies the Shape for which the layer is requested.
+
+ @returns
+ the Layer to which the Shape is
+ attached.
+
+ */
+ com::sun::star::drawing::XLayer getLayerForShape( [in] com::sun::star::drawing::XShape xShape );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XLayerSupplier.idl b/offapi/com/sun/star/drawing/XLayerSupplier.idl
new file mode 100644
index 000000000..3e2bfe151
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XLayerSupplier.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_drawing_XLayerSupplier_idl__
+#define __com_sun_star_drawing_XLayerSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/container/XNameAccess.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** gives access to a LayerManager.
+
+ @see LayerManager
+ */
+published interface XLayerSupplier: com::sun::star::uno::XInterface
+{
+
+ /** @returns
+ the LayerManager.
+ */
+ com::sun::star::container::XNameAccess getLayerManager();
+
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XMasterPageTarget.idl b/offapi/com/sun/star/drawing/XMasterPageTarget.idl
new file mode 100644
index 000000000..849a339ee
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XMasterPageTarget.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_drawing_XMasterPageTarget_idl__
+#define __com_sun_star_drawing_XMasterPageTarget_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/drawing/XDrawPage.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** is implemented by objects that can be linked to a
+ MasterPage.
+
+ @see DrawPage
+ */
+published interface XMasterPageTarget: com::sun::star::uno::XInterface
+{
+
+ /** @returns the MasterPage linked to this object.
+ */
+ com::sun::star::drawing::XDrawPage getMasterPage();
+
+
+ /** links a MasterPage to this object.
+
+ @param xMasterPage
+ the MasterPage that is linked to this object
+ */
+ void setMasterPage( [in] com::sun::star::drawing::XDrawPage xMasterPage );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XMasterPagesSupplier.idl b/offapi/com/sun/star/drawing/XMasterPagesSupplier.idl
new file mode 100644
index 000000000..74d3474d1
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XMasterPagesSupplier.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_drawing_XMasterPagesSupplier_idl__
+#define __com_sun_star_drawing_XMasterPagesSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/drawing/XDrawPages.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** must be supported to provide access to the
+ MasterPages of a multi-page drawing-layer.
+ */
+published interface XMasterPagesSupplier: com::sun::star::uno::XInterface
+{
+
+ /** @returns
+ an indexed container with the service MasterPages.
+ */
+ com::sun::star::drawing::XDrawPages getMasterPages();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XPresenterHelper.idl b/offapi/com/sun/star/drawing/XPresenterHelper.idl
new file mode 100644
index 000000000..eca5f12b1
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XPresenterHelper.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_drawing_XPresenterHelper_idl__
+#define __com_sun_star_drawing_XPresenterHelper_idl__
+
+#include <com/sun/star/awt/XWindow.idl>
+#include <com/sun/star/rendering/XCanvas.idl>
+#include <com/sun/star/rendering/XSpriteCanvas.idl>
+#include <com/sun/star/awt/Rectangle.idl>
+#include <com/sun/star/drawing/CanvasFeature.idl>
+
+module com { module sun { module star { module drawing {
+
+/** This interface is a collection of functions that were necessary to
+ implement larger parts of the presenter screen as extension. The
+ methods of this interface give access to services that could only be
+ implemented in the Office core, not in an extension.
+
+ <p>As the presenter screen is no extension any more, this hack can go again;
+ it just needs clean-up.</p>
+*/
+interface XPresenterHelper
+{
+ /** Create a new window as child window of the given parent window.
+ @param xParentWindow
+ The parent window of the new window.
+ @param bCreateSystemChildWindow
+ When `TRUE` then the new window will be a system window that,
+ in the context of the presenter screen, can not be painted over
+ by other windows that lie behind it.
+ @param bInitiallyVisible
+ When `TRUE` the new window will be visible from the start,
+ i.e. a window listener will not receive a windowShown signal.
+ @param bEnableChildTransparentMode
+ When `TRUE` the parent window is painted behind its child
+ windows. This is one half of allowing child windows to be
+ transparent.
+ @param bEnableParentClip
+ When `TRUE` then the parent window is not clipped where its
+ child windows are painted. This is the other half of allowing
+ child windows to be transparent.
+ */
+ ::com::sun::star::awt::XWindow createWindow (
+ [in] ::com::sun::star::awt::XWindow xParentWindow,
+ [in] boolean bCreateSystemChildWindow,
+ [in] boolean bInitiallyVisible,
+ [in] boolean bEnableChildTransparentMode,
+ [in] boolean bEnableParentClip);
+
+ /** Create a new canvas for the given window. The new canvas is a
+ wrapper around the given shared canvas. The wrapper only modifies
+ the origin in all output and clipping methods.
+ @param xUpdateCanvas
+ This canvas is used to call updateScreen() on. May be `NULL`
+ @param xUpdateWindow
+ The window that belongs to the update canvas. May also be
+ `NULL` (is expected to b `NULL` whenever xUpdateCanvas is.)
+ @param xSharedCanvas
+ The canvas that is shared by the wrapper.
+ @param xSharedWindow
+ The window of the shared canvas. This is used to determine the
+ proper offset.
+ @param xWindow
+ The canvas is created for this window. Must not be `NULL`
+ */
+ ::com::sun::star::rendering::XCanvas createSharedCanvas (
+ [in] ::com::sun::star::rendering::XSpriteCanvas xUpdateCanvas,
+ [in] ::com::sun::star::awt::XWindow xUpdateWindow,
+ [in] ::com::sun::star::rendering::XCanvas xSharedCanvas,
+ [in] ::com::sun::star::awt::XWindow xSharedWindow,
+ [in] ::com::sun::star::awt::XWindow xWindow);
+
+ /** Create a new canvas for the given window.
+ @param xWindow
+ The canvas is created for this window. Must not be `NULL`
+ @param nRequestedCanvasFeatureList
+ List of requested features that the new canvas should (has to)
+ provide. Use only values from the CanvasFeature
+ constants group.
+ @param sOptionalCanvasServiceName
+ When an explicit service name is given then a new object of this
+ service is created. This service name lets the caller select a
+ specific canvas implementation, e.g. with or without hardware
+ acceleration.
+ */
+ ::com::sun::star::rendering::XCanvas createCanvas (
+ [in] ::com::sun::star::awt::XWindow xWindow,
+ [in] short nRequestedCanvasFeatureList,
+ [in] string sOptionalCanvasServiceName);
+
+ /** Move the specified window to the top of its stacking order. As a
+ result the window will be painted over all its overlapping
+ siblings.
+ @param xWindow
+ This window will be moved to the top of its stacking order.
+ */
+ void toTop (
+ [in] ::com::sun::star::awt::XWindow xWindow);
+
+ /** Load a bitmap with a given ID.
+ @param id
+ The ID of the bitmap.
+ @param xCanvas
+ The bitmap is created to be compatible, and possibly optimized,
+ for this canvas.
+ */
+ ::com::sun::star::rendering::XBitmap loadBitmap (
+ [in] string id,
+ [in] ::com::sun::star::rendering::XCanvas xCanvas);
+
+ /** Capture the mouse so that no other window will receive mouse events.
+ Note that this is a potentially dangerous method. Not calling
+ releaseMouse eventually can lead to an unresponsive application.
+ @param xWindow
+ The window for which mouse events will be notified even when the
+ mouse pointer moves outside the window or over other windows.
+ */
+ void captureMouse (
+ [in] ::com::sun::star::awt::XWindow xWindow);
+
+ /** Release a previously captured mouse.
+ @param xWindow
+ The window from which the mouse will be released.
+ */
+ void releaseMouse (
+ [in] ::com::sun::star::awt::XWindow xWindow);
+
+ /** Return the bounding box of the given child window relative to the
+ direct or indirect parent window.
+ */
+ com::sun::star::awt::Rectangle getWindowExtentsRelative (
+ [in] ::com::sun::star::awt::XWindow xChildWindow,
+ [in] ::com::sun::star::awt::XWindow xParentWindow);
+};
+
+
+}; }; }; }; // ::com::sun::star::drawing
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XSelectionFunction.idl b/offapi/com/sun/star/drawing/XSelectionFunction.idl
new file mode 100644
index 000000000..d19e1ab5f
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XSelectionFunction.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_drawing_XSelectionFunction_idl__
+#define __com_sun_star_drawing_XSelectionFunction_idl__
+
+#include <com/sun/star/container/XIndexAccess.idl>
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/lang/XServiceInfo.idl>
+#include <com/sun/star/frame/XDispatch.idl>
+#include <com/sun/star/awt/XKeyHandler.idl>
+#include <com/sun/star/awt/XMouseClickHandler.idl>
+#include <com/sun/star/awt/XMouseMotionHandler.idl>
+#include <com/sun/star/view/XSelectionChangeListener.idl>
+
+
+ module com { module sun { module star { module drawing {
+
+
+published interface XSelectionFunction
+{
+ interface ::com::sun::star::lang::XComponent;
+ interface ::com::sun::star::lang::XServiceInfo;
+ interface ::com::sun::star::frame::XDispatch;
+ interface ::com::sun::star::awt::XKeyHandler;
+ interface ::com::sun::star::awt::XMouseClickHandler;
+ interface ::com::sun::star::awt::XMouseMotionHandler;
+ interface ::com::sun::star::view::XSelectionChangeListener;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XShape.idl b/offapi/com/sun/star/drawing/XShape.idl
new file mode 100644
index 000000000..6be9c01c5
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XShape.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_drawing_XShape_idl__
+#define __com_sun_star_drawing_XShape_idl__
+
+#include <com/sun/star/drawing/XShapeDescriptor.idl>
+
+#include <com/sun/star/awt/Point.idl>
+
+#include <com/sun/star/awt/Size.idl>
+
+#include <com/sun/star/beans/PropertyVetoException.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** lets you do a basic transformation on a Shape and
+ get its type.
+ */
+published interface XShape: com::sun::star::drawing::XShapeDescriptor
+{
+
+ /** gets the current position of this object.
+
+ @returns
+ the position of the top left edge in 100/th mm
+ */
+ com::sun::star::awt::Point getPosition();
+
+
+ /** sets the current position of this object
+
+ @param aPosition
+ the position of the top left edge in 100/th mm
+ */
+ void setPosition( [in] com::sun::star::awt::Point aPosition );
+
+
+ /** gets the size of this object.
+
+ @returns
+ the size in 100/th mm
+ */
+ com::sun::star::awt::Size getSize();
+
+
+ /** sets the size of this object.
+
+ @param aSize
+ the size in 100/th mm
+ */
+ void setSize( [in] com::sun::star::awt::Size aSize )
+ raises( com::sun::star::beans::PropertyVetoException );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XShapeAligner.idl b/offapi/com/sun/star/drawing/XShapeAligner.idl
new file mode 100644
index 000000000..b667b4b7b
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XShapeAligner.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_drawing_XShapeAligner_idl__
+#define __com_sun_star_drawing_XShapeAligner_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/drawing/XShapes.idl>
+
+#include <com/sun/star/drawing/Alignment.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** Objects implementing this interface can be used to align
+ Shapes.
+
+ @deprecated
+ */
+published interface XShapeAligner: com::sun::star::uno::XInterface
+{
+ /** aligns the specified Shapes.
+ */
+ void alignShapes( [inout] com::sun::star::drawing::XShapes aShapes,
+ [in] com::sun::star::drawing::Alignment eType );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XShapeArranger.idl b/offapi/com/sun/star/drawing/XShapeArranger.idl
new file mode 100644
index 000000000..8079ffd3b
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XShapeArranger.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_drawing_XShapeArranger_idl__
+#define __com_sun_star_drawing_XShapeArranger_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/drawing/XShapes.idl>
+
+#include <com/sun/star/drawing/Arrangement.idl>
+
+#include <com/sun/star/drawing/XShape.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** Objects implementing this interface can be used to arrange
+ Shapes.
+
+ @deprecated
+ */
+published interface XShapeArranger: com::sun::star::uno::XInterface
+{
+ /** applies the specified Arrangement to
+ the specified collection of Shapes.
+ */
+ void arrange( [in] com::sun::star::drawing::XShapes xShapes,
+ [in] com::sun::star::drawing::Arrangement eType );
+
+ /** moves the specified Shapes by a specified number
+ of objects more to the front.
+ */
+ void bringToFront( [in] com::sun::star::drawing::XShapes xShapes,
+ [in] short nSteps );
+
+ /** moves the specified Shapes
+ <var>nSteps</var> objects more to the back.
+ */
+ void sendToBack( [in] com::sun::star::drawing::XShapes xShapes,
+ [in] short nSteps );
+
+ /** moves the specified collection of Shapes
+ behind the specified single Shape.
+ */
+ void setBehindShape( [in] com::sun::star::drawing::XShapes xShapes,
+ [in] com::sun::star::drawing::XShape xShape );
+
+ /** moves the specified collection of Shapes in
+ front of the specified single Shape.
+ */
+ void setInFrontOf( [in] com::sun::star::drawing::XShapes xShapes,
+ [in] com::sun::star::drawing::XShape xShape );
+
+ /** reverses the order of the specified collection of
+ Shapes.
+ */
+ void reverseOrder( [in] com::sun::star::drawing::XShapes xShapes );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XShapeBinder.idl b/offapi/com/sun/star/drawing/XShapeBinder.idl
new file mode 100644
index 000000000..6eae56986
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XShapeBinder.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_drawing_XShapeBinder_idl__
+#define __com_sun_star_drawing_XShapeBinder_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/drawing/XShape.idl>
+
+#include <com/sun/star/drawing/XShapes.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** connects or breaks the lines of Shapes
+ */
+published interface XShapeBinder: com::sun::star::uno::XInterface
+{
+
+ /** binds Shapes together.
+
+ @param xShapes
+ a container with Shapes that will be bind together.
+ All Shapes will be converted to a PolyPolygonBezierShape
+ and the lines will be connected. The Shapes in xShape will be
+ removed from the GenericDrawPage and disposed.
+
+ @returns
+ a newly created PolyPolygonBezierShape which contains all
+ line segment from the supplied Shapes. It is also added
+ to the GenericDrawPage of the source Shapes.
+ */
+ com::sun::star::drawing::XShape bind( [in] com::sun::star::drawing::XShapes xShapes );
+
+
+ /** breaks a Shape into its line segments
+
+ @param xShape
+ the given Shape will be converted to a PolyPolygonBezierShape
+ and the line segments of this Shape will be used to create
+ new PolyPolygonBezierShape shapes. The original Shape
+ will be removed from its GenericDrawPage and disposed.
+ */
+ void unbind( [in] com::sun::star::drawing::XShape xShape );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XShapeCombiner.idl b/offapi/com/sun/star/drawing/XShapeCombiner.idl
new file mode 100644
index 000000000..26cb7fe1c
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XShapeCombiner.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_drawing_XShapeCombiner_idl__
+#define __com_sun_star_drawing_XShapeCombiner_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/drawing/XShape.idl>
+
+#include <com/sun/star/drawing/XShapes.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** specifies the combine/split functionality.
+ */
+published interface XShapeCombiner: com::sun::star::uno::XInterface
+{
+
+ /** combines Shapes
+
+ @param xShapes
+ the Shapes inside this container are converted
+ to PolyPolygonBezierShapes and are than combined
+ into one PolyPolygonBezierShape.
+ The Shapes in xShape will be removed from the
+ GenericDrawPage and disposed.
+
+ @returns
+ a newly created PolyPolygonBezierShape which contains all
+ converted PolyPolygonBezierShape combined. It is also added
+ to the GenericDrawPage of the source Shapes.
+
+ */
+ com::sun::star::drawing::XShape combine( [in] com::sun::star::drawing::XShapes xShapes );
+
+
+ /** splits Shapes.
+
+ @param Group
+ the Shape is converted to a
+ PolyPolygonBezierShapes and then split into
+ several PolyPolygonBezierShapes
+ The Shapes in xShape will be removed from the
+ GenericDrawPage and disposed.
+ */
+ void split( [in] com::sun::star::drawing::XShape Group );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XShapeDescriptor.idl b/offapi/com/sun/star/drawing/XShapeDescriptor.idl
new file mode 100644
index 000000000..2ac5b0a40
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XShapeDescriptor.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_drawing_XShapeDescriptor_idl__
+#define __com_sun_star_drawing_XShapeDescriptor_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** offers some settings which are allowed even for objects which are not yet inserted into a draw page.
+
+ @deprecated
+ replaced by com::sun::star::lang::XServiceName
+ */
+published interface XShapeDescriptor: com::sun::star::uno::XInterface
+{
+ /**
+ @returns
+ the programmatic name of the shape type.
+ */
+ string getShapeType();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XShapeGroup.idl b/offapi/com/sun/star/drawing/XShapeGroup.idl
new file mode 100644
index 000000000..75ba24dec
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XShapeGroup.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_drawing_XShapeGroup_idl__
+#define __com_sun_star_drawing_XShapeGroup_idl__
+
+#include <com/sun/star/drawing/XShape.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** is implemented by Shapes that contain other
+ Shapes.
+
+ @deprecated
+ */
+published interface XShapeGroup: com::sun::star::drawing::XShape
+{
+ /** enters the group which enables the editing function
+ for the parts of a grouped Shape. Then the parts can
+ be edited instead of the group as a whole.
+
+
+
+ <p>This affects only the user interface. The behavior is not
+ specified if this instance is not visible on any view. In this case
+ it may or may not work.</p>
+ */
+ void enterGroup();
+
+ /** leaves the group, which disables the editing function
+ for the parts of a grouped Shape. Then only the
+ group as a whole can be edited.
+
+
+
+ <p>This affects only the user interface. The behavior is not
+ specified if this instance is not visible on any view. In this case
+ it may or may not work.</p>
+ */
+ void leaveGroup();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XShapeGrouper.idl b/offapi/com/sun/star/drawing/XShapeGrouper.idl
new file mode 100644
index 000000000..1fe63b1c5
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XShapeGrouper.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_drawing_XShapeGrouper_idl__
+#define __com_sun_star_drawing_XShapeGrouper_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/drawing/XShapeGroup.idl>
+
+#include <com/sun/star/drawing/XShapes.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** specifies the group/ungroup functionality.
+ */
+published interface XShapeGrouper: com::sun::star::uno::XInterface
+{
+
+ /** groups the Shapes inside a collection.
+
+ <p>Grouping of objects in text documents works only if none
+ of the objects has an anchor of type
+ com::sun::star::text::TextContentAnchorType::AS_CHARACTER .
+ </p>
+
+ @param xShapes
+ the Shapes that will be grouped. They
+ must all be inserted into the same GenericDrawPage.
+
+ @returns
+ a newly created GroupShape that contains all
+ Shapes from xShapes and is also added to the
+ GenericDrawPage of the Shapes
+ in xShapes.
+ */
+ com::sun::star::drawing::XShapeGroup group( [in] com::sun::star::drawing::XShapes xShapes );
+
+
+ /** ungroups a given GroupShape.
+
+ @param aGroup
+ moves all Shapes from this GroupShape
+ to the parent XShapes of the GroupShape.
+ The GroupShape is then removed from the
+ GenericDrawPage and disposed.
+ */
+ void ungroup( [in] com::sun::star::drawing::XShapeGroup aGroup );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XShapeMirror.idl b/offapi/com/sun/star/drawing/XShapeMirror.idl
new file mode 100644
index 000000000..efe8a6058
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XShapeMirror.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_drawing_XShapeMirror_idl__
+#define __com_sun_star_drawing_XShapeMirror_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/drawing/XShapes.idl>
+
+#include <com/sun/star/drawing/MirrorAxis.idl>
+
+#include <com/sun/star/drawing/XShape.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** Objects implementing this interface can be used to mirror
+ Shapes.
+
+ @deprecated
+ */
+published interface XShapeMirror: com::sun::star::uno::XInterface
+{
+
+ /** mirrors the given Shapes
+ at the given axis.
+ */
+ void mirror( [inout] com::sun::star::drawing::XShapes aShapes,
+ [in] com::sun::star::drawing::MirrorAxis eAxis );
+
+
+ /** mirrors the given Shapes at
+ the given axis.
+ */
+ void mirrorAtAxis( [inout] com::sun::star::drawing::XShapes aShapes,
+ [in] com::sun::star::drawing::XShape aLine );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XShapes.idl b/offapi/com/sun/star/drawing/XShapes.idl
new file mode 100644
index 000000000..54bb1d9c8
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XShapes.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_drawing_XShapes_idl__
+#define __com_sun_star_drawing_XShapes_idl__
+
+#include <com/sun/star/container/XIndexAccess.idl>
+
+#include <com/sun/star/drawing/XShape.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** makes it possible to access, add, and remove the
+ Shapes in a collection.
+
+ @see DrawPage
+ @see MasterPage
+ @see DrawingDocumentDrawView
+ */
+published interface XShapes: com::sun::star::container::XIndexAccess
+{
+
+ /** inserts a Shape into this collection.
+
+ @param xShape
+ a Shape that will be inserted.
+ */
+ void add( [in] com::sun::star::drawing::XShape xShape );
+
+
+ /** removes a Shape from this collection.
+
+ @param xShape
+ the Shape will be removed from the
+ collection and disposed.
+ */
+ void remove( [in] com::sun::star::drawing::XShape xShape );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XShapes2.idl b/offapi/com/sun/star/drawing/XShapes2.idl
new file mode 100644
index 000000000..52909cec4
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XShapes2.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/.
+ */
+
+#ifndef __com_sun_star_drawing_XShapes2_idl__
+#define __com_sun_star_drawing_XShapes2_idl__
+
+#include <com/sun/star/drawing/XShapes.idl>
+
+module com { module sun { module star { module drawing {
+
+/**
+ * Allows insertion of shapes at different positions.
+ *
+ * @since LibreOffice 4.2
+ */
+interface XShapes2
+{
+ /**
+ * Insert a new shape to the top of the stack.
+ *
+ * @param xShape shape to be inserted.
+ *
+ * @since LibreOffice 4.2
+ */
+ void addTop( [in] com::sun::star::drawing::XShape xShape );
+
+ /**
+ * Insert a new shape to the bottom of the stack.
+ *
+ * @param xShape shape to be inserted.
+ *
+ * @since LibreOffice 4.2
+ */
+ void addBottom( [in] com::sun::star::drawing::XShape xShape );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XShapes3.idl b/offapi/com/sun/star/drawing/XShapes3.idl
new file mode 100644
index 000000000..12c06bb75
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XShapes3.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_drawing_XShapes3_idl__
+#define __com_sun_star_drawing_XShapes3_idl__
+
+#include <com/sun/star/drawing/XShapes.idl>
+
+module com { module sun { module star { module drawing {
+
+/**
+ * Yet another XShapes interface, enables sorting shapes with
+ * some extra attention paid to shapes with textboxes and overall
+ * performance
+ *
+ * @since LibreOffice 6.4
+ */
+interface XShapes3
+{
+ /**
+ * Sort shapes according to given sort order, for perf reason
+ * just rearrange and don't broadcast
+ *
+ * @param sortOrder
+ * desired order of the shapes
+ *
+ * @since LibreOffice 6.4
+ */
+
+ void sort( [in] sequence< long> sortOrder )
+ raises( com::sun::star::lang::IllegalArgumentException );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XSlidePreviewCache.idl b/offapi/com/sun/star/drawing/XSlidePreviewCache.idl
new file mode 100644
index 000000000..f2692a987
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XSlidePreviewCache.idl
@@ -0,0 +1,108 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_drawing_XSlidePreviewCache_idl__
+#define __com_sun_star_drawing_XSlidePreviewCache_idl__
+
+#include <com/sun/star/container/XIndexAccess.idl>
+#include <com/sun/star/geometry/IntegerSize2D.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/rendering/XBitmap.idl>
+#include <com/sun/star/rendering/XCanvas.idl>
+#include <com/sun/star/drawing/XSlidePreviewCacheListener.idl>
+
+module com { module sun { module star { module drawing {
+
+/** A cache of preview bitmaps for the slides of one Impress or Draw
+ document in one size. There may be more than one cache for one
+ document. These are internally connected and for missing previews one
+ cache may take it from another cache and scale it to the desired size.
+ When a preview is not present then it is created asynchronously. On
+ creation all registered listeners are notified.
+
+ Slides are referenced via their index in an XIndexAccess container in
+ order to allow multiple references to a single slide (custom
+ presentations).
+*/
+interface XSlidePreviewCache
+{
+ /** Set the set of slides for which the cache will provide the
+ previews. All slides in the given XIndexAccess are required to come
+ from the given model.
+ @param xSlides
+ The set of slides for which the called cache will provide the
+ previews. This container defines the indices that are used to
+ look up slides.
+ @param xDocument
+ The model that contains the slides reference by the xSlides argument.
+ */
+ void setDocumentSlides (
+ [in] ::com::sun::star::container::XIndexAccess xSlides,
+ [in] ::com::sun::star::uno::XInterface xDocument);
+
+ /** Define which slides are currently visible on the screen and which
+ are not. This information is used for give preview creation for
+ visible slides a higher priority than for those slides that are not
+ visible.
+ */
+ void setVisibleRange ([in] long nFirstVisibleSlideIndex, [in] long nLastVisibleSlideIndex);
+
+ /** Define the size of the previews that are managed by the called
+ cache.
+ */
+ void setPreviewSize ([in] ::com::sun::star::geometry::IntegerSize2D aSize);
+
+ /** Return a preview for the given slide index.
+ The returned bitmap may be the requested preview, a preview of the
+ preview, i.e. a scaled up or down version, or an empty reference
+ when the preview is not yet present.
+
+ This call may lead to the asynchronous creation of the requested
+ preview. In that case all registered listeners are notified when
+ the preview has been created.
+ */
+ ::com::sun::star::rendering::XBitmap getSlidePreview (
+ [in] long nSlideIndex,
+ [in] ::com::sun::star::rendering::XCanvas xCanvas)
+ raises(::com::sun::star::lang::IllegalArgumentException);
+
+ /** Register a listener that is called when a preview has been created
+ asynchronously.
+ */
+ void addPreviewCreationNotifyListener ([in] XSlidePreviewCacheListener xListener);
+
+ /** Remove a previously registered listener for preview creations.
+ */
+ void removePreviewCreationNotifyListener ([in] XSlidePreviewCacheListener xListener);
+
+ /** Stop the asynchronous creation of previews temporarily.
+ Call resume() to restart it.
+ */
+ void pause ();
+
+ /** Resume the asynchronous creation of slide previews.
+ */
+ void resume ();
+};
+
+}; }; }; }; // ::com::sun::star::drawing
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XSlidePreviewCacheListener.idl b/offapi/com/sun/star/drawing/XSlidePreviewCacheListener.idl
new file mode 100644
index 000000000..aaad37b34
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XSlidePreviewCacheListener.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_drawing_XSlidePreviewCacheListener_idl__
+#define __com_sun_star_drawing_XSlidePreviewCacheListener_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module drawing {
+
+/** Listener for asynchronous preview creations. Called when a slide
+ preview has been created that was previously requested via a call to
+ XSlidePreviewCache::getSlidePreview(). The
+ implementor may then call getSlidePreview() a second
+ time to get the up-to-date version of the preview.
+*/
+interface XSlidePreviewCacheListener
+{
+ /** Called by a XSlidePreviewCache object when a
+ preview has been created for the slide with the given index.
+ @param nSlideIndex
+ The index of the slide for which a new preview has been created.
+ */
+ void notifyPreviewCreation ([in] long nSlideIndex);
+};
+
+}; }; }; }; // ::com::sun::star::drawing
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XSlideRenderer.idl b/offapi/com/sun/star/drawing/XSlideRenderer.idl
new file mode 100644
index 000000000..d5f051602
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XSlideRenderer.idl
@@ -0,0 +1,104 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_drawing_XSlideRenderer_idl__
+#define __com_sun_star_drawing_XSlideRenderer_idl__
+
+#include <com/sun/star/awt/XBitmap.idl>
+#include <com/sun/star/drawing/XDrawPage.idl>
+#include <com/sun/star/rendering/XBitmap.idl>
+#include <com/sun/star/rendering/XSpriteCanvas.idl>
+
+
+module com { module sun { module star { module drawing {
+
+/** Create preview bitmaps for single slides.
+*/
+interface XSlideRenderer
+{
+ /** Create a preview for the given slide that has the same aspect ratio
+ as the page and is as large as possible but not larger than the
+ specified size.
+
+ The reason for not using the given size directly as preview size and
+ thus possibly changing the aspect ratio is that
+ a) a different aspect ratio is not used often, and
+ b) leaving the adaptation of the actual preview size (according to the
+ aspect ratio of the slide) to the slide renderer is more convenient
+ to the caller than having to this himself.
+
+ @param xSlide
+ The slide for which a preview will be created.
+ @param aMaximumPreviewPixelSize
+ The maximum size of the preview measured in pixels. When the
+ aspect ratios of this size and of the given slide differ, then
+ resulting preview will either have the width or the height of
+ this size.
+ @param nSuperSampleFactor
+ When larger than the default 1 then internally a larger preview
+ is created which, before it is returned, is scaled down to the
+ requested size. The intermediate size is nSuperSampleFactor
+ times the original size. Values larger than 1 result in higher
+ memory consumption and longer runtime.
+ This value is an attempt to provide some antialiasing and so to
+ provide more readable slide previews. May become obsolete in
+ the future when true antialiasing support will be integrated.
+ */
+ com::sun::star::awt::XBitmap createPreview (
+ [in] XDrawPage xSlide,
+ [in] com::sun::star::awt::Size aMaximumPreviewPixelSize,
+ [in] short nSuperSampleFactor);
+
+ /** Exactly the same functionality as createPreview(),
+ only a different return type:
+ com::sun::star::rendering::XBitmap instead
+ of com::sun::star::awt::XBitmap.
+ @see createPreview
+ @param xSlide
+ See description in #createPreview.
+ @param aMaximumPreviewPixelSize
+ See description in #createPreview.
+ @param nSuperSampleFactor
+ See description in #createPreview.
+ @param xCanvas
+ This canvas is used create a canvas specific bitmap.
+ */
+ com::sun::star::rendering::XBitmap createPreviewForCanvas (
+ [in] XDrawPage xSlide,
+ [in] com::sun::star::awt::Size aMaximumPreviewPixelSize,
+ [in] short nSuperSampleFactor,
+ [in] com::sun::star::rendering::XCanvas xCanvas);
+
+ /** Return a size that has the given aspect ratio and shares either the
+ width or the height with the given maximum size.
+ @param nSlideAspectRatio
+ The aspect ratio must not be 0.
+ @param aMaximumPreviewPixelSize
+ The maximum size of the returned preview size.
+ */
+ com::sun::star::awt::Size calculatePreviewSize (
+ [in] double nSlideAspectRatio,
+ [in] com::sun::star::awt::Size aMaximumPreviewPixelSize);
+};
+
+}; }; }; }; // ::com::sun::star::drawing
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XSlideSorterBase.idl b/offapi/com/sun/star/drawing/XSlideSorterBase.idl
new file mode 100644
index 000000000..a67d31012
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XSlideSorterBase.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_drawing_XSlideSorterBase_idl__
+#define __com_sun_star_drawing_XSlideSorterBase_idl__
+
+#include <com/sun/star/drawing/framework/XView.idl>
+#include <com/sun/star/drawing/XDrawView.idl>
+#include <com/sun/star/awt/XWindow.idl>
+#include <com/sun/star/container/XIndexAccess.idl>
+#include <com/sun/star/frame/XController.idl>
+#include <com/sun/star/util/Color.idl>
+
+module com { module sun { module star { module drawing {
+
+/** This interface exists only because services do not directly support
+ multiple inheritance and attributes.
+ <p>It provides the interfaces and attributes that every object that
+ implements the SlideSorter service.</p>
+*/
+interface XSlideSorterBase
+{
+ /** This interface is included to mark a SlideSorter object
+ as view of the drawing framework and to provide a
+ ResourceId.
+ */
+ interface ::com::sun::star::drawing::framework::XView;
+
+ /** The XDrawView interface is included to provide access
+ to the current slide (especially write access).
+ */
+ interface ::com::sun::star::drawing::XDrawView;
+
+ /** The set of slides that are displayed by the implementing object.
+ <p>The default value is the set of all slides of the document for
+ which a slide sorter is created.</p>
+ */
+ [attribute] ::com::sun::star::container::XIndexAccess DocumentSlides;
+
+ /** Set this flag to `TRUE` in order to have the current slide
+ highlighted.
+ <p>The default value is `FALSE`.</p>
+ */
+ [attribute] boolean IsHighlightCurrentSlide;
+
+ /** Set this flag to `TRUE` in order to visualize the selection of
+ slides (typically a bold frame around the selected slides).
+ <p>The default value is `TRUE`.</p>
+ */
+ [attribute] boolean IsShowSelection;
+
+ /** Set this flag to `TRUE` to visualize to where the focus is by
+ showing a dotted rectangle around the focused slide.
+ <p>The default value is `TRUE`.</p>
+ */
+ [attribute] boolean IsShowFocus;
+
+ /** When this flag has the value `TRUE` then every time the current
+ slide is changed the visual area is shifted so that the new current
+ slide is display in the center of the slide sorter window.
+ <p>It is not always possible to move the current slide into the
+ exact center of the window, for example when slides are located near
+ the start or end of a document.</p>
+ <p>The default value is `FALSE`.
+ */
+ [attribute] boolean IsCenterSelection;
+
+ /** This flag controls whether updates of previews are created during
+ full screen presentations (`FALSE`) or not (`TRUE`). The
+ suspension of preview creations is an optimization for not slowing
+ down a running presentation.
+ <p>The default value is `TRUE`.</p>
+ */
+ [attribute] boolean IsSuspendPreviewUpdatesDuringFullScreenPresentation;
+
+ /** The orientation of a slide sorter can be either vertical (`TRUE`)
+ or horizontal (`FALSE`).
+ */
+ [attribute] boolean IsOrientationVertical;
+
+ /** This flag is a hint to make scrolling look smooth.
+ */
+ [attribute] boolean IsSmoothScrolling;
+
+ [attribute] ::com::sun::star::util::Color BackgroundColor;
+ [attribute] ::com::sun::star::util::Color TextColor;
+ [attribute] ::com::sun::star::util::Color SelectionColor;
+ [attribute] ::com::sun::star::util::Color HighlightColor;
+
+ /** This flag controls whether the model can be modified by using
+ keyboard or mouse.
+ <p>The default value is `TRUE`.</p>
+ */
+ [attribute] boolean IsUIReadOnly;
+};
+
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XUniversalShapeDescriptor.idl b/offapi/com/sun/star/drawing/XUniversalShapeDescriptor.idl
new file mode 100644
index 000000000..32883dc1e
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XUniversalShapeDescriptor.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_XUniversalShapeDescriptor_idl__
+#define __com_sun_star_drawing_XUniversalShapeDescriptor_idl__
+
+#include <com/sun/star/drawing/XShapeDescriptor.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** @deprecated
+ */
+published interface XUniversalShapeDescriptor: com::sun::star::drawing::XShapeDescriptor
+{
+ void setShapeType( [in] string aShapeTypeName );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/framework/AnchorBindingMode.idl b/offapi/com/sun/star/drawing/framework/AnchorBindingMode.idl
new file mode 100644
index 000000000..38fcb79ed
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/AnchorBindingMode.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_drawing_framework_AnchorBindingMode_idl__
+#define __com_sun_star_drawing_framework_AnchorBindingMode_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/util/XCloneable.idl>
+
+module com { module sun { module star { module drawing { module framework {
+
+/** This enum specifies how a resource is bound to an anchor. This can be
+ direct or indirect.
+ <p>Example: Let r:a1:a2 denote a resource r which is bound to
+ anchor a1:a2 which itself is a resource a1 bound to anchor a2.
+ Then r:a1:a2 is bound directly to a1:a2 and indirectly to a2.</p>
+*/
+enum AnchorBindingMode
+{
+ DIRECT,
+ INDIRECT
+};
+
+}; }; }; }; }; // ::com::sun::star::drawing::framework
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/framework/BasicPaneFactory.idl b/offapi/com/sun/star/drawing/framework/BasicPaneFactory.idl
new file mode 100644
index 000000000..96346e96c
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/BasicPaneFactory.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_drawing_framework_BasicPaneFactory_idl__
+#define __com_sun_star_drawing_framework_BasicPaneFactory_idl__
+
+#include <com/sun/star/frame/XController.idl>
+#include <com/sun/star/drawing/framework/XResourceFactory.idl>
+
+module com { module sun { module star { module drawing { module framework {
+
+/** The BasicPaneFactory is a resource factory that provides the
+ panes used by the Draw and Impress applications.
+ <p>This factory provides the center, left, and right pane. For the left
+ pane there are two URLS, <code>private:resource/floater/LeftImpressPane</code>
+ and <code>private:resource/floater/LeftDrawPane</code>, one for Impress,
+ the other for Draw. The center pane and the right pane have the URLs
+ <code>private:resource/floater/CenterPane</code> and
+ <code>private:resource/floater/RightPane</code> respectively.</p>
+ <p>This factory is typically created indirectly by registering it in the
+ configuration and have the XModuleController create it on
+ demand.</p>
+*/
+service BasicPaneFactory : XResourceFactory
+{
+ /** Give the controller to new instances so that they have access to the
+ drawing framework controllers.
+ */
+ create ([in] ::com::sun::star::frame::XController xController);
+};
+
+}; }; }; }; }; // ::com::sun::star::drawing::framework
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/framework/BasicToolBarFactory.idl b/offapi/com/sun/star/drawing/framework/BasicToolBarFactory.idl
new file mode 100644
index 000000000..55e1d5004
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/BasicToolBarFactory.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_drawing_framework_BasicToolBarFactory_idl__
+#define __com_sun_star_drawing_framework_BasicToolBarFactory_idl__
+
+#include <com/sun/star/frame/XController.idl>
+#include <com/sun/star/drawing/framework/XResourceFactory.idl>
+
+module com { module sun { module star { module drawing { module framework {
+
+/** The BasicToolBarFactory is a resource factory that provides
+ (some of) the tool bars used by the Draw and Impress applications.
+
+ <p>The factory recognizes the following URLs:<ul>
+ <li><code>private:resource/toolbar/ViewTabBar</code> for the tab bar
+ that allows the switching between views.</li>
+ </ul>
+ This short list marks the implementation of this service clearly as
+ being in transition.
+ </p>
+
+ <p>This factory is typically created indirectly by registering it in the
+ configuration and have the XModuleController create it on
+ demand.</p>
+*/
+service BasicToolBarFactory : XResourceFactory
+{
+ /** Give the controller to new instances so that they have access to the
+ drawing framework controllers.
+ */
+ create ([in] ::com::sun::star::frame::XController xController);
+};
+
+}; }; }; }; }; // ::com::sun::star::drawing::framework
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/framework/BasicViewFactory.idl b/offapi/com/sun/star/drawing/framework/BasicViewFactory.idl
new file mode 100644
index 000000000..84f59a810
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/BasicViewFactory.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_drawing_framework_BasicViewFactory_idl__
+#define __com_sun_star_drawing_framework_BasicViewFactory_idl__
+
+#include <com/sun/star/frame/XController.idl>
+#include <com/sun/star/drawing/framework/XResourceFactory.idl>
+
+module com { module sun { module star { module drawing { module framework {
+
+/** The BasicViewFactory is a view factory that provides the
+ panes used by the Draw and Impress applications.
+
+ <p>The factory recognizes the following URLs:<ul>
+ <li><code>private:resource/view/ImpressView</code> for the regular edit
+ view of the Impress application.</li>
+ <li><code>private:resource/view/GraphicView</code> for the regular edit
+ view of the Draw application.</li>
+ <li><code>private:resource/view/OutlineView</code> for the outline view.</li>
+ <li><code>private:resource/view/NotesView</code> for the notes view.</li>
+ <li><code>private:resource/view/HandoutView</code> for the handout view.</li>
+ <li><code>private:resource/view/SlideSorter</code> for the slide sorter
+ regardless of which pane it is used in.</li>
+ <li><code>private:resource/view/PresentationView</code> for the slide show.</li>
+ <li><code>private:resource/view/TaskPane</code> for the task pane.</li>
+ </ul></p>
+*/
+service BasicViewFactory : XResourceFactory
+{
+ /** Give the controller to new instances so that they have access to the
+ drawing framework controllers.
+ */
+ create ([in] ::com::sun::star::frame::XController xController);
+};
+
+}; }; }; }; }; // ::com::sun::star::drawing::framework
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/framework/BorderType.idl b/offapi/com/sun/star/drawing/framework/BorderType.idl
new file mode 100644
index 000000000..521c0cddd
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/BorderType.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_drawing_framework_BorderType_idl__
+#define __com_sun_star_drawing_framework_BorderType_idl__
+
+
+module com { module sun { module star { module drawing { module framework {
+
+/** See XPaneBorderPainter and its addBorder() and removeBorder() methods
+ for an explanation of the border type and its values.
+*/
+enum BorderType
+{
+ INNER_BORDER,
+ OUTER_BORDER,
+ TOTAL_BORDER
+};
+
+}; }; }; }; }; // ::com::sun::star::drawing::framework
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/framework/Configuration.idl b/offapi/com/sun/star/drawing/framework/Configuration.idl
new file mode 100644
index 000000000..572bce00a
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/Configuration.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_drawing_framework_Configuration_idl__
+#define __com_sun_star_drawing_framework_Configuration_idl__
+
+#include <com/sun/star/drawing/framework/XConfiguration.idl>
+
+module com { module sun { module star { module drawing { module framework {
+
+/** This service provides the means for constructing new configurations.
+
+ <p>Most likely use is the XConfigurationController::restoreConfiguration()
+ method.</p>
+
+ @see XConfiguration
+ for a description of the configuration.
+*/
+service Configuration
+ : XConfiguration
+{
+ /** Create an empty configuration.
+ <p>This should not be necessary very often. Changes to an
+ existing configuration are more likely.</p>
+ */
+ create();
+};
+
+}; }; }; }; }; // ::com::sun::star::drawing::framework
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/framework/ConfigurationChangeEvent.idl b/offapi/com/sun/star/drawing/framework/ConfigurationChangeEvent.idl
new file mode 100644
index 000000000..db5008de1
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/ConfigurationChangeEvent.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_drawing_framework_ConfigurationChangeEvent_idl__
+#define __com_sun_star_drawing_framework_ConfigurationChangeEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+
+module com { module sun { module star { module uno { interface XInterface; }; }; }; };
+
+module com { module sun { module star { module drawing { module framework {
+
+interface XConfiguration;
+interface XResourceId;
+
+/** Objects of this class are used for notifying changes of the
+ configuration.
+
+ <p>They are broadcasted by the configuration controller
+ which maintains the configuration. The set of types of configuration
+ changes is not fixed and is not maintained or documented in one
+ place.</p>
+
+ <p>The set of used members and the exact meaning of their values is not the
+ same for all types. Therefore, the descriptions of the members are just
+ general guidelines. See XConfigurationController for a
+ list of event types used by the basic drawing framework.</p>
+*/
+struct ConfigurationChangeEvent
+ : ::com::sun::star::lang::EventObject
+{
+ /** The type of configuration change is a free-form string. This is the
+ only member that is always set. The values of the other members
+ depend on the configuration change type and may or may not be set.
+ */
+ string Type;
+
+ /** The current configuration, depending on the event type, either
+ before or after the change. May be an empty reference.
+ */
+ XConfiguration Configuration;
+
+ /** The resource id that is part of the configuration change.
+ */
+ XResourceId ResourceId;
+
+ /** The resource object that corresponds to the ResourceId. May
+ be an empty reference.
+ */
+ com::sun::star::uno::XInterface ResourceObject;
+
+ /** Each listener is called with exactly the #UserData
+ that was given when the listener was registered.
+ */
+ any UserData;
+};
+
+}; }; }; }; }; // ::com::sun::star::drawing::framework
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/framework/ConfigurationController.idl b/offapi/com/sun/star/drawing/framework/ConfigurationController.idl
new file mode 100644
index 000000000..5d676ada0
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/ConfigurationController.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_drawing_framework_ConfigurationController_idl__
+#define __com_sun_star_drawing_framework_ConfigurationController_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/drawing/framework/XConfigurationController.idl>
+#include <com/sun/star/frame/XController.idl>
+
+module com { module sun { module star { module drawing { module framework {
+
+/** See XConfigurationController for a description of the
+ configuration controller.
+
+ <p>This service is used at the moment by the
+ XControllerManager to create a configuration controller.
+ This allows developers to replace the default implementation of the
+ configuration controller with their own. This may not be a useful
+ feature. Furthermore the sub controllers may need a tighter coupling
+ than the interfaces allow. These are reasons for removing this service
+ in the future and let the controller manager create the sub controllers
+ directly.</p>
+*/
+service ConfigurationController
+ : XConfigurationController
+{
+ create ([in] ::com::sun::star::frame::XController xController);
+};
+
+}; }; }; }; }; // ::com::sun::star::drawing::framework
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/framework/ModuleController.idl b/offapi/com/sun/star/drawing/framework/ModuleController.idl
new file mode 100644
index 000000000..8236a4ab1
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/ModuleController.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_drawing_framework_ModuleController_idl__
+#define __com_sun_star_drawing_framework_ModuleController_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/drawing/framework/XModuleController.idl>
+
+module com { module sun { module star { module drawing { module framework {
+
+/** See XModuleController for a description of the module
+ controller.
+
+ <p>See ConfigurationController for a comment why this
+ service may be removed in the future.</p>
+
+ <p>The ModuleController object for an application can be
+ obtained via the XControllerManager interface.
+*/
+service ModuleController : XModuleController
+{
+ /** Create a new instance of a ModuleController as sub
+ controller of the given XController object.
+ */
+ create ([in] ::com::sun::star::frame::XController xController);
+};
+
+}; }; }; }; }; // ::com::sun::star::drawing::framework
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/framework/ResourceActivationMode.idl b/offapi/com/sun/star/drawing/framework/ResourceActivationMode.idl
new file mode 100644
index 000000000..2239ba7f3
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/ResourceActivationMode.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_drawing_framework_ResourceActivationMode_idl__
+#define __com_sun_star_drawing_framework_ResourceActivationMode_idl__
+
+module com { module sun { module star { module drawing { module framework {
+
+/** The ResourceActivationMode specifies, for example for the
+ com::sun::star::drawing::framework::XConfigurationController::requestResourceActivation(),
+ whether a requested resource is to replace an existing resource of the
+ same class or is to be activated additionally.
+*/
+enum ResourceActivationMode
+{
+ /** A resource is requested in addition to already existing ones. This
+ is used for example for panes.
+ */
+ ADD,
+
+ /** A resource is requested to replace an already existing one of the
+ same class. This is used for example for views.
+ */
+ REPLACE
+};
+
+}; }; }; }; }; // ::com::sun::star::drawing::framework
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/framework/ResourceId.idl b/offapi/com/sun/star/drawing/framework/ResourceId.idl
new file mode 100644
index 000000000..8a70d4515
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/ResourceId.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_drawing_framework_ResourceId_idl__
+#define __com_sun_star_drawing_framework_ResourceId_idl__
+
+#include <com/sun/star/drawing/framework/XResourceId.idl>
+
+module com { module sun { module star { module drawing { module framework {
+
+/** The ResourceId service provides several constructors for
+ resource ids.
+ <p>They mainly differ in how the anchor is specified.</p>
+*/
+service ResourceId
+ : XResourceId
+{
+ /** Create an empty resource id. It does not specify a specific
+ resource but describes the absence of one.
+ */
+ createEmpty ();
+
+ /** Create a resource id that has no anchor.
+ <p>This constructor can be used to create resource ids for panes.</p>
+ */
+ create ([in] string sResourceURL);
+
+ /** Create a resource id for an anchor that is given as
+ XResourceId object. This is the most general of the
+ constructor variants.
+ */
+ createWithAnchor ([in] string sResourceURL, [in] XResourceId xAnchor);
+
+ /** Create a resource id for a resource that is bound to an anchor that
+ can be specified by a single URL.
+ <p>This constructor can be used to create resources ids for views
+ where the anchor is a pane.</p>
+ */
+ createWithAnchorURL ([in] string sResourceURL, [in] string sAnchorURL);
+};
+
+}; }; }; }; }; // ::com::sun::star::drawing::framework
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/framework/TabBarButton.idl b/offapi/com/sun/star/drawing/framework/TabBarButton.idl
new file mode 100644
index 000000000..c9565ca1f
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/TabBarButton.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_drawing_framework_TabBarButton_idl__
+#define __com_sun_star_drawing_framework_TabBarButton_idl__
+
+module com { module sun { module star { module drawing { module framework {
+
+interface XResourceId;
+
+/** Descriptor of a tab bar button. Tab bar buttons are typically used to
+ offer the user the choice between different views to be displayed in
+ one pane.
+ <p>For identification only the #ResourceId is used, so for
+ some methods of the XTabBar interface only the
+ #ResourceId member is evaluated.</p>
+*/
+struct TabBarButton
+{
+ /** This label is displayed on the UI as button text.
+ <p>The label is expected to be localized.</p>
+ */
+ string ButtonLabel;
+
+ /** The localized help text that may be displayed in a tool tip.
+ */
+ string HelpText;
+
+ /** XResourceId object of the resource that is requested to be
+ displayed when the tab bar button is activated.
+ <p>For some methods of the XTabBar interface only this
+ member is evaluated. That is because only this member is used to
+ identify a tab bar button.</p>
+ */
+ XResourceId ResourceId;
+};
+
+}; }; }; }; }; // ::com::sun::star::drawing::framework
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/framework/XConfiguration.idl b/offapi/com/sun/star/drawing/framework/XConfiguration.idl
new file mode 100644
index 000000000..a432359c1
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/XConfiguration.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_drawing_framework_XConfiguration_idl__
+#define __com_sun_star_drawing_framework_XConfiguration_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/util/XCloneable.idl>
+#include <com/sun/star/drawing/framework/AnchorBindingMode.idl>
+
+module com { module sun { module star { module drawing { module framework {
+
+interface XResourceId;
+
+/** A configuration describes the resources of an application like panes,
+ views, and tool bars and their relationships that are currently active
+ or are requested to be activated. Resources are specified by ResourceId
+ structures rather than references so that not only the current
+ configuration but also a requested configuration can be represented.
+
+ <p>Direct manipulation of a configuration object is not advised with the
+ exception of the ConfigurationController and objects that
+ implement the XConfigurationChangeRequest interface.</p>
+
+ @see XConfigurationController
+*/
+interface XConfiguration
+ : ::com::sun::star::util::XCloneable
+{
+ /** Returns the list of resources that are bound directly and/or
+ indirectly to the given anchor. A URL filter can reduce the set of
+ returned resource ids.
+ @param xAnchorId
+ This anchor typically is either a pane or an empty
+ XResourceId object. An
+ empty reference is treated like an XResourceId object.
+ @param sTargetURLPrefix
+ When a non-empty string is given then resource ids are returned
+ only when their resource URL matches this prefix, i.e. when it
+ begins with this prefix or is equal to it. Characters with
+ special meaning to URLs are not interpreted. In the typical
+ usage the prefix specifies the type of a resource. A typical
+ value is "private:resource/floater/", which is the prefix for
+ pane URLs. In a recursive search, only resource ids at the top
+ level are matched against this prefix.
+ <p>Use an empty string to prevent filtering out resource ids.</p>
+ @param eSearchMode
+ This flag defines whether to return only resources that are
+ directly bound to the given anchor or a recursive search is to
+ be made. Note that for the recursive search and an empty anchor
+ all resource ids are returned that belong to the configuration.
+ @return
+ The set of returned resource ids may be empty when there are no
+ resource ids that match all conditions. The resources in the
+ sequence are ordered with respect to the
+ XResourceId::compareTo() method.
+ */
+ sequence<XResourceId> getResources (
+ [in] XResourceId xAnchorId,
+ [in] string sTargetURLPrefix,
+ [in] AnchorBindingMode eSearchMode);
+
+ /** <p>Returns whether the specified resource is part of the
+ configuration.</p>
+ This is independent of whether the resource does really exist and is
+ active, i.e. has a visible representation in the GUI.
+ @param xResourceId
+ The id of a resource. May be empty (empty reference or empty
+ XResourceId object) in which case `FALSE` is
+ returned.
+ @return
+ Returns `TRUE` when the resource is part of the configuration
+ and `FALSE` when it is not.
+ */
+ boolean hasResource ([in] XResourceId xResourceId);
+
+ /** Add a resource to the configuration.
+ <p>This method should be used only by objects that implement the
+ XConfigurationRequest interface or by the configuration
+ controller.</p>
+ @param xResourceId
+ The resource to add to the configuration. When the specified
+ resource is already part of the configuration then this call is
+ silently ignored.
+ @throws IllegalArgumentException
+ When an empty resource id is given then an
+ IllegalArgumentException is thrown.
+ */
+ void addResource ([in] XResourceId xResourceId);
+
+ /** Remove a resource from the configuration.
+ <p>This method should be used only by objects that implement the
+ XConfigurationRequest interface or by the configuration
+ controller.</p>
+ @param xResourceId
+ The resource to remove from the configuration. When the
+ specified resource is not part of the configuration then this
+ call is silently ignored.
+ @throws IllegalArgumentException
+ When an empty resource id is given then an
+ IllegalArgumentException is thrown.
+ */
+ void removeResource ([in] XResourceId xResourceId);
+};
+
+}; }; }; }; }; // ::com::sun::star::drawing::framework
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/framework/XConfigurationChangeListener.idl b/offapi/com/sun/star/drawing/framework/XConfigurationChangeListener.idl
new file mode 100644
index 000000000..9fb5ec4ed
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/XConfigurationChangeListener.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_drawing_framework_XConfigurationChangeListener_idl__
+#define __com_sun_star_drawing_framework_XConfigurationChangeListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+#include <com/sun/star/drawing/framework/ConfigurationChangeEvent.idl>
+
+module com { module sun { module star { module drawing { module framework {
+
+/** A listener for configuration changes is called when it has been
+ registered at the configuration controller and a configuration change
+ occurs.
+*/
+interface XConfigurationChangeListener
+ : ::com::sun::star::lang::XEventListener
+{
+ /** The exact time of when a listener is called (before the change takes
+ place, during the change, or when the change has been made) depends
+ on the change event. The order in which listeners are called is the
+ order in which they are registered (First registered, first called.)
+ */
+ void notifyConfigurationChange ([in] ConfigurationChangeEvent aEvent);
+};
+
+}; }; }; }; }; // ::com::sun::star::drawing::framework
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/framework/XConfigurationChangeRequest.idl b/offapi/com/sun/star/drawing/framework/XConfigurationChangeRequest.idl
new file mode 100644
index 000000000..3f9ec9b42
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/XConfigurationChangeRequest.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_drawing_framework_XConfigurationChangeRequest_idl__
+#define __com_sun_star_drawing_framework_XConfigurationChangeRequest_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/drawing/framework/ConfigurationChangeEvent.idl>
+
+module com { module sun { module star { module drawing { module framework {
+
+interface XConfiguration;
+
+/** A single explicit request for a configuration change.
+
+ <p>The requested change is committed to a configuration only when the
+ execute() method is called. Configuration change
+ requests are executed asynchronously. This is done to avoid reentrance
+ problems with objects that are registered as
+ XConfigurationChangeListener and at the same time make
+ configuration change requests. When the requests were executed
+ synchronously then the listeners would be notified of the changes while
+ their request call has not yet returned.</p>
+
+ <p>This interface is typically used internally by the
+ XConfigurationController</p> @see XConfigurationController
+*/
+interface XConfigurationChangeRequest
+{
+ /** Commit the configuration change request represented by the called
+ object to the given configuration.
+ @param xConfiguration
+ This is the configuration to commit the requested change to.
+ */
+ void execute ([in] XConfiguration xConfiguration);
+};
+
+}; }; }; }; }; // ::com::sun::star::drawing::framework
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/framework/XConfigurationController.idl b/offapi/com/sun/star/drawing/framework/XConfigurationController.idl
new file mode 100644
index 000000000..eaac2123b
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/XConfigurationController.idl
@@ -0,0 +1,255 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_drawing_framework_XConfigurationController_idl__
+#define __com_sun_star_drawing_framework_XConfigurationController_idl__
+
+#include <com/sun/star/drawing/framework/ConfigurationChangeEvent.idl>
+#include <com/sun/star/drawing/framework/XConfigurationControllerBroadcaster.idl>
+#include <com/sun/star/drawing/framework/XConfigurationControllerRequestQueue.idl>
+#include <com/sun/star/drawing/framework/XResourceFactoryManager.idl>
+#include <com/sun/star/drawing/framework/ResourceActivationMode.idl>
+
+module com { module sun { module star { module drawing { module framework {
+
+interface XConfigurationChangeListener;
+interface XConfigurationChangeRequest;
+interface XResourceId;
+interface XResource;
+
+/** The configuration controller is responsible for the management of the
+ set of active resources.
+
+ <p>There are two configurations of resources:<ul>
+ <li>The current configuration contains the set of currently active
+ resources.</li>
+ <li>The requested configuration describes what the current configuration
+ should be. The requested configuration is changed usually by calling
+ requestResourceActivation() and
+ requestResourceDeactivation().</li>
+ </ul></p>
+
+ <p>When the two configurations differ then the current configuration is
+ updated eventually to reflect the requested configuration. An update
+ takes place when the following three conditions are fulfilled.
+ <ol>
+ <li>when the last pending request for configuration changes has been
+ processed,</li>
+ <li>when the update() method is called.</li>
+ <li>when the configuration manager it is unlocked after formerly being
+ locked.</li>
+ </ol></p>
+
+ <p>Requests for configuration changes are handled in a two step process:
+ <ol>
+ <li>First the requested configuration is updated iteratively: Every
+ request that is being made by calling
+ requestResourceActivation() or
+ requestResourceDeactivation() results in one or more
+ function objects, that each implement the
+ XConfigurationChangeRequest interface. These are inserted
+ into a queue. The request objects in the queue are processed
+ asynchronously one at a time in the order in which they are inserted.
+ Only when one request object is processed a change to the requested
+ configuration is made. These changes are broadcasted to registered
+ XConfigurationChangeListener objects. Listeners may
+ decide to make requests that then are added to the queue. For example
+ when the view in the center pane is replaced by another view, some
+ listeners may want to turn some side panes on or off, or show other
+ views in the side panes.</p>
+ <p>This process goes on until the queue of request objects becomes
+ empty. Until this point only the requested configuration has been
+ modified. No resources have been activated or deactivated.</p></li>
+
+ <li><p>The second update step activates or deactivates resources so that
+ the current configuration (the one that comprises the actually active
+ resources) reflects the requested configuration.</p>
+ <p>The order in which resources are activated or deactivated depends on
+ the dependency between the resources. For example a view depends on the
+ pane it is displayed in. Resources that other resources depend on are
+ activated first and deactivated last. The order is undefined for
+ unrelated resources.</p>
+ <p>Note that the second update step may not be able to activate (or even to
+ deactivate) all the requested resources. Either because they are
+ temporarily or permanently unavailable. For example, during the
+ start-up of a new Impress application the side panes are displayed
+ with a visible delay because they are not provided sooner by the
+ underlying framework. Such unavailable resources are not forgotten but
+ remain in the requested configuration. Every time the configuration
+ controller updates its current configuration these resources are
+ requested once more.</li></ol></p>
+
+ <p>The configuration controller sends the following events:
+ <ul>
+ <li>ResourceActivationRequested is sent when the
+ activation of a resource has been requested and the resource is not yet
+ active in the requested configuration. The event is sent when the
+ configuration change request is executed, not when the
+ requestResourceActivation() call is made.</p>
+ <p>The ConfigurationChangeEvent::ResourceId member is set to the requested
+ resource. The ResourceObject member is not
+ set.</p></li>
+ <li>ResourceDeactivationRequested is sent when the
+ deactivation of a resource has been requested and the resource is active
+ in the requested configuration. The event is sent when the
+ configuration change request is executed that is created when for
+ example requestResourceDeactivation() is called.</p>
+ <p>The ResourceId member is set to the requested
+ resource. The ResourceObject member is not
+ set.</p></li>
+ <li>ConfigurationUpdateStart is sent before the update of
+ the current configuration starts.</p>
+ <p>The requested configuration is available in the
+ ConfigurationChangeEvent::Configuration member. The
+ ResourceId and ResourceObject members
+ are not set.</p></li>
+ <li>ConfigurationUpdateEnd is sent after the update of
+ the current configuration ends.</p>
+ <p>The requested configuration is
+ available in the ConfigurationChangeEvent::Configuration member.
+ The ResourceId and ResourceObject members are not set.</p></li>
+ <li>ResourceActivation is sent when a resource is
+ activated, i.e. when a new object of a resource is created (or taken
+ from a cache).</p>
+ <p>The ResourceId and ResourceObject
+ members are set to the XResourceId and object reference of
+ the activated resource.</p></li>
+ <li>ResourceDeactivation is sent when a resource is
+ deactivated, i.e. when an object that previously was part of the
+ configuration is removed from the configuration.</p>
+ <p>The ResourceId and ResourceObject
+ members are set to XResourceId and object reference of the
+ deactivated resource.</p></li>
+ </ul></p>
+*/
+interface XConfigurationController
+{
+ interface XConfigurationControllerRequestQueue;
+ interface XConfigurationControllerBroadcaster;
+ interface XResourceFactoryManager;
+
+ /** Request the activation of a resource.
+ <p>The request is processed asynchronously. Notifications about
+ configuration changes are sent after this call returns.</p>
+ @param xResourceId
+ The resource whose activation is requested.
+ @param eMode
+ <p>When eMode is REPLACE then, before adding the
+ resource activation to the request queue, similar resources
+ linked to the same anchor are removed. This makes it easier to
+ switch between resources whose activation is mutually exclusive.
+ For example, there can only be one view per pane, so before
+ activating a new view the old one has to be deactivated.</p>
+ <p>When eMode is ADD then the resource is requested
+ without further changes.</p>
+ */
+ void requestResourceActivation (
+ [in] XResourceId xResourceId,
+ [in] ResourceActivationMode eMode);
+
+ /** Request the deactivation of a resource.
+ <p>The request is processed asynchronously. Notifications about
+ configuration changes are sent after this call returns.</p>
+ <p>Requesting the deactivation
+ of a resource that is not active is not an error.</p>
+ @param xResourceId
+ The resource whose deactivation is requested.
+ */
+ void requestResourceDeactivation (
+ [in] XResourceId xResourceId);
+
+
+ /** Return the active resource specified by the given resource id.
+ @param xResourceId
+ A valid resource id. This should, but does not have to be, the
+ resource id of an active resource.
+ @return
+ When the given resource id specifies an active resource then
+ that resource is returned. Otherwise an empty reference is
+ returned.
+ */
+ XResource getResource (
+ [in] XResourceId xResourceId);
+
+ /** Lock the processing of configuration change requests.
+ <p>This is only necessary when more than one change request is being
+ made in a row. It prevents an update being made (with all the visible UI
+ changes) before all change requests are being made.</p>
+ <p>Recursive lock() calls are recognized: the
+ configuration controller is locked while lock() was
+ called more often than unlock().</p>
+ */
+ void lock ();
+
+ /** Unlock the processing of configuration change requests.
+ <p>When unlock() is called as many times as
+ lock() and the queue of configuration change
+ requests is not empty the configuration controller continues the
+ processing of the change requests. An update of the current
+ configuration will eventually being made.</p>
+ */
+ void unlock ();
+
+ /** Explicitly request an update of the current configuration.
+ <p>Call it when a resource is activated or deactivated
+ without the control and knowledge of the drawing framework. Calling
+ this method (from outside the drawing framework) should hardly every
+ be necessary.</p>
+ */
+ void update ();
+
+ /** Return a copy of the requested configuration.
+ <p>Modifications to the returned configuration have no effect on the
+ drawing framework.</p>
+ */
+ XConfiguration getRequestedConfiguration ();
+
+ /** Return a copy of the current configuration.
+ <p>Modifications to the returned configuration have no effect on the
+ drawing framework.</p>
+ */
+ XConfiguration getCurrentConfiguration ();
+
+ /** Replace the requested configuration with the given configuration and
+ schedule an update of the current configuration.
+ <p>Together with the getCurrentConfiguration() and
+ getRequestedConfiguration() methods this
+ allows the saving and restoring of configurations. However, the
+ given configuration can have other origins then these methods.</p>
+ <p>The given configuration is transformed into a list of change
+ requests so that the resulting requested configuration equals the
+ given configuration. This has the advantage that not only the
+ resource activations and deactivations but all configuration
+ changes are properly broadcasted.</p>
+ <p>Note that because of the configuration change notifications
+ listeners can make more configuration change requests, so that the
+ resulting requested configuration can be different from the given
+ configuration.</p>
+ @param xConfiguration
+ This typically is a configuration that was obtained with an
+ earlier getRequestedConfiguration() call.
+ */
+ void restoreConfiguration ([in] XConfiguration xConfiguration);
+};
+
+}; }; }; }; }; // ::com::sun::star::drawing::framework
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/framework/XConfigurationControllerBroadcaster.idl b/offapi/com/sun/star/drawing/framework/XConfigurationControllerBroadcaster.idl
new file mode 100644
index 000000000..2af2cba09
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/XConfigurationControllerBroadcaster.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_drawing_framework_XConfigurationControllerBroadcaster_idl__
+#define __com_sun_star_drawing_framework_XConfigurationControllerBroadcaster_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/drawing/framework/ConfigurationChangeEvent.idl>
+
+module com { module sun { module star { module drawing { module framework {
+
+interface XConfigurationChangeListener;
+
+/** Manage the set of registered event listeners and the event notification for a configuration
+ controller.
+ <p>The listeners are called in the order in which they are registered.</p>
+*/
+interface XConfigurationControllerBroadcaster
+{
+ /** Add a new listener for configuration changes.
+ <p>The listener is notified only for the specified type of
+ configuration changes. When the listener is interested in more than
+ one event type this method has to be called multiple times.
+ Alternatively it can register as universal listener that will be
+ called for all event types. However, this option is provided
+ primarily to support debugging and monitoring.</p>
+ @param xListener
+ The new listener.
+ @param sEventType
+ The event type that the listener is interested in. The set of
+ event types is not fixed and there can be no exhaustive
+ list. The empty string is a special value in that the listener
+ will be called for all types of event.
+ @param aUserData
+ Arbitrary data that is passed to the listener when it is called
+ for the specified event type. When one listener is registered
+ for more than one event type then different user data objects
+ may be given as well. Supplying unique integer values allows
+ the listener to use a switch statement to distinguish between
+ the different event types.
+ */
+ void addConfigurationChangeListener (
+ [in] XConfigurationChangeListener xListener,
+ [in] string sEventType,
+ [in] any aUserData);
+
+ /** Remove a listener for configuration changes.
+ @param xListener
+ The listener that is to be removed.
+ */
+ void removeConfigurationChangeListener (
+ [in] XConfigurationChangeListener xListener);
+
+ /** With this method other objects can send events to all the registered
+ listeners.
+ */
+ void notifyEvent (
+ [in] ConfigurationChangeEvent aEvent);
+};
+
+}; }; }; }; }; // ::com::sun::star::drawing::framework
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/framework/XConfigurationControllerRequestQueue.idl b/offapi/com/sun/star/drawing/framework/XConfigurationControllerRequestQueue.idl
new file mode 100644
index 000000000..2c3125c1c
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/XConfigurationControllerRequestQueue.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_drawing_framework_XConfigurationControllerRequestQueue_idl__
+#define __com_sun_star_drawing_framework_XConfigurationControllerRequestQueue_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module drawing { module framework {
+
+interface XConfigurationChangeRequest;
+
+/** The request queue of the configuration controller handles requests for
+ changes to the current configuration.
+
+ <p>This interface allows callers to add requests to the back of the
+ queue and to determine whether the queue is empty. Using this interface
+ should normally not be necessary for anyone else than the
+ XConfigurationController. It may be removed in the future.</p>
+*/
+interface XConfigurationControllerRequestQueue
+{
+ /** Return whether there are pending requests for configuration changes.
+ @return
+ Returns `TRUE` when there is at least one request object in the
+ queue that has not yet been processed. It returns `FALSE` when
+ the queue is empty.
+ */
+ boolean hasPendingRequests ();
+
+ /** Add a request for a configuration change to the request queue.
+ <p>This method should not be called from outside the drawing
+ framework. Other sub controllers of the drawing framework are typical
+ callers. They can add change requests that can not be made with the
+ requestResourceActivation() and
+ requestResourceDeactivation() methods.</p>
+ @param xRequest
+ The configuration change represented by this request object must only
+ be committed to the configuration when the
+ com::sun::star::drawing::framework::XConfigurationChangeRequest::execute()
+ method of the xRequest object is called.
+ */
+ void postChangeRequest (
+ [in] XConfigurationChangeRequest xRequest);
+};
+
+}; }; }; }; }; // ::com::sun::star::drawing::framework
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/framework/XControllerManager.idl b/offapi/com/sun/star/drawing/framework/XControllerManager.idl
new file mode 100644
index 000000000..4c615b66b
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/XControllerManager.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_drawing_framework_XControllerManager_idl__
+#define __com_sun_star_drawing_framework_XControllerManager_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module drawing { module framework {
+
+interface XConfigurationController;
+interface XModuleController;
+
+/** The XControllerManager gives access to the controllers of the drawing
+ framework.
+ <p>The XControllerManager interface is typically
+ implemented by the same object that implements
+ com::sun::star::frame::XController.</p>
+*/
+interface XControllerManager
+{
+ /** Return the XConfigurationController object.
+ @return
+ The returned reference is never empty.
+ */
+ XConfigurationController getConfigurationController ();
+
+ /** Return the XModuleController object.
+ @return
+ The returned reference is never empty.
+ */
+ XModuleController getModuleController ();
+};
+
+}; }; }; }; }; // ::com::sun::star::drawing::framework
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/framework/XModuleController.idl b/offapi/com/sun/star/drawing/framework/XModuleController.idl
new file mode 100644
index 000000000..e9f8b581d
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/XModuleController.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_drawing_framework_XModuleController_idl__
+#define __com_sun_star_drawing_framework_XModuleController_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/awt/XWindow.idl>
+#include <com/sun/star/frame/XController.idl>
+#include <com/sun/star/drawing/framework/ResourceId.idl>
+
+module com { module sun { module star { module drawing { module framework {
+
+interface XView;
+
+/** The module controller is responsible for loading a module (ad-don,
+ plugin, whatever the name) when it is first used.
+ <p>For this there is a
+ list in the office configuration which associates resource URLs with
+ service names which in turn are associated with modules (or dlls). The
+ path to the office configuration list is
+ MultiPaneGUI/Framework/ResourceFactories in the
+ Impress.xcu file.</p>
+*/
+interface XModuleController
+{
+ /** When the specified resource is requested for the first time then
+ create a new instance of the associated factory service.
+ */
+ void requestResource ([in] string sResourceTypeURL);
+};
+
+}; }; }; }; }; // ::com::sun::star::drawing::framework
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/framework/XPane.idl b/offapi/com/sun/star/drawing/framework/XPane.idl
new file mode 100644
index 000000000..04b7cd137
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/XPane.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_drawing_framework_XPane_idl__
+#define __com_sun_star_drawing_framework_XPane_idl__
+
+#include <com/sun/star/awt/XWindow.idl>
+#include <com/sun/star/rendering/XCanvas.idl>
+#include <com/sun/star/drawing/framework/XResource.idl>
+#include <com/sun/star/drawing/framework/XRelocatableResource.idl>
+
+module com { module sun { module star { module drawing { module framework {
+
+/** A pane is an abstraction of a window and is one of the resources managed
+ by the drawing framework.
+ <p>Apart from the area that displays a view a pane may contain other
+ parts like title, menu, closer button.</p>
+ <p>The URL prefix of panes is <code>private:resource/floater</code></p>
+*/
+interface XPane
+{
+ interface XResource;
+
+ /** Return the com::sun::star::awt::XWindow of the
+ pane that is used to display a view.
+ */
+ ::com::sun::star::awt::XWindow getWindow ();
+
+ /** Return the com::sun::star::awt::XCanvas of the pane. The
+ com::sun::star::rendering::XCanvas object is expected to
+ be associated with the com::sun::star::awt::XWindow object returned by
+ getWindow().
+ @return
+ When the com::sun::star::rendering::XCanvas
+ interface is not supported then an empty reference is returned.
+ */
+ ::com::sun::star::rendering::XCanvas getCanvas ();
+};
+
+}; }; }; }; }; // ::com::sun::star::drawing::framework
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/framework/XPane2.idl b/offapi/com/sun/star/drawing/framework/XPane2.idl
new file mode 100644
index 000000000..6bbaae249
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/XPane2.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_drawing_framework_XPane2_idl__
+#define __com_sun_star_drawing_framework_XPane2_idl__
+
+#include <com/sun/star/accessibility/XAccessible.idl>
+
+module com { module sun { module star { module drawing { module framework {
+
+/** An extension of the XPane interface that adds support for
+ a) showing and hiding the windows that internally belong to the pane and
+ b) setting the accessibility object.
+ This is typically an optional interface.
+*/
+interface XPane2
+{
+ /** Return whether all windows that are used to implement the pane are
+ visible.
+ @return `TRUE` when all windows of the pane are visible.
+ */
+ boolean isVisible ();
+
+ /** Hide or show the pane. If there is more than one window used to
+ implement the pane then it is left to the implementation if one,
+ some, or all windows are hidden or shown as long as the pane becomes
+ hidden or visible.
+ @param bIsVisible
+ When `TRUE` then show the pane. Hide it otherwise.
+ */
+ void setVisible ([in] boolean bIsVisible);
+
+ /** Set the accessibility object for the pane. When there is more than
+ one window used to implement the pane then the given accessibility
+ object is usually set at the topmost window. However, the details
+ are implementation dependent.
+ @param xAccessible
+ May be an empty reference.
+ */
+ void setAccessible ([in] ::com::sun::star::accessibility::XAccessible xAccessible);
+
+ /** Return the accessibility object that is currently associated with
+ the windows that implement the pane.
+ */
+ ::com::sun::star::accessibility::XAccessible getAccessible ();
+};
+
+}; }; }; }; }; // ::com::sun::star::drawing::framework
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/framework/XPaneBorderPainter.idl b/offapi/com/sun/star/drawing/framework/XPaneBorderPainter.idl
new file mode 100644
index 000000000..b0e172ba5
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/XPaneBorderPainter.idl
@@ -0,0 +1,152 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_drawing_framework_XPaneBorderPainter_idl__
+#define __com_sun_star_drawing_framework_XPaneBorderPainter_idl__
+
+#include <com/sun/star/awt/Rectangle.idl>
+#include <com/sun/star/awt/Point.idl>
+#include <com/sun/star/rendering/XCanvas.idl>
+#include <com/sun/star/drawing/framework/BorderType.idl>
+
+module com { module sun { module star { module drawing { module framework {
+
+/** Paint the border around a rectangular region, typically a pane.
+
+ <p>Calling objects have to be able to derive inner bounding boxes of the
+ border from the outer ones and inner ones from outer ones. This
+ conversion and the painting of the border involves three rectangles.
+ The inner and outer bounding box of the border. This is a logical
+ bounding box which the paint methods may paint over. The center box is
+ the third rectangle. This is the actual border between outer and inner
+ background color or bitmap and it is used for placing the bitmaps that are used
+ paint the border. The inner sides and corners are places relative to
+ this center box, i.e. when not further offsets are given then the upper
+ left corner bitmap is painted with its lower right at the upper left of
+ the center box.</p>
+*/
+interface XPaneBorderPainter
+{
+ /** Enlarge the given rectangle by the size of the specified part of the
+ border. This method can be used to convert an inner bounding box
+ into the center box or the outer bounding box.
+ @param sPaneBorderStyleName
+ The pane style defines the sizes of the border.
+ @param aRectangle
+ This rectangle will be converted into a larger one. This should
+ be the center box or the inner bounding box of the border.
+ @param eBorderType
+ The part of the border to add to the given rectangle.
+ Use INNER_BORDER to convert an inner bounding box into the
+ center box or TOTAL_BORDER to convert it into the outer bounding
+ box. OUTER_BORDER can be used to convert the center box into
+ the outer bounding box.
+ */
+ ::com::sun::star::awt::Rectangle addBorder (
+ [in] string sPaneBorderStyleName,
+ [in] ::com::sun::star::awt::Rectangle aRectangle,
+ [in] BorderType eBorderType);
+
+ /** Shrink the given rectangle by the size of the specified part of the
+ border. This method can be used to convert an outer bounding box
+ into the center box or the inner bounding box.
+ @param sPaneBorderStyleName
+ The pane style defines the sizes of the border.
+ @param aRectangle
+ This rectangle will be converted into a smaller one that lies
+ inside it. It should be the center box or the outer bounding
+ box of the border.
+ @param eBorderType
+ The part of the border to remove from the given rectangle.
+ Use OUTER_BORDER to convert an outer bounding box into the
+ center box or TOTAL_BORDER to convert it into the inner bounding
+ box. INNER_BORDER can be used to convert the center box into
+ the inner bounding box.
+ */
+ ::com::sun::star::awt::Rectangle removeBorder (
+ [in] string sPaneBorderStyleName,
+ [in] ::com::sun::star::awt::Rectangle aRectangle,
+ [in] BorderType eBorderType);
+
+ /** Paint the border around a pane.
+ @param sPaneBorderStyleName
+ The pane style to use for painting the border.
+ @param xCanvas
+ The canvas onto which the border is painted.
+ @param aOuterBorderRectangle
+ The outer bounding box of the border. Use addBorder to convert
+ the bounding box of a pane (the inner bounding box of the
+ border) into this outer bounding box of the border.
+ @param aRepaintArea
+ The area in which the border has to be repainted. The clip
+ rectangle.
+ @param sTitle
+ The pane title. Supply an empty string for panes without
+ title. It is the responsibility of the caller to supply a title
+ only for pane border styles that support a title.
+ */
+ void paintBorder (
+ [in] string sPaneBorderStyleName,
+ [in] ::com::sun::star::rendering::XCanvas xCanvas,
+ [in] ::com::sun::star::awt::Rectangle aOuterBorderRectangle,
+ [in] ::com::sun::star::awt::Rectangle aRepaintArea,
+ [in] string sTitle);
+
+ /** Paint the border around a pane where the border includes a call out
+ that is anchored at the given point. Most arguments have the same
+ meaning as in the paintBorder().
+
+ @see paintBorder
+
+ @param sPaneBorderStyleName
+ See description in #paintBorder.
+ @param xCanvas
+ See description in #paintBorder.
+ @param aOuterBorderRectangle
+ See description in #paintBorder.
+ @param aRepaintArea
+ See description in #paintBorder.
+ @param sTitle
+ See description in #paintBorder.
+ @param aCalloutAnchor
+ The anchor point of the call out. It is usually located outside
+ the border.
+ */
+ void paintBorderWithCallout (
+ [in] string sPaneBorderStyleName,
+ [in] ::com::sun::star::rendering::XCanvas xCanvas,
+ [in] ::com::sun::star::awt::Rectangle aOuterBorderRectangle,
+ [in] ::com::sun::star::awt::Rectangle aRepaintArea,
+ [in] string sTitle,
+ [in] ::com::sun::star::awt::Point aCalloutAnchor);
+
+ /** Return the offset of a call out anchor with respect to the outer
+ border. This value is used when the call out is realized by a fixed
+ bitmap in order to determine the size and/or location of the outer
+ border for a given call out.
+ */
+ ::com::sun::star::awt::Point getCalloutOffset (
+ [in] string sPaneBorderStyleName);
+};
+
+}; }; }; }; }; // ::com::sun::star::drawing::framework
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/framework/XRelocatableResource.idl b/offapi/com/sun/star/drawing/framework/XRelocatableResource.idl
new file mode 100644
index 000000000..4d426fe11
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/XRelocatableResource.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_drawing_framework_XRelocatableResource_idl__
+#define __com_sun_star_drawing_framework_XRelocatableResource_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module drawing { module framework {
+
+interface XResource;
+
+/** An optional interface that is implemented by resources that are
+ relocatable to different anchors.
+*/
+interface XRelocatableResource
+{
+ /** Replace the current anchor of the called resource with the given
+ one.
+ @param xNewAnchor
+ The new anchor.
+ @return
+ Returns `TRUE` when the relocation was successful.
+ */
+ boolean relocateToAnchor ([in] XResource xNewAnchor);
+};
+
+}; }; }; }; }; // ::com::sun::star::drawing::framework
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/framework/XResource.idl b/offapi/com/sun/star/drawing/framework/XResource.idl
new file mode 100644
index 000000000..c2056e526
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/XResource.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_drawing_framework_XResource_idl__
+#define __com_sun_star_drawing_framework_XResource_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module drawing { module framework {
+
+interface XResourceId;
+
+/** Base interface that provides functionality shared by all resource types
+ of the drawing framework.
+*/
+interface XResource
+{
+ /** Return an XResourceId object for the called resource.
+ The returned id unambiguously identifies the resource.
+ */
+ XResourceId getResourceId ();
+
+ /** Some resources must not be leafs, i.e. have to be anchor to at least
+ one other resource. Most panes are examples for this. Views on the
+ other hand are in most cases no anchors. So the typical pane will
+ return `TRUE` and the typical view will return `FALSE`.
+
+ The return value is used to determine whether a resource has to be
+ deactivated when it has no children, either because none is
+ requested or because none can be created.
+ */
+ boolean isAnchorOnly ();
+};
+
+}; }; }; }; }; // ::com::sun::star::drawing::framework
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/framework/XResourceFactory.idl b/offapi/com/sun/star/drawing/framework/XResourceFactory.idl
new file mode 100644
index 000000000..0c7c270de
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/XResourceFactory.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_drawing_framework_XResourceFactory_idl__
+#define __com_sun_star_drawing_framework_XResourceFactory_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/lang/WrappedTargetException.idl>
+
+module com { module sun { module star { module drawing { module framework {
+
+interface XResource;
+interface XResourceId;
+
+/** Factory and possibly cache for creating and releasing resources.
+ <p>A resource factory is created and used by the
+ XConfigurationController object.</p>
+ <p>A factory may want to implement a cache to reuse previously released
+ resources.</p>
+*/
+interface XResourceFactory
+{
+ /** Create a resource for the given XResourceId object.
+ @param xResourceId
+ The resource URL of this id specifies the type of resource to
+ create. The anchor can be used to obtain the associated object
+ from the configuration controller. For example, when a view is
+ created, then the new object can be initialized with the pane
+ that is its anchor.
+ <p>Valid values are those for which the factory has previously been
+ registered at the XConfigurationController</p>.
+ @return
+ Returns a resource object that has been just created or was
+ taken from a cache. When the requested resource can not be
+ created then an empty reference is returned. A later call may
+ be successful. This, for example, can be the case with SFX
+ based side panes. They are not available right after the
+ creation of a new application frame.
+ @throws InvalidArgumentException
+ when the given URL is not supported by the factory.
+ */
+ XResource createResource (
+ [in] XResourceId xResourceId)
+ raises ( ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::lang::WrappedTargetException
+ );
+
+ /** Call this method to tell a factory that the given resource is no
+ longer in use. The factory can decide whether to destroy the
+ resource or to keep it in a cache in order to reuse it later.
+ @param xResource
+ The given resource has to be one created by the same factory.
+ @throws InvalidArgumentException
+ when the given pane was not created by the same factory.
+ */
+ void releaseResource ([in] XResource xResource);
+};
+
+}; }; }; }; }; // ::com::sun::star::drawing::framework
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/framework/XResourceFactoryManager.idl b/offapi/com/sun/star/drawing/framework/XResourceFactoryManager.idl
new file mode 100644
index 000000000..1da726ba1
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/XResourceFactoryManager.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_drawing_framework_XResourceFactoryManager_idl__
+#define __com_sun_star_drawing_framework_XResourceFactoryManager_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module drawing { module framework {
+
+interface XResourceId;
+interface XResourceFactory;
+
+/** The XResourceFactoryManager is part of the configuration controller and
+ manages the set of registered resource factories.
+
+ @see XConfigurationController
+ @see XResourceFactory
+*/
+interface XResourceFactoryManager
+{
+ /** Register a new resource factory for the given URL.
+ <p>When one factory is responsible for more than one type of resource
+ then this method has to be called for each type. If this method is
+ called multiple times for the same URL then a previously registered
+ factory is removed for the URL.</p>
+ @param sResourceURL
+ The URL of the resource that the factory can create.
+ @param xResourceFactory
+ The resource factory object.
+ */
+ void addResourceFactory (
+ [in] string sResourceURL,
+ [in] XResourceFactory xResourceFactory);
+
+ /** Remove a resource factory for one type of resource. When the
+ factory has been registered for other URLs as well then it remains
+ registered for them. Use the
+ removeResourceFactoryForReference() to remove a
+ factory completely.
+ @param sResourceURL
+ The URL for which to remove the resource factory.
+ */
+ void removeResourceFactoryForURL (
+ [in] string sResourceURL);
+
+ /** Remove a resource factory for all resource types it has been registered for. Use
+ removeResourceFactoryForURL() to remove a factory
+ just for one resource type and to leave it registered for others.
+ @param xResourceFactory
+ The resource factory object to remove.
+ */
+ void removeResourceFactoryForReference (
+ [in] XResourceFactory xResourceFactory);
+
+ /** Return the resource factory that was previously registered for the
+ given resource type. This method is typically called by one of the
+ resource controllers.
+ @param sResourceURL
+ The URL of the resource type for which to return the resource
+ factory.
+ @return
+ When no resource factory was registered for the given resource
+ type then an empty reference is returned.
+ */
+ XResourceFactory getResourceFactory (
+ [in] string sResourceURL);
+};
+
+}; }; }; }; }; // ::com::sun::star::drawing::framework
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/framework/XResourceId.idl b/offapi/com/sun/star/drawing/framework/XResourceId.idl
new file mode 100644
index 000000000..d2635ae76
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/XResourceId.idl
@@ -0,0 +1,145 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_drawing_framework_XResourceId_idl__
+#define __com_sun_star_drawing_framework_XResourceId_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/drawing/framework/AnchorBindingMode.idl>
+#include <com/sun/star/util/URL.idl>
+
+module com { module sun { module star { module drawing { module framework {
+
+/** A resource id uses a set of URLs to unambiguously specify a resource of
+ the drawing framework.
+ <p>Resources of the drawing framework are panes, views, tool bars, and
+ command groups. One URL describes the type of the actual resource. A
+ sequence of URLs (typically one, sometimes two) specifies its anchor,
+ the resource it is bound to. The anchor typically is a pane (for
+ views), or it is empty (for panes).</p>
+ <p>The resource URL may be empty. In this case the anchor is empty,
+ too. Such an empty resource id does not describe a resource but rather
+ the absence of one. Instead of an empty XResourceId object
+ an empty reference can be used in many places.</p>
+ <p>The resource URL may have arguments that are passed to the factory
+ method on its creation. Arguments are only available through the
+ getFullResourceURL(). The getResourceURL() method strips them away.</p>
+*/
+interface XResourceId
+{
+ /** Return the URL of the resource. Arguments supplied on creation are
+ stripped away. Use getFullResourceURL() to access them.
+ */
+ string getResourceURL ();
+
+ /** Return a URL object of the resource URL that may contain arguments.
+ */
+ com::sun::star::util::URL getFullResourceURL ();
+
+ /** Return whether there is a non-empty anchor URL. When this method
+ returns `FALSE` then getAnchorURLs() will return an empty list.
+ */
+ boolean hasAnchor ();
+
+ /** Return a new XResourceId that represents the anchor resource.
+ */
+ XResourceId getAnchor ();
+
+ /** Return the, possibly empty, list of anchor URLs. The URLs are
+ ordered so that the one in position 0 is the direct anchor of the
+ resource, while the one in position i+1 is the direct anchor of the
+ one in position i.
+ */
+ sequence<string> getAnchorURLs ();
+
+ /** Return the type prefix of the resource URL. This includes all up to
+ and including the second slash.
+ */
+ string getResourceTypePrefix ();
+
+ /** Compare the called XResourceId object with the given
+ one.
+ <p>The two resource ids A and B are compared so that if A<B (return
+ value is -1) then either A and B are unrelated or A is a direct or
+ indirect anchor of B.</p>
+ <p>The algorithm for this comparison is quite simple. It uses a
+ double lexicographic ordering. On the lower level individual URLs
+ are compared via the lexicographic order defined on strings. On the
+ higher level two resource ids are compared via a lexicographic order
+ defined on the URLS. So when there are two resource ids A1.A2
+ (A1 being the anchor of A2) and B1.B2 then A1.A2<B1.B2 when A1<B1 or
+ A1==B1 and A2<B2. Resource ids may have different lengths: A1 <
+ B1.B2 when A1<B1 or A1==B1 (anchors first then resources linked to them.</p>
+ @param xId
+ The resource id to which the called resource id is compared.
+ @return
+ Returns 0 when the called resource id is
+ equivalent to the given resource id. Returns <code>-1</code> or
+ <code>+1</code> when the two compared resource ids differ.
+ */
+ short compareTo (
+ [in] XResourceId xId);
+
+ /** Return whether the anchor of the called resource id object
+ represents the same resource as the given object.
+ <p>Note that not only the anchor of the given object is taken into
+ account. The whole object, including the resource URL, is
+ interpreted as anchor resource.</p>
+ @param xAnchorId
+ The resource id of the anchor.
+ @param eMode
+ This mode specifies how the called resource has to be bound to
+ the given anchor in order to have this function return `TRUE`.
+ <p>If eMode is DIRECT then the anchor of the called resource id
+ has to be identical to the given anchor. If eMode is
+ INDIRECT then the given anchor has to be a part
+ of the anchor of the called resource.
+ */
+ boolean isBoundTo (
+ [in] XResourceId xAnchorId,
+ [in] AnchorBindingMode eMode);
+
+ /** Return whether the anchor of the called resource id object
+ represents the same resource as the given anchor URL. This is a
+ convenience variant of the isBoundTo() function
+ that can also be seen as an optimization for the case that the
+ anchor consists of exactly one URL.
+ @param AnchorURL
+ The resource URL of the anchor.
+ @param eMode
+ This mode specifies how the called resource has to be bound to
+ the given anchor in order to have this function return. See the
+ description of isBoundTo() for more
+ information.
+ */
+ boolean isBoundToURL (
+ [in] string AnchorURL,
+ [in] AnchorBindingMode eMode);
+
+ /** Return a copy of the called resource id. The caller becomes the
+ owner of the new object.
+ */
+ XResourceId clone ();
+};
+
+}; }; }; }; }; // ::com::sun::star::drawing::framework
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/framework/XTabBar.idl b/offapi/com/sun/star/drawing/framework/XTabBar.idl
new file mode 100644
index 000000000..97778edf2
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/XTabBar.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_drawing_framework_XTabBar_idl__
+#define __com_sun_star_drawing_framework_XTabBar_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/awt/XWindow.idl>
+#include <com/sun/star/drawing/framework/TabBarButton.idl>
+
+module com { module sun { module star { module drawing { module framework {
+
+/** UI control for the selection of views in a pane.
+ <p>Every tab of a tab bar has, besides its localized title and help
+ text, the URL of a view. A possible alternative would be to use a
+ command URL instead of the view URL.</p>
+ <p>In the current Impress implementation a tab bar is only used for the
+ center pane to switch between views in the center pane. Tab bars can
+ make sense for other panes as well, i.e. for showing either the slide
+ sorter or the outline view in the left pane.</p>
+ <p>Tab bar buttons are identified by their resource id. Note that
+ because the resource anchors are all the same (the tab bar), it is the
+ resource URL that really identifies a button. There can not be two
+ buttons with the same resource id.</p>
+ </p>
+ <p>A better place for this interface (in an extended version) would be
+ <code>com::sun::star::awt</code></p>
+ @see TabBarButton
+*/
+interface XTabBar
+{
+ /** Add a tab bar button to the right of another one.
+ @param aButton
+ The new tab bar button that is to be inserted. If a button with
+ the same resource id is already present than that is removed before the
+ new button is inserted.
+ @param aAnchor
+ The new button is inserted to the right of this button. When
+ its ResourceId is empty then the new button is inserted at the left
+ most position.
+ */
+ void addTabBarButtonAfter ([in] TabBarButton aButton, [in] TabBarButton aAnchor);
+
+ /** Add a tab bar button at the right most position.
+ @param aButton
+ The new tab bar button that is to be inserted.
+ */
+ void appendTabBarButton ([in] TabBarButton aButton);
+
+ /** Remove a tab bar button.
+ @param aButton
+ The tab bar button to remove. When there is no button with the
+ specified resource id then this call is silently ignored.
+ */
+ void removeTabBarButton ([in] TabBarButton aButton);
+
+ /** Test whether the specified button exists in the tab bar.
+ @param aButton
+ The tab bar button whose existence is tested.
+ @return
+ Returns `TRUE` when the button exists.
+ */
+ boolean hasTabBarButton ([in] TabBarButton aButton);
+
+ /** Return a sequence of all the tab bar buttons.
+ <p>Their order reflects the visible order in the tab bar.</p>
+ <p>This method can be used when
+ addTabBarButtonAfter() does not provide enough
+ control as to where to insert a new button.</p>
+ */
+ sequence<TabBarButton> getTabBarButtons ();
+};
+
+}; }; }; }; }; // ::com::sun::star::drawing::framework
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/framework/XToolBar.idl b/offapi/com/sun/star/drawing/framework/XToolBar.idl
new file mode 100644
index 000000000..bc681b78e
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/XToolBar.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_drawing_framework_XToolBar_idl__
+#define __com_sun_star_drawing_framework_XToolBar_idl__
+
+#include <com/sun/star/drawing/framework/XResource.idl>
+
+module com { module sun { module star { module drawing { module framework {
+
+/** Abstraction of tool bars used by the drawing framework.
+ @see XToolBarController
+ @see XToolBarFactory
+*/
+interface XToolBar
+ : ::com::sun::star::drawing::framework::XResource
+{
+};
+
+}; }; }; }; }; // ::com::sun::star::drawing::framework
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/framework/XView.idl b/offapi/com/sun/star/drawing/framework/XView.idl
new file mode 100644
index 000000000..36610c77a
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/XView.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_drawing_framework_XView_idl__
+#define __com_sun_star_drawing_framework_XView_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/drawing/framework/XResource.idl>
+
+module com { module sun { module star { module drawing { module framework {
+
+/** A view in the drawing framework is any object that paints into a pane.
+ <p>Typical examples are the Impress views that show a graphical
+ representation of a document. But the task pane, which is primarily a
+ container of dialogs, is a view as well.</p>
+ <p>Luckily the drawing framework does not need to know much about what a
+ view is. It just needs to identify view objects and a typesafe way to
+ reference them.</p>
+ <p>The URL prefix of views is <code>private:resource/view</code></p>
+*/
+interface XView
+{
+ interface XResource;
+};
+
+}; }; }; }; }; // ::com::sun::star::drawing::framework
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/modules.idl b/offapi/com/sun/star/drawing/modules.idl
new file mode 100644
index 000000000..7415da12c
--- /dev/null
+++ b/offapi/com/sun/star/drawing/modules.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_modules_framework_idl__
+#define __com_sun_star_modules_framework_idl__
+
+module com { module sun { module star { module drawing {
+
+/** The drawing framework is responsible for managing the resources used by
+ the UI of the drawing applications.
+ The set of active resources is represented by the
+ com::sun::star::drawing::framework::XConfiguration.</p>
+ <p>The com::sun::star::drawing::framework::XControllerManager
+ interface provides access to the sub controllers. It typically is
+ implemented by the same class that implements the
+ com::sun::star::frame::XController interface.</p>
+ <p>The
+ configuration is managed by the
+ com::sun::star::drawing::framework::XConfigurationController.
+ It coordinates changes to the configuration made by the other sub
+ controllers so that
+ <ul><li>unnecessary ui updates (flickering) is avoided and</li>
+ <li>and the configuration is always in a valid and meaningful
+ state.</li></ul></p>
+ <p>For more information please see the wiki page of the <a
+ href="http://wiki.openoffice.org/wiki/Drawing_framework">drawing framework</a>.
+*/
+module framework {};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/Actions.idl b/offapi/com/sun/star/embed/Actions.idl
new file mode 100644
index 000000000..4adc8569b
--- /dev/null
+++ b/offapi/com/sun/star/embed/Actions.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_embed_Actions_idl__
+#define __com_sun_star_embed_Actions_idl__
+
+
+module com { module sun { module star { module embed {
+
+/** This constant set contains possible actions that could be approved by
+ActionsApproval implementation.
+*/
+published constants Actions
+{
+ /** "Prevent Close" - throws veto exception if target object is going to
+ close.
+
+ <p>
+ Usually a com::sun::star::util::XCloseListener
+ implementation could use this constant to request approval to throw
+ veto exception.
+ </p>
+ */
+ const long PREVENT_CLOSE = 1;
+
+ /** "Prevent Termination" - throws veto exception if target object is going
+ to terminate.
+
+ <p>
+ Usually a com::sun::star::frame::XTerminateListener
+ implementation could use this constant to request approval to throw
+ veto exception.
+ </p>
+ */
+ const long PREVENT_TERMINATION = 2;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/Aspects.idl b/offapi/com/sun/star/embed/Aspects.idl
new file mode 100644
index 000000000..87f615b96
--- /dev/null
+++ b/offapi/com/sun/star/embed/Aspects.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_embed_Aspects_idl__
+#define __com_sun_star_embed_Aspects_idl__
+
+
+
+module com { module sun { module star { module embed {
+
+/** The constant set contains possible aspects for an embedded object.
+
+ <p>
+ This constant set provides a set of values that
+ can be used to specify the kind of object view.
+ It can be used for example by container to request
+ view representation of a certain kind from
+ XEmbeddedObject.
+ </p>
+
+ <p>
+ The first 32 bits are reserved for MS OLE aspects.
+ </p>
+
+ @see XEmbeddedObject
+*/
+published constants Aspects
+{
+ // MS OLE aspects
+
+ /** specifies view of the object to be displayed as an embedded object
+ inside a container.
+ */
+ const hyper MSOLE_CONTENT = 1;
+
+ /** specifies view of the object to be displayed in a browsing tool.
+ */
+ const hyper MSOLE_THUMBNAIL = 2;
+
+ /** specifies view of the object when object is represented by Icon.
+ */
+ const hyper MSOLE_ICON = 4;
+
+ /** specifies view of the object for print preview.
+ */
+ const hyper MSOLE_DOCPRINT = 8;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/BaseStorage.idl b/offapi/com/sun/star/embed/BaseStorage.idl
new file mode 100644
index 000000000..52de6a080
--- /dev/null
+++ b/offapi/com/sun/star/embed/BaseStorage.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_embed_BaseStorage_idl__
+#define __com_sun_star_embed_BaseStorage_idl__
+
+#include <com/sun/star/embed/XStorage.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+
+
+
+ module com { module sun { module star { module embed {
+
+/** This is a service that allows to get access to a storage hierarchy.
+ */
+published service BaseStorage
+{
+ /** This is a general interface representing storage functionality.
+ It allows to copy storages, get access to child elements and to
+ control lifetime.
+ */
+ interface ::com::sun::star::embed::XStorage;
+
+ /** allows to get access to storage properties.
+ */
+ interface ::com::sun::star::beans::XPropertySet;
+
+ /** allows to get the mode the storage is opened in.
+
+ <p>
+ Can be a combination of values from ElementModes.
+ </p>
+ */
+ [property, readonly] long OpenMode;
+
+ /** allows to retrieve URL the storage is based on.
+ */
+ [property, optional, readonly] string URL;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/DocumentCloser.idl b/offapi/com/sun/star/embed/DocumentCloser.idl
new file mode 100644
index 000000000..292823c1e
--- /dev/null
+++ b/offapi/com/sun/star/embed/DocumentCloser.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_embed_DocumentCloser_idl__
+#define __com_sun_star_embed_DocumentCloser_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/frame/XFrame.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/frame/DoubleInitializationException.idl>
+
+module com { module sun { module star { module embed {
+
+/** The main task of this service is to close an office document frame embedded
+ in an application running in another process correctly.
+
+ <p>
+ The usual usage of this service is to create it, initialize with document
+ frame, and to dispose the service. While disposing the service will do all
+ the required actions to let the frame be closed using
+ com::sun::star::util::XCloseable::close( true ). Thus
+ in case there is a code that prevents closing of the frame the code
+ automatically becomes the owner of the frame.
+ </p>
+
+ <p>
+ In addition the code will disconnect the VCL window the frame is based on
+ from the container system window.
+ </p>
+*/
+published service DocumentCloser : com::sun::star::lang::XComponent
+{
+ /** is used to initialize the object on it's creation.
+
+ @param xFrame
+ the frame of the document that should be closed.
+
+ */
+ DocumentCloserCtor1( [in] com::sun::star::frame::XFrame xFrame )
+ raises( ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::frame::DoubleInitializationException,
+ ::com::sun::star::uno::Exception );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/ElementModes.idl b/offapi/com/sun/star/embed/ElementModes.idl
new file mode 100644
index 000000000..aaf004c9d
--- /dev/null
+++ b/offapi/com/sun/star/embed/ElementModes.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_embed_ElementModes_idl__
+#define __com_sun_star_embed_ElementModes_idl__
+
+
+
+module com { module sun { module star { module embed {
+
+/** The constant set contains possible modes to open an element.
+
+ <p>
+ The modes can be combined by "or" operation.
+ ElementModes::READ and ElementModes::WRITE
+ are base modes. A result mode must include one of base modes.
+ </p>
+
+ @see XStorage
+*/
+published constants ElementModes
+{
+ /** specifies opening of an element for reading.
+ */
+ const long READ = 1;
+
+ /** specifies opening of a seekable element.
+
+ <p>
+ This mode is ignored for Storage elements.
+ This flag makes sense only in combination with
+ ElementModes::READ and/or
+ ElementModes::WRITE.
+ </p>
+ */
+ const long SEEKABLE = 2;
+
+ /** specifies opening of a seekable element for reading.
+
+ <p>
+ This is just a combination of the previous two values. For storages
+ it is the same as ElementModes::READ.
+ </p>
+ */
+ const long SEEKABLEREAD = 3;
+
+ /** specifies opening of an element for writing.
+ */
+ const long WRITE = 4;
+
+ /** specifies opening of an element for reading and writing.
+
+ <p>
+ For a stream element is also specifies that it must be seekable.
+ </p>
+ */
+ const long READWRITE = 7;
+
+ /** lets the document be truncated immediately after opening.
+
+ <p>
+ This flag makes sense only in combination with
+ ElementModes::WRITE.
+ </p>
+ */
+ const long TRUNCATE = 8;
+
+ /** restricts creation of a new element on opening in case a requested one
+ does not exist.
+
+ <p>
+ This flag makes sense only in combination with
+ ElementModes::WRITE.
+ </p>
+ */
+ const long NOCREATE = 16;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/EmbedMapUnits.idl b/offapi/com/sun/star/embed/EmbedMapUnits.idl
new file mode 100644
index 000000000..76f0b56a3
--- /dev/null
+++ b/offapi/com/sun/star/embed/EmbedMapUnits.idl
@@ -0,0 +1,91 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_embed_EmbedMapUnits_idl__
+#define __com_sun_star_embed_EmbedMapUnits_idl__
+
+
+
+module com { module sun { module star { module embed {
+
+/** contains list of possible map modes supported by embedded object.
+
+ @see XVisualObject
+*/
+published constants EmbedMapUnits
+{
+ /** In this type of map mode one logical point is equal to one-hundredth
+ of millimeter.
+ */
+ const long ONE_100TH_MM = 0;
+
+ /** In this type of map mode one logical point is equal to one-tenth
+ of millimeter.
+ */
+ const long ONE_10TH_MM = 1;
+
+ /** In this type of map mode one logical point is equal to one
+ millimeter.
+ */
+ const long ONE_MM = 2;
+
+ /** In this type of map mode one logical point is equal to one
+ centimeter.
+ */
+ const long ONE_CM = 3;
+
+ /** In this type of map mode one logical point is equal to one-thousandth
+ of inch.
+ */
+ const long ONE_1000TH_INCH = 4;
+
+ /** In this type of map mode one logical point is equal to one-hundredth
+ of inch.
+ */
+ const long ONE_100TH_INCH = 5;
+
+ /** In this type of map mode one logical point is equal to one-tenth
+ of inch.
+ */
+ const long ONE_10TH_INCH = 6;
+
+ /** In this type of map mode one logical point is equal to one inch.
+ */
+ const long ONE_INCH = 7;
+
+ /** In this type of map mode one logical point is equal to one
+ typographical point.
+ */
+ const long POINT = 8;
+
+ /** In this type of map mode one logical point is equal to one twentieth
+ of typographical point.
+ */
+ const long TWIP = 9;
+
+ /** In this type of map mode one logical point is equal to one pixel.
+ */
+ const long PIXEL = 10;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/EmbedMisc.idl b/offapi/com/sun/star/embed/EmbedMisc.idl
new file mode 100644
index 000000000..e017143a8
--- /dev/null
+++ b/offapi/com/sun/star/embed/EmbedMisc.idl
@@ -0,0 +1,114 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_embed_EmbedMisc_idl__
+#define __com_sun_star_embed_EmbedMisc_idl__
+
+
+
+module com { module sun { module star { module embed {
+
+/** The constant set contains flags describing miscellaneous characteristics
+ of embedded objects.
+
+ <p>
+ The constant values can be combined with "or" operation.
+ The first 32 bits are reserved for MS values, they are added because
+ this API is going to be used to embed MS OLE objects into OOo documents,
+ so there should be a possibility to transfer all the possible MS flags
+ to container. In case own specific values should be added those bits can
+ not be used.
+ </p>
+
+ @see XEmbeddedObject
+*/
+published constants EmbedMisc
+{
+ // analog of the MS OLEMISC enum
+
+ /** means that the object wish to regenerate view representation if it's
+ view in the container is resized.
+ */
+ const hyper MS_EMBED_RECOMPOSEONRESIZE = 1;
+
+ /** The object has no view representation except icon.
+ */
+ const hyper MS_EMBED_ONLYICONIC = 2;
+
+ /** If the object is generated from a selection, the selection should not
+ be removed, the object should be inserted beside the selection.
+ */
+ const hyper MS_EMBED_INSERTNOTREPLACE = 4;
+
+ /** The object is a static object that contains only representation.
+ */
+ const hyper MS_EMBED_STATIC = 8;
+
+ const hyper MS_EMBED_CANTLINKINSIDE = 16;
+
+ const hyper MS_EMBED_CANLINKBYOLE1 = 32;
+
+ const hyper MS_EMBED_ISLINKOBJECT = 64;
+
+ const hyper MS_EMBED_INSIDEOUT = 128;
+
+ const hyper MS_EMBED_ACTIVATEWHENVISIBLE = 256;
+
+ const hyper MS_EMBED_RENDERINGISDEVICEINDEPENDENT = 512;
+
+ const hyper MS_EMBED_INVISIBLEATRUNTIME = 1024;
+
+ const hyper MS_EMBED_ALWAYSRUN = 2048;
+
+ const hyper MS_EMBED_ACTSLIKEBUTTON = 4096;
+
+ const hyper MS_EMBED_ACTSLIKELABEL = 8192;
+
+ const hyper MS_EMBED_NOUIACTIVATE = 16384;
+
+ const hyper MS_EMBED_ALIGNABLE = 32768;
+
+ const hyper MS_EMBED_SIMPLEFRAME = 65536;
+
+ const hyper MS_EMBED_SETCLIENTSITEFIRST = 131072;
+
+ const hyper MS_EMBED_IMEMODE = 262144;
+
+ const hyper MS_EMBED_IGNOREACTIVATEWHENVISIBLE = 524288;
+
+ const hyper MS_EMBED_WANTSTOMENUMERGE = 1048576;
+
+ const hyper MS_EMBED_SUPPORTSMULTILEVELUNDO = 2097152;
+
+ const hyper EMBED_ACTIVATEIMMEDIATELY = 0x100000000;
+
+ const hyper EMBED_NEVERRESIZE = 0x200000000;
+
+ /** The object needs the size to be provided from the container after
+ it is loaded to function in optimal way.
+ */
+ const hyper EMBED_NEEDSSIZEONLOAD = 0x400000000;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/EmbedStates.idl b/offapi/com/sun/star/embed/EmbedStates.idl
new file mode 100644
index 000000000..95d0aa0a4
--- /dev/null
+++ b/offapi/com/sun/star/embed/EmbedStates.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_embed_EmbedStates_idl__
+#define __com_sun_star_embed_EmbedStates_idl__
+
+
+
+module com { module sun { module star { module embed {
+
+/** This constant set contains possible states for
+EmbeddedObject.
+*/
+published constants EmbedStates
+{
+ /** "Loaded" - the persistent representation of the object is loaded in
+ memory.
+
+ <p>
+ The object is created and assigned with a persistent entry,
+ and a view representation ( metafile and etc. ) can be retrieved
+ ( if there is any ).
+ </p>
+ */
+ const long LOADED = 0;
+
+ /** "Running" - the object is connected and loaded.
+
+ <p>
+ The object has a connection to the container client and a component
+ loaded from persistent entry. In case of internal document it also
+ means existing of document model that implements
+ com::sun::star::frame::XModel interface.
+ </p>
+ */
+ const long RUNNING = 1;
+
+ /** "Active" - the object is activated in separate window
+ ( outplace activation ).
+ */
+ const long ACTIVE = 2;
+
+ /** "Inplace active" - the object has own window in the container's
+ window.
+
+ <p>
+ The object is activated and has its own window in the container's
+ window that allows object to process mouse events and control own
+ rendering.
+ </p>
+ */
+ const long INPLACE_ACTIVE = 3;
+
+ /** "UI active" - the inplace active object that has user interface.
+
+ <p>
+ The object is inplace active, allowed to have menus, toolbars,
+ keyboard accelerators, and has the focus.
+ </p>
+ */
+ const long UI_ACTIVE = 4;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/EmbedUpdateModes.idl b/offapi/com/sun/star/embed/EmbedUpdateModes.idl
new file mode 100644
index 000000000..cb5387ec9
--- /dev/null
+++ b/offapi/com/sun/star/embed/EmbedUpdateModes.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_embed_EmbedUpdateModes_idl__
+#define __com_sun_star_embed_EmbedUpdateModes_idl__
+
+
+
+module com { module sun { module star { module embed {
+
+/** The constant set specifies possible modes of object update.
+
+ @see XEmbeddedObject
+*/
+published constants EmbedUpdateModes
+{
+ /** An object representation should be updated as often as possible.
+
+ <p>
+ Any time object detects that it is changed the representation
+ of the object is updated.
+ </p>
+ */
+ const long ALWAYS_UPDATE = 0;
+
+ /** An object representation should be updated only in case of request.
+
+ <p>
+ The representation of the object is updated only by explicit request.
+ </p>
+ */
+ const long EXPLICIT_UPDATE = 1;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/EmbedVerbs.idl b/offapi/com/sun/star/embed/EmbedVerbs.idl
new file mode 100644
index 000000000..a94239f7d
--- /dev/null
+++ b/offapi/com/sun/star/embed/EmbedVerbs.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_embed_EmbedVerbs_idl__
+#define __com_sun_star_embed_EmbedVerbs_idl__
+
+
+
+module com { module sun { module star { module embed {
+
+/** This constants set contains possible verbs for a contained object.
+
+ @see XEmbeddedObject
+*/
+published constants EmbedVerbs
+{
+ /** lets the object do default activation, as by double-click.
+ */
+ const long MS_OLEVERB_PRIMARY = 0;
+
+ /** lets the object open itself for editing or viewing.
+ */
+ const long MS_OLEVERB_SHOW = -1;
+
+ /** lets the object activate itself outplace.
+ */
+ const long MS_OLEVERB_OPEN = -2;
+
+ /** lets the inplace object remove its UI from container.
+ */
+ const long MS_OLEVERB_HIDE = -3;
+
+ /** lets the object proceed with UI activation.
+ */
+ const long MS_OLEVERB_UIACTIVATE = -4;
+
+ /** lets the object activate itself inplace.
+ */
+ const long MS_OLEVERB_IPACTIVATE = -5;
+
+ /** lets the object forget any undo state.
+ */
+ const long MS_OLEVERB_DISCARDUNDOSTATE = -6;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/EmbeddedObjectCreator.idl b/offapi/com/sun/star/embed/EmbeddedObjectCreator.idl
new file mode 100644
index 000000000..19ef22b49
--- /dev/null
+++ b/offapi/com/sun/star/embed/EmbeddedObjectCreator.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_embed_EmbeddedObjectCreator_idl__
+#define __com_sun_star_embed_EmbeddedObjectCreator_idl__
+
+#include <com/sun/star/embed/XEmbeddedObjectCreator.idl>
+
+
+ module com { module sun { module star { module embed {
+
+/**
+ @since LibreOffice 4.1
+ */
+service EmbeddedObjectCreator : XEmbeddedObjectCreator;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/EmbeddedObjectDescriptor.idl b/offapi/com/sun/star/embed/EmbeddedObjectDescriptor.idl
new file mode 100644
index 000000000..02ff3adf5
--- /dev/null
+++ b/offapi/com/sun/star/embed/EmbeddedObjectDescriptor.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_embed_EmbeddedObjectDescriptor_idl__
+#define __com_sun_star_embed_EmbeddedObjectDescriptor_idl__
+
+#include <com/sun/star/io/XInputStream.idl>
+#include <com/sun/star/awt/Rectangle.idl>
+#include <com/sun/star/util/URL.idl>
+#include <com/sun/star/task/XInteractionHandler.idl>
+#include <com/sun/star/task/XStatusIndicator.idl>
+#include <com/sun/star/frame/XDispatchProviderInterceptor.idl>
+#include <com/sun/star/embed/XStorage.idl>
+
+
+module com { module sun { module star { module embed {
+
+/** describes properties of an embedded object
+
+ <p>
+ This service may be represented by a
+ com::sun::star::beansPropertyValue[].
+ Such descriptors will be passed to different functions, included into
+ possible load/save processes. Every member of such process can use
+ this descriptor and may change it to actualize the information about
+ the object. So this descriptor should be used as an in/out parameter.
+ </p>
+
+ @see com::sun::star::beans::PropertyValue
+ */
+published service EmbeddedObjectDescriptor
+{
+ /** lets the graphical representation of embedded document be stored.
+
+ <p>
+ Setting of this property to true tells the embedded object that
+ controls the document to store or not to store the graphical
+ representation of the document into the object persistence.
+ If this property is not set the object makes the decision itself.
+ </p>
+ */
+ [optional,property] boolean StoreVisualReplacement;
+
+ /** allows to provide a dispatch interceptor for outplace activation.
+ */
+ [optional,property] ::com::sun::star::frame::XDispatchProviderInterceptor
+ OutplaceDispatchInterceptor;
+
+ /** denotes the storage from which the embedded object is to be recovered.
+
+ <p>Upon activating the embedded object, it is normally loaded from a storage as denoted by
+ the parameters to the XEmbedObjectCreator method calls.</p>
+
+ <p>You can pass a non-`NULL` <code>RecoveryStorage</code> in the object descriptor if you wish to load the
+ embedded object from an alternate storage.</p>
+
+ <p>The object will still be based on the storage denoted in the <code>XEmbedObjectCreator</code> method
+ call, i.e., subsequent save operations will still use that storage. <code>RecoveryStorage</code> is used
+ at loading time only, and then discarded.</p>
+ */
+ [optional, property] XStorage RecoveryStorage;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/EntryInitModes.idl b/offapi/com/sun/star/embed/EntryInitModes.idl
new file mode 100644
index 000000000..c41c1405b
--- /dev/null
+++ b/offapi/com/sun/star/embed/EntryInitModes.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_embed_EntryInitModes_idl__
+#define __com_sun_star_embed_EntryInitModes_idl__
+
+
+
+module com { module sun { module star { module embed {
+
+/** This constant set contains possible modes to initialize object
+ persistence.
+
+ @see XEmbedPersist
+*/
+published constants EntryInitModes
+{
+ /** In case object persistence is created based on existing entry,
+ the object should be initialized from this entry. Otherwise
+ the object should be initialized as a new one.
+ */
+ const long DEFAULT_INIT = 0;
+
+ /** The object should be initialized as a new empty one.
+ */
+ const long TRUNCATE_INIT = 1;
+
+ /** The object should be initialized as a new one only in case it still
+ was not initialized. If the object initialized already do not
+ reinitialize it.
+ */
+ const long NO_INIT = 2;
+
+ /** The object should be initialized using additional arguments from
+ provided
+ com::sun::star::document::MediaDescriptor.
+ */
+ const long MEDIA_DESCRIPTOR_INIT = 3;
+
+ /** The object should be initialized as a link using URL provided in
+ additional arguments.
+ */
+ const long URL_LINK_INIT = 4;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/FileSystemStorage.idl b/offapi/com/sun/star/embed/FileSystemStorage.idl
new file mode 100644
index 000000000..66dece34e
--- /dev/null
+++ b/offapi/com/sun/star/embed/FileSystemStorage.idl
@@ -0,0 +1,104 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_embed_FileSystemStorage_idl__
+#define __com_sun_star_embed_FileSystemStorage_idl__
+
+#include <com/sun/star/embed/BaseStorage.idl>
+
+
+ module com { module sun { module star { module embed {
+
+/** This is a service that allows to get access to a file system folder using
+ storage hierarchy.
+ */
+published service FileSystemStorage
+{
+ /** This service describes the base functionality of storages.
+
+ <p>
+ Please see below the description of additional requirements for the
+ file system storage implementation.
+ </p>
+
+ <dl>
+ <dt>interface com::sun::star::lang::XComponent
+ </dt>
+ <dd>
+ <p>
+ A file system storage is created either by
+ StorageFactory or by XStorage
+ interface and is controlled by refcounting. In case
+ refcounting is decreased to zero the storage will be
+ disposed automatically.
+ </p>
+
+ <p>
+ In case a storage object is disposed the elements
+ ( substorages and substreams ) are not affected.
+ </p>
+ </dd>
+ <dt>interface XStorage</dt>
+ <dd>
+ <dl>
+ <dt>XStorage::openStorageElement()</dt>
+ <dd>
+ This method returns FileSystemStorage
+ service implementation.
+ </dd>
+
+ <dt>XStorage::copyLastCommitTo()</dt>
+ <dd>
+ Since this service implementation supports no transaction
+ this method just creates a copy of the storage in its
+ current state.
+ </dd>
+
+ <dt>XStorage::copyStorageElementLastCommitTo()</dt>
+ <dd>
+ Since this service implementation supports no transaction
+ this method just creates a copy of the storage in its
+ current state.
+ </dd>
+
+ <dt>XStorage::removeStorageElement()</dt>
+ <dd>
+ If the element is opened and it is a stream element
+ the removing will fail. If the element is opened and
+ it is a storage element, all the contents that can be
+ removed will be removed.
+ </dd>
+ </dl>
+ </dd>
+ <dt>property URL</dt>
+ <dd>
+ This property is not optional for this service.
+ </dd>
+ </dl>
+
+ */
+ service BaseStorage;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/FileSystemStorageFactory.idl b/offapi/com/sun/star/embed/FileSystemStorageFactory.idl
new file mode 100644
index 000000000..125d39ba4
--- /dev/null
+++ b/offapi/com/sun/star/embed/FileSystemStorageFactory.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_embed_FileSystemStorageFactory_idl__
+#define __com_sun_star_embed_FileSystemStorageFactory_idl__
+
+#include <com/sun/star/lang/XSingleServiceFactory.idl>
+
+
+
+ module com { module sun { module star { module embed {
+
+/** The FileSystemStorageFactory is a service that allows to
+ create a FileSystemStorage based on URL. The URL must point
+ to a folder.
+
+ <p>
+ In case
+ com::sun::star::lang::XSingleServiceFactory::createInstance()
+ call is used the result storage will be open in read-write mode based
+ on an arbitrary file system folder.
+ </p>
+
+ <p>
+ In case
+ com::sun::star::lang::XSingleServiceFactory::createInstanceWithArguments()
+ call is used a sequence of the following parameters can be used:
+ </p>
+
+ <dl>
+ <dt>parameter 1</dt>
+ <dd>
+ specifies source of the object, it must be a string
+ containing URL.
+ </dd>
+
+ <dt>parameter 2</dt>
+ <dd>
+ specifies mode the storage should be open in, can take
+ values from ElementModes constant set.
+ </dd>
+
+ <dt>parameter 3</dt>
+ <dd>
+ allows to provide
+ com::sun::star::document::MediaDescryptor
+ to the storage so some parts can be used for
+ initialization, it can be for example
+ com::sun::star::task::XInteractionHandler
+ implementation.
+ </dd>
+ </dl>
+
+ <p>
+ The parameters are optional, that means that sequence can be empty or
+ contain only first parameter, or first and second one. In case
+ no parameters are provided the call works the same way as
+ com::sun::star::lang::XSingleServiceFactory::createInstance().
+ In case only first parameter is provided, the storage is opened in
+ readonly mode.
+ </p>
+
+ <p>
+ The opened storages can support read access in addition to
+ specified one.
+ </p>
+*/
+published service FileSystemStorageFactory
+ : ::com::sun::star::lang::XSingleServiceFactory;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/HatchWindowFactory.idl b/offapi/com/sun/star/embed/HatchWindowFactory.idl
new file mode 100644
index 000000000..2456ce589
--- /dev/null
+++ b/offapi/com/sun/star/embed/HatchWindowFactory.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_embed_HatchWindowFactory_idl__
+#define __com_sun_star_embed_HatchWindowFactory_idl__
+
+#include <com/sun/star/embed/XHatchWindowFactory.idl>
+
+
+module com { module sun { module star { module embed {
+
+
+/**
+ @since LibreOffice 4.1
+ */
+service HatchWindowFactory : XHatchWindowFactory;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/InsertedObjectInfo.idl b/offapi/com/sun/star/embed/InsertedObjectInfo.idl
new file mode 100644
index 000000000..66550761a
--- /dev/null
+++ b/offapi/com/sun/star/embed/InsertedObjectInfo.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_embed_InsertedObjectInfo_idl__
+#define __com_sun_star_embed_InsertedObjectInfo_idl__
+
+#include <com/sun/star/beans/NamedValue.idl>
+#include <com/sun/star/embed/XEmbeddedObject.idl>
+
+
+ module com { module sun { module star { module embed {
+
+
+/** is intended to provide result of creation of an embedded object by dialog.
+ */
+published struct InsertedObjectInfo
+{
+ /** The new created embedded object.
+ */
+ XEmbeddedObject Object;
+
+ /** Container related options selected by user.
+
+ <p>
+ A dialog related to embedded object creation usually allows user
+ to make some choices that can be container related. This information
+ can be provided by this member.
+ </p>
+ */
+ sequence < ::com::sun::star::beans::NamedValue > Options;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/InstanceLocker.idl b/offapi/com/sun/star/embed/InstanceLocker.idl
new file mode 100644
index 000000000..f46435ef9
--- /dev/null
+++ b/offapi/com/sun/star/embed/InstanceLocker.idl
@@ -0,0 +1,97 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_embed_InstanceLocker_idl__
+#define __com_sun_star_embed_InstanceLocker_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/embed/XActionsApproval.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/frame/DoubleInitializationException.idl>
+
+module com { module sun { module star { module embed {
+
+/** The main task of this service is to prevent closing, terminating and/or
+ etc. of controlled object.
+
+ <p>
+ After creation the service adds a listener of requested type
+ ( close, terminate and/or etc. ) to the controlled object and let
+ the listener throw related veto exception until the service is disposed.
+ </p>
+*/
+published service InstanceLocker : com::sun::star::lang::XComponent
+{
+ /** is used to initialize the object on it's creation.
+
+ @param xInstance
+ the controlled object. Must implement the related to the
+ requested actions broadcaster interface.
+
+ @param nActions
+ specifies the actions that should be done ( prevent closing,
+ prevent termination and/or etc. ). It must not be empty and can
+ currently contain following values or their combination:
+ Actions::PREVENT_CLOSE and
+ Actions::PREVENT_TERMINATION.
+ */
+ InstanceLockerCtor1( [in] com::sun::star::uno::XInterface xInstance,
+ [in] long nActions )
+ raises( ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::frame::DoubleInitializationException,
+ ::com::sun::star::uno::Exception );
+
+ /** is used to initialize the object on it's creation.
+
+ @param xInstance
+ the controlled object. Must implement the related to the
+ requested actions broadcaster interface.
+
+ @param nActions
+ specifies the actions that should be done ( prevent closing,
+ prevent termination and/or etc. ). It must not be empty and can
+ currently contain following values or their combination:
+ Actions::PREVENT_CLOSE and
+ Actions::PREVENT_TERMINATION.
+
+ @param xApprove
+ The object implementing XActionsApproval interface.
+ If this parameter is an empty reference the object will proceed
+ with the specified in the first parameter action until it is
+ disposed ( just like in the case of the first constructor ).
+ If the instance is provided, it will be asked for approval each
+ time before proceeding with the action ( the action is
+ specified using string and can take following
+ values in this case: "PreventClose", "PreventTermination" ).
+ */
+ InstanceLockerCtor2( [in] com::sun::star::uno::XInterface xInstance,
+ [in] long nActions,
+ [in] XActionsApproval xApprove )
+ raises( ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::frame::DoubleInitializationException,
+ ::com::sun::star::uno::Exception );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/InvalidStorageException.idl b/offapi/com/sun/star/embed/InvalidStorageException.idl
new file mode 100644
index 000000000..38651f946
--- /dev/null
+++ b/offapi/com/sun/star/embed/InvalidStorageException.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_embed_InvalidStorageException_idl__
+#define __com_sun_star_embed_InvalidStorageException_idl__
+
+#include <com/sun/star/io/IOException.idl>
+
+
+
+ module com { module sun { module star { module embed {
+
+
+/** This exception can be thrown in case a storage is invalid.
+
+ <p>
+ For example in case it is broken one.
+ </p>
+ */
+published exception InvalidStorageException: com::sun::star::io::IOException
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/LinkageMisuseException.idl b/offapi/com/sun/star/embed/LinkageMisuseException.idl
new file mode 100644
index 000000000..7cb7cb7e8
--- /dev/null
+++ b/offapi/com/sun/star/embed/LinkageMisuseException.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_embed_LinkageMisuseException_idl__
+#define __com_sun_star_embed_LinkageMisuseException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+
+ module com { module sun { module star { module embed {
+
+
+/** This exception can be thrown in case a linked object is misused.
+
+ <p>
+ Or if embedded object is misused as a linked object.
+ </p>
+ */
+published exception LinkageMisuseException: com::sun::star::uno::Exception
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/MSOLEObjectSystemCreator.idl b/offapi/com/sun/star/embed/MSOLEObjectSystemCreator.idl
new file mode 100644
index 000000000..05f830824
--- /dev/null
+++ b/offapi/com/sun/star/embed/MSOLEObjectSystemCreator.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_embed_MSOLEObjectSystemCreator_idl__
+#define __com_sun_star_embed_MSOLEObjectSystemCreator_idl__
+
+#include <com/sun/star/embed/XEmbedObjectClipboardCreator.idl>
+
+
+ module com { module sun { module star { module embed {
+
+/**
+ @since LibreOffice 4.1
+ */
+service MSOLEObjectSystemCreator : XEmbedObjectClipboardCreator;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/NeedsRunningStateException.idl b/offapi/com/sun/star/embed/NeedsRunningStateException.idl
new file mode 100644
index 000000000..c9d3bb04f
--- /dev/null
+++ b/offapi/com/sun/star/embed/NeedsRunningStateException.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_embed_NeedsRunningStateException_idl__
+#define __com_sun_star_embed_NeedsRunningStateException_idl__
+
+#include <com/sun/star/embed/WrongStateException.idl>
+
+
+
+ module com { module sun { module star { module embed {
+
+
+/** This exception can be thrown in case a list of accepted verbs of states is
+ requested and the object is in loaded state and this information can be
+ retrieved only when the object is in running state.
+
+ <p>
+ This exception means that the object supports at least running state in
+ addition to the loaded state. Other states and possible verbs can be
+ detected only after object is switched to running state.
+ */
+published exception NeedsRunningStateException: WrongStateException
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/NoVisualAreaSizeException.idl b/offapi/com/sun/star/embed/NoVisualAreaSizeException.idl
new file mode 100644
index 000000000..3c9b7c348
--- /dev/null
+++ b/offapi/com/sun/star/embed/NoVisualAreaSizeException.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_embed_NoVisualAreaSizeException_idl__
+#define __com_sun_star_embed_NoVisualAreaSizeException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+
+ module com { module sun { module star { module embed {
+
+
+/** This exception can be thrown in case the object can not provide own visual
+ area currently.
+ */
+published exception NoVisualAreaSizeException: com::sun::star::uno::Exception
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/OLEEmbeddedObjectFactory.idl b/offapi/com/sun/star/embed/OLEEmbeddedObjectFactory.idl
new file mode 100644
index 000000000..f4f6188de
--- /dev/null
+++ b/offapi/com/sun/star/embed/OLEEmbeddedObjectFactory.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_embed_OLEEmbeddedObjectFactory_idl__
+#define __com_sun_star_embed_OLEEmbeddedObjectFactory_idl__
+
+#include <com/sun/star/embed/XEmbeddedObjectCreator.idl>
+
+
+ module com { module sun { module star { module embed {
+
+/**
+ @since LibreOffice 4.1
+ */
+service OLEEmbeddedObjectFactory : XEmbeddedObjectCreator;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/OLESimpleStorage.idl b/offapi/com/sun/star/embed/OLESimpleStorage.idl
new file mode 100644
index 000000000..3d14e2e6d
--- /dev/null
+++ b/offapi/com/sun/star/embed/OLESimpleStorage.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_embed_OLESimpleStorage_idl__
+#define __com_sun_star_embed_OLESimpleStorage_idl__
+
+#include <com/sun/star/embed/XOLESimpleStorage.idl>
+#include <com/sun/star/io/XInputStream.idl>
+#include <com/sun/star/io/XStream.idl>
+
+module com { module sun { module star { module embed {
+/** This service provides a simple functionality to allow
+ read/write the storages in OLE storage format.
+*/
+published service OLESimpleStorage: XOLESimpleStorage
+{
+ // CONSTRUCTORS ----------------------------------------------------------
+ /** is used to initialize the object on it's creation.
+
+ @param xInputStream
+ [in] the InputStream that contains data in OLE storage format.
+
+ @param bNoTempCopy
+ [in] specifies whether a temporary copy should be created during
+ substreams opening. If the copy is not created the storage must
+ stay alive while the opened substreams are used.
+
+ */
+ createFromInputStream ([in] ::com::sun::star::io::XInputStream xInputStream, [in] boolean bNoTempCopy);
+
+ /** is used to initialize the object on it's creation.
+
+ @param xStream
+ [in] the Stream that contains data in OLE storage format.
+
+ @param bNoTempCopy
+ [in] specifies whether a temporary copy should be created during
+ substreams opening. If the copy is not created the storage must
+ stay alive while the opened substreams are used.
+
+ */
+ createFromStream ([in] ::com::sun::star::io::XStream xStream, [in] boolean bNoTempCopy);
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/OOoEmbeddedObjectFactory.idl b/offapi/com/sun/star/embed/OOoEmbeddedObjectFactory.idl
new file mode 100644
index 000000000..c5568a328
--- /dev/null
+++ b/offapi/com/sun/star/embed/OOoEmbeddedObjectFactory.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_embed_OOoEmbeddedObjectFactory_idl__
+#define __com_sun_star_embed_OOoEmbeddedObjectFactory_idl__
+
+#include <com/sun/star/embed/XEmbeddedObjectCreator.idl>
+
+
+ module com { module sun { module star { module embed {
+
+/**
+ @since LibreOffice 4.1
+ */
+service OOoEmbeddedObjectFactory : XEmbeddedObjectCreator;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/ObjectSaveVetoException.idl b/offapi/com/sun/star/embed/ObjectSaveVetoException.idl
new file mode 100644
index 000000000..4699f0302
--- /dev/null
+++ b/offapi/com/sun/star/embed/ObjectSaveVetoException.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_embed_ObjectSaveVetoException_idl__
+#define __com_sun_star_embed_ObjectSaveVetoException_idl__
+
+#include <com/sun/star/io/IOException.idl>
+
+
+
+ module com { module sun { module star { module embed {
+
+
+/** This exception can be thrown in case container wants to avoid objects
+ saving.
+
+ @see XEmbeddedClient
+ */
+published exception ObjectSaveVetoException: com::sun::star::uno::Exception
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/StateChangeInProgressException.idl b/offapi/com/sun/star/embed/StateChangeInProgressException.idl
new file mode 100644
index 000000000..ec45cef9c
--- /dev/null
+++ b/offapi/com/sun/star/embed/StateChangeInProgressException.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_embed_StateChangeInProgressException_idl__
+#define __com_sun_star_embed_StateChangeInProgressException_idl__
+
+#include <com/sun/star/embed/WrongStateException.idl>
+
+
+
+ module com { module sun { module star { module embed {
+
+
+/** This exception can be thrown in case the object does not allow
+ to call requested functionality currently because the object is changing
+ state.
+ */
+published exception StateChangeInProgressException: com::sun::star::embed::WrongStateException
+{
+ /** contains the target state the object tries to reach currently.
+
+ <p>
+ Contains a value from EmbedStates constant set.
+ </p>
+ */
+ long TargetState;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/Storage.idl b/offapi/com/sun/star/embed/Storage.idl
new file mode 100644
index 000000000..0382670f9
--- /dev/null
+++ b/offapi/com/sun/star/embed/Storage.idl
@@ -0,0 +1,322 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_embed_Storage_idl__
+#define __com_sun_star_embed_Storage_idl__
+
+#include <com/sun/star/embed/BaseStorage.idl>
+#include <com/sun/star/embed/XEncryptionProtectedSource.idl>
+#include <com/sun/star/embed/XTransactedObject.idl>
+#include <com/sun/star/embed/XTransactionBroadcaster.idl>
+#include <com/sun/star/util/XModifiable.idl>
+#include <com/sun/star/container/XNameAccess.idl>
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+
+
+
+ module com { module sun { module star { module embed {
+
+/** This is a service that allows to get access to a package using storage
+ hierarchy.
+
+ <p>
+ A root storage should be retrieved by using StorageFactory
+ service. Substorages are created through XStorage interface
+ of a parent storage.
+ </p>
+ */
+published service Storage
+{
+ /** This service describes the base functionality of storages.
+
+ <p>
+ Please see below the description of additional requirements for the
+ package storage implementation.
+ </p>
+
+ <dl>
+ <dt>interface com::sun::star::lang::XComponent
+ </dt>
+ <dd>
+ <p>
+ A root storage is created by StorageFactory
+ and is controlled by refcounting. In case refcounting
+ is decreased to zero the storage will be disposed
+ automatically. It is still strongly recommended that
+ a root storage is disposed explicitly since in garbage
+ collector based languages the refcounting can be
+ decreased too late and resources locked by the storage
+ will not be freed until then.
+ </p>
+
+ <p>
+ A substorage is created by XStorage
+ interface of storage. Each time a substorage is opened
+ it is locked ( in case it is opened in readonly mode
+ it is locked for writing, in case it is opened in
+ read-write mode it is locked for reading and writing )
+ until it is disposed. The lifetime of substorage is
+ also controlled by refcounting but because of mentioned
+ garbage collection specific it is strongly recommended
+ to dispose substorages explicitly.
+ </p>
+
+ <p>
+ In case a storage object is disposed all the elements
+ ( substorages and substreams ) retrieved from the
+ object are disposed. If the storage was opened in
+ read-write mode all non-committed changes will be lost.
+ </p>
+ </dd>
+ <dt>interface XStorage</dt>
+ <dd>
+ <dl>
+ <dt>XStorage::openStreamElement()</dt>
+ <dd>
+ <p>
+ This method returns StorageStream
+ service implementation.
+ </p>
+
+ <p>
+ If the child stream is an encrypted one a correct
+ common storage password should be set through
+ XEncryptionProtectedSource interface to
+ this storage or to a one of storages in parent
+ hierarchy. In case the password is not set or is a
+ wrong one an exception will be thrown.
+ </p>
+ </dd>
+
+ <dt>XStorage::openEncryptedStreamElement()</dt>
+ <dd>
+ This method allows to specify reading password for the
+ stream explicitly. The password will be used to read
+ the stream. It is possible to specify a new password
+ for stream storing through
+ XEncryptionProtectedSource interface. In
+ case a new password is not specified an old one will
+ be used for storing.
+ </dd>
+
+ <dt>XStorage::openStorageElement()</dt>
+ <dd>
+ This method returns Storage service
+ implementation.
+ </dd>
+
+ <dt>XStorage::cloneStreamElement()</dt>
+ <dd>
+ <p>
+ This method returns StorageStream service
+ implementation.
+ </p>
+
+ <p>
+ The latest flashed version of the stream will be used.
+ The stream can be flashed explicitly by
+ com::sun::star::io::XOutputStream::flush()
+ call.
+ </p>
+
+ <p>
+ A storage flashes on commit all the child streams it
+ owns. So in case after the stream is changed neither
+ the storage was committed nor the stream was flushed
+ explicitly, the changes will not appear in the new
+ created stream. This method allows to retrieve copy of
+ a child stream even in case it is already opened for
+ writing.
+ </p>
+
+ <p>
+ If the child stream is an encrypted one a correct
+ common storage password should be set through
+ XEncryptionProtectedSource interface to
+ this storage or to a one of storages in parent
+ hierarchy. In case the password is not set or is a
+ wrong one an exception will be thrown.
+ </p>
+ </dd>
+
+ <dt>XStorage::cloneEncryptedStreamElement()</dt>
+ <dd>
+ <p>
+ This method returns StorageStream service
+ implementation.
+ </p>
+
+ <p>
+ The latest flashed version of the stream will be used.
+ The stream can be flashed explicitly by
+ com::sun::star::io::XOutputStream::flush()
+ call.
+ </p>
+
+ <p>
+ A storage flashes on commit all the child streams it
+ owns. So in case after the stream is changed neither
+ the storage was committed nor the stream was flushed
+ explicitly, the changes will not appear in the new
+ created stream. This method allows to retrieve copy of
+ a child stream even in case it is already opened for
+ writing.
+ </p>
+ </dd>
+
+ <dt>XStorage::copyLastCommitTo()</dt>
+ <dd>
+ This method gets Storage service
+ implementation and fills it in with the latest
+ committed version of this storage. So in case the
+ storage was not committed after it was changed, the
+ changes will not appear in the new created storage.
+ </dd>
+
+ <dt>XStorage::copyStorageElementLastCommitTo()</dt>
+ <dd>
+ <p>
+ This method gets Storage service
+ implementation and fills it in with the contents of
+ the requested substorage. The latest committed version
+ of child storage will be used. So in case the child
+ storage was not committed after it was changed, the
+ changes will not appear in the new created storage.
+ </p>
+
+ <p>
+ This method allows to retrieve copy of a child storage
+ even in case it is already opened for writing.
+ </p>
+ </dd>
+
+ <dt>XStorage::removeStorageElement()</dt>
+ <dd>
+ If the element is opened the removing will fail.
+ </dd>
+ </dl>
+ </dd>
+ <dt>property URL</dt>
+ <dd>
+ If the storage is created based on url this property allows
+ to retrieve it.
+ </dd>
+ </dl>
+
+ */
+ service BaseStorage;
+
+ /** allows to commit or revert changes that were done for the storage.
+
+ <p>
+ If a storage is committed all changes made to it will be integrated to
+ its parent storage. This is recursive process, so the last committed
+ storage should be the root one. For the package based storages commit
+ of a root storage also means flashing to the related medium. If
+ a storage is not committed, no changes for it or its child elements
+ will be stored.
+ </p>
+ */
+ interface ::com::sun::star::embed::XTransactedObject;
+
+ /** allows to track storage's transaction state.
+ */
+ interface ::com::sun::star::embed::XTransactionBroadcaster;
+
+ /** allows to set password to a root storage.
+
+ <p>
+ This interface can be supported by a storage to allow to set
+ a common storage password. This password is used as default password
+ to decrypt all encrypted streams and to encrypt streams that are
+ marked to use common storage password on storing.
+ Specifying of the password for a storage allows to use it for the
+ whole subtree. Of course substorage can allow to overwrite the common
+ storage password for own subtree.
+ </p>
+ */
+ [optional]
+ interface ::com::sun::star::embed::XEncryptionProtectedSource;
+
+ /** allows to get and set the media type of the storage.
+ */
+ [property] string MediaType;
+
+ /** allows to get and set the version of the format related to the
+ MediaType.
+ */
+ [property,optional] string Version;
+
+ /** allows to detect whether mediatype is detected by using fallback
+ approach.
+
+ <p>
+ Can be set to true if the mediatype can not be detected in standard
+ way, but there is a fallback solution allows to do it.
+ </p>
+
+ <p>
+ Usually means that the document validity is questionable, although
+ the package itself is not corrupted. The decision about document
+ validity in this case is in application hands. It is up to user of
+ the storage to decide whether he accepts the fallback approach for
+ an implementation of this service, outputs a warning or an error.
+ </p>
+ */
+ [property, readonly] boolean MediaTypeFallbackIsUsed;
+
+ /** allows to detect whether the storage is a root one.
+ */
+ [property, readonly] boolean IsRoot;
+
+ /** allows to detect whether storage is open in "repair package" mode or
+ not.
+ */
+ [property, optional, readonly] boolean RepairPackage;
+
+ /** allows to detect if the storage contains encrypted entries.
+
+ <p>
+ In case it is set to `TRUE` the storage itself and/or a tree of
+ substorages contain encrypted streams. Usually in case this property
+ is supported the implementation supports
+ XEncryptionProtectedSource interface.
+ </p>
+ */
+ [property, optional, readonly] boolean HasEncryptedEntries;
+
+ /** allows to detect if the storage contains non-encrypted entries.
+
+ <p>
+ In case it is set to `TRUE` the storage itself and/or a tree of
+ substorages contains non-encrypted streams. Usually in case this
+ property is supported the implementation supports
+ XEncryptionProtectedSource interface.
+ </p>
+ */
+ [property, optional, readonly] boolean HasNonEncryptedEntries;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/StorageFactory.idl b/offapi/com/sun/star/embed/StorageFactory.idl
new file mode 100644
index 000000000..71446713a
--- /dev/null
+++ b/offapi/com/sun/star/embed/StorageFactory.idl
@@ -0,0 +1,107 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_embed_StorageFactory_idl__
+#define __com_sun_star_embed_StorageFactory_idl__
+
+#include <com/sun/star/lang/XSingleServiceFactory.idl>
+
+
+
+ module com { module sun { module star { module embed {
+
+/** The StorageFactory is a service that allows to create
+ a storage based on either stream or URL.
+
+ <p>
+ In case
+ com::sun::star::lang::XSingleServiceFactory::createInstance()
+ call is used the result storage will be open in read-write mode based
+ on an arbitrary medium.
+ </p>
+
+ <p>
+ In case
+ com::sun::star::lang::XSingleServiceFactory::createInstanceWithArguments()
+ call is used a sequence of the following parameters can be used:
+ </p>
+
+ <dl>
+ <dt>parameter 1</dt>
+ <dd>
+ specifies source of the object, it can be a string
+ containing URL, an
+ com::sun::star::io::XStream
+ implementation or
+ com::sun::star::io::XInputStream;
+ in case of
+ com::sun::star::io::XStream
+ implementation
+ the com::sun::star::io::XSeekable
+ interface must be supported.
+ </dd>
+
+ <dt>parameter 2</dt>
+ <dd>
+ specifies mode the storage should be open in, can take
+ values from ElementModes constant set.
+ </dd>
+
+ <dt>parameter 3</dt>
+ <dd>
+ this parameter represents `any` containing a sequence of
+ com::sun::star::beans::PropertyValue.<br>
+ The parameter can contain entries from
+ com::sun::star::document::MediaDescryptor
+ to transport some document info during the storage
+ initialization, it can be for example
+ com::sun::star::task::XInteractionHandler
+ implementation, password for the storage and repair
+ package flag.<br>
+ Additionally the parameter might contain property with the name
+ "StorageFormat" that can take values from
+ com::sun::star::embed::StorageFormats.
+ If the property is not provided a storage of package format
+ is created.
+ </dd>
+ </dl>
+
+ <p>
+ The parameters are optional, that means that sequence can be empty or
+ contain only first parameter, or first and second one. In case
+ no parameters are provided the call works the same way as
+ com::sun::star::lang::XSingleServiceFactory::createInstance().
+ In case only first parameter is provided, the storage is opened in
+ readonly mode.
+ </p>
+
+ <p>
+ The opened root storage can support read access in addition to
+ specified one.
+ </p>
+*/
+published service StorageFactory
+ : ::com::sun::star::lang::XSingleServiceFactory;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/StorageFormats.idl b/offapi/com/sun/star/embed/StorageFormats.idl
new file mode 100644
index 000000000..89703ceb7
--- /dev/null
+++ b/offapi/com/sun/star/embed/StorageFormats.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_embed_StorageFormats_idl__
+#define __com_sun_star_embed_StorageFormats_idl__
+
+
+
+module com { module sun { module star { module embed {
+
+/** The constant set contains IDs of formats that are supported by
+ StorageFactory.
+
+ @see StorageFactory
+ @since OOo 3.3
+*/
+published constants StorageFormats
+{
+ /** specifies package format
+ */
+ const long PACKAGE = 1;
+
+ /** specifies zip format
+ */
+ const long ZIP = 2;
+
+ /** specifies Office Open XML format
+ */
+ const long OFOPXML = 3;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/StorageStream.idl b/offapi/com/sun/star/embed/StorageStream.idl
new file mode 100644
index 000000000..8388e2ac8
--- /dev/null
+++ b/offapi/com/sun/star/embed/StorageStream.idl
@@ -0,0 +1,205 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_embed_StorageStream_idl__
+#define __com_sun_star_embed_StorageStream_idl__
+
+#include <com/sun/star/embed/XEncryptionProtectedSource.idl>
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/io/XStream.idl>
+#include <com/sun/star/io/XSeekable.idl>
+
+
+
+
+ module com { module sun { module star { module embed {
+
+/** This is a service that represents a stream that can be provided by
+ XStorage::openStreamElement() call implemented by
+ Storage service.
+
+ <p>
+ In case a stream is open with read-write access only one instance
+ of the stream can exist.
+ </p>
+ */
+published service StorageStream
+{
+ /** allows to get access to com::sun::star::io::XInputStream
+ and com::sun::star::io::XOutputStream
+ implementations.
+
+ <p>
+ In case the storage stream is open readonly the returned reference
+ to com::sun::star::io::XOutputStream will be
+ empty.
+ </p>
+ */
+ interface ::com::sun::star::io::XStream;
+
+ /** allows to control object lifetime.
+
+ <p>
+ A storage stream is created by a storage and has a restrictions
+ depending on the mode the stream is opened in.
+ </p>
+
+ <p>
+ In case a stream is opened with read-write access only one instance of
+ the stream can exist. It means that the stream can not be reopened
+ even for readonly access until the read-write instance is disposed.
+ From the other side it is possible to open multiple streams for
+ readonly access. But because of the rule mentioned above it will not
+ be possible to open the stream for read-write access until all the
+ readonly instances are disposed.
+ </p>
+
+ <p>
+ The stream must be disposed by
+ com::sun::star::lang::XComponent::dispose()
+ call or by explicit closing of input and output ( if provided )
+ streams implementations with
+ com::sun::star::io::XInputStream::closeInput()
+ and
+ com::sun::star::io::XOutputStream::closeOutput()
+ calls.
+ </p>
+
+ <p>
+ When a stream is disposed all the changes that were done for it are
+ automatically flashed, so that they become visible from parent
+ storage. It is also possible to flash the stream explicitly.
+ </p>
+
+ <p>
+ In case parent storage is disposed the stream is disposed
+ automatically.
+ </p>
+
+ <p>
+ In case a stream is disposed any call to its methods should result in
+ com::sun::star::lang::DisposedException.
+ </p>
+ */
+ interface ::com::sun::star::lang::XComponent;
+
+ /** allows to get access to stream properties.
+ */
+ interface ::com::sun::star::beans::XPropertySet;
+
+ /** allows to seek to a specified position within the stream.
+
+ <p>
+ This interface must be supported in case either seekable readonly
+ or read-write access is requested.
+ </p>
+ */
+ [optional]
+ interface ::com::sun::star::io::XSeekable;
+
+ /** allows to set password to the stream.
+
+ <p>
+ This interface must be supported by a stream with read-write access
+ to allow to set a password that should be used next time the
+ stream is stored.
+ </p>
+
+ <p>
+ If the password is set or changed by this interface and the
+ stream is closed the new password should be used to get access to the
+ stream next time.
+ </p>
+ */
+ [optional]
+ interface ::com::sun::star::embed::XEncryptionProtectedSource;
+
+ /** allows to get and set media type of the stream.
+ */
+ [property] string MediaType;
+
+ /** specifies if the stream should be compressed next time it is stored.
+ */
+ [property] boolean IsCompressed;
+
+ /** allows to detect if the stream is encrypted.
+
+ <p>
+ The property value `TRUE` means that the stream is currently encrypted.
+ `FALSE` - the stream is not encrypted.
+ </p>
+
+ <p>
+ If somebody sets a password explicitly by using
+ XEncryptionProtectedSource interface the value is
+ automatically set to `TRUE`. If the interface is used to remove
+ the encryption - the value is automatically set to `FALSE`.
+ </p>
+
+ */
+ [property, readonly] boolean IsEncrypted;
+
+ /** specifies whether the stream will become encrypted next time the
+ common storage password holder is committed.
+
+ <p>
+ The property value `TRUE` means that the stream will become encrypted
+ after the closest storage in the parent hierarchy, that has common
+ storage password, is committed.
+ `FALSE` - the stream will not react to commit of such a storage.
+ </p>
+
+ <p>
+ In case stream is not encrypted and the property is set to `TRUE`,
+ the stream will stay non-encrypted until the closest storage
+ in the parent hierarchy, that has common storage password, is committed.
+ On the commit the stream will be encrypted with the common storage
+ password. If there is no such storage in the hierarchy the stream
+ will not be encrypted at all.
+ Thus this property must be set very carefully.
+ </p>
+
+ <p>
+ If somebody sets a password explicitly by using
+ XEncryptionProtectedSource interface the value is
+ automatically set to `FALSE` and the stream becomes encrypted
+ with specified password immediately.
+ </p>
+
+ <p>
+ In case stream is encrypted one and the value is set to `TRUE`
+ the stream becomes non-encrypted until the common storage password
+ holder is committed. The data about previously set password ( if any )
+ will be removed and the stream can be accessed as non-encrypted stream.
+ </p>
+ */
+ [property] boolean UseCommonStoragePasswordEncryption;
+
+ /** allows to detect size of the stream in bytes.
+ */
+ [property, readonly] long Size;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/StorageWrappedTargetException.idl b/offapi/com/sun/star/embed/StorageWrappedTargetException.idl
new file mode 100644
index 000000000..86fd261be
--- /dev/null
+++ b/offapi/com/sun/star/embed/StorageWrappedTargetException.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_embed_StorageWrappedTargetException_idl__
+#define __com_sun_star_embed_StorageWrappedTargetException_idl__
+
+#include <com/sun/star/lang/WrappedTargetException.idl>
+
+
+
+ module com { module sun { module star { module embed {
+
+
+/** This exception can wrap an exception thrown during XStorage
+ methods execution.
+ */
+published exception StorageWrappedTargetException: com::sun::star::lang::WrappedTargetException
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/UnreachableStateException.idl b/offapi/com/sun/star/embed/UnreachableStateException.idl
new file mode 100644
index 000000000..5f95e1da9
--- /dev/null
+++ b/offapi/com/sun/star/embed/UnreachableStateException.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_embed_UnreachableStateException_idl__
+#define __com_sun_star_embed_UnreachableStateException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+
+ module com { module sun { module star { module embed {
+
+
+/** This exception can be thrown in case specified state can not be reached.
+ */
+published exception UnreachableStateException: com::sun::star::uno::Exception
+{
+ /** The current state of the object.
+ */
+ long CurrentState;
+
+ /** The state that could not be reached.
+ */
+ long NextState;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/UseBackupException.idl b/offapi/com/sun/star/embed/UseBackupException.idl
new file mode 100644
index 000000000..129944127
--- /dev/null
+++ b/offapi/com/sun/star/embed/UseBackupException.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_embed_UseBackupException_idl__
+#define __com_sun_star_embed_UseBackupException_idl__
+
+#include <com/sun/star/io/IOException.idl>
+
+
+
+ module com { module sun { module star { module embed {
+
+
+/** This exception can be thrown in case a storage commit is failed.
+ <p>
+ If a commit process of a storage fails on last transfer and the original
+ content may be corrupted the storage should throw this exception to notify
+ the user that a backup usage is required to restore the original content.
+ </p>
+
+ <p>
+ The storage itself must disconnect from the medium it is based on to allow
+ restoring. Although the storage will still contain all the data
+ internally, and can be used as a temporary storage usually used.
+ </p>
+ */
+published exception UseBackupException: com::sun::star::io::IOException
+{
+ /** The URL of the temporary file the storage is based on now.
+ */
+ string TemporaryFileURL;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/VerbAttributes.idl b/offapi/com/sun/star/embed/VerbAttributes.idl
new file mode 100644
index 000000000..312450848
--- /dev/null
+++ b/offapi/com/sun/star/embed/VerbAttributes.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_embed_VerbAttributes_idl__
+#define __com_sun_star_embed_VerbAttributes_idl__
+
+
+
+module com { module sun { module star { module embed {
+
+/** The constant set specifies possible attributes of a verb.
+
+ @see VerbDescriptor
+*/
+published constants VerbAttributes
+{
+ /** Execution of the verb with this attribute must not modify the
+ object.
+ */
+ const long MS_VERBATTR_NEVERDIRTIES = 1;
+
+ /** indicates that the verb should appear in the object's menu.
+ */
+ const long MS_VERBATTR_ONCONTAINERMENU = 2;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/VerbDescriptor.idl b/offapi/com/sun/star/embed/VerbDescriptor.idl
new file mode 100644
index 000000000..f6fe3608f
--- /dev/null
+++ b/offapi/com/sun/star/embed/VerbDescriptor.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_embed_VerbDescriptor_idl__
+#define __com_sun_star_embed_VerbDescriptor_idl__
+
+
+
+ module com { module sun { module star { module embed {
+
+
+/** describes a verb.
+ */
+published struct VerbDescriptor
+{
+ /** specifies the id of the verb.
+ */
+ long VerbID;
+
+ /** specifies the name of the verb.
+ */
+ string VerbName;
+
+ /** specifies the flags that are set for the verb.
+
+ <p>
+ The flags can be used to build the verb's menu.
+ </p>
+ */
+ long VerbFlags;
+
+ /** specifies the attributes of the verb.
+
+ <p>
+ It can take values from VerbAttributes.
+ </p>
+ */
+ long VerbAttributes;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/VisualRepresentation.idl b/offapi/com/sun/star/embed/VisualRepresentation.idl
new file mode 100644
index 000000000..a8f70459c
--- /dev/null
+++ b/offapi/com/sun/star/embed/VisualRepresentation.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_embed_VisualRepresentation_idl__
+#define __com_sun_star_embed_VisualRepresentation_idl__
+
+#include <com/sun/star/datatransfer/DataFlavor.idl>
+
+
+ module com { module sun { module star { module embed {
+
+
+/** can contain a graphical representation in an arbitrary format.
+ */
+published struct VisualRepresentation
+{
+ /** The format of the visual representation.
+ */
+ ::com::sun::star::datatransfer::DataFlavor Flavor;
+
+ /** The data in the format specified by #Flavor.
+ */
+ any Data;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/WrongStateException.idl b/offapi/com/sun/star/embed/WrongStateException.idl
new file mode 100644
index 000000000..f500bba2a
--- /dev/null
+++ b/offapi/com/sun/star/embed/WrongStateException.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_embed_WrongStateException_idl__
+#define __com_sun_star_embed_WrongStateException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+
+ module com { module sun { module star { module embed {
+
+
+/** This exception can be thrown in case the object's state does not allow
+ to call requested functionality.
+ */
+published exception WrongStateException: com::sun::star::uno::Exception
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/XActionsApproval.idl b/offapi/com/sun/star/embed/XActionsApproval.idl
new file mode 100644
index 000000000..8da5b738f
--- /dev/null
+++ b/offapi/com/sun/star/embed/XActionsApproval.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_embed_XActionsApproval_idl__
+#define __com_sun_star_embed_XActionsApproval_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+ module com { module sun { module star { module embed {
+
+/** allows to request an approval for an action.
+
+ <p>
+ An implementation of this interface is usually provided to another object
+ to allow this object to request an approval for actions. The list of
+ possible actions must be documented in documentation of the object.
+ </p>
+ */
+published interface XActionsApproval: com::sun::star::uno::XInterface
+{
+ /** requests an approval for the specified action.
+
+ @param nAction
+ a value specifying the action that should be approved. Could take
+ values from Actions constants set. The explicit set
+ of the actions should be documented by the object that is going
+ to use this interface for approval as for example
+ InstanceLocker does.
+
+ @return
+ returns `TRUE` in case the specified action is approved.
+ */
+ boolean approveAction( [in] long nAction );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/XClassifiedObject.idl b/offapi/com/sun/star/embed/XClassifiedObject.idl
new file mode 100644
index 000000000..973f49898
--- /dev/null
+++ b/offapi/com/sun/star/embed/XClassifiedObject.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_embed_XClassifiedObject_idl__
+#define __com_sun_star_embed_XClassifiedObject_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/NoSupportException.idl>
+
+
+
+ module com { module sun { module star { module embed {
+
+/** represents common functionality for embedded objects
+ */
+published interface XClassifiedObject: com::sun::star::uno::XInterface
+{
+ /** retrieves class ID of the object.
+
+ @return
+ unique class ID of the object
+ */
+ sequence< byte > getClassID();
+
+ /** retrieves symbolic name for the object type to be used in UI.
+
+ @return
+ the symbolic name for the object
+ */
+ string getClassName();
+
+ /** sets the class ID and symbolic name to an object.
+
+ @param aClassID
+ the new class ID
+
+ @param sClassName
+ the new symbolic name
+
+ @throws ::com::sun::star::lang::NoSupportException
+ in case changing of class information is not allowed
+ */
+ void setClassInfo( [in] sequence< byte > aClassID,
+ [in] string sClassName )
+ raises( ::com::sun::star::lang::NoSupportException );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/XCommonEmbedPersist.idl b/offapi/com/sun/star/embed/XCommonEmbedPersist.idl
new file mode 100644
index 000000000..29612596f
--- /dev/null
+++ b/offapi/com/sun/star/embed/XCommonEmbedPersist.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_embed_XCommonEmbedPersist_idl__
+#define __com_sun_star_embed_XCommonEmbedPersist_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/embed/XStorage.idl>
+#include <com/sun/star/io/IOException.idl>
+#include <com/sun/star/embed/WrongStateException.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+
+
+ module com { module sun { module star { module embed {
+
+/** specifies common implementation for embedded objects and links
+ persistence.
+ */
+published interface XCommonEmbedPersist: com::sun::star::uno::XInterface
+{
+ /** lets the object or the link store itself.
+
+ @throws com::sun::star::embed::WrongStateException
+ the object is in wrong state
+
+ @throws com::sun::star::io::IOException
+ in case of io problems during saving
+
+ @throws com::sun::star::uno::Exception
+ in case of other problems
+ */
+ void storeOwn()
+ raises( ::com::sun::star::embed::WrongStateException,
+ ::com::sun::star::io::IOException,
+ ::com::sun::star::uno::Exception );
+
+ /** allows to detect if the data store is read-only.
+
+ @returns
+ `TRUE` if the data store is readonly or opened readonly
+ `FALSE` otherwise
+
+ @throws com::sun::star::embed::WrongStateException
+ the object is in wrong state ( has no entry )
+ */
+ boolean isReadonly()
+ raises( ::com::sun::star::embed::WrongStateException );
+
+ /** lets the object or the link reload itself.
+
+ <p>
+ If the object has persistence it will be reloaded from its persistent
+ entry.
+ </p>
+
+ @param aMediaArgs
+ optional parameters for document reloading, see also
+ com::sun::star::document::MediaDescriptor
+
+ @param aObjectArgs
+ optional parameters for object reloading, see also
+ com::sun::star::embed::EmbeddedObjectDescriptor
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ one of arguments is illegal
+
+ @throws com::sun::star::embed::WrongStateException
+ the object is in wrong state
+
+ @throws com::sun::star::io::IOException
+ in case of io problems during opening or creation
+
+ @throws com::sun::star::uno::Exception
+ in case of other problems
+ */
+ void reload(
+ [in] sequence< ::com::sun::star::beans::PropertyValue > aMediaArgs,
+ [in] sequence< ::com::sun::star::beans::PropertyValue > aObjectArgs )
+ raises( ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::embed::WrongStateException,
+ ::com::sun::star::io::IOException,
+ ::com::sun::star::uno::Exception );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/XComponentSupplier.idl b/offapi/com/sun/star/embed/XComponentSupplier.idl
new file mode 100644
index 000000000..b2bf4c5e7
--- /dev/null
+++ b/offapi/com/sun/star/embed/XComponentSupplier.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_embed_XComponentSupplier_idl__
+#define __com_sun_star_embed_XComponentSupplier_idl__
+
+#include <com/sun/star/util/XCloseable.idl>
+
+
+ module com { module sun { module star { module embed {
+
+/** provides access to a component.
+ */
+published interface XComponentSupplier: com::sun::star::uno::XInterface
+{
+ /** allows to get access to a component.
+ <p>
+ The component may not support
+ com::sun::star::lang::XComponent interface.
+ </p>
+
+ @return
+ component representation
+ */
+ ::com::sun::star::util::XCloseable getComponent();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/XEmbedObjectClipboardCreator.idl b/offapi/com/sun/star/embed/XEmbedObjectClipboardCreator.idl
new file mode 100644
index 000000000..22e89f967
--- /dev/null
+++ b/offapi/com/sun/star/embed/XEmbedObjectClipboardCreator.idl
@@ -0,0 +1,91 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_embed_XEmbedObjectClipboardCreator_idl__
+#define __com_sun_star_embed_XEmbedObjectClipboardCreator_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/embed/XStorage.idl>
+#include <com/sun/star/embed/InsertedObjectInfo.idl>
+#include <com/sun/star/io/IOException.idl>
+#include <com/sun/star/embed/WrongStateException.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+
+
+ module com { module sun { module star { module embed {
+
+/** allows to create and initialize a new embedded object from clipboard.
+
+ <p>
+ This interface contains methods that can help to create and initialize
+ an embedded object based on system clipboard.
+ </p>
+ */
+published interface XEmbedObjectClipboardCreator: com::sun::star::uno::XInterface
+{
+ /** creates a new object and initializes it from the system clipboard.
+
+ <p> In case specified entry exists it's contents are ignored and
+ will be overwritten on storing.
+ </p>
+
+ <p>
+ The clipboard can provide a number of choices that are container
+ related. This information will be returned in the
+ InsertedObjectInfo object.
+ <p>
+
+ @param xStorage
+ a parent storage the entry should be created/opened in
+
+ @param sEntryName
+ a name for the entry
+
+ @param aObjectArgs
+ optional parameters for the object persistence initialization
+ see also
+ EmbeddedObjectDescriptor
+
+ @returns
+ the structure containing the object and container related options
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ one of arguments is illegal
+
+ @throws com::sun::star::io::IOException
+ in case of io problems during opening or creation
+
+ @throws com::sun::star::uno::Exception
+ in case of other problems
+ */
+ InsertedObjectInfo createInstanceInitFromClipboard(
+ [in] ::com::sun::star::embed::XStorage xStorage,
+ [in] string sEntryName,
+ [in] sequence< ::com::sun::star::beans::PropertyValue > aObjectArgs )
+ raises( ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::io::IOException,
+ ::com::sun::star::uno::Exception );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/XEmbedObjectCreator.idl b/offapi/com/sun/star/embed/XEmbedObjectCreator.idl
new file mode 100644
index 000000000..268805bc8
--- /dev/null
+++ b/offapi/com/sun/star/embed/XEmbedObjectCreator.idl
@@ -0,0 +1,176 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_embed_XEmbedObjectCreator_idl__
+#define __com_sun_star_embed_XEmbedObjectCreator_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/embed/XStorage.idl>
+#include <com/sun/star/io/IOException.idl>
+#include <com/sun/star/embed/WrongStateException.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+
+
+ module com { module sun { module star { module embed {
+
+/** allows to create and initialize a new embedded object.
+
+ <p>
+ This interface contains methods that can help to create and initialize
+ an embedded object.
+ </p>
+ */
+published interface XEmbedObjectCreator: com::sun::star::uno::XInterface
+{
+ /** creates a new object and initializes it as a new one.
+
+ <p> In case specified entry exists it's contents are ignored and
+ will be overwritten on storing.
+ </p>
+
+ @param aClassID
+ the class id of the new object
+
+ @param sClassName
+ the class name of the new object
+
+ @param xStorage
+ a parent storage the entry should be created/opened in
+
+ @param sEntryName
+ a name for the entry
+
+ @param aObjectArgs
+ optional parameters for the object persistence initialization
+ see also
+ EmbeddedObjectDescriptor
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ one of arguments is illegal
+
+ @throws com::sun::star::io::IOException
+ in case of io problems during opening or creation
+
+ @throws com::sun::star::uno::Exception
+ in case of other problems
+ */
+ ::com::sun::star::uno::XInterface createInstanceInitNew(
+ [in] sequence< byte > aClassID,
+ [in] string sClassName,
+ [in] ::com::sun::star::embed::XStorage xStorage,
+ [in] string sEntryName,
+ [in] sequence< ::com::sun::star::beans::PropertyValue > aObjectArgs )
+ raises( ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::io::IOException,
+ ::com::sun::star::uno::Exception );
+
+
+ /** creates a new object that should be based on specified storage entry.
+
+ <p> The specified entry must exists and the object should be loaded
+ from the entry. In case a persistent representation of a link is
+ specified, the result object will be a link.
+ </p>
+
+ @param xStorage
+ a parent storage the entry should be opened in
+
+ @param sEntryName
+ a name for the entry
+
+ @param aMediaDescriptor
+ an object of type
+ com::sun::star::document::MediaDescriptor that
+ specifies document related properties; please remember that target
+ related parameters, for example URL, will be ignored since the
+ object should be loaded from storage entry
+
+ @param aObjectArgs
+ an object of type EmbeddedObjectDescriptor
+ contains object related properties
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ one of arguments is illegal
+
+ @throws ::com::sun::star::container::NoSuchElementException
+ the specified entry does not exist
+
+ @throws com::sun::star::io::IOException
+ in case of io problems during opening
+
+ @throws com::sun::star::uno::Exception
+ in case of other problems
+ */
+ ::com::sun::star::uno::XInterface createInstanceInitFromEntry(
+ [in] ::com::sun::star::embed::XStorage xStorage,
+ [in] string sEntryName,
+ [in] sequence< ::com::sun::star::beans::PropertyValue > aMediaDescriptor,
+ [in] sequence< ::com::sun::star::beans::PropertyValue > aObjectArgs )
+ raises( ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::container::NoSuchElementException,
+ ::com::sun::star::io::IOException,
+ ::com::sun::star::uno::Exception );
+
+ /** creates a new object and initializes it based on
+ com::sun::star::document::MediaDescriptor.
+
+ <p> In case specified entry exists it's contents are ignored and will
+ be overwritten on storing.
+ </p>
+
+ @param xStorage
+ a parent storage the entry should be created/opened in
+
+ @param sEntryName
+ a name for the entry
+
+ @param aMediaDescriptor
+ an object of type
+ com::sun::star::document::MediaDescriptor that
+ specifies source
+
+ @param aObjectArgs
+ an object of type EmbeddedObjectDescriptor
+ contains object related properties
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ one of arguments is illegal
+
+ @throws com::sun::star::io::IOException
+ in case of io problems during opening or creation
+
+ @throws com::sun::star::uno::Exception
+ in case of other problems
+ */
+ ::com::sun::star::uno::XInterface createInstanceInitFromMediaDescriptor(
+ [in] ::com::sun::star::embed::XStorage xStorage,
+ [in] string sEntryName,
+ [in] sequence< ::com::sun::star::beans::PropertyValue > aMediaDescriptor,
+ [in] sequence< ::com::sun::star::beans::PropertyValue > aObjectArgs )
+ raises( ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::io::IOException,
+ ::com::sun::star::uno::Exception );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/XEmbedObjectFactory.idl b/offapi/com/sun/star/embed/XEmbedObjectFactory.idl
new file mode 100644
index 000000000..b7a760da1
--- /dev/null
+++ b/offapi/com/sun/star/embed/XEmbedObjectFactory.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_embed_XEmbedObjectFactory_idl__
+#define __com_sun_star_embed_XEmbedObjectFactory_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/embed/XStorage.idl>
+#include <com/sun/star/io/IOException.idl>
+#include <com/sun/star/embed/WrongStateException.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+
+
+ module com { module sun { module star { module embed {
+
+/** allows to create and initialize a new embedded object of specified type.
+ <p>
+ This interface provides user with full control over object creation.
+ </p>
+ */
+published interface XEmbedObjectFactory: com::sun::star::uno::XInterface
+{
+ /** creates a new object and transport parameters for persistent
+ initialization.
+
+ <p>
+ This method can be used to have a full control over persistence
+ initialization of an object.
+ </p>
+
+ <p>
+ If the service implementation does not support
+ XEmbedObjectCreator interface, it must accept the empty
+ aClassID parameter in case of loading from existing entry.
+ </p>
+
+ @param aClassID
+ the class id of the new object
+
+ @param sClassName
+ the class name of the new object
+
+ @param xStorage
+ a parent storage the entry should be created/opened in
+
+ @param sEntName
+ a name for the entry
+
+ @param nEntryConnectionMode
+ a mode in which the object should be initialized from entry
+ can take values from EntryInitModes constant set
+
+ @param aArgs
+ optional parameters for the embedded document persistence
+ initialization, see also
+ com::sun::star::document::MediaDescriptor
+
+ @param aObjectArgs
+ optional parameters for the object persistence initialization,
+ see also
+ com::sun::star::embed::EmbeddedObjectDescriptor
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ one of arguments is illegal
+
+ @throws com::sun::star::io::IOException
+ in case of io problems during opening or creation
+
+ @throws com::sun::star::uno::Exception
+ in case of other problems
+ */
+ ::com::sun::star::uno::XInterface createInstanceUserInit(
+ [in] sequence< byte > aClassID,
+ [in] string sClassName,
+ [in] ::com::sun::star::embed::XStorage xStorage,
+ [in] string sEntName,
+ [in] long nEntryConnectionMode,
+ [in] sequence< ::com::sun::star::beans::PropertyValue > aArgs,
+ [in] sequence< ::com::sun::star::beans::PropertyValue > aObjectArgs )
+ raises( ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::io::IOException,
+ ::com::sun::star::uno::Exception );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/XEmbedPersist.idl b/offapi/com/sun/star/embed/XEmbedPersist.idl
new file mode 100644
index 000000000..5eec55149
--- /dev/null
+++ b/offapi/com/sun/star/embed/XEmbedPersist.idl
@@ -0,0 +1,239 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_embed_XEmbedPersist_idl__
+#define __com_sun_star_embed_XEmbedPersist_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/embed/XStorage.idl>
+#include <com/sun/star/embed/XCommonEmbedPersist.idl>
+#include <com/sun/star/io/IOException.idl>
+#include <com/sun/star/embed/WrongStateException.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+
+
+ module com { module sun { module star { module embed {
+
+/** specifies an implementation for embedded object persistence.
+ <p>
+ The idea is that any usable embedded object should be initialized
+ with an entry in the parent storage that will be used as persistent
+ representation.
+ </p>
+ */
+published interface XEmbedPersist: XCommonEmbedPersist
+{
+ /** provides object with a parent storage and a name for object's entry.
+
+ <p>
+ An entry with the specified name should be created/opened inside
+ provided storage. It can be a storage or a stream. For example,
+ OOo API will refer to OLE storages only by streams, but the object
+ implementation will use storage based on this stream.
+ </p>
+
+ <p>
+ Factory does this call to initialize the embedded object.
+ The linked object can be initialized by factory in different way
+ ( internally ).
+ </p>
+
+ <p>
+ It is also possible to switch object persistent representation through
+ this call. Actually this is the way, this call can be used by user
+ ( since initialization is done by factory ).
+ </p>
+
+ @param xStorage
+ a parent storage the entry should be created in
+
+ @param sEntName
+ a name for the entry
+
+ @param nEntryConnectionMode
+ a mode in which the object should be initialized from entry
+ can take values from EntryInitModes constant set
+
+ @param aMediaArgs
+ optional parameters for the embedded document persistence
+ initialization, see also
+ com::sun::star::document::MediaDescriptor
+
+ @param aObjectArgs
+ optional parameters for the object persistence initialization,
+ see also
+ com::sun::star::embed::EmbeddedObjectDescriptor
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ one of arguments is illegal
+
+ @throws com::sun::star::embed::WrongStateException
+ the object is in wrong state
+
+ @throws com::sun::star::io::IOException
+ in case of io problems during opening or creation
+
+ @throws com::sun::star::uno::Exception
+ in case of other problems
+ */
+ void setPersistentEntry(
+ [in] ::com::sun::star::embed::XStorage xStorage,
+ [in] string sEntName,
+ [in] long nEntryConnectionMode,
+ [in] sequence< ::com::sun::star::beans::PropertyValue > aMediaArgs,
+ [in] sequence< ::com::sun::star::beans::PropertyValue > aObjectArgs )
+ raises( ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::embed::WrongStateException,
+ ::com::sun::star::io::IOException,
+ ::com::sun::star::uno::Exception );
+
+ /** lets the object store itself to an entry in destination storage,
+ the own persistence entry is not changed.
+
+ @param xStorage
+ a parent storage the entry should be created inside
+
+ @param sEntName
+ a name for the entry
+
+ @param aMediaArgs
+ optional parameters for document saving, see also
+ com::sun::star::document::MediaDescriptor
+
+ @param aObjectArgs
+ optional parameters for the object saving, see also
+ com::sun::star::embed::EmbeddedObjectDescriptor
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ one of arguments is illegal
+
+ @throws com::sun::star::embed::WrongStateException
+ the object is in wrong state
+
+ @throws com::sun::star::io::IOException
+ in case of io problems during storing
+
+ @throws com::sun::star::uno::Exception
+ in case of other problems
+ */
+ void storeToEntry(
+ [in] ::com::sun::star::embed::XStorage xStorage,
+ [in] string sEntName,
+ [in] sequence< ::com::sun::star::beans::PropertyValue > aMediaArgs,
+ [in] sequence< ::com::sun::star::beans::PropertyValue > aObjectArgs )
+ raises( ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::embed::WrongStateException,
+ ::com::sun::star::io::IOException,
+ ::com::sun::star::uno::Exception );
+
+ /** lets the object store itself to an entry in destination storage and
+ prepare to use the new entry for own persistence.
+
+ <p>
+ The object should be stored to the new entry, after that the entry
+ should be remembered by the object. After the storing process is
+ finished the XEmbedPersist::saveCompleted() method
+ can be used to specify whether the object should use the new entry or
+ the old one. The object persistence can not be used until
+ XEmbedPersist::saveCompleted() is called.
+ So this state can be treated as "HandsOff" state.
+ <p>
+
+ @param xStorage
+ a parent storage the entry should be created in
+
+ @param sEntName
+ a name for the entry
+
+ @param aMediaArgs
+ optional parameters for document saving, see also
+ com::sun::star::document::MediaDescriptor
+
+ @param aObjectArgs
+ optional parameters for the object saving, see also
+ com::sun::star::embed::EmbeddedObjectDescriptor
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ one of arguments is illegal
+
+ @throws com::sun::star::embed::WrongStateException
+ the object is in wrong state
+
+ @throws com::sun::star::io::IOException
+ in case of io problems during storing
+
+ @throws com::sun::star::uno::Exception
+ in case of other problems
+ */
+ void storeAsEntry(
+ [in] ::com::sun::star::embed::XStorage xStorage,
+ [in] string sEntName,
+ [in] sequence< ::com::sun::star::beans::PropertyValue > aMediaArgs,
+ [in] sequence< ::com::sun::star::beans::PropertyValue > aObjectArgs )
+ raises( ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::embed::WrongStateException,
+ ::com::sun::star::io::IOException,
+ ::com::sun::star::uno::Exception );
+
+
+ /** specifies whether the object should use an old storage or a new one
+ after "save as" operation.
+
+ @param bUseNew
+ `TRUE` the new storage should be used
+ `FALSE` the old one
+
+ @throws com::sun::star::embed::WrongStateException
+ the object is in wrong state
+
+ @throws com::sun::star::uno::Exception
+ in case of other problems
+ */
+
+ void saveCompleted( [in] boolean bUseNew )
+ raises( ::com::sun::star::embed::WrongStateException,
+ ::com::sun::star::uno::Exception );
+
+ /** allows to detect if the object has entry.
+
+ @returns
+ `TRUE` if the object has own entry set
+ `FALSE` otherwise
+ */
+ boolean hasEntry()
+ raises( ::com::sun::star::embed::WrongStateException );
+
+ /** allows to retrieve the current object entry name.
+
+ @returns
+ the object entry name if any
+
+ @throws com::sun::star::embed::WrongStateException
+ the object is in wrong state ( has no entry )
+ */
+ string getEntryName()
+ raises( ::com::sun::star::embed::WrongStateException );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/XEmbedPersist2.idl b/offapi/com/sun/star/embed/XEmbedPersist2.idl
new file mode 100644
index 000000000..205b9027b
--- /dev/null
+++ b/offapi/com/sun/star/embed/XEmbedPersist2.idl
@@ -0,0 +1,30 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.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_XEmbedPersist2_idl__
+#define __com_sun_star_XEmbedPersist2_idl__
+
+#include <com/sun/star/embed/XEmbedPersist.idl>
+
+module com { module sun { module star { module embed {
+
+interface XEmbedPersist2 : XEmbedPersist
+{
+ /**
+ * Checks whether or not the object has created its persistent
+ * representation counterpart of its in-memory model.
+ */
+ boolean isStored();
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/XEmbeddedClient.idl b/offapi/com/sun/star/embed/XEmbeddedClient.idl
new file mode 100644
index 000000000..81f794c7c
--- /dev/null
+++ b/offapi/com/sun/star/embed/XEmbeddedClient.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_embed_XEmbeddedClient_idl__
+#define __com_sun_star_embed_XEmbeddedClient_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/embed/WrongStateException.idl>
+#include <com/sun/star/embed/XComponentSupplier.idl>
+#include <com/sun/star/embed/ObjectSaveVetoException.idl>
+
+
+
+
+ module com { module sun { module star { module embed {
+
+/** represents common functionality for embedded clients.
+ */
+published interface XEmbeddedClient: XComponentSupplier
+{
+ /** asks client to let the object store itself.
+
+ @throws com::sun::star::uno::ObjectSaveVetoException
+ in case container wants to avoid saving of object
+
+ @throws com::sun::star::uno::Exception
+ in case of problems during saving
+ */
+ void saveObject()
+ raises( ::com::sun::star::embed::ObjectSaveVetoException,
+ ::com::sun::star::uno::Exception );
+
+ /** An object can use this method to notify the client when the object
+ outplace window becomes visible or invisible.
+
+ @param bVisible
+ visibility state of the window
+
+ @throws com::sun::star::embed::WrongStateException
+ the object is in wrong state
+ */
+ void visibilityChanged( [in] boolean bVisible )
+ raises( ::com::sun::star::embed::WrongStateException );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/XEmbeddedObject.idl b/offapi/com/sun/star/embed/XEmbeddedObject.idl
new file mode 100644
index 000000000..7c9f3c220
--- /dev/null
+++ b/offapi/com/sun/star/embed/XEmbeddedObject.idl
@@ -0,0 +1,236 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_embed_XEmbeddedObject_idl__
+#define __com_sun_star_embed_XEmbeddedObject_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/embed/XEmbeddedClient.idl>
+#include <com/sun/star/embed/XVisualObject.idl>
+#include <com/sun/star/embed/XClassifiedObject.idl>
+#include <com/sun/star/embed/XComponentSupplier.idl>
+#include <com/sun/star/embed/XStateChangeBroadcaster.idl>
+#include <com/sun/star/datatransfer/XTransferable.idl>
+#include <com/sun/star/document/XEventBroadcaster.idl>
+#include <com/sun/star/embed/VerbDescriptor.idl>
+#include <com/sun/star/embed/UnreachableStateException.idl>
+#include <com/sun/star/embed/WrongStateException.idl>
+#include <com/sun/star/embed/NeedsRunningStateException.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/util/XCloseable.idl>
+
+
+
+
+ module com { module sun { module star { module embed {
+
+/** represents common functionality for embedded objects.
+ */
+published interface XEmbeddedObject
+{
+ // INTERFACES
+ /** represents common visualization functionality for embedded objects.
+ */
+ interface XVisualObject;
+
+ /** allows to detect class ID of the object.
+ */
+ interface XClassifiedObject;
+
+ /** allows to get access to the component handled by the object.
+ */
+ interface XComponentSupplier;
+
+ /** allows to be notified when object changes the state.
+ */
+ interface XStateChangeBroadcaster;
+
+ /** allows to be notified about object related events.
+ */
+ interface ::com::sun::star::document::XEventBroadcaster;
+
+ /** allows to control lifetime of the object.
+ */
+ interface ::com::sun::star::util::XCloseable;
+
+ // METHODS
+ /** changes the state of the object to the requested one.
+
+ @param nNewState
+ specifies the new state, can take values from the constant set
+ com::sun::star::embed::EmbedStates
+
+ @throws com::sun::star::embed::UnreachableStateException
+ the specified state can not be reached
+
+ @throws com::sun::star::embed::WrongStateException
+ in case object is in invalid state
+
+ @throws com::sun::star::uno::Exception
+ in case of other problems
+ */
+ void changeState( [in] long nNewState )
+ raises( ::com::sun::star::embed::UnreachableStateException,
+ ::com::sun::star::embed::WrongStateException,
+ ::com::sun::star::uno::Exception );
+
+ /** returns supported states for the object.
+
+ @returns
+ the sequence of states the object can be set to
+
+ @throws com::sun::star::embed::NeedsRunningStateException
+ means that the object is in loaded state now and can be switched
+ to running state, other possible states can be detected only when
+ the object is not in loaded state any more
+
+ @throws com::sun::star::embed::WrongStateException
+ in case object is in invalid state
+ */
+ sequence< long > getReachableStates()
+ raises( ::com::sun::star::embed::NeedsRunningStateException,
+ ::com::sun::star::embed::WrongStateException );
+
+ /** returns the current state of the object.
+
+ @returns
+ the current state of the object
+
+ @throws com::sun::star::embed::WrongStateException
+ in case object is in invalid state
+ */
+ long getCurrentState()
+ raises( ::com::sun::star::embed::WrongStateException );
+
+ /** lets object perform an action referenced by nVerbID.
+
+ @param nVerbID
+ specifies an action to perform, can take values from
+ EmbedVerbs
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ the verb is not supported
+
+ @throws com::sun::star::embed::WrongStateException
+ the object is in wrong state to call the function
+
+ @throws com::sun::star::embed::UnreachableStateException
+ the state, required by the verb, can not be reached
+
+ @throws com::sun::star::uno::Exception
+ in case of other problems
+ */
+ void doVerb( [in] long nVerbID )
+ raises( ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::embed::WrongStateException,
+ ::com::sun::star::embed::UnreachableStateException,
+ ::com::sun::star::uno::Exception );
+
+ /** returns supported verbs for the object.
+
+ @returns
+ the sequence of verbs the object supports
+
+ @throws com::sun::star::embed::NeedsRunningStateException
+ means that the object is in loaded state now and can be switched
+ to running state, acceptable verbs can be detected only when the
+ object is not in loaded state any more
+
+ @throws com::sun::star::embed::WrongStateException
+ the object is in wrong state to call the function
+ */
+ sequence< VerbDescriptor > getSupportedVerbs()
+ raises( ::com::sun::star::embed::NeedsRunningStateException,
+ ::com::sun::star::embed::WrongStateException );
+
+ /** sets a connection to the container's client.
+
+ @param xClient
+ provides a reference to a client implementation
+
+ @throws com::sun::star::embed::WrongStateException
+ the object is in wrong state
+ */
+ void setClientSite( [in] XEmbeddedClient xClient )
+ raises( ::com::sun::star::embed::WrongStateException );
+
+ /** provides access to the internal link to the container client.
+
+ @returns
+ a reference to related container client if any is set
+
+ @throws com::sun::star::embed::WrongStateException
+ the object is in wrong state
+ */
+ XEmbeddedClient getClientSite()
+ raises( ::com::sun::star::embed::WrongStateException );
+
+ /** updates object's representations.
+
+ @throws com::sun::star::embed::WrongStateException
+ the object is in wrong state to call the function
+
+ @throws com::sun::star::uno::Exception
+ in case problems detected
+ */
+ void update()
+ raises( ::com::sun::star::embed::WrongStateException,
+ ::com::sun::star::uno::Exception );
+
+ /** specifies how often the object's representation should be updated.
+
+ @param nMode
+ the new update mode, can take values from
+ EmbeddedUpdateModes
+
+ @throws ::com::sun::star::embed::WrongStateException
+ the object is in wrong state
+ */
+ void setUpdateMode( [in] long nMode )
+ raises( ::com::sun::star::embed::WrongStateException );
+
+ /** retrieves the status of the object.
+
+ @param nAspect
+ the aspect specifying the form of object representation
+
+ @return
+ the value specifying the status of the object for specified aspect
+ can take values from EmbedMisc constant set
+
+ @throws com::sun::star::embed::WrongStateException
+ the object is in wrong state
+ */
+ hyper getStatus( [in] hyper nAspect )
+ raises( ::com::sun::star::embed::WrongStateException );
+
+ /** provides object with the name of container document.
+
+ @param sName
+ name of the container document
+ */
+ void setContainerName( [in] string sName );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/XEmbeddedObjectCreator.idl b/offapi/com/sun/star/embed/XEmbeddedObjectCreator.idl
new file mode 100644
index 000000000..b886865cd
--- /dev/null
+++ b/offapi/com/sun/star/embed/XEmbeddedObjectCreator.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_embed_XEmbeddedObjectCreator_idl__
+#define __com_sun_star_embed_XEmbeddedObjectCreator_idl__
+
+#include <com/sun/star/embed/XEmbedObjectCreator.idl>
+#include <com/sun/star/embed/XEmbedObjectFactory.idl>
+#include <com/sun/star/embed/XLinkCreator.idl>
+#include <com/sun/star/embed/XLinkFactory.idl>
+
+ module com { module sun { module star { module embed {
+
+/**
+ @since LibreOffice 4.1
+ */
+interface XEmbeddedObjectCreator
+{
+ interface XEmbedObjectCreator;
+ interface XEmbedObjectFactory;
+ interface XLinkCreator;
+ [optional] interface XLinkFactory;
+};
+
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/XEmbeddedOleObject.idl b/offapi/com/sun/star/embed/XEmbeddedOleObject.idl
new file mode 100644
index 000000000..4d826a18f
--- /dev/null
+++ b/offapi/com/sun/star/embed/XEmbeddedOleObject.idl
@@ -0,0 +1,28 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.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_embed_XEmbeddedOleObject_idl__
+#define __com_sun_star_embed_XEmbeddedOleObject_idl__
+
+ module com { module sun { module star { module embed {
+
+/** Represents a marker for embedded OLE objects.
+ *
+ * @since LibreOffice 5.2
+ */
+interface XEmbeddedOleObject
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/offapi/com/sun/star/embed/XEncryptionProtectedSource.idl b/offapi/com/sun/star/embed/XEncryptionProtectedSource.idl
new file mode 100644
index 000000000..1aba0d991
--- /dev/null
+++ b/offapi/com/sun/star/embed/XEncryptionProtectedSource.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_embed_XEncryptionProtectedSource_idl__
+#define __com_sun_star_embed_XEncryptionProtectedSource_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/io/IOException.idl>
+
+
+ module com { module sun { module star { module embed {
+
+/** This interface allows to set a password for an object.
+ */
+published interface XEncryptionProtectedSource: com::sun::star::uno::XInterface
+{
+ /** sets a password for the object.
+
+ @param sPassword
+ the new password
+
+ @throws ::com::sun::star::io::IOException
+ in case password could not be set
+ */
+ void setEncryptionPassword( [in] string sPassword )
+ raises( ::com::sun::star::io::IOException );
+
+ /** removes encryption from the object.
+
+ @throws ::com::sun::star::io::IOException
+ in case encryption could not be removed
+ */
+ void removeEncryption()
+ raises( ::com::sun::star::io::IOException );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/XEncryptionProtectedSource2.idl b/offapi/com/sun/star/embed/XEncryptionProtectedSource2.idl
new file mode 100644
index 000000000..a5791fe95
--- /dev/null
+++ b/offapi/com/sun/star/embed/XEncryptionProtectedSource2.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_embed_XEncryptionProtectedSource2_idl__
+#define __com_sun_star_embed_XEncryptionProtectedSource2_idl__
+
+#include <com/sun/star/embed/XEncryptionProtectedSource.idl>
+#include <com/sun/star/beans/NamedValue.idl>
+
+
+module com { module sun { module star { module embed {
+
+/** This interface allows to set a password for an object.
+
+ @since OOo 3.4
+ */
+interface XEncryptionProtectedSource2: XEncryptionProtectedSource
+{
+ /** sets an encryption data for the object.
+
+ @param aEncryptionData
+ the new encryption data
+
+ @throws ::com::sun::star::io::IOException
+ in case the data could not be set
+ */
+ void setEncryptionData( [in] sequence< ::com::sun::star::beans::NamedValue > aEncryptionData )
+ raises( ::com::sun::star::io::IOException );
+
+ /** determine if an encryption data is set for this object.
+
+ @return
+ true if some encryption data was set, false otherwise
+ */
+ boolean hasEncryptionData();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/XEncryptionProtectedStorage.idl b/offapi/com/sun/star/embed/XEncryptionProtectedStorage.idl
new file mode 100644
index 000000000..ecba64d51
--- /dev/null
+++ b/offapi/com/sun/star/embed/XEncryptionProtectedStorage.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_embed_XEncryptionProtectedStorage_idl__
+#define __com_sun_star_embed_XEncryptionProtectedStorage_idl__
+
+#include <com/sun/star/embed/XEncryptionProtectedSource2.idl>
+#include <com/sun/star/beans/NamedValue.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/xml/crypto/DigestID.idl>
+#include <com/sun/star/xml/crypto/CipherID.idl>
+
+
+module com { module sun { module star { module embed {
+
+/** This interface allows to set a password for an object.
+
+ @since OOo 3.4
+ */
+interface XEncryptionProtectedStorage: XEncryptionProtectedSource2
+{
+ /** allows to set the encryption algorithms for the object.
+ <p>
+ The algorithms will of course be used only for streams that have been
+ marked to be encrypted. If no stream in the storage is marked to be
+ encrypted, the algorithms-related information may have no effect to
+ the result package.
+ </p>
+
+ <p>
+ The following values could be part of the provided sequence:
+ </p>
+ <dl>
+ <dt>StartKeyGenerationAlgorithm</dt>
+ <dd>
+ specifies the algorithm that was used to generate
+ the EncryptionKey from the original password; in case
+ the contents should be decrypted, the algorithm might
+ be already known by the object; if a different one is
+ set an exception should be thrown to indicate the
+ error; it should take values from
+ com::sun::star::xml:crypto::DigestID.
+ </dd>
+ <dt>EncryptionAlgorithm</dt>
+ <dd>
+ specifies the algorithm that should be used to
+ encrypt/decrypt the contents; in case the contents
+ should be decrypted, the algorithm might be already
+ known by the object; if a different one is set
+ an exception should be thrown to indicate the error;
+ it should take values from
+ com::sun::star::xml:crypto::CipherID.
+ </dd>
+ <dt>ChecksumAlgorithm</dt>
+ <dd>
+ specifies the algorithm that was used to generate
+ the checksum of the encrypted data; in case
+ the contents should be decrypted, the algorithm might
+ be already known by the object; if a different one is
+ set an exception should be thrown to indicate the
+ error; it should take values from
+ com::sun::star::xml:crypto::DigestID.
+ </dd>
+ </dl>
+ */
+ void setEncryptionAlgorithms( [in] sequence< ::com::sun::star::beans::NamedValue > aAlgorithms )
+ raises( ::com::sun::star::lang::IllegalArgumentException );
+
+ /** allows to get the encryption algorithms of the object.
+ */
+ sequence< ::com::sun::star::beans::NamedValue > getEncryptionAlgorithms();
+
+ /** set OpenPGP-specific encryption properties
+
+ <p>
+ When provided, switch ODF package encryption to OpenPGP.
+ </p>
+ <p>
+ For each recipient, add one sequence of named values, each of
+ the same structure. The following values could be part of that
+ provided sequence:
+ </p>
+ <dl>
+ <dt>KeyId</dt>
+ <dd>
+ specifies OpenPGP key ID or fingerprint of the public
+ key used to encrypt this session key against
+ </dd>
+ <dt>KeyPacket</dt>
+ <dd>
+ (optional) public key packet of the key used to encrypt
+ </dd>
+ <dt>CipherValue</dt>
+ <dd>
+ OpenPGP-encrypted session key for this recipient
+ </dd>
+ </dl>
+
+ @since LibreOffice 6.0
+ */
+ void setGpgProperties( [in] sequence< sequence< ::com::sun::star::beans::NamedValue > > aProps )
+ raises( ::com::sun::star::lang::IllegalArgumentException );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/XExtendedStorageStream.idl b/offapi/com/sun/star/embed/XExtendedStorageStream.idl
new file mode 100644
index 000000000..a22e6fd88
--- /dev/null
+++ b/offapi/com/sun/star/embed/XExtendedStorageStream.idl
@@ -0,0 +1,96 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_embed_XExtendedStorageStream_idl__
+#define __com_sun_star_embed_XExtendedStorageStream_idl__
+
+#include <com/sun/star/io/XStream.idl>
+#include <com/sun/star/io/XSeekable.idl>
+#include <com/sun/star/embed/XEncryptionProtectedSource.idl>
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/embed/XTransactedObject.idl>
+#include <com/sun/star/embed/XTransactionBroadcaster.idl>
+
+
+ module com { module sun { module star { module embed {
+
+/** This interface allows access to an extended storage stream that might be
+ transacted.
+ */
+published interface XExtendedStorageStream
+{
+ // INTERFACES
+ /** Stream access.
+ */
+ interface ::com::sun::star::io::XStream;
+
+ /** allows to control object lifetime.
+ */
+ interface ::com::sun::star::lang::XComponent;
+
+ /** allows to seek to a specified position within the stream.
+
+ <p>
+ This interface must be supported in case either seekable readonly
+ or read-write access is requested.
+ </p>
+ */
+ [optional] interface ::com::sun::star::io::XSeekable;
+
+ /** allows to set password to the stream.
+
+ <p>
+ This interface must be supported by a stream with read-write access
+ to allow to set a password that should be used next time the
+ stream is stored if the encryption is supported.
+ </p>
+
+ <p>
+ If the password is set or changed by this interface and the
+ stream is closed the new password should be used to get access to the
+ stream next time.
+ </p>
+ */
+ [optional] interface ::com::sun::star::embed::XEncryptionProtectedSource;
+
+ /** allows to get access to stream properties.
+ */
+ [optional] interface ::com::sun::star::beans::XPropertySet;
+
+ /** allows to have transacted access.
+ */
+ [optional] interface ::com::sun::star::embed::XTransactedObject;
+
+ /** allows to register a listener for transaction actions.
+
+ <p>
+ If XTransactedObject interface is implemented this
+ interface must be implemented as well.
+ </p>
+ */
+ [optional] interface ::com::sun::star::embed::XTransactionBroadcaster;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/XHatchWindow.idl b/offapi/com/sun/star/embed/XHatchWindow.idl
new file mode 100644
index 000000000..f65264298
--- /dev/null
+++ b/offapi/com/sun/star/embed/XHatchWindow.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_embed_XHatchWindow_idl__
+#define __com_sun_star_embed_XHatchWindow_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/embed/XHatchWindowController.idl>
+#include <com/sun/star/awt/Size.idl>
+
+
+ module com { module sun { module star { module embed {
+
+
+/** specifies the operations for a hatch window.
+
+ <p>
+ A hatch window is a kind of window that is adopted to contain
+ an embedded object window to represent the contained window border
+ and to handle resizing/moving in a specific way: after user have
+ selected the new size/placement the hatching window sends request
+ to owner for resizing/moving.
+ Thus the window can not resize/move itself.
+ </p>
+ */
+published interface XHatchWindow: com::sun::star::lang::XComponent
+{
+ /** sets the object that will control resizing/moving, if the object is
+ not set the window can not be resized/moved.
+ */
+ void setController( [in] XHatchWindowController xController );
+
+ [attribute] com::sun::star::awt::Size HatchBorderSize;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/XHatchWindowController.idl b/offapi/com/sun/star/embed/XHatchWindowController.idl
new file mode 100644
index 000000000..b5810a255
--- /dev/null
+++ b/offapi/com/sun/star/embed/XHatchWindowController.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_embed_XHatchWindowController_idl__
+#define __com_sun_star_embed_XHatchWindowController_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/awt/Rectangle.idl>
+
+
+ module com { module sun { module star { module embed {
+
+
+/** specifies the operations for a hatch window.
+
+ <p>
+ A hatch window owner is responsible to handle resize/move requests
+ sent by the window. It is also responsible to validate tracking
+ rectangle size.
+ </p>
+ */
+published interface XHatchWindowController: com::sun::star::uno::XInterface
+{
+ /** requests window owner to resize/move the window.
+
+ @param aRect
+ the new requested position and size of the window
+ */
+ void requestPositioning( [in] com::sun::star::awt::Rectangle aRect );
+
+ /** returns the closest valid rectangle to the provided one.
+
+ @param aRect
+ a new selected position and size of the tracking rectangle
+
+ @returns
+ the closest valid position and size to the provided one
+ */
+ com::sun::star::awt::Rectangle calcAdjustedRectangle(
+ [in] com::sun::star::awt::Rectangle aRect );
+
+ void activated();
+ void deactivated();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/XHatchWindowFactory.idl b/offapi/com/sun/star/embed/XHatchWindowFactory.idl
new file mode 100644
index 000000000..a1acfc3e5
--- /dev/null
+++ b/offapi/com/sun/star/embed/XHatchWindowFactory.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_embed_XHatchWindowFactory_idl__
+#define __com_sun_star_embed_XHatchWindowFactory_idl__
+
+#include <com/sun/star/embed/XHatchWindow.idl>
+#include <com/sun/star/awt/XWindowPeer.idl>
+#include <com/sun/star/awt/Rectangle.idl>
+#include <com/sun/star/awt/Size.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+ module com { module sun { module star { module embed {
+
+
+/** creates a hatch window implementation.
+ */
+published interface XHatchWindowFactory: com::sun::star::uno::XInterface
+{
+ /** creates a new hatch window instance.
+
+ @param xParent
+ the parent window the hatch window should be created in
+
+ @param aBounds
+ position and size of the hatch window
+
+ @param aSize
+ border and handler squares size
+
+ @returns
+ a new hatch window
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ one of arguments is illegal
+
+ */
+ ::com::sun::star::embed::XHatchWindow createHatchWindowInstance(
+ [in] com::sun::star::awt::XWindowPeer xParent,
+ [in] com::sun::star::awt::Rectangle aBounds,
+ [in] com::sun::star::awt::Size aSize )
+ raises( ::com::sun::star::lang::IllegalArgumentException );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/XHierarchicalStorageAccess.idl b/offapi/com/sun/star/embed/XHierarchicalStorageAccess.idl
new file mode 100644
index 000000000..b61c5cc62
--- /dev/null
+++ b/offapi/com/sun/star/embed/XHierarchicalStorageAccess.idl
@@ -0,0 +1,186 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_embed_XHierarchicalStorageAccess_idl__
+#define __com_sun_star_embed_XHierarchicalStorageAccess_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/io/XStream.idl>
+#include <com/sun/star/embed/XExtendedStorageStream.idl>
+#include <com/sun/star/io/IOException.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/embed/StorageWrappedTargetException.idl>
+#include <com/sun/star/embed/InvalidStorageException.idl>
+#include <com/sun/star/packages/WrongPasswordException.idl>
+#include <com/sun/star/container/XNameAccess.idl>
+#include <com/sun/star/container/NoSuchElementException.idl>
+#include <com/sun/star/container/ElementExistException.idl>
+#include <com/sun/star/packages/NoEncryptionException.idl>
+
+
+
+ module com { module sun { module star { module embed {
+
+/** This interface allows hierarchical access to storage tree.
+
+ <p>
+ Currently only streams can be opened using this interface.
+ </p>
+
+ <p>
+ The hierarchical access can not be mixed with a normal access. Thus when
+ in a storage a stream with a path "a/b/c" is accessed using hierarchical
+ access, another stream "a/b/d" can also be opened with hierarchical
+ access ( if it is still not opened ), but the substorage "a" can not be
+ opened ( it is locked by hierarchical access ).
+ </p>
+ */
+published interface XHierarchicalStorageAccess
+{
+ // METHODS
+ /** allows to get access to a child stream of the storage, using
+ hierarchical path.
+
+ <p>
+ In case the stream is open in readonly mode the
+ com::sun::star::io::XStream::getOutputStream()
+ method will return an empty reference.
+ </p>
+
+ @param sStreamPath
+ the path to the substream that should be open
+
+ @param nOpenMode
+ a mode the stream should be open in,
+ can be a combination of ElementModes values
+
+ @throws ::com::sun::star::embed::InvalidStorageException
+ this storage is in invalid state for any reason
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ one of provided arguments is illegal
+
+ @throws ::com::sun::star::packages::WrongPasswordException
+ the provided password is wrong
+
+ @throws ::com::sun::star::io::IOException
+ in case of io errors during stream opening
+
+ @throws ::com::sun::star::embed::StorageWrappedTargetException
+ wraps other exceptions
+ */
+ XExtendedStorageStream openStreamElementByHierarchicalName(
+ [in] string sStreamPath,
+ [in] long nOpenMode )
+ raises( ::com::sun::star::embed::InvalidStorageException,
+ ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::packages::WrongPasswordException,
+ ::com::sun::star::io::IOException,
+ ::com::sun::star::embed::StorageWrappedTargetException );
+
+ /** allows to get access to a child encrypted stream with password using
+ hierarchical path.
+
+ <p>
+ If storage does not allow any encryption this method will always throw
+ com::sun::star::packages::NoEncryptionException.
+ </p>
+
+ <p>
+ In case the stream is open in readonly mode the
+ com::sun::star::io::XStream::getOutputStream()
+ method will return an empty reference.
+ </p>
+
+ @param sStreamName
+ the path to the substream that should be open
+
+ @param nOpenMode
+ a mode the stream should be open in,
+ can be a combination of ElementModes values
+
+ @param sPassword
+ this parameter allows to specify a reading password for the
+ stream, the password must be a correct one, otherwise an
+ exception will be thrown
+
+ @throws ::com::sun::star::embed::InvalidStorageException
+ this storage is in invalid state for any reason
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ one of provided arguments is illegal
+
+ @throws ::com::sun::star::packages::NoEncryptionException
+ the stream is not encrypted
+
+ @throws ::com::sun::star::packages::WrongPasswordException
+ the provided password is wrong
+
+ @throws ::com::sun::star::io::IOException
+ in case of io errors during stream opening
+
+ @throws ::com::sun::star::embed::StorageWrappedTargetException
+ wraps other exceptions
+ */
+ XExtendedStorageStream openEncryptedStreamElementByHierarchicalName(
+ [in] string sStreamName,
+ [in] long nOpenMode,
+ [in] string sPassword )
+ raises( ::com::sun::star::embed::InvalidStorageException,
+ ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::packages::NoEncryptionException,
+ ::com::sun::star::packages::WrongPasswordException,
+ ::com::sun::star::io::IOException,
+ ::com::sun::star::embed::StorageWrappedTargetException );
+
+ /** removes a stream specified by hierarchical name from a storage.
+
+ @param sElementPath
+ the path to the element to remove
+
+ @throws ::com::sun::star::embed::InvalidStorageException
+ this storage is in invalid state for any reason
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ an illegal argument is provided
+
+ @throws ::com::sun::star::container::NoSuchElementException
+ there is no element with such name
+
+ @throws ::com::sun::star::io::IOException
+ in case of io errors during removing
+
+ @throws ::com::sun::star::embed::StorageWrappedTargetException
+ wraps other exceptions
+
+ */
+ void removeStreamElementByHierarchicalName( [in] string sElementPath )
+ raises( ::com::sun::star::embed::InvalidStorageException,
+ ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::container::NoSuchElementException,
+ ::com::sun::star::io::IOException,
+ ::com::sun::star::embed::StorageWrappedTargetException );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/XHierarchicalStorageAccess2.idl b/offapi/com/sun/star/embed/XHierarchicalStorageAccess2.idl
new file mode 100644
index 000000000..93eaa5ee3
--- /dev/null
+++ b/offapi/com/sun/star/embed/XHierarchicalStorageAccess2.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_embed_XHierarchicalStorageAccess2_idl__
+#define __com_sun_star_embed_XHierarchicalStorageAccess2_idl__
+
+#include <com/sun/star/embed/XHierarchicalStorageAccess.idl>
+#include <com/sun/star/beans/NamedValue.idl>
+
+
+ module com { module sun { module star { module embed {
+
+/** This interface extends XHierarchicalStorageAccess interface.
+ */
+interface XHierarchicalStorageAccess2 : XHierarchicalStorageAccess
+{
+ /** allows to get access to a child encrypted stream with encryption data
+ using hierarchical path.
+
+ <p>
+ If storage does not allow any encryption this method will always throw
+ com::sun::star::packages::NoEncryptionException.
+ </p>
+
+ <p>
+ In case the stream is open in readonly mode the
+ com::sun::star::io::XStream::getOutputStream()
+ method will return an empty reference.
+ </p>
+
+ @param sStreamName
+ the path to the substream that should be open
+
+ @param nOpenMode
+ a mode the stream should be open in,
+ can be a combination of ElementModes values
+
+ @param aEncryptionData
+ this parameter allows to specify an encryption data for the
+ stream, the data must be correct, otherwise an
+ exception will be thrown
+
+ @throws ::com::sun::star::embed::InvalidStorageException
+ this storage is in invalid state for any reason
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ one of provided arguments is illegal
+
+ @throws ::com::sun::star::packages::NoEncryptionException
+ the stream is not encrypted
+
+ @throws ::com::sun::star::packages::WrongPasswordException
+ the provided password is wrong
+
+ @throws ::com::sun::star::io::IOException
+ in case of io errors during stream opening
+
+ @throws ::com::sun::star::embed::StorageWrappedTargetException
+ wraps other exceptions
+ */
+ XExtendedStorageStream openEncryptedStreamByHierarchicalName(
+ [in] string sStreamName,
+ [in] long nOpenMode,
+ [in] sequence< ::com::sun::star::beans::NamedValue > aEncryptionData )
+ raises( ::com::sun::star::embed::InvalidStorageException,
+ ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::packages::NoEncryptionException,
+ ::com::sun::star::packages::WrongPasswordException,
+ ::com::sun::star::container::NoSuchElementException,
+ ::com::sun::star::io::IOException,
+ ::com::sun::star::embed::StorageWrappedTargetException );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/XInplaceClient.idl b/offapi/com/sun/star/embed/XInplaceClient.idl
new file mode 100644
index 000000000..c92aa36d4
--- /dev/null
+++ b/offapi/com/sun/star/embed/XInplaceClient.idl
@@ -0,0 +1,194 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_embed_XInplaceClient_idl__
+#define __com_sun_star_embed_XInplaceClient_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/container/XIndexAccess.idl>
+#include <com/sun/star/frame/XDispatchProvider.idl>
+#include <com/sun/star/frame/XLayoutManager.idl>
+#include <com/sun/star/awt/XWindow.idl>
+#include <com/sun/star/awt/Rectangle.idl>
+#include <com/sun/star/awt/Size.idl>
+#include <com/sun/star/awt/KeyEvent.idl>
+#include <com/sun/star/embed/WrongStateException.idl>
+
+
+
+ module com { module sun { module star { module embed {
+
+/** represents common functionality for inplace clients.
+ */
+interface XInplaceClient: com::sun::star::uno::XInterface
+{
+ /** checks if the container can activate the object inplace.
+
+ @return
+ `TRUE` the container can activate the object inplace.
+ `FALSE` otherwise.
+ */
+ boolean canInplaceActivate();
+
+ /** notifies container through the client that the object is to be
+ inplace activated.
+
+ @throws com::sun::star::embed::WrongStateException
+ the container is not ready for activation
+ */
+ void activatingInplace()
+ raises( ::com::sun::star::embed::WrongStateException );
+
+ /** notifies container through the client that the object is to be
+ UI-activated.
+
+ @throws com::sun::star::embed::WrongStateException
+ the container is not ready for activation
+ */
+ void activatingUI()
+ raises( ::com::sun::star::embed::WrongStateException );
+
+ /** notifies container through the client that the object is deactivated.
+
+ @throws com::sun::star::embed::WrongStateException
+ the container is not ready for deactivation
+ */
+ void deactivatedInplace()
+ raises( ::com::sun::star::embed::WrongStateException );
+
+ /** notifies container through the client that the object is
+ UI-deactivated.
+
+ <p>
+ After this notification the container can restore its own UI and take focus.
+ </p>
+
+ @throws com::sun::star::embed::WrongStateException
+ the container is not ready for deactivation
+ */
+ void deactivatedUI()
+ raises( ::com::sun::star::embed::WrongStateException );
+
+ /** allows to retrieve the
+ com::sun::star::frame::LayoutManager of the
+ container.
+
+ @return
+ reference to object representing the
+ com::sun::star::frame::LayoutManager of the
+ container
+
+ @throws com::sun::star::embed::WrongStateException
+ the object is in unexpected state to make such request
+ */
+ ::com::sun::star::frame::XLayoutManager getLayoutManager()
+ raises( ::com::sun::star::embed::WrongStateException );
+
+ /** allows to retrieve the container's dispatch provider.
+
+ @return
+ reference to object implementing the
+ com::sun::star::frame::XDispatchProvider
+
+ @throws com::sun::star::embed::WrongStateException
+ the object is in unexpected state to make such request
+ */
+ ::com::sun::star::frame::XDispatchProvider getInplaceDispatchProvider()
+ raises( ::com::sun::star::embed::WrongStateException );
+
+ /** gets the inplace object position rectangle.
+
+ <p>
+ The rectangle is provided in object's parent window coordinates in
+ pixels. The intersection of position and clip rectangles specifies
+ the visible part of the object. In case the position window has a size
+ that is bigger than object's size, the object should either scale or
+ deactivate.
+ </p>
+
+ @return
+ specifies a new position rectangle
+
+ @throws com::sun::star::embed::WrongStateException
+ the object is in unexpected state to make such request
+ */
+ ::com::sun::star::awt::Rectangle getPlacement()
+ raises( ::com::sun::star::embed::WrongStateException );
+
+ /** gets the inplace object clip rectangle.
+
+ <p>
+ The rectangle is provided in object's parent window coordinates in
+ pixels. The intersection of position and clip rectangles specifies
+ the visible part of the object.
+ </p>
+
+ @return
+ specifies a new clip rectangle
+
+ @throws com::sun::star::embed::WrongStateException
+ the object is in unexpected state to make such request
+ */
+ ::com::sun::star::awt::Rectangle getClipRectangle()
+ raises( ::com::sun::star::embed::WrongStateException );
+
+ /** provides accelerator table the object wants to use while it is
+ inplace active.
+
+ @param aKeys
+ an accelerator table from object
+
+ @throws com::sun::star::embed::WrongStateException
+ the object is in unexpected state
+ */
+ void translateAccelerators( [in] sequence< ::com::sun::star::awt::KeyEvent > aKeys )
+ raises( ::com::sun::star::embed::WrongStateException );
+
+ /** scrolls the object.
+
+ @param aOffset
+ scrolls the object to specified offset in pixels
+
+ @throws com::sun::star::embed::WrongStateException
+ the object is in unexpected state
+ */
+ void scrollObject( [in] ::com::sun::star::awt::Size aOffset )
+ raises( ::com::sun::star::embed::WrongStateException );
+
+ /** notifies the container that the position of the object is changed.
+
+ @param aPosRect
+ specifies a new position rectangle
+
+ @throws com::sun::star::embed::WrongStateException
+ the object state is not correct
+
+ @throws com::sun::star::uno::Exception
+ in case of other problems
+ */
+ void changedPlacement( [in] ::com::sun::star::awt::Rectangle aPosRect )
+ raises( ::com::sun::star::embed::WrongStateException,
+ ::com::sun::star::uno::Exception );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/XInplaceObject.idl b/offapi/com/sun/star/embed/XInplaceObject.idl
new file mode 100644
index 000000000..187605685
--- /dev/null
+++ b/offapi/com/sun/star/embed/XInplaceObject.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_embed_XInplaceObject_idl__
+#define __com_sun_star_embed_XInplaceObject_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/awt/Rectangle.idl>
+#include <com/sun/star/awt/KeyEvent.idl>
+#include <com/sun/star/embed/WrongStateException.idl>
+
+
+
+
+ module com { module sun { module star { module embed {
+
+/** represents common functionality for inplace embedded objects.
+ */
+published interface XInplaceObject: com::sun::star::uno::XInterface
+{
+ /** sets the visible part of the inplace object.
+
+ <p>
+ Both rectangles are provided in object's parent window coordinates
+ in pixels. The intersection of rectangles specifies the visible part
+ of the object. In case the position window has a size that is
+ different from object's visual area size, the object should either
+ scale or deactivate.
+ </p>
+
+ <p>
+ The method must activate object repainting.
+ </p>
+
+ @param aPosRect
+ specifies a new position rectangle
+
+ @param aClipRect
+ specifies a new clip rectangle
+
+ @throws com::sun::star::embed::WrongStateException
+ the object is in invalid state
+
+ @throws com::sun::star::uno::Exception
+ in case of other problems
+ */
+ void setObjectRectangles( [in] ::com::sun::star::awt::Rectangle aPosRect,
+ [in] ::com::sun::star::awt::Rectangle aClipRect )
+ raises( ::com::sun::star::embed::WrongStateException,
+ ::com::sun::star::uno::Exception );
+
+ /** enables or disables modeless dialogs of the object.
+
+ <p>
+ In case container wants to show a modal dialog it should disable
+ modeless of embedded object dialogs with this call. Later the same
+ call can be used to enable it.
+ </p>
+
+ @param bEnable
+ `TRUE` to enable object modeless
+ `FALSE` to disable it
+
+ @throws com::sun::star::embed::WrongStateException
+ the object is in wrong state
+
+ @throws com::sun::star::uno::Exception
+ in case of other problems
+ */
+ void enableModeless( [in] boolean bEnable )
+ raises( ::com::sun::star::embed::WrongStateException,
+ ::com::sun::star::uno::Exception );
+
+ /** provides accelerator table the container wants to use during inplace
+ editing.
+
+ @return
+ an accelerator table from container
+
+ @throws com::sun::star::embed::WrongStateException
+ the object is in unexpected state
+ */
+ void translateAccelerators(
+ [in] sequence< ::com::sun::star::awt::KeyEvent > aKeys )
+ raises( ::com::sun::star::embed::WrongStateException );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/XInsertObjectDialog.idl b/offapi/com/sun/star/embed/XInsertObjectDialog.idl
new file mode 100644
index 000000000..a0e89091f
--- /dev/null
+++ b/offapi/com/sun/star/embed/XInsertObjectDialog.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_embed_XInsertObjectDialog_idl__
+#define __com_sun_star_embed_XInsertObjectDialog_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/embed/XStorage.idl>
+#include <com/sun/star/embed/InsertedObjectInfo.idl>
+#include <com/sun/star/io/IOException.idl>
+#include <com/sun/star/embed/WrongStateException.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+
+
+ module com { module sun { module star { module embed {
+
+/** allows to create and initialize a new embedded object using GUI dialog.
+ */
+published interface XInsertObjectDialog: com::sun::star::uno::XInterface
+{
+ /** creates a new object using GUI dialog.
+
+ <p>
+ The dialog allows for user to do a number of choices that are container
+ related. This information will be returned in the
+ InsertedObjectInfo object.
+ <p>
+
+ @param xStorage
+ a parent storage the entry should be created/opened in
+
+ @param sEntName
+ a name for the entry
+
+ @param lObjArgs
+ optional parameters for the object persistence initialization
+ see also com::sun::star::embed::EmbeddedObjectDescriptor
+
+ @returns
+ the structure containing the object and container related options
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ one of arguments is illegal
+
+ @throws com::sun::star::io::IOException
+ in case of io problems during opening or creation
+
+ @throws com::sun::star::uno::Exception
+ in case of other problems
+ */
+ InsertedObjectInfo createInstanceByDialog(
+ [in] ::com::sun::star::embed::XStorage xStorage,
+ [in] string sEntName,
+ [in] sequence< ::com::sun::star::beans::PropertyValue > lObjArgs )
+ raises( ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::io::IOException,
+ ::com::sun::star::uno::Exception );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/XLinkCreator.idl b/offapi/com/sun/star/embed/XLinkCreator.idl
new file mode 100644
index 000000000..8bb0e69e0
--- /dev/null
+++ b/offapi/com/sun/star/embed/XLinkCreator.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_embed_XLinkCreator_idl__
+#define __com_sun_star_embed_XLinkCreator_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/embed/XStorage.idl>
+#include <com/sun/star/io/IOException.idl>
+#include <com/sun/star/embed/WrongStateException.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+
+
+ module com { module sun { module star { module embed {
+
+/** allows to create and initialize a new link.
+ <p>
+ Methods of this interface does not require specification of the object type,
+ it will be detected.
+ </p>
+ */
+published interface XLinkCreator: com::sun::star::uno::XInterface
+{
+ /** creates a new object based on
+ com::sun::star::document::MediaDescriptor
+ and initializes it as a link.
+
+ <p>
+ In case the entry exists already all its contents will be ignored and
+ rewritten on storing of the object.
+ </p>
+
+ @param xStorage
+ a parent storage the entry should be created or opened in
+
+ @param sEntryName
+ a name for the entry
+
+ @param aArgs
+ com::sun::star::document::MediaDescriptor
+ the link will be based on
+
+ @param aObjectArgs
+ optional parameters for the object persistence initialization,
+ see also
+ com::sun::star::embed::EmbeddedObjectDescriptor
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ the argument is illegal
+
+ @throws com::sun::star::io::IOException
+ in case of io problems during opening or creation
+
+ @throws com::sun::star::uno::Exception
+ in case of other problems
+ */
+ ::com::sun::star::uno::XInterface createInstanceLink(
+ [in] ::com::sun::star::embed::XStorage xStorage,
+ [in] string sEntryName,
+ [in] sequence< ::com::sun::star::beans::PropertyValue > aArgs,
+ [in] sequence< ::com::sun::star::beans::PropertyValue > aObjectArgs )
+ raises( ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::io::IOException,
+ ::com::sun::star::uno::Exception );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/XLinkFactory.idl b/offapi/com/sun/star/embed/XLinkFactory.idl
new file mode 100644
index 000000000..b28137ced
--- /dev/null
+++ b/offapi/com/sun/star/embed/XLinkFactory.idl
@@ -0,0 +1,91 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_embed_XLinkFactory_idl__
+#define __com_sun_star_embed_XLinkFactory_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/embed/XStorage.idl>
+#include <com/sun/star/io/IOException.idl>
+#include <com/sun/star/embed/WrongStateException.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+
+
+ module com { module sun { module star { module embed {
+
+/** allows to create and initialize a new link of specified type.
+ */
+published interface XLinkFactory: com::sun::star::uno::XInterface
+{
+ /** creates a new link and transport parameters for persistent
+ initialization.
+
+ <p>
+ This method can be used to have a full control over persistence
+ initialization of a link.
+ </p>
+
+ @param aClassID
+ the class id of the new object
+
+ @param ClassName
+ the class name of the new object
+
+ @param xStorage
+ a parent storage the entry should be created in
+
+ @param sEntryName
+ a name for the entry
+
+ @param aArgs
+ com::sun::star::document::MediaDescriptor
+ that contains source for the link
+
+ @param aObjectArgs
+ optional parameters for the object persistence initialization
+ see also
+ com::sun::star::embed::EmbeddedObjectDescriptor
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ one of arguments is illegal
+
+ @throws com::sun::star::io::IOException
+ in case of io problems during opening or creation
+
+ @throws com::sun::star::uno::Exception
+ in case of other problems
+ */
+ ::com::sun::star::uno::XInterface createInstanceLinkUserInit(
+ [in] sequence< byte > aClassID,
+ [in] string ClassName,
+ [in] ::com::sun::star::embed::XStorage xStorage,
+ [in] string sEntryName,
+ [in] sequence< ::com::sun::star::beans::PropertyValue > aArgs,
+ [in] sequence< ::com::sun::star::beans::PropertyValue > aObjectArgs )
+ raises( ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::io::IOException,
+ ::com::sun::star::uno::Exception );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/XLinkageSupport.idl b/offapi/com/sun/star/embed/XLinkageSupport.idl
new file mode 100644
index 000000000..be99765b7
--- /dev/null
+++ b/offapi/com/sun/star/embed/XLinkageSupport.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_embed_XLinkageSupport_idl__
+#define __com_sun_star_embed_XLinkageSupport_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/embed/XStorage.idl>
+#include <com/sun/star/embed/XCommonEmbedPersist.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/embed/WrongStateException.idl>
+
+
+ module com { module sun { module star { module embed {
+
+/** specifies an additional implementation for linked embedded object support.
+ */
+published interface XLinkageSupport: XCommonEmbedPersist
+{
+ /** breaks the link and provides the object with a parent storage and a
+ name for object's entry
+
+ <p>
+ This method can be used only for links implementations that implement
+ the whole set of embedded object interfaces. Usually the sets of
+ interfaces are the same for links and objects. An example of exception
+ from this are OOo links that do not implement
+ XEmbedPersist interface. For such cases the method will
+ throw an exception.
+ </p>
+
+ <p>
+ The link will be broken and the linked object will become a normal
+ embedded object.
+ </p>
+
+ <p>
+ An entry with the specified name should be created or opened inside
+ provided storage. This entry will be used for the object persistence.
+ If the entry exists already all its contents will be ignored.
+ </p>
+
+ @param xStorage
+ a parent storage the entry should be created or opened in
+
+ @param sEntryName
+ a name for the entry
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ one of arguments is illegal
+
+ @throws com::sun::star::embed::WrongStateException
+ the object is in wrong state or not a linked object
+
+ @throws com::sun::star::io::IOException
+ in case object has not persistence or other io problems
+
+ @throws com::sun::star::uno::Exception
+ in case of other problems
+
+ @see also XEmbedPersist::setPersistentEntry
+ */
+ void breakLink( [in] ::com::sun::star::embed::XStorage xStorage,
+ [in] string sEntryName )
+ raises( ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::embed::WrongStateException,
+ ::com::sun::star::io::IOException,
+ ::com::sun::star::uno::Exception );
+
+
+ /** allows to detect whether the object is a linked one.
+ <p>
+ Most of embedded objects will not support this interface, but some
+ of them can do it, to allow conversion from link to object. After
+ the conversion the object does not change, so interface set stays the
+ same, but the object is not a link any more.
+ </p>
+
+ @return
+ `TRUE` - the object is a linked one.
+ `FALSE` - otherwise
+
+ @throws com::sun::star::embed::WrongStateException
+ the object is in wrong state
+ */
+ boolean isLink()
+ raises( ::com::sun::star::embed::WrongStateException );
+
+ /** returns the URL of the link object.
+
+ @throws com::sun::star::embed::WrongStateException
+ the object is in wrong state or is not a link
+ */
+ string getLinkURL()
+ raises( ::com::sun::star::embed::WrongStateException,
+ ::com::sun::star::uno::Exception );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/XOLESimpleStorage.idl b/offapi/com/sun/star/embed/XOLESimpleStorage.idl
new file mode 100644
index 000000000..4ea4f69b1
--- /dev/null
+++ b/offapi/com/sun/star/embed/XOLESimpleStorage.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_embed_XOLESimpleStorage_idl__
+#define __com_sun_star_embed_XOLESimpleStorage_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/container/XNameContainer.idl>
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/embed/XTransactedObject.idl>
+#include <com/sun/star/embed/XClassifiedObject.idl>
+
+
+module com { module sun { module star { module embed {
+/** This interface allows to access and change contents of OLE storages.
+
+ <p>
+ This is a simple container allowing the access to OLE storages. The
+ subcomponents are either OLE storages themselves or streams.
+ </p>
+*/
+published interface XOLESimpleStorage
+{
+ //INTERFACES
+ /** interface XNameContainer is the generic interface for
+ supporting the insertion and removal of named elements.
+
+ <p>The access to the elements is provided though
+ XNameContainer methods.</p>
+ */
+ interface ::com::sun::star::container::XNameContainer;
+
+ /** interface XComponent allows to explicitly free resources
+ and break cyclic references.
+ */
+ interface ::com::sun::star::lang::XComponent;
+
+ /** interface XTransactedObject allows transacted access to
+ an object.
+
+ <p>The storages are always opened in transacted mode, the
+ XTransactedObject interface allows to commit the storage.
+ </p>
+ */
+ interface XTransactedObject;
+
+ /** interface XClassifiedObject represents common
+ functionality for embedded objects
+
+ <p>the XClassifiedObject interface allows to set/get the
+ ClassID of the storage.</p>
+ */
+ interface XClassifiedObject;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/XOptimizedStorage.idl b/offapi/com/sun/star/embed/XOptimizedStorage.idl
new file mode 100644
index 000000000..65d5de599
--- /dev/null
+++ b/offapi/com/sun/star/embed/XOptimizedStorage.idl
@@ -0,0 +1,165 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_embed_XOptimizedStorage_idl__
+#define __com_sun_star_embed_XOptimizedStorage_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/io/XStream.idl>
+#include <com/sun/star/io/XInputStream.idl>
+#include <com/sun/star/io/IOException.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/embed/StorageWrappedTargetException.idl>
+#include <com/sun/star/embed/InvalidStorageException.idl>
+#include <com/sun/star/container/NoSuchElementException.idl>
+#include <com/sun/star/container/ElementExistException.idl>
+#include <com/sun/star/packages/EncryptionNotAllowedException.idl>
+#include <com/sun/star/packages/NoRawFormatException.idl>
+#include <com/sun/star/packages/WrongPasswordException.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/beans/UnknownPropertyException.idl>
+#include <com/sun/star/beans/PropertyVetoException.idl>
+
+
+ module com { module sun { module star { module embed {
+
+/** This is a temporary interface that is introduced to temporarily optimize
+ the document storing process. PLEASE DO NOT USE IT, it might change in any
+ time and will be deprecated soon!
+ Another solution will be introduced as final one.
+ */
+published interface XOptimizedStorage
+{
+ /** allows to insert a raw stream representing non-encrypted stream with
+ header.
+ */
+ void insertRawNonEncrStreamElementDirect(
+ [in] string sStreamName,
+ [in] ::com::sun::star::io::XInputStream xInStream )
+ raises( ::com::sun::star::embed::InvalidStorageException,
+ ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::packages::NoRawFormatException,
+ ::com::sun::star::container::ElementExistException,
+ ::com::sun::star::io::IOException,
+ ::com::sun::star::embed::StorageWrappedTargetException );
+
+ /** allows to insert a stream to the storage directly. The stream must
+ stay alive till the storage is committed.
+ */
+ void insertStreamElementDirect(
+ [in] string sStreamName,
+ [in] ::com::sun::star::io::XInputStream xInStream,
+ [in] sequence < ::com::sun::star::beans::PropertyValue > aProperties )
+ raises( ::com::sun::star::embed::InvalidStorageException,
+ ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::container::ElementExistException,
+ ::com::sun::star::io::IOException,
+ ::com::sun::star::embed::StorageWrappedTargetException );
+
+ /** allows to copy storage element directly, not guaranteed to work.
+ */
+ void copyElementDirectlyTo(
+ [in] string sSourceName,
+ [in] ::com::sun::star::embed::XOptimizedStorage xTargetStorage,
+ [in] string sTargetName )
+ raises( ::com::sun::star::embed::InvalidStorageException,
+ ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::container::NoSuchElementException,
+ ::com::sun::star::container::ElementExistException,
+ ::com::sun::star::io::IOException,
+ ::com::sun::star::embed::StorageWrappedTargetException );
+
+ /** allows to switch storage persistence to the provided stream. The stream
+ will be filled by the storage. If an empty reference is provided, the
+ storage will create a temporary stream to switch to itself.
+ It is applicable only for root storages.
+ */
+ void writeAndAttachToStream(
+ [in] ::com::sun::star::io::XStream xStream )
+ raises( ::com::sun::star::embed::InvalidStorageException,
+ ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::io::IOException,
+ ::com::sun::star::embed::StorageWrappedTargetException );
+
+ /** allows to switch storage persistence to the provided URL. The caller is
+ responsible to be sure that the file referenced by the URL contains the
+ same contents as the stream the storage is based currently. Thus using
+ of this method is very dangerous and should be avoided when possible.
+ It is applicable only for root storages.
+ */
+ void attachToURL( [in] string sURL,
+ [in] boolean bReadOnly )
+ raises( ::com::sun::star::embed::InvalidStorageException,
+ ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::io::IOException,
+ ::com::sun::star::embed::StorageWrappedTargetException );
+
+ /** allows to get property of the child element with the specified name.
+ The implementation of the method might allow to access only subset
+ of the supported by element properties.
+ */
+ any getElementPropertyValue( [in] string sElementName,
+ [in] string sPropertyName )
+ raises( ::com::sun::star::embed::InvalidStorageException,
+ ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::container::NoSuchElementException,
+ ::com::sun::star::io::IOException,
+ ::com::sun::star::beans::UnknownPropertyException,
+ ::com::sun::star::beans::PropertyVetoException,
+ ::com::sun::star::embed::StorageWrappedTargetException );
+
+ /** fills the provided stream with the last flushed version of data from
+ the child stream of the storage.
+
+ @param sStreamName
+ the name of the substream that should be copied
+
+ @param xTargetStream
+ the target stream where the data must be copied to
+
+ @throws ::com::sun::star::embed::InvalidStorageException
+ this storage is in invalid state for any reason
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ one of provided arguments is illegal
+
+ @throws ::com::sun::star::packages::WrongPasswordException
+ the provided password is wrong
+
+ @throws ::com::sun::star::io::IOException
+ in case of io errors during stream opening
+
+ @throws ::com::sun::star::embed::StorageWrappedTargetException
+ wraps other exceptions
+ */
+ void copyStreamElementData( [in] string sStreamName,
+ [in] ::com::sun::star::io::XStream xTargetStream )
+ raises( ::com::sun::star::embed::InvalidStorageException,
+ ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::packages::WrongPasswordException,
+ ::com::sun::star::io::IOException,
+ ::com::sun::star::embed::StorageWrappedTargetException );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/XPackageStructureCreator.idl b/offapi/com/sun/star/embed/XPackageStructureCreator.idl
new file mode 100644
index 000000000..7224e8790
--- /dev/null
+++ b/offapi/com/sun/star/embed/XPackageStructureCreator.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_embed_XPackageStructureCreator_idl__
+#define __com_sun_star_embed_XPackageStructureCreator_idl__
+
+#include <com/sun/star/io/XOutputStream.idl>
+#include <com/sun/star/io/IOException.idl>
+
+
+ module com { module sun { module star { module embed {
+
+/** allows to convert filesystem folder tree into a package.
+ */
+published interface XPackageStructureCreator: com::sun::star::uno::XInterface
+{
+ /** converts filesystem folder tree into a package.
+
+ @param sFolderURL
+ the URL of folder that must be converted,
+ the URL must be in format accepted by UCB
+
+ @param xTargetStream
+ the result package will be written into this stream
+
+ @throws ::com::sun::star::io::IOException
+ in case any problem on reading/writing appears
+ */
+ void convertToPackage(
+ [in] string sFolderURL,
+ [in] ::com::sun::star::io::XOutputStream xTargetStream )
+ raises( ::com::sun::star::io::IOException );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/XPersistanceHolder.idl b/offapi/com/sun/star/embed/XPersistanceHolder.idl
new file mode 100644
index 000000000..01247f934
--- /dev/null
+++ b/offapi/com/sun/star/embed/XPersistanceHolder.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_embed_XPersistanceHolder_idl__
+#define __com_sun_star_embed_XPersistanceHolder_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/io/IOException.idl>
+#include <com/sun/star/io/XStream.idl>
+
+
+ module com { module sun { module star { module embed {
+
+/** allows to disconnect an object from its persistence.
+ */
+published interface XPersistanceHolder: com::sun::star::uno::XInterface
+{
+ /** disconnects the object from the persistence.
+
+ @throws com::sun::star::io::IOException
+ in case of io problems
+
+ @throws com::sun::star::uno::Exception
+ in case of other problems
+ */
+ void disconnectPersistence()
+ raises( ::com::sun::star::io::IOException,
+ ::com::sun::star::uno::Exception );
+
+ /** connects the object to a persistence.
+
+ @param xStream
+ a stream that specify the persistence
+
+ @throws com::sun::star::io::IOException
+ in case of io problems
+
+ @throws com::sun::star::uno::Exception
+ in case of other problems
+ */
+ void connectPersistance(
+ [in] ::com::sun::star::io::XStream xStream )
+ raises( ::com::sun::star::io::IOException,
+ ::com::sun::star::uno::Exception );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/XRelationshipAccess.idl b/offapi/com/sun/star/embed/XRelationshipAccess.idl
new file mode 100644
index 000000000..42804fb2c
--- /dev/null
+++ b/offapi/com/sun/star/embed/XRelationshipAccess.idl
@@ -0,0 +1,249 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_embed_XRelationshipAccess_idl__
+#define __com_sun_star_embed_XRelationshipAccess_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/beans/StringPair.idl>
+#include <com/sun/star/container/NoSuchElementException.idl>
+#include <com/sun/star/container/ElementExistException.idl>
+#include <com/sun/star/io/IOException.idl>
+
+
+ module com { module sun { module star { module embed {
+
+/** This interface allows to get access to relationship data.
+
+ <p>
+ The relationship data is organized as a set of entries. Each of entry
+ is represented by a set of tags, where each tag has unique for this entry
+ name and a string value. An entry must contain at least one tag named
+ "ID", the value of this tag must be unique for the whole set of entries,
+ this tag is used as a unique identifier of an entry.
+ </p>
+ */
+published interface XRelationshipAccess : ::com::sun::star::uno::XInterface
+{
+ /** allows to detect whether there is an entry with specified value of
+ "ID" tag.
+
+ @param sID
+ the value of "ID" tag
+
+ @throws ::com::sun::star::io::IOException
+ in case there is a problem reading the relations info
+ */
+ boolean hasByID( [in] string sID )
+ raises( ::com::sun::star::io::IOException );
+
+ /** retrieves the value of "Target" tag from the entry with specified "ID"
+ tag.
+
+ <p>
+ If the entry has no "Target" tag an empty string is returned.
+ </p>
+
+ @param sID
+ the value of "ID" tag
+
+ @throws ::com::sun::star::container::NoSuchElementException
+ in case there is no entry with specified tag
+
+ @throws ::com::sun::star::io::IOException
+ in case there is a problem reading the relations info
+ */
+ string getTargetByID( [in] string sID )
+ raises( ::com::sun::star::container::NoSuchElementException,
+ ::com::sun::star::io::IOException );
+
+ /** retrieves the value of "Type" tag from the entry with specified "ID"
+ tag.
+
+ <p>
+ If the entry has no "Type" tag an empty string is returned.
+ </p>
+
+ @param sID
+ the value of "ID" tag
+
+ @throws ::com::sun::star::container::NoSuchElementException
+ in case there is no entry with specified tag
+
+ @throws ::com::sun::star::io::IOException
+ in case there is a problem reading the relations info
+ */
+ string getTypeByID( [in] string sID )
+ raises( ::com::sun::star::container::NoSuchElementException,
+ ::com::sun::star::io::IOException );
+
+ /** retrieves the sequence containing all the tags from the entry with
+ specified value of "ID" tag.
+
+ @param sID
+ the value of "ID" tag
+
+ @returns
+ sequence, each element of the sequence represents tag,
+ ::com::sun::star::beans::StringPair::First
+ represents the tag name and
+ ::com::sun::star::beans::StringPair::Second
+ represents the tag value
+
+ @throws ::com::sun::star::container::NoSuchElementException
+ in case there is no entry with specified tag
+
+ @throws ::com::sun::star::io::IOException
+ in case there is a problem reading the relations info
+ */
+ sequence< ::com::sun::star::beans::StringPair >
+ getRelationshipByID( [in] string sID )
+ raises( ::com::sun::star::container::NoSuchElementException,
+ ::com::sun::star::io::IOException );
+
+ /** retrieves the sequence containing all the entries which "Type" tag
+ takes the specified value.
+
+ @param sType
+ specified value of "Type" tag, the parameter can contain an empty
+ string, in this case all the entries that have empty "Type" tag or
+ no such tag at all are returned
+
+ @returns
+ sequence of entries, each entry is represented by sequence,
+ each element of the sequence represents tag,
+ ::com::sun::star::beans::StringPair::First
+ represents the tag name and
+ ::com::sun::star::beans::StringPair::Second
+ represents the tag value.
+ The sequence should contain the "ID" tag.
+
+ @throws ::com::sun::star::io::IOException
+ in case there is a problem reading the relations info
+ */
+ sequence< sequence< ::com::sun::star::beans::StringPair > >
+ getRelationshipsByType( [in] string sType )
+ raises( ::com::sun::star::io::IOException );
+
+ /** retrieves the sequence containing all the entries controlled by the
+ object.
+
+ @returns
+ sequence of entries, each entry is represented by sequence,
+ each element of the sequence represents tag,
+ ::com::sun::star::beans::StringPair::First
+ represents the tag name and
+ ::com::sun::star::beans::StringPair::Second
+ represents the tag value
+
+ @throws ::com::sun::star::io::IOException
+ in case there is a problem reading the relations info
+ */
+ sequence< sequence< ::com::sun::star::beans::StringPair > >
+ getAllRelationships()
+ raises( ::com::sun::star::io::IOException );
+
+ /** allows to insert an entry.
+
+ @param sID
+ the value of "ID" tag
+
+ @param aEntry
+ a sequence, each element of the sequence represents tag,
+ ::com::sun::star::beans::StringPair::First
+ represents the tag name and
+ ::com::sun::star::beans::StringPair::Second
+ represents the tag value.
+ May not contain "ID" tag, that is already specified in previous
+ parameter.
+
+ @param bReplace
+ specifies whether the replacement of existing entry is allowed
+
+ @throws ::com::sun::star::io::IOException
+ in case there is a problem reading/writing the relations info
+
+ @throws ::com::sun::star::container::ElementExistException
+ in case an element with the specified "ID" tag exists already, and
+ no replacement is allowed
+ */
+ void insertRelationshipByID(
+ [in] string sID,
+ [in] sequence< ::com::sun::star::beans::StringPair > aEntry,
+ [in] boolean bReplace )
+ raises( ::com::sun::star::container::ElementExistException,
+ ::com::sun::star::io::IOException );
+
+ /** allows to remove an entry.
+
+ @param sID
+ the value of "ID" tag
+
+ @throws ::com::sun::star::container::NoSuchElementException
+ in case there is no entry with specified tag
+
+ @throws ::com::sun::star::io::IOException
+ in case there is a problem reading/writing the relations info
+ */
+ void removeRelationshipByID( [in] string sID )
+ raises( ::com::sun::star::container::NoSuchElementException,
+ ::com::sun::star::io::IOException );
+
+ /** allows to insert a set of entries
+
+ @param aEntries
+ sequence of entries, each entry is represented by sequence,
+ each element of the sequence represents tag,
+ ::com::sun::star::beans::StringPair::First
+ represents the tag name and
+ ::com::sun::star::beans::StringPair::Second
+ represents the tag value.
+ Each entry must contain "ID" tag.
+
+ @param bReplace
+ specifies whether the replacement of existing entry is allowed
+
+ @throws ::com::sun::star::container::ElementExistException
+ in case an element with the provided "ID" tag exists already, and
+ no replacement is allowed
+
+ @throws ::com::sun::star::io::IOException
+ in case there is a problem reading/writing the relations info
+ */
+ void insertRelationships(
+ [in] sequence< sequence< ::com::sun::star::beans::StringPair > > aEntries,
+ [in] boolean bReplace )
+ raises( ::com::sun::star::container::ElementExistException,
+ ::com::sun::star::io::IOException );
+
+ /** allows to clear the set of entries.
+
+ @throws ::com::sun::star::io::IOException
+ in case there is a problem reading/writing the relations info
+ */
+ void clearRelationships()
+ raises( ::com::sun::star::io::IOException );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/XStateChangeBroadcaster.idl b/offapi/com/sun/star/embed/XStateChangeBroadcaster.idl
new file mode 100644
index 000000000..b9342d98d
--- /dev/null
+++ b/offapi/com/sun/star/embed/XStateChangeBroadcaster.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_embed_XStateChangeBroadcaster_idl__
+#define __com_sun_star_embed_XStateChangeBroadcaster_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/embed/XStateChangeListener.idl>
+
+
+
+module com { module sun { module star { module embed {
+
+
+/** broadcasts message in case embedded object object changes it's state.
+ */
+published interface XStateChangeBroadcaster: com::sun::star::uno::XInterface
+{
+ /** adds the specified listener to receive events about states change
+ */
+ void addStateChangeListener(
+ [in] com::sun::star::embed::XStateChangeListener xListener );
+
+ /** removes the specified listener
+ */
+ void removeStateChangeListener(
+ [in] com::sun::star::embed::XStateChangeListener xListener );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/XStateChangeListener.idl b/offapi/com/sun/star/embed/XStateChangeListener.idl
new file mode 100644
index 000000000..1a74f5f5e
--- /dev/null
+++ b/offapi/com/sun/star/embed/XStateChangeListener.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_embed_XStateChangeListener_idl__
+#define __com_sun_star_embed_XStateChangeListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+
+#include <com/sun/star/lang/EventObject.idl>
+
+#include <com/sun/star/embed/WrongStateException.idl>
+
+
+module com { module sun { module star { module embed {
+
+
+/** makes it possible to receive events when an embedded object changes it's
+ state.
+ */
+published interface XStateChangeListener: com::sun::star::lang::XEventListener
+{
+ /** is called just before the object changes state.
+
+ <p>
+ Actually the listener can try to complain about state changing, but
+ it is up to object to decide whether the state change can be
+ prevented. Anyway the possibility to complain must be used very
+ carefully.
+ </p>
+
+ @param aEvent
+ specifies the object that is going to change own state
+
+ @param nOldState
+ specifies the old state of the object
+
+ @param nNewState
+ specifies the new state of the object
+
+ @throws ::com::sun::star::embed::WrongStateException
+ the state change is unexpected by listener
+ */
+ void changingState( [in] com::sun::star::lang::EventObject aEvent,
+ [in] long nOldState,
+ [in] long nNewState )
+ raises( ::com::sun::star::embed::WrongStateException );
+
+ /** is called after the object has changed state.
+
+ @param aEvent
+ specifies the object that has changed own state
+
+ @param nOldState
+ specifies the old state of the object
+
+ @param nNewState
+ specifies the new state of the object
+ */
+ void stateChanged( [in] com::sun::star::lang::EventObject aEvent,
+ [in] long nOldState,
+ [in] long nNewState );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/XStorage.idl b/offapi/com/sun/star/embed/XStorage.idl
new file mode 100644
index 000000000..8821f60a8
--- /dev/null
+++ b/offapi/com/sun/star/embed/XStorage.idl
@@ -0,0 +1,592 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_embed_XStorage_idl__
+#define __com_sun_star_embed_XStorage_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/io/XStream.idl>
+#include <com/sun/star/io/XInputStream.idl>
+#include <com/sun/star/io/IOException.idl>
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/embed/StorageWrappedTargetException.idl>
+#include <com/sun/star/embed/InvalidStorageException.idl>
+#include <com/sun/star/packages/WrongPasswordException.idl>
+#include <com/sun/star/container/XNameAccess.idl>
+#include <com/sun/star/container/NoSuchElementException.idl>
+#include <com/sun/star/container/ElementExistException.idl>
+#include <com/sun/star/packages/NoEncryptionException.idl>
+#include <com/sun/star/packages/NoRawFormatException.idl>
+
+
+
+ module com { module sun { module star { module embed {
+
+/** This interface represents main storage functionality.
+ */
+published interface XStorage
+{
+ // INTERFACES
+ /** allows to get list of child elements and to check if an element with a
+ specified name exists in a storage.
+
+ <p>
+ It is also possible to use this interface to get read access to
+ a child element by
+ com::sun::star::container::XNameAccess::getByName()
+ call. But the recommended way is to use XStorage
+ interface for this purpose.
+ </p>
+ */
+ interface ::com::sun::star::container::XNameAccess;
+
+ /** allows to control and track lifetime of the storage.
+
+ <p>
+ In case a storage is disposed any call to its methods should result
+ in com::sun::star::lang::DisposedException.
+ </p>
+ */
+ interface ::com::sun::star::lang::XComponent;
+
+
+ // METHODS
+ /** allows to copy current storage to another one
+
+ <p>
+ The destination storage contents are overwritten.
+ After the successful copying the target storage is automatically
+ committed if it implements transacted access.
+ </p>
+
+ @param xDest
+ a destination storage this storage must be copied to.
+
+ @throws ::com::sun::star::embed::InvalidStorageException
+ this storage is in invalid state for any reason
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ an illegal argument is provided
+
+ @throws ::com::sun::star::io::IOException
+ in case of io errors during copying
+
+ @throws ::com::sun::star::embed::StorageWrappedTargetException
+ wraps other exception acquired during copying
+ */
+ void copyToStorage( [in] XStorage xDest )
+ raises( ::com::sun::star::embed::InvalidStorageException,
+ ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::io::IOException,
+ ::com::sun::star::embed::StorageWrappedTargetException );
+
+ /** allows to get access to a child stream of the storage.
+
+ <p>
+ In case the stream is open in readonly mode the
+ com::sun::star::io::XStream::getOutputStream()
+ method will return an empty reference.
+ </p>
+
+ @param sStreamName
+ the name of the substream that should be open
+
+ @param nOpenMode
+ a mode the stream should be open in,
+ can be a combination of ElementModes values
+
+ @throws ::com::sun::star::embed::InvalidStorageException
+ this storage is in invalid state for any reason
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ one of provided arguments is illegal
+
+ @throws ::com::sun::star::packages::WrongPasswordException
+ the provided password is wrong
+
+ @throws ::com::sun::star::io::IOException
+ in case of io errors during stream opening
+
+ @throws ::com::sun::star::embed::StorageWrappedTargetException
+ wraps other exceptions
+ */
+ ::com::sun::star::io::XStream openStreamElement(
+ [in] string sStreamName,
+ [in] long nOpenMode )
+ raises( ::com::sun::star::embed::InvalidStorageException,
+ ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::packages::WrongPasswordException,
+ ::com::sun::star::io::IOException,
+ ::com::sun::star::embed::StorageWrappedTargetException );
+
+ /** allows to get access to a child encrypted stream with password.
+
+ <p>
+ If storage does not allow any encryption this method will always throw
+ com::sun::star::packages::NoEncryptionException.
+ </p>
+
+ <p>
+ In case the stream is open in readonly mode the
+ com::sun::star::io::XStream::getOutputStream()
+ method will return an empty reference.
+ </p>
+
+ @param sStreamName
+ the name of the substream that should be open
+
+ @param nOpenMode
+ a mode the stream should be open in,
+ can be a combination of ElementModes values
+
+ @param sPassword
+ this parameter allows to specify a reading password for the
+ stream, the password must be a correct one, otherwise an
+ exception will be thrown
+
+ @throws ::com::sun::star::embed::InvalidStorageException
+ this storage is in invalid state for any reason
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ one of provided arguments is illegal
+
+ @throws ::com::sun::star::packages::NoEncryptionException
+ the stream is not encrypted
+
+ @throws ::com::sun::star::packages::WrongPasswordException
+ the provided password is wrong
+
+ @throws ::com::sun::star::io::IOException
+ in case of io errors during stream opening
+
+ @throws ::com::sun::star::embed::StorageWrappedTargetException
+ wraps other exceptions
+ */
+ ::com::sun::star::io::XStream openEncryptedStreamElement(
+ [in] string sStreamName,
+ [in] long nOpenMode,
+ [in] string sPassword )
+ raises( ::com::sun::star::embed::InvalidStorageException,
+ ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::packages::NoEncryptionException,
+ ::com::sun::star::packages::WrongPasswordException,
+ ::com::sun::star::io::IOException,
+ ::com::sun::star::embed::StorageWrappedTargetException );
+
+ /** allows to get access to a child storage.
+
+ <p>
+ The opened substorage must support specified in "nOpenMode" access
+ modes. It can support "read" mode in addition. But any child element
+ can support one of those modes only in case this mode is supported by
+ parent storage.
+ </p>
+
+ @param sStorName
+ the name of the storage that should be open
+
+ @param nOpenMode
+ a mode the storage should be open in
+
+ @throws ::com::sun::star::embed::InvalidStorageException
+ this storage is in invalid state for any reason
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ one of provided arguments is illegal
+
+ @throws ::com::sun::star::io::IOException
+ in case of io errors during stream opening
+
+ @throws ::com::sun::star::embed::StorageWrappedTargetException
+ wraps other exceptions
+
+ */
+ XStorage openStorageElement( [in] string sStorName,
+ [in] long nOpenMode )
+ raises( ::com::sun::star::embed::InvalidStorageException,
+ ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::io::IOException,
+ ::com::sun::star::embed::StorageWrappedTargetException );
+
+ /** allows to get readonly copy of a child stream of the storage.
+
+ <p>
+ The stream is open in readonly mode so the
+ com::sun::star::io::XStream::getOutputStream()
+ method will return an empty reference.
+ </p>
+
+ @param sStreamName
+ the name of the substream that should be copied
+
+ @throws ::com::sun::star::embed::InvalidStorageException
+ this storage is in invalid state for any reason
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ one of provided arguments is illegal
+
+ @throws ::com::sun::star::packages::WrongPasswordException
+ the provided password is wrong
+
+ @throws ::com::sun::star::io::IOException
+ in case of io errors during stream opening
+
+ @throws ::com::sun::star::embed::StorageWrappedTargetException
+ wraps other exceptions
+ */
+ ::com::sun::star::io::XStream cloneStreamElement( [in] string sStreamName )
+ raises( ::com::sun::star::embed::InvalidStorageException,
+ ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::packages::WrongPasswordException,
+ ::com::sun::star::io::IOException,
+ ::com::sun::star::embed::StorageWrappedTargetException );
+
+ /** allows to get readonly copy of a child encrypted stream with password.
+
+ <p>
+ If storage does not allow any encryption this method will always throw
+ com::sun::star::packages::NoEncryptionException.
+ </p>
+
+ <p>
+ The stream is open in readonly mode so the
+ com::sun::star::io::XStream::getOutputStream()
+ method will return an empty reference.
+ </p>
+
+ <p>
+ This method allows to specify reading password for the child stream
+ explicitly.
+ </p>
+
+ @param sStreamName
+ the name of the substream that should be copied
+
+ @param sPassword
+ this parameter allows to specify a reading password for the
+ stream, the password must be a correct one, otherwise an
+ exception will be thrown
+
+ @throws ::com::sun::star::embed::InvalidStorageException
+ this storage is in invalid state for any reason
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ one of provided arguments is illegal
+
+ @throws ::com::sun::star::packages::NoEncryptionException
+ the stream is not encrypted
+
+ @throws ::com::sun::star::packages::WrongPasswordException
+ the provided password is wrong
+
+ @throws ::com::sun::star::io::IOException
+ in case of io errors during stream opening
+
+ @throws ::com::sun::star::embed::StorageWrappedTargetException
+ wraps other exceptions
+ */
+ ::com::sun::star::io::XStream cloneEncryptedStreamElement(
+ [in] string sStreamName,
+ [in] string sPassword )
+ raises( ::com::sun::star::embed::InvalidStorageException,
+ ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::packages::NoEncryptionException,
+ ::com::sun::star::packages::WrongPasswordException,
+ ::com::sun::star::io::IOException,
+ ::com::sun::star::embed::StorageWrappedTargetException );
+
+ /** allows to get copy of this storage at the state of its last commit.
+
+ <p>
+ This method makes sense only for services implementations that allow
+ transaction in the storage.
+ </p>
+
+ @param xTargetStorage
+ the target storage that will be filled in with copy.
+
+ @throws ::com::sun::star::embed::InvalidStorageException
+ this storage is in invalid state for any reason
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ one of provided arguments is illegal
+
+ @throws ::com::sun::star::io::IOException
+ in case of io errors during copying
+
+ @throws ::com::sun::star::embed::StorageWrappedTargetException
+ wraps other exceptions
+
+ */
+ void copyLastCommitTo( [in] XStorage xTargetStorage )
+ raises( ::com::sun::star::embed::InvalidStorageException,
+ ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::io::IOException,
+ ::com::sun::star::embed::StorageWrappedTargetException );
+
+ /** allows to get copy of a child storage at the state of its last commit.
+
+ <p>
+ This method makes sense only for services implementations that allow
+ transaction in the storage.
+ </p>
+
+ @param sStorName
+ the name of the storage that should be copied
+
+ @param xTargetStorage
+ the target storage that will be filled in with copy
+
+ @throws ::com::sun::star::embed::InvalidStorageException
+ this storage is in invalid state for any reason
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ one of provided arguments is illegal
+
+ @throws ::com::sun::star::io::IOException
+ in case of io errors during copying
+
+ @throws ::com::sun::star::embed::StorageWrappedTargetException
+ wraps other exceptions
+
+ */
+ void copyStorageElementLastCommitTo(
+ [in] string sStorName,
+ [in] XStorage xTargetStorage )
+ raises( ::com::sun::star::embed::InvalidStorageException,
+ ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::io::IOException,
+ ::com::sun::star::embed::StorageWrappedTargetException );
+
+ /** allows to check if an element is a child stream with specified name.
+
+ <p>
+ In case there is no child element with such name an exception will be
+ thrown.
+ </p>
+
+ @param sElementName
+ the name of the element to check
+
+ @returns
+ `TRUE` in case the element is a stream
+ `FALSE` - the element is a storage
+
+ @throws ::com::sun::star::container::NoSuchElementException
+ there is no element with such name
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ an illegal argument is provided
+
+ @throws ::com::sun::star::embed::InvalidStorageException
+ this storage is in invalid state for any reason
+
+ */
+ boolean isStreamElement( [in] string sElementName )
+ raises( ::com::sun::star::container::NoSuchElementException,
+ ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::embed::InvalidStorageException );
+
+
+ /** allows to check if an element is a child storage with specified name.
+
+ <p>
+ In case there is no child element with such name an exception will be
+ thrown.
+ </p>
+
+ @param sElementName
+ the name of the element to check
+
+ @returns
+ `TRUE` in case the element is a storage
+ `FALSE` - the element is a stream
+
+ @throws ::com::sun::star::container::NoSuchElementException
+ there is no element with such name
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ an illegal argument is provided
+
+ @throws ::com::sun::star::embed::InvalidStorageException
+ this storage is in invalid state for any reason
+
+ */
+ boolean isStorageElement( [in] string sElementName )
+ raises( ::com::sun::star::container::NoSuchElementException,
+ ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::embed::InvalidStorageException );
+
+ /** removes an element from a storage.
+
+ @param sElementName
+ the name of the element to remove
+
+ @throws ::com::sun::star::embed::InvalidStorageException
+ this storage is in invalid state for any reason
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ an illegal argument is provided
+
+ @throws ::com::sun::star::container::NoSuchElementException
+ there is no element with such name
+
+ @throws ::com::sun::star::io::IOException
+ in case of io errors during removing
+
+ @throws ::com::sun::star::embed::StorageWrappedTargetException
+ wraps other exceptions
+
+ */
+ void removeElement( [in] string sElementName )
+ raises( ::com::sun::star::embed::InvalidStorageException,
+ ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::container::NoSuchElementException,
+ ::com::sun::star::io::IOException,
+ ::com::sun::star::embed::StorageWrappedTargetException );
+
+ /** renames an element in a storage.
+
+ @param sElementName
+ the old name of the element to rename
+
+ @param sNewName
+ the new name of the element to rename
+
+ @throws ::com::sun::star::embed::InvalidStorageException
+ this storage is in invalid state for any reason
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ an illegal argument is provided
+
+ @throws ::com::sun::star::container::NoSuchElementException
+ there is no element with old name in this storage
+
+ @throws ::com::sun::star::container::ElementExistException
+ an element with new name already exists in this storage
+
+ @throws ::com::sun::star::io::IOException
+ in case of io errors during renaming
+
+ @throws ::com::sun::star::embed::StorageWrappedTargetException
+ wraps other exceptions
+
+ */
+ void renameElement( [in] string sElementName, [in] string sNewName )
+ raises( ::com::sun::star::embed::InvalidStorageException,
+ ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::container::NoSuchElementException,
+ ::com::sun::star::container::ElementExistException,
+ ::com::sun::star::io::IOException,
+ ::com::sun::star::embed::StorageWrappedTargetException );
+
+ /** allows to copy an entry from one storage to another.
+
+ <p>
+ If target element supports transacted mode it must be committed by this
+ method after successful copying.
+ </p>
+
+ @param sElementName
+ the name of the element in this storage
+
+ @param xDest
+ a destination storage
+
+ @param sNewName
+ the name of the result element in destination storage
+
+ @throws ::com::sun::star::embed::InvalidStorageException
+ this storage is in invalid state for any reason
+
+ @throws ::com::sun::star::container::NoSuchElementException
+ there is no specified source element in this storage
+
+ @throws ::com::sun::star::container::ElementExistException
+ an element with specified destination name already exists in destination storage
+
+ @throws ::com::sun::star::io::IOException
+ in case of io errors during copying
+
+ @throws ::com::sun::star::embed::StorageWrappedTargetException
+ wraps other exceptions
+
+ */
+ void copyElementTo(
+ [in] string sElementName,
+ [in] XStorage xDest,
+ [in] string sNewName )
+ raises( ::com::sun::star::embed::InvalidStorageException,
+ ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::container::NoSuchElementException,
+ ::com::sun::star::container::ElementExistException,
+ ::com::sun::star::io::IOException,
+ ::com::sun::star::embed::StorageWrappedTargetException );
+
+ /** allows to move an entry from one storage to another.
+
+ <p>
+ If target element supports transacted mode it must be committed by this
+ method after successful moving.
+ </p>
+
+ @param sElementName
+ the name of the element in this storage
+
+ @param xDest
+ a destination storage
+
+ @param sNewName
+ the name of the result element in destination storage
+
+ @throws ::com::sun::star::embed::InvalidStorageException
+ this storage is in invalid state for any reason
+
+ @throws ::com::sun::star::container::NoSuchElementException
+ there is no specified source element in this storage
+
+ @throws ::com::sun::star::container::ElementExistException
+ an element with specified destination name already exists in destination storage
+
+ @throws ::com::sun::star::io::IOException
+ in case of io errors during moving
+
+ @throws ::com::sun::star::embed::StorageWrappedTargetException
+ wraps other exceptions
+
+ */
+ void moveElementTo(
+ [in] string sElementName,
+ [in] XStorage xDest,
+ [in] string sNewName )
+ raises( ::com::sun::star::embed::InvalidStorageException,
+ ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::container::NoSuchElementException,
+ ::com::sun::star::container::ElementExistException,
+ ::com::sun::star::io::IOException,
+ ::com::sun::star::embed::StorageWrappedTargetException );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/XStorage2.idl b/offapi/com/sun/star/embed/XStorage2.idl
new file mode 100644
index 000000000..00b012437
--- /dev/null
+++ b/offapi/com/sun/star/embed/XStorage2.idl
@@ -0,0 +1,148 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_embed_XStorage2_idl__
+#define __com_sun_star_embed_XStorage2_idl__
+
+#include <com/sun/star/embed/XStorage.idl>
+#include <com/sun/star/beans/NamedValue.idl>
+
+
+
+ module com { module sun { module star { module embed {
+
+/** This interface extends the base XStorage interface.
+ */
+interface XStorage2 : XStorage
+{
+ /** allows to get access to a child encrypted stream with EncryptionData.
+
+ <p>
+ If storage does not allow any encryption this method will always throw
+ com::sun::star::packages::NoEncryptionException.
+ </p>
+
+ <p>
+ In case the stream is open in readonly mode the
+ com::sun::star::io::XStream::getOutputStream()
+ method will return an empty reference.
+ </p>
+
+ @param sStreamName
+ the name of the substream that should be open
+
+ @param nOpenMode
+ a mode the stream should be open in,
+ can be a combination of ElementModes values
+
+ @param aEncryptionData
+ this parameter allows to specify an encryption data to decrypt the
+ stream, the encryption data must be correct, otherwise an
+ exception will be thrown
+
+ @throws ::com::sun::star::embed::InvalidStorageException
+ this storage is in invalid state for any reason
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ one of provided arguments is illegal
+
+ @throws ::com::sun::star::packages::NoEncryptionException
+ the stream is not encrypted
+
+ @throws ::com::sun::star::packages::WrongPasswordException
+ the provided encryption data is wrong
+
+ @throws ::com::sun::star::io::IOException
+ in case of io errors during stream opening
+
+ @throws ::com::sun::star::embed::StorageWrappedTargetException
+ wraps other exceptions
+ */
+ ::com::sun::star::io::XStream openEncryptedStream(
+ [in] string sStreamName,
+ [in] long nOpenMode,
+ [in] sequence< ::com::sun::star::beans::NamedValue > aEncryptionData )
+ raises( ::com::sun::star::embed::InvalidStorageException,
+ ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::packages::NoEncryptionException,
+ ::com::sun::star::packages::WrongPasswordException,
+ ::com::sun::star::io::IOException,
+ ::com::sun::star::embed::StorageWrappedTargetException );
+
+ /** allows to get readonly copy of a child encrypted stream with encryption
+ data.
+
+ <p>
+ If storage does not allow any encryption this method will always throw
+ com::sun::star::packages::NoEncryptionException.
+ </p>
+
+ <p>
+ The stream is open in readonly mode so the
+ com::sun::star::io::XStream::getOutputStream()
+ method will return an empty reference.
+ </p>
+
+ <p>
+ This method allows to specify encryption data for the child stream
+ explicitly.
+ </p>
+
+ @param sStreamName
+ the name of the substream that should be copied
+
+ @param aEncryptionData
+ this parameter allows to specify an encryption data for the
+ stream, the encryption data must be correct, otherwise an
+ exception will be thrown
+
+ @throws ::com::sun::star::embed::InvalidStorageException
+ this storage is in invalid state for any reason
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ one of provided arguments is illegal
+
+ @throws ::com::sun::star::packages::NoEncryptionException
+ the stream is not encrypted
+
+ @throws ::com::sun::star::packages::WrongPasswordException
+ the provided encryption data is wrong
+
+ @throws ::com::sun::star::io::IOException
+ in case of io errors during stream opening
+
+ @throws ::com::sun::star::embed::StorageWrappedTargetException
+ wraps other exceptions
+ */
+ ::com::sun::star::io::XStream cloneEncryptedStream(
+ [in] string sStreamName,
+ [in] sequence< ::com::sun::star::beans::NamedValue > aEncryptionData )
+ raises( ::com::sun::star::embed::InvalidStorageException,
+ ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::packages::NoEncryptionException,
+ ::com::sun::star::packages::WrongPasswordException,
+ ::com::sun::star::io::IOException,
+ ::com::sun::star::embed::StorageWrappedTargetException );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/XStorageRawAccess.idl b/offapi/com/sun/star/embed/XStorageRawAccess.idl
new file mode 100644
index 000000000..c9c27a844
--- /dev/null
+++ b/offapi/com/sun/star/embed/XStorageRawAccess.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_embed_XStorageRawAccess_idl__
+#define __com_sun_star_embed_XStorageRawAccess_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/io/XStream.idl>
+#include <com/sun/star/io/XInputStream.idl>
+#include <com/sun/star/io/IOException.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/embed/StorageWrappedTargetException.idl>
+#include <com/sun/star/embed/InvalidStorageException.idl>
+#include <com/sun/star/container/NoSuchElementException.idl>
+#include <com/sun/star/container/ElementExistException.idl>
+#include <com/sun/star/packages/NoEncryptionException.idl>
+#include <com/sun/star/packages/NoRawFormatException.idl>
+
+
+
+ module com { module sun { module star { module embed {
+
+/** This interface represents main storage functionality.
+ */
+published interface XStorageRawAccess
+{
+ /** allows to get a plain raw stream representing a package stream.
+
+ <p>
+ This method returns a stream from the package as it is stored there,
+ without any decompression/description and etc. This method can be
+ helpful to check file consistency, for example by signing.
+ </p>
+
+ @returns
+ the raw representation of encrypted stream with all the data
+ required to copy the stream without information loss
+
+ @param sStreamName
+ the name of the substream that should be open
+
+ @throws ::com::sun::star::embed::InvalidStorageException
+ this storage is in invalid state for any reason
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ one of provided arguments is illegal
+
+ @throws ::com::sun::star::container::NoSuchElementException
+ there is no element with specified name
+
+ @throws ::com::sun::star::io::IOException
+ in case of io errors during stream opening
+
+ @throws ::com::sun::star::embed::StorageWrappedTargetException
+ wraps other exceptions
+ */
+ ::com::sun::star::io::XInputStream getPlainRawStreamElement(
+ [in] string sStreamName )
+ raises( ::com::sun::star::embed::InvalidStorageException,
+ ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::container::NoSuchElementException,
+ ::com::sun::star::io::IOException,
+ ::com::sun::star::embed::StorageWrappedTargetException );
+
+ /** allows to get a raw stream representing encrypted stream with header.
+
+ <p>
+ This method allows to transport encrypted streams without decryption.
+ Mainly this method is introduced to allow to copy one encrypted
+ storage stream to another without decryption. It is not recommended to
+ use this method outside of storage implementation since different
+ storages implementation could have different encryption format. If the
+ method is used outside of storage implementation the user code is
+ responsible to get sure that the raw format of source and target
+ storages is the same.
+ </p>
+
+ <p>
+ The difference of this method from the previous one is that it handles
+ only encrypted streams. The contents of returned by these methods
+ streams can differ for the same entry, since this method can add
+ additional data into the stream to allow successful insertion.
+ </p>
+
+ @param sStreamName
+ the name of the substream that should be open
+
+ @throws ::com::sun::star::embed::InvalidStorageException
+ this storage is in invalid state for any reason
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ one of provided arguments is illegal
+
+ @throws ::com::sun::star::packages::NoEncryptionException
+ the stream is not an encrypted one
+
+ @throws ::com::sun::star::container::NoSuchElementException
+ there is no element with specified name
+
+ @throws ::com::sun::star::io::IOException
+ in case of io errors during stream opening
+
+ @throws ::com::sun::star::embed::StorageWrappedTargetException
+ wraps other exceptions
+ */
+ ::com::sun::star::io::XInputStream getRawEncrStreamElement(
+ [in] string sStreamName )
+ raises( ::com::sun::star::embed::InvalidStorageException,
+ ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::packages::NoEncryptionException,
+ ::com::sun::star::container::NoSuchElementException,
+ ::com::sun::star::io::IOException,
+ ::com::sun::star::embed::StorageWrappedTargetException );
+
+ /** allows to insert a raw stream representing encrypted stream with
+ header.
+
+ <p>
+ This method allows to insert a stream retrieved by
+ XStorageRawAccess::getRawEncrStreamElement() into a
+ storage.
+ </p>
+
+ <p>
+ This method allows to transport encrypted streams without decryption.
+ Mainly this method is introduced to allow to copy one encrypted
+ storage stream to another without decryption. It is not recommended to
+ use this method outside of storage implementation since different
+ storages implementation could have different encryption format.
+ </p>
+
+ @param sStreamName
+ the name of the substream that should be open
+
+ @param xInStream
+ a raw stream representing encrypted stream
+
+ @throws ::com::sun::star::embed::InvalidStorageException
+ this storage is in invalid state for any reason
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ one of provided arguments is illegal
+
+ @throws ::com::sun::star::packages::NoRawFormatException
+ the stream is not one of raw package stream format
+
+ @throws ::com::sun::star::container::ElementExistException
+ an element with specified name already exists
+
+ @throws ::com::sun::star::io::IOException
+ in case of io errors during stream opening
+
+ @throws ::com::sun::star::embed::StorageWrappedTargetException
+ wraps other exceptions
+ */
+ void insertRawEncrStreamElement(
+ [in] string sStreamName,
+ [in] ::com::sun::star::io::XInputStream xInStream )
+ raises( ::com::sun::star::embed::InvalidStorageException,
+ ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::packages::NoRawFormatException,
+ ::com::sun::star::container::ElementExistException,
+ ::com::sun::star::io::IOException,
+ ::com::sun::star::embed::StorageWrappedTargetException );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/XTransactedObject.idl b/offapi/com/sun/star/embed/XTransactedObject.idl
new file mode 100644
index 000000000..684ff9bf1
--- /dev/null
+++ b/offapi/com/sun/star/embed/XTransactedObject.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_embed_XTransactedObject_idl__
+#define __com_sun_star_embed_XTransactedObject_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/io/IOException.idl>
+#include <com/sun/star/lang/WrappedTargetException.idl>
+
+
+ module com { module sun { module star { module embed {
+
+/** allows transacted access to an object.
+ */
+published interface XTransactedObject: com::sun::star::uno::XInterface
+{
+ /** commits the changes made for object.
+ */
+ void commit()
+ raises( ::com::sun::star::io::IOException,
+ ::com::sun::star::lang::WrappedTargetException );
+
+ /** removes all the changes made for the object after last commit or
+ loading.
+ */
+ void revert()
+ raises( ::com::sun::star::io::IOException,
+ ::com::sun::star::lang::WrappedTargetException );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/XTransactionBroadcaster.idl b/offapi/com/sun/star/embed/XTransactionBroadcaster.idl
new file mode 100644
index 000000000..918d09686
--- /dev/null
+++ b/offapi/com/sun/star/embed/XTransactionBroadcaster.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_embed_XTransactionBroadcaster_idl__
+#define __com_sun_star_embed_XTransactionBroadcaster_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/embed/XTransactionListener.idl>
+
+
+
+module com { module sun { module star { module embed {
+
+
+/** broadcasts message in case transacted object is committed or reverted.
+ */
+published interface XTransactionBroadcaster: com::sun::star::uno::XInterface
+{
+ /** adds the specified listener to receive events about commits and
+ reverts.
+ */
+ void addTransactionListener(
+ [in] com::sun::star::embed::XTransactionListener aListener );
+
+ /** removes the specified listener.
+ */
+ void removeTransactionListener(
+ [in] com::sun::star::embed::XTransactionListener aListener );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/XTransactionListener.idl b/offapi/com/sun/star/embed/XTransactionListener.idl
new file mode 100644
index 000000000..6fa6f9cbc
--- /dev/null
+++ b/offapi/com/sun/star/embed/XTransactionListener.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_embed_XTransactionListener_idl__
+#define __com_sun_star_embed_XTransactionListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+
+#include <com/sun/star/lang/EventObject.idl>
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+module com { module sun { module star { module embed {
+
+
+/** makes it possible to receive events when a transacted object is committed
+ or reverted.
+ */
+published interface XTransactionListener: com::sun::star::lang::XEventListener
+{
+ /** is called just before the object is committed.
+ */
+ void preCommit( [in] com::sun::star::lang::EventObject aEvent )
+ raises( ::com::sun::star::uno::Exception );
+
+ /** is called after the object is committed.
+ */
+ void commited( [in] com::sun::star::lang::EventObject aEvent );
+
+ /** is called just before the object is reverted.
+ */
+ void preRevert( [in] com::sun::star::lang::EventObject aEvent )
+ raises( ::com::sun::star::uno::Exception );
+
+ /** is called after the object is reverted.
+ */
+ void reverted( [in] com::sun::star::lang::EventObject aEvent );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/XTransferableSupplier.idl b/offapi/com/sun/star/embed/XTransferableSupplier.idl
new file mode 100644
index 000000000..9de5edaef
--- /dev/null
+++ b/offapi/com/sun/star/embed/XTransferableSupplier.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_embed_XTransferableSupplier_idl__
+#define __com_sun_star_embed_XTransferableSupplier_idl__
+
+#include <com/sun/star/datatransfer/XTransferable.idl>
+
+
+ module com { module sun { module star { module embed {
+
+/** provide access to a
+ com::sun::star::datatransfer::XTransferable
+ implementation from the object.
+ */
+published interface XTransferableSupplier: com::sun::star::uno::XInterface
+{
+ /** allows to get access to
+ com::sun::star::datatransfer::XTransferable
+ implementation.
+
+ @return
+ com::sun::star::datatransfer::XTransferable
+ implementation
+ */
+ ::com::sun::star::datatransfer::XTransferable getTransferable();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/XVisualObject.idl b/offapi/com/sun/star/embed/XVisualObject.idl
new file mode 100644
index 000000000..81536a92b
--- /dev/null
+++ b/offapi/com/sun/star/embed/XVisualObject.idl
@@ -0,0 +1,151 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_embed_XVisualObject_idl__
+#define __com_sun_star_embed_XVisualObject_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/awt/Size.idl>
+#include <com/sun/star/embed/VisualRepresentation.idl>
+#include <com/sun/star/embed/WrongStateException.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+
+ module com { module sun { module star { module embed {
+
+/** represents common visualization functionality for embedded objects.
+ */
+published interface XVisualObject: ::com::sun::star::uno::XInterface
+{
+ /** sets the size of object's visual area.
+
+ <p>
+ The size must be provided in logical units according to map mode the
+ object communicates in.
+ </p>
+
+ <p>
+ If an object is inplace- or ui-active the method must not initiate
+ repainting itself.
+ </p>
+
+ @param nAspect
+ the aspect specifying the form of object representation.
+ Can take values from Aspects constant set.
+
+ @param aSize
+ the new size of the visual area
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ one of arguments is illegal
+
+ @throws ::com::sun::star::embed::WrongStateException
+ the object is in wrong state
+
+ @throws ::com::sun::star::uno::Exception
+ the object failed to resize
+ */
+ void setVisualAreaSize( [in] hyper nAspect,
+ [in] ::com::sun::star::awt::Size aSize )
+ raises( ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::embed::WrongStateException,
+ ::com::sun::star::uno::Exception );
+
+ /** gets the size of object's visual area.
+
+ <p>
+ The size must be provided in logical units according to map mode the
+ object communicates in.
+ </p>
+
+ @param nAspect
+ the aspect specifying the form of object representation.
+ Can take values from Aspects constant set.
+
+ @return
+ the size of visual area
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ one of arguments is illegal
+
+ @throws ::com::sun::star::embed::WrongStateException
+ the object is in wrong state
+ */
+ ::com::sun::star::awt::Size getVisualAreaSize( [in] hyper nAspect )
+ raises( ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::embed::WrongStateException,
+ ::com::sun::star::uno::Exception );
+
+ /** retrieves visual representation of the object in preferable format.
+
+ <p>
+ If the object persistence entry contains cached visual representation
+ then it can be retrieved by using this method even in loaded state.
+ </p>
+
+ @param nAspect
+ the aspect the representation is requested for.
+ Can take values from Aspects constant set.
+
+ @return
+ the visual representation of the object in the default format and
+ the format
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ one of arguments is illegal
+
+ @throws ::com::sun::star::embed::WrongStateException
+ the object is in wrong state
+
+ @throws ::com::sun::star::uno::Exception
+ in case of problems
+
+ */
+ VisualRepresentation getPreferredVisualRepresentation( [in] hyper nAspect )
+ raises( ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::embed::WrongStateException,
+ ::com::sun::star::uno::Exception );
+
+
+ /** retrieves map mode the object communicates in.
+
+ @param nAspect
+ the aspect the map mode is requested for.
+ Can take values from Aspects constant set.
+
+ @return
+ the map mode the object communicates in, it can take values from
+ EmbedMapUnits constant
+
+ @throws ::com::sun::star::embed::WrongStateException
+ the object is in wrong state
+
+ @throws ::com::sun::star::uno::Exception
+ in case of problems
+ */
+ long getMapUnit( [in] hyper nAspect )
+ raises( ::com::sun::star::uno::Exception );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/embed/XWindowSupplier.idl b/offapi/com/sun/star/embed/XWindowSupplier.idl
new file mode 100644
index 000000000..ab18b1b19
--- /dev/null
+++ b/offapi/com/sun/star/embed/XWindowSupplier.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_embed_XWindowSupplier_idl__
+#define __com_sun_star_embed_XWindowSupplier_idl__
+
+#include <com/sun/star/awt/XWindow.idl>
+
+
+ module com { module sun { module star { module embed {
+
+/** provides access to a VCL window implementation.
+ */
+published interface XWindowSupplier: com::sun::star::uno::XInterface
+{
+ /** allows to get access to a VCL window implementation.
+
+ @return
+ VCL window implementation
+ */
+ ::com::sun::star::awt::XWindow getWindow();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/ControlFontDialog.idl b/offapi/com/sun/star/form/ControlFontDialog.idl
new file mode 100644
index 000000000..7936f6110
--- /dev/null
+++ b/offapi/com/sun/star/form/ControlFontDialog.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_form_ControlFontDialog_idl__
+#define __com_sun_star_form_ControlFontDialog_idl__
+
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/ui/dialogs/XExecutableDialog.idl>
+
+
+
+module com { module sun { module star { module form {
+
+
+/**
+ @since LibreOffice 4.1
+ */
+published service ControlFontDialog : com::sun::star::ui::dialogs::XExecutableDialog
+{
+ createWithGridModel([in] com::sun::star::beans::XPropertySet GridModel);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/DataAwareControlModel.idl b/offapi/com/sun/star/form/DataAwareControlModel.idl
new file mode 100644
index 000000000..d2d40017f
--- /dev/null
+++ b/offapi/com/sun/star/form/DataAwareControlModel.idl
@@ -0,0 +1,173 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_form_DataAwareControlModel_idl__
+#define __com_sun_star_form_DataAwareControlModel_idl__
+
+#include <com/sun/star/form/FormControlModel.idl>
+
+#include <com/sun/star/form/XBoundComponent.idl>
+
+#include <com/sun/star/form/XLoadListener.idl>
+
+#include <com/sun/star/form/XReset.idl>
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+
+
+ module com { module sun { module star { module form {
+
+
+/** is an abstract service for specialized FormControlModels
+ which are data aware and thus can be bound to a data source.
+
+ <p>The connection between a data-aware control model and a form whose data the
+ control should display is made by parentship relations. The parent of a data-aware
+ control model (see com::sun::star::container::XChild, inherited
+ via the FormControlModel and FormComponent services) has
+ always to be a com::sun::star::form::component::DataForm.</p>
+ */
+published service DataAwareControlModel
+{
+ service com::sun::star::form::FormControlModel;
+
+ /** makes it possible to transfer the data of the model to the connected data field.
+ <p>
+ This interface is optional, if a component doesn't support it, it has to forward
+ the changes of its value to the field it is connected to immediately (means whenever a user
+ interaction changes it's content).
+ </p>
+ */
+ [optional] interface com::sun::star::form::XBoundComponent;
+
+
+ /** must be implemented in order to recognize when the containing form of the model connects
+ to its data source (loads its data). After loading the form, the model may bind to its
+ related field source.<br/>
+ This interface will seldom be used directly from outside.
+ */
+ interface com::sun::star::form::XLoadListener;
+
+
+ /** Each DataAwareControlModel should be resettable for setting default values.
+
+ <p>In the context of a control model which is data-aware, the semantics of <em>default value</em>
+ (see XReset) is as follows:<br/>
+ If (and only if) the control is valid bound to a column of its com::sun::star::form::component::DataForm, and the form
+ is not positioned on a new record (see com::sun::star::sdb::RowSet::IsNew), then
+ XReset::reset() does not reset the model's value to its default value, but uses the
+ underlying column value.<br/>
+ In all other cases, the model is reset to the default value as specified by the respective property.</p>
+
+ <p>For an example, have a look at the com::sun::star::form::component::TextField. It inherits
+ the com::sun::star::awt::UnoControlEditModel::Text property from the underlying
+ service, and additionally specifies the com::sun::star::form::component::TextField::DefaultText.
+ </p>
+
+ <p>In the context of a com::sun::star::form::component::DataForm, controls are
+ automatically reset when one of the following applies
+ <ul><li>The form is reset by invoking its XReset interface.</li>
+ <li>The form moves to a new record.</li>
+ <li>The changes in the current record of the form are undone</li>
+ </ul>
+ </p>
+ */
+ interface com::sun::star::form::XReset;
+
+
+ /** specifies the name of the bound database field.
+
+ <p>This property makes sense in the <em>context</em> of the control model only. Normally, a control model
+ is a child of a com::sun::star::form::component::DataForm, which is bound
+ to a higher level object such as a table or query - more general, a result set.<br/>
+ This member here describes the column of this result set which the control should act for.</p>
+
+ <p>Not every control model can be bound to every database column. Usually, super services of the
+ DataAwareControlModel restrict the column types they can be used with.</p>
+
+ @see DataAwareControlModel::BoundField
+ */
+ [property] string DataField;
+
+ /** determines whether or not input into this field is required, when it is actually bound to a database field.
+
+ <p>If this property is set to `FALSE`, then the form runtime will not check the control/model for
+ `NULL` values before submitting data to the database. Usually, if a control model is bound to
+ a database field which cannot be `NULL`, and the model itself does not have a value, then the database
+ update is prevented, showing an error message to the user. To disable this behavior on a per-control
+ basis, use the <code>InputRequired</code> property.</p>
+
+ @since OOo 3.1
+ */
+ [optional, property] boolean InputRequired;
+
+
+ /** references to the cursor field to which the control is bound.
+ <p>Applies only if the form the control model belongs to is loaded and the control is valid bound.
+ The referenced field supports the com::sun::star::sdb::Column service.
+ </p>
+ @see DataAwareControlModel::DataField
+ */
+ [readonly, property] com::sun::star::beans::XPropertySet BoundField;
+
+
+ /** references to a control model within the same document which should be used as a label.
+ <p>Any user interface action which needs to refer to the control is assumed to use this
+ property. <br/>
+ A very common design method for forms is to group a data aware control with a label control,
+ with the latter describing the content of the former. For instance, you may have a
+ com::sun::star::form::component::TextField, which is bound to the e-mail
+ column of your data source. Then you will probably add a
+ com::sun::star::form::component::FixedText whose label is "E-Mail",
+ and associate it with the TextField by setting it as #LabelControl.<br/>
+ Now if you imagine a component offering data search in a form, this component will examine
+ the #LabelControl property, find the com::sun::star::form::component::FixedText,
+ examine it's label, and use this label to refer to the com::sun::star::form::component::TextField.
+ </p>
+ <p>When setting the property, a number of constraints apply:
+ <ul>
+ <li>The object which is to be set has to support the following interfaces
+ <ul><li>com::sun::star::awt::XControlModel</li>
+ <li>com::sun::star::lang::XServiceInfo</li>
+ <li>com::sun::star::beans::XPropertySet</li>
+ <li>com::sun::star::container::XChild</li>
+ </ul>
+ </li>
+ <li>It has to be a part of the same document as the model who's property is to be modified.</li>
+ <li>Additionally, the support of a special service, indicating that the model is of the right type,
+ is required. Which kind of service is in the request depends on the type of the control model.<br/>
+
+ For instance, text fields (com::sun::star::form::component::TextField) can be
+ labeled by label controls only (com::sun::star::form::component::FixedText),
+ and radio buttons (com::sun::star::form::component::RadioButton) can be labeled
+ by group boxes (com::sun::star::form::component::GroupBox) only.
+ </li>
+ </ul>
+ </p>
+ */
+ [property] com::sun::star::beans::XPropertySet LabelControl;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/DataSelectionType.idl b/offapi/com/sun/star/form/DataSelectionType.idl
new file mode 100644
index 000000000..ab8acb907
--- /dev/null
+++ b/offapi/com/sun/star/form/DataSelectionType.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_form_DataSelectionType_idl__
+#define __com_sun_star_form_DataSelectionType_idl__
+
+
+
+ module com { module sun { module star { module form {
+
+/** describes the type of datasource used for a form.
+ <p>Please do <em><b>not</b></em> use anymore, this enum is deprecated.
+ @deprecated
+ */
+published enum DataSelectionType
+{
+ TABLE,
+ QUERY,
+ SQL,
+ SQLPASSTHROUGH
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/DatabaseDeleteEvent.idl b/offapi/com/sun/star/form/DatabaseDeleteEvent.idl
new file mode 100644
index 000000000..cbcdbd8b1
--- /dev/null
+++ b/offapi/com/sun/star/form/DatabaseDeleteEvent.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_form_DatabaseDeleteEvent_idl__
+#define __com_sun_star_form_DatabaseDeleteEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+
+
+
+ module com { module sun { module star { module form {
+
+
+/** is fired if a database record is going to be deleted.
+ <p>Please do <em><b>not</b></em> use anymore, this struct is deprecated.
+ @deprecated
+ */
+published struct DatabaseDeleteEvent: com::sun::star::lang::EventObject
+{
+ sequence<any> Bookmarks;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/DatabaseParameterEvent.idl b/offapi/com/sun/star/form/DatabaseParameterEvent.idl
new file mode 100644
index 000000000..344fa2543
--- /dev/null
+++ b/offapi/com/sun/star/form/DatabaseParameterEvent.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_form_DatabaseParameterEvent_idl__
+#define __com_sun_star_form_DatabaseParameterEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+
+#include <com/sun/star/container/XIndexAccess.idl>
+
+
+
+ module com { module sun { module star { module form {
+
+
+/** is fired if values for parameters are needed.
+ */
+published struct DatabaseParameterEvent: com::sun::star::lang::EventObject
+{
+ /** specifies the list of parameters which are required for opening a result set.
+
+ <p>Usually, a com::sun::star::form::component::DataForm fires this
+ event when loading the form requires parameters to be filled in.</p>
+
+ <p>Every parameter object supports the com::sun::star::beans::XPropertySet
+ interface, and at least the properties <em>Name</em> and <em>Value</em></p>
+
+ @see com::sun::star::sdb::RowSet
+ @see com::sun::star::form::component::DataForm
+ */
+ com::sun::star::container::XIndexAccess Parameters;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/ErrorEvent.idl b/offapi/com/sun/star/form/ErrorEvent.idl
new file mode 100644
index 000000000..757591e0e
--- /dev/null
+++ b/offapi/com/sun/star/form/ErrorEvent.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_form_ErrorEvent_idl__
+#define __com_sun_star_form_ErrorEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+
+
+
+ module com { module sun { module star { module form {
+
+/** occurs in case of fired database exceptions triggered by
+ a database form.
+ <p>Please do <em><b>not</b></em> use anymore, this struct is deprecated.
+ @deprecated
+ */
+published struct ErrorEvent: com::sun::star::lang::EventObject
+{
+ any Reason;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/FormButtonType.idl b/offapi/com/sun/star/form/FormButtonType.idl
new file mode 100644
index 000000000..33ad392c8
--- /dev/null
+++ b/offapi/com/sun/star/form/FormButtonType.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_form_FormButtonType_idl__
+#define __com_sun_star_form_FormButtonType_idl__
+
+
+
+ module com { module sun { module star { module form {
+
+
+/** specifies the action to execute when a button is pressed.
+ @see com::sun::star::form::component::CommandButton
+ */
+published enum FormButtonType
+{
+
+ /** requires the button to act like a common push button, means no special action is triggered.
+ */
+ PUSH,
+
+
+ /** When the button is clicked, it performs a submit on its containing form.
+ */
+ SUBMIT,
+
+
+ /** When the button is clicked, it performs a reset on its containing form.
+ */
+ RESET,
+
+
+ /** When the button is clicked, a URL set for the button is opened.
+ @see com::sun::star::form::component::CommandButton::TargetURL
+ @see com::sun::star::form::component::CommandButton::TargetFrame
+ */
+ URL
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/FormComponent.idl b/offapi/com/sun/star/form/FormComponent.idl
new file mode 100644
index 000000000..e6abc2e04
--- /dev/null
+++ b/offapi/com/sun/star/form/FormComponent.idl
@@ -0,0 +1,104 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_form_FormComponent_idl__
+#define __com_sun_star_form_FormComponent_idl__
+
+#include <com/sun/star/form/XFormComponent.idl>
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/container/XNamed.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/io/XPersistObject.idl>
+#include <com/sun/star/beans/XPropertyBag.idl>
+
+
+
+ module com { module sun { module star { module form {
+
+
+/** specifies a component which can be part of a form.
+
+ @see FormControlModel
+ @see com::sun::star::form::component::Form
+ */
+published service FormComponent
+{
+ /** identifies the component as a candidate for being part of a form.
+ <p>This interface also provides the access to the component's parent.</p>
+ */
+ interface com::sun::star::form::XFormComponent;
+
+
+ /** allows life-time control of form components.
+ */
+ interface com::sun::star::lang::XComponent;
+
+
+ /** Each FormComponent must supply a name for identification.
+ */
+ interface com::sun::star::container::XNamed;
+
+ /** gives access to the properties.
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+
+ /** Each FormComponent must be able to be stored into and read from a stream.
+ */
+ interface com::sun::star::io::XPersistObject;
+
+ /** allows to associate arbitrary properties with the form component
+
+ <p>Every concrete form component - i.e. every service which includes
+ the <code>FormComponent</code> service - has a set of properties which
+ are available as long as the component lives - the so-called <em>static
+ properties</em>.</p>
+
+ <p>Additionally, you can add more properties to the component as needed,
+ using the com::sun::star::beans::XPropertyContainer interface.
+ Those properties are called <em>dynamic properties</em>.</p>
+
+ <p>Dynamic properties are not evaluated by the component itself,
+ nor by the form's runtime environment. They're only remembered and available for
+ use by other instances.</p>
+
+ <p>Note that dynamic properties added to a form component are, by definition,
+ removable. That is, the com::sun::star::beans::PropertyAttribute::REMOVABLE
+ will always be set, even if you do not specify it in the
+ com::sun::star::beans::XPropertyContainer::addProperty() call.</p>
+
+ @since OOo 2.3
+ */
+ [optional] interface com::sun::star::beans::XPropertyBag;
+
+
+ /** the name of the component.
+
+ <p>Note that the name accessed here is the same as when using the
+ com::sun::star::container::XNamed interface.</p>
+ */
+ [property] string Name;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/FormComponentType.idl b/offapi/com/sun/star/form/FormComponentType.idl
new file mode 100644
index 000000000..cc5b361f8
--- /dev/null
+++ b/offapi/com/sun/star/form/FormComponentType.idl
@@ -0,0 +1,131 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_form_FormComponentType_idl__
+#define __com_sun_star_form_FormComponentType_idl__
+
+
+
+ module com { module sun { module star { module form {
+
+
+/** These constants specify the class types used to identify a component.
+ */
+published constants FormComponentType
+{
+
+ /** This generic identifier is for controls which cannot be identified by
+ another specific identifier.
+ */
+ const short CONTROL = 1;
+
+ /** specifies a control that is used to begin, interrupt, or end a process.
+ */
+ const short COMMANDBUTTON = 2;
+
+ /** specifies a control that acts like a radio button. Grouped together, such radio buttons
+ present a set of two or more mutually exclusive choices to the user.
+ */
+ const short RADIOBUTTON = 3;
+
+ /** specifies a control that displays an image that responds to mouse clicks.
+ */
+ const short IMAGEBUTTON = 4;
+
+ /** specifies a control that is used to check or uncheck to turn an option on or off.
+ */
+ const short CHECKBOX = 5;
+
+ /** specifies a control that displays a list from which the user can select one or more items.
+ */
+ const short LISTBOX = 6;
+
+ /** specifies a control that is used when a list box combined with a static text control or an edit
+ control is needed.
+ */
+ const short COMBOBOX = 7;
+
+ /** specifies a control that displays a frame around a group of controls with or without a caption.
+ */
+ const short GROUPBOX = 8;
+
+ /** specifies a control that is a text component that allows for the editing of a single line of text.
+ */
+ const short TEXTFIELD = 9;
+
+ /** specifies a control to display a fixed text, usually used to label other controls.
+ */
+ const short FIXEDTEXT = 10;
+
+ /** is a table like control to display database data.
+ */
+ const short GRIDCONTROL = 11;
+
+ /** specifies a control which can be used to enter text, extended by an (user-startable) file dialog
+ to browse for files.
+ */
+ const short FILECONTROL = 12;
+
+ /** specifies a control that should not be visible.
+ */
+ const short HIDDENCONTROL = 13;
+
+ /** specifies a control to display an image.
+ */
+ const short IMAGECONTROL = 14;
+
+ /** specifies a control to display and edit a date value.
+ */
+ const short DATEFIELD = 15;
+
+ /** specifies a control to display and edit a time value.
+ */
+ const short TIMEFIELD = 16;
+
+ /** specifies a field to display and edit a numeric value.
+ */
+ const short NUMERICFIELD = 17;
+
+ /** specifies a field to display and edit a currency value.
+ */
+ const short CURRENCYFIELD = 18;
+
+ /** specifies a control to display and edit a string according to a pattern.
+ */
+ const short PATTERNFIELD = 19;
+
+ /** specifies a control to display and edit, in the form of a scrollbar, a value from a continuous value range
+ */
+ const short SCROLLBAR = 20;
+
+ /** specifies a control to edit, in the form of a spin field, a value from a continuous range of values
+ */
+ const short SPINBUTTON = 21;
+
+ /** specifies a control which provides controller functionality for the com::sun::star::form::component::DataForm
+ it belongs to, such as functionality to navigate or filter this form.
+ */
+ const short NAVIGATIONBAR = 22;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/FormComponents.idl b/offapi/com/sun/star/form/FormComponents.idl
new file mode 100644
index 000000000..cb1189957
--- /dev/null
+++ b/offapi/com/sun/star/form/FormComponents.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_form_FormComponents_idl__
+#define __com_sun_star_form_FormComponents_idl__
+
+#include <com/sun/star/container/XNameContainer.idl>
+#include <com/sun/star/container/XIndexContainer.idl>
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#include <com/sun/star/container/XContainer.idl>
+#include <com/sun/star/script/XEventAttacherManager.idl>
+
+
+ module com { module sun { module star { module form {
+
+
+/** specifies the capabilities of a collection of FormComponents.
+
+ <p>The collection must provide the possibility of adding and removing
+ components by name and by index. The name of a component is not
+ necessarily unique, so the collection must be able to handle duplicate
+ entry names.</p>
+
+ @see FormComponent
+ */
+published service FormComponents
+{
+ /** allows to register listeners to be notified of changes in the container.
+ */
+ interface com::sun::star::container::XContainer;
+
+ /** allows to add/remove elements by name.
+ */
+ interface com::sun::star::container::XNameContainer;
+
+ /** gives access to the elements by index.
+ */
+ interface com::sun::star::container::XIndexContainer;
+
+ /** creates an enumeration of the elements.
+ */
+ interface com::sun::star::container::XEnumerationAccess;
+
+ /** This interface has to be implemented to supply the scripting environment
+ for the contained components.
+
+ <p>The interface allows managing of scripts associated with dependent components, accessed by index.
+ However, as a client of the FormComponents service, there's no need to bother with
+ the container aspect of the com::sun::star::script::XEventAttacherManager
+ directly. A FormComponents container will automatically synchronize the elements
+ you put into it with the scripting information obtained at the
+ com::sun::star::script::XEventAttacherManager interface.</p>
+
+ <p>For instance, at any time you can obtain the events associated with
+ the <code>n</code><sup>th</sup>
+ element in the form components by calling
+ com::sun::star::script::XEventAttacherManager::getScriptEvents()
+ with parameter <code>n</code>. In particular, this invariant is always met, even after you
+ inserted/removed elements into/from the container.</p>
+ */
+ interface com::sun::star::script::XEventAttacherManager;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/FormControlModel.idl b/offapi/com/sun/star/form/FormControlModel.idl
new file mode 100644
index 000000000..edb04ed68
--- /dev/null
+++ b/offapi/com/sun/star/form/FormControlModel.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_form_FormControlModel_idl__
+#define __com_sun_star_form_FormControlModel_idl__
+
+#include <com/sun/star/awt/UnoControlModel.idl>
+
+#include <com/sun/star/form/FormComponent.idl>
+
+#include <com/sun/star/beans/XFastPropertySet.idl>
+
+#include <com/sun/star/beans/XPropertyState.idl>
+
+
+
+ module com { module sun { module star { module form {
+
+
+/** specifies a control model within a form.
+
+ <p>Note that the model-view-paradigm is used for form controls, too.</p>
+ */
+published service FormControlModel
+{
+ service com::sun::star::awt::UnoControlModel;
+
+ service com::sun::star::form::FormComponent;
+
+ /** This optional interface gives an efficient access to all
+ properties at once or an ability to set more than one property at once.
+ */
+ [optional] interface com::sun::star::beans::XFastPropertySet;
+
+
+ /** This optional interface gives access to the state of the
+ properties, e.g. whether a default value
+ is to be used or not for a certain property.
+ */
+ [optional] interface com::sun::star::beans::XPropertyState;
+
+
+ /** specifies the ID for classification of the component.
+ @see FormComponentType
+ */
+ [readonly, property] short ClassId;
+
+
+ /** determines the relative taborder of the control associated with the model.
+
+ <p>The default -1 is used to indicate that the tab-order of this control should be
+ determined automatically.</p>
+
+ <p>Each component which supports a tabstop must provide a
+ FormControlModel::TabIndex property.</p>
+
+ <p>Normally, a FormController instance is evaluating this property.</p>
+ */
+ [optional, property] short TabIndex;
+
+
+ /** used for additional information.
+ <p>No semantics is given for this property, it will usually be used by the creator of a document
+ containing form controls.</p>
+ */
+ [property] string Tag;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/FormController.idl b/offapi/com/sun/star/form/FormController.idl
new file mode 100644
index 000000000..c49dc71f3
--- /dev/null
+++ b/offapi/com/sun/star/form/FormController.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_form_FormController_idl__
+#define __com_sun_star_form_FormController_idl__
+
+#include <com/sun/star/form/XFormController.idl>
+
+#include <com/sun/star/awt/XTabController.idl>
+
+#include <com/sun/star/container/XChild.idl>
+
+#include <com/sun/star/lang/XComponent.idl>
+
+#include <com/sun/star/container/XEnumerationAccess.idl>
+
+#include <com/sun/star/util/XModifyBroadcaster.idl>
+#include <com/sun/star/form/XConfirmDeleteBroadcaster.idl>
+#include <com/sun/star/sdb/XSQLErrorBroadcaster.idl>
+#include <com/sun/star/sdb/XRowSetApproveBroadcaster.idl>
+
+#include <com/sun/star/form/XDatabaseParameterBroadcaster.idl>
+#include <com/sun/star/form/FormControllerDispatcher.idl>
+
+
+ module com { module sun { module star { module form {
+
+/** is superseded by com::sun::star::form::runtime::FormController.
+ @deprecated
+*/
+published service FormController
+{
+ [optional] service FormControllerDispatcher;
+ // [optional, property] ::com::sun::star::form::runtime::XFormOperations FormOperations; is not published
+
+ /** is used for notifying the (de)activation of the controller.
+ */
+ interface com::sun::star::form::XFormController;
+
+ interface com::sun::star::awt::XTabController;
+ interface com::sun::star::container::XChild;
+ interface com::sun::star::lang::XComponent;
+ interface com::sun::star::container::XEnumerationAccess;
+ interface com::sun::star::util::XModifyBroadcaster;
+ interface com::sun::star::form::XConfirmDeleteBroadcaster;
+ interface com::sun::star::sdb::XSQLErrorBroadcaster;
+ interface com::sun::star::sdb::XRowSetApproveBroadcaster;
+ interface com::sun::star::form::XDatabaseParameterBroadcaster;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/FormControllerDispatcher.idl b/offapi/com/sun/star/form/FormControllerDispatcher.idl
new file mode 100644
index 000000000..159d787da
--- /dev/null
+++ b/offapi/com/sun/star/form/FormControllerDispatcher.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_form_FormControllerDispatcher_idl__
+#define __com_sun_star_form_FormControllerDispatcher_idl__
+
+#include <com/sun/star/frame/XDispatchProvider.idl>
+
+
+module com { module sun { module star { module form {
+
+
+/** is not used anymore, and superseded by com::sun::star::form::runtime::FormController and
+ com::sun::star::form::runtime::FormOperations.
+
+ @deprecated
+ */
+published service FormControllerDispatcher
+{
+ [optional] interface com::sun::star::frame::XDispatchProvider;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/FormSubmitEncoding.idl b/offapi/com/sun/star/form/FormSubmitEncoding.idl
new file mode 100644
index 000000000..eab682723
--- /dev/null
+++ b/offapi/com/sun/star/form/FormSubmitEncoding.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_form_FormSubmitEncoding_idl__
+#define __com_sun_star_form_FormSubmitEncoding_idl__
+
+
+
+ module com { module sun { module star { module form {
+
+
+/** specify the MIME encoding to be used when form data is submitted.
+ */
+published enum FormSubmitEncoding
+{
+ /** Specifies to use "application/x-www-form-urlencoded" as submit encoding.
+ <p>Usually used if the FormSubmitMethod attribute has the value POST.
+ </p>
+ */
+ URL,
+
+
+ /** Specifies to use "multipart/form-data" as submit encoding.
+ <p>Usually used when the form contains a file upload element.</p>
+ */
+ MULTIPART,
+
+
+ /** specifies to use "text/plain"
+ <p>Usually used if the FormSubmitMethod attribute has the value POST and
+ the content should be reviewed as full text.</p>
+ */
+ TEXT
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/FormSubmitMethod.idl b/offapi/com/sun/star/form/FormSubmitMethod.idl
new file mode 100644
index 000000000..6c339ab43
--- /dev/null
+++ b/offapi/com/sun/star/form/FormSubmitMethod.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_form_FormSubmitMethod_idl__
+#define __com_sun_star_form_FormSubmitMethod_idl__
+
+
+
+ module com { module sun { module star { module form {
+
+
+/** specifies how information is sent to a program invoked by submitting a form.
+ */
+published enum FormSubmitMethod
+{
+
+ /** specifies to append the input information of a form to the target
+ URL as parameters.
+ */
+ GET,
+
+
+ /** specifies to send the input information in a data body.
+ */
+ POST
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/Forms.idl b/offapi/com/sun/star/form/Forms.idl
new file mode 100644
index 000000000..4619f3f36
--- /dev/null
+++ b/offapi/com/sun/star/form/Forms.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_form_Forms_idl__
+#define __com_sun_star_form_Forms_idl__
+
+#include <com/sun/star/form/XForms.idl>
+
+
+ module com { module sun { module star { module form {
+
+
+/** specifies the capabilities of a collection of forms.
+
+ <p>Basically, a Forms is a FormComponents,
+ with the additional restriction that the contained elements support the
+ com::sun::star::form::component::Form service.</p>
+
+ @see com::sun::star::form::component::Form
+ */
+published service Forms : XForms;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/ListSourceType.idl b/offapi/com/sun/star/form/ListSourceType.idl
new file mode 100644
index 000000000..5d4a00b76
--- /dev/null
+++ b/offapi/com/sun/star/form/ListSourceType.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_form_ListSourceType_idl__
+#define __com_sun_star_form_ListSourceType_idl__
+
+
+
+ module com { module sun { module star { module form {
+
+
+/** describes the kind of data source used to fill the list data of a listbox or a combobox control.
+ @see com::sun::star::form::component::ListBox
+ @see com::sun::star::form::component::ComboBox
+ */
+published enum ListSourceType
+{
+
+ /** The control should be filled with a list of string values.
+ */
+ VALUELIST,
+
+
+ /** The control should be filled with the data of a table.
+ */
+ TABLE,
+
+
+ /** The control should be filled with the results of a database query.
+ */
+ QUERY,
+
+
+ /** The control should be filled with the results of a database statement.
+ */
+ SQL,
+
+
+ /** The control should be filled with the results of a database statement,
+ which is not evaluated by the database engine.
+ */
+ SQLPASSTHROUGH,
+
+
+ /** The control should be filled with the field names of a database table.
+ */
+ TABLEFIELDS
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/NavigationBarMode.idl b/offapi/com/sun/star/form/NavigationBarMode.idl
new file mode 100644
index 000000000..5056f11ca
--- /dev/null
+++ b/offapi/com/sun/star/form/NavigationBarMode.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_form_NavigationBarMode_idl__
+#define __com_sun_star_form_NavigationBarMode_idl__
+
+
+
+ module com { module sun { module star { module form {
+
+
+/** describes in which way the navigation of the records of a database form is performed.
+ */
+published enum NavigationBarMode
+{
+
+ /** no navigation bar is provided and navigation on the current
+ form is only possible with the keyboard (TAB/SHIFT TAB).
+
+ <p>Note that when this mode is set, a simultaneous TabulatorCycle
+ value of TabulatorCycle::CURRENT means that you cannot travel
+ between records anymore.</p>
+
+ @see TabulatorCycle
+ */
+ NONE,
+
+
+ /** a navigation bar is provided and navigation will be performed
+ on the current/active form.
+ <p>This is the default and most often encountered mode.</p>
+ */
+ CURRENT,
+
+
+ /** a navigation bar is provided and navigation will be performed
+ on the parent of the current/active form.
+
+ <p>This option is usually used for forms containing a grid control only.
+ In such a form, the control has its own navigation elements, so there is
+ no need to use the navigation bar for the form, but rather for its parent.
+ </p>
+ */
+ PARENT
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/PropertyBrowserController.idl b/offapi/com/sun/star/form/PropertyBrowserController.idl
new file mode 100644
index 000000000..4e9c3d894
--- /dev/null
+++ b/offapi/com/sun/star/form/PropertyBrowserController.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_form_PropertyBrowserController_idl__
+#define __com_sun_star_form_PropertyBrowserController_idl__
+
+#include <com/sun/star/frame/XController.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/beans/XFastPropertySet.idl>
+#include <com/sun/star/beans/XMultiPropertySet.idl>
+
+
+ module com { module sun { module star { module form {
+
+
+/** describes a controller which can be used to browse and modify properties of form controls.
+
+ <p>The controller can be plugged into a com::sun::star::frame::XFrame, and will
+ provide a visual component for inspecting control properties. This means it allows to interactively control
+ several aspects of a FormControlModel or DataAwareControlModel, such as it's
+ data binding, it's layout, and it's event binding</p>
+
+ <p>For using a PropertyBrowserController, you need to
+ <ul><li>instantiate it at a service factory of your choice</li>
+ <li>attach it to an empty frame of your choice</li>
+ <li>set the IntrospectedObject property to the control model which you wish to analyze</li>
+ </ul>
+ </p>
+
+ @code{.java}
+ XFrame xFrame = getNewEmptyFrame();
+ XMultiServiceFactory xORB = getORB();
+ XPropertySet xControlModel = getMyControlModel();
+
+ // instantiate the controller
+ XController xController = (XController)UnoRuntime.queryInterface( XController.class,
+ xORB.createInstance( "com.sun.star.form.PropertyBrowserController" ) );
+
+ // marry the controller and the frame. This will cause the controller
+ // to create a visual component within the frame to inspect our object
+ xController.attachFrame( xFrame )
+
+ // tell the controller which object to inspect
+ XPropertySet xControllerProps = (XPropertySet)UnoRuntime.queryInterface(
+ XPropertySet.class, xController );
+
+ xControllerProps.setPropertyValue( "IntrospectedObject", xControlModel );
+ @endcode
+
+ @see com::sun::star::frame::XController
+
+ @deprecated
+ <p>Note that nowadays, this service is only a legacy wrapper using the
+ com::sun::star::inspection::ObjectInspector and the
+ com::sun::star::form::inspection::DefaultFormComponentInspectorModel services, and knitting them together.</p>
+
+*/
+published service PropertyBrowserController
+{
+ /** contains the object to inspect.
+
+ <p>Changing this property from outside causes the controller to update its view
+ with the data of the new object</p>
+ */
+ [property] com::sun::star::beans::XPropertySet IntrospectedObject;
+
+ /** controls the actually visible page.
+
+ <p>The aspects of a DataAwareControlModel which can be browsed and modified
+ using this controller can be separated into 3 groups: common aspects, data-awareness
+ related aspects, and bound events.<br>
+ The appearance of the visual component created by the controller is that 3 tab pages, one for
+ each group, are displayed (of course if the control does not support any aspects of a given group,
+ the group is omitted).<br/>
+ With this property, it can be controller which page is currently active.</p>
+
+ <p>Valid values are (this list may be extended in the future):
+ <ul><li>Generic</li>
+ <li>Data</li>
+ <li>Events</li>
+ </ul></p>
+ */
+ [property] string CurrentPage;
+
+ /** ensures the basic functionality for a controller.
+
+ <p>With supporting this interface, the component is able to operate in (and provide content
+ for) a com::sun::star::frame::XFrame.</p>
+ */
+ interface com::sun::star::frame::XController;
+
+ /** allows to access the properties of the object
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+ /** allows to access the properties via indices
+ */
+ interface com::sun::star::beans::XFastPropertySet;
+
+ /** allows to access more than one property of the object at the same time
+ */
+ interface com::sun::star::beans::XMultiPropertySet;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/TabOrderDialog.idl b/offapi/com/sun/star/form/TabOrderDialog.idl
new file mode 100644
index 000000000..bbe960071
--- /dev/null
+++ b/offapi/com/sun/star/form/TabOrderDialog.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_form_TabOrderDialog_idl__
+#define __com_sun_star_form_TabOrderDialog_idl__
+
+#include <com/sun/star/awt/XTabControllerModel.idl>
+#include <com/sun/star/awt/XControlContainer.idl>
+#include <com/sun/star/awt/XWindow.idl>
+#include <com/sun/star/ui/dialogs/XExecutableDialog.idl>
+
+
+
+module com { module sun { module star { module form {
+
+
+/**
+ @since LibreOffice 4.2
+ */
+published service TabOrderDialog : com::sun::star::ui::dialogs::XExecutableDialog
+{
+ createWithModel([in] com::sun::star::awt::XTabControllerModel TabbingModel,
+ [in] com::sun::star::awt::XControlContainer ControlContext,
+ [in] com::sun::star::awt::XWindow ParentWindow);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/TabulatorCycle.idl b/offapi/com/sun/star/form/TabulatorCycle.idl
new file mode 100644
index 000000000..f6ab1e94a
--- /dev/null
+++ b/offapi/com/sun/star/form/TabulatorCycle.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_form_TabulatorCycle_idl__
+#define __com_sun_star_form_TabulatorCycle_idl__
+
+
+
+ module com { module sun { module star { module form {
+
+
+/** specifies how the TAB key should be used in a form.
+
+ <p>If the last control of a form is focused, and the user pressed the TAB key, there are
+ several possibilities how a FormController should handle this.
+ TabulatorCycle specifies these possibilities.</p>
+
+ <p>Note that the TabulatorCycle determines what happens when SHIFT-TAB
+ is pressed on the <em>first</em> control of a form, as well as when TAB is pressed on the
+ <em>last</em> control.</p>
+
+ <p><em>First</em> and <em>last</em> refers to the tabbing order of controls.</p>
+
+ @see FormControlModel::TabIndex
+ @see FormController
+ */
+published enum TabulatorCycle
+{
+
+ /** pressing the TAB key from the last control moves the focus to
+ the first control in the tab order of the next record.
+ */
+ RECORDS,
+
+
+ /** pressing the TAB key from the last control moves the focus to
+ the first control in the tab order of the same record.
+ */
+ CURRENT,
+
+
+ /** pressing the TAB key from the last control of a form moves
+ the focus to the first control of the next form in the tab order.
+ */
+ PAGE
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/XApproveActionBroadcaster.idl b/offapi/com/sun/star/form/XApproveActionBroadcaster.idl
new file mode 100644
index 000000000..5ea712382
--- /dev/null
+++ b/offapi/com/sun/star/form/XApproveActionBroadcaster.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_form_XApproveActionBroadcaster_idl__
+#define __com_sun_star_form_XApproveActionBroadcaster_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/form/XApproveActionListener.idl>
+
+
+
+ module com { module sun { module star { module form {
+
+
+/** allows to probably veto actions to be performed on components.
+
+ <p> Usually, a component which supports the
+ XApproveActionBroadcaster interface implements
+ com::sun::star::awt::XActionListener as well.</p>
+ */
+published interface XApproveActionBroadcaster: com::sun::star::uno::XInterface
+{
+
+ /** adds the specified listener to receive the XApproveActionListener::approveAction()
+ event.
+
+ @param aListener
+ the listener to be added
+ */
+ void addApproveActionListener( [in] com::sun::star::form::XApproveActionListener aListener );
+
+
+ /** removes the specified listener
+
+ @param aListener
+ the listener to be removed
+ */
+ void removeApproveActionListener( [in] com::sun::star::form::XApproveActionListener aListener );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/XApproveActionListener.idl b/offapi/com/sun/star/form/XApproveActionListener.idl
new file mode 100644
index 000000000..4814f58dd
--- /dev/null
+++ b/offapi/com/sun/star/form/XApproveActionListener.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_form_XApproveActionListener_idl__
+#define __com_sun_star_form_XApproveActionListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+
+#include <com/sun/star/lang/EventObject.idl>
+
+
+
+ module com { module sun { module star { module form {
+
+
+/** can be implemented to listen and probably veto actions to be performed on components.
+
+ <p>An example for an action would be the click of a
+ CommandButton.</p>
+
+ @see XApproveActionBroadcaster
+ @see com::sun::star::form::component::CommandButton
+ @see com::sun::star::form::control::CommandButton
+ */
+published interface XApproveActionListener: com::sun::star::lang::XEventListener
+{
+
+ /** is invoked when an action is performed.
+
+ @param aEvent
+ A descriptor specifying the source of the event.
+
+ @returns
+ `TRUE` when the action is permitted, otherwise `FALSE`.
+ */
+ boolean approveAction( [in] com::sun::star::lang::EventObject aEvent );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/XBoundComponent.idl b/offapi/com/sun/star/form/XBoundComponent.idl
new file mode 100644
index 000000000..9789ede3a
--- /dev/null
+++ b/offapi/com/sun/star/form/XBoundComponent.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_form_XBoundComponent_idl__
+#define __com_sun_star_form_XBoundComponent_idl__
+
+#include <com/sun/star/form/XUpdateBroadcaster.idl>
+
+
+
+ module com { module sun { module star { module form {
+
+
+/** specifies a (form) component which is bound to a data source.
+
+ <p>The interface provides the possibility of committing its respective
+ data to a data source it is bound to. A commit() will be
+ performed by the environment (usually, a FormController).<br/>
+ For example, suppose you have a data-bound control that is connected
+ to a database field. Each time the control loses its focus, the
+ model (component) of the control is triggered by the environment
+ to store its value in the database field.</p>
+
+ <p>A commit may fail if an XUpdateListener vetoes the it.</p>
+
+ @see com::sun::star::form::XUpdateListener
+ */
+published interface XBoundComponent: com::sun::star::form::XUpdateBroadcaster
+{
+
+ /** commits the content of the component into the data source it is bound to.
+
+ @returns
+ `TRUE` when the commitment was successful, otherwise `FALSE`.
+ */
+ boolean commit();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/XBoundControl.idl b/offapi/com/sun/star/form/XBoundControl.idl
new file mode 100644
index 000000000..e92a82cb3
--- /dev/null
+++ b/offapi/com/sun/star/form/XBoundControl.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_form_XBoundControl_idl__
+#define __com_sun_star_form_XBoundControl_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+ module com { module sun { module star { module form {
+
+
+/** allows locking the input on components.
+ */
+
+published interface XBoundControl: com::sun::star::uno::XInterface
+{
+
+ /** determines whether the input is currently locked or not.
+
+ @returns
+ `TRUE` when it is currently locked, otherwise `FALSE`.
+ */
+ boolean getLock();
+
+
+ /** is used for altering the current lock state of the
+ component.
+
+ @param bLock
+ the new lock state.
+ */
+ void setLock( [in] boolean bLock );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/XChangeBroadcaster.idl b/offapi/com/sun/star/form/XChangeBroadcaster.idl
new file mode 100644
index 000000000..23f2d3165
--- /dev/null
+++ b/offapi/com/sun/star/form/XChangeBroadcaster.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_form_XChangeBroadcaster_idl__
+#define __com_sun_star_form_XChangeBroadcaster_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/form/XChangeListener.idl>
+
+
+
+ module com { module sun { module star { module form {
+
+
+/** provides functionality to notify listeners of data changes.
+
+ <p>The concrete semantics of a change (i.e. the conditions for when a change event
+ is fired) must be specified in the service description of the providing service.</p>
+
+ @see XChangeListener
+ */
+published interface XChangeBroadcaster: com::sun::star::uno::XInterface
+{
+
+ /** adds the specified listener to receive the "changed" event.
+
+ @param aListener
+ the listener to add.
+
+ @see com::sun::star::form::XChangeListener
+ */
+ void addChangeListener( [in] com::sun::star::form::XChangeListener aListener );
+
+
+ /** removes the specified listener.
+
+ @param aListener
+ the listener to remove.
+
+ @see com::sun::star::form::XChangeListener
+ */
+ void removeChangeListener( [in] com::sun::star::form::XChangeListener aListener );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/XChangeListener.idl b/offapi/com/sun/star/form/XChangeListener.idl
new file mode 100644
index 000000000..72b009e90
--- /dev/null
+++ b/offapi/com/sun/star/form/XChangeListener.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_form_XChangeListener_idl__
+#define __com_sun_star_form_XChangeListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+
+#include <com/sun/star/lang/EventObject.idl>
+
+
+
+ module com { module sun { module star { module form {
+
+
+/** is the listener interface for receiving notifications about data changes.
+
+ <p>The concrete semantics of a change (i.e. the conditions for when a change event
+ is fired) must be specified in the description of the service broadcasting the
+ change.</p>
+
+ @see XChangeBroadcaster
+ */
+published interface XChangeListener: com::sun::star::lang::XEventListener
+{
+
+ /** is invoked when the data of a component has been changed.
+
+ @param rEvent
+ A descriptor specifying the source of the event.
+ */
+ void changed( [in] com::sun::star::lang::EventObject rEvent );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/XConfirmDeleteBroadcaster.idl b/offapi/com/sun/star/form/XConfirmDeleteBroadcaster.idl
new file mode 100644
index 000000000..123bfb77d
--- /dev/null
+++ b/offapi/com/sun/star/form/XConfirmDeleteBroadcaster.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_form_XConfirmDeleteBroadcaster_idl__
+#define __com_sun_star_form_XConfirmDeleteBroadcaster_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/form/XConfirmDeleteListener.idl>
+
+
+
+ module com { module sun { module star { module form {
+
+
+/** provides the possibility of receiving an event for confirming deletions of
+ rows in a com::sun::star::form::component::DataForm.
+
+ @see XConfirmDeleteListener
+ */
+published interface XConfirmDeleteBroadcaster: com::sun::star::uno::XInterface
+{
+
+ /** remembers the specified listener to receive an event for confirming deletions
+
+ <p>XConfirmDeleteListener::confirmDelete() is called before a
+ deletion is performed. You may use the event to write your own confirmation messages.</p>
+
+ @param aListener
+ the listener to add.
+
+ @see com::sun::star::form::XConfirmDeleteListener
+ */
+ void addConfirmDeleteListener( [in] com::sun::star::form::XConfirmDeleteListener aListener );
+
+
+ /** removes the specified listener.
+
+ @param aListener
+ the listener to remove.
+
+ @see com::sun::star::form::XConfirmDeleteListener
+ */
+ void removeConfirmDeleteListener( [in] com::sun::star::form::XConfirmDeleteListener aListener );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/XConfirmDeleteListener.idl b/offapi/com/sun/star/form/XConfirmDeleteListener.idl
new file mode 100644
index 000000000..c5364bdff
--- /dev/null
+++ b/offapi/com/sun/star/form/XConfirmDeleteListener.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_form_XConfirmDeleteListener_idl__
+#define __com_sun_star_form_XConfirmDeleteListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+
+#include <com/sun/star/sdb/RowChangeEvent.idl>
+
+
+ module com { module sun { module star { module form {
+
+
+/** allows to register a component for confirming deletions of
+ rows in a com::sun::star::form::component::DataForm.
+
+ @see XConfirmDeleteBroadcaster
+ */
+published interface XConfirmDeleteListener: com::sun::star::lang::XEventListener
+{
+
+ /** is invoked when the current record of a database form will be deleted.
+
+ @param aEvent
+ A descriptor specifying the deletion request.
+
+ @returns
+ `TRUE` when the row can be deleted, otherwise `FALSE`.
+ */
+ boolean confirmDelete( [in] com::sun::star::sdb::RowChangeEvent aEvent );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/XDatabaseParameterBroadcaster.idl b/offapi/com/sun/star/form/XDatabaseParameterBroadcaster.idl
new file mode 100644
index 000000000..eec7b9c4b
--- /dev/null
+++ b/offapi/com/sun/star/form/XDatabaseParameterBroadcaster.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_form_XDatabaseParameterBroadcaster_idl__
+#define __com_sun_star_form_XDatabaseParameterBroadcaster_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/form/XDatabaseParameterListener.idl>
+
+
+
+ module com { module sun { module star { module form {
+
+
+/** provides the possibility of receiving an event for configuration of parameters.
+ <p>This interface is usually implemented by components which are to execute a statement,
+ and may need parameter information. For example, the
+ com::sun::star::form::component::DataForm is such a component. When it is
+ bound to a statement which contains parameters, or to a query which is based upon a parametrized
+ statement, it needs values to fill in the parameters with actual values when it is being loaded.
+ One method to gather these values is calling the XDatabaseParameterListener listeners, which
+ can fill them in.</p>
+ */
+published interface XDatabaseParameterBroadcaster: com::sun::star::uno::XInterface
+{
+
+ /** adds the specified listener, to allow it to fill in necessary parameter values.
+ @param aListener
+ the listener to add.
+ @see com::sun::star::form::XDatabaseParameterListener
+ */
+ void addParameterListener( [in] com::sun::star::form::XDatabaseParameterListener aListener );
+
+
+ /** removes the specified listener.
+ @param aListener
+ the listener to remove.
+ @see com::sun::star::form::XDatabaseParameterListener
+ */
+ void removeParameterListener( [in] com::sun::star::form::XDatabaseParameterListener aListener );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/XDatabaseParameterBroadcaster2.idl b/offapi/com/sun/star/form/XDatabaseParameterBroadcaster2.idl
new file mode 100644
index 000000000..660dd03cb
--- /dev/null
+++ b/offapi/com/sun/star/form/XDatabaseParameterBroadcaster2.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_form_XDatabaseParameterBroadcaster2_idl__
+#define __com_sun_star_form_XDatabaseParameterBroadcaster2_idl__
+
+#include <com/sun/star/form/XDatabaseParameterBroadcaster.idl>
+
+
+module com { module sun { module star { module form {
+
+
+/** provides the possibility of receiving an event for configuration of parameters.
+
+ <p>Note that this interface provides exactly the same functionality as the
+ XDatabaseParameterBroadcaster interface. It exists purely for compatibility
+ with the com::sun::star::script::XEventAttacher::attachSingleEventListener():
+ It expects the methods for adding and removing listeners to follow a certain naming scheme,
+ respective to the name of the listener which is being added/removed.</p>
+
+ @see XDatabaseParameterBroadcaster
+ @see com::sun::star::script::XEventAttacher
+*/
+interface XDatabaseParameterBroadcaster2: XDatabaseParameterBroadcaster
+{
+ /** registers an XDatabaseParameterListener
+
+ <p>This method behaves exactly as the XDatabaseParameterBroadcaster::addParameterListener()
+ method inherited from the base interface.</p>
+ */
+ void addDatabaseParameterListener( [in] com::sun::star::form::XDatabaseParameterListener aListener );
+
+
+ /** revokes an XDatabaseParameterListener
+
+ <p>This method behaves exactly as the XDatabaseParameterBroadcaster::removeParameterListener()
+ method inherited from the base interface.</p>
+ */
+ void removeDatabaseParameterListener( [in] com::sun::star::form::XDatabaseParameterListener aListener );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/XDatabaseParameterListener.idl b/offapi/com/sun/star/form/XDatabaseParameterListener.idl
new file mode 100644
index 000000000..c536f6d0e
--- /dev/null
+++ b/offapi/com/sun/star/form/XDatabaseParameterListener.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_form_XDatabaseParameterListener_idl__
+#define __com_sun_star_form_XDatabaseParameterListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+
+#include <com/sun/star/form/DatabaseParameterEvent.idl>
+
+
+
+ module com { module sun { module star { module form {
+
+
+/** allows to intercept value request for parametrized SQL statements.
+ */
+published interface XDatabaseParameterListener: com::sun::star::lang::XEventListener
+{
+
+ /** is invoked when there is a need for parameter values
+
+ @param aEvent
+ the event describing the parameter value request.
+
+ @returns
+ `TRUE` when the execution of the parametrized statement should continue, `FALSE` otherwise.
+
+ @see com::sun::star::form::DatabaseParameterEvent
+ */
+ boolean approveParameter( [in] com::sun::star::form::DatabaseParameterEvent aEvent );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/XDeleteListener.idl b/offapi/com/sun/star/form/XDeleteListener.idl
new file mode 100644
index 000000000..ec4cc7049
--- /dev/null
+++ b/offapi/com/sun/star/form/XDeleteListener.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_form_XDeleteListener_idl__
+#define __com_sun_star_form_XDeleteListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+
+#include <com/sun/star/lang/EventObject.idl>
+
+
+
+ module com { module sun { module star { module form {
+
+
+/** This is the listener interface for receiving "approveDelete" and
+ "deleted" events posted by a database form.
+
+ <p> "approveDelete" may be used to abort a deletion of the current data
+ record.</p>
+
+ <p>Please do <em><b>not</b></em> use anymore, this interface is superseded
+ by com::sun::star::form::XConfirmDeleteListener.</p>
+
+ @deprecated
+ */
+published interface XDeleteListener: com::sun::star::lang::XEventListener
+{
+
+ /** is invoked when the current record of the database form will be deleted.
+ */
+ boolean approveDelete( [in] com::sun::star::lang::EventObject aEvent );
+
+
+ /** is invoked when a database form has finished the delete processing and
+ the data has been successfully deleted from the datasource.
+ */
+ void deleted( [in] com::sun::star::lang::EventObject aEvent );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/XErrorBroadcaster.idl b/offapi/com/sun/star/form/XErrorBroadcaster.idl
new file mode 100644
index 000000000..cf8212bd4
--- /dev/null
+++ b/offapi/com/sun/star/form/XErrorBroadcaster.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_form_XErrorBroadcaster_idl__
+#define __com_sun_star_form_XErrorBroadcaster_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/form/XErrorListener.idl>
+
+
+
+ module com { module sun { module star { module form {
+
+
+/** provides the possibility of receiving database error events.
+
+ <p>Please do <em><b>not</b></em> use anymore, this interface is superseded
+ by com::sun::star::sdb::XSQLErrorBroadcaster.</p>
+
+ @deprecated
+ */
+published interface XErrorBroadcaster: com::sun::star::uno::XInterface
+{
+
+ /** adds the specified listener to be notified of errors.
+ */
+ void addErrorListener( [in] com::sun::star::form::XErrorListener aListener );
+
+
+ /** removes the specified listener.
+ */
+ void removeErrorListener( [in] com::sun::star::form::XErrorListener aListener );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/XErrorListener.idl b/offapi/com/sun/star/form/XErrorListener.idl
new file mode 100644
index 000000000..ca1497723
--- /dev/null
+++ b/offapi/com/sun/star/form/XErrorListener.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_form_XErrorListener_idl__
+#define __com_sun_star_form_XErrorListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+
+#include <com/sun/star/form/ErrorEvent.idl>
+
+
+
+ module com { module sun { module star { module form {
+
+
+/** used to be notified when errors in a database form happen.
+
+ <p>Each time an exception is triggered by a database form, the error
+ event is posted to the error listeners. This event may be used to
+ configure the error handling of a database form.</p>
+
+ <p>Please do <em><b>not</b></em> use anymore, this interface is superseded
+ by com::sun::star::sdb::XSQLErrorListener.</p>
+
+ @deprecated
+ */
+published interface XErrorListener: com::sun::star::lang::XEventListener
+{
+
+ /** is invoked when a database action performed by a database form raises
+ an exception.
+ */
+ void errorOccured( [in] com::sun::star::form::ErrorEvent aEvent );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/XForm.idl b/offapi/com/sun/star/form/XForm.idl
new file mode 100644
index 000000000..4964ab1cd
--- /dev/null
+++ b/offapi/com/sun/star/form/XForm.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_form_XForm_idl__
+#define __com_sun_star_form_XForm_idl__
+
+#include <com/sun/star/form/XFormComponent.idl>
+
+
+
+ module com { module sun { module star { module form {
+
+
+/** identifies a FormComponent as being a (sub-) form.
+
+ <p>This interface does not really provide an own functionality, it is only for easier
+ runtime identification of form components.</p>
+
+ @see XFormComponent
+ */
+published interface XForm: com::sun::star::form::XFormComponent
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/XFormComponent.idl b/offapi/com/sun/star/form/XFormComponent.idl
new file mode 100644
index 000000000..14c6a8a0f
--- /dev/null
+++ b/offapi/com/sun/star/form/XFormComponent.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_form_XFormComponent_idl__
+#define __com_sun_star_form_XFormComponent_idl__
+
+#include <com/sun/star/container/XChild.idl>
+
+
+
+ module com { module sun { module star { module form {
+
+
+/** describes a component which may be part of a form.
+
+ <p>This interface does not really provide an own functionality, it is only for easier
+ runtime identification of form components.</p>
+
+ @see XForm
+ */
+published interface XFormComponent: com::sun::star::container::XChild
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/XFormController.idl b/offapi/com/sun/star/form/XFormController.idl
new file mode 100644
index 000000000..43c3fb708
--- /dev/null
+++ b/offapi/com/sun/star/form/XFormController.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_form_XFormController_idl__
+#define __com_sun_star_form_XFormController_idl__
+
+#include <com/sun/star/awt/XTabController.idl>
+
+#include <com/sun/star/awt/XControl.idl>
+
+#include <com/sun/star/form/XFormControllerListener.idl>
+
+
+
+ module com { module sun { module star { module form {
+
+
+/** is superseded by com::sun::star::form::runtime::XFormController.
+ @deprecated
+ */
+published interface XFormController: com::sun::star::awt::XTabController
+{
+ ::com::sun::star::awt::XControl getCurrentControl();
+ void addActivateListener( [in] ::com::sun::star::form::XFormControllerListener l );
+ void removeActivateListener( [in] ::com::sun::star::form::XFormControllerListener l );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/XFormControllerListener.idl b/offapi/com/sun/star/form/XFormControllerListener.idl
new file mode 100644
index 000000000..2d4262747
--- /dev/null
+++ b/offapi/com/sun/star/form/XFormControllerListener.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_form_XFormControllerListener_idl__
+#define __com_sun_star_form_XFormControllerListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+
+#include <com/sun/star/lang/EventObject.idl>
+
+
+
+ module com { module sun { module star { module form {
+
+
+/** allows to be notified when the activation status of a FormController changes.
+
+ <p> A form controller is activated if a form control gains the
+ focus and none of its controls currently owned the focus before.</p>
+
+ @see XFormController
+ */
+published interface XFormControllerListener: com::sun::star::lang::XEventListener
+{
+
+ /** is invoked when a control of the controller gained the focus and
+ the controller was not previously activated.
+
+ @param rEvent
+ the event happened.
+ */
+ void formActivated( [in] com::sun::star::lang::EventObject rEvent );
+
+
+ /** is invoked when a control of the "XFormController" lost the focus
+ and no control of the controller received the focus. In other
+ words, no control of the controller owns the focus.
+
+ @param rEvent
+ the event happened.
+ */
+ void formDeactivated( [in] com::sun::star::lang::EventObject rEvent );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/XForms.idl b/offapi/com/sun/star/form/XForms.idl
new file mode 100644
index 000000000..276127e1b
--- /dev/null
+++ b/offapi/com/sun/star/form/XForms.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_form_XForms_idl__
+#define __com_sun_star_form_XForms_idl__
+
+#include <com/sun/star/container/XNameContainer.idl>
+#include <com/sun/star/container/XIndexContainer.idl>
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#include <com/sun/star/container/XContainer.idl>
+#include <com/sun/star/container/XChild.idl>
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/script/XEventAttacherManager.idl>
+#include <com/sun/star/util/XCloneable.idl>
+
+
+module com { module sun { module star { module form {
+
+
+/**
+ @since LibreOffice 4.1
+ */
+published interface XForms
+{
+ /** allows to register listeners to be notified of changes in the container.
+ */
+ interface com::sun::star::container::XContainer;
+
+ /** allows to add/remove elements by name.
+ */
+ interface com::sun::star::container::XNameContainer; // ->XNameReplace->XNameAccess->XElementAccess->XInterface
+
+ /** gives access to the elements by index.
+ */
+ interface com::sun::star::container::XIndexContainer; // ->XIndexReplace->XIndexAccess->XElementAccess->XInterface
+
+ /** creates an enumeration of the elements.
+ */
+ interface com::sun::star::container::XEnumerationAccess; // ->XElementAccess->XInterface
+
+ /** This interface has to be implemented to supply the scripting environment
+ for the contained components.
+
+ <p>The interface allows managing of scripts associated with dependent components, accessed by index.
+ However, as a client of the FormComponents service, there's no need to bother with
+ the container aspect of the com::sun::star::script::XEventAttacherManager
+ directly. A FormComponents container will automatically synchronize the elements
+ you put into it with the scripting information obtained at the
+ com::sun::star::script::XEventAttacherManager interface.</p>
+
+ <p>For instance, at any time you can obtain the events associated with
+ the <code>n</code><sup>th</sup>
+ element in the form components by calling
+ com::sun::star::script::XEventAttacherManager::getScriptEvents()
+ with parameter <code>n</code>. In particular, this invariant is always met, even after you
+ inserted/removed elements into/from the container.</p>
+ */
+ interface com::sun::star::script::XEventAttacherManager; // ->XInterface
+
+ interface com::sun::star::container::XChild;
+
+ interface com::sun::star::util::XCloneable;
+
+ interface com::sun::star::lang::XComponent;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/XFormsSupplier.idl b/offapi/com/sun/star/form/XFormsSupplier.idl
new file mode 100644
index 000000000..11ba114f5
--- /dev/null
+++ b/offapi/com/sun/star/form/XFormsSupplier.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_form_XFormsSupplier_idl__
+#define __com_sun_star_form_XFormsSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/container/XNameContainer.idl>
+
+
+
+ module com { module sun { module star { module form {
+
+
+/** provides the access to a collection of forms.
+ */
+published interface XFormsSupplier: com::sun::star::uno::XInterface
+{
+
+ /** accesses the forms.
+
+ @code{.bas}
+ REM ***** BASIC *****
+
+ Sub createColorSelectionBox
+ ' create a new shape
+ xShape = thisComponent.createInstance( "com.sun.star.drawing.ControlShape" )
+ Dim aPos as new com.sun.star.awt.Point
+ aPos.X = 200
+ aPos.Y = 100
+ xShape.Position = aPos
+ Erase aPos
+ Dim aSize as new com.sun.star.awt.Size
+ aSize.Width = 2500
+ aSize.Height = 5000
+ xShape.Size = aSize
+ Erase aSize
+
+ ' create a combo box model
+ xControlModel = thisComponent.createInstance( "com.sun.star.form.component.ComboBox" )
+ xControlModel.Name = "ColorSelection"
+ xControlModel.Text = "red"
+
+ ' marry the shape and the model
+ xShape.Control = xControlModel
+
+ if ( 0 = thisComponent.DrawPage.Forms.getCount() ) Then
+ xForm = thisComponent.createInstance( "com.sun.star.form.component.DataForm" )
+ xForm.Name = "SampleForm"
+ thisComponent.DrawPage.Forms.insertByIndex( 0, xForm )
+ End If
+ ' insert the control model into the first form of the forms collection of the
+ ' draw page of the document
+ thisComponent.DrawPage.Forms.getByIndex(0).insertByIndex( 0, xControlModel )
+ thisComponent.DrawPage.add( xShape )
+ End Sub
+ @endcode
+
+ @returns
+ the container of all the top-level forms belonging to the component.
+ */
+ com::sun::star::container::XNameContainer getForms();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/XFormsSupplier2.idl b/offapi/com/sun/star/form/XFormsSupplier2.idl
new file mode 100644
index 000000000..034a3d084
--- /dev/null
+++ b/offapi/com/sun/star/form/XFormsSupplier2.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_form_XFormsSupplier2_idl__
+#define __com_sun_star_form_XFormsSupplier2_idl__
+
+#include <com/sun/star/form/XFormsSupplier.idl>
+
+
+module com { module sun { module star { module form {
+
+
+/** extends the XFormsSupplier with convenience methods
+*/
+interface XFormsSupplier2: XFormsSupplier
+{
+ /** determines whether there are currently forms available at all
+
+ <p>If you need read access to the forms collection, then you might check
+ the existence of forms using hasForms(), and if it returns
+ `FALSE`, you can do as if XFormsSupplier::getForms() would
+ have returned an empty container.</p>
+
+ <p>Semantically, hasForms() is equivalent to calling
+ XElementAccess::hasElements() on the container returned by
+ XFormsSupplier::getForms(). But when using the latter, the
+ implementation is forced to create an empty container, which might be potentially
+ expensive.</p>
+ */
+ boolean hasForms();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/XGrid.idl b/offapi/com/sun/star/form/XGrid.idl
new file mode 100644
index 000000000..1d35cde51
--- /dev/null
+++ b/offapi/com/sun/star/form/XGrid.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_form_XGrid_idl__
+#define __com_sun_star_form_XGrid_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+ module com { module sun { module star { module form {
+
+
+/** provides the possibility of setting and retrieving the position
+ of the current cell in a grid control.
+
+ <p>Note that a grid control does not allow free control over the current row:
+ In such a control, every line represents a row of data of the underlying
+ com::sun::star::form::component::DataForm. Thus, the <em>current
+ row</em> of the grid control always equals the current row of the
+ com::sun::star::form::component::DataForm, and can be affected only
+ by changing the latter.<br/>
+ The current column of a grid control, whoever, can be freely controlled.</p>
+
+ @see com::sun::star::form::component::GridControl
+ @see com::sun::star::form::control::GridControl
+ @deprecated
+ */
+published interface XGrid: com::sun::star::uno::XInterface
+{
+
+ /** retrieves the current column position.
+ */
+ short getCurrentColumnPosition();
+
+
+ /** sets the current column position.
+ */
+ void setCurrentColumnPosition( [in] short nPos );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/XGridColumnFactory.idl b/offapi/com/sun/star/form/XGridColumnFactory.idl
new file mode 100644
index 000000000..1341cab16
--- /dev/null
+++ b/offapi/com/sun/star/form/XGridColumnFactory.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_form_XGridColumnFactory_idl__
+#define __com_sun_star_form_XGridColumnFactory_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+
+ module com { module sun { module star { module form {
+
+
+/** allows to create columns to be added into a grid control model.
+
+ <p>Grid columns (more precise: models of grid columns) are direct children of
+ the grid control model they belong to. Grid columns can't be created on a global
+ service factory, instead, you need to create them on the grid, where you want to
+ insert them later on.</p>
+
+ @see com::sun::star::form::component::GridControl
+ */
+published interface XGridColumnFactory: com::sun::star::uno::XInterface
+{
+
+ /** creates a new column object
+
+ @param aColumnType
+ the type of column to be created
+
+ @returns
+ the new column object
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if aColumnType is not available.
+ */
+ com::sun::star::beans::XPropertySet createColumn( [in] string aColumnType )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+
+ /** returns a list of available column types.
+
+ @returns
+ a list of column types.
+ */
+ sequence<string> getColumnTypes();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/XGridControl.idl b/offapi/com/sun/star/form/XGridControl.idl
new file mode 100644
index 000000000..64429682e
--- /dev/null
+++ b/offapi/com/sun/star/form/XGridControl.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_form_XGridControl_idl__
+#define __com_sun_star_form_XGridControl_idl__
+
+#include <com/sun/star/form/XGrid.idl>
+#include <com/sun/star/form/XGridControlListener.idl>
+#include <com/sun/star/form/XGridFieldDataSupplier.idl>
+
+
+module com { module sun { module star { module form {
+
+
+/** specifies (some) functionality provided by a grid control (aka table control)
+
+ @since OOo 3.1
+ */
+interface XGridControl
+{
+ /** allows access to the current column position within the grid control
+ */
+ interface XGrid;
+
+ /** registers a listener which is to be notified about state changes in
+ the grid control
+ */
+ void addGridControlListener( [in] XGridControlListener listener );
+
+ /** revokes a previously registered grid control listener
+ */
+ void removeGridControlListener( [in] XGridControlListener listener );
+
+ /// provides access to the data in the control, even in non-current rows
+ interface XGridFieldDataSupplier;
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/XGridControlListener.idl b/offapi/com/sun/star/form/XGridControlListener.idl
new file mode 100644
index 000000000..faced1471
--- /dev/null
+++ b/offapi/com/sun/star/form/XGridControlListener.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_form_XGridControlListener_idl__
+#define __com_sun_star_form_XGridControlListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+
+
+module com { module sun { module star { module form {
+
+
+/** specifies a listener which is to be notified about state changes in a grid control
+
+ @see XGridControl
+ @since OOo 3.1
+ */
+interface XGridControlListener : ::com::sun::star::lang::XEventListener
+{
+ /** called when the current column in a grid control changed
+ @see XGrid::getCurrentColumnPosition
+ */
+ void columnChanged( [in] ::com::sun::star::lang::EventObject event );
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/XGridFieldDataSupplier.idl b/offapi/com/sun/star/form/XGridFieldDataSupplier.idl
new file mode 100644
index 000000000..7a26b1a13
--- /dev/null
+++ b/offapi/com/sun/star/form/XGridFieldDataSupplier.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_form_XGridFieldDataSupplier_idl__
+#define __com_sun_star_form_XGridFieldDataSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/reflection/XIdlClass.idl>
+
+
+
+ module com { module sun { module star { module form {
+
+
+/** provides access to the data of a GridControl
+
+ <p>You can retrieve the data type information and the data in a row.</p>
+
+ <p>This interface allows to retrieve data even for rows which are not current, which is quite useful,
+ as normally, you can't affect the current row in a grid control without moving the cursor of the underlying
+ com::sun::star::form::component::DataForm.</p>
+
+ @see XGrid
+ @see com::sun::star::form::control::GridControl
+ @see com::sun::star::form::component::GridControl
+
+ @deprecated
+ */
+published interface XGridFieldDataSupplier: com::sun::star::uno::XInterface
+{
+ /** checks whether or not the content of the grid's columns can be retrieved in the requested format.
+
+ <p>Not every cell content can be retrieved in every representation. For example, in a text column,
+ you usually won't be able to retrieve the content as double.<br/>
+ To check if the type you need is supported by the columns, use this method.</p>
+
+ @return
+ A sequence of boolean flags. Each flag corresponds to the respective column, and `TRUE` indicates
+ that the column content can be retrieved in the requested format, `FALSE` denies this.
+
+ @see XGridColumnFactory
+ @see DataAwareControlModel
+ @see XGridFieldDataSupplier::queryFieldData
+ */
+ sequence<boolean> queryFieldDataType( [in] type xType );
+
+ /** retrieves the actual column data for the given row
+
+ <p>If a column does not support the requested type, `NULL` is returned at the respective
+ position.</p>
+
+ @see XGridFieldDataSupplier::queryFieldDataType
+ */
+ sequence<any> queryFieldData( [in] long nRow,
+ [in] type xType );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/XGridPeer.idl b/offapi/com/sun/star/form/XGridPeer.idl
new file mode 100644
index 000000000..0cede6e57
--- /dev/null
+++ b/offapi/com/sun/star/form/XGridPeer.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_form_XGridPeer_idl__
+#define __com_sun_star_form_XGridPeer_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/container/XIndexContainer.idl>
+
+
+
+ module com { module sun { module star { module form {
+
+
+/** represents the window peer of a GridControl and allows you to set
+ and retrieve the model data.
+
+ <p>Usually, the columns used are the columns as supplied by the grid control model.</p>
+
+ <p>You should use this interface only if you know exactly what you are doing. Tampering
+ with the columns of a grid control which is part of a complex form can really hurt...</p>
+
+ @deprecated
+ @see com::sun::star::awt::XWindowPeer
+ @see com::sun::star::form::component::GridControl
+ */
+published interface XGridPeer: com::sun::star::uno::XInterface
+{
+
+ /** retrieves the currently used column definitions of the peer.
+ */
+ com::sun::star::container::XIndexContainer getColumns();
+
+
+ /** sets the column definition for the peer.
+ */
+ void setColumns( [in] com::sun::star::container::XIndexContainer aColumns );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/XImageProducerSupplier.idl b/offapi/com/sun/star/form/XImageProducerSupplier.idl
new file mode 100644
index 000000000..15bfc298a
--- /dev/null
+++ b/offapi/com/sun/star/form/XImageProducerSupplier.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_form_XImageProducerSupplier_idl__
+#define __com_sun_star_form_XImageProducerSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/awt/XImageProducer.idl>
+
+
+
+ module com { module sun { module star { module form {
+
+
+/** provides the access to an image producer.
+
+ @see com::sun::star::awt::XImageProducer
+ */
+published interface XImageProducerSupplier: com::sun::star::uno::XInterface
+{
+
+ /** accesses the image producer.
+
+ @returns
+ the image producer.
+ */
+ com::sun::star::awt::XImageProducer getImageProducer();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/XInsertListener.idl b/offapi/com/sun/star/form/XInsertListener.idl
new file mode 100644
index 000000000..4965895d8
--- /dev/null
+++ b/offapi/com/sun/star/form/XInsertListener.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_form_XInsertListener_idl__
+#define __com_sun_star_form_XInsertListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+
+#include <com/sun/star/lang/EventObject.idl>
+
+
+
+ module com { module sun { module star { module form {
+
+
+/** allows to receive notifications about insertions into a database form.
+
+ <p>Please do <em><b>not</b></em> use anymore, this interface is deprecated, and
+ superseded by functionality from the com::sun::star::form::component::DataForm
+ service, as well as the com::sun::star::sdbc::XRowSetListener and
+ com::sun::star::sdb::XRowSetApproveListener interfaces.</p>
+
+ @deprecated
+ */
+published interface XInsertListener: com::sun::star::lang::XEventListener
+{
+
+ /** is invoked when a database form starts inserting a record.
+ */
+ void inserting( [in] com::sun::star::lang::EventObject aEvent );
+
+
+ /** is invoked after a database form has inserted a record to a data source.
+ */
+ void inserted( [in] com::sun::star::lang::EventObject aEvent );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/XLoadListener.idl b/offapi/com/sun/star/form/XLoadListener.idl
new file mode 100644
index 000000000..1ee89d5d5
--- /dev/null
+++ b/offapi/com/sun/star/form/XLoadListener.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_form_XLoadListener_idl__
+#define __com_sun_star_form_XLoadListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+
+#include <com/sun/star/lang/EventObject.idl>
+
+
+
+ module com { module sun { module star { module form {
+
+
+/** receives load-related events from a loadable object.
+
+ <p>The interface is typically implemented by data-bound components,
+ which want to listen to the data source that contains their database
+ form.</p>
+
+ @see com::sun::star::form::XLoadable
+ @see DataAwareControlModel
+ */
+published interface XLoadListener: com::sun::star::lang::XEventListener
+{
+
+ /** is invoked when the object has successfully connected to a datasource.
+
+ @param aEvent
+ the event happened.
+ */
+ void loaded( [in] com::sun::star::lang::EventObject aEvent );
+
+
+ /** is invoked when the object is about to be unloaded.
+ <p>Components may use this to stop any other event processing related to
+ the event source before the object is unloaded.</p>
+
+ @param aEvent
+ the event happened.
+ */
+ void unloading( [in] com::sun::star::lang::EventObject aEvent );
+
+
+ /** is invoked after the object has disconnected from a datasource.
+
+ @param aEvent
+ the event happened.
+ */
+ void unloaded( [in] com::sun::star::lang::EventObject aEvent );
+
+
+ /** is invoked when the object is about to be reloaded.
+
+ <p>Components may use this to stop any other event processing related
+ to the event source until they get the reloaded event.</p>
+
+ @param aEvent
+ the event happened.
+ */
+ void reloading( [in] com::sun::star::lang::EventObject aEvent );
+
+
+ /** is invoked when the object has been reloaded.
+
+ @param aEvent
+ the event happened.
+ */
+ void reloaded( [in] com::sun::star::lang::EventObject aEvent );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/XLoadable.idl b/offapi/com/sun/star/form/XLoadable.idl
new file mode 100644
index 000000000..1edf9d086
--- /dev/null
+++ b/offapi/com/sun/star/form/XLoadable.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_form_XLoadable_idl__
+#define __com_sun_star_form_XLoadable_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/form/XLoadListener.idl>
+
+
+ module com { module sun { module star { module form {
+
+
+/** provides functionality to implement objects which may be loaded.
+
+ <p>The object is typically implemented by high-level objects which can connect to a data source.</p>
+
+ @see XLoadListener
+ */
+published interface XLoadable: com::sun::star::uno::XInterface
+{
+
+ /** loads the data.
+
+ <p>If the data is already loaded (->isLoaded), then the method returns silently.
+ In this case, you should use ->reload.</p>
+ */
+ void load();
+
+
+ /** unloads the data.
+ */
+ void unload();
+
+
+ /** does a smart refresh of the object.
+
+ <p>The final state will be the same as if unload and load were called, but reload
+ is the more efficient way to do the same. If the object isn't loaded, nothing happens.</p>
+ */
+ void reload();
+
+
+ /** returns if the object is in loaded state.
+ */
+ boolean isLoaded();
+
+
+ /** adds the specified listener to receive load-related events
+
+ @param aListener
+ the listener to add.
+ */
+ void addLoadListener( [in] com::sun::star::form::XLoadListener aListener );
+
+
+ /** removes the specified listener.
+
+ @param aListener
+ the listener to remove.
+ */
+ void removeLoadListener( [in] com::sun::star::form::XLoadListener aListener );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/XPositioningListener.idl b/offapi/com/sun/star/form/XPositioningListener.idl
new file mode 100644
index 000000000..c8d81aed0
--- /dev/null
+++ b/offapi/com/sun/star/form/XPositioningListener.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_form_XPositioningListener_idl__
+#define __com_sun_star_form_XPositioningListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+
+#include <com/sun/star/lang/EventObject.idl>
+
+
+
+ module com { module sun { module star { module form {
+
+
+/** allows to receive notifications about cursor movements into a database form.
+
+ <p>Please do <em><b>not</b></em> use anymore, this interface is deprecated, and
+ superseded by functionality from the com::sun::star::form::component::DataForm
+ service, as well as the com::sun::star::sdbc::XRowSetListener.</p>
+
+ @deprecated
+ */
+published interface XPositioningListener: com::sun::star::lang::XEventListener
+{
+
+ /** is invoked when the database form has been positioned on a data record.
+ */
+ void positioned( [in] com::sun::star::lang::EventObject aEvent );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/XReset.idl b/offapi/com/sun/star/form/XReset.idl
new file mode 100644
index 000000000..5dceab73b
--- /dev/null
+++ b/offapi/com/sun/star/form/XReset.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_form_XReset_idl__
+#define __com_sun_star_form_XReset_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/form/XResetListener.idl>
+
+
+
+ module com { module sun { module star { module form {
+
+
+/** provides functionality to reset components to some default values.
+
+ <p>The semantics of <em>default value</em> depends on the providing service.</p>
+ */
+published interface XReset: com::sun::star::uno::XInterface
+{
+
+ /** resets a component to some default value.
+ */
+ void reset();
+
+
+ /** adds the specified listener to receive events related to resetting the
+ component.
+
+ @param aListener
+ the listener to add.
+ */
+ void addResetListener( [in] com::sun::star::form::XResetListener aListener );
+
+
+ /** removes the specified listener
+
+ @param aListener
+ the listener to remove
+ */
+ void removeResetListener( [in] com::sun::star::form::XResetListener aListener );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/XResetListener.idl b/offapi/com/sun/star/form/XResetListener.idl
new file mode 100644
index 000000000..2d5b242cb
--- /dev/null
+++ b/offapi/com/sun/star/form/XResetListener.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_form_XResetListener_idl__
+#define __com_sun_star_form_XResetListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+
+#include <com/sun/star/lang/EventObject.idl>
+
+
+
+ module com { module sun { module star { module form {
+
+
+/** is the interface for receiving notifications about reset events.
+
+ <p>The listener is called if a component implementing the
+ XReset interface performs a reset.<br>
+ Order of events:
+ <ul><li>a reset is triggered on a component</li>
+ <li>the component calls XReset::approveReset() on all its listeners</li>
+ <li>if all listeners approve the reset operation, the data is reset</li>
+ <li>the component calls XReset::resetted() on all its listeners</li>
+ </ul>
+ </p>
+
+ @see XReset
+ */
+published interface XResetListener: com::sun::star::lang::XEventListener
+{
+
+ /** is invoked before a component is reset.
+
+ @param rEvent
+ the event happened.
+
+ @returns
+ `TRUE` when reset was approved, `FALSE` when the reset operation should be canceled.
+ */
+ boolean approveReset( [in] com::sun::star::lang::EventObject rEvent );
+
+
+ /** is invoked when a component has been reset.
+
+ @param rEvent
+ the event happened.
+ */
+ void resetted( [in] com::sun::star::lang::EventObject rEvent );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/XRestoreListener.idl b/offapi/com/sun/star/form/XRestoreListener.idl
new file mode 100644
index 000000000..cfd40d25f
--- /dev/null
+++ b/offapi/com/sun/star/form/XRestoreListener.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_form_XRestoreListener_idl__
+#define __com_sun_star_form_XRestoreListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+
+#include <com/sun/star/lang/EventObject.idl>
+
+
+
+ module com { module sun { module star { module form {
+
+
+/** receives notifications about data being restored.
+
+ <p>Such a notification is typically sent when the user cancels updating the
+ current record of a database form
+ without saving the data. After restoring, the user operates on the original data.</p>
+
+ <p>Please do <em><b>not</b></em> use anymore, this interface is deprecated, and
+ superseded by functionality from the com::sun::star::form::component::DataForm
+ and com::sun::star::sdb::RowSet services</p>
+
+ @deprecated
+ */
+published interface XRestoreListener: com::sun::star::lang::XEventListener
+{
+
+ /** is invoked when a modified record has been restored
+ */
+ void restored( [in] com::sun::star::lang::EventObject aEvent );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/XSubmit.idl b/offapi/com/sun/star/form/XSubmit.idl
new file mode 100644
index 000000000..acb935bd1
--- /dev/null
+++ b/offapi/com/sun/star/form/XSubmit.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_form_XSubmit_idl__
+#define __com_sun_star_form_XSubmit_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/awt/XControl.idl>
+
+#include <com/sun/star/awt/MouseEvent.idl>
+
+#include <com/sun/star/form/XSubmitListener.idl>
+
+
+
+ module com { module sun { module star { module form {
+
+
+/** provides functionality to submit data from a component.
+
+ <p>Usually, this is used by com::sun::star::form::component::HTMLForms.
+
+ <p>See the <A href="http://www.w3.org/TR/1999/REC-html401-19991224/interact/forms.html#h-17.13">HTML specification</A>
+ to learn about submitting forms.</p>
+ */
+published interface XSubmit: com::sun::star::uno::XInterface
+{
+
+ /** submits the component's data to a specified target.
+
+ @param aControl
+ the control whose data is to be submitted
+
+ @param aMouseEvt
+ the event which triggered the submit, if it was a mouse event
+
+ @see com::sun::star::awt::MouseEvent
+ */
+ void submit( [in] com::sun::star::awt::XControl aControl,
+ [in] com::sun::star::awt::MouseEvent aMouseEvt );
+
+
+ /** adds the specified listener to receive the "approveSubmit" event.
+
+ @param aListener
+ the listener to add.
+
+ @see com::sun::star::form::XSubmitListener
+ */
+ void addSubmitListener( [in] com::sun::star::form::XSubmitListener aListener );
+
+
+ /** removes the specified listener.
+ @param aListener
+ the listener to remove.
+ @see com::sun::star::form::XSubmitListener
+ */
+ void removeSubmitListener( [in] com::sun::star::form::XSubmitListener aListener );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/XSubmitListener.idl b/offapi/com/sun/star/form/XSubmitListener.idl
new file mode 100644
index 000000000..b22183ed3
--- /dev/null
+++ b/offapi/com/sun/star/form/XSubmitListener.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_form_XSubmitListener_idl__
+#define __com_sun_star_form_XSubmitListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+
+#include <com/sun/star/lang/EventObject.idl>
+
+
+
+ module com { module sun { module star { module form {
+
+
+/** receives notifications about data being submitted.
+
+ <p>The submission may be canceled, so the listener has the possibility
+ of verifying the data before submission.</p>
+
+ @see XSubmit
+
+ @deprecated
+ This interface is superseded by the com::sun::star::form::submission::XSubmissionVetoListener
+ interface. New implementations should use the latter, if possible.
+ */
+published interface XSubmitListener: com::sun::star::lang::XEventListener
+{
+
+ /** is invoked when a component is about to submit it's data.
+
+ @param Event
+ the event happened
+
+ @returns
+ `TRUE` when submitting was approved, otherwise `FALSE`.
+ */
+ boolean approveSubmit( [in] com::sun::star::lang::EventObject Event );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/XUpdateBroadcaster.idl b/offapi/com/sun/star/form/XUpdateBroadcaster.idl
new file mode 100644
index 000000000..ddb83f21c
--- /dev/null
+++ b/offapi/com/sun/star/form/XUpdateBroadcaster.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_form_XUpdateBroadcaster_idl__
+#define __com_sun_star_form_XUpdateBroadcaster_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/form/XUpdateListener.idl>
+
+
+
+ module com { module sun { module star { module form {
+
+
+/** is the broadcaster interface for sending "approveUpdate" and "updated" events.
+
+ <p>The component supporting this interface must do approval calls
+ (XUpdateListener::approveUpdate()) immediately
+ before the data is updated, and notification calls
+ (XUpdateListener::updated()) immediately afterwards.</p>
+
+ @see XUpdateListener
+ */
+published interface XUpdateBroadcaster: com::sun::star::uno::XInterface
+{
+
+ /** adds the specified listener to receive the events "approveUpdate"
+ and "updated".
+ @param aListener
+ the listener to add.
+ @see com::sun::star::form::XUpdateListener
+ */
+ void addUpdateListener( [in] com::sun::star::form::XUpdateListener aListener );
+
+
+ /** removes the specified listener.
+ @param aListener
+ the listener to remove.
+ @see com::sun::star::form::XUpdateListener
+ */
+ void removeUpdateListener( [in] com::sun::star::form::XUpdateListener aListener );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/XUpdateListener.idl b/offapi/com/sun/star/form/XUpdateListener.idl
new file mode 100644
index 000000000..c991603e3
--- /dev/null
+++ b/offapi/com/sun/star/form/XUpdateListener.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_form_XUpdateListener_idl__
+#define __com_sun_star_form_XUpdateListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+
+#include <com/sun/star/lang/EventObject.idl>
+
+
+
+ module com { module sun { module star { module form {
+
+
+/** used to listen on objects which allow updating their data.
+ <p>In addition to just get notified when a data update happened, the listener
+ has a chance to veto updates <em>before</em> they happen.</p>
+
+ @see XUpdateBroadcaster
+ */
+published interface XUpdateListener: com::sun::star::lang::XEventListener
+{
+
+ /** is invoked to check the current data.
+
+ <p>For a given update process, if one of the XUpdateListeners
+ vetoes the change, the update is canceled, and no further notification happens.</p>
+
+ @param aEvent
+ An event descriptor specifying the broadcaster of the change.
+
+ @returns
+ `TRUE` when the update was approved, otherwise `FALSE`.
+ */
+ boolean approveUpdate( [in] com::sun::star::lang::EventObject aEvent );
+
+
+ /** is invoked when an object has finished processing the updates and
+ the data has been successfully written.
+
+ @param aEvent
+ A event descriptor specifying the broadcaster of the change.
+ */
+ void updated( [in] com::sun::star::lang::EventObject aEvent );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/binding/BindableControlModel.idl b/offapi/com/sun/star/form/binding/BindableControlModel.idl
new file mode 100644
index 000000000..809c8a64c
--- /dev/null
+++ b/offapi/com/sun/star/form/binding/BindableControlModel.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_form_binding_BindableControlModel_idl__
+#define __com_sun_star_form_binding_BindableControlModel_idl__
+
+#include <com/sun/star/form/binding/XBindableValue.idl>
+#include <com/sun/star/form/FormControlModel.idl>
+
+
+module com { module sun { module star { module form { module binding {
+
+/** specifies the model of a form control which supports binding to an external
+ value supplier.
+*/
+service BindableControlModel
+{
+ /** specifies the basic functionality for a form control model
+
+ <p>Via this service, bindable control models inherit the
+ com::sun::star::util::XCloneable interface.<br/>
+ If a bindable control model, at which a binding has been established (via
+ XBindableValue::setValueBinding()), is being cloned, then the
+ binding is also established at the clone. Effectively, this means that
+ both control model instances share the same binding instance.</p>
+ */
+ service com::sun::star::form::FormControlModel;
+
+ /** specifies support for being bound to an external value
+
+ <p>When a BindableControlModel is bound to an external value,
+ then every change in the control model's value is <em>immediately</em> reflected
+ in the external binding.</p>
+
+ <p>If the binding set via this interface supports the ValueBinding::ReadOnly
+ and ValueBinding::Relevant properties, they're respected by the control model:
+ <ul><li>The control model's own <code>ReadOnly</code> property (if present) is kept in sync with the
+ binding's <code>ReadOnly</code> property. That is, any control using the value
+ binding is read-only as long as the binding is.</li>
+ <li>The control model's own <code>Enabled</code> property (if present) is kept in sync
+ with the binding's <code>Relevant</code> property. That is, any control using
+ the value binding is disabled as long as the binding is not relevant.</li>
+ </ul>
+ </p>
+
+ <p>In both cases, explicit changes of the model's property are ignored if they would relax
+ the restriction imposed by the binding.<br/>
+ For instance, if the binding declares its value to
+ be read-only (indicated by ValueBinding::ReadOnly being `TRUE`), then
+ any attempt to set the <code>ReadOnly</code> property of the control model to `FALSE` will
+ fail. However, if the binding's value is not read-only, then the <code>ReadOnly</code>
+ property at the control model can be freely set.<br/>
+ The very same holds for the binding's ValueBinding::Relevant and the control
+ model's <code>Enabled</code> properties.</p>
+ */
+ interface XBindableValue;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/binding/BindableDataAwareControlModel.idl b/offapi/com/sun/star/form/binding/BindableDataAwareControlModel.idl
new file mode 100644
index 000000000..4c16e55c1
--- /dev/null
+++ b/offapi/com/sun/star/form/binding/BindableDataAwareControlModel.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_form_binding_BindableDataAwareControlModel_idl__
+#define __com_sun_star_form_binding_BindableDataAwareControlModel_idl__
+
+#include <com/sun/star/form/DataAwareControlModel.idl>
+#include <com/sun/star/form/binding/BindableControlModel.idl>
+
+
+module com { module sun { module star { module form { module binding {
+
+
+/** is a specialization of the com::sun::star::form::DataAwareControlModel
+ which additionally supports binding to external value suppliers.
+
+ <p>Control models usually have some kind of value property, which reflects the very current
+ content of the controls associated with this model. For instance, for an
+ com::sun::star::form::component::TextField, this would be the
+ com::sun::star::awt::UnoControlEditModel::Text property of the base
+ service. Similarly, a com::sun::star::form::component::CheckBox has
+ a property com::sun::star::awt::UnoControlCheckBoxModel::State, which
+ reflects the current check state.</p>
+
+ <p>Usual com::sun::star::form::DataAwareControlModels can be bound to
+ a column of a com::sun::star::form::component::DataForm, and exchange
+ their content with such a column.<br/>
+ In particular, when the com::sun::star::form::component::DataForm
+ is moved to a different record, then the bound control model is updated with the value of
+ it's column in this particular row.<br/>
+ On the other hand, when any change in the control model (e.g. resulting from a user entering
+ data in a control associated with the control model) is committed
+ (com::sun::star::form::XBoundComponent::commit()), then the actual
+ data of the control model is written into the associated
+ com::sun::star::form::component::DataForm column.</p>
+
+ <p>BindableDataAwareControlModel's additionally support an alternative value
+ binding, which forces them to exchange their value with another foreign instance.
+ In some sense, they are an abstraction of the data aware control models, which only
+ support a specialized, hard-coded value binding (namely the binding to a
+ com::sun::star::form::component::DataForm column).</p>
+
+ <p>For this, they provide the XBindableValue interface which allows to
+ set an external component to exchange the value with.</p>
+
+ <p>The following rules apply when a data aware control model is bound to an external value binding:
+ <ul><li><b>Priority</b><br/>
+ External value bindings overrule any active SQL-column binding. If an external
+ component is bound to a control model which currently has an active SQL binding,
+ this SQL binding is suspended, until the external binding is revoked.
+ </li>
+ <li><b>Activation</b><br/>
+ An external value binding becomes effective as soon as it is set. This is a
+ difference to SQL bindings, which only are effective when the parent form
+ of the control model is loaded (com::sun::star::form::XLoadable).
+ </li>
+ <li><b>Immediacy</b><br/>
+ When a BindableDataAwareControlModel is bound to an external value,
+ then every change in the control model's value is <em>immediately</em> reflected
+ in the external binding. This is a difference to SQL bindings of most
+ com::sun::star::form::DataAwareControlModel's, where changes
+ in the control model's value are only propagated to the bound column upon explicit
+ request via com::sun::star::form::XBoundComponent::commit().<br/>
+ Note that this restriction is inherited from the BindableControlModel.
+ </li>
+ <li><b>Cloning</b><br/>
+ com::sun::star::form::FormControlModels support cloning themselves
+ via the com::sun::star::util::XCloneable interface which they
+ inherit from the com::sun::star::awt::UnoControlModel service.<br>
+ When a BindableDataAwareControlModel is cloned while it has an active
+ external value binding, then the clone is also bound to the same binding instance.<br/>
+ Note that this restriction is inherited from the BindableControlModel.
+ </li>
+ </ul>
+ </p>
+
+ <p>When a BindableDataAwareControlModel is being bound to an external value,
+ using XBindableValue::setValueBinding(),
+ then the control model (its value property, respectively) and the external value are
+ initially synchronized by setting the external value (XValueBinding::getValue())
+ at the control model.</p>
+
+*/
+service BindableDataAwareControlModel
+{
+ /** specifies the functionality for binding the control model to a
+ column of an SQL com::sun::star::form::component::DataForm.
+ */
+ service com::sun::star::form::DataAwareControlModel;
+
+ /** specifies the functionality for <em>alternatively</em> binding the control model
+ to an external value.
+ */
+ service BindableControlModel;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/binding/BindableDatabaseCheckBox.idl b/offapi/com/sun/star/form/binding/BindableDatabaseCheckBox.idl
new file mode 100644
index 000000000..a043e6214
--- /dev/null
+++ b/offapi/com/sun/star/form/binding/BindableDatabaseCheckBox.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_form_binding_BindableDatabaseCheckBox_idl__
+#define __com_sun_star_form_binding_BindableDatabaseCheckBox_idl__
+
+#include <com/sun/star/form/component/DatabaseCheckBox.idl>
+#include <com/sun/star/form/binding/BindableDataAwareControlModel.idl>
+
+
+module com { module sun { module star { module form { module binding {
+
+
+/** This service specifies a check box which is data-aware and thus can be bound to a
+ database field, and additionally supports binding to arbitrary external values.
+
+ <p>The com::sun::star::form::binding::XValueBinding instance which
+ can be associated with a BindableDatabaseCheckBox must support exchanging
+ boolean values. The following mapping between external values and control states apply:
+ <ul><li>`TRUE` will be mapped to the box being checked, and vice versa</li>
+ <li>`FALSE` will be mapped to it being unchecked, and vice versa</li>
+ <li>`NULL` will be mapped to it being in undetermined state, if the box currently supports
+ this, or being unchecked else. The undetermined of the check box will always be
+ mapped to `NULL` when writing the external value.</li>
+ </ul></p>
+
+ <p>If the value binding associated with a BindableDatabaseCheckBox
+ supports exchanging string values, <em>and</em> the com::sun::star::form::component::CheckBox::RefValue
+ is <em>not</em> empty, then the radio button will exchange its value as string:
+ <ul><li>A string equal to the reference value will be mapped to the button being checked, and vice versa</li>
+ <li>A string not equal to the reference value will be mapped to the button being unchecked, and vice versa</li>
+ <li>`NULL` will be mapped to it being in undetermined state</li>
+ </ul></p>
+
+ @see com::sun::star::form::binding::XValueBinding::supportsType
+ @see com::sun::star::awt::UnoControlCheckBoxModel::State
+ @see com::sun::star::awt::UnoControlCheckBoxModel::TriState
+ @see com::sun::star::form::component::CheckBox::RefValue
+ */
+service BindableDatabaseCheckBox
+{
+ service com::sun::star::form::component::DatabaseCheckBox;
+
+ /** specifies the interaction between an internal binding to a database column,
+ and an external value binding.</p>
+ */
+ service com::sun::star::form::binding::BindableDataAwareControlModel;
+
+ /** specifies a value which is to be associated with the control when it's <em>not</em>
+ checked.
+
+ <p>com::sun::star::form::component::CheckBox::RefValue is transferred to
+ possible external value bindings as soon as the check box is checked. With the member
+ #SecondaryRefValue, clients of the check box can also associate a value with
+ the <em>not checked</em> state of the control.</p>
+ */
+ [property] string SecondaryRefValue;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/binding/BindableDatabaseComboBox.idl b/offapi/com/sun/star/form/binding/BindableDatabaseComboBox.idl
new file mode 100644
index 000000000..8742e053c
--- /dev/null
+++ b/offapi/com/sun/star/form/binding/BindableDatabaseComboBox.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_form_binding_BindableDatabaseComboBox_idl__
+#define __com_sun_star_form_binding_BindableDatabaseComboBox_idl__
+
+#include <com/sun/star/form/component/DatabaseComboBox.idl>
+#include <com/sun/star/form/binding/BindableDataAwareControlModel.idl>
+
+
+module com { module sun { module star { module form { module binding {
+
+
+/** This service specifies a model of a combo box (a list box combined with a text
+ input field) which is data-aware and thus can be bound to a database field,
+ and additionally supports binding to arbitrary external values.
+
+ <p>If a com::sun::star::form::binding::ValueBinding instance is
+ set at the field, it will exchange it's text with the binding as <em>string</em>, thus only
+ bindings supporting string exchange will be accepted in
+ com::sun::star::form::binding::XValueBinding::setValueBinding().
+ </p>
+
+ @see com::sun::star::form::binding::XValueBinding::supportsType
+ @see com::sun::star::awt::UnoControlComboBoxModel::Text
+ */
+service BindableDatabaseComboBox
+{
+ service com::sun::star::form::component::DatabaseComboBox;
+
+ /** specifies the interaction between an internal binding to a database column,
+ and an external value binding.</p>
+ */
+ service com::sun::star::form::binding::BindableDataAwareControlModel;
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/binding/BindableDatabaseDateField.idl b/offapi/com/sun/star/form/binding/BindableDatabaseDateField.idl
new file mode 100644
index 000000000..3623f35bb
--- /dev/null
+++ b/offapi/com/sun/star/form/binding/BindableDatabaseDateField.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_form_binding_BindableDatabaseDateField_idl__
+#define __com_sun_star_form_binding_BindableDatabaseDateField_idl__
+
+#include <com/sun/star/form/component/DatabaseDateField.idl>
+#include <com/sun/star/form/binding/BindableDataAwareControlModel.idl>
+
+
+module com { module sun { module star { module form { module binding {
+
+
+/** This service specifies a date input field which is data-aware and thus can be bound to a
+ database field, and additionally supports binding to arbitrary external values.
+
+ <p>If a com::sun::star::form::binding::ValueBinding instance is
+ set at the field, it will exchange it's content with the binding as com::sun::star::util::Date.
+ </p>
+
+ @see com::sun::star::form::binding::XValueBinding::supportsType
+ @see com::sun::star::awt::UnoControlDateFieldModel::Date
+ */
+service BindableDatabaseDateField
+{
+ service com::sun::star::form::component::DatabaseDateField;
+
+ /** specifies the interaction between an internal binding to a database column,
+ and an external value binding.</p>
+ */
+ service com::sun::star::form::binding::BindableDataAwareControlModel;
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/binding/BindableDatabaseFormattedField.idl b/offapi/com/sun/star/form/binding/BindableDatabaseFormattedField.idl
new file mode 100644
index 000000000..b463892f3
--- /dev/null
+++ b/offapi/com/sun/star/form/binding/BindableDatabaseFormattedField.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_form_binding_BindableDatabaseFormattedField_idl__
+#define __com_sun_star_form_binding_BindableDatabaseFormattedField_idl__
+
+#include <com/sun/star/form/component/DatabaseFormattedField.idl>
+#include <com/sun/star/form/binding/BindableDataAwareControlModel.idl>
+
+
+module com { module sun { module star { module form { module binding {
+
+
+/** This service specifies a formatted input field which is data-aware and thus can be bound to a
+ database field, and additionally supports binding to arbitrary external values.
+
+ <p>The com::sun::star::form::binding::XValueBinding instance which
+ can be associated with a BindableDatabaseFormattedField must support exchanging
+ values of type <em>double</em>.</p>
+
+ @see com::sun::star::form::binding::XValueBinding::supportsType
+ */
+service BindableDatabaseFormattedField
+{
+ service com::sun::star::form::component::DatabaseFormattedField;
+
+ /** specifies the interaction between an internal binding to a database column,
+ and an external value binding.</p>
+ */
+ service com::sun::star::form::binding::BindableDataAwareControlModel;
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/binding/BindableDatabaseListBox.idl b/offapi/com/sun/star/form/binding/BindableDatabaseListBox.idl
new file mode 100644
index 000000000..3b02e46f5
--- /dev/null
+++ b/offapi/com/sun/star/form/binding/BindableDatabaseListBox.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_form_binding_BindableDatabaseListBox_idl__
+#define __com_sun_star_form_binding_BindableDatabaseListBox_idl__
+
+#include <com/sun/star/form/component/DatabaseListBox.idl>
+#include <com/sun/star/form/binding/BindableDataAwareControlModel.idl>
+
+
+module com { module sun { module star { module form { module binding {
+
+/** This service specifies a list box model which is data-aware and thus can be bound to a
+ database field, and additionally supports binding to arbitrary external values.
+
+ <p>There are six possible ways that a BindableDatabaseListBox exchanges
+ values with an external binding. If a new binding
+ is set at a BindableDatabaseListBox, the types from the following list are
+ tried in descending order: The first type supported by the binding is used for data exchange.
+ <ol>
+ <li><em>sequences of `any`s</em>:
+ The elements in the sequence will represent
+ the values the selected entries of the list box
+ (taken from ValueList or read from BoundColumn).
+ In other words, the SelectedValues property.</li>
+ <li><em>`any` value</em>:
+ The value will represent the value of the selected entry
+ (taken from ValueList or read from BoundColumn).
+ If more than one entry is selected,
+ `NULL` will be transferred.
+ In other words, the SelectedValue property.</li>
+ <li><em>sequences of long integers</em>: When used, the integers in the sequence will represent
+ the indexes of the selected entries of the list box.</li>
+ <li><em>long integer value</em>: When used, the value will represent the index of the selected entry.
+ If no entry is selected, -1 will be transferred. If more than one entry is selected, `NULL`
+ will be transferred.</li>
+ <li><em>sequences of strings</em>: When used, the strings in the sequence present the texts
+ of the selected entries of the list box.</li>
+ <li><em>string values</em>: When used. the value will represent the text of the selected entry.
+ If no entry is selected, an empty string will be transferred. If more than one entry is selected,
+ `NULL` will be transferred.</li>
+ </ol></p>
+
+ @see com::sun::star::form::binding::XValueBinding::supportsType
+ */
+service BindableDatabaseListBox
+{
+ service com::sun::star::form::component::DatabaseListBox;
+
+ /** specifies the interaction between an internal binding to a database column,
+ and an external value binding.</p>
+ */
+ service com::sun::star::form::binding::BindableDataAwareControlModel;
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/binding/BindableDatabaseNumericField.idl b/offapi/com/sun/star/form/binding/BindableDatabaseNumericField.idl
new file mode 100644
index 000000000..f8c0eb96f
--- /dev/null
+++ b/offapi/com/sun/star/form/binding/BindableDatabaseNumericField.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_form_binding_BindableDatabaseNumericField_idl__
+#define __com_sun_star_form_binding_BindableDatabaseNumericField_idl__
+
+#include <com/sun/star/form/component/DatabaseNumericField.idl>
+#include <com/sun/star/form/binding/BindableDataAwareControlModel.idl>
+
+
+module com { module sun { module star { module form { module binding {
+
+
+/** This service specifies a numeric input field which is data-aware and thus can be bound to a
+ database field, and additionally supports binding to arbitrary external values.
+
+ <p>The com::sun::star::form::binding::XValueBinding instance which
+ can be associated with a BindableDatabaseNumericField must support exchanging
+ values of type <em>double</em>.</p>
+
+ @see com::sun::star::form::binding::XValueBinding::supportsType
+ */
+service BindableDatabaseNumericField
+{
+ service com::sun::star::form::component::DatabaseNumericField;
+
+ /** specifies the interaction between an internal binding to a database column,
+ and an external value binding.</p>
+ */
+ service com::sun::star::form::binding::BindableDataAwareControlModel;
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/binding/BindableDatabaseRadioButton.idl b/offapi/com/sun/star/form/binding/BindableDatabaseRadioButton.idl
new file mode 100644
index 000000000..49801caca
--- /dev/null
+++ b/offapi/com/sun/star/form/binding/BindableDatabaseRadioButton.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_form_binding_BindableDatabaseRadioButton_idl__
+#define __com_sun_star_form_binding_BindableDatabaseRadioButton_idl__
+
+#include <com/sun/star/form/component/DatabaseRadioButton.idl>
+#include <com/sun/star/form/binding/BindableDataAwareControlModel.idl>
+
+
+module com { module sun { module star { module form { module binding {
+
+
+/** This service specifies a radio button which is data-aware and thus can be bound to a
+ database field, and additionally supports binding to arbitrary external values.
+
+ <p>The com::sun::star::form::binding::XValueBinding instance which
+ can be associated with a BindableDatabaseRadioButton must support exchanging
+ boolean values. The following mapping between external values and control states apply:
+ <ul><li>`TRUE` will be mapped to the button being checked, and vice versa</li>
+ <li>`FALSE` will be mapped to it being unchecked, and vice versa</li>
+ <li>`NULL` will be mapped to it being in undetermined state</li>
+ </ul></p>
+
+ <p>If the value binding associated with a BindableDatabaseRadioButton
+ supports exchanging string values, <em>and</em> the com::sun::star::form::component::RadioButton::RefValue
+ is <em>not</em> empty, then the radio button will exchange its value as string:
+ <ul><li>A string equal to the reference value will be mapped to the button being checked, and vice versa</li>
+ <li>A string not equal to the reference value will be mapped to the button being unchecked, and vice versa</li>
+ <li>`NULL` will be mapped to it being in undetermined state</li>
+ </ul></p>
+
+ @see com::sun::star::form::binding::XValueBinding::supportsType
+ @see com::sun::star::awt::UnoControlRadioButtonModel::State
+ @see com::sun::star::form::component::RadioButton::RefValue
+ */
+service BindableDatabaseRadioButton
+{
+ service com::sun::star::form::component::DatabaseRadioButton;
+
+ /** specifies the interaction between an internal binding to a database column,
+ and an external value binding.</p>
+ */
+ service com::sun::star::form::binding::BindableDataAwareControlModel;
+
+ /** specifies a value which is to be associated with the control when it's <em>not</em>
+ selected.
+
+ <p>com::sun::star::form::component::RadioButton::RefValue is transferred to
+ possible external value bindings as soon as the radio button is selected. With the member
+ #SecondaryRefValue, clients of the radio button can also associate a value with
+ the <em>not selected</em> state of the control.</p>
+ */
+ [property] string SecondaryRefValue;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/binding/BindableDatabaseTextField.idl b/offapi/com/sun/star/form/binding/BindableDatabaseTextField.idl
new file mode 100644
index 000000000..d321c808a
--- /dev/null
+++ b/offapi/com/sun/star/form/binding/BindableDatabaseTextField.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_form_binding_BindableDatabaseTextField_idl__
+#define __com_sun_star_form_binding_BindableDatabaseTextField_idl__
+
+#include <com/sun/star/form/component/DatabaseTextField.idl>
+#include <com/sun/star/form/binding/BindableDataAwareControlModel.idl>
+
+
+module com { module sun { module star { module form { module binding {
+
+
+/** This service specifies a text input field which is data-aware and thus can be bound to a
+ database field, and additionally supports binding to arbitrary external values.
+
+ <p>If a com::sun::star::form::binding::ValueBinding instance is
+ set at the field, it will exchange it's text with the binding as <em>string</em>, thus only
+ bindings supporting string exchange will be accepted in
+ com::sun::star::form::binding::XValueBinding::setValueBinding().
+ </p>
+
+ @see com::sun::star::form::binding::XValueBinding::supportsType
+ @see com::sun::star::awt::UnoControlEditModel::Text
+ */
+service BindableDatabaseTextField
+{
+ service com::sun::star::form::component::DatabaseTextField;
+
+ /** specifies the interaction between an internal binding to a database column,
+ and an external value binding.</p>
+ */
+ service com::sun::star::form::binding::BindableDataAwareControlModel;
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/binding/BindableDatabaseTimeField.idl b/offapi/com/sun/star/form/binding/BindableDatabaseTimeField.idl
new file mode 100644
index 000000000..955070aea
--- /dev/null
+++ b/offapi/com/sun/star/form/binding/BindableDatabaseTimeField.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_form_binding_BindableDatabaseTimeField_idl__
+#define __com_sun_star_form_binding_BindableDatabaseTimeField_idl__
+
+#include <com/sun/star/form/component/DatabaseTimeField.idl>
+#include <com/sun/star/form/binding/BindableDataAwareControlModel.idl>
+
+
+module com { module sun { module star { module form { module binding {
+
+
+/** This service specifies a date input field which is data-aware and thus can be bound to a
+ database field, and additionally supports binding to arbitrary external values.
+
+ <p>If a com::sun::star::form::binding::ValueBinding instance is
+ set at the field, it will exchange it's content with the binding as com::sun::star::util::Time.
+ </p>
+
+ @see com::sun::star::form::binding::XValueBinding::supportsType
+ @see com::sun::star::awt::UnoControlTimeFieldModel::Time
+ */
+service BindableDatabaseTimeField
+{
+ service com::sun::star::form::component::DatabaseTimeField;
+
+ /** specifies the interaction between an internal binding to a database column,
+ and an external value binding.</p>
+ */
+ service com::sun::star::form::binding::BindableDataAwareControlModel;
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/binding/BindableIntegerValueRange.idl b/offapi/com/sun/star/form/binding/BindableIntegerValueRange.idl
new file mode 100644
index 000000000..11f235a7c
--- /dev/null
+++ b/offapi/com/sun/star/form/binding/BindableIntegerValueRange.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_form_binding_BindableIntegerValueRange_idl__
+#define __com_sun_star_form_binding_BindableIntegerValueRange_idl__
+
+#include <com/sun/star/form/binding/BindableControlModel.idl>
+
+
+module com { module sun { module star { module form { module binding {
+
+
+/** this service specifies a BindableControlModel which reflects
+ an integer value, out of a range of permitted integer values.
+
+ <p>BindableIntegerValueRanges have a value property, a minimum, and a maximum,
+ all of type integer.</p>
+*/
+service BindableIntegerValueRange
+{
+ /** specifies that the control can be bound to external values
+
+ <p>Any binding used with the control model (see XBindableValue::setValueBinding())
+ must support exchanging double values.</p>
+
+ <p>When the (integer) value reflected by the control model is changed, it's converted
+ into a double value and propagated to the binding.</p>
+
+ <p>When the external (double) value changes, it's converted as follows to an integer
+ value:
+ <ul><li>If the external value is `NULL`, the current value of the control model
+ will be set to its minimum.</li>
+ <li>If the external value is the <em>infinite</em> value, the control value will
+ be set to its maximum or minimum, depending on the sign of the external value.</li>
+ <li>If none of the aforementioned conditions is met, the external value will be simply
+ rounded.</li>
+ </ul>
+ */
+ service com::sun::star::form::binding::BindableControlModel;
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/binding/IncompatibleTypesException.idl b/offapi/com/sun/star/form/binding/IncompatibleTypesException.idl
new file mode 100644
index 000000000..93a57e44c
--- /dev/null
+++ b/offapi/com/sun/star/form/binding/IncompatibleTypesException.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_form_binding_IncompatibleTypesException_idl__
+#define __com_sun_star_form_binding_IncompatibleTypesException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+
+module com { module sun { module star { module form { module binding {
+
+
+/** thrown to indicate that the types of an XValueBinding and
+ an XBindableValue are incompatible
+*/
+exception IncompatibleTypesException: com::sun::star::uno::Exception
+{
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/binding/InvalidBindingStateException.idl b/offapi/com/sun/star/form/binding/InvalidBindingStateException.idl
new file mode 100644
index 000000000..18bda6070
--- /dev/null
+++ b/offapi/com/sun/star/form/binding/InvalidBindingStateException.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_form_binding_InvalidBindingStateException_idl__
+#define __com_sun_star_form_binding_InvalidBindingStateException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+
+module com { module sun { module star { module form { module binding {
+
+
+/** thrown when an XValueBinding cannot perform a requested
+ operation due to an invalid state.
+*/
+exception InvalidBindingStateException: com::sun::star::uno::Exception
+{
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/binding/ListEntryEvent.idl b/offapi/com/sun/star/form/binding/ListEntryEvent.idl
new file mode 100644
index 000000000..68a41ecc4
--- /dev/null
+++ b/offapi/com/sun/star/form/binding/ListEntryEvent.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_form_binding_ListEntryEvent_idl__
+#define __com_sun_star_form_binding_ListEntryEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+
+
+module com { module sun { module star { module form { module binding {
+
+
+/** specifies the event which is notified when a change in a string entry
+ list occurred
+
+ @see XListEntrySource
+ @see XListEntryListener
+*/
+struct ListEntryEvent : com::sun::star::lang::EventObject
+{
+ /** denotes the position where a change occurred.
+
+ <p>The concrete semantics of the value depends on the concrete
+ event being notified.</p>
+ */
+ long Position;
+
+ /** denotes the number of changed entries, in case a change of
+ an entry <em>range</em> is being notified.
+ */
+ long Count;
+
+ /** denotes the changed entries
+
+ <p>The concrete semantics of the value depends on the concrete
+ event being notified.</p>
+ */
+ sequence< string >
+ Entries;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/binding/ListEntrySource.idl b/offapi/com/sun/star/form/binding/ListEntrySource.idl
new file mode 100644
index 000000000..0779cfa97
--- /dev/null
+++ b/offapi/com/sun/star/form/binding/ListEntrySource.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_form_binding_ListEntrySource_idl__
+#define __com_sun_star_form_binding_ListEntrySource_idl__
+
+#include <com/sun/star/form/binding/XListEntrySource.idl>
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/util/XModifyBroadcaster.idl>
+
+
+module com { module sun { module star { module form { module binding {
+
+
+/** defines a component which provides a list of string entries
+*/
+service ListEntrySource
+{
+ /** allows read access to the entries represented by this component
+ */
+ interface XListEntrySource;
+
+ /** allows life time control for the component
+
+ <p>An ListEntrySource will be known to one ore more components
+ supporting the XListEntrySink interface, which all work with
+ this source. However, they will not <em>own</em> the ListEntrySource.
+ The ownership is with another instance, which may also decide to obsolete
+ the ListEntrySource for whatever reasons (e.g. because the data model
+ which the binding reflected died). For this reason, a ListEntrySource
+ must offer a possibility to be obsoleted by its owner, and to notify this
+ obsoleteness to other interested parties, such as XListEntrySinks.</p>
+ */
+ interface com::sun::star::lang::XComponent;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/binding/ValueBinding.idl b/offapi/com/sun/star/form/binding/ValueBinding.idl
new file mode 100644
index 000000000..9ab7a20bf
--- /dev/null
+++ b/offapi/com/sun/star/form/binding/ValueBinding.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_form_binding_ValueBinding_idl__
+#define __com_sun_star_form_binding_ValueBinding_idl__
+
+#include <com/sun/star/form/binding/XValueBinding.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/util/XModifyBroadcaster.idl>
+
+
+module com { module sun { module star { module form { module binding {
+
+
+/** defines a component which allows access to a single value
+
+ <p>Read/Write access to the value represented by this component is supported,
+ as well as (optionally) active broadcasting of value changes</p>
+*/
+service ValueBinding
+{
+ /** determines whether the value is currently readonly
+
+ <p>For instance, you could imagine a ValueBinding which
+ represents a cell in a spreadsheet document, and whose value is readonly
+ as long as the spreadsheet is locked.</p>
+
+ <p>As long as this property is `TRUE`, the value binding should throw
+ an InvalidBindingStateException when its
+ XValueBinding::setValue() method is invoked.</p>
+ */
+ [optional, property, bound, readonly] boolean ReadOnly;
+
+ /** determines the relevance of the value represented by the binding
+
+ <p>In a more complex scenario, where different form controls are bound to different
+ values, which all are part of a larger data structure, some of the items in this
+ data structure may not be relevant currently. This is indicated by the
+ #Relevant property being `FALSE`.</p>
+
+ <p>XBindableValues which are bound to this binding may or may not
+ react in certain ways on the (ir)relevance of their bound value.</p>
+
+ <p>One possible reaction could be that user interface elements which are associated
+ with the XBindableValue are disabled as long as #Relevant
+ is `FALSE`.</p>
+ */
+ [optional, property, bound, readonly] boolean Relevant;
+
+ /** allows access to the properties of the binding
+ */
+ [optional] interface com::sun::star::beans::XPropertySet;
+
+ /** allows read and write access to the value represented by this binding
+ */
+ interface XValueBinding;
+
+ /** allows other components to be notified when the value represented
+ by the ValueBinding instance changes.
+
+ <p>This interface is optional, since a binding may not support
+ actively notifying changes in its value. Note, however, that in case
+ this interface is not supported, the bound component cannot react
+ on value changes, and will thus override any values which are
+ set by an instance other than itself.</p>
+ */
+ [optional] interface com::sun::star::util::XModifyBroadcaster;
+
+ /** allows life time control for the component
+
+ <p>An ValueBinding may be known to one ore more components
+ supporting the XBindableValue interface, which all work with
+ this binding. However, they will not <em>own</em> the ValueBinding.
+ The ownership is with another instance, which may also decide to obsolete
+ the ValueBinding for whatever reasons (e.g. because the data model
+ which the binding reflected died). For this reason, a ValueBinding
+ must offer a possibility to be obsoleted by its owner, and to notify this
+ obsoleteness to other interested parties, such as XBindableValues.</p>
+ */
+ interface com::sun::star::lang::XComponent;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/binding/XBindableValue.idl b/offapi/com/sun/star/form/binding/XBindableValue.idl
new file mode 100644
index 000000000..0659bdace
--- /dev/null
+++ b/offapi/com/sun/star/form/binding/XBindableValue.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_form_binding_XBindableValue_idl__
+#define __com_sun_star_form_binding_XBindableValue_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/form/binding/IncompatibleTypesException.idl>
+
+
+module com { module sun { module star { module form { module binding {
+
+interface XValueBinding;
+
+
+/** specifies support for being bound to an external value
+
+ @see XValueBinding
+*/
+interface XBindableValue : com::sun::star::uno::XInterface
+{
+ /** sets an external instance which controls the value of the component
+
+ <p>Any previously active binding will be revoked. There can be only one!</p>
+
+ @param aBinding
+ the new binding which is to be used by the component. May be `NULL`,
+ in this case only the current binding is revoked.
+
+ @throws IncompatibleTypesException
+ if the new binding (provided it's not `NULL`) supports only types
+ which are incompatible with the types of the bindable component.
+ */
+ void setValueBinding( [in] XValueBinding aBinding )
+ raises ( IncompatibleTypesException );
+
+ /** retrieves the external instance which currently controls the value of the
+ component
+ */
+ XValueBinding
+ getValueBinding( );
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/binding/XListEntryListener.idl b/offapi/com/sun/star/form/binding/XListEntryListener.idl
new file mode 100644
index 000000000..b14a4a081
--- /dev/null
+++ b/offapi/com/sun/star/form/binding/XListEntryListener.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_form_binding_XListEntryListener_idl__
+#define __com_sun_star_form_binding_XListEntryListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+#include <com/sun/star/form/binding/ListEntryEvent.idl>
+
+
+module com { module sun { module star { module form { module binding {
+
+
+/** specifies a listener for changes in a string entry list
+*/
+interface XListEntryListener : com::sun::star::lang::XEventListener
+{
+ /** notifies the listener that a single entry in the list has change
+
+ @param Source
+ is the event describing the change. The ListEntryEvent::Position
+ member denotes the position of the changed entry, the first (and only) element
+ of the ListEntryEvent::Entries member denotes the new string
+ */
+ void entryChanged( [in] ListEntryEvent Source );
+
+ /** notifies the listener that a range of entries has been inserted into the list
+
+ @param Source
+ is the event describing the change. The ListEntryEvent::Position
+ member denotes the position of the first inserted entry, the
+ ListEntryEvent::Entries member contains the strings which have
+ been inserted.
+ */
+ void entryRangeInserted( [in] ListEntryEvent Source );
+
+ /** notifies the listener that a range of entries has been removed from the list
+
+ @param Source
+ is the event describing the change. The ListEntryEvent::Position
+ member denotes the position of the first removed entry, the
+ ListEntryEvent::Count member the number of removed entries.
+ */
+ void entryRangeRemoved( [in] ListEntryEvent Source );
+
+ /** notifies the listener that all entries of the list have changed.
+
+ <p>The listener should retrieve the complete new list by calling the
+ XListEntrySource::getAllListEntries() method of the event source
+ (which is denoted by com::sun::star::lang::EventObject::Source).
+ */
+ void allEntriesChanged( [in] com::sun::star::lang::EventObject Source );
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/binding/XListEntrySink.idl b/offapi/com/sun/star/form/binding/XListEntrySink.idl
new file mode 100644
index 000000000..ed5926b1a
--- /dev/null
+++ b/offapi/com/sun/star/form/binding/XListEntrySink.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_form_binding_XListEntrySink_idl__
+#define __com_sun_star_form_binding_XListEntrySink_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module form { module binding {
+
+interface XListEntrySource;
+
+
+/** specifies support for indirect manipulation of a string list
+*/
+interface XListEntrySink : com::sun::star::uno::XInterface
+{
+ /** sets the new source for the list entries of the component
+
+ <p>The list represented by this component will be cleared, and initially
+ filled with the entries from the new list source.</p>
+
+ @param Source
+ the new source for the list entries. May be `NULL`, in this
+ case, the current source is revoked.
+ */
+ void setListEntrySource( [in] XListEntrySource Source );
+
+ /** retrieves the current source for the list entries of the component.
+ */
+ XListEntrySource
+ getListEntrySource( );
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/binding/XListEntrySource.idl b/offapi/com/sun/star/form/binding/XListEntrySource.idl
new file mode 100644
index 000000000..81236a0ff
--- /dev/null
+++ b/offapi/com/sun/star/form/binding/XListEntrySource.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_form_binding_XListEntrySource_idl__
+#define __com_sun_star_form_binding_XListEntrySource_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/NullPointerException.idl>
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+
+
+module com { module sun { module star { module form { module binding {
+
+interface XListEntryListener;
+
+
+/** specifies a source of string list entries
+
+ <p>The interface supports foreign components which actively retrieve list entries,
+ as well as components which want to passively being notified of changes in the list.</p>
+
+ @see XListEntrySink
+*/
+interface XListEntrySource : com::sun::star::uno::XInterface
+{
+ /** retrieves the number of entries in the list
+ */
+ long getListEntryCount( );
+
+ /** provides access to a single list entry
+
+ @throws com::sun::star::lang::IndexOutOfBoundsException
+ if the given position does not denote a valid index in the list
+
+ @see getListEntryCount
+ */
+ string getListEntry( [in] long Position )
+ raises( com::sun::star::lang::IndexOutOfBoundsException );
+
+ /** provides access to the entirety of all list entries
+ */
+ sequence< string >
+ getAllListEntries( );
+
+ /** adds a listener which will be notified about changes in the list
+ reflected by the component.
+
+ @throws com::sun::star::lang::NullPointerException
+ if the given listener is `NULL`
+ */
+ void addListEntryListener( [in] XListEntryListener Listener )
+ raises( com::sun::star::lang::NullPointerException );
+
+ /** revokes the given listener from the list of components which will
+ be notified about changes in the entry list.
+
+ @throws com::sun::star::lang::NullPointerException
+ if the given listener is `NULL`
+ */
+ void removeListEntryListener( [in] XListEntryListener Listener )
+ raises( com::sun::star::lang::NullPointerException );
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/binding/XListEntryTypedSource.idl b/offapi/com/sun/star/form/binding/XListEntryTypedSource.idl
new file mode 100644
index 000000000..8f8003deb
--- /dev/null
+++ b/offapi/com/sun/star/form/binding/XListEntryTypedSource.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/.
+ */
+
+#ifndef __com_sun_star_form_binding_XListEntryTypedSource_idl__
+#define __com_sun_star_form_binding_XListEntryTypedSource_idl__
+
+#include <com/sun/star/form/binding/XListEntrySource.idl>
+
+
+module com { module sun { module star { module form { module binding {
+
+
+/** specifies a source of string list entries with corresponding underlying data values
+
+ @see XListEntrySource
+
+ @since LibreOffice 5.4
+*/
+interface XListEntryTypedSource : com::sun::star::form::binding::XListEntrySource
+{
+ /** provides access to the entirety of all list entries, along with
+ the corresponding underlying data values.
+
+ @param DataValues
+ The sequence is used by
+ com::sun::star::form::component::ListBox for external
+ sources such as spreadsheets to return the resulting
+ data value if a listbox entry was selected, e.g. set it
+ at the specified bound cell using
+ com::sun::star::form::binding::XValueBinding::setValue().
+ */
+ sequence< string > getAllListEntriesTyped( [out] sequence< any > DataValues );
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/binding/XValueBinding.idl b/offapi/com/sun/star/form/binding/XValueBinding.idl
new file mode 100644
index 000000000..2a6a4d1b6
--- /dev/null
+++ b/offapi/com/sun/star/form/binding/XValueBinding.idl
@@ -0,0 +1,86 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_form_binding_XValueBinding_idl__
+#define __com_sun_star_form_binding_XValueBinding_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/NoSupportException.idl>
+#include <com/sun/star/form/binding/IncompatibleTypesException.idl>
+#include <com/sun/star/form/binding/InvalidBindingStateException.idl>
+
+
+module com { module sun { module star { module form { module binding {
+
+
+/** specifies a binding to a value which can be read and written.
+*/
+interface XValueBinding : com::sun::star::uno::XInterface
+{
+ /** determines the types which are supported by this binding for value exchange
+
+ @see supportsType
+ */
+ sequence< type >
+ getSupportedValueTypes( );
+
+ /** determines whether a given type is supported by this binding for value exchange
+
+ <p>Calling this method is equal to calling getSupportedValueTypes(),
+ and looking up the given type in the resulting type sequence.</p>
+
+ @see getSupportedValueTypes
+ */
+ boolean supportsType( [in] type aType );
+
+ /** retrieves the current value
+
+ @throws IncompatibleTypesException
+ if the requested value type is not supported by the binding
+ @see getSupportedValueTypes
+ @see supportsType
+ */
+ any getValue( [in] type aType )
+ raises( IncompatibleTypesException );
+
+ /** sets the current value
+
+ @throws IncompatibleTypesException
+ if the given value type is not supported by the binding
+ @throws InvalidBindingStateException
+ if the value currently cannot be changed, since the binding is not
+ fully operational. Possible reasons for this include the binding being
+ readonly, or the target of the binding not being present.
+ @throws com::sun::star::lang::NoSupportException
+ if the binding in general does not support write access to its binding
+
+ @see getSupportedValueTypes
+ @see supportsType
+ @see ValueBinding
+ */
+ void setValue( [in] any aValue )
+ raises( IncompatibleTypesException, InvalidBindingStateException, com::sun::star::lang::NoSupportException );
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/component/CheckBox.idl b/offapi/com/sun/star/form/component/CheckBox.idl
new file mode 100644
index 000000000..b793bc4f0
--- /dev/null
+++ b/offapi/com/sun/star/form/component/CheckBox.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_form_component_CheckBox_idl__
+#define __com_sun_star_form_component_CheckBox_idl__
+
+#include <com/sun/star/form/FormControlModel.idl>
+#include <com/sun/star/awt/UnoControlCheckBoxModel.idl>
+#include <com/sun/star/form/XReset.idl>
+
+
+
+ module com { module sun { module star { module form { module component {
+
+
+/** specifies the model of a check box control
+
+ <p>The model supports the properties required for HTML, thus you can build up
+ HTMLForms with it</p>
+ */
+published service CheckBox
+{
+ service com::sun::star::awt::UnoControlCheckBoxModel;
+
+ service com::sun::star::form::FormControlModel;
+
+ /** can be used to reset the control to its default state.
+
+ @see CheckBox::DefaultState
+ */
+ interface com::sun::star::form::XReset;
+
+
+ /** contains a default value for the control.
+
+ <p>This value is used when the control is initially displayed, and for resetting it.</p>
+
+ @see com::sun::star::awt::UnoControlCheckBoxModel::State
+ @see com::sun::star::form::XReset
+ */
+ [property] short DefaultState;
+
+
+ /** contains a reference value which is used for submission in a HTML
+ form
+
+ <p>When submitting a HTMLForm which contains a check box,
+ which is checked, the RefValue is used for submission.
+ */
+ [property] string RefValue;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/component/ComboBox.idl b/offapi/com/sun/star/form/component/ComboBox.idl
new file mode 100644
index 000000000..33c4e5e9d
--- /dev/null
+++ b/offapi/com/sun/star/form/component/ComboBox.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_form_component_ComboBox_idl__
+#define __com_sun_star_form_component_ComboBox_idl__
+
+#include <com/sun/star/awt/UnoControlComboBoxModel.idl>
+
+#include <com/sun/star/form/FormControlModel.idl>
+
+#include <com/sun/star/form/XReset.idl>
+
+
+
+ module com { module sun { module star { module form { module component {
+
+
+/** specifies a component which allows the input of text or selection
+ of text from a list of text values.
+ */
+published service ComboBox
+{
+ service com::sun::star::awt::UnoControlComboBoxModel;
+
+ service com::sun::star::form::FormControlModel;
+
+ /** can be used to reset the control to its default text.
+
+ @see ComboBox::DefaultText
+ */
+ interface com::sun::star::form::XReset;
+
+ /** contains a default value for the control.
+
+ <p>This value is used when the control is initially displayed, and for resetting it.</p>
+
+ @see com::sun::star::awt::UnoControlComboBoxModel::Text
+ @see com::sun::star::form::XReset
+ */
+ [property] string DefaultText;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/component/CommandButton.idl b/offapi/com/sun/star/form/component/CommandButton.idl
new file mode 100644
index 000000000..451326ce6
--- /dev/null
+++ b/offapi/com/sun/star/form/component/CommandButton.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_form_component_CommandButton_idl__
+#define __com_sun_star_form_component_CommandButton_idl__
+
+#include <com/sun/star/form/FormControlModel.idl>
+#include <com/sun/star/awt/UnoControlButtonModel.idl>
+#include <com/sun/star/form/XImageProducerSupplier.idl>
+#include <com/sun/star/form/XApproveActionBroadcaster.idl>
+#include <com/sun/star/form/FormButtonType.idl>
+#include <com/sun/star/form/XReset.idl>
+
+
+
+ module com { module sun { module star { module form { module component {
+
+
+/** specifies the control model for a clickable button which is part of a form
+ component hierarchy.
+
+ @see ImageButton
+ */
+published service CommandButton
+{
+ service com::sun::star::awt::UnoControlButtonModel;
+
+ service com::sun::star::form::FormControlModel;
+
+ /** supplies the image producer when the button is to display an image.
+
+ <p>If the com::sun::star::awt::UnoControlButtonModel::ImageURL points to the location of an
+ image to be displayed on the button, this interface can be used to retrieve an image
+ producer, which itself will supply the image.</p>
+
+ <p>Usually, a control belonging to the model will use this interface to obtain the
+ image to be painted</p>
+ */
+ interface com::sun::star::form::XImageProducerSupplier;
+
+
+ /** describes the action to be executed by the button when pressed.
+ */
+ [property] com::sun::star::form::FormButtonType ButtonType;
+
+ /** describes the frame, where to open the document specified by the TargetURL.
+
+ <p>This property is evaluated if the button is of type URL.</p>
+
+ <p>As always, there is a number of target names which have a special meaning, and force
+ a special com::sun::star::frame::Frame to be used.</p>
+ */
+ [property] string TargetFrame;
+
+ /** specifies the URL, which should be opened if the button was clicked.
+
+ <p>This property is evaluated if the button is of type URL.</p>
+
+ @see com::sun::star::form::FormButtonType
+ */
+ [property] string TargetURL;
+
+ /** specifies the default toggle state for the button, used when it is reset.
+
+ <p>This property is meaningful only when com::sun::star::awt::UnoControlButtonModel::Toggle
+ is `TRUE`. In this case, the <code>DefaultState</code> controls to which <code>State</code> the button will
+ be reset.</p>
+
+ <p>For a given implementation of the interface, if this (optional) property is present, then also the optional
+ interface com::sun::star::form::XReset must be present.</p>
+ */
+ [optional, property] boolean DefaultState;
+
+ /** allows resetting the button
+
+ <p>This property is meaningful only when com::sun::star::awt::UnoControlButtonModel::Toggle
+ is `TRUE`. In this case, the <code>DefaultState</code> controls to which <code>State</code> the button will
+ be reset, when com::sun::star::form::XReset::reset() is invoked.</p>
+
+ <p>For a given implementation of the interface, if this (optional) interface is present, then also the optional
+ property #DefaultState must be present.</p>
+ */
+ [optional] interface ::com::sun::star::form::XReset;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/component/CurrencyField.idl b/offapi/com/sun/star/form/component/CurrencyField.idl
new file mode 100644
index 000000000..a5c35ae09
--- /dev/null
+++ b/offapi/com/sun/star/form/component/CurrencyField.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_form_component_CurrencyField_idl__
+#define __com_sun_star_form_component_CurrencyField_idl__
+
+#include <com/sun/star/awt/UnoControlCurrencyFieldModel.idl>
+
+#include <com/sun/star/form/FormControlModel.idl>
+
+#include <com/sun/star/form/XReset.idl>
+
+
+
+ module com { module sun { module star { module form { module component {
+
+
+/** This service specifies the ControlModel for an edit field which
+ contains a currency value.
+ */
+published service CurrencyField
+{
+ service com::sun::star::awt::UnoControlCurrencyFieldModel;
+
+ service com::sun::star::form::FormControlModel;
+
+ /** can be used to reset the control to its default state.
+
+ @see CurrencyField::DefaultValue
+ */
+ interface com::sun::star::form::XReset;
+
+ /** contains a default value for the control.
+
+ @see com::sun::star::awt::UnoControlCurrencyFieldModel::Value
+ @see com::sun::star::form::XReset
+ */
+ [property] double DefaultValue;
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/component/DataForm.idl b/offapi/com/sun/star/form/component/DataForm.idl
new file mode 100644
index 000000000..23ad3f15b
--- /dev/null
+++ b/offapi/com/sun/star/form/component/DataForm.idl
@@ -0,0 +1,196 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_form_component_DataForm_idl__
+#define __com_sun_star_form_component_DataForm_idl__
+
+#include <com/sun/star/form/component/Form.idl>
+#include <com/sun/star/sdb/RowSet.idl>
+#include <com/sun/star/form/TabulatorCycle.idl>
+#include <com/sun/star/form/NavigationBarMode.idl>
+#include <com/sun/star/form/XLoadable.idl>
+#include <com/sun/star/sdb/XCompletedExecution.idl>
+#include <com/sun/star/awt/TabControllerModel.idl>
+
+
+module com { module sun { module star { module form {
+
+ published interface XReset;
+ published interface XDatabaseParameterBroadcaster;
+
+module component {
+/** This service specifies a form which is connected to a database and
+ displays the results of SQL queries. It provides the possibility of
+ adding new data records, modifying existing ones, or deleting them.
+
+ <p>A database form is a special kind of enhanced database row set
+ which provides all information for displaying the data and has more
+ possibilities for configuring the data manipulation.</p>
+
+*/
+published service DataForm
+{
+ service com::sun::star::sdb::RowSet;
+ service com::sun::star::form::component::Form;
+
+ /** is used to reset controls belonging to the form, and to reset database fields to which the
+ controls are bound
+
+ <p>A DataForm is reset either on explicit request, or after it is moved
+ to the insertion row.</p>
+
+ <p>The insertion row is a virtual row which is used to insert new records. It is reached
+ by calling com::sun::star::sdbc::XResultSetUpdate::moveToInsertRow().
+ The com::sun::star::sdb::RowSet service specifies exactly which notifications
+ happen in which order when calling com::sun::star::sdbc::XResultSetUpdate::moveToInsertRow(),
+ and a DataForm implementation extends this with the following contract:
+ <ul><li>After all notifications as defined in the com::sun::star::sdb::RowSet
+ service have been sent, the DataForm resets itself, if all
+ com::sun::star::form::XResetListeners approve this.</li>
+ <li>After the reset happened, the com::sun::star::sdb::RowSet::IsModified
+ property is reset to `FALSE`. This property might have been switched to `TRUE` during listener
+ notifications, since listeners are allowed to change field values. Also, the
+ com::sun::star::form::XReset::reset() implementations of bound control
+ models might have modified the fields they're bound to (by filling them with default values).</li>
+ <li>The reset listeners are notified of the completed reset operation.</li>
+ </ul></p>
+ */
+ interface com::sun::star::form::XReset;
+
+ /** used to load/unload the form
+ <p>Loading a form is basically the same as executing the underlying row set. In fact, all the
+ functionality of this interface could be simulated by using setting some properties manually,
+ com::sun::star::sdbc::XRowSet::execute(), moving the row set cursor and so on.</p>
+
+ <p>One main difference between XLoadable::load() and com::sun::star::sdbc::XRowSet::execute()
+ is that if you use the former, the row set is positioned on the first record, while in the latter case
+ it is position <em>before</em> the it.</p>
+ */
+ interface com::sun::star::form::XLoadable;
+
+ /** can be used to allow an interaction handler to supply missing data during a load process.
+
+ <p>If data is needed during loading a form, then this is usually obtained via broadcaster-listener
+ mechanisms. An example for this (and currently the only one) are parameter values.</p>
+ <p>However, if you use this method, you can pass an interaction handler which should supply these
+ additional data.</p>
+
+ @see com::sun::star::sdb::InteractionHandler
+ */
+ interface com::sun::star::sdb::XCompletedExecution;
+
+ /** can be used for filling parameters.
+
+ <p>You can add your component as
+ com::sun::star::form::XDatabaseParameterListener
+ to a form to get notified whenever the form needs parameter values to be filled in<br/>
+ In a first approach, the form tries to fill any parameters from its master-detail relation
+ (if any). All values which can't be filled are then passed to all listeners, which can
+ fill them by their own choice.</p>
+
+ <p>This is slightly changed if the form is loaded using the
+ com::sun::star::sdb::XCompletedExecution::connectWithCompletion() method. In this case, the parameters
+ are obtained from the interaction handler, not from the listeners</p>
+
+ @see XCompletedExecution
+ @see MasterFields
+ @see DetailFields
+ */
+ interface com::sun::star::form::XDatabaseParameterBroadcaster;
+
+ /** is used for subforms and contains the names of columns of the parent form.
+
+ <p> These columns are typically the foreign key fields of the parent form.
+ The values of these columns are used to identify the data for the subform.
+ Each time the parent form changes its current row, the subform requeries
+ it's data based on the values of the master fields.</p>
+
+ <p>If the form is no sub form (e.g. its parent is not a form itself), this
+ property is not evaluated.</p>
+ */
+ [property] sequence<string> MasterFields;
+
+ /** is used for subforms and contains the names of the columns of the subform
+ which are related to the master fields of the parent form.
+
+ <p>Entries in this sequence can either denote column names in the sub form,
+ or parameter names.<br/>
+ For instance, you could base the form on the SQL statement
+ <code>SELECT * FROM invoices WHERE cust_ref = :cid</code>, and add <code>cid</code>
+ to the DetailFields property. In this case, the parameter will be filled from
+ the corresponding master field.<br/>
+ Alternatively, you could simply base your form on the table <code>invoices</code>,
+ and add the column name <code>cust_ref</code> to the DetailFields. In this case,
+ and implicit filter clause <code>WHERE cust_ref = :&lt;new_param_name&gt;</code> will
+ be created, and the artificial parameter will be filled from the corresponding
+ master field.<br/>
+ If a string in this property denotes both a column name and a parameter name, it
+ is undefined which way it is interpreted, but implementations of the service are required
+ to either decide for the parameter or the column, and proceed as usual.
+ </p>
+
+ <p>The columns specified herein typically represent a part of the primary key
+ fields or their aliases of the detail form.</p>
+
+ <p>If the form is no sub form (e.g. its parent is not a form itself), this
+ property is not evaluated.</p>
+ */
+ [property] sequence<string> DetailFields;
+
+ /** returns the kind of tabulator controlling.
+ */
+ [property] com::sun::star::form::TabulatorCycle Cycle;
+
+ /** determines how a navigation bar for this form should act.
+ */
+ [property] com::sun::star::form::NavigationBarMode NavigationBarMode;
+
+ /** determines if insertions into the form's row set are allowed.
+
+ <p>Note that this is a recommendation for user interface components displaying the
+ form. Form implementations may decide to allow for insertions done via the API, even
+ if the property is set to `FALSE`, but the user interface should respect the property
+ value.</p>
+ */
+ [property] boolean AllowInserts;
+
+ /** determines if modifications of the current record of the form are allowed.
+
+ <p>Note that this is a recommendation for user interface components displaying the
+ form. Form implementations may decide to allow for updates done via the API, even
+ if the property is set to `FALSE`, but the user interface should respect the property
+ value.</p>
+ */
+ [property] boolean AllowUpdates;
+
+ /** determines if deletions of records of the form are allowed.
+
+ <p>Note that this is a recommendation for user interface components displaying the
+ form. Form implementations may decide to allow for deletions done via the API, even
+ if the property is set to `FALSE`, but the user interface should respect the property
+ value.</p>
+ */
+ [property] boolean AllowDeletes;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/component/DatabaseCheckBox.idl b/offapi/com/sun/star/form/component/DatabaseCheckBox.idl
new file mode 100644
index 000000000..cdf1e2347
--- /dev/null
+++ b/offapi/com/sun/star/form/component/DatabaseCheckBox.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_form_component_DatabaseCheckBox_idl__
+#define __com_sun_star_form_component_DatabaseCheckBox_idl__
+
+#include <com/sun/star/form/component/CheckBox.idl>
+
+#include <com/sun/star/form/DataAwareControlModel.idl>
+
+
+
+ module com { module sun { module star { module form { module component {
+
+
+/** This service specifies a check box which is data-aware, and can be bound to a database field.
+
+ <p>Mostly, you will create data-aware checkboxes as tristate checkboxes, because this
+ is a requirement to correctly handle `NULL` values in databases.</p>
+
+ @see ::com::sun::star::awt::UnoControlCheckBoxModel::TriState
+ */
+published service DatabaseCheckBox
+{
+ service com::sun::star::form::component::CheckBox;
+
+ service com::sun::star::form::DataAwareControlModel;
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/component/DatabaseComboBox.idl b/offapi/com/sun/star/form/component/DatabaseComboBox.idl
new file mode 100644
index 000000000..64711a452
--- /dev/null
+++ b/offapi/com/sun/star/form/component/DatabaseComboBox.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_form_component_DatabaseComboBox_idl__
+#define __com_sun_star_form_component_DatabaseComboBox_idl__
+
+#include <com/sun/star/form/component/ComboBox.idl>
+
+#include <com/sun/star/form/DataAwareControlModel.idl>
+
+#include <com/sun/star/form/ListSourceType.idl>
+
+
+
+ module com { module sun { module star { module form { module component {
+
+
+/** This service specifies a combo box which is data-aware, and can be bound to a database field.
+
+ <p>Like most other data aware controls, such a combo box will display the actual content
+ of the field it is bound to. In addition, as a combo box contains a list where the user
+ can choose items to fill into the control, this list can be filled with different data from
+ a database, too.</p>
+ */
+published service DatabaseComboBox
+{
+ service com::sun::star::form::component::ComboBox;
+
+ service com::sun::star::form::DataAwareControlModel;
+
+
+ /** determines if an empty text should be treated as a `NULL` value.
+
+ <p>When the user enters text into a combo box, and after this, the control
+ content is to be committed into the database field the control is bound to,
+ a decision must be made how to deal with empty strings.<br/>
+ This is controlled by #ConvertEmptyToNull.</p>
+
+ <p>If the property is set to `TRUE`, and an empty text is to be committed, this is
+ converted into `NULL`, else it is written as empty string.</p>
+ */
+ [property] boolean ConvertEmptyToNull;
+
+ /** describes the source of items in the combo box's list.
+
+ <p>The concrete meaning of this property depends on the value of #ListSourceType</p>
+ */
+ [property] string ListSource;
+
+ /** specifies the kind of list source.
+
+ <p>Note: A value of com::sun::star::form::ListSourceType::VALUELIST
+ is not valid for a combo box. It won't be rejected when setting it, but controls will usually ignore it
+ and leave the list empty.</p>
+ */
+ [property] com::sun::star::form::ListSourceType ListSourceType;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/component/DatabaseCurrencyField.idl b/offapi/com/sun/star/form/component/DatabaseCurrencyField.idl
new file mode 100644
index 000000000..c6afae618
--- /dev/null
+++ b/offapi/com/sun/star/form/component/DatabaseCurrencyField.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_form_component_DatabaseCurrencyField_idl__
+#define __com_sun_star_form_component_DatabaseCurrencyField_idl__
+
+#include <com/sun/star/form/component/CurrencyField.idl>
+
+#include <com/sun/star/form/DataAwareControlModel.idl>
+
+
+
+ module com { module sun { module star { module form { module component {
+
+
+/** This service specifies a currency field which is data-aware, and can be bound to a database field.
+ */
+published service DatabaseCurrencyField
+{
+ service com::sun::star::form::component::CurrencyField;
+
+ service com::sun::star::form::DataAwareControlModel;
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/component/DatabaseDateField.idl b/offapi/com/sun/star/form/component/DatabaseDateField.idl
new file mode 100644
index 000000000..c09e8a9fd
--- /dev/null
+++ b/offapi/com/sun/star/form/component/DatabaseDateField.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_form_component_DatabaseDateField_idl__
+#define __com_sun_star_form_component_DatabaseDateField_idl__
+
+#include <com/sun/star/form/component/DateField.idl>
+
+#include <com/sun/star/form/DataAwareControlModel.idl>
+
+
+
+ module com { module sun { module star { module form { module component {
+
+
+/** This service specifies a date field which is data-aware, and can be bound to a database field.
+ */
+published service DatabaseDateField
+{
+ service com::sun::star::form::component::DateField;
+
+ service com::sun::star::form::DataAwareControlModel;
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/component/DatabaseFormattedField.idl b/offapi/com/sun/star/form/component/DatabaseFormattedField.idl
new file mode 100644
index 000000000..42b6d5be7
--- /dev/null
+++ b/offapi/com/sun/star/form/component/DatabaseFormattedField.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_form_component_DatabaseFormattedField_idl__
+#define __com_sun_star_form_component_DatabaseFormattedField_idl__
+
+#include <com/sun/star/form/component/FormattedField.idl>
+
+#include <com/sun/star/form/DataAwareControlModel.idl>
+
+
+
+ module com { module sun { module star { module form { module component {
+
+
+/** This service specifies a formatted field model which is data-aware, and can be bound to a database field.
+ */
+published service DatabaseFormattedField
+{
+ service com::sun::star::form::component::FormattedField;
+
+ service com::sun::star::form::DataAwareControlModel;
+
+
+ /** determines if an empty text should be treated as a `NULL` value.
+
+ <p>When the user enters text into a formatted field control, and after this, the control
+ content is to be committed into the database field the control is bound to,
+ a decision must be made how to deal with empty strings.<br/>
+ This is controlled by #ConvertEmptyToNull.</p>
+
+ <p>If the property is set to `TRUE`, and an empty text is to be committed, this is
+ converted into `NULL`, else it is written as empty string.</p>
+ */
+ [property] boolean ConvertEmptyToNull;
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/component/DatabaseImageControl.idl b/offapi/com/sun/star/form/component/DatabaseImageControl.idl
new file mode 100644
index 000000000..11c90358b
--- /dev/null
+++ b/offapi/com/sun/star/form/component/DatabaseImageControl.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_form_component_DatabaseImageControl_idl__
+#define __com_sun_star_form_component_DatabaseImageControl_idl__
+
+#include <com/sun/star/awt/UnoControlImageControlModel.idl>
+
+#include <com/sun/star/form/DataAwareControlModel.idl>
+
+#include <com/sun/star/form/XImageProducerSupplier.idl>
+
+
+
+ module com { module sun { module star { module form { module component {
+
+
+/** specifies the model of a control used for displaying images stored in a database.
+
+ <p>As every com::sun::star::form::DataAwareControlModel, an image control
+ can be bound to a database field. This means that for instance with every record change, the content
+ of the database field is taken, interpreted as image, and displayed in the control.<br>
+ Unlike other more text-based controls, it does not interpret the content of the field as text or double,
+ but as binary stream (see com::sun::star::sdb::XColumn::getBinaryStream()).</p>
+
+ <p>Usually, an image control model can be bound to binary columns only, namely
+ com::sun::star::sdbc::DataType::BINARY,
+ com::sun::star::sdbc::DataType::VARBINARY,
+ com::sun::star::sdbc::DataType::LONGVARBINARY,
+ com::sun::star::sdbc::DataType::OTHER,
+ com::sun::star::sdbc::DataType::LONGVARCHAR</p>
+
+ </p>
+
+ <p>Note that besides taking the image to be displayed from the bound field, there is another option. The
+ com::sun::star::awt::UnoControlImageControlModel::ImageURL property specifies
+ the URL of an image to be displayed. If this property is changed from outside, the respective file
+ is loaded and set as image source.</p>
+
+ <p>In a usual data form, the scenario will be as follows:
+ <ul><li>There is a DatabaseImageControl as part of the document model, which acts as
+ control model for a com::sun::star::form::control::ImageControl.</li>
+
+ <li>The control is a com::sun::star::awt::XImageConsumer for the
+ com::sun::star::awt::XImageProducer supplied by the model.</li>
+
+ <li>Whenever the form's cursor is positioned on a new record, the column the control
+ model is bound to is examined for a binary data stream. This stream is set as source
+ at the image producer, which notifies it's consumers, which leads to the control
+ displaying the image.</li>
+
+ <li>When the user by some interaction tells the control to contain a new image, this is
+ exchanged by URL. For example, implementations of the control service may allow the user
+ to browse for image. After this, the URL of the image is set as
+ com::sun::star::awt::UnoControlImageControlModel::ImageURL
+ property at the model.<br>
+ Now the control loads the image determined by the property value, and starts producing
+ a new data stream, which is displayed by the control (which is a consumer for this stream).<br>
+ From now on, the control and thus the database record counts as modified. If the cursor of the
+ form is moved further, the modified record is saved, means the content of the image pointed to
+ by com::sun::star::awt::UnoControlImageControlModel::ImageURL
+ is saved into the column.</li>
+ </ul>
+ </p>
+ */
+published service DatabaseImageControl
+{
+ service com::sun::star::awt::UnoControlImageControlModel;
+
+ service com::sun::star::form::DataAwareControlModel;
+
+ /** supplies the caller with a com::sun::star::awt::XImageProducer.
+
+ <p>Other components can register as com::sun::star::awt::XImageConsumer
+ at this producer. Then they will be notified of any change in the image to be displayed.</p>
+ */
+ interface com::sun::star::form::XImageProducerSupplier;
+
+
+ /** indicates if it is possible to change the image being displayed.
+ */
+ [property] boolean ReadOnly;
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/component/DatabaseListBox.idl b/offapi/com/sun/star/form/component/DatabaseListBox.idl
new file mode 100644
index 000000000..0b8f95210
--- /dev/null
+++ b/offapi/com/sun/star/form/component/DatabaseListBox.idl
@@ -0,0 +1,157 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_form_component_DatabaseListBox_idl__
+#define __com_sun_star_form_component_DatabaseListBox_idl__
+
+#include <com/sun/star/form/component/ListBox.idl>
+
+#include <com/sun/star/form/DataAwareControlModel.idl>
+
+#include <com/sun/star/form/ListSourceType.idl>
+
+
+
+ module com { module sun { module star { module form { module component {
+
+
+/** This service specifies a data-aware list box control model.
+
+ <p>The base service for list boxes (ListBox) offers only
+ one possibility to specify the list entries:
+ The display strings in the
+ com::sun::star::awt::UnoControlListBoxModel::StringItemList
+ property and the corresponding values in the ListBox::ListSource
+ property.</p>
+
+ <p>This service here extends this mimic. It allows to fill the list from a data source.
+ This means that a second result set is opened, which works on the same connection as the
+ form which the list box belongs to, but can be based on an arbitrary table or SQL statement.</p>
+
+ <p>For instance, you may have a form which is bound to a table <em>invoice</em>, and you use it
+ to enter invoices for your customers. Probably, you will have a second table (say <em>customer</em>),
+ which (among other data) contains a unique key for identifying customers. In your invoice table, you will
+ have a foreign key referring to these customers.<br/>
+ Now, besides the result set the form is based on (all your invoices), the list box can be instructed
+ to open a second result set, this time for the <em>customer</em> table, and fill its list with entries
+ from this result set.<br/>
+ Additionally, it allows to model the relation between the two tables: When the user selects a customer from
+ the list, this customer has the unique id we just talked about (which is not necessarily visible to the
+ user in any way). The list box then automatically transfers this id into the foreign key column of
+ <em>invoice</em>, thus allowing the user to transparently work with human-readable strings instead of
+ pure numbers.<br/>
+ Let's call this result set the list is filled from the <em>list result set</em> here ...</p>
+
+ <p>The display strings are always taken from the first column of that result set,
+ and the corresponding value as per the BoundColumn property.</p>
+ */
+published service DatabaseListBox
+{
+ service com::sun::star::form::component::ListBox;
+
+ service com::sun::star::form::DataAwareControlModel;
+
+
+ /** specifies which column of the list result set should be used for data exchange.
+
+ <p>When you make a selection from a list box, the "BoundColumn"
+ property reflects which column value of a result set should
+ be used as the value of the component. If the control is bound
+ to a database field, the column value is stored in the
+ database field identified by the property
+ com::sun::star::form::DataAwareControlModel::DataField.
+
+ <dl>
+ <dt>-1</dt>
+ <dd>The index (starting at 0) of the selected list box entry
+ is stored in the current database field.</dd>
+
+ <dt>0 or greater</dt>
+ <dd>The column value of the result set at the position
+ (0-indexed) is stored in the current database field.
+ In particular, for value 0, the selected (displayed)
+ list box string is stored.</dd>
+ </dl></p>
+
+ <p>The bound column property is only used if a list source is defined
+ and the list source matches with the types
+ com::sun::star::form::ListSourceType::TABLE,
+ com::sun::star::form::ListSourceType::QUERY,
+ com::sun::star::form::ListSourceType::SQL or
+ com::sun::star::form::ListSourceType::SQLPASSTHROUGH.
+ Otherwise the property is ignored, as there is no result set from which to
+ get the column values.</p>
+ */
+ [property] short BoundColumn;
+
+
+ /** describes the kind of list source used.
+
+ <p>Depending on the value of this property, the way the value of ListBox::ListSource
+ is evaluated varies.
+ <dl>
+ <dt>com::sun::star::form::ListSourceType::VALUELIST</dt>
+ <dd>The elements in the string sequence in ListBox::ListSource
+ build up the entry list.</dd>
+
+ <dt>com::sun::star::form::ListSourceType::TABLE</dt>
+ <dd>The first element of the string sequence in ListBox::ListSource
+ determines the table which the list result set should be based on.</dd>
+
+ <dt>com::sun::star::form::ListSourceType::QUERY</dt>
+ <dd>The first element of the string sequence in ListBox::ListSource
+ determines the query which the list result set should be based on.<br/>
+ For retrieving the query, the connection which the data form is working with
+ (com::sun::star::sdb::RowSet::ActiveConnection) is queried for
+ the com::sun::star::sdb::XQueriesSupplier interface.</dd>
+
+ <dt>com::sun::star::form::ListSourceType::SQL</dt>
+ <dd>The first element of the string sequence in ListBox::ListSource
+ contains the SQL statement which the list result set should be based on.</p>
+
+ <dt>com::sun::star::form::ListSourceType::SQLPASSTHROUGH</dt>
+ <dd>The first element of the string sequence in ListBox::ListSource
+ contains the SQL statement which the list result set should be based on.<br/>
+ The statement is not analyzed by the parser. This means that you can use database specific
+ SQL features here, but, on the other hand, lose features like parameter value substitution.</dd>
+
+ <dt>com::sun::star::form::ListSourceType::TABLEFIELDS</dt>
+ <dd>The first element of the string sequence in ListBox::ListSource
+ determines the table whose column names should fill the list.</dd>
+ </dl>
+ </p>
+
+ */
+ [property] com::sun::star::form::ListSourceType ListSourceType;
+
+ /** The selected values.
+ */
+ [property, transient, optional] sequence< any > SelectedValues;
+
+ /** The selected value, if there is at most one.
+ */
+ [property, transient, optional] any SelectedValue;
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/component/DatabaseNumericField.idl b/offapi/com/sun/star/form/component/DatabaseNumericField.idl
new file mode 100644
index 000000000..244f31c1a
--- /dev/null
+++ b/offapi/com/sun/star/form/component/DatabaseNumericField.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_form_component_DatabaseNumericField_idl__
+#define __com_sun_star_form_component_DatabaseNumericField_idl__
+
+#include <com/sun/star/form/component/NumericField.idl>
+
+#include <com/sun/star/form/DataAwareControlModel.idl>
+
+
+
+ module com { module sun { module star { module form { module component {
+
+
+/** This service specifies a numeric field which is data-aware, and can be bound to a database field.
+ */
+published service DatabaseNumericField
+{
+ service com::sun::star::form::component::NumericField;
+
+ service com::sun::star::form::DataAwareControlModel;
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/component/DatabasePatternField.idl b/offapi/com/sun/star/form/component/DatabasePatternField.idl
new file mode 100644
index 000000000..d0ce8a475
--- /dev/null
+++ b/offapi/com/sun/star/form/component/DatabasePatternField.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_form_component_DatabasePatternField_idl__
+#define __com_sun_star_form_component_DatabasePatternField_idl__
+
+#include <com/sun/star/form/component/PatternField.idl>
+
+#include <com/sun/star/form/DataAwareControlModel.idl>
+
+
+
+ module com { module sun { module star { module form { module component {
+
+
+/** This service specifies a data-aware control model for entering text which matches a specific
+ pattern.
+ */
+published service DatabasePatternField
+{
+ service com::sun::star::form::component::PatternField;
+
+ service com::sun::star::form::DataAwareControlModel;
+
+
+ /** determines if an empty text should be treated as a `NULL` value.
+
+ <p>When the user enters text into a pattern field, and after this, the control
+ content is to be committed into the database field the control is bound to,
+ a decision must be made how to deal with empty strings.<br/>
+ This is controlled by this property.</p>
+
+ <p>If the property is set to `TRUE`, and an empty text is to be committed, this is
+ converted into `NULL`, else it is written as empty string.</p>
+ */
+ [property] boolean ConvertEmptyToNull;
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/component/DatabaseRadioButton.idl b/offapi/com/sun/star/form/component/DatabaseRadioButton.idl
new file mode 100644
index 000000000..0455dc02e
--- /dev/null
+++ b/offapi/com/sun/star/form/component/DatabaseRadioButton.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_form_component_DatabaseRadioButton_idl__
+#define __com_sun_star_form_component_DatabaseRadioButton_idl__
+
+#include <com/sun/star/form/component/RadioButton.idl>
+
+#include <com/sun/star/form/DataAwareControlModel.idl>
+
+
+
+ module com { module sun { module star { module form { module component {
+
+
+/** This service specifies a radio button which is data-aware, and can be bound to a database field.
+ */
+published service DatabaseRadioButton
+{
+ service com::sun::star::form::component::RadioButton;
+
+ service com::sun::star::form::DataAwareControlModel;
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/component/DatabaseTextField.idl b/offapi/com/sun/star/form/component/DatabaseTextField.idl
new file mode 100644
index 000000000..573407fde
--- /dev/null
+++ b/offapi/com/sun/star/form/component/DatabaseTextField.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_form_component_DatabaseTextField_idl__
+#define __com_sun_star_form_component_DatabaseTextField_idl__
+
+#include <com/sun/star/form/component/TextField.idl>
+
+#include <com/sun/star/form/DataAwareControlModel.idl>
+
+
+
+ module com { module sun { module star { module form { module component {
+
+
+/** This service specifies a text field which is data-aware, and can be bound to a database field.
+ */
+published service DatabaseTextField
+{
+ service com::sun::star::form::component::TextField;
+
+ service com::sun::star::form::DataAwareControlModel;
+
+
+ /** determines if an empty text should be treated as a `NULL` value.
+
+ <p>When the user enters text into a text field, and after this, the control
+ content is to be committed into the database field the control is bound to,
+ a decision must be made how to deal with empty strings.<br/>
+ This is controlled by this property.</p>
+
+ <p>If the property is set to `TRUE`, and an empty text is to be committed, this is
+ converted into `NULL`, else it is written as empty string.</p>
+ */
+ [property] boolean ConvertEmptyToNull;
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/component/DatabaseTimeField.idl b/offapi/com/sun/star/form/component/DatabaseTimeField.idl
new file mode 100644
index 000000000..08d305e12
--- /dev/null
+++ b/offapi/com/sun/star/form/component/DatabaseTimeField.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_form_component_DatabaseTimeField_idl__
+#define __com_sun_star_form_component_DatabaseTimeField_idl__
+
+#include <com/sun/star/form/component/TimeField.idl>
+
+#include <com/sun/star/form/DataAwareControlModel.idl>
+
+
+
+ module com { module sun { module star { module form { module component {
+
+
+/** This service specifies a data-aware field for inputting a time value.
+ */
+published service DatabaseTimeField
+{
+ service com::sun::star::form::component::TimeField;
+
+ service com::sun::star::form::DataAwareControlModel;
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/component/DateField.idl b/offapi/com/sun/star/form/component/DateField.idl
new file mode 100644
index 000000000..099a7cb40
--- /dev/null
+++ b/offapi/com/sun/star/form/component/DateField.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_form_component_DateField_idl__
+#define __com_sun_star_form_component_DateField_idl__
+
+#include <com/sun/star/awt/UnoControlDateFieldModel.idl>
+
+#include <com/sun/star/form/FormControlModel.idl>
+
+#include <com/sun/star/form/XReset.idl>
+
+
+
+ module com { module sun { module star { module form { module component {
+
+
+/** specifies the model of a date field control, which is an edit field used to enter a date.
+*/
+published service DateField
+{
+ service com::sun::star::awt::UnoControlDateFieldModel;
+
+ service com::sun::star::form::FormControlModel;
+
+ /** resets the control.
+
+ <p>If you do not set a value for the #DefaultDate, then resetting the control
+ will result in setting to the current system date. This is for HTML compatibility.</p>
+ */
+ interface com::sun::star::form::XReset;
+
+
+ /** contains a default value for the control.
+
+ <p>This value is used when the control is initially displayed, and for resetting it.</p>
+
+ @see com::sun::star::awt::UnoControlDateFieldModel::Date
+ @see com::sun::star::form::XReset
+ */
+ [property] long DefaultDate;
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/component/FileControl.idl b/offapi/com/sun/star/form/component/FileControl.idl
new file mode 100644
index 000000000..0e5c977f8
--- /dev/null
+++ b/offapi/com/sun/star/form/component/FileControl.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_form_component_FileControl_idl__
+#define __com_sun_star_form_component_FileControl_idl__
+
+#include <com/sun/star/awt/UnoControlFileControlModel.idl>
+
+#include <com/sun/star/form/FormControlModel.idl>
+
+#include <com/sun/star/form/XReset.idl>
+
+
+ module com { module sun { module star { module form { module component {
+
+
+/** This service specifies the control model of an edit field for a
+ file name.
+ */
+published service FileControl
+{
+ service com::sun::star::awt::UnoControlFileControlModel;
+
+ service com::sun::star::form::FormControlModel;
+
+ /** can be used to reset the control to its default text.
+
+ @see FileControl::DefaultText
+ */
+ interface com::sun::star::form::XReset;
+
+ /** contains a default value for the control.
+
+ <p>This value is used when the control is initially displayed, and for resetting it.</p>
+
+ @see com::sun::star::awt::UnoControlFileControlModel::Text
+ @see com::sun::star::form::XReset
+ */
+ [property] string DefaultText;
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/component/FixedText.idl b/offapi/com/sun/star/form/component/FixedText.idl
new file mode 100644
index 000000000..5cdc4e4a5
--- /dev/null
+++ b/offapi/com/sun/star/form/component/FixedText.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_form_component_FixedText_idl__
+#define __com_sun_star_form_component_FixedText_idl__
+
+#include <com/sun/star/awt/UnoControlFixedTextModel.idl>
+
+#include <com/sun/star/form/FormControlModel.idl>
+
+
+
+ module com { module sun { module star { module form { module component {
+
+
+/** This service specifies the control model for a text which can be
+ displayed, but not edited by the user.
+
+ <p>These kind of controls is usually used to label other controls.</p>
+
+ @see com::sun::star::form::DataAwareControlModel::LabelControl
+ */
+published service FixedText
+{
+ service com::sun::star::awt::UnoControlFixedTextModel;
+
+ service com::sun::star::form::FormControlModel;
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/component/Form.idl b/offapi/com/sun/star/form/component/Form.idl
new file mode 100644
index 000000000..43ba74c36
--- /dev/null
+++ b/offapi/com/sun/star/form/component/Form.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_form_component_Form_idl__
+#define __com_sun_star_form_component_Form_idl__
+
+#include <com/sun/star/form/FormComponent.idl>
+#include <com/sun/star/form/FormComponents.idl>
+#include <com/sun/star/form/XForm.idl>
+#include <com/sun/star/awt/XTabControllerModel.idl>
+#include <com/sun/star/script/XEventAttacherManager.idl>
+
+
+
+ module com { module sun { module star { module form { module component {
+
+
+/** This service specifies a form which is a group of FormComponents.
+
+ <p>A form fulfills several tasks, like storing the structure of its
+ form components, storing the information concerning tab ordering
+ and control grouping, and last but not least, it provides the
+ event environment for its contained elements.</p>
+
+ <p>A form acts on the one hand like a container of FormComponents
+ and on the other hand like a FormComponent. This generic
+ construction allows the definition of hierarchies of forms and their
+ dependent subforms.</p>
+
+ @see com::sun::star::form::FormControlModel
+ */
+published service Form
+{
+ service com::sun::star::form::FormComponent;
+
+ service com::sun::star::form::FormComponents;
+
+ /** identifies a component as form.
+ */
+ interface com::sun::star::form::XForm;
+
+
+ /** This interface has to be implemented to supply the information for tab ordering and component grouping.
+
+ @see com::sun::star::form::FormControlModel::TabIndex
+ */
+ interface com::sun::star::awt::XTabControllerModel;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/component/FormattedField.idl b/offapi/com/sun/star/form/component/FormattedField.idl
new file mode 100644
index 000000000..fd9817667
--- /dev/null
+++ b/offapi/com/sun/star/form/component/FormattedField.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_form_component_FormattedField_idl__
+#define __com_sun_star_form_component_FormattedField_idl__
+
+#include <com/sun/star/awt/UnoControlFormattedFieldModel.idl>
+
+#include <com/sun/star/form/FormControlModel.idl>
+
+#include <com/sun/star/form/XReset.idl>
+
+
+
+ module com { module sun { module star { module form { module component {
+
+
+/** This service specifies the control model of an edit field for entering text which can be
+ (nearly) arbitrarily formatted.
+
+ @see com::sun::star::util::XNumberFormatsSupplier
+ */
+published service FormattedField
+{
+ service com::sun::star::awt::UnoControlFormattedFieldModel;
+
+ service com::sun::star::form::FormControlModel;
+
+ /** can be used to reset the control to its default state.
+
+ @see com::sun::star::awt::UnoControlFormattedFieldModel::EffectiveValue
+ @see com::sun::star::awt::UnoControlFormattedFieldModel::EffectiveDefault
+ */
+ interface com::sun::star::form::XReset;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/component/GridControl.idl b/offapi/com/sun/star/form/component/GridControl.idl
new file mode 100644
index 000000000..0a8db09f2
--- /dev/null
+++ b/offapi/com/sun/star/form/component/GridControl.idl
@@ -0,0 +1,168 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_form_component_GridControl_idl__
+#define __com_sun_star_form_component_GridControl_idl__
+
+#include <com/sun/star/util/Color.idl>
+#include <com/sun/star/form/FormControlModel.idl>
+
+#include <com/sun/star/form/XGridColumnFactory.idl>
+
+#include <com/sun/star/form/FormComponents.idl>
+#include <com/sun/star/container/XContainer.idl>
+
+#include <com/sun/star/view/XSelectionSupplier.idl>
+
+#include <com/sun/star/container/XNameContainer.idl>
+
+#include <com/sun/star/container/XIndexContainer.idl>
+
+#include <com/sun/star/container/XEnumerationAccess.idl>
+
+#include <com/sun/star/script/XEventAttacherManager.idl>
+
+#include <com/sun/star/form/XReset.idl>
+
+#include <com/sun/star/awt/FontDescriptor.idl>
+
+
+
+ module com { module sun { module star { module form { module component {
+
+
+/** specifies a model for a control which can display form data in a table-like way.
+
+ <p>In opposite to other form controls, grid controls do not only
+ display the single current value of a column they are bound to. Moreover, they do
+ display not only the current row of the form, but all rows (at least potentially, limited
+ by the control size, of course).</p>
+
+ <p>The table rows in a grid control correspond to the rows in the DataForm
+ the control belongs to, and the columns correspond to single columns of the form's row set.</p>
+
+ <p>Columns of a grid control are modeled by own objects, too. They are very similar to usual
+ com::sun::star::form::DataAwareControlModels modeling other "single-value" controls, but they are not described
+ as own services. Instead, they need to be created using the com::sun::star::form::XGridColumnFactory interface.</p>
+ */
+published service GridControl
+{
+ service com::sun::star::form::FormControlModel;
+
+ /** provides basic functionality of a container of com::sun::star::form::FormComponents.
+
+ <p>All the container-related methods of this service related to control models,
+ this is what are the container elements for a GridControl.</p>
+
+ <p>As the com::sun::star::form::FormComponents service also specifies
+ the com::sun::star::script::XEventAttacherManager service, grid control
+ models also provide a scripting environment for their columns.</p>
+ */
+ service com::sun::star::form::FormComponents;
+
+ /** allows to create column models to be inserted into the control model.
+
+ <p>Note that the object returned by the com::sun::star::form::XGridColumnFactory::createColumn()
+ method is not part of the grid control, yet. It needs to be inserted using any of the
+ container interfaces.</p>
+
+ <p>You always need to use this interface for creating columns for the grid control.
+ Column models not created this way will not be accepted when inserted later on.</p>
+ */
+ interface com::sun::star::form::XGridColumnFactory;
+
+ /** gives access to the currently selection.
+
+ <p>In a grid control, single columns can be selected (at most one at a time).<br/>
+ For various unfortunate reasons, this selection is an aspect of the model, not of the
+ control as you would expect.</p>
+
+ <p>This interface is deprecated, new implementations should not use it anymore, as it is to
+ be superseded by a solution which is bound to the control, not the model.</p>
+
+ @deprecated
+ */
+ interface com::sun::star::view::XSelectionSupplier;
+
+ /** resets the control.
+
+ <p>The reset of the control is forwarded to all its elements, means to all the column models.
+ As grid columns are very much like data-aware stand-alone controls, you can find a description
+ of the reset functionality in com::sun::star::form::DataAwareControlModel::XReset.
+ */
+ interface com::sun::star::form::XReset;
+
+
+ /** returns the border style of the control.
+
+ <pre>
+ 0: No border
+ 1: 3D border
+ 2: simple border
+ </pre>
+ */
+ [property] short Border;
+
+
+ /** specifies the color of the border, if present
+
+ <p>Not every border style (see #Border) may support coloring.
+ For instance, usually a border with 3D effect will ignore the BorderColor setting.</p>
+
+ @since OOo 2.0
+ */
+ [optional, property] long BorderColor;
+
+
+ /** determines whether the control is enabled or disabled.
+ */
+ [property] boolean Enabled;
+
+
+ /** contains the font attributes of the text in the control.
+ */
+ [property] com::sun::star::awt::FontDescriptor FontDescriptor;
+
+
+ /** specifies the height of a row of the grid.
+
+ <p>If the value is set to `NULL`, the height is determined automatically according
+ to the current font used.</p>
+
+ @see GridControl::FontDescriptor
+ */
+ [property] long RowHeight;
+
+
+ /** determines whether the control can be reached by the tabulator key.
+ */
+ [property] boolean Tabstop;
+
+
+ /** specifies the text color (RGB) of the control.
+ */
+ [property] com::sun::star::util::Color TextColor;
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/component/GroupBox.idl b/offapi/com/sun/star/form/component/GroupBox.idl
new file mode 100644
index 000000000..ba23f276a
--- /dev/null
+++ b/offapi/com/sun/star/form/component/GroupBox.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_form_component_GroupBox_idl__
+#define __com_sun_star_form_component_GroupBox_idl__
+
+#include <com/sun/star/awt/UnoControlGroupBoxModel.idl>
+
+#include <com/sun/star/form/FormControlModel.idl>
+
+
+
+ module com { module sun { module star { module form { module component {
+
+
+/** This service specifies a model for a control which can be used to visually
+ group controls.
+ */
+published service GroupBox
+{
+ service com::sun::star::awt::UnoControlGroupBoxModel;
+
+ service com::sun::star::form::FormControlModel;
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/component/HTMLForm.idl b/offapi/com/sun/star/form/component/HTMLForm.idl
new file mode 100644
index 000000000..acb40e5df
--- /dev/null
+++ b/offapi/com/sun/star/form/component/HTMLForm.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_form_component_HTMLForm_idl__
+#define __com_sun_star_form_component_HTMLForm_idl__
+
+#include <com/sun/star/form/component/Form.idl>
+
+#include <com/sun/star/form/XReset.idl>
+
+#include <com/sun/star/form/XSubmit.idl>
+
+#include <com/sun/star/form/FormSubmitMethod.idl>
+
+#include <com/sun/star/form/FormSubmitEncoding.idl>
+
+
+
+ module com { module sun { module star { module form { module component {
+
+
+/** This service specifies the special kind of Forms for HTML documents.
+
+ <p>An HTMLForm fulfills the specification of forms in HTML. It supplies
+ the possibility of submitting or resetting the contents of a form.
+ For more information on HTML forms, please see the documentation of HTML.</p>
+ */
+published service HTMLForm
+{
+ service com::sun::star::form::component::Form;
+
+ /** resets the control.
+ */
+ interface com::sun::star::form::XReset;
+
+ /** allows to submit changes.
+
+ <p>When a form is submitted, the data contained in the form is sent
+ to the target URL as a series of name/value pairs. The name portion
+ of each pair is the name of a form component as specified by its NAME
+ attribute. In most cases the value portion is the value displayed
+ by the element, for example, the text displayed in a text field.</p>
+ */
+ interface com::sun::star::form::XSubmit;
+
+ /** describes the frame, where to open the document specified by the TargetURL.
+ */
+ [property] string TargetFrame;
+
+
+ /** specifies the URL, which should be used for submission.
+ */
+ [property] string TargetURL;
+
+ /** specifies the kind of submission.
+ */
+ [property] com::sun::star::form::FormSubmitMethod SubmitMethod;
+
+ /** specifies the kind of encoding for submission.
+ */
+ [property] com::sun::star::form::FormSubmitEncoding SubmitEncoding;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/component/HiddenControl.idl b/offapi/com/sun/star/form/component/HiddenControl.idl
new file mode 100644
index 000000000..3994b54e4
--- /dev/null
+++ b/offapi/com/sun/star/form/component/HiddenControl.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_form_component_HiddenControl_idl__
+#define __com_sun_star_form_component_HiddenControl_idl__
+
+#include <com/sun/star/form/FormComponent.idl>
+
+
+
+ module com { module sun { module star { module form { module component {
+
+
+/** This service specifies the model of a hidden control.
+
+ <p>The only sense of a hidden control is to store data in the form which is
+ not visible to the user.</p>
+
+ <p>Usually, hidden controls are used in com::sun::star::form::component::HTMLForms,
+ where they contain data which is to be submitted.<br/>
+ Nevertheless, you can use them in your own forms for storing any data, for instance
+ to evaluate it in some scripting macro.</p>
+ */
+published service HiddenControl
+{
+ service com::sun::star::form::FormComponent;
+
+ /** specifies the value of the component.
+ */
+ [property] string HiddenValue;
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/component/ImageButton.idl b/offapi/com/sun/star/form/component/ImageButton.idl
new file mode 100644
index 000000000..932efe1ef
--- /dev/null
+++ b/offapi/com/sun/star/form/component/ImageButton.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_form_component_ImageButton_idl__
+#define __com_sun_star_form_component_ImageButton_idl__
+
+#include <com/sun/star/awt/UnoControlImageControlModel.idl>
+
+#include <com/sun/star/form/FormControlModel.idl>
+
+#include <com/sun/star/form/XApproveActionBroadcaster.idl>
+
+#include <com/sun/star/form/XImageProducerSupplier.idl>
+
+#include <com/sun/star/form/FormButtonType.idl>
+
+
+
+ module com { module sun { module star { module form { module component {
+
+
+/** This service specifies the control model for a clickable button which
+ is represented by an image.
+
+ <p>The image to be displayed is determined by com::sun::star::awt::UnoControlImageControlModel::ImageURL
+ property specifies the URL of an image to be displayed.</p>
+
+ @see CommandButton
+*/
+published service ImageButton
+{
+ service com::sun::star::awt::UnoControlImageControlModel;
+
+ service com::sun::star::form::FormControlModel;
+
+
+ /** supplies the caller with a com::sun::star::awt::XImageProducer.
+
+ <p>Other components can register as com::sun::star::awt::XImageConsumer
+ at this producer. Then they will be notified of any change in the image to be displayed.</p>
+
+ <p>Whenever the com::sun::star::awt::UnoControlImageControlModel::ImageURL
+ property is changed, the model loads the specified image, and sets it as image source
+ at its com::sun::star::awt::XImageProducer. Then, all
+ com::sun::star::awt::XImageConsumers are notified and supplied with
+ the binary data of the image.<br/>
+ Usually, controls acting for an ImageButton model are consumers, and use the
+ data stream to display the image</p>
+ */
+ interface com::sun::star::form::XImageProducerSupplier;
+
+ /** describes the action to be executed by the button when pressed.
+ */
+ [property] com::sun::star::form::FormButtonType ButtonType;
+
+ /** describes the frame, where to open the document specified by the TargetURL.
+
+ <p>This property is evaluated if the button is of type URL.</p>
+
+ <p>As always, there is a number of target names which have a special meaning, and force
+ a special com::sun::star::frame::Frame to be used.</p>
+ */
+ [property] string TargetFrame;
+
+ /** specifies the URL, which should be opened if the button was clicked.
+
+ <p>This property is evaluated if the button is of type URL.</p>
+
+ @see com::sun::star::form::FormButtonType
+ */
+ [property] string TargetURL;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/component/ListBox.idl b/offapi/com/sun/star/form/component/ListBox.idl
new file mode 100644
index 000000000..48f754435
--- /dev/null
+++ b/offapi/com/sun/star/form/component/ListBox.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_form_component_ListBox_idl__
+#define __com_sun_star_form_component_ListBox_idl__
+
+#include <com/sun/star/awt/UnoControlListBoxModel.idl>
+
+#include <com/sun/star/form/FormControlModel.idl>
+
+#include <com/sun/star/form/XReset.idl>
+
+
+
+ module com { module sun { module star { module form { module component {
+
+
+/** specifies a model for a control which allows to choose in a list of alternative values.
+ */
+published service ListBox
+{
+ service com::sun::star::awt::UnoControlListBoxModel;
+
+ service com::sun::star::form::FormControlModel;
+
+ /** can be used to reset the control to its default state.
+
+ @see ListBox::DefaultSelection
+ */
+ interface com::sun::star::form::XReset;
+
+ /** contains the indexes of entries of the listbox, which should selected
+ by default.
+
+ <p>This selection is used initially or for a reset.</p>
+
+ @see com::sun::star::awt::UnoControlListBoxModel::SelectedItems
+ @see com::sun::star::form::XReset
+ */
+ [property] sequence<short> DefaultSelection;
+
+
+ /** contains the values associated to the strings to be displayed
+ (which are specified by com::sun::star::awt::UnoControlListBoxModel::StringItemList)
+ */
+ [property] sequence<string> ListSource;
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/component/NavigationToolBar.idl b/offapi/com/sun/star/form/component/NavigationToolBar.idl
new file mode 100644
index 000000000..165f2f4db
--- /dev/null
+++ b/offapi/com/sun/star/form/component/NavigationToolBar.idl
@@ -0,0 +1,124 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_form_component_NavigationToolBar_idl__
+#define __com_sun_star_form_component_NavigationToolBar_idl__
+
+#include <com/sun/star/form/FormControlModel.idl>
+#include <com/sun/star/awt/FontDescriptor.idl>
+
+
+ module com { module sun { module star { module form { module component {
+
+
+/** This service specifies the model for control which provides controller
+ functionality for a DataForm, such as navigating or filtering
+ the form.
+ */
+service NavigationToolBar
+{
+ service com::sun::star::form::FormControlModel;
+
+ /** denotes the border style of the control.
+
+ Allowed values are
+ <ul><li><b>0</b>: no border at all</li>
+ <li><b>1</b>: 3D border</li>
+ <li><b>2</b>: simple flat</li>
+ </ul>
+ */
+ [property] short Border;
+
+ /** determines whether the control is enabled or disabled.
+ */
+ [property] boolean Enabled;
+
+ /** contains the font attributes for the text in the control
+ */
+ [property] com::sun::star::awt::FontDescriptor FontDescriptor;
+
+ /** specifies the text color (as RGB value) of the control.
+ */
+ [property] long TextColor;
+
+ /** specifies the text line color (as RGB value) of the control.
+
+ <p>This color is used if the #FontDescriptor defines
+ that the text in the control should be underlined or stroke out.</p>
+ */
+ [property] long TextLineColor;
+
+ /** specifies the relief for the font described in #FontDescriptor
+
+ <p>The value must be one of the com::sun::star::text::FontRelief
+ constants.</p>
+ */
+ [property] long FontRelief;
+
+ /** specifies the emphasis mark for the font described in #FontDescriptor
+
+ <p>The value must be one of the com::sun::star::text::FontEmphasis
+ constants.</p>
+ */
+ [property] long FontEmphasisMark;
+
+ /** specifies the size of the icons in the control
+
+ <p>At least the following values are to be supported:
+ <ul><li>0: small icons (16x16)</li>
+ <li>1: medium size icons (26x26)</li>
+ </ul>
+ */
+ [property] short IconSize;
+
+ /** determines whether the control should provide functionality for positioning the
+ parent form
+ */
+ [property] boolean ShowPosition;
+
+ /** determines whether the control should provide functionality for navigating the
+ parent form
+ */
+ [property] boolean ShowNavigation;
+
+ /** determines whether the control should provide functionality for acting on the current record
+ of the parent form
+ */
+ [property] boolean ShowRecordActions;
+
+ /** determines whether the control should provide functionality for filtering and sorting the
+ parent form
+ */
+ [property] boolean ShowFilterSort;
+
+ /** specifies a repeat delay for the control
+
+ <p>Some buttons of a NavigationToolBar may show repeating behavior, e.g. may be
+ repeatedly triggered when the user keeps the mouse pressed over such a button.<br/>
+ The delay between two such triggers (in milliseconds) is specified with this property.
+ </p>
+ */
+ [property] long RepeatDelay;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/component/NumericField.idl b/offapi/com/sun/star/form/component/NumericField.idl
new file mode 100644
index 000000000..dac2ae6a6
--- /dev/null
+++ b/offapi/com/sun/star/form/component/NumericField.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_form_component_NumericField_idl__
+#define __com_sun_star_form_component_NumericField_idl__
+
+#include <com/sun/star/awt/UnoControlNumericFieldModel.idl>
+
+#include <com/sun/star/form/FormControlModel.idl>
+
+#include <com/sun/star/form/XReset.idl>
+
+
+
+ module com { module sun { module star { module form { module component {
+
+
+/** specifies a component which allows the input of a numeric value.
+ */
+published service NumericField
+{
+ service com::sun::star::awt::UnoControlNumericFieldModel;
+
+ service com::sun::star::form::FormControlModel;
+
+ /** can be used to reset the control to its default value.
+
+ @see NumericField::DefaultValue
+ */
+ interface com::sun::star::form::XReset;
+
+
+ /** contains a default value for the control.
+
+ <p>This value is used when the control is initially displayed, and for resetting it.</p>
+
+ @see com::sun::star::awt::UnoControlNumericFieldModel::Value
+ @see com::sun::star::form::XReset
+ */
+ [property] double DefaultValue;
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/component/PatternField.idl b/offapi/com/sun/star/form/component/PatternField.idl
new file mode 100644
index 000000000..b9083c552
--- /dev/null
+++ b/offapi/com/sun/star/form/component/PatternField.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_form_component_PatternField_idl__
+#define __com_sun_star_form_component_PatternField_idl__
+
+#include <com/sun/star/awt/UnoControlPatternFieldModel.idl>
+
+#include <com/sun/star/form/FormControlModel.idl>
+
+#include <com/sun/star/form/XReset.idl>
+
+
+
+ module com { module sun { module star { module form { module component {
+
+
+/** specifies a component which allows the input of text which matches a specific pattern.
+ */
+published service PatternField
+{
+ service com::sun::star::awt::UnoControlPatternFieldModel;
+
+ service com::sun::star::form::FormControlModel;
+
+ /** can be used to reset the control to its default text.
+
+ @see PatternField::DefaultText
+ */
+ interface com::sun::star::form::XReset;
+
+ /** contains a default value for the control.
+
+ <p>This value is used when the control is initially displayed, and for resetting it.</p>
+
+ @see com::sun::star::awt::UnoControlPatternFieldModel::Text
+ @see com::sun::star::form::XReset
+ */
+ [property] string DefaultText;
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/component/RadioButton.idl b/offapi/com/sun/star/form/component/RadioButton.idl
new file mode 100644
index 000000000..4c1f6c861
--- /dev/null
+++ b/offapi/com/sun/star/form/component/RadioButton.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_form_component_RadioButton_idl__
+#define __com_sun_star_form_component_RadioButton_idl__
+
+#include <com/sun/star/awt/UnoControlRadioButtonModel.idl>
+
+#include <com/sun/star/form/FormControlModel.idl>
+
+#include <com/sun/star/form/XReset.idl>
+
+
+
+ module com { module sun { module star { module form { module component {
+
+
+/** specifies a component which acts as a radio button as needed in HTMLForms.
+
+ <p>Radio buttons are controls which can be grouped together, and in every
+ group, only one of the controls can be check. This means if one of them
+ is checked by a user interaction, all other controls in the same group
+ are automatically unchecked</p>
+
+ <p>Like in HTML, radio buttons are grouped together if and only if they have the
+ same name (see com::sun::star::form::FormComponent::Name).</p>
+ */
+published service RadioButton
+{
+ service com::sun::star::awt::UnoControlRadioButtonModel;
+
+ service com::sun::star::form::FormControlModel;
+
+ /** can be used to reset the control to its default text.
+
+ @see RadioButton::DefaultState
+ */
+ interface com::sun::star::form::XReset;
+
+
+ /** contains a default value for the control.
+
+ <p>This value is used when the control is initially displayed, and for resetting it.</p>
+
+ <p> In a group of radio buttons only one button should be checked
+ by default.</p>
+
+ @see com::sun::star::awt::UnoControlRadioButtonModel::State
+ @see com::sun::star::form::XReset
+ */
+ [property] short DefaultState;
+
+
+ /** contains a reference value which is used for submission in a HTML
+ form.
+
+ <p>If the form the control belongs to is to be submitted (see
+ com::sun::star::form::XSubmit), and the control is checked, this reference
+ value is used for submission.</p>
+ */
+ [property] string RefValue;
+
+
+ /** specifies a value which is to be associated with the control when it's <em>not</em>
+ selected.
+
+ <p>In various situations, the #RefValue is associated with the control
+ if and only if it is selected.<br/>
+ #UncheckedRefValue provides an extension of this concept: If present,
+ the value should be associated with the control when it is <em>not</em> selected.</p>
+ */
+ [optional, property] string UncheckedRefValue;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/component/RichTextControl.idl b/offapi/com/sun/star/form/component/RichTextControl.idl
new file mode 100644
index 000000000..180da4270
--- /dev/null
+++ b/offapi/com/sun/star/form/component/RichTextControl.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_form_component_RichTextControl_idl__
+#define __com_sun_star_form_component_RichTextControl_idl__
+
+#include <com/sun/star/awt/UnoControlEditModel.idl>
+#include <com/sun/star/form/FormControlModel.idl>
+#include <com/sun/star/text/TextRange.idl>
+
+
+ module com { module sun { module star { module form { module component {
+
+
+/** specifies a component which extends the com::sun::star::awt::UnoControlEditModel
+ with capabilities to display and input formatted text.
+*/
+published service RichTextControl
+{
+ service com::sun::star::awt::UnoControlEditModel;
+
+ service com::sun::star::form::FormControlModel;
+
+ /** specifies capabilities to provide rich text, as opposed to the simple text provided by the
+ com::sun::star::awt::UnoControlEditModel
+ */
+ service com::sun::star::text::TextRange;
+
+ /** specifies whether text should be automatically wrapped to fit into the control.
+
+ <p>If set to `TRUE`, users need to manually press the enter key to insert a line break.
+ If set to `FALSE`, text is automatically wrapped at the control border.</p>
+ */
+ [property] boolean HardLineBreaks;
+
+ /** specifies whether the control should display the text including all its formatting.
+
+ <p>If this is set to `FALSE`, the control will act as ordinary
+ com::sun::star::awt::UnoControlEditModel.</p>
+
+ <p>If the property is set to `TRUE`, the control will ignore the following properties:
+ <ul>
+ <li>com::sun::star::awt::UnoControlEditModel::EchoChar</li>
+ <li>com::sun::star::awt::UnoControlEditModel::MaxTextLen</li>
+ <li>com::sun::star::awt::UnoControlEditModel::MultiLine</li>
+ <li>com::sun::star::awt::UnoControlEditModel::Align</li>
+ </ul>
+ </p>
+ */
+ [property] boolean RichText;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/component/ScrollBar.idl b/offapi/com/sun/star/form/component/ScrollBar.idl
new file mode 100644
index 000000000..2f67b4659
--- /dev/null
+++ b/offapi/com/sun/star/form/component/ScrollBar.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_form_component_ScrollBar_idl__
+#define __com_sun_star_form_component_ScrollBar_idl__
+
+#include <com/sun/star/awt/UnoControlScrollBarModel.idl>
+#include <com/sun/star/form/FormControlModel.idl>
+#include <com/sun/star/form/XReset.idl>
+
+
+
+module com { module sun { module star { module form { module component {
+
+
+/** specifies the model of a scroll bar control.
+*/
+service ScrollBar
+{
+ service com::sun::star::awt::UnoControlScrollBarModel;
+
+ service com::sun::star::form::FormControlModel;
+
+ /** resets the control.
+ */
+ interface com::sun::star::form::XReset;
+
+
+ /** contains a default value for the control.
+
+ <p>This value is used when the control is initially displayed, and for resetting it.</p>
+
+ @see com::sun::star::awt::UnoControlScrollBarModel::ScrollValue
+ @see com::sun::star::form::XReset
+ */
+ [property] long DefaultScrollValue;
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/component/SpinButton.idl b/offapi/com/sun/star/form/component/SpinButton.idl
new file mode 100644
index 000000000..7feb1459d
--- /dev/null
+++ b/offapi/com/sun/star/form/component/SpinButton.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_form_component_SpinButton_idl__
+#define __com_sun_star_form_component_SpinButton_idl__
+
+#include <com/sun/star/awt/UnoControlSpinButtonModel.idl>
+#include <com/sun/star/form/FormControlModel.idl>
+#include <com/sun/star/form/XReset.idl>
+
+
+
+module com { module sun { module star { module form { module component {
+
+
+/** specifies the model of a scroll bar control.
+*/
+service SpinButton
+{
+ service com::sun::star::awt::UnoControlSpinButtonModel;
+
+ service com::sun::star::form::FormControlModel;
+
+ /** resets the control.
+ */
+ interface com::sun::star::form::XReset;
+
+
+ /** contains a default value for the control.
+
+ <p>This value is used when the control is initially displayed, and for resetting it.</p>
+
+ @see com::sun::star::awt::UnoControlSpinButtonModel::SpinValue
+ @see com::sun::star::form::XReset
+ */
+ [property] long DefaultSpinValue;
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/component/SubmitButton.idl b/offapi/com/sun/star/form/component/SubmitButton.idl
new file mode 100644
index 000000000..3a0cf89b1
--- /dev/null
+++ b/offapi/com/sun/star/form/component/SubmitButton.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_form_component_SubmitButton_idl__
+#define __com_sun_star_form_component_SubmitButton_idl__
+
+#include <com/sun/star/form/FormControlModel.idl>
+#include <com/sun/star/awt/UnoControlButtonModel.idl>
+#include <com/sun/star/form/submission/XSubmissionSupplier.idl>
+
+
+module com { module sun { module star { module form { module component {
+
+
+/** specifies the control model for a button, part of a form component hierarchy,
+ which can be bound to external submissions.
+
+ @see CommandButton
+ */
+service SubmitButton
+{
+ service com::sun::star::form::FormControlModel;
+
+ /** allows binding external submissions to the control model
+
+ <p>Note that the control model itself will not make any use of the submission.
+ Instead, submissions are triggered by a control (not a control <em>model</em>).
+ Thus, the com::sun::star::form::control::SubmitButton
+ control associated with a SubmitButton model is responsible for
+ using the submission supplied at this model.</p>
+ */
+ interface com::sun::star::form::submission::XSubmissionSupplier;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/component/TextField.idl b/offapi/com/sun/star/form/component/TextField.idl
new file mode 100644
index 000000000..733edc45d
--- /dev/null
+++ b/offapi/com/sun/star/form/component/TextField.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_form_component_TextField_idl__
+#define __com_sun_star_form_component_TextField_idl__
+
+#include <com/sun/star/awt/UnoControlEditModel.idl>
+
+#include <com/sun/star/form/FormControlModel.idl>
+#include <com/sun/star/form/component/RichTextControl.idl>
+#include <com/sun/star/form/XReset.idl>
+
+
+
+ module com { module sun { module star { module form { module component {
+
+
+/** specifies a component which allows the input of text, either single- or multi-line.
+ */
+published service TextField
+{
+ service com::sun::star::awt::UnoControlEditModel;
+
+ service com::sun::star::form::FormControlModel;
+
+ /** specifies optional capabilities for displaying and inputting formatted text.
+
+ <p>If the RichTextControl::RichText property is set to `TRUE`,
+ then the TextField component will disable it's reset capabilities. This means
+ that all calls to com::sun::star::form::XReset::reset() will be ignored.</p>
+ */
+ [optional] service RichTextControl;
+
+ /** can be used to reset the control to its default text.
+
+ @see TextField::DefaultText
+ */
+ interface com::sun::star::form::XReset;
+
+ /** contains a default value for the control.
+
+ <p>This value is used when the control is initially displayed, and for resetting it.</p>
+
+ @see com::sun::star::awt::UnoControlEditModel::Text
+ @see com::sun::star::form::XReset
+ */
+ [property] string DefaultText;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/component/TimeField.idl b/offapi/com/sun/star/form/component/TimeField.idl
new file mode 100644
index 000000000..79d937ac4
--- /dev/null
+++ b/offapi/com/sun/star/form/component/TimeField.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_form_component_TimeField_idl__
+#define __com_sun_star_form_component_TimeField_idl__
+
+#include <com/sun/star/awt/UnoControlTimeFieldModel.idl>
+
+#include <com/sun/star/form/FormControlModel.idl>
+
+#include <com/sun/star/form/XReset.idl>
+
+
+
+ module com { module sun { module star { module form { module component {
+
+
+/** specifies the control model for a field which can be used to input time values.
+ */
+published service TimeField
+{
+ service com::sun::star::awt::UnoControlTimeFieldModel;
+
+ service com::sun::star::form::FormControlModel;
+
+ /** resets the control.
+
+ <p>If you do not set a value for the #DefaultTime, then resetting the control
+ will result in setting to the current system time. This is for HTML compatibility.</p>
+ */
+ interface com::sun::star::form::XReset;
+
+
+ /** contains a default value for the control.
+
+ <p>This value is used when the control is initially displayed, and for resetting it.</p>
+
+ @see com::sun::star::awt::UnoControlTimeFieldModel::Time
+ @see com::sun::star::form::XReset
+ */
+ [property] long DefaultTime;
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/control/CheckBox.idl b/offapi/com/sun/star/form/control/CheckBox.idl
new file mode 100644
index 000000000..e745c8acb
--- /dev/null
+++ b/offapi/com/sun/star/form/control/CheckBox.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_form_control_checkbox_idl__
+#define __com_sun_star_form_control_checkbox_idl__
+
+#include <com/sun/star/awt/UnoControlCheckBox.idl>
+#include <com/sun/star/form/XBoundControl.idl>
+
+
+ module com { module sun { module star { module form { module control {
+
+
+/** describes a check box control which can (but not necessarily has to) be bound to a database field.
+
+ <p>The model of the control has to support the com::sun::star::form::component::CheckBox
+ service.</p>
+
+ @see com::sun::star::awt::UnoControl
+ @see com::sun::star::awt::UnoControlModel
+*/
+published service CheckBox
+{
+ service com::sun::star::awt::UnoControlCheckBox;
+
+ interface com::sun::star::form::XBoundControl;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/control/ComboBox.idl b/offapi/com/sun/star/form/control/ComboBox.idl
new file mode 100644
index 000000000..91a7b9e4d
--- /dev/null
+++ b/offapi/com/sun/star/form/control/ComboBox.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_form_control_ComboBox_idl__
+#define __com_sun_star_form_control_ComboBox_idl__
+
+#include <com/sun/star/awt/UnoControlComboBox.idl>
+#include <com/sun/star/form/XBoundControl.idl>
+
+
+ module com { module sun { module star { module form { module control {
+
+
+/** describes a combo box control.
+
+ <p>The model of the control has to support the com::sun::star::form::component::ComboBox
+ service.</p>
+
+ @see com::sun::star::awt::UnoControl
+ @see com::sun::star::awt::UnoControlModel
+*/
+published service ComboBox
+{
+ service com::sun::star::awt::UnoControlComboBox;
+
+ interface com::sun::star::form::XBoundControl;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/control/CommandButton.idl b/offapi/com/sun/star/form/control/CommandButton.idl
new file mode 100644
index 000000000..8596226bb
--- /dev/null
+++ b/offapi/com/sun/star/form/control/CommandButton.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_form_control_CommandButton_idl__
+#define __com_sun_star_form_control_CommandButton_idl__
+
+#include <com/sun/star/awt/UnoControlButton.idl>
+#include <com/sun/star/form/XApproveActionBroadcaster.idl>
+
+
+ module com { module sun { module star { module form { module control {
+
+
+/** describes a button control.
+
+ <p>The model of the control has to support the com::sun::star::form::component::CommandButton
+ service.</p>
+
+ <p>The control is clickable, the action taken upon clicking depends on the settings
+ of the model the control belongs to.</p>
+
+ @see com::sun::star::awt::UnoControl
+ @see com::sun::star::awt::UnoControlModel
+ @see com::sun::star::form::component::CommandButton::ButtonType
+*/
+published service CommandButton
+{
+ service com::sun::star::awt::UnoControlButton;
+
+ /** allows external instances to register as veto listener for the button's actions.
+
+ <p>A com::sun::star::form::XApproveActionListener returning false on
+ it's approve-method will prevent any action which would usually be triggered - this includes
+ not only submitting or resetting forms, but also calling the
+ com::sun::star::awt::XActionListeners of the super service<br/>
+ This may be interesting for e.g. forms which want to provide input validation before submitting
+ data.<br/>
+
+ @see com::sun::star::form::component::HTMLForm
+ @see com::sun::star::form::XSubmit
+ @see com::sun::star::form::XReset
+ @see com::sun::star::awt::XButton
+ */
+ interface com::sun::star::form::XApproveActionBroadcaster;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/control/CurrencyField.idl b/offapi/com/sun/star/form/control/CurrencyField.idl
new file mode 100644
index 000000000..6a44c7e47
--- /dev/null
+++ b/offapi/com/sun/star/form/control/CurrencyField.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_form_control_CurrencyField_idl__
+#define __com_sun_star_form_control_CurrencyField_idl__
+
+#include <com/sun/star/awt/UnoControlCurrencyField.idl>
+#include <com/sun/star/form/XBoundControl.idl>
+
+
+ module com { module sun { module star { module form { module control {
+
+
+/** describes a control which can be used for inputting currency values, and
+ which can (but not necessarily has to) be bound to a database field.
+
+ <p>The model of the control has to support the com::sun::star::form::component::CurrencyField
+ service.</p>
+
+ @see com::sun::star::awt::UnoControl
+ @see com::sun::star::awt::UnoControlModel
+*/
+published service CurrencyField
+{
+ service com::sun::star::awt::UnoControlCurrencyField;
+
+ interface com::sun::star::form::XBoundControl;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/control/DateField.idl b/offapi/com/sun/star/form/control/DateField.idl
new file mode 100644
index 000000000..90ced2c58
--- /dev/null
+++ b/offapi/com/sun/star/form/control/DateField.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_form_control_DateField_idl__
+#define __com_sun_star_form_control_DateField_idl__
+
+#include <com/sun/star/awt/UnoControlDateField.idl>
+#include <com/sun/star/form/XBoundControl.idl>
+
+
+ module com { module sun { module star { module form { module control {
+
+
+/** describes a control which can be used for inputting date values, and
+ which can (but not necessarily has to) be bound to a database field.
+
+ <p>The model of the control has to support the com::sun::star::form::component::DateField
+ service.</p>
+
+ @see com::sun::star::awt::UnoControl
+ @see com::sun::star::awt::UnoControlModel
+*/
+published service DateField
+{
+ service com::sun::star::awt::UnoControlDateField;
+
+ interface com::sun::star::form::XBoundControl;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/control/FilterControl.idl b/offapi/com/sun/star/form/control/FilterControl.idl
new file mode 100644
index 000000000..e42a05c2e
--- /dev/null
+++ b/offapi/com/sun/star/form/control/FilterControl.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_form_control_FilterControl_idl__
+#define __com_sun_star_form_control_FilterControl_idl__
+
+#include <com/sun/star/awt/XControl.idl>
+#include <com/sun/star/awt/XWindow.idl>
+#include <com/sun/star/util/XNumberFormatter.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+
+
+ module com { module sun { module star { module form { module control {
+
+
+/** describes a check box control which can (but not necessarily has to) be bound to a database field.
+
+ <p>The model of the control has to support the com::sun::star::form::component::CheckBox
+ service.</p>
+
+ @see com::sun::star::awt::UnoControl
+ @see com::sun::star::awt::UnoControlModel
+*/
+service FilterControl : com::sun::star::awt::XControl
+{
+ createWithFormat([in] com::sun::star::awt::XWindow MessageParent,
+ [in] com::sun::star::util::XNumberFormatter NumberFormatter,
+ [in] com::sun::star::beans::XPropertySet ControlModel);
+};
+
+
+}; }; }; }; };
+
+#endif
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/control/FormattedField.idl b/offapi/com/sun/star/form/control/FormattedField.idl
new file mode 100644
index 000000000..c5270f705
--- /dev/null
+++ b/offapi/com/sun/star/form/control/FormattedField.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_form_control_FormattedField_idl__
+#define __com_sun_star_form_control_FormattedField_idl__
+
+#include <com/sun/star/awt/UnoControlFormattedField.idl>
+#include <com/sun/star/form/XBoundControl.idl>
+
+
+ module com { module sun { module star { module form { module control {
+
+
+/** describes a control which can be used for inputting values with an arbitrary formatting, and
+ can (but not necessarily has to) be bound to a database field.
+
+ <p>The model of the control has to support the com::sun::star::form::component::FormattedField
+ service.</p>
+
+ <p>In addition, this control can be used in HTML forms. It triggers the
+ com::sun::star::form::XSubmit::submit() method of the form it belongs to if
+ the <em>enter</em> key is pressed while it has the focus.</p>
+
+ @see com::sun::star::awt::UnoControl
+ @see com::sun::star::awt::UnoControlModel
+ @see com::sun::star::util::XNumberFormatsSupplier
+*/
+published service FormattedField
+{
+ service com::sun::star::awt::UnoControlFormattedField;
+
+ interface com::sun::star::form::XBoundControl;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/control/GridControl.idl b/offapi/com/sun/star/form/control/GridControl.idl
new file mode 100644
index 000000000..5150f3de7
--- /dev/null
+++ b/offapi/com/sun/star/form/control/GridControl.idl
@@ -0,0 +1,131 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_form_control_GridControl_idl__
+#define __com_sun_star_form_control_GridControl_idl__
+
+#include <com/sun/star/awt/UnoControl.idl>
+#include <com/sun/star/form/XGrid.idl>
+#include <com/sun/star/form/XBoundComponent.idl>
+#include <com/sun/star/form/XGridFieldDataSupplier.idl>
+#include <com/sun/star/util/XModifyBroadcaster.idl>
+#include <com/sun/star/util/XModeSelector.idl>
+#include <com/sun/star/container/XIndexAccess.idl>
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#include <com/sun/star/container/XContainer.idl>
+#include <com/sun/star/frame/XDispatchProviderInterception.idl>
+#include <com/sun/star/view/XSelectionSupplier.idl>
+
+
+module com { module sun { module star { module form {
+
+published interface XGridControl;
+
+module control {
+
+
+/** describes a table-like control for displaying data.
+
+ <p>The model of the control has to support the com::sun::star::form::component::GridControl
+ service.</p>
+
+ @see com::sun::star::awt::UnoControl
+ @see com::sun::star::awt::UnoControlModel
+*/
+published service GridControl
+{
+ service com::sun::star::awt::UnoControl;
+
+ /** allows committing the content of the active cell of the control.
+ */
+ interface com::sun::star::form::XBoundComponent;
+
+ /** allows access to the active cell within the grid.
+
+ <p>Only the column position can be modified using this interface, as the row position within
+ a table control bound to a data source is given implicitly (by the cursor position of the data source).</p>
+ */
+ interface com::sun::star::form::XGrid;
+
+ [optional] interface com::sun::star::form::XGridControl;
+
+ /** used to broadcast modifications made by the user (within the active cell)
+ */
+ interface com::sun::star::util::XModifyBroadcaster;
+
+ /** allows access to the field data of the grid's current row in different formats
+ */
+ [optional] interface com::sun::star::form::XGridFieldDataSupplier;
+
+ /** allows access to objects wrapping a single column
+ */
+ interface com::sun::star::container::XIndexAccess;
+
+ /** allows creation of an enumeration for the column objects
+ */
+ interface com::sun::star::container::XEnumerationAccess;
+
+ /** is used to switch the operating modes of the control.
+
+ <p>Besides the normal operation mode (which is used to display the database form's data) the control may
+ for instance support a filter mode.</p>
+ */
+ [optional] interface com::sun::star::util::XModeSelector;
+
+ /** used to control the selection of rows in the grid control.
+
+ <p>The selection used with the methods com::sun::star::view::XSelectionSupplier::getSelection()
+ and com::sun::star::view::XSelectionSupplier::select() is a sequence of Any's.<br/>
+ Here the elements of the Sequence are the bookmarks (in the com::sun::star::sdb::RowSet)
+ of the (to-be-) selected rows.</p>
+ */
+ [optional] interface com::sun::star::view::XSelectionSupplier;
+
+ /** allows external components to register dispatchers for some common form actions.
+
+ <p>A grid control can contain own UI elements for traveling within the database form it belongs to (This
+ concept seems to make sense, as a grid control - in opposite to other data aware controls - displays
+ not only one record at a time, but a larger number of records of the database form.)<br/>
+ With the help of this interface, external components which wish to handle such travelings themselves can
+ register interceptors for the actions in question.</p>
+
+ <p>Usual URLs to use include
+ <dl>
+ <dt>.uno:FormSlots/moveToFirst</dt><dd> move the cursor to the first record</dd>
+ <dt>.uno:FormSlots/moveToPrev</dt><dd> move the cursor to the previous record</dd>
+ <dt>.uno:FormSlots/moveToNext</dt><dd> move the cursor to the next record</dd>
+ <dt>.uno:FormSlots/moveToLast</dt><dd> move the cursor to the last record</dd>
+ <dt>.uno:FormSlots/moveToNew</dt><dd> move the cursor to the (one and only) <em>new</em> record</dd>
+ <dt>.uno:FormSlots/undoRecord</dt><dd> undo the changes done so far in the current record</dd>
+ </dl>
+ </p>
+
+ <p>A concrete implementation of this service may offer more or less URLs, but if it offers some of the URLs
+ above, it must stick to the meanings defined above.</p>
+ */
+ [optional] interface com::sun::star::frame::XDispatchProviderInterception;
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/control/GroupBox.idl b/offapi/com/sun/star/form/control/GroupBox.idl
new file mode 100644
index 000000000..b99e93536
--- /dev/null
+++ b/offapi/com/sun/star/form/control/GroupBox.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_form_control_GroupBox_idl__
+#define __com_sun_star_form_control_GroupBox_idl__
+
+#include <com/sun/star/awt/UnoControlGroupBox.idl>
+#include <com/sun/star/form/XBoundControl.idl>
+
+
+ module com { module sun { module star { module form { module control {
+
+
+/** describes a control which can be used for visually grouping controls
+
+ <p>The model of the control has to support the com::sun::star::form::component::GroupBox
+ service.</p>
+
+ @see com::sun::star::awt::UnoControl
+ @see com::sun::star::awt::UnoControlModel
+*/
+published service GroupBox
+{
+ service com::sun::star::awt::UnoControlGroupBox;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/control/ImageButton.idl b/offapi/com/sun/star/form/control/ImageButton.idl
new file mode 100644
index 000000000..4645d2596
--- /dev/null
+++ b/offapi/com/sun/star/form/control/ImageButton.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_form_control_ImageButton_idl__
+#define __com_sun_star_form_control_ImageButton_idl__
+
+#include <com/sun/star/awt/UnoControlImageControl.idl>
+#include <com/sun/star/form/XApproveActionBroadcaster.idl>
+
+
+ module com { module sun { module star { module form { module control {
+
+
+/** describes a control which can be used for displaying images on a control acting like a button.
+
+ <p>The model of the control has to support the com::sun::star::form::component::ImageButton
+ service.</p>
+
+ <p>The control is clickable, the action taken upon clicking depends on the settings
+ of the model the control belongs to.</p>
+
+ @see com::sun::star::awt::UnoControl
+ @see com::sun::star::awt::UnoControlModel
+ @see com::sun::star::form::component::ImageButton::ButtonType
+*/
+published service ImageButton
+{
+ service com::sun::star::awt::UnoControlImageControl;
+
+ /** allows external instances to register as veto listener for the button's actions.
+
+ <p>A com::sun::star::form::XApproveActionListener returning false on
+ it's approve-method will prevent any action which would usually be triggered - this includes
+ not only submitting or resetting forms, but also calling the
+ com::sun::star::awt::XActionListeners of the super service<br/>
+ This may be interesting for e.g. forms which want to provide input validation before submitting
+ data.<br/>
+
+ @see com::sun::star::form::component::HTMLForm
+ @see com::sun::star::form::XSubmit
+ @see com::sun::star::form::XReset
+ @see com::sun::star::awt::XButton
+ */
+ interface com::sun::star::form::XApproveActionBroadcaster;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/control/ImageControl.idl b/offapi/com/sun/star/form/control/ImageControl.idl
new file mode 100644
index 000000000..9c2f5f519
--- /dev/null
+++ b/offapi/com/sun/star/form/control/ImageControl.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_form_control_ImageControl_idl__
+#define __com_sun_star_form_control_ImageControl_idl__
+
+#include <com/sun/star/awt/UnoControlImageControl.idl>
+#include <com/sun/star/form/XBoundControl.idl>
+
+
+ module com { module sun { module star { module form { module control {
+
+
+/** describes a control used for displaying images stored in a database.
+
+ <p>The model of the control has to support the com::sun::star::form::component::DatabaseImageControl
+ service.</p>
+
+ <p>If the model of the control is valid bound to a database field, the control allows
+ to select an image (browsing the file system) upon double clicking into it,
+ and forwards the URL of the chosen image to the ImageURL property of its model.</p>
+
+ @see com::sun::star::awt::UnoControl
+ @see com::sun::star::awt::UnoControlModel
+*/
+published service ImageControl
+{
+ service com::sun::star::awt::UnoControlImageControl;
+
+ interface com::sun::star::form::XBoundControl;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/control/InteractionGridControl.idl b/offapi/com/sun/star/form/control/InteractionGridControl.idl
new file mode 100644
index 000000000..8b56d5990
--- /dev/null
+++ b/offapi/com/sun/star/form/control/InteractionGridControl.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_form_control_InteractionGridControl_idl__
+#define __com_sun_star_form_control_InteractionGridControl_idl__
+
+#include <com/sun/star/form/control/GridControl.idl>
+#include <com/sun/star/frame/XDispatch.idl>
+
+
+ module com { module sun { module star { module form { module control {
+
+
+/** is an extended grid control, which allows the user to customize some of its user interface's aspects.
+*/
+published service InteractionGridControl
+{
+ service com::sun::star::form::control::GridControl;
+
+ /** allows access to the UI features of the control
+
+ <p>Though concrete implementations of the service may offer different sets of aspects which can be customized,
+ the following commands have, if supported, a defined meaning:
+ <dl>
+ <dt>.uno:GridSlots/BrowserAttribs</dt><dd> (interactively) customize the overall appearance of the grid (font etc.)</dd>
+ <dt>.uno:GridSlots/RowHeight</dt><dd> (interactively) customize the row height appearance of the grid</dd>
+ <dt>.uno:GridSlots/ColumnAttribs</dt><dd> (interactively) customize the format of a given column</dd>
+ <dt>.uno:GridSlots/ColumnWidth</dt><dd> (interactively) customize the width of a given column</dd>
+ </dl>
+ </p>
+
+ <p>The following parameters may be passed when dispatching the commands above (as before, concrete implementations
+ may extend this list):
+ <dl>
+ <dt>ColumnId</dt><dd> the id of the column in question, if the command is executed for a column</dd>
+ <dt>ColumnModelPos</dt><dd> the model position of the column in question, if the command is executed for a column</dd>
+ <dt>ColumnViewPos</dt><dd> the view position of the column in question, if the command is executed for a column. The
+ view position may differ from the model position, as in a grid control, columns can be hidden.</dd>
+ </dl>
+ </p>
+ */
+ interface com::sun::star::frame::XDispatch;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/control/ListBox.idl b/offapi/com/sun/star/form/control/ListBox.idl
new file mode 100644
index 000000000..3e542f748
--- /dev/null
+++ b/offapi/com/sun/star/form/control/ListBox.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_form_control_ListBox_idl__
+#define __com_sun_star_form_control_ListBox_idl__
+
+#include <com/sun/star/awt/UnoControlListBox.idl>
+#include <com/sun/star/form/XBoundControl.idl>
+#include <com/sun/star/form/XChangeBroadcaster.idl>
+
+
+ module com { module sun { module star { module form { module control {
+
+
+/** describes a list box control which can (but not necessarily has to) be bound to a database field.
+
+ <p>The model of the control has to support the com::sun::star::form::component::ListBox
+ service.</p>
+
+ @see com::sun::star::awt::UnoControl
+ @see com::sun::star::awt::UnoControlModel
+*/
+published service ListBox
+{
+ service com::sun::star::awt::UnoControlListBox;
+
+ interface com::sun::star::form::XBoundControl;
+
+ /** allows broadcasts of HTML-compatible change events.
+
+ <p>HTML-compatible means that a change event is broadcasted if and only if all of
+ the following applies.
+ <ul>
+ <li>the control loses the focus</li>
+ <li>the content of the control has changed, compared to the moment where it got the focus.</li>
+ </ul>
+ </p>
+ */
+ interface com::sun::star::form::XChangeBroadcaster;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/control/NavigationToolBar.idl b/offapi/com/sun/star/form/control/NavigationToolBar.idl
new file mode 100644
index 000000000..3b5562749
--- /dev/null
+++ b/offapi/com/sun/star/form/control/NavigationToolBar.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_form_control_NavigationToolBar_idl__
+#define __com_sun_star_form_control_NavigationToolBar_idl__
+
+#include <com/sun/star/awt/UnoControl.idl>
+
+
+module com { module sun { module star { module form { module control {
+
+
+/** This service specifies the model for control which provides controller
+ functionality for a com::sun::star::form::component::DataForm, such as navigating or filtering
+ the form.
+
+ @see com::sun::star::form::component::NavigationToolBar
+*/
+service NavigationToolBar
+{
+ service com::sun::star::awt::UnoControl;
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/control/NumericField.idl b/offapi/com/sun/star/form/control/NumericField.idl
new file mode 100644
index 000000000..1b1114bfc
--- /dev/null
+++ b/offapi/com/sun/star/form/control/NumericField.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_form_control_NumericField_idl__
+#define __com_sun_star_form_control_NumericField_idl__
+
+#include <com/sun/star/awt/UnoControlNumericField.idl>
+#include <com/sun/star/form/XBoundControl.idl>
+
+
+ module com { module sun { module star { module form { module control {
+
+
+/** describes a control for inputting numeric values and which can (but not necessarily has to)
+ be bound to a database field.
+
+ <p>The model of the control has to support the com::sun::star::form::component::NumericField
+ service.</p>
+
+ @see com::sun::star::awt::UnoControl
+ @see com::sun::star::awt::UnoControlModel
+*/
+published service NumericField
+{
+ service com::sun::star::awt::UnoControlNumericField;
+
+ interface com::sun::star::form::XBoundControl;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/control/PatternField.idl b/offapi/com/sun/star/form/control/PatternField.idl
new file mode 100644
index 000000000..1492362e6
--- /dev/null
+++ b/offapi/com/sun/star/form/control/PatternField.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_form_control_PatternField_idl__
+#define __com_sun_star_form_control_PatternField_idl__
+
+#include <com/sun/star/awt/UnoControlPatternField.idl>
+#include <com/sun/star/form/XBoundControl.idl>
+
+
+ module com { module sun { module star { module form { module control {
+
+
+/** describes a control for inputting text complying to a given pattern,
+ and which can (but not necessarily has to) be bound to a database field.
+
+ <p>The model of the control has to support the com::sun::star::form::component::PatternField
+ service.</p>
+
+ @see com::sun::star::awt::UnoControl
+ @see com::sun::star::awt::UnoControlModel
+*/
+published service PatternField
+{
+ service com::sun::star::awt::UnoControlPatternField;
+
+ interface com::sun::star::form::XBoundControl;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/control/RadioButton.idl b/offapi/com/sun/star/form/control/RadioButton.idl
new file mode 100644
index 000000000..33409ecec
--- /dev/null
+++ b/offapi/com/sun/star/form/control/RadioButton.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_form_control_RadioButton_idl__
+#define __com_sun_star_form_control_RadioButton_idl__
+
+#include <com/sun/star/awt/UnoControlRadioButton.idl>
+#include <com/sun/star/form/XBoundControl.idl>
+
+
+ module com { module sun { module star { module form { module control {
+
+
+/** describes a radio button control which can (but not necessarily has to) be bound to a database field.
+
+ <p>The model of the control has to support the com::sun::star::form::component::RadioButton
+ service.</p>
+
+ @see com::sun::star::awt::UnoControl
+ @see com::sun::star::awt::UnoControlModel
+*/
+published service RadioButton
+{
+ service com::sun::star::awt::UnoControlRadioButton;
+
+ interface com::sun::star::form::XBoundControl;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/control/SubmitButton.idl b/offapi/com/sun/star/form/control/SubmitButton.idl
new file mode 100644
index 000000000..d84716627
--- /dev/null
+++ b/offapi/com/sun/star/form/control/SubmitButton.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_form_control_SubmitButton_idl__
+#define __com_sun_star_form_control_SubmitButton_idl__
+
+#include <com/sun/star/awt/UnoControlButton.idl>
+#include <com/sun/star/form/submission/XSubmission.idl>
+
+
+module com { module sun { module star { module form { module control {
+
+
+/** specifies a button control which can execute external submissions
+
+ <p>The model of the control has to support the com::sun::star::form::component::SubmitButton
+ service.</p>
+
+ <p>The control is clickable. When clicked (by mouse or keyboard, or programmatically),
+ the following happens:
+ <ol><li>Any com::sun::star::form::submission::XSubmissionVetoListeners registered
+ at the component are given the chance to veto the submission.
+ </li>
+ <li>The model of the control is examined for an external submission object. That is,
+ com::sun::star::form::submission::XSubmissionSupplier::getSubmission()
+ is called at the model.<br/>
+ If there is such a submission object, its
+ com::sun::star::form::submission::XSubmission::submit() method is invoked.
+ </li>
+ <li>If there is no external submission, the parent object of the model is examined
+ for the presence of the com::sun::star::form::XSubmit interface. If it
+ is present, it's com::sun::star::form::XSubmit::submit() method is
+ invoked.<br/>
+ Since the parent object of a submit button can only be a com::sun::star::form::component::Form,
+ this means that SubmitButtons are also able to submit com::sun::star::form::component::HTMLForms.
+ </li>
+ </ol>
+ </p>
+*/
+service SubmitButton
+{
+ /** allows interception (and vetoing) of submissions triggered by the control.
+ */
+ interface com::sun::star::form::submission::XSubmission;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/control/TextField.idl b/offapi/com/sun/star/form/control/TextField.idl
new file mode 100644
index 000000000..1d88cecdf
--- /dev/null
+++ b/offapi/com/sun/star/form/control/TextField.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_form_control_TextField_idl__
+#define __com_sun_star_form_control_TextField_idl__
+
+#include <com/sun/star/awt/UnoControlEdit.idl>
+#include <com/sun/star/form/XBoundControl.idl>
+#include <com/sun/star/form/XChangeBroadcaster.idl>
+
+
+ module com { module sun { module star { module form { module control {
+
+
+/** describes a control for entering arbitrary text which can (but not necessarily has to) be bound
+ to a database field.
+
+ <p>The model of the control has to support the com::sun::star::form::component::TextField
+ service.</p>
+
+ <p>In addition, this control can be used in HTML forms. It triggers the
+ com::sun::star::form::XSubmit::submit() method of the form it belongs to if
+ the <em>enter</em> is pressed while it has the focus.</p>
+
+ @see com::sun::star::awt::UnoControl
+ @see com::sun::star::awt::UnoControlModel
+*/
+published service TextField
+{
+ service com::sun::star::awt::UnoControlEdit;
+
+ interface com::sun::star::form::XBoundControl;
+
+ /** allows broadcasts of HTML-compatible change events.
+
+ <p>HTML-compatible means that a change event is broadcasted if and only if all of
+ the following applies.
+ <ul>
+ <li>the control loses the focus</li>
+ <li>the content of the control has changed, compared to the moment where it got the focus.</li>
+ </ul>
+ </p>
+ */
+ interface com::sun::star::form::XChangeBroadcaster;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/control/TimeField.idl b/offapi/com/sun/star/form/control/TimeField.idl
new file mode 100644
index 000000000..aede8244f
--- /dev/null
+++ b/offapi/com/sun/star/form/control/TimeField.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_form_control_TimeField_idl__
+#define __com_sun_star_form_control_TimeField_idl__
+
+#include <com/sun/star/awt/UnoControlTimeField.idl>
+#include <com/sun/star/form/XBoundControl.idl>
+
+
+ module com { module sun { module star { module form { module control {
+
+
+/** describes a control for inputting time values which can (but not necessarily has to) be bound
+ to a database field.
+
+ <p>The model of the control has to support the com::sun::star::form::component::TimeField
+ service.</p>
+
+ @see com::sun::star::awt::UnoControl
+ @see com::sun::star::awt::UnoControlModel
+*/
+published service TimeField
+{
+ service com::sun::star::awt::UnoControlTimeField;
+
+ interface com::sun::star::form::XBoundControl;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/inspection/ButtonNavigationHandler.idl b/offapi/com/sun/star/form/inspection/ButtonNavigationHandler.idl
new file mode 100644
index 000000000..66c3b8569
--- /dev/null
+++ b/offapi/com/sun/star/form/inspection/ButtonNavigationHandler.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_form_inspection_ButtonNavigationHandler_idl__
+#define __com_sun_star_form_inspection_ButtonNavigationHandler_idl__
+
+#include <com/sun/star/inspection/XPropertyHandler.idl>
+
+
+module com { module sun { module star { module form { module inspection {
+
+
+/** implements a property handler for use with a com::sun::star::inspection::ObjectInspector
+ which is able to enhance the com::sun::star::form::component::CommandButton::ButtonType
+ and com::sun::star::form::component::CommandButton::TargetURL properties of a
+ com::sun::star::form::component::CommandButton.
+
+ <p>For this, the two properties are superseded by new versions, where as button type, additional
+ possible values are added for navigating the parent form of the button. For instance, in an
+ com::sun::star::inspection::ObjectInspector using this handler, the user will be able
+ to choose a button type saying "move to the next record", which, when chosen, well, moves the parent
+ database form of the button to the next record.</p>
+
+ @see com::sun::star::inspection::XPropertyHandler
+ @see com::sun::star::form::component::CommandButton
+*/
+service ButtonNavigationHandler
+{
+ interface com::sun::star::inspection::XPropertyHandler;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/inspection/CellBindingPropertyHandler.idl b/offapi/com/sun/star/form/inspection/CellBindingPropertyHandler.idl
new file mode 100644
index 000000000..3109b5439
--- /dev/null
+++ b/offapi/com/sun/star/form/inspection/CellBindingPropertyHandler.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_form_inspection_CellBindingPropertyHandler_idl__
+#define __com_sun_star_form_inspection_CellBindingPropertyHandler_idl__
+
+#include <com/sun/star/inspection/XPropertyHandler.idl>
+
+
+module com { module sun { module star { module form { module inspection {
+
+
+/** implements a property handler for use with a com::sun::star::inspection::ObjectInspector
+ which is able to provide properties to bind a form component to a spreadsheet cell.
+
+ <p>The handler expects a value named "ContextDocument" in the context in which it is created.
+ That is, the com::sun::star::uno::XComponentContext used for creating the
+ CellBindingPropertyHandler is examined for a value with this name. If the object in this
+ value denotes a spreadsheet document (indicated by supporting the com::sun::star::sheet::XSpreadsheetDocument
+ interface), this document is used to create the com::sun::star::form::binding::ValueBindings
+ to bind the inspected object to cells in this document.</p>
+
+ @see com::sun::star::inspection::XPropertyHandler
+ @see com::sun::star::form::binding::BindableControlModel
+ @see com::sun::star::form::binding::ValueBinding
+ @see com::sun::star::table::CellValueBinding
+ @see com::sun::star::table::ListPositionCellBinding
+ @see com::sun::star::uno::XComponentContext::getValueByName
+*/
+service CellBindingPropertyHandler
+{
+ interface com::sun::star::inspection::XPropertyHandler;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/inspection/DefaultFormComponentInspectorModel.idl b/offapi/com/sun/star/form/inspection/DefaultFormComponentInspectorModel.idl
new file mode 100644
index 000000000..b9deb1f74
--- /dev/null
+++ b/offapi/com/sun/star/form/inspection/DefaultFormComponentInspectorModel.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_form_inspection_DefaultFormComponentInspectorModel_idl__
+#define __com_sun_star_form_inspection_DefaultFormComponentInspectorModel_idl__
+
+#include <com/sun/star/inspection/XObjectInspectorModel.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+module com { module sun { module star { module form { module inspection {
+
+
+/** implements a com::sun::star::inspection::XObjectInspectorModel for
+ inspecting form components, in particular all components implementing the FormComponent
+ service.
+
+ <p>A DefaultFormComponentInspectorModel provides the following handlers by default:
+ <ul><li>ButtonNavigationHandler</li>
+ <li>CellBindingPropertyHandler</li>
+ <li>EditPropertyHandler</li>
+ <li>EventHandler</li>
+ <li>FormComponentPropertyHandler</li>
+ <li>SubmissionPropertyHandler</li>
+ <li>XMLFormsPropertyHandler</li>
+ <li>XSDValidationPropertyHandler</li>
+ </ul></p>
+
+ @see com::sun::star::inspection::XObjectInspectorModel::HandlerFactories
+*/
+service DefaultFormComponentInspectorModel : com::sun::star::inspection::XObjectInspectorModel
+{
+ /** creates a default DefaultFormComponentInspectorModel, providing factories for all
+ handlers listed above.
+
+ @since OOo 2.2
+ */
+ createDefault();
+
+ /** creates a default DefaultFormComponentInspectorModel, providing factories for all
+ handlers listed above, and describing an ObjectInspector which has a help section.
+
+ @param minHelpTextLines
+ denotes the minimum number of lines of text to be reserved for the help
+ section.
+
+ @param maxHelpTextLines
+ denotes the maximum number of lines of text to be reserved for the help
+ section.
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if minHelpTextLines or maxHelpTextLines are negative,
+ or if minHelpTextLines is greater than maxHelpTextLines.
+
+ @see XObjectInspectorModel::HasHelpSection
+ @see XObjectInspectorModel::MinHelpTextLines
+ @see XObjectInspectorModel::MaxHelpTextLines
+
+ @since OOo 2.2
+ */
+ createWithHelpSection(
+ [in] long minHelpTextLines,
+ [in] long maxHelpTextLines
+ )
+ raises ( ::com::sun::star::lang::IllegalArgumentException );
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/inspection/EditPropertyHandler.idl b/offapi/com/sun/star/form/inspection/EditPropertyHandler.idl
new file mode 100644
index 000000000..81f6c6e45
--- /dev/null
+++ b/offapi/com/sun/star/form/inspection/EditPropertyHandler.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_form_inspection_EditPropertyHandler_idl__
+#define __com_sun_star_form_inspection_EditPropertyHandler_idl__
+
+#include <com/sun/star/inspection/XPropertyHandler.idl>
+
+
+module com { module sun { module star { module form { module inspection {
+
+
+/** implements a property handler for use with a com::sun::star::inspection::ObjectInspector
+ which provides convenience wrappers for some properties existing at a form component
+ derived from com::sun::star::awt::UnoControlEditModel.
+
+ <p>First, the handler supersedes the HScroll and the VScroll properties of a com::sun::star::awt::UnoControlEditModel
+ and puts them into one common property, allowing the user to choose whether she want to
+ have "no", a "vertical", a "horizontal", or "both" scrollbars.<p>
+
+ <p>Second, if it detects a com::sun::star::form::component::RichTextControl to inspect,
+ it supersedes the com::sun::star::form::component::RichTextControl::RichText
+ and the com::sun::star::awt::UnoControlEditModel::MultiLine properties with a new
+ one which allows choosing the text type with one single action.</p>
+
+ @see com::sun::star::inspection::XPropertyHandler
+ @see com::sun::star::awt::UnoControlEditModel
+ @see com::sun::star::form::component::RichTextControl
+ @see com::sun::star::form::component::TextField
+*/
+service EditPropertyHandler
+{
+ interface com::sun::star::inspection::XPropertyHandler;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/inspection/EventHandler.idl b/offapi/com/sun/star/form/inspection/EventHandler.idl
new file mode 100644
index 000000000..121990779
--- /dev/null
+++ b/offapi/com/sun/star/form/inspection/EventHandler.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_form_inspection_EventHandler_idl__
+#define __com_sun_star_form_inspection_EventHandler_idl__
+
+#include <com/sun/star/inspection/XPropertyHandler.idl>
+
+
+module com { module sun { module star { module form { module inspection {
+
+
+/** implements a property handler for use with a com::sun::star::inspection::ObjectInspector
+ which, for a com::sun::star::form::FormComponent, provides the script events
+ offered by this form component.
+
+ <p>For this, the parent of the form component, which by definition supports the com::sun::star::form::FormComponent
+ service, is examined for the com::sun::star::script::XEventAttacherManager interface.</p>
+
+ @see com::sun::star::inspection::XPropertyHandler
+ @see com::sun::star::form::component::CommandButton
+ @see com::sun::star::form::FormComponents
+ @see com::sun::star::script::XEventAttacherManager
+*/
+service EventHandler
+{
+ interface com::sun::star::inspection::XPropertyHandler;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/inspection/FormComponentPropertyHandler.idl b/offapi/com/sun/star/form/inspection/FormComponentPropertyHandler.idl
new file mode 100644
index 000000000..1208373e5
--- /dev/null
+++ b/offapi/com/sun/star/form/inspection/FormComponentPropertyHandler.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_form_inspection_FormComponentPropertyHandler_idl__
+#define __com_sun_star_form_inspection_FormComponentPropertyHandler_idl__
+
+#include <com/sun/star/inspection/XPropertyHandler.idl>
+
+
+module com { module sun { module star { module form { module inspection {
+
+
+/** implements the default property handler for all known types of com::sun::star::form::FormComponents.
+
+ @see com::sun::star::inspection::XPropertyHandler
+ @see com::sun::star::form::FormComponents
+*/
+service FormComponentPropertyHandler : com::sun::star::inspection::XPropertyHandler;
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/inspection/SubmissionPropertyHandler.idl b/offapi/com/sun/star/form/inspection/SubmissionPropertyHandler.idl
new file mode 100644
index 000000000..74bebe7c9
--- /dev/null
+++ b/offapi/com/sun/star/form/inspection/SubmissionPropertyHandler.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_form_inspection_SubmissionPropertyHandler_idl__
+#define __com_sun_star_form_inspection_SubmissionPropertyHandler_idl__
+
+#include <com/sun/star/inspection/XPropertyHandler.idl>
+
+
+module com { module sun { module star { module form { module inspection {
+
+
+/** implements a property handler for use with a com::sun::star::inspection::ObjectInspector
+ which provides properties for button controls which support submission of XML forms.
+
+ <p>The handler expects a value named "ContextDocument" in the context in which it is created.
+ That is, the com::sun::star::uno::XComponentContext used for creating the
+ CellBindingPropertyHandler is examined for a value with this name. If the object in this
+ value denotes a XML form document (indicated by supporting the com::sun::star::xforms::XFormsSupplier
+ interface), this document is used to examine the XML submissions which the button can be bound to.</p>
+
+ @see com::sun::star::inspection::XPropertyHandler
+ @see com::sun::star::form::submission::XSubmission
+ @see com::sun::star::form::submission::XSubmissionProvider
+ @see com::sun::star::form::component::SubmitButton
+ @see com::sun::star::xforms::XSubmission
+ @see com::sun::star::uno::XComponentContext::getValueByName
+*/
+service SubmissionPropertyHandler
+{
+ interface com::sun::star::inspection::XPropertyHandler;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/inspection/XMLFormsPropertyHandler.idl b/offapi/com/sun/star/form/inspection/XMLFormsPropertyHandler.idl
new file mode 100644
index 000000000..6718d2323
--- /dev/null
+++ b/offapi/com/sun/star/form/inspection/XMLFormsPropertyHandler.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_form_inspection_XMLFormsPropertyHandler_idl__
+#define __com_sun_star_form_inspection_XMLFormsPropertyHandler_idl__
+
+#include <com/sun/star/inspection/XPropertyHandler.idl>
+
+
+module com { module sun { module star { module form { module inspection {
+
+
+/** implements a property handler for use with a com::sun::star::inspection::ObjectInspector
+ which provides properties related to binding form control models to XForm bindings.
+
+ <p>The handler introduces new properties to choose a com::sun::star::xforms::XModel
+ and a com::sun::star::xforms::Binding within this model. Additionally,
+ it introduces properties which reflect the different facets of the binding (e.g.
+ com::sun::star::xforms::Binding::BindingExpression), so they can be changed
+ directly in the com::sun::star::inspection::ObjectInspector as if they were a
+ property of the form component which is being inspected.</p>
+
+ <p>The handler expects a value named "ContextDocument" in the context in which it is created.
+ That is, the com::sun::star::uno::XComponentContext used for creating the
+ CellBindingPropertyHandler is examined for a value with this name. If the object in this
+ value denotes a XML form document (indicated by supporting the com::sun::star::xforms::XFormsSupplier
+ interface), this document is used to do XML binding related work.</p>
+
+ @see com::sun::star::inspection::XPropertyHandler
+ @see com::sun::star::form::binding::BindableControlModel
+ @see com::sun::star::form::binding::ValueBinding
+ @see com::sun::star::xforms::Binding
+ @see com::sun::star::uno::XComponentContext::getValueByName
+*/
+service XMLFormsPropertyHandler
+{
+ interface com::sun::star::inspection::XPropertyHandler;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/inspection/XSDValidationPropertyHandler.idl b/offapi/com/sun/star/form/inspection/XSDValidationPropertyHandler.idl
new file mode 100644
index 000000000..e1100d20f
--- /dev/null
+++ b/offapi/com/sun/star/form/inspection/XSDValidationPropertyHandler.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_form_inspection_XSDValidationPropertyHandler_idl__
+#define __com_sun_star_form_inspection_XSDValidationPropertyHandler_idl__
+
+#include <com/sun/star/inspection/XPropertyHandler.idl>
+
+
+module com { module sun { module star { module form { module inspection {
+
+
+/** implements a property handler for use with a com::sun::star::inspection::ObjectInspector
+ which provides properties related to binding form control models to XForm bindings and validating
+ the form control content.
+
+ <p>By using an XMLFormsPropertyHandler, a com::sun::star::inspection::ObjectInspector
+ can be used to bind form components to com::sun::star::xforms::Binding instances.
+ Since those instances also support validating form control content (by supporting an
+ com::sun::star::form::validation::XValidator interface), it seems reasonable to
+ edit those validate-related properties (like the XSD data type to validate against) in the
+ com::sun::star::inspection::ObjectInspector, too. This is what an XSDValidationPropertyHandler
+ is good for.</p>
+
+ <p>The handler expects a value named "ContextDocument" in the context in which it is created.
+ That is, the com::sun::star::uno::XComponentContext used for creating the
+ CellBindingPropertyHandler is examined for a value with this name. If the object in this
+ value denotes a XML form document (indicated by supporting the com::sun::star::xforms::XFormsSupplier
+ interface), this document is used to do XML binding related work.</p>
+
+ @see com::sun::star::inspection::XPropertyHandler
+ @see com::sun::star::form::binding::BindableControlModel
+ @see com::sun::star::form::binding::ValueBinding
+ @see com::sun::star::forms::validation::ValidatableControlModel
+ @see com::sun::star::xforms::Binding
+ @see com::sun::star::xsd::XDataType
+ @see com::sun::star::uno::XComponentContext::getValueByName
+*/
+service XSDValidationPropertyHandler
+{
+ interface com::sun::star::inspection::XPropertyHandler;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/modules.idl b/offapi/com/sun/star/form/modules.idl
new file mode 100644
index 000000000..43e8a6ec5
--- /dev/null
+++ b/offapi/com/sun/star/form/modules.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_modules_form_idl__
+#define __com_sun_star_modules_form_idl__
+
+module com { module sun { module star { module form {
+
+ /** collects functionality for binding form controls to external
+ data sources.
+ */
+ module binding { };
+
+ /** collects form control model descriptions
+ */
+ module component { };
+
+ /** collects form control descriptions
+ */
+ module control { };
+
+ /** collects services for inspecting form/components
+ @see com::sun::star::inspection::ObjectInspector
+ @see com::sun::star::inspection
+ */
+ module inspection { };
+
+ /** collects functionality needed during a form's runtime, e.g.
+ when it is active and interacts with the user.
+ */
+ module runtime { };
+
+ /** collects functionality for submitting forms to external data sinks
+ */
+ module submission { };
+
+ /** collects functionality to validate form components by help
+ of external validator instances
+ */
+ module validation { };
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/runtime/FeatureState.idl b/offapi/com/sun/star/form/runtime/FeatureState.idl
new file mode 100644
index 000000000..246258109
--- /dev/null
+++ b/offapi/com/sun/star/form/runtime/FeatureState.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_form_runtime_FeatureState_idl__
+#define __com_sun_star_form_runtime_FeatureState_idl__
+
+
+module com { module sun { module star { module form { module runtime {
+
+
+/** encapsulates the state of a FormFeature
+
+ @see XFormOperations
+
+ @since OOo 2.2
+ */
+struct FeatureState
+{
+ /** determines whether the respective feature is enabled (i.e. available)
+ in the current state of the form.
+ */
+ boolean Enabled;
+
+ /** determines the state of the feature. The concrete semantics depends
+ on the concrete FormFeature.
+ */
+ any State;
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/runtime/FilterEvent.idl b/offapi/com/sun/star/form/runtime/FilterEvent.idl
new file mode 100644
index 000000000..9c4c33b06
--- /dev/null
+++ b/offapi/com/sun/star/form/runtime/FilterEvent.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_form_runtime_FilterEvent_idl__
+#define __com_sun_star_form_runtime_FilterEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+
+
+module com { module sun { module star { module form { module runtime {
+
+
+/** is an event fired by a filter controller, when the filter managed by the controller changes.
+
+ @see XFilterController
+
+ @since OOo 3.3
+ */
+struct FilterEvent : ::com::sun::star::lang::EventObject
+{
+ /** denotes the index of the <em>disjunctive term</em> to which the event applies, if any.
+ */
+ long DisjunctiveTerm;
+
+ /** denotes the index of the <em>filter component</em> to which the event applies, if any.
+ */
+ long FilterComponent;
+
+ /** denotes the <em>predicate expression</em> associated with the event.
+ */
+ string PredicateExpression;
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/runtime/FormController.idl b/offapi/com/sun/star/form/runtime/FormController.idl
new file mode 100644
index 000000000..48eaa6fed
--- /dev/null
+++ b/offapi/com/sun/star/form/runtime/FormController.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_form_runtime_FormController_idl__
+#define __com_sun_star_form_runtime_FormController_idl__
+
+#include <com/sun/star/form/runtime/XFormController.idl>
+
+
+module com { module sun { module star { module form { module runtime {
+
+
+/** specifies a component controlling the interaction between the user and multiple
+ form controls belonging to a single form.
+ */
+service FormController : XFormController;
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/runtime/FormFeature.idl b/offapi/com/sun/star/form/runtime/FormFeature.idl
new file mode 100644
index 000000000..1d3fb50b4
--- /dev/null
+++ b/offapi/com/sun/star/form/runtime/FormFeature.idl
@@ -0,0 +1,145 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_form_runtime_FormFeature_idl__
+#define __com_sun_star_form_runtime_FormFeature_idl__
+
+
+module com { module sun { module star { module form { module runtime {
+
+
+/** specifies the operations on a user interface form, as supported by the
+ XFormOperations interface.
+
+ @since OOo 2.2
+*/
+constants FormFeature
+{
+ /** moves the form to a record given by absolute position.
+
+ <p>This operation cannot be executed without arguments. When executing it (i.e.
+ when calling com::sun::star::form::runtime::XFormOperations::executeWithArguments()),
+ you need to specify a parameter named <em>Position</em> of type <code>long</code>, which
+ denotes the position to move the form to.</p>
+ */
+ const short MoveAbsolute = 1;
+
+ /** determines the number of total records in the form,
+ including the potentially active insertion row.
+
+ <p>This is not strictly an operation you can do on a form, but rather a
+ state you can retrieve (and display to the user) using the XFormOperations's
+ respective methods.</p>
+
+ <p>The state obtained here is a string, not a number. This is because in an UI
+ form, the fact that the current record count is not yet known (since not all
+ records have been visited, yet) is indicated by an asterisk (<code>*</code>) besides
+ the record count.</p>
+ */
+ const short TotalRecords = 2;
+
+ /// moves the form to the first record
+ const short MoveToFirst = 3;
+
+ /// moves the form to the record before the current record, if there is any
+ const short MoveToPrevious = 4;
+
+ /// moves the form to the record after the current record, if there is any
+ const short MoveToNext = 5;
+
+ /// moves the form to the last record
+ const short MoveToLast = 6;
+
+ /// moves the form to the insertion row, if privileges allow
+ const short MoveToInsertRow = 7;
+
+ /** saves all changes in the form's current record, including changes in the current
+ control which had not yet been committed to the form
+ */
+ const short SaveRecordChanges = 8;
+
+ /** reverts all changes in the form's current record, including changes in the current
+ control which had not yet been committed to the form
+ */
+ const short UndoRecordChanges = 9;
+
+ /** deletes the current record, while honoring any registered
+ com::sun::star::form::XConfirmDeleteListeners
+ */
+ const short DeleteRecord = 10;
+
+ /// reloads the form content
+ const short ReloadForm = 11;
+
+ /// sorts the form ascending by the field which the active form control is bound to.
+ const short SortAscending = 12;
+
+ /// sorts the form descending by the field which the active form control is bound to.
+ const short SortDescending = 13;
+
+ /// opens a dialog which allows the user to interactively specify a form sorting order
+ const short InteractiveSort = 14;
+
+ /** adds a filter to the form, which is defined by the active form control and its
+ current value
+
+ <p>For instance, if the currently active form control is bound to a table field
+ named <code>Price</code>, and currently has a value of <code>100</code>, then invoking
+ the <code>AutoFilter</code> operation will put an additional filter <code>Price = 100</code>
+ on the form.</p>
+ */
+ const short AutoFilter = 15;
+
+ /// opens a dialog which allows the user to interactively specify a form filter
+ const short InteractiveFilter = 16;
+
+ /** toggles the com::sun::star::sdb::RowSet::ApplyFilter property
+ of the form.
+ */
+ const short ToggleApplyFilter = 17;
+
+ /** removes all filter and sort criteria put on the form.
+
+ <p>Note that this does not apply to criteria which are part of the form's
+ data source. That is, if you bind the form to the SQL command <code>SELECT * FROM
+ Articles WHERE Price &gt; 100</code>, then the <code>Price &gt; 100</code> filter
+ will not be removed.</p>
+
+ <p>Effectively, this operation resets the com::sun::star::sdb::RowSet::Filter
+ and com::sun::star::sdb::RowSet::Order properties of the form.</p>
+ */
+ const short RemoveFilterAndSort = 18;
+
+ /** refreshes the current control
+
+ <p>Basically, this means calling XRefreshable::refresh on the current control, if it supports
+ this interface.</p>
+
+ @since OOo 3.1
+ */
+ const short RefreshCurrentControl = 19;
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/runtime/FormOperations.idl b/offapi/com/sun/star/form/runtime/FormOperations.idl
new file mode 100644
index 000000000..032042d4b
--- /dev/null
+++ b/offapi/com/sun/star/form/runtime/FormOperations.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_form_runtime_FormOperations_idl__
+#define __com_sun_star_form_runtime_FormOperations_idl__
+
+#include <com/sun/star/form/runtime/XFormOperations.idl>
+#include <com/sun/star/form/runtime/XFormController.idl>
+#include <com/sun/star/form/XForm.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+module com { module sun { module star { module form { module runtime {
+
+
+/** encapsulates operations on a database form which has a UI representation,
+ and is interacting with the user.
+
+ @since OOo 2.2
+ */
+service FormOperations : XFormOperations
+{
+ /** creates a <code>FormOperations</code> instance which works on a com::sun::star::form::FormController
+ instance.
+ @throws IllegalArgumentException
+ if the given form controller is `NULL`, or does not have a model denoting a valid
+ com::sun::star::form::component::DataForm instance.
+ */
+ createWithFormController(
+ [in] XFormController Controller
+ )
+ raises(
+ ::com::sun::star::lang::IllegalArgumentException
+ );
+
+ /** creates a <code>FormOperations</code> instance which works on a com::sun::star::form::component::DataForm
+ instance.
+
+ @throws IllegalArgumentException
+ if the given form is `NULL`, or does not support the com::sun::star::form::component::DataForm
+ service.
+ */
+ createWithForm(
+ [in] XForm Form
+ )
+ raises(
+ ::com::sun::star::lang::IllegalArgumentException
+ );
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/runtime/XFeatureInvalidation.idl b/offapi/com/sun/star/form/runtime/XFeatureInvalidation.idl
new file mode 100644
index 000000000..49a36594f
--- /dev/null
+++ b/offapi/com/sun/star/form/runtime/XFeatureInvalidation.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_form_runtime_XFeatureInvalidation_idl__
+#define __com_sun_star_form_runtime_XFeatureInvalidation_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module form { module runtime {
+
+
+/** implements a callback for a XFormOperations instance, which is called
+ when the state of one or more FormFeatures might have changed.
+
+ @see XFormOperations
+
+ @since OOo 2.2
+*/
+interface XFeatureInvalidation
+{
+ /** invalidates the given FormFeatures
+
+ <p>Invalidation means that any user interface representation (such as toolbox buttons), or
+ any dispatches associated with the features in question are potentially out-of-date, and
+ need to be updated.</p>
+
+ @param Features
+ The set of features whose state might have changed.
+ */
+ void invalidateFeatures( [in] sequence< short > Features );
+
+ /** invalidates all features
+
+ <p>This method is used of it cannot be exactly and reliably determined
+ which features might actually have changed their state. In this case, the callee
+ should assume all features it is interested in must be required.</p>
+ */
+ void invalidateAllFeatures();
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/runtime/XFilterController.idl b/offapi/com/sun/star/form/runtime/XFilterController.idl
new file mode 100644
index 000000000..6a2234bb8
--- /dev/null
+++ b/offapi/com/sun/star/form/runtime/XFilterController.idl
@@ -0,0 +1,172 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_form_runtime_XFilterController_idl__
+#define __com_sun_star_form_runtime_XFilterController_idl__
+
+#include <com/sun/star/awt/XControl.idl>
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+
+
+module com { module sun { module star { module form { module runtime {
+
+
+interface XFilterControllerListener;
+
+/** provides access to a form based filter for a database form
+
+ <p>In a form based filter, form controls bound to a searchable database field are replaced with a control
+ which allows entering a search expression. This so-called <em>predicate expression</em> is basically a part of an
+ SQL <code>WHERE</code> clause, but without the part denoting the database column. For instance, if you
+ have a form control bound to a table column named <code>Name</code>, then entering the string
+ <code>LIKE '%Smith%'</code> effectively constitutes a SQL <code>WHERE</code> clause <code>"Name" LIKE '%Smith%'</code>.</p>
+
+ <p>In the actual document view, there are usually some relaxations to this. For instance, keywords such as
+ <code>LIKE</code> might be localized, according to OpenOffice.org's UI locale. Also, for an equality criterion,
+ the equality sign <code>=</code> is usually omitted. However, this interface here provides programmatic access
+ to the form based filter, so those relaxations are not considered here.</p>
+
+ <p>The filter maintained by a filter controller is, logically, a disjunctive normal form of an SQL <code>WHERE</code>
+ class. That is, it is a disjunction of <em>m</em> terms, where each term is a conjunction of <em>n</em> clauses
+ of the form <code>&lt;column&gt; &lt;predicate&gt; &lt;literal&gt;</code> or of the form <code><em>&lt;column&gt;
+ IS [NOT] NULL</em></code>.</p>
+
+ <p><em>n</em> equals the number of filter controls which the filter controller is responsible for. This number
+ doesn't change during one session of the form based filter. On the other hand, <em>m</em>, the number of disjunctive
+ terms, is dynamic.</p>
+
+ <a name="active_term"></a>
+ <p>With the above, there are potentially <em>m * n</em> <em>predicate expressions</em> (though usually only a fraction
+ of those will actually exist). Since in a form based filter, there are only <em>n</em> filter controls, and each
+ filter control displays exactly one <em>predicate expression</em>, this means that only a part of the complete
+ filter can be displayed, in particular, only one <em>disjunctive term</em> can be displayed at a time. Thus,
+ the filter controller knows the concept of an <em>active term</em>, denoted by the #ActiveTerm
+ attribute, controls which of the terms is currently displayed in the form controls.</p>
+
+ @see XFormController
+ @see com::sun::star::sdbc::XResultSetMetaData::isSearchable
+ @see com::sun::star::sdb::XSingleSelectQueryAnalyzer::getStructuredFilter
+ @see com::sun::star::sdb::SQLFilterOperator
+
+ @since OOo 3.3
+ */
+interface XFilterController
+{
+ /** registers a listener to be notified of certain changes in the form based filter.
+
+ <p>Registering the same listener multiple times results in multiple notifications of the same event,
+ and also requires multiple revocations of the listener.
+ */
+ void addFilterControllerListener( [in] XFilterControllerListener Listener );
+
+ /** revokes a listener which was previously registered to be notified of certain changes in the form based filter.
+ */
+ void removeFilterControllerListener( [in] XFilterControllerListener Listener );
+
+ /** is the number of <em>filter components</em>, or filter controls, which the filter controller is responsible
+ for.
+
+ <p>This number is constant during one session of the form based filter.</p>
+ */
+ [attribute, readonly] long FilterComponents;
+
+ /** is the number of <em>disjunctive terms</em> of the filter expression represented by the form based filter.
+ */
+ [attribute, readonly] long DisjunctiveTerms;
+
+ /** denotes the <a href="#active_term"><em>active term</em></a> of the filter controller.
+ */
+ [attribute] long ActiveTerm
+ {
+ set raises ( ::com::sun::star::lang::IndexOutOfBoundsException );
+ };
+
+ /** sets a given <em>predicate expression</em>
+
+ @param Component
+ denotes the filter component whose expression is to be set. Must be greater than or equal to 0, and smaller than
+ #FilterComponents.
+
+ @param Term
+ denotes the <em>disjunctive term</em> in which the expression is to be set. Must be greater than or equal to 0,
+ and smaller than #DisjunctiveTerms.
+
+ @param PredicateExpression
+ denotes the <em>predicate expression</em> to set for the given filter component in the given term.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if one of the indexes is out of the allowed range
+ */
+ void
+ setPredicateExpression( [in] long Component, [in] long Term, [in] string PredicateExpression )
+ raises( ::com::sun::star::lang::IndexOutOfBoundsException );
+
+ /** retrieves the filter component with the given index.
+
+ <p>The filter control has the same control model as the control which it stands in for. Consequently, you can use this method
+ to obtain the database column which the filter control works on, by examining the control model's <code>BoundField</code>
+ property.</p>
+
+ @param Component
+ denotes the index of the filter component whose control should be obtained. Must be greater than or equal to 0,
+ and smaller than #FilterComponents.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if Component is out of the allowed range.
+
+ @see ::com::sun::star::form::DataAwareControlModel::BoundField
+ */
+ ::com::sun::star::awt::XControl
+ getFilterComponent( [in] long Component )
+ raises( ::com::sun::star::lang::IndexOutOfBoundsException );
+
+ /** retrieves the entirety of the <em>predicate expressions</em> represented by the filter controller.
+
+ <p>Each element of the returned sequence is a <em>disjunctive term</em>, having exactly #FilterComponents
+ elements, which denote the single <em>predicate expressions</em> of this term.</p>
+ */
+ sequence< sequence< string > >
+ getPredicateExpressions();
+
+ /** removes a given <em>disjunctive term</em>
+
+ @param Term
+ the index of the term to remove. Must be greater than or equal to 0, and smaller than
+ #DisjunctiveTerms.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if Term is out of the allowed range.
+ */
+ void
+ removeDisjunctiveTerm( [in] long Term )
+ raises( ::com::sun::star::lang::IndexOutOfBoundsException );
+
+ /** appends an empty disjunctive term to the list of terms.
+ */
+ void
+ appendEmptyDisjunctiveTerm();
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/runtime/XFilterControllerListener.idl b/offapi/com/sun/star/form/runtime/XFilterControllerListener.idl
new file mode 100644
index 000000000..448aa0b0c
--- /dev/null
+++ b/offapi/com/sun/star/form/runtime/XFilterControllerListener.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_form_runtime_XFilterControllerListener_idl__
+#define __com_sun_star_form_runtime_XFilterControllerListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+#include <com/sun/star/form/runtime/FilterEvent.idl>
+
+
+module com { module sun { module star { module form { module runtime {
+
+
+/** is implemented by components listening for events fired by an XFilterController.
+
+ @since OOo 3.3
+*/
+interface XFilterControllerListener : ::com::sun::star::lang::XEventListener
+{
+ /** is fired when a single <em>predicate expression</em> of the filter represented by the filter
+ controller changed.
+
+ <p>FilterEvent::DisjunctiveTerm is the index of the <em>disjunctive term</em> in which the
+ expression changed. This usually equals XFilterController::ActiveTerm.</p>
+
+ <p>FilterEvent::FilterComponent denotes the index of the filter component whose
+ <em>predicate expression</em> changed.</p>
+
+ <p>FilterEvent::PredicateExpression is the new <em>predicate expressions</em>.</p>
+ */
+ void predicateExpressionChanged( [in] FilterEvent Event );
+
+ /** is fired when a <em>disjunctive term</em> was removed from the filter of the filter controller.
+
+ <p>FilterEvent::DisjunctiveTerm is the index of the <em>disjunctive term</em> which was
+ removed.</p>
+
+ <p>FilterEvent::FilterComponent and FilterEvent::PredicateExpression are not
+ used for this event type.</p>
+ */
+ void disjunctiveTermRemoved( [in] FilterEvent Event );
+
+ /** is fired when a <em>disjunctive term</em> was added to the filter of the filter controller.
+
+ <p>FilterEvent::DisjunctiveTerm is the index of the <em>disjunctive term</em> which was
+ added.</p>
+
+ <p>FilterEvent::FilterComponent and FilterEvent::PredicateExpression are not
+ used for this event type.</p>
+ */
+ void disjunctiveTermAdded( [in] FilterEvent Event );
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/runtime/XFormController.idl b/offapi/com/sun/star/form/runtime/XFormController.idl
new file mode 100644
index 000000000..20fc00b4a
--- /dev/null
+++ b/offapi/com/sun/star/form/runtime/XFormController.idl
@@ -0,0 +1,364 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_form_runtime_XFormController_idl__
+#define __com_sun_star_form_runtime_XFormController_idl__
+
+#include <com/sun/star/awt/XTabController.idl>
+#include <com/sun/star/container/XChild.idl>
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/container/XIndexAccess.idl>
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#include <com/sun/star/util/XModifyBroadcaster.idl>
+#include <com/sun/star/util/XModeSelector.idl>
+#include <com/sun/star/form/XConfirmDeleteBroadcaster.idl>
+#include <com/sun/star/sdb/XSQLErrorBroadcaster.idl>
+#include <com/sun/star/sdb/XRowSetApproveBroadcaster.idl>
+#include <com/sun/star/form/XDatabaseParameterBroadcaster2.idl>
+#include <com/sun/star/form/XFormControllerListener.idl>
+#include <com/sun/star/task/XInteractionHandler.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/form/runtime/XFilterController.idl>
+
+
+module com { module sun { module star { module form { module runtime {
+
+interface XFormOperations;
+interface XFormControllerContext;
+
+
+/** specifies a component controlling the interaction between the user and form functionality.
+
+ <p>As soon as a form (containing controls) is to be presented to the user,
+ there is a need for an instance controlling the user interaction.<br/>
+ Such a <code>FormController</code> is responsible for dialog processing,
+ like controlling the tab order and the grouping of controls.</p>
+
+ <p>As a form may contain one or many subforms, a FormController may
+ contain one or more other FormControllers, so the form model structure or hierarchy
+ is reflected in the structure of FormControllers. That is, retrieving the parent of
+ the model of a controller will give you the same object as retrieving the model of the parent of
+ the controller. Similarly, retrieving the model of the <code>n</code><sup>th</sup> child of
+ a controller gives you the same object as retrieving the <code>n</code><sup>th</sup> child of
+ the model of the controller.</p>
+
+ <p>A controller is called <em>active</em> if one of the controls it is responsible for has the focus,
+ else inactive. To be notified whenever this activation state of a given controller changes, you can
+ add listeners.</p>
+
+ <p>This interface supersedes the com::sun::star::form::FormController.</p>
+
+ <h3>Responsibilities</h3>
+ <p>A FormController is responsible for a com::sun::star::awt::UnoControlContainer,
+ and all controls therein.</p>
+
+ <p>Furthermore, a form controller is responsible for preventing invalid user input. That is, if the form
+ contains controls bound to a database, or to an external validator, then the form controller will
+ check their current value when the current record is to be saved to the database.</p>
+
+ <p>First, it will check whether any controls with an external validator exist. If so, those validators
+ will be asked to validate the current control content. If this fails, the message provided by the validator
+ is displayed to the user, the control is focused, and the update of the record is vetoed.</p>
+
+ <p>Second, the controls are examined for NULL values. If a control is bound to a database field which
+ is declared to be <code>NOT NULL</code>, no auto-increment field, but still `NULL`, then an error
+ message is shown to the user saying that input is required, the respective control is focused, and
+ the update of the record is vetoed.</p>
+
+ <p>Note that you can present the second check - for database fields containing `NULL` values - on
+ a per-form and a per-database basis.<br/>
+ For the former, you need to add a boolean property <code>FormsCheckRequiredFields</code> to the form
+ (aka the <code>FormController</code>'s model), using its
+ com::sun::star::beans::XPropertyContainer::addProperty() method, with a value
+ of `FALSE`.<br/>
+ For the latter, you need to set the respective property of the data source's <code>Settings</code>
+ (also named <code>FormsCheckRequiredFields</code>) to `FALSE`.</p>
+
+ <p>Alternatively, you can prevent the check on a per-control basis, using the
+ DataAwareControlModel::InputRequired property of a single control model.</p>
+
+ <p>If a control which the controller is responsible for supports the com::sun::star::frame::XDispatchProviderInterception
+ interface, the controller registers a dispatch interceptor. Then, the control can try to delegate part of its
+ functionality to the controller by querying the dispatch interceptor for it.</p>
+
+ <p>Below, there's a list of URLs which have a defined meaning - if an implementation supports one of them,
+ there must be a guaranteed semantics. However, concrete implementations may support an arbitrary sub or super
+ set of these URLs.</p>
+
+ <p>In general, all URLs start with the same prefix, namely <em>.uno:FormController/</em>. To this, a suffix is
+ appended which describes the requested functionality.<br/>
+ Example: The URL suffix for deleting the current record is <em>deleteRecord</em>, so the complete URL for
+ requesting a dispatcher for this functionality is <em>.uno:FormController/deleteRecord</em>.</p>
+
+ <p>Some URLs may require parameters. For this, the sequence of com::sun::star::beans::PropertyValues
+ passed to the com::sun::star::frame::XDispatch::dispatch() call is used - every property value is
+ used as one named parameter.</p>
+
+ <p>For all URLs, interested parties can register as status listeners (com::sun::star::frame::XStatusListener)
+ at the dispatchers, and be notified whenever the functionality associated with the URL becomes enabled or
+ disabled.<br/>
+ For instance, the URL with the suffix <em>moveToFirst</em> is associated with moving the form to the first
+ record, and it will be disabled in case the form is already positioned on the first record.</p>
+
+ <table style="width:100%;" border="0" cellpadding="2" cellspacing="2">
+
+ <tr style="vertical-align: top;">
+ <td><b>URL suffix</b></td>
+ <td><b>functionality</b></td>
+ </tr>
+
+ <tr style="vertical-align: top;">
+ <td><em>positionForm</em></td>
+ <td>positions the form on a record given by absolute number.<br/>
+ There's one parameter for this functionality, named <em>Position</em>, which must be a long
+ value specifying the absolute position to which the form should be moved</td>
+ </tr>
+
+ <tr style="vertical-align: top;">
+ <td><em>RecordCount</em></td>
+ <td>This is a passive functionality: It cannot be dispatched, instead, interested parties may
+ use the dispatcher to add as com::sun::star::frame::XStatusListener, and be
+ notified when the record count changes.<br/>
+ The status value which is being notified (com::sun::star::frame::FeatureStateEvent::State)
+ is a string which can be used to display the record count. In particular, if the record count is not yet known
+ (com::sun::star::sdb::RowSet::IsRowCountFinal is `FALSE`), this is indicated in the
+ string, too.</td>
+ </tr>
+
+ <tr style="vertical-align: top;">
+ <td><em>moveToFirst</em></td>
+ <td>moves the form to the first record</td>
+ </tr>
+
+ <tr style="vertical-align: top;">
+ <td><em>moveToPrev</em></td>
+ <td>moves the form to the record preceding the current one</td>
+ </tr>
+
+ <tr style="vertical-align: top;">
+ <td><em>moveToNext</em></td>
+ <td>moves the form to the record after the current one</td>
+ </tr>
+
+ <tr style="vertical-align: top;">
+ <td><em>moveToLast</em></td>
+ <td>moves the form to the last record</td>
+ </tr>
+
+ <tr style="vertical-align: top;">
+ <td><em>moveToNew</em></td>
+ <td>moves the form to the virtual "insert row", where new records can be inserted</td>
+ </tr>
+
+ <tr style="vertical-align: top;">
+ <td><em>saveRecord</em></td>
+ <td>Commits any potentially pending changes in the current control, and saves the current record to
+ the database, or inserts a new record if the form is currently positioned on the virtual insertion row.</td>
+ </tr>
+
+ <tr style="vertical-align: top;">
+ <td><em>undoRecord</em></td>
+ <td>reverts the changes done to the current record. Basically, this means refreshing the
+ current row from the database, and updating all controls with the new content.</td>
+ </tr>
+
+ <tr style="vertical-align: top;">
+ <td><em>deleteRecord</em></td>
+ <td>deletes the current record, after asking the user for confirmation.</td>
+ </tr>
+
+ <tr style="vertical-align: top;">
+ <td><em>refreshForm</em></td>
+ <td>reloads the complete form. After this, the form is positioned on the first record</td>
+ </tr>
+
+ <tr style="vertical-align: top;">
+ <td><em>sortUp</em></td>
+ <td>Adds an order clause to the form, to sort it ascending by the field which the current control is bound to,
+ and then reloads the form.</td>
+ </tr>
+
+ <tr style="vertical-align: top;">
+ <td><em>sortDown</em></td>
+ <td>Adds an order clause to the form, to sort it descending by the field which the current control is bound to,
+ and then reloads the form.</td>
+ </tr>
+
+ <tr style="vertical-align: top;">
+ <td><em>sort</em></td>
+ <td>opens a dialog, which allows the user to manipulate the current sorting order of the form. If the dialog
+ is closed with OK, the form is reloaded after setting the new sorting order.</td>
+ </tr>
+
+ <tr style="vertical-align: top;">
+ <td><em>autoFilter</em></td>
+ <td>creates, from the current control, a filter for the form. This is, if the current control is bound to
+ the field, say, "customer", and contains the value "Furs, Inc.", then a filter "customer = 'Furs, Inc.'"
+ is created and set at the form. After this, the form is reloaded.</td>
+ </tr>
+
+ <tr style="vertical-align: top;">
+ <td><em>filter</em></td>
+ <td>opens a dialog, which allows the user to manipulate the current filter of the form. If the dialog
+ is closed with OK, the form is reloaded after setting the new filter.</td>
+ </tr>
+
+ <tr style="vertical-align: top;">
+ <td><em>applyFilter</em></td>
+ <td><p>Toggles the com::sun::star::sdb::RowSet::ApplyFilter property
+ of the form.</p>
+ <p>Additionally, status listeners will be provided with the current (boolean) state of this property
+ in the com::sun::star::frame::FeatureStateEvent::State member of the event
+ notified by the dispatcher.</p></td>
+ </tr>
+
+ <tr style="vertical-align: top;">
+ <td><em>removeFilterOrder</em></td>
+ <td>completely removes any filter and sorting order from the form, and reloads it.</td>
+ </tr>
+ </table>
+
+ @see ::com::sun::star::form::component:Form
+ @see ::com::sun::star::form::binding::BindableControlModel
+ @see ::com::sun::star::sdb::DataSource::Settings
+
+ @since OOo 3.3
+ */
+interface XFormController
+{
+ /** is used for tab controlling and grouping of the controls.
+
+ <p>The model obtained via com::sun::star::awt::XTabController::getModel() is the form for which the
+ controller is responsible.</p>
+ */
+ interface ::com::sun::star::awt::XTabController;
+
+ /** allows access to the parent controller.
+ */
+ interface ::com::sun::star::container::XChild;
+
+ /** allows access to the sub controllers.
+ */
+ interface ::com::sun::star::container::XIndexAccess;
+
+ /** allows enumerating sub controllers
+ */
+ interface ::com::sun::star::container::XEnumerationAccess;
+
+ /** allows life time control of the controller.
+ */
+ interface ::com::sun::star::lang::XComponent;
+
+ /** allows to register as listener for modifications in the controls which the controller is responsible
+ for.
+ */
+ interface ::com::sun::star::util::XModifyBroadcaster;
+
+ /** used to notify deletions of data in the form before they happen.
+
+ <p>A form controller listens for deletion events at the form it is responsible for. If and only if no
+ com::sun::star::form::XConfirmDeleteListener is registered at
+ the controller, it uses an own dialog to ask the user for confirmation.</p>
+ */
+ interface ::com::sun::star::form::XConfirmDeleteBroadcaster;
+
+ /** is used to notify errors which happen in the form the controller is responsible for.
+
+ <p>A form controller listens for error events at the form it is responsible for. If and only if no
+ com::sun::star::sdb::XSQLErrorListener is registered at the controller, it
+ uses an own dialog to notify the user of the error.</p>
+
+ */
+ interface ::com::sun::star::sdb::XSQLErrorBroadcaster;
+
+ /** is used for multiplexing row set events happening on the form which the controller is responsible for.
+ */
+ interface ::com::sun::star::sdb::XRowSetApproveBroadcaster;
+
+ /** is used broadcasting parameter events in the form.
+
+ <p>A form controller listens for parameter events at the form it is responsible for. If and only if no
+ com::sun::star::form::XDatabaseParameterListener is registered at the controller, it
+ uses an own dialog to ask the user for parameter values.</p>
+ */
+ interface ::com::sun::star::form::XDatabaseParameterBroadcaster2;
+
+ /** allows switching the form controller to different operation modes.
+
+ <a name="mode_selector"></a>
+ <p>The two modes usually (but not necessarily) supported by a form controller are the <code>DataMode</code>
+ and the <code>FilterMode</code>, where the former is the usual modus operandi for displaying and modifying
+ data, and the latter is a special mode to enter a filter for the database form which the controller is
+ responsible for.</p>
+ */
+ interface ::com::sun::star::util::XModeSelector;
+
+ /** allows controlling the filter mode.
+
+ <p>If the form controller supports a <a href="#mode_selector">form based filter mode</a>, then it shall also
+ support the XFilterController interface, which allows controlling this mode.</p>
+ */
+ [optional] interface XFilterController;
+
+ /** denotes the instance which is used to implement operations on the form which the controller
+ works for.
+
+ <p>This instance can be used, for instance, to determine the current state of certain form features.</p>
+ */
+ [attribute, readonly] XFormOperations FormOperations;
+
+ /** provides access to the currently active control
+ */
+ [attribute, readonly] ::com::sun::star::awt::XControl CurrentControl;
+
+ /** allows to delegate certain tasks to the context of the form controller
+ */
+ [attribute] XFormControllerContext Context;
+
+ /** used (if not `NULL`) for user interactions triggered by the form controller.
+ */
+ [attribute] ::com::sun::star::task::XInteractionHandler InteractionHandler;
+
+ /** adds the specified listener to receive notifications whenever the activation state of
+ the controller changes.
+ */
+ void addActivateListener( [in] ::com::sun::star::form::XFormControllerListener Listener );
+
+ /** removes the specified listener from the list of components to receive notifications whenever the activation
+ state of the controller changes.
+ */
+ void removeActivateListener( [in] ::com::sun::star::form::XFormControllerListener Listener );
+
+ /** adds a controller to the list of child controllers
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if the given controller is `NULL`, or cannot rightfully be a child controller. Since controllers
+ mirror the hierarchy of the forms the are responsible for, this means that the form of the given
+ child controller must be a child of the controller at which the method is invoked.
+ */
+ void addChildController( [in] XFormController ChildController )
+ raises ( ::com::sun::star::lang::IllegalArgumentException );
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/runtime/XFormControllerContext.idl b/offapi/com/sun/star/form/runtime/XFormControllerContext.idl
new file mode 100644
index 000000000..73e467b4e
--- /dev/null
+++ b/offapi/com/sun/star/form/runtime/XFormControllerContext.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_form_runtime_XFormControllerContext_idl__
+#define __com_sun_star_form_runtime_XFormControllerContext_idl__
+
+#include <com/sun/star/awt/XControl.idl>
+
+
+module com { module sun { module star { module form { module runtime {
+
+
+/** provides a context for a FormController
+
+<p>A FormController knows about the controls it is responsible
+ for, and about the control container which those controls live in. However, it doesn't know
+ about a possible larger context, like a scrollable view which the controls are embedded into.
+ To compensate this, it can be provided a <code>XFormControllerContext</code>.</p>
+ */
+interface XFormControllerContext
+{
+ /** ensures the given control is visible, by scrolling the view if necessary.
+ */
+ void makeVisible( [in] ::com::sun::star::awt::XControl Control );
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/runtime/XFormOperations.idl b/offapi/com/sun/star/form/runtime/XFormOperations.idl
new file mode 100644
index 000000000..a3c4f9e04
--- /dev/null
+++ b/offapi/com/sun/star/form/runtime/XFormOperations.idl
@@ -0,0 +1,257 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_form_runtime_XFormOperations_idl__
+#define __com_sun_star_form_runtime_XFormOperations_idl__
+
+#include <com/sun/star/form/runtime/FeatureState.idl>
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/sdbc/XRowSet.idl>
+#include <com/sun/star/sdbc/XResultSetUpdate.idl>
+#include <com/sun/star/form/runtime/XFormController.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#include <com/sun/star/beans/NamedValue.idl>
+
+
+module com { module sun { module star { module form { module runtime {
+
+interface XFeatureInvalidation;
+
+
+/** encapsulates operations on a database form.
+
+ <p>This instance allows for operations on a user interface form, by saving its clients
+ from various tedious and error-prone operations.</p>
+
+ <p>As an example, imagine you have a database form, displayed in some user
+ interface, which you want to move to the next record.<br/>
+ It is as easy as calling com::sun::star::sdbc::XResultSet::next()
+ on this form, right? Wrong. First, you need to care for saving the current
+ record, so the user doesn't lose her input. So you need to call
+ com::sun::star::sdbc::XResultSetUpdate::updateRow() or
+ com::sun::star::sdbc::XResultSetUpdate::insertRow(), depending
+ on the form's com::sun::star::sdb::RowSet::IsNew property.<br/>
+ But then you're done, right? Wrong, again.<br/>
+ When the user just entered some data into one of the form fields, but did not yet
+ leave this field, then the data is not yet committed to the form, not to talk
+ about being committed to the underlying database. So, before everything else,
+ you would need to obtain the active control of the form, and commit it.<br/>
+ <em>Now</em> you're done ...</p>
+
+ <p>As another example, consider that you want to delete the current record from the
+ form. You have to take into account any com::sun::star::form::XConfirmDeleteListeners
+ registered at the com::sun::star::form::FormController or the
+ com::sun::star::form::component::DataForm.</p>
+
+ <p>If you agree that this is ugly to do and maintain, then <code>XFormOperations</code>
+ is for you. It provides an execute() method, which will do all of the above
+ for you; plus some similar convenient wrappers for similar functionality.</p>
+
+ @see FormFeature
+
+ @since OOo 2.2
+ */
+interface XFormOperations : ::com::sun::star::lang::XComponent
+{
+ /** provides access to the cursor of the form the instance is operating on.
+ */
+ [attribute, readonly] ::com::sun::star::sdbc::XRowSet Cursor;
+
+ /** provides access to the update cursor of the form the instance is operating on.
+ */
+ [attribute, readonly] ::com::sun::star::sdbc::XResultSetUpdate UpdateCursor;
+
+ /** provides access to the form controller which the instance is operating on.
+
+ <p>Note that it is possible to operate on a user interface form without
+ actually having access to the form controller instance. However, in this
+ case some functionality will not be available. In particular, every feature
+ which relies on the active control of the controller might be of limited use.</p>
+ */
+ [attribute, readonly] ::com::sun::star::form::runtime::XFormController Controller;
+
+ /** retrieves the current state of the given feature
+
+ <p>You would usually use this to update some user interface to reflect this state.
+ For instance, you could imagine a toolbar button which is associated with a given feature.
+ This button would be enabled if and only if the respective feature is currently
+ available, and be checked if and only if the feature state is a <code>boolean</code>
+ evaluating to `TRUE`.<p>
+
+ @param Feature
+ the feature whose state is to be determined. Must be one of the FormFeature
+ constants.<br/>
+ An invalid value here will be silently ignored, and simply return a FeatureState
+ indicating <em>disabled</em> with a `NULL` state.</p>
+ */
+ FeatureState getState(
+ [in] short Feature
+ );
+
+ /** determines whether a feature is currently enabled.
+
+ <p>Calling this is equivalent to calling getState(), and evaluating the
+ FeatureState::Enabled member.</p>
+
+ @param Feature
+ the feature whose state is to be determined. Must be one of the FormFeature
+ constants.<br/>
+ An invalid value here will be silently ignored, and simply return `FALSE`.
+ */
+ boolean isEnabled(
+ [in] short Feature
+ );
+
+ /** executes the operation associated with the given feature
+
+ @param Feature
+ the feature which is to be executed. Must be one of the FormFeature
+ constants.
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if the given Feature is unknown, not executable, or strictly requires arguments
+ to be executed.
+
+ @throws ::com::sun::star::sdbc::SQLException
+ if a database access error occurs
+
+ @throws ::com::sun::star::lang::WrappedTargetException
+ if an exception is caught which is no com::sun::star::uno::RuntimeException
+ and no com::sun::star::sdbc::SQLException.
+
+ @see executeWithArguments
+ */
+ void execute(
+ [in] short Feature
+ )
+ raises ( ::com::sun::star::lang::IllegalArgumentException
+ , ::com::sun::star::sdbc::SQLException
+ , ::com::sun::star::lang::WrappedTargetException
+ );
+
+ /** executes the operation associated with the given feature, with passing arguments for execution
+
+ @param Feature
+ the feature which is to be executed. Must be one of the FormFeature
+ constants.
+
+ @param Arguments
+ the named arguments for the feature to execute. See the FormFeature list
+ for features which require arguments.
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if the given feature is unknown, or not executable
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if the given arguments are not sufficient to execute the feature
+
+ @throws ::com::sun::star::sdbc::SQLException
+ if a database access error occurs
+
+ @throws ::com::sun::star::lang::WrappedTargetException
+ if an exception is caught which is no com::sun::star::uno::RuntimeException
+ and no com::sun::star::sdbc::SQLException.
+ */
+ void executeWithArguments(
+ [in] short Feature,
+ [in] sequence< ::com::sun::star::beans::NamedValue > Arguments
+ )
+ raises ( ::com::sun::star::lang::IllegalArgumentException
+ , ::com::sun::star::sdbc::SQLException
+ , ::com::sun::star::lang::WrappedTargetException
+ );
+
+ /** commits the current record of the form
+
+ @param RecordInserted
+ will be `TRUE` if a record has been inserted, i.e. the form was positioned
+ on the insertion row.
+
+ @return
+ `TRUE` if and only if the current record needed being committed. That's the
+ case if the record or the active control of the form were modified.
+
+ @throws ::com::sun::star::sdbc::SQLException
+ if a database access error occurs
+ */
+ boolean commitCurrentRecord(
+ [out] boolean RecordInserted
+ )
+ raises ( ::com::sun::star::sdbc::SQLException );
+
+ /** commits the current control of our controller
+
+ @throws ::com::sun::star::sdbc::SQLException
+ if a database access error occurs
+ */
+ boolean commitCurrentControl(
+ )
+ raises ( ::com::sun::star::sdbc::SQLException );
+
+ /** determines whether the form is currently positioned on the insertion row
+
+ <p>This is a convenience method only. Calling it is equivalent to examining the
+ com::sun::star::sdb::RowSet::IsNew property of the form.</p>
+
+ @throws ::com::sun::star::lang::WrappedTargetException
+ if an error occurs obtaining the form property
+ */
+ boolean isInsertionRow(
+ )
+ raises ( ::com::sun::star::lang::WrappedTargetException );
+
+ /** determines whether the current row of the form is modified
+
+ <p>This is a convenience method only. Calling it is equivalent to examining the
+ com::sun::star::sdb::RowSet::IsModified property of the form.</p>
+
+ @throws ::com::sun::star::lang::WrappedTargetException
+ if an error occurs obtaining the form property
+ */
+ boolean isModifiedRow(
+ )
+ raises ( ::com::sun::star::lang::WrappedTargetException );
+
+ /** denotes the instance which should be notified about features whose state might have changed.
+
+ <p>If this attribute is not `NULL`, the instance which it denotes will be notified
+ whenever the state of any supported feature might have changed.</p>
+
+ <p>For instance, imagine a form whose current row has just been moved to another
+ record, using the execute() method. This means that potentially, the state
+ of all movement-related features might have changed.</p>
+
+ <p>Note that the instance does not actually notify changes in the feature states, but only
+ <em>potential</em> changes: It's up to the callee to react on this appropriately. This is
+ since OpenOffice.org's application framework features own mechanisms to cache and invalidate
+ feature states, so we do not burden this implementation here with such mechanisms.</p>
+
+ @see FormFeature
+ */
+ [attribute] XFeatureInvalidation FeatureInvalidation;
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/submission/XSubmission.idl b/offapi/com/sun/star/form/submission/XSubmission.idl
new file mode 100644
index 000000000..92f955a3b
--- /dev/null
+++ b/offapi/com/sun/star/form/submission/XSubmission.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_form_submission_XSubmission_idl__
+#define __com_sun_star_form_submission_XSubmission_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/util/VetoException.idl>
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#include <com/sun/star/lang/NoSupportException.idl>
+#include <com/sun/star/task/XInteractionHandler.idl>
+
+
+module com { module sun { module star { module form { module submission {
+
+interface XSubmissionVetoListener;
+
+
+/** is implemented by components which support submitting data.
+*/
+interface XSubmission : com::sun::star::uno::XInterface
+{
+ /** tells the component to submit data
+
+ @throws com::sun::star::util::VetoException
+ if the submission has been vetoed. Usually, this indicates that not all
+ requirements for the submission, e.g. data consistency, are fulfilled.
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if an error occurred during invoking the submission target
+ */
+ void submit( )
+ raises ( com::sun::star::util::VetoException, com::sun::star::lang::WrappedTargetException );
+
+ /** tells the component to submit data
+
+ @param aHandler
+ This handler allows additional user interaction, which may be necessary before
+ the submission can be performed.
+
+ @throws com::sun::star::util::VetoException
+ if the submission has been vetoed. Usually, this indicates that not all
+ requirements for the submission, e.g. data consistency, are fulfilled.
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if an error occurred during invoking the submission target
+ */
+ void submitWithInteraction( [in] com::sun::star::task::XInteractionHandler aHandler )
+ raises ( com::sun::star::util::VetoException, com::sun::star::lang::WrappedTargetException );
+
+ /** registers the given listener to be notified when a submission occurs
+
+ @param listener
+ the listener to register
+
+ @throws com::sun::star::lang::NoSupportException
+ when the component does not support external components vetoing the submission
+ */
+ void addSubmissionVetoListener( [in] XSubmissionVetoListener listener )
+ raises ( com::sun::star::lang::NoSupportException );
+
+ /** revokes a listener which has previously been registered to be notified when a submission occurs
+
+ @param listener
+ the listener to revoke
+
+ @throws com::sun::star::lang::NoSupportException
+ when the component does not support external components vetoing the submission
+ */
+ void removeSubmissionVetoListener( [in] XSubmissionVetoListener listener )
+ raises ( com::sun::star::lang::NoSupportException );
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/submission/XSubmissionSupplier.idl b/offapi/com/sun/star/form/submission/XSubmissionSupplier.idl
new file mode 100644
index 000000000..61ef2d8ee
--- /dev/null
+++ b/offapi/com/sun/star/form/submission/XSubmissionSupplier.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_form_submission_XSubmissionSupplier_idl__
+#define __com_sun_star_form_submission_XSubmissionSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module form { module submission {
+
+interface XSubmission;
+
+
+/** is implemented by a component which allows access to a component which can
+ submit data.
+
+ @see XSubmission
+*/
+interface XSubmissionSupplier : com::sun::star::uno::XInterface
+{
+ /** specifies the XSubmission instance to which the submission
+ request should be delegated.
+ */
+ [attribute] XSubmission Submission;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/submission/XSubmissionVetoListener.idl b/offapi/com/sun/star/form/submission/XSubmissionVetoListener.idl
new file mode 100644
index 000000000..8c4b46b01
--- /dev/null
+++ b/offapi/com/sun/star/form/submission/XSubmissionVetoListener.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_form_submission_XSubmissionVetoListener_idl__
+#define __com_sun_star_form_submission_XSubmissionVetoListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+#include <com/sun/star/util/VetoException.idl>
+
+
+module com { module sun { module star { module form { module submission {
+
+
+/** is implement by components which want to observe (and probably veto) the
+ submission of data.
+
+ @see XSubmission
+*/
+interface XSubmissionVetoListener : com::sun::star::lang::XEventListener
+{
+ /** is invoked when a component, at which the listener has been registered,
+ is about to submit its data.
+
+ @param event
+ The submission event. The com::sun::star::lang::EventObject::Source
+ member of the structure describes the component which is about to submit its data.
+
+ @throws com::sun::star::util::VetoException
+ when the submission is vetoed. com::sun::star::uno::Exception::Message
+ should contain a justification for the veto then.
+ */
+ void submitting( [in] com::sun::star::lang::EventObject event )
+ raises ( com::sun::star::util::VetoException );
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/validation/ValidatableBindableControlModel.idl b/offapi/com/sun/star/form/validation/ValidatableBindableControlModel.idl
new file mode 100644
index 000000000..33a94d2c6
--- /dev/null
+++ b/offapi/com/sun/star/form/validation/ValidatableBindableControlModel.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_form_validation_ValidatableBindableControlModel_idl__
+#define __com_sun_star_form_validation_ValidatableBindableControlModel_idl__
+
+#include <com/sun/star/form/validation/ValidatableControlModel.idl>
+#include <com/sun/star/form/binding/BindableControlModel.idl>
+
+module com { module sun { module star { module form { module validation {
+
+/** specifies a control model which supports both binding to an external value supplier,
+ and to an external validator.
+
+ <p>There are two methods how the value which is represented by a control model
+ can interact with other components (well, except the trivial ones accessible
+ by using com::sun::star::beans::XPropertySet):
+ <ul><li>binding the value to an external component via com::sun::star::form::binding::XBindableValue</li>
+ <li>validating the current value by an external component, via XValidatable and XValidator</li>
+ </ul></p>
+
+ <p>The ValidatableBindableControlModel services describes the interaction of these concepts
+ for control models which support both of them.</p>
+*/
+service ValidatableBindableControlModel
+{
+ /** specifies support for validating the current value of the control
+ */
+ service ValidatableControlModel;
+
+ /** specifies support for binding the control value to an external component
+
+ <p>If a value binding is established at the control model (by using
+ com::sun::star::form::binding::XBindableValue::setValueBinding() with a non-`NULL`
+ binding), this binding is analyzed for validation support. If it is present (read: if the
+ binding also supports the XValidator interface), the binding is also
+ established as validator, as if it has been passed to XValidatable::setValidator().<br/>
+ If, while this binding is active (in both its roles as value binding and validator),
+ an attempt is made to establish another validator, this is blocked with raising a
+ com::sun::star::util::VetoException upon calling XValidatable::setValidator().</p>
+ */
+ service com::sun::star::form::binding::BindableControlModel;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/validation/ValidatableControlModel.idl b/offapi/com/sun/star/form/validation/ValidatableControlModel.idl
new file mode 100644
index 000000000..cf5591e09
--- /dev/null
+++ b/offapi/com/sun/star/form/validation/ValidatableControlModel.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_form_validation_ValidatableControlModel_idl__
+#define __com_sun_star_form_validation_ValidatableControlModel_idl__
+
+#include <com/sun/star/form/FormControlModel.idl>
+#include <com/sun/star/form/validation/XValidatableFormComponent.idl>
+#include <com/sun/star/form/validation/XValidityConstraintListener.idl>
+
+
+module com { module sun { module star { module form { module validation {
+
+/** specifies the model of a form control which supports live validation of its
+ input.
+
+ <p>Validatable control models support setting a validator with dynamic
+ validity constraints, and broadcasting changes in their value as well as the
+ validity of their value.</p>
+*/
+service ValidatableControlModel
+{
+ /** specifies the basic functionality for a form control model
+
+ <p>Via this service, validatable control models inherit the
+ com::sun::star::util::XCloneable interface.<br/>
+ If a validatable control model, at which a validator has been set (via
+ XValidatable::setValidator()), is being cloned, then the
+ validator is also set at the clone. Effectively, this means that
+ both control model instances share the same validator instance.</p>
+ */
+ service com::sun::star::form::FormControlModel;
+
+ /** enables support for validating the value of the control model
+
+ <p>Setting and retrieving the current validator of the control model is
+ possible via the XValidatable interface (which
+ XValidatableFormComponent is derived from).</p>
+
+ <p>Easy access to the current value of the control, as well as it's validity
+ (relative to the active validator), is provided by the methods XValidatableFormComponent::isValid()
+ and XValidatableFormComponent::getCurrentValue().</p>
+
+ <p>Note that the type of the value provided by XValidatableFormComponent::getCurrentValue()
+ is not specified here, but depends on the concrete control type.</p>
+ */
+ interface XValidatableFormComponent;
+
+ /** enables support for validators with dynamic validity constraints.
+
+ <p>As soon as a validator is set via XValidatable::setValidator(), the validatable
+ control model registers itself as listener. If the validity constraint of the validator
+ changes, the ValidatableControlModel re-validates its current valid, and
+ broadcasts any resulting changes to all its XFormComponentValidityListener, if
+ necessary.</p>
+ */
+ interface XValidityConstraintListener;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/validation/XFormComponentValidityListener.idl b/offapi/com/sun/star/form/validation/XFormComponentValidityListener.idl
new file mode 100644
index 000000000..381ae0df4
--- /dev/null
+++ b/offapi/com/sun/star/form/validation/XFormComponentValidityListener.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_form_validation_XFormComponentValidityListener_idl__
+#define __com_sun_star_form_validation_XFormComponentValidityListener_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/XEventListener.idl>
+
+
+module com { module sun { module star { module form { module validation {
+
+
+/** is the listener interface to be notified of changes of a XValidatableFormComponent
+*/
+interface XFormComponentValidityListener : com::sun::star::lang::XEventListener
+{
+ /** called when the validity and/or the value of the form component at which the listener
+ is registered changed.
+
+ @param Source
+ The member com::sun::star::lang::EventObject::Source
+ represents the XValidatableFormComponent whose validity, value, or text changed.
+ */
+ void componentValidityChanged( [in] com::sun::star::lang::EventObject Source );
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/validation/XValidatable.idl b/offapi/com/sun/star/form/validation/XValidatable.idl
new file mode 100644
index 000000000..5aa5aee25
--- /dev/null
+++ b/offapi/com/sun/star/form/validation/XValidatable.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_form_validation_XValidatable_idl__
+#define __com_sun_star_form_validation_XValidatable_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/util/VetoException.idl>
+
+
+module com { module sun { module star { module form { module validation {
+
+interface XValidator;
+
+
+/** specifies support for validating a component
+
+ @see XValidator
+*/
+interface XValidatable : com::sun::star::uno::XInterface
+{
+ /** sets an external instance which is able to validate the component
+
+ <p>Any previously active validator will be revoked - there can be only one!</p>
+
+ @param Validator
+ the new validator which is to be used by the component. May be `NULL`,
+ in this case only the current validator is revoked.
+
+ @throws com::sun::star::util::VetoException
+ if changing the validator is not allowed in the current component state
+ */
+ void setValidator( [in] XValidator Validator )
+ raises ( com::sun::star::util::VetoException );
+
+ /** retrieves the external instance which is currently used to validate the component
+ */
+ XValidator
+ getValidator( );
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/validation/XValidatableFormComponent.idl b/offapi/com/sun/star/form/validation/XValidatableFormComponent.idl
new file mode 100644
index 000000000..f15bfc535
--- /dev/null
+++ b/offapi/com/sun/star/form/validation/XValidatableFormComponent.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_form_validation_XValidatableFormComponent_idl__
+#define __com_sun_star_form_validation_XValidatableFormComponent_idl__
+
+#include <com/sun/star/form/validation/XValidatable.idl>
+#include <com/sun/star/lang/NoSupportException.idl>
+#include <com/sun/star/lang/NullPointerException.idl>
+
+
+module com { module sun { module star { module form { module validation {
+
+interface XFormComponentValidityListener;
+
+
+/** is a convenience interface for accessing several aspects of a form component
+ which supports validation.
+
+ <p>A validatable form component has two aspects which other parties might
+ be interested in:
+ <ul>
+ <li>The pure validity flag: Whatever the user enters in the component, this is
+ either valid (relative to the active validator), or invalid.</li>
+ <li>The current value: Even if the validity flag does not change with the user
+ input (e.g. because the user replaces one invalid value with another invalid
+ value), observers might be interested in the current value, for example to
+ include it in a feedback message to the user.</li>
+ </ul>
+ </p>
+
+ <p>An XValidatableFormComponent allows to easily access both of these aspects.</p>
+
+ <p>Note that all of the information provided at this interface can also obtained by other means,
+ but much more inconveniently.</p>
+
+ @see XValidatable
+ @see XValidator
+*/
+interface XValidatableFormComponent : XValidatable
+{
+ /** determines whether the current value of the component passed the validity test
+ at the validator.
+
+ <p>Calling this is equal to calling XValidator::isValid() with
+ the current value (see getCurrentValue()) of the component, where
+ the validator is obtained via XValidatable::getValidator().</p>
+
+ <p>If no validator has been set (XValidatable::setValidator()), this method
+ returns true.</p>
+ */
+ boolean isValid();
+
+ /** retrieves the current value of the component.
+
+ <p>The type of the current value, as well as it's semantics, depend on the service
+ implementing this interface.</p>
+
+ <p>Again, this is a convenience method. For example, for a com::sun::star::form::component::FormattedField,
+ calling this method is equivalent to retrieving the
+ com::sun::star::awt::UnoControlFormattedFieldModel::EffectiveValue.</p>
+
+ <p>If no validator has been set (XValidatable::setValidator()), the value returned
+ here is defined by the service implementing this interface.</p>
+ */
+ any getCurrentValue();
+
+ /** registers the given listener.
+
+ <p>XFormComponentValidityListeners are called whenever <em>any</em> of the aspects
+ of the validatable form component (the validity flag, or the value) changed.</p>
+
+ @throws com::sun::star::lang::NullPointerException
+ if the given listener is `NULL`
+ */
+ void addFormComponentValidityListener( [in] XFormComponentValidityListener Listener )
+ raises( com::sun::star::lang::NullPointerException );
+
+ /** registers the given listener.
+
+ @throws com::sun::star::lang::NullPointerException
+ if the given listener is `NULL`
+ */
+ void removeFormComponentValidityListener( [in] XFormComponentValidityListener Listener )
+ raises( com::sun::star::lang::NullPointerException );
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/validation/XValidator.idl b/offapi/com/sun/star/form/validation/XValidator.idl
new file mode 100644
index 000000000..bacca7703
--- /dev/null
+++ b/offapi/com/sun/star/form/validation/XValidator.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_form_validation_XValidator_idl__
+#define __com_sun_star_form_validation_XValidator_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/NullPointerException.idl>
+
+
+module com { module sun { module star { module form { module validation {
+
+interface XValidityConstraintListener;
+
+
+/** specifies a component able to validate (the content of) other components
+
+ <p>Validators support simple validity checks and retrieving justifications for
+ invalidity.</p>
+
+ <p>Validators may additionally support dynamic validity constraints. In such a case,
+ the validity of a given value may change, without the value changing itself.<br/>
+ To be notified about this, interested components should register as XValidityConstraintListener.
+
+ @see XValidatable
+*/
+interface XValidator : com::sun::star::uno::XInterface
+{
+ /** determines whether the given value is valid
+
+ @param Value
+ the value to check for validity
+ @return
+ `TRUE` if and only if the value is considered valid.
+ */
+ boolean isValid( [in] any Value );
+
+ /** retrieves a justification for the invalidity of the given value
+
+ @param Value
+ the value which has been recognized as being invalid
+ @return
+ a human-readable string, which explains why the given value is considered invalid.
+ */
+ string explainInvalid( [in] any Value );
+
+ /** registers the given validity listener.
+
+ <p>Usually, an XValidatable instance will also add itself as validity listener,
+ as soon as the validator is introduced to it.</p>
+
+ <p>Implementations which do not support dynamic validity constraints should simply ignore this
+ call.</p>
+
+ @throws com::sun::star::lang::NullPointerException
+ if the given listener is `NULL`
+ @see XValidityConstraintListener
+ */
+ void addValidityConstraintListener( [in] XValidityConstraintListener Listener )
+ raises( com::sun::star::lang::NullPointerException );
+
+ /** revokes the given validity listener
+
+ @throws com::sun::star::lang::NullPointerException
+ if the given listener is `NULL`
+ @see XValidityConstraintListener
+ */
+ void removeValidityConstraintListener( [in] XValidityConstraintListener Listener )
+ raises( com::sun::star::lang::NullPointerException );
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/form/validation/XValidityConstraintListener.idl b/offapi/com/sun/star/form/validation/XValidityConstraintListener.idl
new file mode 100644
index 000000000..5d6136b0c
--- /dev/null
+++ b/offapi/com/sun/star/form/validation/XValidityConstraintListener.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_form_validation_XValidityConstraintListener_idl__
+#define __com_sun_star_form_validation_XValidityConstraintListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+
+
+module com { module sun { module star { module form { module validation {
+
+
+/** specifies an interface for listening for changes in the validity constraints
+ represented by an XValidator.
+*/
+interface XValidityConstraintListener : com::sun::star::lang::XEventListener
+{
+ /** called when the validity constraint represented by an XValidator,
+ at which the listener is registered, changed.
+
+ @param Source
+ The event source. The member com::sun::star::lang::EventObject::Source
+ represents the validator component whose validity constraint changed.
+ */
+ void validityConstraintChanged( [in] com::sun::star::lang::EventObject Source );
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/formula/AccessibleFormulaText.idl b/offapi/com/sun/star/formula/AccessibleFormulaText.idl
new file mode 100644
index 000000000..63442788f
--- /dev/null
+++ b/offapi/com/sun/star/formula/AccessibleFormulaText.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_formula_AccessibleFormulaText_idl__
+#define __com_sun_star_formula_AccessibleFormulaText_idl__
+
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#include <com/sun/star/accessibility/XAccessibleText.idl>
+#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
+
+
+
+module com { module sun { module star { module formula {
+
+
+/** The accessible view of a formula documents command text.
+
+ @since OOo 1.1.2
+ */
+service AccessibleFormulaText
+{
+ interface ::com::sun::star::accessibility::XAccessible;
+ interface ::com::sun::star::accessibility::XAccessibleComponent;
+ interface ::com::sun::star::accessibility::XAccessibleContext;
+ interface ::com::sun::star::accessibility::XAccessibleEventBroadcaster;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/formula/AccessibleFormulaView.idl b/offapi/com/sun/star/formula/AccessibleFormulaView.idl
new file mode 100644
index 000000000..942c9b698
--- /dev/null
+++ b/offapi/com/sun/star/formula/AccessibleFormulaView.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_formula_AccessibleFormulaView_idl__
+#define __com_sun_star_formula_AccessibleFormulaView_idl__
+
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#include <com/sun/star/accessibility/XAccessibleText.idl>
+#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
+
+
+
+module com { module sun { module star { module formula {
+
+
+/** The accessible view of a formula documents visual representation.
+
+ @since OOo 1.1.2
+ */
+service AccessibleFormulaView
+{
+ interface ::com::sun::star::accessibility::XAccessible;
+ interface ::com::sun::star::accessibility::XAccessibleComponent;
+ interface ::com::sun::star::accessibility::XAccessibleContext;
+ interface ::com::sun::star::accessibility::XAccessibleText;
+ interface ::com::sun::star::accessibility::XAccessibleEventBroadcaster;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/formula/FormulaProperties.idl b/offapi/com/sun/star/formula/FormulaProperties.idl
new file mode 100644
index 000000000..e238abe8b
--- /dev/null
+++ b/offapi/com/sun/star/formula/FormulaProperties.idl
@@ -0,0 +1,294 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_formula_FormulaProperties_idl__
+#define __com_sun_star_formula_FormulaProperties_idl__
+
+
+ module com { module sun { module star { module formula {
+
+
+/** The formula properties provide access to the properties of a formula
+ in a formula generator
+ */
+published service FormulaProperties
+{
+
+ /** contains the alignment of the formula.
+
+ @see com::sun::star::style::HorizontalAlignment
+ */
+ [property] short Alignment;
+
+ /** contains the base font height in point the formula will be
+ formatted in.
+
+ <p> All properties containing relative values are related to this value.
+ </p>
+ */
+ [property] short BaseFontHeight;
+
+ /** customized name for fixed font.
+ */
+ [property] string CustomFontNameFixed;
+
+ /** determines if the customized fixed font is italic.
+ */
+ [property] boolean FontFixedIsItalic;
+
+ /** determines if the customized fixed font is bold.
+ */
+ [property] boolean FontFixedIsBold;
+
+ /** customized name for sans serif font
+ */
+ [property] string CustomFontNameSans;
+
+ /** determines if the customized sans serif font is italic.
+ */
+ [property] boolean FontSansIsItalic;
+
+ /** determines if the customized sans serif font is bold.
+ */
+ [property] boolean FontSansIsBold;
+
+ /** customized name for serif font
+ */
+ [property] string CustomFontNameSerif;
+
+ /** determines if the customized serif font is italic.
+ */
+ [property] boolean FontSerifIsItalic;
+
+ /** determines if the customized serif font is bold.
+ */
+ [property] boolean FontSerifIsBold;
+
+ /** contains the name of the font that is used to
+ display functions contained in the formula.
+ */
+ [property] string FontNameFunctions;
+
+ /** determines if the font that is used to display functions is italic.
+ */
+ [property] boolean FontFunctionsIsItalic;
+
+ /** determines if the font that is used to display functions is bold.
+ */
+ [property] boolean FontFunctionsIsBold;
+
+ /** contains the name of the font that is used to
+ display numbers contained in the formula.
+ */
+ [property] string FontNameNumbers;
+
+ /** determines if the font that is used to display numbers is italic.
+ */
+ [property] boolean FontNumbersIsItalic;
+
+ /** determines if the font that is used to display numbers is bold.
+ */
+ [property] boolean FontNumbersIsBold;
+
+ /** contains the name of the font that is used to
+ display text contained in the formula.
+ */
+ [property] string FontNameText;
+
+ /** determines if the font that is used to display text is italic.
+ */
+ [property] boolean FontTextIsItalic;
+
+ /** determines if the font that is used to display text is bold.
+ */
+ [property] boolean FontTextIsBold;
+
+ /** contains the name of the font that is used to
+ display variables contained in the formula.
+ */
+ [property] string FontNameVariables;
+
+ /** determines if the font that is used to display variables is italic.
+ */
+ [property] boolean FontVariablesIsItalic;
+
+ /** determines if the font that is used to display variables is bold.
+ */
+ [property] boolean FontVariablesIsBold;
+
+ /** contains the command string of the formula
+ */
+ [property] string Formula;
+
+ /** decides if all brackets (even those without "left"/"right"
+ modifier) are scaled.
+ */
+ [property] boolean IsScaleAllBrackets;
+
+ /** switches into text mode.
+
+ This is a mode where formulas are displayed the same height as
+ a line of text.
+ */
+ [property] boolean IsTextMode;
+
+ /** contains the relative height of the font for functions.
+
+ The values unit is percent of the
+ com::sun::star::formula::FormulaProperties::BaseFontHeight
+ */
+ [property] short RelativeFontHeightFunctions;
+
+ /** contains the relative height of the font for indices.
+
+ The values unit is percent of the
+ com::sun::star::formula::FormulaProperties::BaseFontHeight
+ */
+ [property] short RelativeFontHeightIndices;
+
+ /** contains the relative height of the font for limits.
+
+ The values unit is percent of the
+ com::sun::star::formula::FormulaProperties::BaseFontHeight
+ */
+ [property] short RelativeFontHeightLimits;
+
+ /** contains the relative height of the font for operators.
+
+ The values unit is percent of the
+ com::sun::star::formula::FormulaProperties::BaseFontHeight
+ */
+ [property] short RelativeFontHeightOperators;
+
+ /** contains the relative height of the font for text.
+
+ The values unit is percent of the
+ com::sun::star::formula::FormulaProperties::BaseFontHeight
+ */
+ [property] short RelativeFontHeightText;
+
+ /** contains the relative distance of brackets.
+ */
+ [property] short RelativeBracketDistance;
+
+ /** contains the relative excess size of brackets.
+ */
+ [property] short RelativeBracketExcessSize;
+
+ /** contains the relative excess length of a fraction bar.
+ */
+ [property] short RelativeFractionBarExcessLength;
+
+ /** contains the relative line weight of a fraction bar.
+ */
+ [property] short RelativeFractionBarLineWeight;
+
+ /** contains the relative depth of the denominator of a fraction
+ */
+ [property] short RelativeFractionDenominatorDepth;
+
+ /** contains the relative height of the numerator of a fraction.
+ */
+ [property] short RelativeFractionNumeratorHeight;
+
+ /** contains the relative superscript of indices.
+ */
+ [property] short RelativeIndexSubscript;
+
+ /** contains the relative subscript of indices.
+ */
+ [property] short RelativeIndexSuperscript;
+
+ /** contains the relative line spacing.
+ */
+ [property] short RelativeLineSpacing;
+
+ /** contains the relative distance of lower limits.
+ */
+ [property] short RelativeLowerLimitDistance;
+
+ /** contains the relative column spacing of matrices.
+ */
+ [property] short RelativeMatrixColumnSpacing;
+
+ /** contains the relative line spacing of matrices.
+ */
+ [property] short RelativeMatrixLineSpacing;
+
+ /** contains the relative excess of operators.
+ */
+ [property] short RelativeOperatorExcessSize;
+
+ /** contains the relative spacing of operators.
+ */
+ [property] short RelativeOperatorSpacing;
+
+ /** contains the relative root spacing
+ */
+ [property] short RelativeRootSpacing;
+
+ /** contains the relative scaling of the bracket excess.
+ */
+ [property] short RelativeScaleBracketExcessSize;
+
+ /** contains the relative spacing.
+ */
+ [property] short RelativeSpacing;
+
+ /** contains the relative minimum height of the formula.
+ */
+ [property] short RelativeSymbolMinimumHeight;
+
+ /** contains the relative primary height of symbols.
+ */
+ [property] short RelativeSymbolPrimaryHeight;
+
+ /** contains the relative distance of upper limits
+ */
+ [property] short RelativeUpperLimitDistance;
+
+ /** contains the metric value of the top margin of the formula.
+ */
+ [property] short TopMargin;
+
+ /** contains the metric value of the bottom margin of the formula.
+ */
+ [property] short BottomMargin;
+
+ /** contains the metric value of the left margin of the formula.
+ */
+ [property] short LeftMargin;
+
+ /** contains the metric value of the right margin of the formula.
+ */
+ [property] short RightMargin;
+
+
+ /** contains the baselines offset in respect to the top of the formula rectangle
+
+ @since OOo 3.4
+ */
+ [property, optional] short BaseLine;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/formula/SymbolDescriptor.idl b/offapi/com/sun/star/formula/SymbolDescriptor.idl
new file mode 100644
index 000000000..0b1ce8e27
--- /dev/null
+++ b/offapi/com/sun/star/formula/SymbolDescriptor.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_formula_SymbolDescriptor_idl__
+#define __com_sun_star_formula_SymbolDescriptor_idl__
+
+
+ module com { module sun { module star { module formula {
+
+/** @deprecated draft
+ - nWeight should be changed to float as in FontWeight.idl
+ - nItalic probably needs to have FontItalic extended by the two
+ extra defines REVERSE_* listed in FontSlant.idl
+ - nCharSet should have the CharSet.idl extended by the new defines
+ from rtl/textenc.h
+*/
+published struct SymbolDescriptor
+{
+ /** The name of the symbol.
+ */
+ string sName;
+
+ /** The export name of the symbol.
+ */
+ string sExportName;
+
+ /** Specifies the name of the symbol set to which this symbol belongs.
+ */
+ string sSymbolSet;
+
+ /** Specifies the Unicode character of the symbol.
+ */
+ long nCharacter;
+
+ /** Specifies the exact name of the font ("Arial", "Courier", etc.).
+ */
+ string sFontName;
+
+ /** Specifies the character set which is supported by the font.
+
+ @see com::sun::star::awt::CharSet
+ */
+ short nCharSet;
+
+ /** Specifies the general style of the font.
+
+ @see com::sun::star::awt::FontFamily
+ */
+ short nFamily;
+
+ /** Specifies the pitch of the font.
+
+ @see com::sun::star::awt::FontPitch
+ */
+ short nPitch;
+
+ /** Specifies the thickness of the line.
+
+ @see com::sun::star::awt::FontWeight
+
+ The allowed integer values correspond as follows:
+ 0 : com::sun::star::awt::FontWeight::DONTKNOW
+ 1 : com::sun::star::awt::FontWeight::THIN
+ 2 : com::sun::star::awt::FontWeight::ULTRALIGHT
+ 3 : com::sun::star::awt::FontWeight::LIGHT
+ 4 : com::sun::star::awt::FontWeight::SEMILIGHT
+ 5 : com::sun::star::awt::FontWeight::NORMAL
+ 7 : com::sun::star::awt::FontWeight::SEMIBOLD
+ 8 : com::sun::star::awt::FontWeight::BOLD
+ 9 : com::sun::star::awt::FontWeight::ULTRABOLD
+ 10 : com::sun::star::awt::FontWeight::BLACK
+
+ */
+ short nWeight;
+
+ /** Specifies if the font is italic.
+
+ @see com::sun::star::awt::FontSlant
+
+ The values
+ com::sun::star::awt::FontSlant::REVERSE_OBLIQUE and
+ com::sun::star::awt::FontSlant::REVERSE_ITALIC
+ may not be used.
+ */
+ short nItalic;
+};
+}; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/AppDispatchProvider.idl b/offapi/com/sun/star/frame/AppDispatchProvider.idl
new file mode 100644
index 000000000..20a6624a2
--- /dev/null
+++ b/offapi/com/sun/star/frame/AppDispatchProvider.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_frame_AppDispatchProvider_idl__
+#define __com_sun_star_frame_AppDispatchProvider_idl__
+
+#include <com/sun/star/frame/XAppDispatchProvider.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/**
+ @since LibreOffice 4.2
+ */
+service AppDispatchProvider : XAppDispatchProvider;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/AutoRecovery.idl b/offapi/com/sun/star/frame/AutoRecovery.idl
new file mode 100644
index 000000000..7a010c915
--- /dev/null
+++ b/offapi/com/sun/star/frame/AutoRecovery.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_frame_AutoRecovery_idl__
+#define __com_sun_star_frame_AutoRecovery_idl__
+
+#include <com/sun/star/frame/XDispatch.idl>
+
+module com { module sun { module star { module frame {
+
+/**
+ A legacy (single-instance) service-variant of theAutoRecovery singleton.
+
+ @deprecated Use theAutoRecovery singleton instead.
+
+ @since LibreOffice 4.0
+ */
+service AutoRecovery : XDispatch;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/Bibliography.idl b/offapi/com/sun/star/frame/Bibliography.idl
new file mode 100644
index 000000000..fe52b9131
--- /dev/null
+++ b/offapi/com/sun/star/frame/Bibliography.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_frame_Bibliography_idl__
+#define __com_sun_star_frame_Bibliography_idl__
+
+#include <com/sun/star/container/XNameAccess.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/**
+ @since LibreOffice 4.1
+ */
+published service Bibliography : com::sun::star::container::XNameAccess;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/BorderWidths.idl b/offapi/com/sun/star/frame/BorderWidths.idl
new file mode 100644
index 000000000..7259b62f1
--- /dev/null
+++ b/offapi/com/sun/star/frame/BorderWidths.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_frame_BorderWidths_idl__
+#define __com_sun_star_frame_BorderWidths_idl__
+
+
+
+ module com { module sun { module star { module frame {
+
+
+/** specifies a border area by offsets from each side.
+ */
+struct BorderWidths
+{
+ /** specifies the offset from left border.
+ */
+ long Left;
+
+ /** specifies the offset from top border.
+ */
+ long Top;
+
+ /** specifies the offset from right border.
+ */
+ long Right;
+
+ /** specifies the offset from bottom border.
+ */
+ long Bottom;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/CommandGroup.idl b/offapi/com/sun/star/frame/CommandGroup.idl
new file mode 100644
index 000000000..f46614e74
--- /dev/null
+++ b/offapi/com/sun/star/frame/CommandGroup.idl
@@ -0,0 +1,144 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_CommandGroup_idl__
+#define __com_sun_star_frame_CommandGroup_idl__
+
+
+module com { module sun { module star { module frame {
+
+/** provides information about a supported command
+
+ @see XDispatchInformationProvider
+ @see Controller
+
+ @since OOo 2.0
+ */
+published constants CommandGroup
+{
+ /** specifies internal commands.
+ */
+ const short INTERNAL = 0;
+
+ /** specifies application based commands.
+ */
+ const short APPLICATION = 1;
+
+ /** specifies view specific commands.
+ */
+ const short VIEW = 2;
+
+ /** specifies document specific commands.
+ */
+ const short DOCUMENT = 3;
+
+ /** specifies edit specific commands.
+ */
+ const short EDIT = 4;
+
+ /** specifies commands used by the built-in Basic.
+ */
+ const short MACRO = 5;
+
+ /** specifies commands to change options.
+ */
+ const short OPTIONS = 6;
+
+ /** specifies math specific commands.
+ */
+ const short MATH = 7;
+
+ /** specifies navigate commands.
+ */
+ const short NAVIGATOR = 8;
+
+ /** specifies insert commands.
+ */
+ const short INSERT = 9;
+
+ /** specifies commands that are related to formats.
+ */
+ const short FORMAT = 10;
+
+ /** specifies commands that are related to templates.
+ */
+ const short TEMPLATE = 11;
+
+ /** specifies text specific commands.
+ */
+ const short TEXT = 12;
+
+ /** specifies frame specific commands.
+ */
+ const short FRAME = 13;
+
+ /** specifies commands that are related to graphical data.
+ */
+ const short GRAPHIC = 14;
+
+ /** specifies commands that are related to tables.
+ */
+ const short TABLE = 15;
+
+ /** specifies commands that are related to bullets and numbering.
+ */
+ const short ENUMERATION = 16;
+
+ /** specifies commands that are related to data.
+ */
+ const short DATA = 17;
+
+ /** specifies special commands.
+ */
+ const short SPECIAL = 18;
+
+ /** specifies commands that are related to images.
+ */
+ const short IMAGE = 19;
+
+ /** specifies chart specific commands.
+ */
+ const short CHART = 20;
+
+ /** specifies explorer specific commands.
+ */
+ const short EXPLORER = 21;
+
+ /** specifies commands that are related to connectors.
+ */
+ const short CONNECTOR = 22;
+
+ /** specifies commands that are related to modifications.
+ */
+ const short MODIFY = 23;
+
+ /** specifies commands that are related to drawing.
+ */
+ const short DRAWING = 24;
+
+ /** specifies commands that are related to controls.
+ */
+ const short CONTROLS = 25;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/Components.idl b/offapi/com/sun/star/frame/Components.idl
new file mode 100644
index 000000000..2a36d01db
--- /dev/null
+++ b/offapi/com/sun/star/frame/Components.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_frame_Components_idl__
+#define __com_sun_star_frame_Components_idl__
+
+#include <com/sun/star/container/XEnumerationAccess.idl>
+
+
+module com { module sun { module star { module frame {
+
+/** specifies a collection of components
+
+ <p>
+ One important instance of this service is available from the
+ Desktop object via the XDesktop interface.
+ </p>
+
+ @see com::sun::star::lang::XComponent
+ @see XDesktop
+ */
+published service Components
+{
+ /** use it to get snapshot of current available components as an enumeration
+ */
+ interface com::sun::star::container::XEnumerationAccess;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/ContentHandler.idl b/offapi/com/sun/star/frame/ContentHandler.idl
new file mode 100644
index 000000000..78b42454c
--- /dev/null
+++ b/offapi/com/sun/star/frame/ContentHandler.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_frame_ContentHandler_idl__
+#define __com_sun_star_frame_ContentHandler_idl__
+
+#include <com/sun/star/frame/XNotifyingDispatch.idl>
+
+
+module com { module sun { module star { module frame {
+
+/** special dispatcher for non visible contents, e.g. sounds
+
+ <p>
+ This handler doesn't need any frame as target for loading components.
+ Content handler are registered for content types.
+ (See type/filter configuration of com::sun::star::document::TypeDetection
+ for further information) If generic load mechanism found such documents which
+ can be handled by a ContentHandler it will create and use it.
+ </p>
+
+ @see com::sun::star::document::TypeDetection
+ */
+published service ContentHandler
+{
+ /** provides handling of dispatches with defined result state
+
+ <p>
+ Base interface of XNotifyingDispatch is XDispatch
+ and can be called for requests if result isn't necessary for dispatch operation.
+ </p>
+
+ @see XDispatch
+ */
+ interface XNotifyingDispatch;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/ContentHandlerFactory.idl b/offapi/com/sun/star/frame/ContentHandlerFactory.idl
new file mode 100644
index 000000000..e3411714b
--- /dev/null
+++ b/offapi/com/sun/star/frame/ContentHandlerFactory.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_frame_ContentHandlerFactory_idl__
+#define __com_sun_star_frame_ContentHandlerFactory_idl__
+
+#include <com/sun/star/frame/XLoaderFactory.idl>
+
+
+module com { module sun { module star { module frame {
+
+/** factory to create content loader
+
+ <p>
+ With this factory it's possible to
+ <ul>
+ <li>have access on configuration of set of registered content handler objects</li>
+ <li>create a content handler by his internal name</li>
+ <li>query for a content handler by using special query or property description.</li>
+ </ul>
+ </p>
+ */
+published service ContentHandlerFactory : XLoaderFactory;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/ControlCommand.idl b/offapi/com/sun/star/frame/ControlCommand.idl
new file mode 100644
index 000000000..c608e872e
--- /dev/null
+++ b/offapi/com/sun/star/frame/ControlCommand.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_frame_ControlCommand_idl__
+#define __com_sun_star_frame_ControlCommand_idl__
+
+
+#include <com/sun/star/beans/NamedValue.idl>
+
+
+module com { module sun { module star { module frame {
+
+
+/** describes a command which can be send to a generic toolbar control.
+
+ @since OOo 2.0.3
+ */
+struct ControlCommand
+{
+
+ /** specifies the command which should be processed by the toolbar
+ control.
+ */
+ string Command;
+
+
+ /** specifies a sequence of named values which are used as argument
+ for the command. The number and type of arguments depend on the
+ command and control.
+ */
+ sequence< com::sun::star::beans::NamedValue > Arguments;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/ControlEvent.idl b/offapi/com/sun/star/frame/ControlEvent.idl
new file mode 100644
index 000000000..c31f70a6a
--- /dev/null
+++ b/offapi/com/sun/star/frame/ControlEvent.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_frame_ControlEvent_idl__
+#define __com_sun_star_frame_ControlEvent_idl__
+
+#include <com/sun/star/util/URL.idl>
+
+#include <com/sun/star/beans/NamedValue.idl>
+
+
+module com { module sun { module star { module frame {
+
+
+/** describes a control event sent by extended user interface
+ controls.
+
+ @since OOo 2.0.3
+ */
+struct ControlEvent
+{
+ /** fully parsed URL describing the control that sends this
+ notification.
+ */
+ ::com::sun::star::util::URL aURL;
+
+ /** specifies the event which has occurred.
+ */
+ string Event;
+
+
+ /** specifies a sequence of named values which are used as
+ additional values for the event. The number and types of
+ named values depend on the event.
+ */
+ sequence< com::sun::star::beans::NamedValue > aInformation;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/Controller.idl b/offapi/com/sun/star/frame/Controller.idl
new file mode 100644
index 000000000..901fe8a2e
--- /dev/null
+++ b/offapi/com/sun/star/frame/Controller.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_frame_Controller_idl__
+#define __com_sun_star_frame_Controller_idl__
+
+#include <com/sun/star/frame/XController.idl>
+#include <com/sun/star/frame/XDispatchProvider.idl>
+#include <com/sun/star/awt/XWindow.idl>
+#include <com/sun/star/ui/XContextMenuInterception.idl>
+#include <com/sun/star/awt/XUserInputInterception.idl>
+#include <com/sun/star/view/XSelectionSupplier.idl>
+#include <com/sun/star/datatransfer/XTransferableSupplier.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/** is an abstract service for a component which offers a deeper integration of
+ desktop components than a com::sun::star::awt::XWindow
+ can offer
+
+ <p>
+ Such components can be loaded into a Frame inside a Desktop
+ environment. A controller is a richer component then a pure window, but full featured
+ components need a XModel interface too.
+ <br>
+ (see service com::sun::star::document::OfficeDocument for further information)
+ <p>
+
+ @see com::sun::star::document::OfficeDocument
+ */
+published service Controller
+{
+ /** with this interface, components viewed in a Frame can serve
+ events (by supplying dispatches)
+ */
+ interface XController;
+
+ /** for certain functions which are useful at the UI
+
+ <p>
+ Mostly used by the Frame service, which contains this
+ controller object. There will be an interception mechanism for dispatches
+ available too.
+ </p>
+
+ @see XDispatch
+ @see XDispatchProviderInterception
+ */
+ interface XDispatchProvider;
+
+ /** this interface enables the controller to get interceptors registered that
+ change context menus or prevent them from being executed
+
+ <p>
+ Don't mix it with XDispatchProviderInterception which
+ intercept calls of XDispatch::dispatch().
+ </p>
+ */
+ [optional] interface com::sun::star::ui::XContextMenuInterception;
+
+ /** makes it possible to intercept keyboard and mouse input.
+ */
+ [optional] interface com::sun::star::awt::XUserInputInterception;
+
+ /** makes it possible to access and change the selection in a view
+ */
+ [optional] interface com::sun::star::view::XSelectionSupplier;
+
+ /** makes it possible to work with clipboard data
+ */
+ [optional] interface com::sun::star::datatransfer::XTransferableSupplier;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/Desktop.idl b/offapi/com/sun/star/frame/Desktop.idl
new file mode 100644
index 000000000..2d6f18de7
--- /dev/null
+++ b/offapi/com/sun/star/frame/Desktop.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_Desktop_idl__
+#define __com_sun_star_frame_Desktop_idl__
+
+#include <com/sun/star/frame/XDesktop2.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/**
+ A legacy (single-instance) service-variant of theDesktop singleton.
+
+ @deprecated Use theDesktop singleton instead.
+ */
+
+published service Desktop : XDesktop2;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/DesktopTask.idl b/offapi/com/sun/star/frame/DesktopTask.idl
new file mode 100644
index 000000000..92a5f124f
--- /dev/null
+++ b/offapi/com/sun/star/frame/DesktopTask.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_frame_DesktopTask_idl__
+#define __com_sun_star_frame_DesktopTask_idl__
+
+#include <com/sun/star/frame/XDesktopTask.idl>
+#include <com/sun/star/frame/XFrame.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/frame/XWindowArranger.idl>
+#include <com/sun/star/frame/XFramesSupplier.idl>
+#include <com/sun/star/awt/Point.idl>
+#include <com/sun/star/awt/Size.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/** use the Frame service instead of this
+ @deprecated
+ */
+published service DesktopTask
+{
+ /** use Frame service */
+ interface com::sun::star::frame::XDesktopTask;
+
+ /** use the same interface at the Frame service */
+ interface com::sun::star::frame::XFrame;
+
+ /** use the same interface at the Frame service */
+ interface com::sun::star::beans::XPropertySet;
+
+ /** - */
+ interface com::sun::star::frame::XWindowArranger;
+
+ /** use the same interface at the Desktop or
+ Frame service */
+ interface com::sun::star::frame::XFramesSupplier;
+
+ /** use property Frame::Title instead of that */
+ [readonly, property] string Title;
+
+ /** - */
+ [readonly, property] boolean IsDesktop;
+
+ /** use th visible state of the frame container window instead of this */
+ [property] boolean IsVisible;
+
+ /** - */
+ [property] boolean IsFloating;
+ /** - */
+ [property] boolean IsAlwaysVisible;
+
+ /** use the position of the frame container window instead of this */
+ [property] com::sun::star::awt::Point Position;
+
+ /** use the size of the frame container window instead of this */
+ [property] com::sun::star::awt::Size Size;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/DesktopTasks.idl b/offapi/com/sun/star/frame/DesktopTasks.idl
new file mode 100644
index 000000000..c50a53a2d
--- /dev/null
+++ b/offapi/com/sun/star/frame/DesktopTasks.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_DesktopTasks_idl__
+#define __com_sun_star_frame_DesktopTasks_idl__
+
+#include <com/sun/star/container/XEnumerationAccess.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/** @deprecated
+ */
+published service DesktopTasks
+{
+ interface com::sun::star::container::XEnumerationAccess;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/DispatchDescriptor.idl b/offapi/com/sun/star/frame/DispatchDescriptor.idl
new file mode 100644
index 000000000..eae116227
--- /dev/null
+++ b/offapi/com/sun/star/frame/DispatchDescriptor.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_frame_DispatchDescriptor_idl__
+#define __com_sun_star_frame_DispatchDescriptor_idl__
+
+#include <com/sun/star/util/URL.idl>
+
+
+
+ module com { module sun { module star { module frame {
+
+/** describes a feature to be retrieved by a URL that
+ has to be loaded into a specified frame
+
+ <p>
+ For a normal dispatch calls all needed parameters are separated.
+ For optimized remote functionality XDispatch::queryDispatches()
+ it's necessary to pack these parameters in a flat structure which can be used
+ in a simple manner.
+ </p>
+
+ @see XDispatchProvider::queryDispatches()
+ */
+published struct DispatchDescriptor
+{
+ /** specifies the URL of the resource/function
+
+ <p>
+ Must be a full parsed URL. Use service com::sun::star::util::URLTransformer
+ for that.
+ </p>
+
+ @see com::sun::star::util::URLTransformer
+ */
+ com::sun::star::util::URL FeatureURL;
+
+ /** name of the target frame
+
+ <p>
+ Special targets (e.g. "_blank", "_self") or really existing target names can be used.
+ </p>
+
+ @see XDispatchProvider::queryDispatch()
+ */
+ string FrameName;
+
+ /** describes how the target frame is to be searched
+
+ <p>
+ This optional parameter is used if <var>FrameName</var> isn't a special target only.
+ </p>
+
+ @see FrameSearchFlag
+ */
+ long SearchFlags;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/DispatchHelper.idl b/offapi/com/sun/star/frame/DispatchHelper.idl
new file mode 100644
index 000000000..d35f9e498
--- /dev/null
+++ b/offapi/com/sun/star/frame/DispatchHelper.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_frame_DispatchHelper_idl__
+#define __com_sun_star_frame_DispatchHelper_idl__
+
+#include <com/sun/star/frame/XDispatchHelper.idl>
+
+
+module com { module sun { module star { module frame {
+
+/** provides an easy way to dispatch a URL using one call instead of multiple ones.
+
+ <p>
+ Normally a complete dispatch is split into different parts:
+ - converting and parsing the URL
+ - searching for a valid dispatch object available on a dispatch provider
+ - dispatching of the URL and its parameters
+ </p>
+
+ @see DispatchProvider
+ @see XDispatchProvider
+ @see XDispatch
+
+ @since OOo 1.1.2
+ */
+published service DispatchHelper : XDispatchHelper;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/DispatchInformation.idl b/offapi/com/sun/star/frame/DispatchInformation.idl
new file mode 100644
index 000000000..7608849b3
--- /dev/null
+++ b/offapi/com/sun/star/frame/DispatchInformation.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_frame_DispatchInformation_idl__
+#define __com_sun_star_frame_DispatchInformation_idl__
+
+#include <com/sun/star/frame/CommandGroup.idl>
+
+
+module com { module sun { module star { module frame {
+
+/** provides information about a supported command
+
+ @see XDispatchInformationProvider
+ @see Controller
+
+ @since OOo 2.0
+ */
+published struct DispatchInformation
+{
+ /** command URL of a supported command.
+ */
+ string Command;
+
+ /** group identifier to which the supported command belong.
+
+ <p>
+ @see CommandGroup
+ </p>
+ */
+ short GroupId;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/DispatchProvider.idl b/offapi/com/sun/star/frame/DispatchProvider.idl
new file mode 100644
index 000000000..b2c9bbe6f
--- /dev/null
+++ b/offapi/com/sun/star/frame/DispatchProvider.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_frame_DispatchProvider_idl__
+#define __com_sun_star_frame_DispatchProvider_idl__
+
+#include <com/sun/star/frame/XDispatchProvider.idl>
+#include <com/sun/star/frame/XDispatchProviderInterception.idl>
+
+
+module com { module sun { module star { module frame {
+
+/** provides XDispatch objects for certain functions which
+ are useful at the UI
+
+ <p>
+ Such dispatch objects must be queried explicitly and used for
+ queried purposes only. They can handle requests with guaranteed
+ notifications (XNotifyingDispatch) or with possible
+ (but not guaranteed) notifications (XDispatch).
+ </p>
+
+ @see XNotifyingDispatch
+ @see XDispatch
+ @see XControlNotificationListener
+ */
+published service DispatchProvider
+{
+ /** provides handling of dispatches with defined result state
+
+ <p>
+ Base interface of XNotifyingDispatch is XDispatch
+ and can be called for requests if result isn't necessary for dispatch operation.
+ </p>
+
+ @see XDispatch
+ */
+ interface XDispatchProvider;
+
+ /** provides dispatch interception
+
+ <p>
+ It makes it possible to register an XDispatchProvider which
+ intercepts all requests of XDispatch to this instance.
+ </p>
+ */
+ [optional] interface XDispatchProviderInterception;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/DispatchRecorder.idl b/offapi/com/sun/star/frame/DispatchRecorder.idl
new file mode 100644
index 000000000..5eacc1579
--- /dev/null
+++ b/offapi/com/sun/star/frame/DispatchRecorder.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_frame_DispatchRecorder_idl__
+#define __com_sun_star_frame_DispatchRecorder_idl__
+
+#include <com/sun/star/frame/XDispatchRecorder.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/** provides functionality to record XDispatch::dispatch() requests
+
+ <p>
+ It records all necessary parameters of a call XDispatch::dispatch()
+ and generate code which can be executed at later time to run same operations
+ again. Which code will be generated depends from real implementation. So it's
+ possible to generate e.g. Java/Basic or may Perl code.
+ By using of a DispatchRecorderSupplier, which is available on
+ a property of a Frame::DispatchRecorderSupplier, it's possible to change such code generation
+ for further requests or disable it in general by setting this property to `NULL`.
+ </p>
+
+ @see DispatchRecorderSupplier
+ @see Frame::RecorderSupplier
+
+ @since OOo 1.1.2
+ */
+published service DispatchRecorder : XDispatchRecorder;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/DispatchRecorderSupplier.idl b/offapi/com/sun/star/frame/DispatchRecorderSupplier.idl
new file mode 100644
index 000000000..770736461
--- /dev/null
+++ b/offapi/com/sun/star/frame/DispatchRecorderSupplier.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_frame_DispatchRecorderSupplier_idl__
+#define __com_sun_star_frame_DispatchRecorderSupplier_idl__
+
+#include <com/sun/star/frame/XDispatchRecorderSupplier.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/** provides a DispatchRecorder
+
+ <p>
+ This supplier regulate macro recording of XDispatch::dispatch()
+ calls. For that it encapsulates a reference to a DispatchRecorder.
+ Such recorder is used internally and can be used externally too.
+ A supplier will be available on a Frame if recording was enabled,
+ otherwise not. A frame supports a special property for that.
+ This modular concept of recorder, supplier and frame makes it possible to
+ implement local recording on one frame; global recording by using all currently
+ opened frames or only some of them; and so on.
+ </p>
+
+ @see DispatchRecorder
+ @see Frame
+ @since OOo 1.1.2
+ */
+published service DispatchRecorderSupplier : XDispatchRecorderSupplier;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/DispatchResultEvent.idl b/offapi/com/sun/star/frame/DispatchResultEvent.idl
new file mode 100644
index 000000000..dcbd08ee0
--- /dev/null
+++ b/offapi/com/sun/star/frame/DispatchResultEvent.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_frame_DispatchResultEvent_idl__
+#define __com_sun_star_frame_DispatchResultEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+#include <com/sun/star/util/URL.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/** contains the result of the dispatch action, if State is set to SUCCESS
+
+ <p>
+ The type of the result is dispatch action dependent. The member State
+ can be set to one of the values defined in DispatchResultState.
+ If State is set to DispatchResultState::FAILURE, Result may
+ specify the reason (or is empty). The type is also dispatch action dependent.
+ If State is set to DispatchResultState::DONTKNOW, Result is empty.
+ </p>
+
+ @see DispatchResultState
+*/
+published struct DispatchResultEvent: com::sun::star::lang::EventObject
+{
+ /** describes state of dispatch
+ */
+ short State;
+
+ /** describes result for given <var>State</var>
+ */
+ any Result;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/DispatchResultState.idl b/offapi/com/sun/star/frame/DispatchResultState.idl
new file mode 100644
index 000000000..e0658dd2e
--- /dev/null
+++ b/offapi/com/sun/star/frame/DispatchResultState.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_frame_DispatchResultState_idl__
+#define __com_sun_star_frame_DispatchResultState_idl__
+
+
+module com { module sun { module star { module frame {
+
+/** possible values for DispatchResultEvent
+ */
+published constants DispatchResultState
+{
+ /** indicates: dispatch failed
+ */
+ const short FAILURE = 0;
+
+ /** indicates: dispatch was successful
+ */
+ const short SUCCESS = 1;
+
+ /** indicates: result isn't defined
+ */
+ const short DONTKNOW = 2;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/DispatchStatement.idl b/offapi/com/sun/star/frame/DispatchStatement.idl
new file mode 100644
index 000000000..64421ef46
--- /dev/null
+++ b/offapi/com/sun/star/frame/DispatchStatement.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_frame_DispatchStatement_idl__
+#define __com_sun_star_frame_DispatchStatement_idl__
+
+#include <com/sun/star/beans/PropertyValue.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/** represents a dispatch statement from a recorded macro
+
+ @since OOo 1.1.2
+ */
+published struct DispatchStatement
+{
+ /** specifies the dispatch command
+
+ <p>
+ That means the <var>URL</var> parameter of a corresponding XDispatchProvider::queryDispatch() request.
+ </p>
+ */
+ string aCommand;
+
+
+ /** specifies the frame target
+
+ <p>
+ That means the <var>TargetFrameName</var> parameter of a corresponding XDispatchProvider::queryDispatch() request.
+ </p>
+ */
+ string aTarget;
+
+ /** specifies the dispatch command arguments
+
+ <p>
+ That means the <var>Arguments</var> parameter of a corresponding XDispatch::dispatch() request.
+ </p>
+ */
+ sequence < com::sun::star::beans::PropertyValue > aArgs;
+
+ /** specifies the optional search flags
+ <p>
+ That means the <var>SearchFlags</var> parameter of a corresponding XDispatchProvider::queryDispatch() request.
+ </p>
+ */
+ long nFlags;
+
+ /** specifies if this statement should be recorded as commented out or not
+
+ @see XDispatchRecorder::recordDispatchAsComment()
+ */
+ boolean bIsComment;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/DocumentTemplates.idl b/offapi/com/sun/star/frame/DocumentTemplates.idl
new file mode 100644
index 000000000..d7a2109ec
--- /dev/null
+++ b/offapi/com/sun/star/frame/DocumentTemplates.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_frame_DocumentTemplates_idl__
+#define __com_sun_star_frame_DocumentTemplates_idl__
+
+#include <com/sun/star/frame/XDocumentTemplates.idl>
+
+
+module com { module sun { module star { module frame {
+
+/** is a service for accessing the document templates of the office
+ and manipulate them ( add or rename or remove templates )
+
+ It implements a high level interface on top of a ucb content provider which
+ is used for template configuration.
+*/
+published service DocumentTemplates : XDocumentTemplates;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/DoubleInitializationException.idl b/offapi/com/sun/star/frame/DoubleInitializationException.idl
new file mode 100644
index 000000000..52fbd8ea6
--- /dev/null
+++ b/offapi/com/sun/star/frame/DoubleInitializationException.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_DoubleInitializationException_idl__
+#define __com_sun_star_frame_DoubleInitializationException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+
+ module com { module sun { module star { module frame {
+
+/** This exception can be thrown in case an object is initialized second time.
+
+ @since OOo 1.1.2
+ */
+published exception DoubleInitializationException: com::sun::star::uno::Exception
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/FeatureStateEvent.idl b/offapi/com/sun/star/frame/FeatureStateEvent.idl
new file mode 100644
index 000000000..026341239
--- /dev/null
+++ b/offapi/com/sun/star/frame/FeatureStateEvent.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_frame_FeatureStateEvent_idl__
+#define __com_sun_star_frame_FeatureStateEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+#include <com/sun/star/util/URL.idl>
+
+
+
+ module com { module sun { module star { module frame {
+
+/** This event is broadcast by a Controller whenever the state of
+ the feature changes
+
+ @see XController
+ @see XStatusListener
+ */
+published struct FeatureStateEvent: com::sun::star::lang::EventObject
+{
+ /** contains the URL of the feature.
+ */
+ com::sun::star::util::URL FeatureURL;
+
+ /** contains a descriptor of the feature for the user interface.
+ */
+ string FeatureDescriptor;
+
+ /** specifies whether the feature is currently enabled or disabled.
+ */
+ boolean IsEnabled;
+
+ /** specifies whether the XDispatch has to be required.
+
+ <p>
+ Interest code should listen for FrameActionEvent
+ too, to update own feature states and dispatch listener on
+ FrameAction::CONTEXT_CHANGED.
+ </p>
+ */
+ boolean Requery;
+
+ /** contains the state of the feature in this dispatch.
+
+ <p>
+ This can be, for example, simply `TRUE` for a boolean feature like
+ underline on/off. Some simple types like <code>string</code> or
+ `boolean` are useful here for generic UI elements, like
+ a checkmark in a menu.
+ </p>
+ */
+ any State;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/Frame.idl b/offapi/com/sun/star/frame/Frame.idl
new file mode 100644
index 000000000..e5b9bce15
--- /dev/null
+++ b/offapi/com/sun/star/frame/Frame.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_frame_Frame_idl__
+#define __com_sun_star_frame_Frame_idl__
+
+#include <com/sun/star/frame/XFrame2.idl>
+#include <com/sun/star/awt/XWindow.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/** represents the environment for a desktop component
+
+ <p>
+ Frames are the anchors for the office components and they are the component's link
+ to the outside world. They create a skeleton for the whole office API infrastructure
+ by building frame hierarchies. These hierarchies contains all currently loaded
+ documents and make it possible to walk during these trees.
+ A special service Desktop can(!) combine different of such trees
+ to a global one which life time will be controlled by it.
+ </p>
+
+ @see Desktop
+ */
+published service Frame : XFrame2;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/FrameAction.idl b/offapi/com/sun/star/frame/FrameAction.idl
new file mode 100644
index 000000000..4f478132c
--- /dev/null
+++ b/offapi/com/sun/star/frame/FrameAction.idl
@@ -0,0 +1,134 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_FrameAction_idl__
+#define __com_sun_star_frame_FrameAction_idl__
+
+
+
+ module com { module sun { module star { module frame {
+
+/** these are the events which can happen to the components in frames
+ of the desktop
+
+ <p>
+ Interest listener can get information about loaded/reloaded or unloaded
+ components into a Frame.
+ </p>
+
+ @see XFrame
+ @see XFrameActionListener
+ @see FrameActionEvent
+ */
+published enum FrameAction
+{
+ /** an event of this kind is broadcast whenever a component is
+ attached to a frame
+
+ <p>
+ This is almost the same as the instantiation of the component
+ within that frame. The component is attached to the frame
+ immediately before this event is broadcast.
+ </p>
+
+ @see XFrame::setComponent()
+ */
+ COMPONENT_ATTACHED,
+
+ /** an event of this kind is broadcast whenever a component is
+ detaching from a frame
+
+ <p>
+ This is quite the same as the destruction of the component
+ which was in that frame. At the moment when the event is broadcast
+ the component is still attached to the frame but in the next
+ moment it won't.
+ </p>
+
+ @see XFrame::setComponent()
+ */
+ COMPONENT_DETACHING,
+
+ /** an event of this kind is broadcast whenever a component is
+ attached to a new model.
+
+ <p>
+ In this case the component remains the same but operates
+ on a new model component.
+ </p>
+ */
+ COMPONENT_REATTACHED,
+
+ /** an event of this kind is broadcast whenever a component gets
+ activated
+
+ <p>
+ Activations are broadcast from the top component which was
+ not active before, down to the inner most component.
+ </p>
+
+ @see XFrame::activate()
+ */
+ FRAME_ACTIVATED,
+
+ /** an event of this kind is broadcasted immediately before the
+ component is deactivated
+
+ <p>
+ Deactivations are broadcast from the innermost component which
+ does not stay active up to the outer most component which does not
+ stay active.
+ </p>
+
+ @see XFrame::deactivate()
+ */
+ FRAME_DEACTIVATING,
+
+ /** an event of this kind is broadcast whenever a component changes
+ its internal context (i.e., the selection).
+
+ <p>
+ If the activation status within a frame changes, this counts as
+ a context change too.
+ </p>
+
+ @see XFrame::contextChanged()
+ */
+ CONTEXT_CHANGED,
+
+ /** an event of this kind is broadcast by an active frame when it
+ is getting UI control (tool control).
+
+ @see XFrame::activate()
+ */
+ FRAME_UI_ACTIVATED,
+
+ /** an event of this kind is broadcast by an active frame when it
+ is losing UI control (tool control).
+
+ @see XFrame::deactivate()
+ */
+ FRAME_UI_DEACTIVATING
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/FrameActionEvent.idl b/offapi/com/sun/star/frame/FrameActionEvent.idl
new file mode 100644
index 000000000..c0359b9d4
--- /dev/null
+++ b/offapi/com/sun/star/frame/FrameActionEvent.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_frame_FrameActionEvent_idl__
+#define __com_sun_star_frame_FrameActionEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+#include <com/sun/star/frame/XFrame.idl>
+#include <com/sun/star/frame/FrameAction.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/** this event struct is broadcast for actions which can happen to
+ components within frames
+
+ @see XFrameActionListener
+ */
+published struct FrameActionEvent: com::sun::star::lang::EventObject
+{
+ /** contains the frame in which the event occurred
+ */
+ XFrame Frame;
+
+ /** specifies the concrete event
+ */
+ FrameAction Action;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/FrameControl.idl b/offapi/com/sun/star/frame/FrameControl.idl
new file mode 100644
index 000000000..7a85e6d7f
--- /dev/null
+++ b/offapi/com/sun/star/frame/FrameControl.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_frame_FrameControl_idl__
+#define __com_sun_star_frame_FrameControl_idl__
+
+#include <com/sun/star/awt/UnoControl.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/** contains a frame with a desktop component
+
+ <p>
+ If the control is visible and has a valid (loadable) component URL,
+ then the FrameControl::Frame property is set.
+ Normally this control can be used for preview functionality inside
+ any UI.
+ </p>
+ */
+published service FrameControl
+{
+ /** the base service of all controls
+ */
+ service com::sun::star::awt::UnoControl;
+
+ /** contains the type of the component which is loaded into the frame,
+ or the document which implicitly specifies the type
+ */
+ [property] string ComponentUrl;
+
+ /** the frame held by this control
+
+ <p>
+ The Frame is created if the control
+ is shown and the #ComponentUrl is set.
+ </p>
+ */
+ [property, readonly] string Frame;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/FrameLoader.idl b/offapi/com/sun/star/frame/FrameLoader.idl
new file mode 100644
index 000000000..5bdbc17b8
--- /dev/null
+++ b/offapi/com/sun/star/frame/FrameLoader.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_frame_FrameLoader_idl__
+#define __com_sun_star_frame_FrameLoader_idl__
+
+#include <com/sun/star/frame/XFrameLoader.idl>
+#include <com/sun/star/lang/XInitialization.idl>
+#include <com/sun/star/container/XNamed.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/** derivations of this abstract service are used to load components
+ into Frames of the environment
+
+ <p>
+ Concrete implementations of this service register, for example,
+ for file name extensions or MIME types to load appropriate
+ components. The components loaded are at least Controller.
+ Instead of SynchronousFrameLoader this one use asynchronous
+ processes to load the component.
+ </p>
+
+ @see SynchronousFrameLoader
+ */
+published service FrameLoader
+{
+ /** support asynchronous loading of the component
+ */
+ interface XFrameLoader;
+
+ /** support initialization of loader with its own configuration!
+
+ <p>
+ Concrete implementations should use it to get her own configuration data
+ directly after creation by the FrameLoaderFactory.
+ Otherwise they must use normal configuration API to do so.
+ </p>
+ */
+ [optional] interface com::sun::star::lang::XInitialization;
+
+ /** provides access to the internal name of this frame loader
+
+ <p>
+ The internal name is a part of his configuration and will be passed by
+ the FrameLoaderFactory after creation
+ if optional interface com::sun::star::lang::XInitialization
+ is supported. Value of function com::sun::star::container::XNamed::getName()
+ can be used on service FrameLoaderFactory to get further information about this loader.
+ Setting of this name by calling com::sun::star::container::XNamed::setName()
+ must be forwarded to same factory service. He should decide, if it's allowed or not.
+ The reason: prevent code against name ambiguities.
+ </p>
+ */
+ [optional] interface com::sun::star::container::XNamed;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/FrameLoaderFactory.idl b/offapi/com/sun/star/frame/FrameLoaderFactory.idl
new file mode 100644
index 000000000..6efe90694
--- /dev/null
+++ b/offapi/com/sun/star/frame/FrameLoaderFactory.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_frame_FrameLoaderFactory_idl__
+#define __com_sun_star_frame_FrameLoaderFactory_idl__
+
+#include <com/sun/star/frame/XLoaderFactory.idl>
+
+
+module com { module sun { module star { module frame {
+
+/** factory to create frame loader
+
+ <p>
+ With this factory it's possible to
+ <ul>
+ <li>have access on configuration of set of registered frame loader objects</li>
+ <li>create a frame loader by his internal name</li>
+ <li>query for a frame loader by using special query or property description.</li>
+ </ul>
+ </p>
+ */
+published service FrameLoaderFactory : XLoaderFactory;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/FrameSearchFlag.idl b/offapi/com/sun/star/frame/FrameSearchFlag.idl
new file mode 100644
index 000000000..ad0a5e188
--- /dev/null
+++ b/offapi/com/sun/star/frame/FrameSearchFlag.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_frame_FrameSearchFlag_idl__
+#define __com_sun_star_frame_FrameSearchFlag_idl__
+
+
+
+ module com { module sun { module star { module frame {
+
+/** these types describe the algorithm to be used to search a frame
+
+ <p>
+ Such flags will be used on methods XFrame::findFrame(),
+ XDispatchProvider::queryDispatch() or
+ XComponentLoader::loadComponentFromURL() if no special target
+ frame name (e.g. "_blank", "_self") is used.
+ </p>
+
+ @see XFrame::findFrame()
+ @see XDispatchProvider::queryDispatch()
+ @see XComponentLoader::loadComponentFromURL()
+ */
+published constants FrameSearchFlag
+{
+ /** no longer supported
+
+ <p>
+ Using of this flag will do nothing. Use right combination of other flags
+ instead of this one.
+ </p>
+
+ @deprecated
+ */
+ const long AUTO = 0;
+
+ /** allows search on the parent frames
+ */
+ const long PARENT = 1;
+
+ /** includes the start frame himself
+ */
+ const long SELF = 2;
+
+ /** includes all child frames of the start frame
+
+ <p>
+ Note: That means all direct children and of course her children too.
+ Search doesn't stop at the next level inside the tree!
+ </p>
+ */
+ const long CHILDREN = 4;
+
+ /** frame will be created if not found
+ */
+ const long CREATE = 8;
+
+ /** includes the direct siblings of the start frame
+
+ <p>
+ Normally it's interpreted as search on the direct children of the parent
+ only. But in combination with e.g. the CHILDREN flag it can include all
+ children of it too.
+ </p>
+ */
+ const long SIBLINGS = 16;
+
+ /** allow the search outside the current sub task tree of the whole possible frame tree
+
+ <p>
+ If this flag isn't present, any search from bottom to top has to stop, if a top frame
+ will be reached. It doesn't influence a search from top to bottom.
+ But it can be used at the root of the frame tree to search on direct children of it only.
+ Because the direct children of the root node are the root's of the task sub trees, which
+ are top frames too. Instead of using the CHILDREN flag there, it's possible so to suppress
+ a deeper search so.
+ </p>
+ */
+ const long TASKS = 32;
+
+ /** includes all frames except frames in other tasks sub trees
+ but doesn't create any new frame
+ */
+ const long ALL = 23;
+
+ /** searches in the whole hierarchy of frames
+ but doesn't create any new frame
+ */
+ const long GLOBAL = 55;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/FramesContainer.idl b/offapi/com/sun/star/frame/FramesContainer.idl
new file mode 100644
index 000000000..01265ad8d
--- /dev/null
+++ b/offapi/com/sun/star/frame/FramesContainer.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_frame_FramesContainer_idl__
+#define __com_sun_star_frame_FramesContainer_idl__
+
+#include <com/sun/star/frame/XFrames.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/** this is a special container which can contain frames
+
+ <p>
+ All elements in this container support the service frame.
+ Implementations of this service are available by interface
+ XFramesSupplier.
+ </p>
+
+ @see XFramesSupplier
+ */
+published service FramesContainer
+{
+ /** access to frame collection by reference
+ */
+ interface XFrames;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/GlobalEventBroadcaster.idl b/offapi/com/sun/star/frame/GlobalEventBroadcaster.idl
new file mode 100644
index 000000000..47fbc9e84
--- /dev/null
+++ b/offapi/com/sun/star/frame/GlobalEventBroadcaster.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_frame_GlobalEventBroadcaster_idl__
+#define __com_sun_star_frame_GlobalEventBroadcaster_idl__
+
+#include <com/sun/star/frame/XGlobalEventBroadcaster.idl>
+
+
+module com { module sun { module star { module frame {
+
+/**
+ A legacy (single-instance) service-variant of theGlobalEventBroadcaster
+ singleton.
+
+ @deprecated Use theGlobalEventBroadcaster singleton instead.
+*/
+service GlobalEventBroadcaster : XGlobalEventBroadcaster;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/IllegalArgumentIOException.idl b/offapi/com/sun/star/frame/IllegalArgumentIOException.idl
new file mode 100644
index 000000000..a943fb387
--- /dev/null
+++ b/offapi/com/sun/star/frame/IllegalArgumentIOException.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_IllegalArgumentIOException_idl__
+#define __com_sun_star_frame_IllegalArgumentIOException_idl__
+
+#include <com/sun/star/io/IOException.idl>
+
+
+
+ module com { module sun { module star { module frame {
+
+/** This exception can be thrown in case arguments are wrong.
+
+ @since OOo 1.1.2
+ */
+published exception IllegalArgumentIOException: com::sun::star::io::IOException
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/InfobarType.idl b/offapi/com/sun/star/frame/InfobarType.idl
new file mode 100644
index 000000000..4b579987f
--- /dev/null
+++ b/offapi/com/sun/star/frame/InfobarType.idl
@@ -0,0 +1,38 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.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_frame_InfobarType_idl__
+#define __com_sun_star_frame_InfobarType_idl__
+
+module com { module sun { module star { module frame {
+
+/** Infobar types.
+
+ @since LibreOffice 6.4
+*/
+constants InfobarType
+{
+ /** For information messages (color: light blue). */
+ const long INFO = 0;
+
+ /** For success notifications (color: light green). */
+ const long SUCCESS = 1;
+
+ /** For warning messages (color: orange). */
+ const long WARNING = 2;
+
+ /** For critical errors (color: red). */
+ const long DANGER = 3;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */ \ No newline at end of file
diff --git a/offapi/com/sun/star/frame/LayoutManager.idl b/offapi/com/sun/star/frame/LayoutManager.idl
new file mode 100644
index 000000000..511e43ada
--- /dev/null
+++ b/offapi/com/sun/star/frame/LayoutManager.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_frame_LayoutManager_idl__
+#define __com_sun_star_frame_LayoutManager_idl__
+
+#include <com/sun/star/frame/XLayoutManager2.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/** controls the layout of user interface elements which are part of a frame.
+
+ <p>
+ Layout management is the process of determining the size and position of
+ user interface elements. By default, each Frame has a layout
+ manager -- it performs layout management for the user interface elements
+ within the frame. User interface elements can provide size and alignment
+ hints to layout managers, but layout managers have the final decision on
+ the size and position of those user interface elements.
+ </p>
+
+ <p>
+ Available properties:
+ <ul>
+ <li>boolean <code>MenuBarCloser</code>: Whether the small "Close" button in the menubar is displayed</li>
+ <li>boolean <code>AutomaticToolbars</code>: Whether automatic toolbars do appear</li>
+ <li>boolean <code>RefreshContextToolbarVisibility</code>: Set to true to refresh visibility of context toolbars</li>
+ <li>boolean <code>HideCurrentUI</code>: Hide/Show current UI elements (Toolbar, Statusbar, Menubar, etc)</li>
+ <li>boolean <code>PreserveContentSize</code>: When true, the outer window is resized the content/document size is preserved</li>
+ </ul>
+ </p>
+
+ @since OOo 2.0
+*/
+
+service LayoutManager : XLayoutManager2;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/LayoutManagerEvents.idl b/offapi/com/sun/star/frame/LayoutManagerEvents.idl
new file mode 100644
index 000000000..1ce0f947b
--- /dev/null
+++ b/offapi/com/sun/star/frame/LayoutManagerEvents.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_frame_LayoutManagerEvents_idl__
+#define __com_sun_star_frame_LayoutManagerEvents_idl__
+
+
+module com { module sun { module star { module frame {
+
+/** provides information about layout manager events
+
+ <p>Events are provided <strong>only</strong> for notification
+ purposes only.</p>
+
+ @see com::sun::star::frame::LayoutManager
+ @see com::sun::star::frame::XLayoutManagerEventBroadcaster
+
+ @since OOo 2.0
+ */
+constants LayoutManagerEvents
+{
+ /** specifies that the layout manager processed a lock call, which
+ prevents it from doing layouts.
+
+ <p>
+ This event sends the current lock count as additional
+ information.
+ </p>
+ */
+ const short LOCK = 0;
+
+ /** specifies that the layout manager processed an unlock call, which
+ admit layouts when the lock count is zero.
+
+ <p>
+ This event sends the current lock count as additional
+ information.
+ </p>
+ */
+ const short UNLOCK = 1;
+
+ /** specifies that the layout manager refreshed the layout of
+ the frame.
+
+ <p>
+ This event sends no additional information.
+ </p>
+ */
+ const short LAYOUT = 2;
+
+ /** specifies that the layout manager container frame window
+ becomes visible.
+
+ <p>
+ This event sends no additional information.
+ </p>
+ */
+ const short VISIBLE = 3;
+
+ /** specifies that the layout manager container frame window
+ becomes invisible.
+
+ <p>
+ This event sends no additional information.
+ </p>
+ */
+ const short INVISIBLE = 4;
+
+ /** A merged menu bar has been set at the layout manager.
+
+ <p>
+ This event sends no additional information.
+ </p>
+ */
+ const short MERGEDMENUBAR = 5;
+
+ /** specifies that a certain user interface element has been made
+ visible
+
+ <p>
+ This event sends the resource url of the newly visible user
+ interface element.
+ </p>
+ */
+ const short UIELEMENT_VISIBLE = 6;
+
+ /** specifies that a certain user interface element has been made
+ invisible
+
+ <p>
+ This event sends the resource url of the invisible user
+ interface element.
+ </p>
+ */
+ const short UIELEMENT_INVISIBLE = 7;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/MediaTypeDetectionHelper.idl b/offapi/com/sun/star/frame/MediaTypeDetectionHelper.idl
new file mode 100644
index 000000000..cf220eeb1
--- /dev/null
+++ b/offapi/com/sun/star/frame/MediaTypeDetectionHelper.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_MediaTypeDetectionHelper_idl__
+#define __com_sun_star_frame_MediaTypeDetectionHelper_idl__
+
+#include <com/sun/star/util/XStringMapping.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/** provides for mapping a given sequence of content identifier strings
+ to a sequence of respective media (mime) types
+
+ <p>
+ Order of given and their returned corresponding strings is important.
+ Don't pack or optimize it. Every item of [in] list must match
+ to an item of [out] list.
+ </p>
+ */
+published service MediaTypeDetectionHelper
+ : com::sun::star::util::XStringMapping;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/ModuleManager.idl b/offapi/com/sun/star/frame/ModuleManager.idl
new file mode 100644
index 000000000..d6d449c64
--- /dev/null
+++ b/offapi/com/sun/star/frame/ModuleManager.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_frame_ModuleManager_idl__
+#define __com_sun_star_frame_ModuleManager_idl__
+
+#include <com/sun/star/frame/XModuleManager2.idl>
+
+
+module com { module sun { module star { module frame {
+
+/** can be used to identify office modules.
+
+ <p>
+ Further it provides read access to the configuration
+ of office modules.
+ </p>
+
+ @since OOo 2.0
+ */
+
+service ModuleManager : XModuleManager2;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/OfficeFrameLoader.idl b/offapi/com/sun/star/frame/OfficeFrameLoader.idl
new file mode 100644
index 000000000..67823eb41
--- /dev/null
+++ b/offapi/com/sun/star/frame/OfficeFrameLoader.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_frame_OfficeFrameLoader_idl__
+#define __com_sun_star_frame_OfficeFrameLoader_idl__
+
+#include <com/sun/star/frame/XSynchronousFrameLoader.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/**
+ @since LibreOffice 4.2
+ */
+service OfficeFrameLoader : XSynchronousFrameLoader;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/PopupMenuController.idl b/offapi/com/sun/star/frame/PopupMenuController.idl
new file mode 100644
index 000000000..8328501d5
--- /dev/null
+++ b/offapi/com/sun/star/frame/PopupMenuController.idl
@@ -0,0 +1,124 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_frame_PopupMenuController_idl__
+#define __com_sun_star_frame_PopupMenuController_idl__
+
+#include <com/sun/star/frame/XPopupMenuController.idl>
+#include <com/sun/star/lang/XInitialization.idl>
+#include <com/sun/star/frame/XStatusListener.idl>
+#include <com/sun/star/frame/XDispatchProvider.idl>
+#include <com/sun/star/lang/XComponent.idl>
+
+
+module com { module sun { module star { module frame {
+
+
+/** provides access to a pop-up menu controller.
+
+ <p>
+ A pop-up menu controller is used to make special functions available to
+ users, which depend on runtime or context specific conditions.<br/>
+ A typical example for a pop-up menu controller can be a recent file list
+ implementation which provides a list of latest files that a user has
+ worked on. This list gets changes consistently during a work session.
+ </p>
+
+ @since OOo 2.0
+*/
+
+service PopupMenuController
+{
+ /** supports functions to initialize and update a pop-up menu controller
+ implementation.
+
+ <p>
+ A pop-up menu controller implementation gets initialized with a
+ com::sun::star::awt::XPopupMenu object. This assures
+ that a pop-up menu controller can be implemented with any UNO based
+ language.
+ </p>
+ */
+ interface com::sun::star::frame::XPopupMenuController;
+
+ /** provides functions to initialize a pop-up menu controller with
+ specific data which are needed.
+
+ <p>
+ This interface should not directly used. A factory service is responsible to
+ initialize every controller correctly.<br/>
+
+ A pop-up menu controller needs at least two additional arguments
+ provided as com::sun::star::beans::PropertyValue:
+ <ul>
+ <li><b>Frame</b><br>specifies the com::sun::star::frame::XFrame
+ instance to which the pop-up menu controller belongs to.</li>
+ <li><b>CommandURL</b><br>specifies which pop-up menu controller should be created.</li>
+ </ul>
+ </p>
+
+ @see PopupMenuControllerFactory
+ */
+ interface com::sun::star::lang::XInitialization;
+
+ /** used to brief the pop-up menu controller with new status information.
+
+ <p>
+ A pop-up menu controller makes special functions available to users which
+ normally depend on the state of other data. This interface is used to
+ send this data to a controller implementation.
+ </p>
+ */
+ interface com::sun::star::frame::XStatusListener;
+
+ /** used to query for commands supported by the pop-up menu controller to
+ execute them directly.
+
+ <p>
+ A pop-up menu controller provides special functions which should be
+ available by the normal dispatch API. This optional interface enables
+ pop-up menu controller to be normal dispatch providers.<br/>
+ <b>Attention:</b><br/>
+ Po-pup menu controller functions must be specified using the following
+ the dispatch URL scheme: "vnd.sun.star.popup:" opaque_part [ "?" query ].
+ </p>
+
+ @since OOo 2.2
+ */
+ [optional] interface com::sun::star::frame::XDispatchProvider;
+
+ /** used to dispose pop-up menu controller by the owner instance.
+
+ <p>
+ A pop-up menu controller resides in a menu which has a limited
+ life-time. For correct life-time handling a pop-up menu
+ controller should support this interface.
+ </p>
+
+ @since OOo 2.2
+ */
+ [optional] interface com::sun::star::lang::XComponent;
+};
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/PopupMenuControllerFactory.idl b/offapi/com/sun/star/frame/PopupMenuControllerFactory.idl
new file mode 100644
index 000000000..009bb66a9
--- /dev/null
+++ b/offapi/com/sun/star/frame/PopupMenuControllerFactory.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_frame_PopupMenuControllerFactory_idl__
+#define __com_sun_star_frame_PopupMenuControllerFactory_idl__
+
+#include <com/sun/star/frame/XUIControllerFactory.idl>
+
+module com { module sun { module star { module frame {
+
+/**
+ A legacy (single-instance) service-variant of thePopupMenuControllerFactory singleton.
+
+ @deprecated Use thePopupMenuControllerFactory singleton instead.
+
+ @since OOo 2.0
+*/
+service PopupMenuControllerFactory : XUIControllerFactory;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/ProtocolHandler.idl b/offapi/com/sun/star/frame/ProtocolHandler.idl
new file mode 100644
index 000000000..ffdaa3155
--- /dev/null
+++ b/offapi/com/sun/star/frame/ProtocolHandler.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_frame_ProtocolHandler_idl__
+#define __com_sun_star_frame_ProtocolHandler_idl__
+
+#include <com/sun/star/frame/XDispatchProvider.idl>
+#include <com/sun/star/lang/XInitialization.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/** special dispatch provider registered for URL protocols
+
+ <p>
+ The generic dispatch mechanism on a Frame
+ search for such registered protocol handler and use it if it agrees with
+ the dispatched URL.
+ </p>
+
+ <p>
+ Supported URLs must match follow format:
+ <code><i>protocol scheme</i>:<i>protocol specific part</i></code>
+ If a handler provides optional arguments ("?") or jump marks ("#") depends from his
+ definition and implementation. The generic dispatch provider will use registered
+ URL pattern to detect right handler.
+ </p>
+ */
+published service ProtocolHandler
+{
+ /** used from the generic dispatch mechanism of the frame, to ask ProtocolHandler
+ for his agreement for the dispatched URL
+
+ <p>
+ Such asked handler can agree by returning itself or a special sub dispatch object, which
+ can handle the given URL. Of course he can disagree with it by returning an empty reference.
+ </p>
+ */
+ interface XDispatchProvider;
+
+ /** initialize the new handler instance with some context information
+
+ <p>
+ Sometimes it can be useful for a handler object, to know something about the
+ environment, in which it runs - especially the frame. For this case the generic
+ code (which uses the handler) will ask for this optional interface and use it, if it exist.
+ Following parameters are passed to the service:
+ <ul>
+ <li>sequence< any >[0] => the frame for which this ProtocolHandler was created [com.sun.star.frame.XFrame]</li>
+ </ul>
+ </p>
+
+ <p>
+ Please note: if this mechanism is used it seems not useful (nor possible) to implement a ProtocolHandler
+ as a singleton. Otherwise the implementation can't distinguish between different environments
+ and her corresponding dispatch requests.
+ </p>
+ */
+ [optional] interface ::com::sun::star::lang::XInitialization;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/SessionListener.idl b/offapi/com/sun/star/frame/SessionListener.idl
new file mode 100644
index 000000000..d33859fd8
--- /dev/null
+++ b/offapi/com/sun/star/frame/SessionListener.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_SessionListener_idl__
+#define __com_sun_star_frame_SessionListener_idl__
+
+#include <com/sun/star/frame/XSessionManagerListener2.idl>
+
+
+ module com { module sun { module star { module frame {
+
+
+
+/**
+ This was created from its sole place of use, so it might be incomplete.
+
+ @since LibreOffice 4.1
+*/
+service SessionListener : com::sun::star::frame::XSessionManagerListener2
+{
+ createWithOnQuitFlag([in] boolean AllowUserInteractionOnQuit);
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/SessionManager.idl b/offapi/com/sun/star/frame/SessionManager.idl
new file mode 100644
index 000000000..8e2202816
--- /dev/null
+++ b/offapi/com/sun/star/frame/SessionManager.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_frame_SessionManager_idl__
+#define __com_sun_star_frame_SessionManager_idl__
+
+#include <com/sun/star/frame/XSessionManagerClient.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/** The SessionManager service provides an interface to the session manager
+ of the desktop. A session manager keeps track of applications that are
+ running when the desktop shuts down and starts them again in the same
+ state they were left when the desktop starts up the next time. To be able
+ to do this the session manager needs cooperation from applications;
+ applications have to provide sufficient information to be started again as
+ well as restore the state they were left in. The normal flow of operation
+ looks like this:
+
+ <ol>
+ <li>The user starts the desktop shutdown.</li>
+ <li>The session manager informs all its connected applications
+ about the pending shutdown.</li>
+ <li>Each application saves its current state; while doing this it may
+ <ul>
+ <li>The application may request to interact with the user (e.g. to ask
+ where to save documents). This request is necessary because at any one
+ time only one application can interact with the user. The session manager
+ coordinates these requests and grants every application in need of user
+ interaction a timeslot in which it may interact with the user</li>
+ <li>try to cancel the whole shutdown; the session manager may or may
+ not honor that request.</li>
+ </ul>
+ </li>
+ <li>After saving is done the session manager signals all applications
+ to exit.</li>
+ <li>Applications answer the exit message by disconnecting from the
+ session manager.</li>
+ <li>After all applications have exited or a reasonable timeout the
+ session manager kills all remaining applications and finally lets the
+ desktop shut down.</li>
+ </ol>
+*/
+service SessionManager
+{
+ /** XSessionManagerClient (of which there can only be one instance per
+ process) provides an application's interface to the session manager.
+ It keeps track of every listener inside the application and multiplexes
+ the session manager's signals as well as requests to the session manager.
+ */
+ interface XSessionManagerClient;
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/Settings.idl b/offapi/com/sun/star/frame/Settings.idl
new file mode 100644
index 000000000..19267a9ce
--- /dev/null
+++ b/offapi/com/sun/star/frame/Settings.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_Settings_idl__
+#define __com_sun_star_frame_Settings_idl__
+
+#include <com/sun/star/container/XNameAccess.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/** @deprecated
+ */
+published service Settings
+{
+ interface com::sun::star::container::XNameAccess;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/StartModule.idl b/offapi/com/sun/star/frame/StartModule.idl
new file mode 100644
index 000000000..8af9903cb
--- /dev/null
+++ b/offapi/com/sun/star/frame/StartModule.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_StartModule_idl__
+#define __com_sun_star_frame_StartModule_idl__
+
+#include <com/sun/star/awt/XWindow.idl>
+#include <com/sun/star/frame/XController.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/**
+ @since LibreOffice 4.1
+ */
+service StartModule : com::sun::star::frame::XController
+{
+ createWithParentWindow([in] com::sun::star::awt::XWindow ContainerWindow);
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/StatusbarController.idl b/offapi/com/sun/star/frame/StatusbarController.idl
new file mode 100644
index 000000000..e60b90be6
--- /dev/null
+++ b/offapi/com/sun/star/frame/StatusbarController.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_frame_StatusbarController_idl__
+#define __com_sun_star_frame_StatusbarController_idl__
+
+#include <com/sun/star/frame/XStatusbarController.idl>
+
+module com { module sun { module star { module frame {
+
+interface XStatusbarController;
+
+/** is an abstract service for a component which offers a more complex user
+ interface to users within a status bar.
+
+ <p>
+ A generic status bar function is represented as a text field which
+ provides status information to the user. A status bar controller can be
+ added to a status bar and provides information or functions with a more
+ sophisticated user interface.<br/>
+ A typical example for a status bar controller is the zoom level chooser
+ within the statusbar. It provides an option to change the zoom level of
+ an application.
+ <p>
+
+ @see com::sun::star::frame::XDispatchProvider
+ @see com::sun::star::frame::XStatusbarController
+
+ @since OOo 2.0
+ */
+service StatusbarController : XStatusbarController
+{
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/StatusbarControllerFactory.idl b/offapi/com/sun/star/frame/StatusbarControllerFactory.idl
new file mode 100644
index 000000000..4f74f6d6c
--- /dev/null
+++ b/offapi/com/sun/star/frame/StatusbarControllerFactory.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_frame_StatusbarControllerFactory_idl__
+#define __com_sun_star_frame_StatusbarControllerFactory_idl__
+
+#include <com/sun/star/frame/XUIControllerFactory.idl>
+
+module com { module sun { module star { module frame {
+
+/**
+ A legacy (single-instance) service-variant of theStatusbarControllerFactory singleton.
+
+ @deprecated Use theStatusbarControllerFactory singleton instead.
+
+ @since OOo 2.0
+*/
+service StatusbarControllerFactory : XUIControllerFactory;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/SynchronousFrameLoader.idl b/offapi/com/sun/star/frame/SynchronousFrameLoader.idl
new file mode 100644
index 000000000..4a99eb0d9
--- /dev/null
+++ b/offapi/com/sun/star/frame/SynchronousFrameLoader.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_frame_SynchronousFrameLoader_idl__
+#define __com_sun_star_frame_SynchronousFrameLoader_idl__
+
+#include <com/sun/star/frame/XSynchronousFrameLoader.idl>
+#include <com/sun/star/lang/XInitialization.idl>
+#include <com/sun/star/container/XNamed.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/** derivations of this abstract service are used to load components
+ into Frames of the environment
+
+ <p>
+ Concrete implementations of this service register, for example,
+ for file name extensions or MIME types to load appropriate
+ components. The components loaded are at least Controller.
+ Instead of service FrameLoader this one use synchronous
+ processes to load the component.
+ </p>
+
+ @see FrameLoader
+ */
+published service SynchronousFrameLoader
+{
+ /** support synchronous loading of component
+ */
+ interface XSynchronousFrameLoader;
+
+ /** support initialization of loader with its own configuration!
+
+ <p>
+ Concrete implementations should use it to get her own configuration data
+ directly after creation by the FrameLoaderFactory.
+ Otherwise they must use normal configuration API to do so.
+ </p>
+ */
+ [optional] interface com::sun::star::lang::XInitialization;
+
+ /** provides access to the internal name of this frame loader
+
+ <p>
+ The internal name is a part of his configuration and will be passed by
+ the FrameLoaderFactory after creation
+ if optional interface com::sun::star::lang::XInitialization
+ is supported. Value of function com::sun::star::container::XNamed::getName() can be
+ used on service FrameLoaderFactory to get further information about this loader.
+ Setting of this name by calling com::sun::star::container::XNamed::setName() must be
+ forwarded to same factory service. He should decide, if it's allowed or not.
+ The reason: prevent code against name ambiguities.
+ </p>
+ */
+ [optional] interface com::sun::star::container::XNamed;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/Task.idl b/offapi/com/sun/star/frame/Task.idl
new file mode 100644
index 000000000..7bc2944c6
--- /dev/null
+++ b/offapi/com/sun/star/frame/Task.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_frame_Task_idl__
+#define __com_sun_star_frame_Task_idl__
+
+#include <com/sun/star/frame/XFrame.idl>
+#include <com/sun/star/frame/XTask.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/** represents a top level frame in the frame hierarchy with the desktop as root
+
+ <p>
+ Please use the service Frame instead of this deprecated Task. If it's
+ method XFrame.isTop() returns `TRUE`, it's the same
+ as a check for the Task service.
+ </p>
+
+ @see Frame
+
+ @deprecated
+
+ @since OOo 1.1.2
+ */
+published service Task
+{
+ /**
+ @deprecated
+ */
+ interface XFrame;
+
+ /**
+ @deprecated
+ use com::sun::star::util::XCloseable instead.
+
+ */
+ interface XTask;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/TaskCreator.idl b/offapi/com/sun/star/frame/TaskCreator.idl
new file mode 100644
index 000000000..5c8099897
--- /dev/null
+++ b/offapi/com/sun/star/frame/TaskCreator.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_frame_TaskCreator_idl__
+#define __com_sun_star_frame_TaskCreator_idl__
+
+#include <com/sun/star/lang/XSingleServiceFactory.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/**
+ @since LibreOffice 4.1
+ */
+service TaskCreator : com::sun::star::lang::XSingleServiceFactory;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/TemplateAccess.idl b/offapi/com/sun/star/frame/TemplateAccess.idl
new file mode 100644
index 000000000..a149c76fe
--- /dev/null
+++ b/offapi/com/sun/star/frame/TemplateAccess.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_frame_TemplateAccess_idl__
+#define __com_sun_star_frame_TemplateAccess_idl__
+
+#include <com/sun/star/lang/XLocalizable.idl>
+#include <com/sun/star/frame/XDocumentTemplates.idl>
+
+
+module com { module sun { module star { module frame {
+
+/** provides a high level API to organize document templates
+ */
+published service TemplateAccess
+{
+ /** used to organize document templates
+ */
+ interface XDocumentTemplates;
+
+ /** provides selection of sets of localized templates
+ */
+ interface com::sun::star::lang::XLocalizable;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/TerminationVetoException.idl b/offapi/com/sun/star/frame/TerminationVetoException.idl
new file mode 100644
index 000000000..135c9c1a7
--- /dev/null
+++ b/offapi/com/sun/star/frame/TerminationVetoException.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_frame_TerminationVetoException_idl__
+#define __com_sun_star_frame_TerminationVetoException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/** can be thrown by a XTerminateListener to prevent the environment
+ (e.g., desktop) from terminating
+
+ <p>
+ If a XTerminateListener use this exception for a veto against
+ the termination of the office, he will be the new "owner" of it.
+ After his own operation will be finished, he MUST try to terminate the
+ office again. Any other veto listener can intercept that again or office
+ will die really.
+
+ Since LibreOffice 5.3:
+ Throwing this exception will only prevent *termination*.
+ Exiting LibreOffice will close all the windows, but the process will keep running.
+ </p>
+
+ @see XDesktop::terminate()
+ @see XTerminateListener
+ */
+published exception TerminationVetoException: com::sun::star::uno::Exception
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/TitleChangedEvent.idl b/offapi/com/sun/star/frame/TitleChangedEvent.idl
new file mode 100644
index 000000000..2005d9461
--- /dev/null
+++ b/offapi/com/sun/star/frame/TitleChangedEvent.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_TitleChangedEvent_idl__
+#define __com_sun_star_frame_TitleChangedEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/** Contains the information about a changed title.
+ */
+struct TitleChangedEvent : com::sun::star::lang::EventObject
+{
+ /** The new title
+ */
+ string Title;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/ToolbarController.idl b/offapi/com/sun/star/frame/ToolbarController.idl
new file mode 100644
index 000000000..fd332484d
--- /dev/null
+++ b/offapi/com/sun/star/frame/ToolbarController.idl
@@ -0,0 +1,120 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_frame_ToolbarController_idl__
+#define __com_sun_star_frame_ToolbarController_idl__
+
+#include <com/sun/star/lang/XInitialization.idl>
+#include <com/sun/star/util/XUpdatable.idl>
+#include <com/sun/star/frame/XStatusListener.idl>
+#include <com/sun/star/frame/XToolbarController.idl>
+#include <com/sun/star/frame/XSubToolbarController.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/** is an abstract service for a component which offers a more complex user
+ interface to users within a toolbar.
+
+ <p>
+ A generic toolbar function is represented as a button which has a state
+ (enabled,disabled and selected, not selected). A toolbar controller can
+ be added to a toolbar and provide information or functions within a more
+ sophisticated user interface.<br/> A typical example for toolbar controller
+ is the font chooser within the toolbar. It provides all available fonts in
+ a dropdown box and shows the current chosen font.
+ <p>
+
+ @see com::sun::star::frame::XDispatchProvider
+
+ @since OOo 2.0
+ */
+
+service ToolbarController
+{
+ /** with this interface a component can receive events if a feature has
+ changed.
+
+ <p>
+ The toolbar controller implementation should register itself as a
+ listener when its com::sun::star::util::XUpdatable
+ interface has been called.
+ </p>
+ */
+ interface com::sun::star::frame::XStatusListener;
+
+ /** used to initialize a component with required arguments.
+
+ A toolbar controller needs at least three additional arguments
+ provided as com::sun::star::beans::PropertyValue:
+ <ul>
+ <li><b>Frame</b><br>a com::sun::star::frame::XFrame
+ instance to which the toolbar controller belongs.</li>
+ <li><b>CommandURL</b><br>a string which specifies the command a
+ toolbar controller is bound.</li>
+ <li><b>ServiceManager</b><br>a
+ com::sun::star::lang::XMultiServiceFactory
+ instance which can be used to create additional UNO services.</li>
+ </ul>
+ */
+ interface com::sun::star::lang::XInitialization;
+
+ /** used to notify an implementation that it needs to add its listener or remove
+ and add them again.
+
+ <p>
+ A toolbar controller instance is ready for use after this call has been made
+ the first time. The toolbar implementation guarantees that the controller's
+ item window has been added to the toolbar and its reference is held by it.
+ </p>
+ */
+ interface com::sun::star::util::XUpdatable;
+
+ /** used to notify changed features and requests for additional user interface
+ items.
+
+ <p>
+ Mostly used by a toolbar implementation to forward information to and request
+ services from a toolbar controller component. This interface must be usable
+ after com::sun::star::lang::XInitialization::initialize()
+ has been called. The behavior of the interface is undefined if the controller
+ component hasn't been initialized.
+ </p>
+ */
+ interface com::sun::star::frame::XToolbarController;
+
+ /** used to notify and retrieve information that are specific for sub-toolbar
+ controllers.
+
+ <p>
+ Used by implementations that want to provide the toolbar button/sub-
+ toolbar function feature. A controller supporting this interface exchanges
+ the function of its own toolbar button, that opened the sub-toolbar, with
+ the one that has been selected on the sub-toolbar.
+ </p>
+ */
+ [optional] interface ::com::sun::star::frame::XSubToolbarController;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/ToolbarControllerFactory.idl b/offapi/com/sun/star/frame/ToolbarControllerFactory.idl
new file mode 100644
index 000000000..201cc4c83
--- /dev/null
+++ b/offapi/com/sun/star/frame/ToolbarControllerFactory.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_frame_ToolbarControllerFactory_idl__
+#define __com_sun_star_frame_ToolbarControllerFactory_idl__
+
+#include <com/sun/star/frame/XUIControllerFactory.idl>
+
+module com { module sun { module star { module frame {
+
+/**
+ A legacy (single-instance) service-variant of theToolbarControllerFactory singleton.
+
+ @deprecated Use theToolbarControllerFactory singleton instead.
+
+ @since OOo 2.0
+*/
+
+service ToolbarControllerFactory : XUIControllerFactory;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/TransientDocumentsDocumentContentFactory.idl b/offapi/com/sun/star/frame/TransientDocumentsDocumentContentFactory.idl
new file mode 100644
index 000000000..0d1e6bb70
--- /dev/null
+++ b/offapi/com/sun/star/frame/TransientDocumentsDocumentContentFactory.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_TransientDocumentsDocumentContentFactory_idl__
+#define __com_sun_star_frame_TransientDocumentsDocumentContentFactory_idl__
+
+#include <com/sun/star/frame/XTransientDocumentsDocumentContentFactory.idl>
+
+
+module com { module sun { module star { module frame {
+
+/** specifies a factory for
+ com::sun::star::ucb::TransientDocumentsDocumentContents.
+
+ @since OOo 2.0
+*/
+service TransientDocumentsDocumentContentFactory
+{
+ /** a factory for TransientDocumentsDocumentContents.
+ */
+ interface com::sun::star::frame::XTransientDocumentsDocumentContentFactory;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/UICommandDescription.idl b/offapi/com/sun/star/frame/UICommandDescription.idl
new file mode 100644
index 000000000..76e6db949
--- /dev/null
+++ b/offapi/com/sun/star/frame/UICommandDescription.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_frame_UICommandDescription_idl__
+#define __com_sun_star_frame_UICommandDescription_idl__
+
+#include <com/sun/star/container/XNameAccess.idl>
+
+
+module com { module sun { module star { module frame {
+
+
+/**
+ A legacy (single-instance) service-variant of theUICommandDescription singleton.
+
+ @deprecated Use theUICommandDescription singleton instead.
+
+ @since OOo 2.0
+*/
+service UICommandDescription : com::sun::star::container::XNameAccess;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/UnknownModuleException.idl b/offapi/com/sun/star/frame/UnknownModuleException.idl
new file mode 100644
index 000000000..c9eb19d19
--- /dev/null
+++ b/offapi/com/sun/star/frame/UnknownModuleException.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_UnknownModuleException_idl__
+#define __com_sun_star_frame_UnknownModuleException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+module com { module sun { module star { module frame {
+
+/** This exception can be thrown in case an office
+ * module could not be classified or does not have
+ * a valid configuration.
+
+ @since OOo 2.0
+ */
+exception UnknownModuleException : ::com::sun::star::uno::Exception
+{
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/UntitledNumbersConst.idl b/offapi/com/sun/star/frame/UntitledNumbersConst.idl
new file mode 100644
index 000000000..3ff9b5083
--- /dev/null
+++ b/offapi/com/sun/star/frame/UntitledNumbersConst.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_frame_UntitledNumbersConst_idl__
+#define __com_sun_star_frame_UntitledNumbersConst_idl__
+
+ module com { module sun { module star { module frame {
+
+constants UntitledNumbersConst
+{
+ const long INVALID_NUMBER = 0;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/WindowArrange.idl b/offapi/com/sun/star/frame/WindowArrange.idl
new file mode 100644
index 000000000..8196096c5
--- /dev/null
+++ b/offapi/com/sun/star/frame/WindowArrange.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_frame_WindowArrange_idl__
+#define __com_sun_star_frame_WindowArrange_idl__
+
+
+ module com { module sun { module star { module frame {
+
+/** these constants are used to specify a style of window arrangement
+ */
+published constants WindowArrange
+{
+ /** arranges the windows in tiles
+ */
+ const short TILE = 1;
+
+ /** arranges the windows vertically
+ */
+ const short VERTICAL = 2;
+
+ /** arranges the windows horizontally
+ */
+ const short HORIZONTAL = 3;
+
+ /** cascades the windows
+ */
+ const short CASCADE = 4;
+
+ /** maximizes all windows
+ */
+ const short MAXIMIZE = 5;
+
+ /** minimizes all windows
+ */
+ const short MINIMIZE = 6;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XAppDispatchProvider.idl b/offapi/com/sun/star/frame/XAppDispatchProvider.idl
new file mode 100644
index 000000000..298c62d8d
--- /dev/null
+++ b/offapi/com/sun/star/frame/XAppDispatchProvider.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_frame_XAppDispatchProvider_idl__
+#define __com_sun_star_frame_XAppDispatchProvider_idl__
+
+#include <com/sun/star/frame/XDispatchInformationProvider.idl>
+#include <com/sun/star/frame/XDispatchProvider.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/**
+ @since LibreOffice 4.2
+ */
+interface XAppDispatchProvider
+{
+ interface XDispatchInformationProvider;
+ interface XDispatchProvider;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XBorderResizeListener.idl b/offapi/com/sun/star/frame/XBorderResizeListener.idl
new file mode 100644
index 000000000..5cc6e836f
--- /dev/null
+++ b/offapi/com/sun/star/frame/XBorderResizeListener.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_frame_XBorderResizeListener_idl__
+#define __com_sun_star_frame_XBorderResizeListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+#include <com/sun/star/frame/BorderWidths.idl>
+
+
+
+ module com { module sun { module star { module frame {
+
+/** allows to listen to border resize events of a controller.
+ */
+interface XBorderResizeListener: com::sun::star::lang::XEventListener
+{
+ /** notifies the listener that the controller's border widths have been
+ changed.
+
+ @param Object
+ reference to the object representing the controller
+
+ @param NewSize
+ the new widths of the controller's border
+ */
+ void borderWidthsChanged( [in] ::com::sun::star::uno::XInterface Object,
+ [in] BorderWidths NewSize );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XBrowseHistoryRegistry.idl b/offapi/com/sun/star/frame/XBrowseHistoryRegistry.idl
new file mode 100644
index 000000000..d75f2df4b
--- /dev/null
+++ b/offapi/com/sun/star/frame/XBrowseHistoryRegistry.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_frame_XBrowseHistoryRegistry_idl__
+#define __com_sun_star_frame_XBrowseHistoryRegistry_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+
+
+
+ module com { module sun { module star { module frame {
+
+/** @deprecated
+ */
+published interface XBrowseHistoryRegistry: com::sun::star::uno::XInterface
+{
+ /** @deprecated
+ */
+ void updateViewData( [in] any Value );
+
+ /** @deprecated
+ */
+ void createNewEntry(
+ [in] string URL,
+ [in] sequence<com::sun::star::beans::PropertyValue> Arguments,
+ [in] string Title);
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XComponentLoader.idl b/offapi/com/sun/star/frame/XComponentLoader.idl
new file mode 100644
index 000000000..81c25360b
--- /dev/null
+++ b/offapi/com/sun/star/frame/XComponentLoader.idl
@@ -0,0 +1,168 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XComponentLoader_idl__
+#define __com_sun_star_frame_XComponentLoader_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/io/IOException.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+
+module com { module sun { module star { module frame {
+
+/** this is a simple interface to load components by a URL into a
+ frame environment
+
+ @see Desktop
+ @see Frame
+ @see XFrame
+ */
+published interface XComponentLoader: com::sun::star::uno::XInterface
+{
+ /** loads a component specified by a URL into the specified
+ new or existing frame.
+
+ @param URL
+ specifies the URL of the document to load
+
+ <p>
+ To create new documents, use "private:factory/scalc", "private:factory/swriter", etc.
+ Other special protocols (e.g. "slot:", ".uno") are not allowed and raise
+ a com::sun::star::lang::IllegalArgumentException.
+ </p>
+
+ @param TargetFrameName
+ specifies the name of the frame to view the document in
+
+ <p>
+ If a frame with the specified name already exists, it is used, otherwise it
+ is created. There exist some special targets which never can be used
+ as real frame names:
+ <table border=1>
+ <tr>
+ <td><strong>"_blank"</strong></td>
+ <td>always creates a new frame</td>
+ </tr>
+ <tr>
+ <td><strong>"_default"</strong></td>
+ <td>special UI functionality<br>(e.g. detecting of already loaded documents, using of empty frames of creating of new top frames as fallback)</td>
+ </tr>
+ <tr>
+ <td><strong>"_self", ""(!)</strong></td>
+ <td>means frame himself</td>
+ </tr>
+ <tr>
+ <td><strong>"_parent"</strong></td>
+ <td>address direct parent of frame</td>
+ </tr>
+ <tr>
+ <td><strong>"_top"</strong></td>
+ <td>indicates top frame of current path in tree</td>
+ </tr>
+ <tr>
+ <td><strong>"_beamer"</strong></td>
+ <td>means special sub frame</td>
+ </tr>
+ </table>
+
+ @param SearchFlags
+ use the values of FrameSearchFlag to specify
+ how to find the specified <var>TargetFrameName</var>
+
+ <p>
+ Note: These flags are optional ones and will be used for non special
+ target names only.
+ </p>
+
+ @param Arguments
+ these arguments specify component or filter specific behavior
+
+ <p>
+ For example, "ReadOnly" with a boolean value specifies whether
+ the document is opened read-only. "FilterName" specifies the
+ component type to create and the filter to use, for example:
+ "Text - CSV". For more information see
+ com::sun::star::document::MediaDescriptor.
+ </p>
+
+ @return
+ a com::sun::star::lang::XComponent for successfully loaded
+ documents or
+ <br>
+ `NULL`if it failed
+
+ <p>
+ This interface is a generic one and can be used to start further requests on
+ loaded document or control the lifetime of it (means dispose() it after using).
+ The real document service behind this interface can be one of follow three ones:
+ <ul>
+ <li>
+ com::sun::star::awt::XWindow for simple components<br/>
+ Should be used for viewable components only. It is not allowed to dispose
+ it after use directly, because the frame containing the component is its owner.
+ Because the frame object is not accessible through the interface too,
+ only an interacting user can do this by closing the frame's window.
+ </li>
+ <li>
+ XController for richer components<br/>
+ Should be used for real editable components which doesn't need a model.
+ It is not allowed to dispose it after use directly, because the frame
+ containing the component is its owner. Here the object can be disposed
+ by disposing the frame, that the XController::getFrame()
+ method of the controller returns. But for visible components the controller
+ should be asked for permission by calling XController::suspend() before.
+ </li>
+ <li>
+ XModel for full featured components<br/>
+ A model that in general can be shared between several view/controller pairs,
+ does not have an explicit owner. Every view and also the component that
+ loaded the document may consider itself as an owner.
+ Simply calling com::sun::star::lang::XComponent::dispose() on this model may
+ cause problems, if some members of the "owner community" are currently
+ busy working on the model. These problems are handled by explicit closing
+ negotiations through the interface com::sun::star::util::XCloseable.
+ Direct dispose of the model is allowed only, if this special interface doesn't exist.
+ </li>
+ </ul>
+ </p>
+
+ @throws com::sun::star::io::IOException
+ when <var>URL</var> couldn't be found or was corrupt
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ when given parameters doesn't perform the specification
+ */
+ com::sun::star::lang::XComponent loadComponentFromURL(
+ [in] string URL,
+ [in] string TargetFrameName,
+ [in] long SearchFlags,
+ [in] sequence<com::sun::star::beans::PropertyValue> Arguments)
+ raises( com::sun::star::io::IOException,
+ com::sun::star::lang::IllegalArgumentException );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XComponentRegistry.idl b/offapi/com/sun/star/frame/XComponentRegistry.idl
new file mode 100644
index 000000000..2397454f9
--- /dev/null
+++ b/offapi/com/sun/star/frame/XComponentRegistry.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_frame_XComponentRegistry_idl__
+#define __com_sun_star_frame_XComponentRegistry_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Uik.idl>
+
+
+
+ module com { module sun { module star { module frame {
+
+/** @deprecated
+ */
+published interface XComponentRegistry: com::sun::star::uno::XInterface
+{
+ /** @deprecated
+ */
+ com::sun::star::uno::XInterface createObject(
+ [in] string URL,
+ [in] com::sun::star::uno::Uik Uik );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XConfigManager.idl b/offapi/com/sun/star/frame/XConfigManager.idl
new file mode 100644
index 000000000..c0e894aaa
--- /dev/null
+++ b/offapi/com/sun/star/frame/XConfigManager.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_frame_XConfigManager_idl__
+#define __com_sun_star_frame_XConfigManager_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/beans/XPropertyChangeListener.idl>
+
+
+ module com {
+ module sun {
+ module star {
+ module frame {
+
+/** @deprecated
+ */
+published interface XConfigManager: com::sun::star::uno::XInterface
+{
+ /** add a listener to notify changes on well known variables
+ inside the real implementation
+
+ <p>
+ Listener can update his text values by calling XConfigManager::substituteVariables()
+ again. If <var>KeyName</var> specifies a group of keys, the listener gets one notify for each subkey.
+ </p>
+
+ @param KeyName
+ specifies variable about listener will be informed on changes
+
+ @param Listener
+ listener which will be informed
+
+ @see XConfigManager::removePropertyChangeListener()
+
+ @deprecated
+ */
+ void addPropertyChangeListener(
+ [in] string KeyName,
+ [in] com::sun::star::beans::XPropertyChangeListener Listener );
+
+ /** remove a registered listener
+
+ @param KeyName
+ specifies variable on which listener was registered
+
+ @param Listener
+ listener which will be deregistered
+
+ @see XConfigManager::addPropertyChangeListener()
+
+ @deprecated
+ */
+ void removePropertyChangeListener(
+ [in] string KeyName,
+ [in] com::sun::star::beans::XPropertyChangeListener Listener);
+
+ /** substitute variables (place holder) inside given parameter <var>Text</var>
+
+ <p>
+ The value of <var>Text</var> is NOT changed.
+ </p>
+
+ @param Text
+ original value including variables
+
+ @return
+ changed copy of <var>Text</var> without any variables
+ */
+ string substituteVariables( [in] string Text );
+
+ /** was designed for additional functionality for interface com::sun::star::registry::XSimpleRegistry
+ and make no sense without that
+ @deprecated
+ */
+ void flush();
+
+}; //XConfigManager
+}; //frame
+}; //star
+}; //sun
+}; //com
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XControlNotificationListener.idl b/offapi/com/sun/star/frame/XControlNotificationListener.idl
new file mode 100644
index 000000000..09eedf661
--- /dev/null
+++ b/offapi/com/sun/star/frame/XControlNotificationListener.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_frame_XControlNotificationListener_idl__
+#define __com_sun_star_frame_XControlNotificationListener_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/frame/ControlEvent.idl>
+
+
+module com { module sun { module star { module frame {
+
+
+/** Must be implemented by dispatch objects which want to get
+ notifications about control events.
+
+ @since OOo 2.0.3
+ */
+interface XControlNotificationListener : com::sun::star::uno::XInterface
+{
+ /** notifies that a control event has happened
+
+ @param Event
+ contains the event information
+ */
+ void controlEvent( [in] ControlEvent Event );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XController.idl b/offapi/com/sun/star/frame/XController.idl
new file mode 100644
index 000000000..0e07f60ee
--- /dev/null
+++ b/offapi/com/sun/star/frame/XController.idl
@@ -0,0 +1,107 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XController_idl__
+#define __com_sun_star_frame_XController_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+
+
+ module com { module sun { module star { module frame {
+
+ published interface XFrame;
+ published interface XModel;
+
+/** With this interface, components viewed in a Frame can serve
+ events (by supplying dispatches).
+
+ @see XFrame
+ @see com::sun::star::awt::XWindow
+ @see XModel
+ */
+published interface XController: com::sun::star::lang::XComponent
+{
+ /** is called to attach the controller with its managing frame.
+
+ @param Frame
+ the new owner frame of this controller
+ */
+ void attachFrame( [in] XFrame Frame );
+
+ /** is called to attach the controller to a new model.
+
+ @param Model
+ the new model for this controller
+
+ @return
+ `TRUE` If attaching was successful
+ <br>
+ `FALSE` Otherwise
+ */
+ boolean attachModel( [in] XModel Model );
+
+ /** is called to prepare the controller for closing the view
+
+ @param Suspend
+ `TRUE` Force the controller to suspend his work
+ `FALSE` Try to reactivate the controller
+
+ @return
+ `TRUE` If request was accepted and successfully finished
+ <br>
+ `FALSE` Otherwise
+ */
+ boolean suspend( [in] boolean Suspend );
+
+ /** provides access to current view status
+
+ @returns
+ set of data that can be used to restore the current view status
+ at later time by using XController::restoreViewData()
+ */
+ any getViewData();
+
+ /** restores the view status using the data gotten from a previous call to
+ XController::getViewData().
+
+ @param Data
+ set of data to restore it
+ */
+ void restoreViewData( [in] any Data );
+
+ /** provides access to currently attached model
+
+ @returns
+ the currently attached model.
+ */
+ XModel getModel();
+
+ /** provides access to owner frame of this controller
+
+ @returns
+ the frame containing this controller.
+ */
+ XFrame getFrame();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XController2.idl b/offapi/com/sun/star/frame/XController2.idl
new file mode 100644
index 000000000..23c64f1a1
--- /dev/null
+++ b/offapi/com/sun/star/frame/XController2.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_frame_XController2_idl__
+#define __com_sun_star_frame_XController2_idl__
+
+#include <com/sun/star/frame/XController.idl>
+#include <com/sun/star/awt/XWindow.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/ui/XSidebarProvider.idl>
+
+
+module com { module sun { module star { module frame {
+
+
+/** extends the XController interface
+
+ @since OOo 3.0
+*/
+interface XController2 : XController
+{
+ /** denotes the &quot;root window&quot; of the controller.
+
+ <p>If the controller is plugged into a frame, this window acts as the
+ frame's <code>ComponentWindow</code>.</p>
+
+ @see XFrame
+ */
+ [readonly, attribute] ::com::sun::star::awt::XWindow ComponentWindow;
+
+ /** specifies the view name of the controller.
+
+ <p>A view name is a logical name, which can be used to create views of the same
+ type. The name is meaningful only in conjunction with XModel2::createViewController()
+ - if it's passed there, a view/controller pair of the same type will be created.</p>
+ */
+ [readonly, attribute] string ViewControllerName;
+
+ /** denotes the arguments used to create the instance.
+
+ <p>Usually, controllers are created via XModel2::createViewController(), where the
+ caller can pass not only a controller name, but also arguments parameterizing the to-be-created instance.
+ Those arguments used at creation time can subsequently be retrieved using the <code>CreationArguments</code>
+ member.</p>
+ */
+ [readonly, attribute] sequence< ::com::sun::star::beans::PropertyValue >
+ CreationArguments;
+
+ /** get the sidebar if exists
+ @since LibreOffice 5.1
+ */
+ ::com::sun::star::ui::XSidebarProvider getSidebar();
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XControllerBorder.idl b/offapi/com/sun/star/frame/XControllerBorder.idl
new file mode 100644
index 000000000..1254d54a3
--- /dev/null
+++ b/offapi/com/sun/star/frame/XControllerBorder.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_frame_XControllerBorder_idl__
+#define __com_sun_star_frame_XControllerBorder_idl__
+
+#include <com/sun/star/frame/BorderWidths.idl>
+#include <com/sun/star/frame/XBorderResizeListener.idl>
+#include <com/sun/star/awt/Rectangle.idl>
+
+
+
+ module com { module sun { module star { module frame {
+
+/** allows to retrieve information about controller's border.
+ */
+interface XControllerBorder: com::sun::star::uno::XInterface
+{
+ /** allows to get current border sizes of the document.
+
+ @return
+ BorderWidths representing the sizes of border
+ */
+ BorderWidths getBorder();
+
+ /** adds the specified listener to receive events about controller's
+ border resizing.
+ */
+ void addBorderResizeListener( [in] XBorderResizeListener xListener );
+
+ /** removes the specified listener.
+ */
+ void removeBorderResizeListener( [in] XBorderResizeListener xListener );
+
+ /** allows to get suggestion for resizing of object area surrounded
+ by the border.
+
+ <p> If the view is going to be resized/moved this method can be
+ used to get suggested object area. Pixels are used as units.
+ </p>
+
+ @return
+ suggestion for the resizing
+ */
+ ::com::sun::star::awt::Rectangle queryBorderedArea(
+ [in] ::com::sun::star::awt::Rectangle aPreliminaryRectangle );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XDesktop.idl b/offapi/com/sun/star/frame/XDesktop.idl
new file mode 100644
index 000000000..b25fdcdaf
--- /dev/null
+++ b/offapi/com/sun/star/frame/XDesktop.idl
@@ -0,0 +1,136 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XDesktop_idl__
+#define __com_sun_star_frame_XDesktop_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/frame/XTerminateListener.idl>
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/frame/XFrame.idl>
+
+
+
+ module com { module sun { module star { module frame {
+
+/** This is the main interface of a desktop service.
+
+ <p>
+ A desktop is an environment for components which can be viewed in
+ frames. Frames are like frames in HTML framesets. This does not imply
+ that a desktop can handle framesets; the frames may be top frames
+ only.
+ </p>
+
+ @see Desktop
+ */
+published interface XDesktop: com::sun::star::uno::XInterface
+{
+ /** tries to terminate the desktop.
+
+ <p>
+ First, every terminate listener is called by his XTerminateListener::queryTermination() method.
+ Throwing of a TerminationVetoException can break the termination process and the listener how has
+ done that will be the new "controller" of the desktop lifetime. He should try to terminate it by himself after
+ his own processes will be finished.
+ If nobody disagree with the termination request, every listener will be called by his
+ XTerminateListener::notifyTermination() method.
+ </p>
+
+ @return
+ `TRUE` If all listeners agree with this request
+ <br>
+ `FALSE` Otherwise
+
+ @see XTerminateListener
+ @see TerminationVetoException
+ */
+ boolean terminate();
+
+ /** registers an event listener to the desktop, which is called
+ when the desktop is queried to terminate, and when it really
+ terminates.
+
+ @param Listener
+ listener for termination events
+
+ @see XDesktop::removeTerminateListener()
+ */
+ void addTerminateListener( [in] XTerminateListener Listener );
+
+ /** unregisters an event listener for termination events.
+
+ @param Listener
+ listener which wishes to be deregistered
+
+ @see XDesktop::addTerminateListener()
+ */
+ void removeTerminateListener( [in] XTerminateListener Listener );
+
+ /** provides read access to collection of all currently loaded components
+ inside the frame tree
+
+ <p>
+ The component is, by definition, the model of the control which
+ is loaded into a frame, or if no model exists, into the control
+ itself.
+ The service Components which is available from this
+ method is a collection of all components of the desktop which are open
+ within a frame of the desktop.
+ </p>
+
+ @returns
+ the collection of all components
+
+ @see Components
+ */
+ com::sun::star::container::XEnumerationAccess getComponents();
+
+ /** provides read access to the component inside the tree which has the UI focus
+
+ <p>
+ Normally, the component is the model part of the
+ active component. If no model exists it is the active controller
+ (view) itself.
+ </p>
+
+ @returns
+ the component within the desktop environment which has the UI focus.
+
+ @see XDesktop::getCurrentFrame()
+ */
+ com::sun::star::lang::XComponent getCurrentComponent();
+
+ /** provides read access to the frame which contains the current component
+
+ @returns
+ the frame of the component which has the
+ UI focus within this desktop environment
+
+ @see XDesktop::getCurrentComponent()
+ */
+ XFrame getCurrentFrame();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XDesktop2.idl b/offapi/com/sun/star/frame/XDesktop2.idl
new file mode 100644
index 000000000..6fe69c862
--- /dev/null
+++ b/offapi/com/sun/star/frame/XDesktop2.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_frame_XDesktop2_idl__
+#define __com_sun_star_frame_XDesktop2_idl__
+
+#include <com/sun/star/frame/XComponentLoader.idl>
+#include <com/sun/star/frame/XDesktop.idl>
+#include <com/sun/star/frame/XDispatchProvider.idl>
+#include <com/sun/star/frame/XDispatchProviderInterception.idl>
+#include <com/sun/star/frame/XFrame.idl>
+#include <com/sun/star/frame/XFramesSupplier.idl>
+#include <com/sun/star/task/XStatusIndicatorFactory.idl>
+
+
+module com { module sun { module star { module frame {
+
+/**
+ @since LibreOffice 4.1
+*/
+published interface XDesktop2
+{
+ /** provides access to dispatchers for the frame.
+
+ <p>
+ What kind of URLs a frame accepts in the calls to XDispatchProvider::queryDispatch(),
+ and how the returned dispatcher handles dispatches is completely implementation dependent
+ (though of course the restrictions of XDispatchProvider must be met).
+ Frame implementations may (optionally) support special targets in the call to
+ XDispatchProvider::queryDispatch().
+ Such special targets are passed as target frame name. They may, in addition,
+ require special frame search flags (see FrameSearchFlag), or,
+ in opposite, limit the set of allowed flags.<br>
+ Common special targets include:
+ <ul>
+ <li><b>_blank</b><br> is used to create a new frame when dispatching the URL.</li>
+ <li><b>_default</b><br> is used to recycle empty or create a new frame when dispatching the URL.</li>
+ <li><b>_self</b><br> forces the frame to dispatch the URL into itself. ("" means the same)</li>
+ <li><b>_parent</b><br> dispatches the URL into the parent frame.</li>
+ <li><b>_top</b><br> dispatches the URL into the top level frame, the frame where this is invoked belongs to.</li>
+ </ul>
+ </p>
+
+ @see XDispatch
+ @see XFrame::findFrame()
+ */
+ interface XDispatchProvider;
+
+ /** supports interception mechanism for dispatched URLs
+
+ <p>
+ Registered objects can intercept, suppress or reroute dispatched URLs.
+ If they support another interface too (XInterceptorInfo)
+ it's possible to perform it by directly calling of right interceptor without
+ using list of all registered ones.
+ </p>
+ */
+ interface XDispatchProviderInterception;
+
+ /** provides access to sub frames within this frame
+ */
+ interface XFramesSupplier;
+
+ /** regulate life time of desktop environment and support high level
+ access to components of sub frame tree
+ */
+ interface XDesktop;
+
+ /** supports simple API for loading components into the frame environment
+ */
+ interface XComponentLoader;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XDesktopTask.idl b/offapi/com/sun/star/frame/XDesktopTask.idl
new file mode 100644
index 000000000..bdb6a937b
--- /dev/null
+++ b/offapi/com/sun/star/frame/XDesktopTask.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_frame_XDesktopTask_idl__
+#define __com_sun_star_frame_XDesktopTask_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/awt/XWindow.idl>
+
+
+
+ module com { module sun { module star { module frame {
+
+/** use XFrame instead of this
+ @deprecated
+ */
+published interface XDesktopTask: com::sun::star::lang::XComponent
+{
+ /** use com::sun::star::lang::XInitialization instead.
+
+ @deprecated
+ */
+ void initialize( [in] com::sun::star::awt::XWindow TaskWindow );
+
+ /** use com::sun::star::util::XCloseable
+ or com::sun::star::lang::XComponent::dispose()
+ instead.
+
+ @deprecated
+ */
+ boolean close();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XDispatch.idl b/offapi/com/sun/star/frame/XDispatch.idl
new file mode 100644
index 000000000..cbd7bcb2e
--- /dev/null
+++ b/offapi/com/sun/star/frame/XDispatch.idl
@@ -0,0 +1,156 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XDispatch_idl__
+#define __com_sun_star_frame_XDispatch_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/util/URL.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/frame/XStatusListener.idl>
+
+
+
+module com { module sun { module star { module frame {
+
+/** serves state information of objects which can be connected to
+ controls (e.g. toolbox controls).
+
+ <p>
+ Each state change is to be broadcasted to all registered
+ status listeners. The first notification should be performed
+ synchronously from XDispatch::addStatusListener();
+ if not, controls may flicker. State listener must be aware of this
+ synchronous notification.
+ </p>
+
+ <p>
+ The state consists of enabled/disabled and a short descriptive text
+ of the function (e.g. "undo insert character"). It is to be broadcasted
+ whenever this state changes or the control should re-get the value
+ for the URL it is connected to. Additionally, a context-switch-event
+ is to be broadcasted whenever the object may be out of scope,
+ to force the state listener to requery the XDispatch.
+ </p>
+
+ @see Frame
+ @see FeatureStateEvent
+ */
+published interface XDispatch: com::sun::star::uno::XInterface
+{
+ /** dispatches (executes) a URL
+
+ <p>
+ It is only allowed to dispatch URLs for which this XDispatch
+ was explicitly queried. Additional arguments ("'#..." or "?...") are allowed.
+ </p>
+
+ @param URL
+ fully parsed URL describing the feature which should be dispatched (=executed)
+
+ @param Arguments
+ optional arguments for this request
+ (see com::sun::star::document::MediaDescriptor)
+ They depend on the real implementation of the dispatch object.
+
+ Controlling synchronous or asynchronous mode happens via
+ readonly boolean Flag SynchronMode
+
+ <p>
+ By default, and absent any arguments, "SynchronMode" is
+ considered `FALSE` and the execution is performed
+ asynchronously (i.e. dispatch() returns immediately, and
+ the action is performed in the background). But when set
+ to `TRUE`, dispatch() processes the request synchronously
+ - this call will block until it has finished.
+ </p>
+
+ <i>some code for a click-handler (Java)</i>
+ @code{.java}
+ void myOnClick(String sURL,String sTargetFrame,
+ com.sun.star.beans.PropertyValue[] lArguments)
+ {
+ com.sun.star.util.URL[] aURL = new com.sun.star.util.URL[1];
+ aURL[0] = new com.sun.star.util.URL();
+ aURL[0].Complete = sURL;
+
+ com.sun.star.util.XURLTransformer xParser =
+ (com.sun.star.util.XURLTransformer)UnoRuntime.queryInterface(
+ com.sun.star.util.XURLTransformer.class,
+ mxServiceManager.createInstance("com.sun.star.util.URLTransformer"));
+
+ xParser.parseStrict(aURL);
+
+ com.sun.star.frame.XDispatch xDispatcher =
+ mxFrame.queryDispatch(aURL[0], sTargetFrame, com.sun.star.frame.FrameSearchFlag.GLOBAL);
+
+ if(xDispatcher!=null)
+ xDispatcher.dispatch(aURL[0], lArguments);
+ }
+ @endcode
+ */
+ void dispatch(
+ [in] com::sun::star::util::URL URL,
+ [in] sequence<com::sun::star::beans::PropertyValue> Arguments);
+
+ /** registers a listener of a control for a specific URL
+ at this object to receive status events.
+
+ <p>
+ It is only allowed to register URLs for which this XDispatch
+ was explicitly queried. Additional arguments ("#..." or "?...") will be ignored.
+ </p>
+ Note: Notifications can't be guaranteed! This will be a part of interface XNotifyingDispatch.
+
+ @param Control
+ listener that wishes to be informed
+
+ @param URL
+ the URL (without additional arguments) the listener wishes to be registered for.
+ A listener can be registered for more than one URL at the same time.
+
+ @see XStatusListener
+ @see XDispatch::removeStatusListener()
+ */
+ void addStatusListener(
+ [in] XStatusListener Control,
+ [in] com::sun::star::util::URL URL);
+
+ /** unregisters a listener from a control.
+
+ @param Control
+ listener that wishes to be unregistered
+
+ @param URL
+ URL the listener was registered for.
+ Additional arguments ("#..." or "?...") will be ignored.
+
+ @see XStatusListener
+ @see XDispatch::addStatusListener()
+ */
+ void removeStatusListener(
+ [in] XStatusListener Control,
+ [in] com::sun::star::util::URL URL);
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XDispatchHelper.idl b/offapi/com/sun/star/frame/XDispatchHelper.idl
new file mode 100644
index 000000000..a51d6a8ef
--- /dev/null
+++ b/offapi/com/sun/star/frame/XDispatchHelper.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_frame_XDispatchHelper_idl__
+#define __com_sun_star_frame_XDispatchHelper_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/frame/XDispatchProvider.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/** provides an easy way to dispatch functions useful at UI level.
+
+ @see XDispatch
+
+ @since OOo 1.1.2
+ */
+published interface XDispatchHelper : com::sun::star::uno::XInterface
+{
+ /** executes the dispatch.
+
+ Listeners are not supported here!
+
+ @param DispatchProvider
+ points to the provider, which should be asked for valid dispatch objects
+
+ @param URL
+ describes the feature which should be supported by internally used dispatch object
+
+ @param TargetFrameName
+ specifies the frame which should be the target for this request
+
+ @param SearchFlags
+ optional search parameter for finding the frame if no special
+ <var>TargetFrameName</var> was used
+
+ @param Arguments
+ optional arguments for this request
+ They depend on the real implementation of the dispatch object.
+
+ @return
+ A possible result of the executed internal dispatch.
+ The information behind this `any` depends on the dispatch!
+
+ @see XDispatch::dispatch()
+ */
+
+ any executeDispatch(
+ [in] XDispatchProvider DispatchProvider,
+ [in] string URL,
+ [in] string TargetFrameName,
+ [in] long SearchFlags,
+ [in] sequence< com::sun::star::beans::PropertyValue > Arguments );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XDispatchInformationProvider.idl b/offapi/com/sun/star/frame/XDispatchInformationProvider.idl
new file mode 100644
index 000000000..ced5ce681
--- /dev/null
+++ b/offapi/com/sun/star/frame/XDispatchInformationProvider.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_frame_XDispatchInformationProvider_idl__
+#define __com_sun_star_frame_XDispatchInformationProvider_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/frame/DispatchInformation.idl>
+#include <com/sun/star/container/NoSuchElementException.idl>
+
+
+module com { module sun { module star { module frame {
+
+/** provides information about supported commands
+
+ <p>
+ This interface can be used to retrieve additional information about
+ supported commands. This interface is normally used by configuration
+ implementations to retrieve all supported commands.
+ A dispatch information provider is normally supported by a
+ Frame service.
+ </p>
+
+ @see Frame
+
+ @since OOo 2.0
+ */
+published interface XDispatchInformationProvider: com::sun::star::uno::XInterface
+{
+ /** returns all supported command groups.
+
+ @returns
+ a sequence of supported command groups.
+
+ @see CommandGroup
+ */
+ sequence < short > getSupportedCommandGroups();
+
+ /** returns additional information about supported commands of a
+ given command group.
+
+ @param CommandGroup
+ specifies a command group.
+
+ @returns
+ name and group name of every command supported. A group ID which is
+ not supported returns an empty com::sun::star::uno::Sequence.
+ */
+ sequence < DispatchInformation > getConfigurableDispatchInformation( [in] short CommandGroup );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XDispatchProvider.idl b/offapi/com/sun/star/frame/XDispatchProvider.idl
new file mode 100644
index 000000000..4b3c806a4
--- /dev/null
+++ b/offapi/com/sun/star/frame/XDispatchProvider.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_frame_XDispatchProvider_idl__
+#define __com_sun_star_frame_XDispatchProvider_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/frame/XDispatch.idl>
+#include <com/sun/star/util/URL.idl>
+#include <com/sun/star/frame/DispatchDescriptor.idl>
+
+
+
+ module com { module sun { module star { module frame {
+
+/** provides XDispatch interfaces for certain functions which
+ are useful at the UI.
+
+ @see XDispatch
+ */
+published interface XDispatchProvider: com::sun::star::uno::XInterface
+{
+ /** searches for an XDispatch for the specified URL within
+ the specified target frame.
+
+ @param URL
+ describe the feature which should be supported by returned dispatch object
+
+ @param TargetFrameName
+ specify the frame which should be the target for this request
+
+ @param SearchFlags
+ optional search parameter for finding the frame if no special
+ <var>TargetFrameName</var> was used
+
+ @return
+ the dispatch object which provides queried functionality
+ <br>
+ or `NULL` if no dispatch object is available
+
+ @see XFrame::findFrame()
+ @see XDispatchProvider::queryDispatches()
+ */
+ XDispatch queryDispatch(
+ [in] com::sun::star::util::URL URL,
+ [in] string TargetFrameName,
+ [in] long SearchFlags );
+
+ /** actually this method is redundant to XDispatchProvider::queryDispatch()
+ to avoid multiple remote calls.
+
+ @param Requests
+ list of dispatch requests
+
+ @returns
+ multiple dispatch interfaces for the specified descriptors at once
+
+ <p>
+ It's not allowed to pack it - because every request must match
+ to its real result. Means: don't delete `NULL` entries inside this list.
+ </p>
+ */
+ sequence< XDispatch > queryDispatches(
+ [in] sequence<DispatchDescriptor> Requests);
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XDispatchProviderInterception.idl b/offapi/com/sun/star/frame/XDispatchProviderInterception.idl
new file mode 100644
index 000000000..a5ffb81d6
--- /dev/null
+++ b/offapi/com/sun/star/frame/XDispatchProviderInterception.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_frame_XDispatchProviderInterception_idl__
+#define __com_sun_star_frame_XDispatchProviderInterception_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/frame/XDispatchProviderInterceptor.idl>
+
+
+
+ module com { module sun { module star { module frame {
+
+/** makes it possible to register an XDispatchProvider which
+ intercepts all requests of XDispatch to this instance.
+
+ <p>
+ Note: Nobody can guarantee order of used interceptor objects if more than ones exist.
+ Later registered ones will be used at first. But it's possible to increase the chance
+ for that by providing the optional interface XInterceptorInfo.
+ </p>
+
+ @see XDispatchProvider
+ @see XDispatch
+ @see XInterceptorInfo
+ */
+published interface XDispatchProviderInterception: com::sun::star::uno::XInterface
+{
+ /** registers an XDispatchProviderInterceptor, which will become
+ the first interceptor in the chain of registered interceptors.
+
+ @param Interceptor
+ the interceptor which wishes to be registered
+
+ @see XDispatchProviderInterception::releaseDispatchProviderInterceptor()
+ */
+ void registerDispatchProviderInterceptor( [in] XDispatchProviderInterceptor Interceptor );
+
+ /** removes an XDispatchProviderInterceptor which was previously registered
+
+ <p>
+ The order of removals is arbitrary. It is not necessary to remove the last
+ registered interceptor first.
+ </p>
+
+ @param Interceptor
+ the interceptor which wishes to be unregistered
+
+ @see XDispatchProviderInterception::registerDispatchProviderInterceptor()
+ */
+ void releaseDispatchProviderInterceptor( [in] XDispatchProviderInterceptor Interceptor );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XDispatchProviderInterceptor.idl b/offapi/com/sun/star/frame/XDispatchProviderInterceptor.idl
new file mode 100644
index 000000000..00e717764
--- /dev/null
+++ b/offapi/com/sun/star/frame/XDispatchProviderInterceptor.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_frame_XDispatchProviderInterceptor_idl__
+#define __com_sun_star_frame_XDispatchProviderInterceptor_idl__
+
+#include <com/sun/star/frame/XDispatchProvider.idl>
+
+
+
+ module com { module sun { module star { module frame {
+
+/** makes it possible to intercept request of XDispatch.
+
+ <p>
+ Can be registered as an interceptor by using interface XDispatchProviderInterception.
+ </p>
+
+ @see XDispatchProviderInterception
+ */
+published interface XDispatchProviderInterceptor: XDispatchProvider
+{
+ /** access to the slave XDispatchProvider of this interceptor
+
+ @returns
+ the slave of this interceptor
+
+ @see XDispatchProviderInterceptor::setSlaveDispatchProvider()
+ */
+ XDispatchProvider getSlaveDispatchProvider();
+
+ /** sets the slave XDispatchProvider to which calls to
+ XDispatchProvider::queryDispatch() can be forwarded
+ under control of this dispatch provider.
+
+ @param NewDispatchProvider
+ the new slave of this interceptor
+
+ @see XDispatchProviderInterceptor::getSlaveDispatchProvider()
+ */
+ void setSlaveDispatchProvider( [in] XDispatchProvider NewDispatchProvider );
+
+ /** access to the master XDispatchProvider of this interceptor
+
+ @returns
+ the master of this interceptor
+
+ @see XDispatchProviderInterceptor::setMasterDispatchProvider()
+ */
+ XDispatchProvider getMasterDispatchProvider();
+
+ /** sets the master XDispatchProvider, which may forward
+ calls to its XDispatchProvider::queryDispatch()
+ to this dispatch provider.
+
+ @param NewSupplier
+ the master of this interceptor
+
+ @see XDispatchProviderInterceptor::getMasterDispatchProvider()
+ */
+ void setMasterDispatchProvider( [in] XDispatchProvider NewSupplier );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XDispatchRecorder.idl b/offapi/com/sun/star/frame/XDispatchRecorder.idl
new file mode 100644
index 000000000..8b0071fef
--- /dev/null
+++ b/offapi/com/sun/star/frame/XDispatchRecorder.idl
@@ -0,0 +1,124 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XDispatchRecorder_idl__
+#define __com_sun_star_frame_XDispatchRecorder_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/util/URL.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+
+
+module com { module sun { module star { module frame {
+
+ published interface XFrame;
+
+/** provides recording functionality of dispatches
+
+ <p>
+ With such recorder it will be possible to record requests of type
+ XDispatch by using additional interface
+ XRecordableDispatch. The result of that will be a
+ a script which can be used to start the dispatch at later time again.
+ Such recorder objects are available on a XDispatchRecorderSupplier
+ which is provided by the Frame service.
+ </p>
+
+ @see Frame
+ @see XDispatchRecorderSupplier
+
+ @since OOo 1.1.2
+ */
+published interface XDispatchRecorder: com::sun::star::uno::XInterface
+{
+ /** initializes the recorder by passing the frame for which all
+ macro statements shall be recorded
+
+ @param Frame
+ it includes the document on which such requests shall be recorded
+ */
+ void startRecording( [in] com::sun::star::frame::XFrame Frame );
+
+ /** stops the recording process
+
+ <p>
+ Must be called in pairs with XDispatchRecorder::startRecording().
+ </p>
+
+ @attention The recorder uses this method to control the lifetime of its internal
+ used macro buffer. It will be cleared here. So the macro must be fetched
+ before endRecording() is called.
+
+ @see getRecordedMacro()
+ */
+ void endRecording();
+
+ /** records a single dispatch call identified by its command URL
+
+ @param URL
+ the full parsed command URL
+
+ @param Arguments
+ optional arguments for the command URL
+ <br>
+ (see com::sun::star::document::MediaDescriptor
+ for further information)
+ */
+ void recordDispatch(
+ [in] com::sun::star::util::URL URL,
+ [in] sequence<com::sun::star::beans::PropertyValue> Arguments);
+
+ /** records a single dispatch call identified by its command URL, but
+ comments it out
+
+ <p>
+ This way calls that failed on execution can be documented.
+ </p>
+
+ @param URL
+ the full parsed command URL
+
+ @param Arguments
+ optional arguments for the command URL
+ <br>
+ (see com::sun::star::document::MediaDescriptor
+ for further information)
+ */
+ void recordDispatchAsComment(
+ [in] com::sun::star::util::URL URL,
+ [in] sequence<com::sun::star::beans::PropertyValue> Arguments);
+
+ /** returns the recorded source code
+
+ <p>
+ This method must be used before endRecording() is called!
+ Otherwise the macro will be released.
+ </p>
+
+ @returns
+ the recorded data as a string which can be interpreted as a script
+ */
+ string getRecordedMacro();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XDispatchRecorderSupplier.idl b/offapi/com/sun/star/frame/XDispatchRecorderSupplier.idl
new file mode 100644
index 000000000..611fef027
--- /dev/null
+++ b/offapi/com/sun/star/frame/XDispatchRecorderSupplier.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_frame_XDispatchRecorderSupplier_idl__
+#define __com_sun_star_frame_XDispatchRecorderSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/frame/XDispatch.idl>
+#include <com/sun/star/frame/XDispatchRecorder.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/** provides access to the record mechanism of dispatches
+
+ <p>
+ With a XDispatchRecorder it's possible to record calls
+ of XDispatch::dispatch(). The recorded data (may a script)
+ can be used to automate recorded dispatch and start it at later time again.
+ This supplier provides access to the recorder and supports some functionality
+ to work with the macro recording mechanism in an easy manner.
+ </p>
+
+ @see XDispatchRecorder
+ @since OOo 1.1.2
+ */
+published interface XDispatchRecorderSupplier: com::sun::star::uno::XInterface
+{
+ /** set a dispatch recorder on this supplier
+
+ <p>
+ Setting of a new recorder make it possible to change recording mode.
+ May there can exist different implementations of a recorder (e.g. to
+ generate Java, Basic or other formats). Changing between local recording
+ inside one Frame or global one by using more than ones can be
+ forced too.
+ </p>
+
+ @param Recorder
+ the new recorder for this supplier
+ */
+ void setDispatchRecorder( [in] com::sun::star::frame::XDispatchRecorder Recorder );
+
+ /** provides access on the recorder of this supplier
+
+ <p>
+ Returned recorder can be used to record dispatches manually or to get
+ recorded data for further using e.g. saving. He is internally used too
+ due to the method XDispatchRecorderSupplier::dispatchAndRecord().
+ </p>
+
+ @returns
+ the dispatch recorder of this supplier
+
+ @see XDispatchRecorder
+ */
+ com::sun::star::frame::XDispatchRecorder getDispatchRecorder();
+
+ /** dispatch given URL and record it if recording is enabled
+
+ <p>
+ Parameter <var>Dispatcher</var> is used internally to make the dispatch.
+ If recording isn't enabled it will be a normal XDispatch::dispatch()
+ call. Otherwise follow algorithm is used:
+ <ul>
+ <li>If <var>Dispatcher</var> doesn't support the interface
+ XRecordableDispatch a normal dispatch() call
+ will be made and depend from the result state of that
+ the request will be recorded. In this case it's possible
+ to record the incoming parameter (<var>URL</var> and
+ <var>Arguments</var>) only. Parameters of internal processes
+ can't be recorded then and will be lost.
+ </li>
+ <li>If <var>Dispatcher</var> support the interface
+ XRecordableDispatch it will be used
+ to dispatch and record all necessary parameters of
+ the whole process.
+ </li>
+ </ul>
+ </p>
+
+ @see XRecordableDispatch
+ */
+ void dispatchAndRecord(
+ [in] com::sun::star::util::URL URL,
+ [in] sequence<com::sun::star::beans::PropertyValue> Arguments,
+ [in] XDispatch Dispatcher);
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XDispatchResultListener.idl b/offapi/com/sun/star/frame/XDispatchResultListener.idl
new file mode 100644
index 000000000..07e0bc334
--- /dev/null
+++ b/offapi/com/sun/star/frame/XDispatchResultListener.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_frame_XDispatchResultListener_idl__
+#define __com_sun_star_frame_XDispatchResultListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+#include <com/sun/star/frame/DispatchResultEvent.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/** listener for results of XNotifyingDispatch::dispatchWithNotification()
+
+ @see XNotifyingDispatch
+ */
+published interface XDispatchResultListener: com::sun::star::lang::XEventListener
+{
+ /** indicates finished dispatch
+
+ @param Result
+ contains the result of the dispatch action
+
+ @see DispatchResultEvent
+ */
+ void dispatchFinished( [in] DispatchResultEvent Result );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XDocumentTemplates.idl b/offapi/com/sun/star/frame/XDocumentTemplates.idl
new file mode 100644
index 000000000..ccac1af0f
--- /dev/null
+++ b/offapi/com/sun/star/frame/XDocumentTemplates.idl
@@ -0,0 +1,195 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XDocumentTemplates_idl__
+#define __com_sun_star_frame_XDocumentTemplates_idl__
+
+#include <com/sun/star/frame/XStorable.idl>
+#include <com/sun/star/ucb/XContent.idl>
+
+
+module com { module sun { module star { module frame {
+
+/** provides a high level API to organize document templates
+
+ <p>
+ Template information is saved as links to the original content
+ and organized in groups. This data should be persistent and can be
+ updated by calling special method XDocumentTemplates::update().
+ A real implementation of this interface can do that on top of
+ a ucb content provider. Method XDocumentTemplates::getContent()
+ force that.
+ </p>
+ */
+published interface XDocumentTemplates: com::sun::star::uno::XInterface
+{
+ /** provides access to the root of internal used hierarchy
+
+ <p>
+ This content can be used for accessing the groups directly.
+ </p>
+
+ @return
+ the ucb content for template configuration
+ */
+ com::sun::star::ucb::XContent getContent();
+
+ /** creates the template with the given name in the given group using the
+ data from the storable
+
+ @param GroupName
+ specifies the group
+
+ @param TemplateName
+ specifies the template
+
+ @param Storable
+ specifies the target
+
+ @return
+ `TRUE` if operation was successful
+ <br>
+ `FALSE` otherwise
+
+ @see XDocumentTemplates::addTemplate()
+ */
+ boolean storeTemplate(
+ [in] string GroupName,
+ [in] string TemplateName,
+ [in] XStorable Storable);
+
+ /** creates the template with the given name in the given group using the
+ given URL
+
+ @param GroupName
+ specifies the group
+
+ @param TemplateName
+ specifies the template
+
+ @param SourceURL
+ specifies the position of template
+
+ @return
+ `TRUE` if operation was successful
+ <br>
+ `FALSE` otherwise
+
+ @see XDocumentTemplates::storeTemplate()
+ */
+ boolean addTemplate(
+ [in] string GroupName,
+ [in] string TemplateName,
+ [in] string SourceURL);
+
+ /** remove a template from specified group
+
+ @param GroupName
+ specifies the group which include the template
+
+ @param TemplateName
+ specifies the template for delete
+
+ @return
+ `TRUE` if operation was successful
+ <br>
+ `FALSE` otherwise
+ */
+ boolean removeTemplate(
+ [in] string GroupName,
+ [in] string TemplateName);
+
+ /** rename a template inside specified group
+
+ @param GroupName
+ specifies the group which include the template
+
+ @param OldTemplateName
+ specifies the template for renaming
+
+ @param NewTemplateName
+ specifies the new name for the template
+
+ @return
+ `TRUE` if operation was successful
+ <br>
+ `FALSE` otherwise
+ */
+ boolean renameTemplate(
+ [in] string GroupName,
+ [in] string OldTemplateName,
+ [in] string NewTemplateName);
+
+ /** creates a new group
+
+ @param GroupName
+ the name of the group to be created
+
+ @return
+ `TRUE` if operation was successful
+ <br>
+ `FALSE` otherwise
+ */
+ boolean addGroup( [in] string GroupName );
+
+ /** remove an existing group
+
+ @param GroupName
+ the name of the group to be removed
+
+ @return
+ `TRUE` if operation was successful
+ <br>
+ `FALSE` otherwise
+ */
+ boolean removeGroup( [in] string GroupName );
+
+ /** rename an existing group
+
+ @param OldGroupName
+ the old name of the group
+
+ @param NewGroupName
+ the new name of the group
+
+ @return
+ `TRUE` if operation was successful
+ <br>
+ `FALSE` otherwise
+ */
+ boolean renameGroup(
+ [in] string OldGroupName,
+ [in] string NewGroupName);
+
+ /** force an update for internal structures
+
+ <p>
+ Because the templates are well known by links and not as direct content
+ they can be outdated. An update force actualization of that to find
+ wrong links.
+ </p>
+ */
+ void update();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XExtendedFilterDetection.idl b/offapi/com/sun/star/frame/XExtendedFilterDetection.idl
new file mode 100644
index 000000000..8da8b0308
--- /dev/null
+++ b/offapi/com/sun/star/frame/XExtendedFilterDetection.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_frame_XExtendedFilterDetection_idl__
+#define __com_sun_star_frame_XExtendedFilterDetection_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+
+
+ module com {
+ module sun {
+ module star {
+ module frame {
+
+/** use com::sun::star::document::XExtendedFilterDetection instead of this
+ @deprecated
+ */
+published interface XExtendedFilterDetection: com::sun::star::uno::XInterface
+{
+ /** use com::sun::star::document::XExtendedFilterDetection::detect() instead of this
+ @deprecated
+ */
+ string detect(
+ [in] string URL,
+ [in] sequence< com::sun::star::beans::PropertyValue > Argumentlist);
+
+ }; // XExtendedFilterDetection
+ }; // frame
+ }; // star
+ }; // sun
+}; // com
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XFilterDetect.idl b/offapi/com/sun/star/frame/XFilterDetect.idl
new file mode 100644
index 000000000..9ba432e17
--- /dev/null
+++ b/offapi/com/sun/star/frame/XFilterDetect.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_frame_XFilterDetect_idl__
+#define __com_sun_star_frame_XFilterDetect_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+ module com { module sun { module star { module frame {
+
+/** use com::sun::star::document::XExtendedFilterDetection instead of this
+ @deprecated
+ */
+published interface XFilterDetect: com::sun::star::uno::XInterface
+{
+ /** - */
+ string getContentType( [in] string URL );
+
+ /** - */
+ boolean useExternBrowser( [in] string URL );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XFrame.idl b/offapi/com/sun/star/frame/XFrame.idl
new file mode 100644
index 000000000..b2d7e41e4
--- /dev/null
+++ b/offapi/com/sun/star/frame/XFrame.idl
@@ -0,0 +1,357 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XFrame_idl__
+#define __com_sun_star_frame_XFrame_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/awt/XWindow.idl>
+
+
+ module com { module sun { module star { module frame {
+
+ published interface XFrameActionListener;
+ published interface XController;
+ published interface XFramesSupplier;
+
+/** a frame object can be considered to be an "anchor" object where a component
+ can be attached to.
+
+ <p>
+ A frame can be (it's not a must!) a part of a frame tree. If not this frame won't be
+ accessible by using the API. This mode make sense for previews.
+ The root node of the tree can be a Desktop implementation.
+ </p>
+
+ @see Desktop
+ */
+published interface XFrame: com::sun::star::lang::XComponent
+{
+ /** is called to initialize the frame within a window - the container window.
+
+ <p>
+ This window will be used as parent for the component window and to support
+ some UI relevant features of the frame service.
+ Note: Re-parenting mustn't supported by a real frame implementation!
+ It's designed for initializing - not for setting.
+ </p>
+
+ <p>This frame will take over ownership of the window referred from
+ <var>xWindow</var>. Thus, the previous owner is not allowed to
+ dispose this window anymore. </p>
+
+ @param xWindow
+ the new container window
+
+ @see XFrame::getContainerWindow()
+ */
+ void initialize( [in] com::sun::star::awt::XWindow xWindow );
+
+ /** provides access to the container window of the frame.
+
+ <p>
+ Normally this is used as the parent window of the
+ component window.
+ </p>
+
+ @return
+ the container window of this frame
+
+ @see XFrame::initialize()
+ */
+ com::sun::star::awt::XWindow getContainerWindow();
+
+ /** sets the frame container that created this frame.
+
+ <p>
+ Only the creator is allowed to call this method.
+ But creator doesn't mean the implementation which creates this instance ...
+ it means the parent frame of the frame hierarchy.
+ Because; normally a frame should be created by using the API
+ and is necessary for searches inside the tree (e.g. XFrame::findFrame())
+ </p>
+
+ @param Creator
+ the creator (parent) of this frame
+
+ @see XFrame::getCreator()
+ */
+ void setCreator( [in] XFramesSupplier Creator );
+
+ /** provides access to the creator (parent) of this frame
+
+ @returns
+ the frame container that created and contains this frame.
+
+ @see XFrame::setCreator()
+ */
+ XFramesSupplier getCreator();
+
+ /** access to the name property of this frame
+
+ @returns
+ the programmatic name of this frame.
+
+ @see XFrame::setName()
+ */
+ string getName();
+
+ /** sets the name of the frame.
+
+ <p>
+ Normally the name of the frame is set initially (e.g. by the creator).
+ The name of a frame will be used for identifying it if a frame search was started.
+ These searches can be forced by:
+ <ul>
+ <li>XFrame::findFrame()
+ <li>XDispatchProvider::queryDispatch()
+ <li>XComponentLoader::loadComponentFromURL()
+ </ul>
+ Note: Special targets like "_blank", "_self" etc. are not allowed.
+ That's why frame names shouldn't start with a sign "_".
+ </p>
+
+ @param aName
+ the new programmatic name of this frame
+
+ @see XFrame::findFrame()
+ @see XFrame::getName()
+ @see XDispatchProvider
+ @see XComponentLoader
+ */
+ void setName( [in] string aName );
+
+ /** searches for a frame with the specified name.
+
+ <p>
+ Frames may contain other frames (e.g., a frameset) and may
+ be contained in other frames. This hierarchy is searched with
+ this method.
+ First some special names are taken into account, i.e. "",
+ "_self", "_top", "_blank" etc. <var>SearchFlags</var> is ignored when
+ comparing these names with <var>TargetFrameName</var>; further steps are
+ controlled by <var>SearchFlags</var>. If allowed, the name of the frame
+ itself is compared with the desired one, and then ( again if allowed )
+ the method is called for all children of the frame. Finally may be called
+ for the siblings and then for parent frame (if allowed).
+ </p>
+
+ <p>
+ List of special target names:
+ <table border=1>
+ <tr><td>""/"_self"</td><td>address the starting frame itself</td></tr>
+ <tr><td>"_parent"</td><td>address the direct parent frame only</td></tr>
+ <tr><td>"_top"</td><td>address the top frame of this subtree of the frametree</td></tr>
+ <tr><td>"_blank"</td><td>creates a new top frame</td></tr>
+ </table>
+ </p>
+
+ <p>
+ If no frame with the given name is found, a new top frame is
+ created; if this is allowed by a special flag FrameSearchFlag::CREATE.
+ The new frame also gets the desired name.
+ </p>
+
+ @param aTargetFrameName
+ identify
+ <ul><li>(a) a special target ("_blank","_self" ...) or</li>
+ <li>(b) any well known frame</li></ul>
+ to search it inside the current hierarchy
+
+ @param nSearchFlags
+ optional parameter to regulate search if no special target was used for <var>TargetFrameName</var>
+
+ @see FrameSearchFlag
+ */
+ XFrame findFrame(
+ [in] string aTargetFrameName,
+ [in] long nSearchFlags);
+
+ /** determines if the frame is a top frame.
+
+ <p>
+ In general a top frame is the frame which is a direct child of
+ a task frame or which does not have a parent. Possible frame searches must
+ stop the search at such a frame unless the flag FrameSearchFlag::TASKS
+ is set.
+ </p>
+
+ @return
+ `TRUE` if frame supports top frame specification
+ <br>
+ `FALSE` otherwise
+ */
+ boolean isTop();
+
+ /** activates this frame and thus the component within.
+
+ <p>
+ At first the frame sets itself as the active frame of its
+ creator by calling XFramesSupplier::setActiveFrame(),
+ then it broadcasts a FrameActionEvent with
+ FrameAction::FRAME_ACTIVATED. The component within
+ this frame may listen to this event to grab the focus on activation;
+ for simple components this can be done by the FrameLoader.
+ </p>
+
+ <p>
+ Finally, most frames may grab the focus to one of its windows
+ or forward the activation to a sub-frame.
+ </p>
+
+ @see XFrame::deactivate()
+ @see XFrame::isActive()
+ */
+ void activate();
+
+ /** is called by the creator frame when another sub-frame gets activated.
+
+ <p>
+ At first the frame deactivates its active sub-frame, if any.
+ Then broadcasts a FrameActionEvent with
+ FrameAction::FRAME_DEACTIVATING.
+ </p>
+
+ @see XFrame::activate()
+ @see XFrame::isActive()
+ */
+ void deactivate();
+
+ /** determines if the frame is active.
+
+ @return
+ `TRUE` for active or UI active frames
+ <br>
+ `FALSE` otherwise
+
+ @see XFrame::activate()
+ @see XFrame::deactivate()
+ */
+ boolean isActive();
+
+ /** sets a new component into the frame or release an existing one from a frame.
+
+ @param xComponentWindow
+ the window of the new component or `NULL` for release
+
+ <p>
+ A valid component window should be a child of the frame container window.
+ </p>
+
+ @param xController
+ the controller of the new component or `NULL` for release
+
+ <p>
+ Simple components may implement a com::sun::star::awt::XWindow only.
+ In this case no controller must be given here.
+ </p>
+
+ @return
+ `TRUE`if setting of new component or release of an existing one was successfully
+ <br>
+ `FALSE` otherwise (especially, if an existing controller disagree within his
+ XController::suspend() call)
+
+ @see XFrame::getComponentWindow()
+ @see XFrame::getContainerWindow()
+ @see XFrame::getController()
+ */
+ boolean setComponent(
+ [in] com::sun::star::awt::XWindow xComponentWindow,
+ [in] XController xController);
+
+ /** provides access to the component window
+
+ <p>
+ Note: Don't dispose this window - the frame is the owner of it.
+ </p>
+
+ @returns
+ the current visible component in this frame
+ <br>
+ or `NULL` if no one currently exist
+
+ @see XFrame::setComponent()
+ */
+ com::sun::star::awt::XWindow getComponentWindow();
+
+ /** provides access to the controller
+
+ <p>
+ Note: Don't dispose it - the frame is the owner of it.
+ Use XController::getFrame() to dispose
+ the frame after you the controller agreed with a
+ XController::suspend() call.
+ </p>
+
+ @returns
+ the current controller within this frame
+ <br>
+ or `NULL` if no one currently exist
+
+ @see XFrame::setComponent()
+ */
+ XController getController();
+
+ /** notifies the frame that the context of the controller within this
+ frame changed (i.e. the selection).
+
+ <p>
+ According to a call to this interface, the frame calls
+ XFrameActionListener::frameAction() with
+ FrameAction::CONTEXT_CHANGED to all listeners which
+ are registered using XFrame::addFrameActionListener().
+ For external controllers this event can be used to requery dispatches.
+
+ @see XFrameEventListener
+ @see FrameAction
+ @see XFrame::addFrameActionListener()
+ */
+ void contextChanged();
+
+ /** registers an event listener, which will be called when certain things
+ happen to the components within this frame or within sub-frames of this frame.
+
+ <p>
+ E.g., it is possible to determine instantiation/destruction and
+ activation/deactivation of components.
+ </p>
+
+ @param xListener
+ specifies the listener which will be informed
+
+ @see XFrame::removeFrameActionListener()
+ */
+ void addFrameActionListener( [in]XFrameActionListener xListener );
+
+ /** unregisters an event listener
+
+ @param xListener
+ specifies the listener which won't be informed any longer
+
+ @see XFrame::addFrameActionListener()
+ */
+ void removeFrameActionListener( [in] XFrameActionListener xListener );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XFrame2.idl b/offapi/com/sun/star/frame/XFrame2.idl
new file mode 100644
index 000000000..172908aa6
--- /dev/null
+++ b/offapi/com/sun/star/frame/XFrame2.idl
@@ -0,0 +1,145 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XFrame2_idl__
+#define __com_sun_star_frame_XFrame2_idl__
+
+#include <com/sun/star/container/XNameContainer.idl>
+#include <com/sun/star/frame/XDispatchInformationProvider.idl>
+#include <com/sun/star/frame/XDispatchProvider.idl>
+#include <com/sun/star/frame/XDispatchProviderInterception.idl>
+#include <com/sun/star/frame/XDispatchRecorderSupplier.idl>
+#include <com/sun/star/frame/XFramesSupplier.idl>
+#include <com/sun/star/task/XStatusIndicatorFactory.idl>
+
+
+module com { module sun { module star { module frame {
+
+/**
+ @since LibreOffice 4.1
+ */
+published interface XFrame2
+{
+ /** contains user defined attributes.
+ */
+ [attribute, readonly] com::sun::star::container::XNameContainer UserDefinedAttributes;
+
+ /** provides access to dispatchers for the frame.
+
+ <p>
+ What kind of URLs a frame accepts in the calls to XDispatchProvider::queryDispatch(),
+ and how the returned dispatcher handles dispatches is completely implementation dependent
+ (though of course the restrictions of XDispatchProvider must be met).
+ Frame implementations may (optionally) support special targets in the call to
+ XDispatchProvider::queryDispatch().
+ Such special targets are passed as target frame name. They may, in addition,
+ require special frame search flags (see FrameSearchFlag), or,
+ in opposite, limit the set of allowed flags.<br>
+ Common special targets include:
+ <ul>
+ <li><b>_blank</b><br> is used to create a new frame when dispatching the URL.</li>
+ <li><b>_default</b><br> is used to recycle empty or create a new frame when dispatching the URL.</li>
+ <li><b>_self</b><br> forces the frame to dispatch the URL into itself. ("" means the same)</li>
+ <li><b>_parent</b><br> dispatches the URL into the parent frame.</li>
+ <li><b>_top</b><br> dispatches the URL into the top level frame, the frame where this is invoked belongs to.</li>
+ </ul>
+ </p>
+
+ @see XDispatch
+ @see XFrame::findFrame()
+ */
+ interface XDispatchProvider;
+
+ /** provides information about supported commands
+
+ @since OOo 2.0
+ */
+ interface XDispatchInformationProvider;
+
+ /** supports interception mechanism for dispatched URLs
+
+ <p>
+ Registered objects can intercept, suppress or reroute dispatched URLs.
+ If they support another interface too (XInterceptorInfo)
+ it's possible to perform it by directly calling of right interceptor without
+ using list of all registered ones.
+ </p>
+ */
+ interface XDispatchProviderInterception;
+
+ /** Provides access to sub frames within this frame,
+ and via its XFrame sub-interface: Allows the component to be loaded and accessed
+ within the frame; it is the main connection to the
+ environment of the component.
+ */
+ interface XFramesSupplier; // -> XFrame
+
+ /** supplies access to com::sun::star::task::XStatusIndicator objects
+ for the component within the frame to show progresses
+ */
+ interface com::sun::star::task::XStatusIndicatorFactory;
+
+ /** if possible it sets/gets the UI title on/from the frame container window
+
+ <p>
+ It depends from the type of the frame container window. If it is a system
+ task window all will be OK. Otherwise the title can't be set.
+ Setting/getting of the pure value of this property must be possible in every
+ case. Only showing on the UI can be fail.
+ </p>
+ */
+ [attribute] string Title;
+
+ /** provides access to the dispatch recorder of the frame
+
+ <p>
+ Such recorder can be used to record dispatch requests.
+ The supplier contains a dispatch recorder and provide the functionality
+ to use it for any dispatch object from outside which supports the interface
+ XDispatch. A supplier is available only, if recording was enabled.
+ That means: if someone wishes to enable recoding on a frame he must set
+ a supplier with a recorder object inside of it. Every user of dispatches
+ has to check then if such supplier is available at this frame property.
+ If value of this property is `NULL` he must call XDispatch::dispatch()
+ on the original dispatch object. If it's a valid value he must use the supplier
+ by calling his method XDispatchRecorderSupplier::dispatchAndRecord()
+ with the original dispatch object as argument.
+ </p>
+
+ <p>
+ Note:<br>
+ It's not recommended to cache an already gotten supplier. Because there exist
+ no possibility to check for enabled/disabled recording then.
+ </p>
+
+ @since OOo 1.1.2
+ */
+ [attribute] XDispatchRecorderSupplier DispatchRecorderSupplier;
+
+ /** Provides access to the LayoutManager of the frame.
+ This is actually of type XLayoutManager, but this API is still experimental (unpublished).
+ */
+ [attribute] com::sun::star::uno::XInterface LayoutManager;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XFrameActionListener.idl b/offapi/com/sun/star/frame/XFrameActionListener.idl
new file mode 100644
index 000000000..8bb1f9dbb
--- /dev/null
+++ b/offapi/com/sun/star/frame/XFrameActionListener.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_frame_XFrameActionListener_idl__
+#define __com_sun_star_frame_XFrameActionListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+#include <com/sun/star/frame/FrameActionEvent.idl>
+
+
+
+ module com { module sun { module star { module frame {
+
+/** has to be provided if an object wants to receive events
+ when several things happen to components within frames of the desktop frame tree.
+
+ <p>
+ E.g., you can receive events of instantiation/destruction and
+ activation/deactivation of components.
+ </p>
+
+ @see XFrame::addFrameActionListener()
+ @see XFrame::removeFrameActionListener()
+ */
+published interface XFrameActionListener: com::sun::star::lang::XEventListener
+{
+ /** is called whenever any action occurs to a component within a frame.
+
+ @param Action
+ describes the detected frame action for which the listener can react
+ */
+ void frameAction( [in] FrameActionEvent Action );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XFrameLoader.idl b/offapi/com/sun/star/frame/XFrameLoader.idl
new file mode 100644
index 000000000..2059ea36c
--- /dev/null
+++ b/offapi/com/sun/star/frame/XFrameLoader.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_frame_XFrameLoader_idl__
+#define __com_sun_star_frame_XFrameLoader_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/frame/XFrame.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/frame/XLoadEventListener.idl>
+
+
+
+ module com { module sun { module star { module frame {
+
+/** load components into a frame
+
+ <p>
+ It's an asynchronous loading. For synchronous processes use XSynchronousFrameLoader
+ instead of this one. The generic load algorithm of the office supports both ones - but preferred
+ the synchronous interface.
+ </p>
+
+ @see XFrame
+ */
+published interface XFrameLoader: com::sun::star::uno::XInterface
+{
+ /** starts the loading of the specified resource into the specified Frame.
+
+ @param Frame
+ specifies the loading target
+
+ @param URL
+ describes the resource of loading component
+ Support of special protocols are implementation details
+ and depends from the environment.
+
+ @param Arguments
+ optional arguments for loading
+ (see com::sun::star::document::MediaDescriptor for further information)
+
+ @param Listener
+ this listener will be informed about success
+
+ @see XLoadEventListener
+ */
+ void load(
+ [in] XFrame Frame,
+ [in] string URL,
+ [in] sequence< com::sun::star::beans::PropertyValue > Arguments,
+ [in] XLoadEventListener Listener);
+
+ /** cancels the loading process.
+
+ <p>
+ After returning from this call, neither the frame nor the
+ load-event-listener specified in XFrameLoader::load() may be called back.
+ Because only the owner of this process who called load method
+ before can cancel this process. And he doesn't need any notification about that.
+ On the other hand - nobody then this owner himself can be registered as an
+ XLoadEventListener here.
+ </p>
+ */
+ void cancel();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XFrameLoaderQuery.idl b/offapi/com/sun/star/frame/XFrameLoaderQuery.idl
new file mode 100644
index 000000000..a76794d49
--- /dev/null
+++ b/offapi/com/sun/star/frame/XFrameLoaderQuery.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_frame_XFrameLoaderQuery_idl__
+#define __com_sun_star_frame_XFrameLoaderQuery_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+
+
+ module com {
+ module sun {
+ module star {
+ module frame {
+
+/** use service FrameLoaderFactory instead of this
+ @deprecated
+ */
+published interface XFrameLoaderQuery: com::sun::star::uno::XInterface
+{
+ /** use member com::sun::star::container::XNameAccess::getElementNames()
+ provided by service FrameLoaderFactory instead of this
+ @deprecated
+ */
+ sequence< string > getAvailableFilterNames();
+
+ /** use member com::sun::star::container::XNameAccess::getByName()
+ provided by service FrameLoaderFactory instead of this
+ @deprecated
+ */
+ sequence< ::com::sun::star::beans::PropertyValue > getLoaderProperties( [in] string sFilterName );
+
+ /** use member com::sun::star::container::XContainerQuery
+ provided by service FrameLoaderFactory instead of this
+ @deprecated
+ */
+ string searchFilter( [in] string sURL, [in] sequence< com::sun::star::beans::PropertyValue > seqArguments );
+
+ }; // XFrameLoaderQuery
+ }; // frame
+ }; // star
+ }; // sun
+}; // com
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XFrameSetModel.idl b/offapi/com/sun/star/frame/XFrameSetModel.idl
new file mode 100644
index 000000000..132b5ce96
--- /dev/null
+++ b/offapi/com/sun/star/frame/XFrameSetModel.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_frame_XFrameSetModel_idl__
+#define __com_sun_star_frame_XFrameSetModel_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+ module com { module sun { module star { module frame {
+
+/** use XModel instead of this
+ @deprecated
+ */
+published interface XFrameSetModel: com::sun::star::uno::XInterface
+{
+ /** - */
+ string getSource();
+
+ /** - */
+ void setSource( [in] string Source );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XFrames.idl b/offapi/com/sun/star/frame/XFrames.idl
new file mode 100644
index 000000000..3325a10c1
--- /dev/null
+++ b/offapi/com/sun/star/frame/XFrames.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_frame_XFrames_idl__
+#define __com_sun_star_frame_XFrames_idl__
+
+#include <com/sun/star/container/XIndexAccess.idl>
+#include <com/sun/star/frame/XFrame.idl>
+
+
+
+ module com { module sun { module star { module frame {
+
+/** manages and creates frames.
+
+ <p>
+ Frames may contain other frames (by implementing an XFrames
+ interface) and may be contained in other frames.
+ </p>
+
+ @see XFrame
+ @see Frame
+ */
+published interface XFrames: com::sun::star::container::XIndexAccess
+{
+ /** appends the specified Frame to the list of sub-frames.
+
+ @param xFrame
+ new frame for inserting into this container
+ */
+ void append( [in] XFrame xFrame );
+
+ /** provides access to the list of all currently existing
+ frames inside this container and her sub frames
+
+ @param nSearchFlags
+ use combinations of FrameSearchFlag to specify which
+ frames should be found
+
+ @return
+ all frames of this container and all available frames of the whole frame tree
+ which match search parameter <var>SearchFlags</var>
+ */
+ sequence< XFrame > queryFrames( [in] long nSearchFlags );
+
+ /** removes the frame from its container.
+
+ <p>
+ Note:
+ <ul>
+ <li>The method XComponent::dispose() is not called implicitly
+ by this method.</li>
+ <li>The creator attribute of the frame must be reset by the caller of
+ this method.</li>
+ </ul>
+ </p>
+
+ @param xFrame
+ frame which should be removed from this container
+ */
+ void remove( [in] XFrame xFrame );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XFramesSupplier.idl b/offapi/com/sun/star/frame/XFramesSupplier.idl
new file mode 100644
index 000000000..75fe6ec93
--- /dev/null
+++ b/offapi/com/sun/star/frame/XFramesSupplier.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_frame_XFramesSupplier_idl__
+#define __com_sun_star_frame_XFramesSupplier_idl__
+
+#include <com/sun/star/frame/XFrame.idl>
+
+
+ module com { module sun { module star { module frame {
+
+ published interface XFrames;
+
+/** provides access to sub frames of current one
+
+ @see XFrames
+ */
+published interface XFramesSupplier: XFrame
+{
+ /** provides access to this container and to all other XFramesSupplier
+ which are available from this node of frame tree
+
+ @returns
+ the collection of frames which is represented by
+ a FramesContainer.
+ */
+ XFrames getFrames();
+
+ /** gets the current active frame of this container
+ (not of any other available supplier)
+
+ <p>
+ This may be the frame itself. The active frame is defined as
+ the frame which contains (recursively) the window with the focus.
+ If no window within the frame contains the focus, this method
+ returns the last frame which had the focus. If no containing
+ window ever had the focus, the first frame within this frame is
+ returned.
+ </p>
+
+ @returns
+ the Frame which is active within this frame.
+ */
+ XFrame getActiveFrame();
+
+ /** is called on activation of a direct sub-frame.
+
+ <p>
+ This method is only allowed to be called by a sub-frame according to
+ XFrame::activate() or XFramesSupplier::setActiveFrame().
+ After this call XFramesSupplier::getActiveFrame() will return the
+ frame specified by <var>Frame</var>.
+ </p>
+
+ <p>
+ In general this method first calls the method XFramesSupplier::setActiveFrame()
+ at the creator frame with <var>this</var> as the current argument. Then it broadcasts
+ the FrameActionEvent FrameAction::FRAME_ACTIVATED.
+ </p>
+
+ <p>
+ Note: Given parameter <var>Frame</var> must already exist inside the container
+ (e.g., inserted by using XFrames::append())
+ </p>
+
+ @param Frame
+ the new active child frame inside this container
+ */
+ void setActiveFrame( [in] XFrame Frame );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XGlobalEventBroadcaster.idl b/offapi/com/sun/star/frame/XGlobalEventBroadcaster.idl
new file mode 100644
index 000000000..cb42d0a87
--- /dev/null
+++ b/offapi/com/sun/star/frame/XGlobalEventBroadcaster.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_frame_XGlobalEventBroadcaster_idl__
+#define __com_sun_star_frame_XGlobalEventBroadcaster_idl__
+
+#include <com/sun/star/container/XSet.idl>
+#include <com/sun/star/document/XDocumentEventBroadcaster.idl>
+#include <com/sun/star/document/XDocumentEventListener.idl>
+#include <com/sun/star/document/XEventsSupplier.idl>
+
+module com { module sun { module star { module frame {
+
+/**
+ Provides the unified interface of theGlobalEventBroadcaster singleton.
+
+ @since LibreOffice 4.0
+ */
+
+interface XGlobalEventBroadcaster
+{
+ /** makes it possible to register listeners which are called whenever
+ a document event occurs in any document
+ */
+ interface ::com::sun::star::document::XEventsSupplier;
+
+ /** access to bound event handlers
+ */
+ interface ::com::sun::star::document::XDocumentEventBroadcaster;
+
+ interface ::com::sun::star::container::XSet;
+
+ interface ::com::sun::star::document::XDocumentEventListener;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XInfobarProvider.idl b/offapi/com/sun/star/frame/XInfobarProvider.idl
new file mode 100644
index 000000000..b04f50b9e
--- /dev/null
+++ b/offapi/com/sun/star/frame/XInfobarProvider.idl
@@ -0,0 +1,146 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.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_frame_XInfobarProvider_idl__
+#define __com_sun_star_frame_XInfobarProvider_idl__
+
+#include <com/sun/star/beans/StringPair.idl>
+#include <com/sun/star/frame/InfobarType.idl>
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module frame {
+
+/** Allows to add Infobars to a frame.
+
+ This interface can be obtained via com::sun::star::frame::XController.
+
+ @since LibreOffice 6.4
+ */
+interface XInfobarProvider: uno::XInterface
+{
+ /** Creates and displays a new Infobar.
+
+ @param id
+ The ID by which this Infobar is recognized.
+ You can remove the Infobar afterwards using this ID.
+
+ @param primaryMessage
+ The (short) primary message.
+ Will appear at the start of the infobar in bold letters.
+ May be empty.
+
+ @param secondaryMessage
+ The (longer) secondary message.
+ Will appear in normal letters after the primaryMessage
+
+ @param infobarType
+ The type of the Infobar.
+ See com::sun::star::frame::InfobarType for possible values.
+
+ @param actionButtons
+ A sequence of action buttons.
+ The buttons will be added from Right to Left at the right side of the info bar.
+ Each button is represented by a com::sun::star::beans::StringPair.
+ StringPair::First represents the button label, while
+ StringPair::Second represents the button URL which will be called on button click.
+ The URL can be any URL, either external (http://libreoffice.org), or internal (.uno:Save),
+ or from your extension (service:your.example.Extension?anyAction).
+
+ @param showCloseButton
+ Whether the Close (x) button is shown at the end of the Infobar.
+ Set to false, when you don't want the user to close the Infobar.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ If an Infobar with the same ID already exists, or infobarType contains an invalid value.
+
+ <p> The example below adds a new infobar named MyInfoBar with type INFO and close (x) button.</p>
+ @code{.bas}
+ Sub AddInfobar
+ Dim buttons(1) as new com.sun.star.beans.StringPair
+ buttons(0).first = "Close doc"
+ buttons(0).second = ".uno:CloseDoc"
+ buttons(1).first = "Paste into doc"
+ buttons(1).second = ".uno:Paste"
+ ThisComponent.getCurrentController().appendInfobar("MyInfoBar", "Hello world", "Things happened. What now?", com.sun.star.frame.InfobarType.INFO, buttons, true)
+ End Sub
+ @endcode
+ */
+ void appendInfobar(
+ [in] string id,
+ [in] string primaryMessage,
+ [in] string secondaryMessage,
+ [in] long infobarType,
+ [in] sequence<com::sun::star::beans::StringPair> actionButtons,
+ [in] boolean showCloseButton)
+ raises(com::sun::star::lang::IllegalArgumentException);
+
+ /** Updates an existing Infobar.
+ Use if you want to update only small parts of the Infobar.
+
+ @see appendInfobar for parameter documentation.
+
+ @throws com::sun::star::container::NoSuchElementException
+ If no such Infobar exists (it might have been closed by the user already)
+ @throws com::sun::star::lang::IllegalArgumentException
+ If infobarType contains an invalid value.
+
+ <p>Update the infobar and change the type to WARNING</p>
+ @code{.bas}
+ Sub UpdateInfobar
+ ThisComponent.getCurrentController().updateInfobar("MyInfoBar", "WARNING","Do not read this message.", com.sun.star.frame.InfobarType.WARNING)
+ End Sub
+ @endcode
+ */
+ void updateInfobar(
+ [in] string id,
+ [in] string primaryMessage,
+ [in] string secondaryMessage,
+ [in] long infobarType)
+ raises(com::sun::star::container::NoSuchElementException);
+
+ /** Removes an existing Infobar.
+
+ @param id
+ The ID which was used when creating this Infobar.
+
+ @throws com::sun::star::container::NoSuchElementException
+ If no such Infobar exists (it might have been closed by the user already)
+
+ <p>Remove MyInfoBar infobar</p>
+ @code{.bas}
+ Sub RemoveInfobar
+ ThisComponent.getCurrentController().removeInfobar("MyInfoBar")
+ End Sub
+ @endcode
+ */
+
+ void removeInfobar([in] string id) raises(com::sun::star::container::NoSuchElementException);
+
+ /** Check if Infobar exists.
+
+ @param id
+ The ID which was used when creating this Infobar.
+
+ @since LibreOffice 7.0
+
+ @code{.bas}
+ Function HasMyInfobar as boolean
+ hasMyInfoBar = ThisComponent.getCurrentController().hasInfobar("MyInfoBar")
+ End Function
+ @endcode
+ */
+ boolean hasInfobar([in] string id);
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/offapi/com/sun/star/frame/XInterceptorInfo.idl b/offapi/com/sun/star/frame/XInterceptorInfo.idl
new file mode 100644
index 000000000..318a1eb97
--- /dev/null
+++ b/offapi/com/sun/star/frame/XInterceptorInfo.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_frame_XInterceptorInfo_idl__
+#define __com_sun_star_frame_XInterceptorInfo_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+ module com { module sun { module star { module frame {
+
+
+/** makes it possible to get information about a registered interceptor and is used by
+ frame interceptor mechanism to perform interception.
+
+ <p>
+ Frame can call right interceptor directly without calling all of registered ones.
+ Use it as an additional interface to XDispatchProviderInterceptor.
+ If any interceptor in list doesn't support this interface - these mechanism will be broken
+ and normal list of master-slave interceptor objects will be used from top to the bottom.
+ </p>
+
+ @see XDispatchProviderInterception
+ @see XDispatchProviderInterceptor
+ */
+published interface XInterceptorInfo: com::sun::star::uno::XInterface
+{
+ /** returns the URL list for interception.
+
+ <p>
+ Wildcards inside the URLs are allowed to register the interceptor for
+ URLs too, which can have optional arguments (e.g. "..#.." or "..?..").
+ </p>
+
+ @return
+ a list of URLs which are handled by this interceptor
+ */
+ sequence< string > getInterceptedURLs();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XLayoutManager.idl b/offapi/com/sun/star/frame/XLayoutManager.idl
new file mode 100644
index 000000000..52c00df5f
--- /dev/null
+++ b/offapi/com/sun/star/frame/XLayoutManager.idl
@@ -0,0 +1,479 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_frame_XLayoutManager_idl__
+#define __com_sun_star_frame_XLayoutManager_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/frame/XFrame.idl>
+#include <com/sun/star/awt/Point.idl>
+#include <com/sun/star/awt/Size.idl>
+#include <com/sun/star/awt/XWindow.idl>
+#include <com/sun/star/ui/XUIElement.idl>
+#include <com/sun/star/ui/DockingArea.idl>
+#include <com/sun/star/ui/XDockingAreaAcceptor.idl>
+
+
+module com { module sun { module star { module frame {
+
+
+/** central interface to query for, create, destroy and manipulate user
+ interface elements which are bound to a layout manager.
+
+ <p>
+ Every user interface element which is controlled by a layout manager has
+ a unique identifier called resource URL.
+
+ A resource URL must meet the following syntax:
+ "private:resource/$type/$name". It is only allowed to use ASCII characters
+ for type and name.
+
+ Currently the following user interface element types are defined:
+ <ul>
+ <li><b>menubar</b> A configurable user interface element representing
+ a menu bar.</li>
+ <li><b>popupmenu</b> A configurable user interface element representing
+ a pop-up menu.</li>
+ <li><b>toolbar</b> A configurable user interface element a tool
+ bar.</li>
+ <li><b>statusbar</b> A configurable user interface element representing
+ a status bar.</li>
+ <li><b>floater</b> A basic user interface element representing a
+ floating window.</li>
+ </ul>
+
+ @see com::sun::star::ui::UIElementTypes
+ @see com::sun::star::frame::XFrame
+ </p>
+
+ @since OOo 2.0
+*/
+
+interface XLayoutManager : com::sun::star::uno::XInterface
+{
+ /** attaches a com::sun::star::frame::XFrame to a layout manager.
+
+ @param Frame
+ specifies the frame that should be attached to the layout manager
+
+ <p>
+ A layout manager needs a com::sun::star::frame::XFrame to be
+ able to work. Without a it no user interface elements can be created.
+ </p>
+ */
+ void attachFrame( [in] com::sun::star::frame::XFrame Frame );
+
+ /** resets the layout manager and remove all of its internal user interface
+ elements.
+
+ <p>
+ This call should be handled with care as all user interface elements will
+ be destroyed and the layout manager is reset to a state after a
+ attachFrame() has been made. That means an attached frame
+ which has been set by attachFrame() is not released.
+ The layout manager itself calls reset after a component has been attached
+ or reattached to a frame.
+ </p>
+ */
+ void reset();
+
+ /** provides the current docking area size of the layout manager.
+
+ @return
+ The com::sun::star::awt::Rectangle contains pixel values. The
+ members of com::sun::star::awt::Rectangle are filled as following:
+ <ul>
+ <li>X = docking area on left side (in pixel)</li>
+ <li>Y = docking area on top side (in pixel)</li>
+ <li>Width = docking area on right side (in pixel)</li>
+ <li>Height = docking area on bottom side (in pixel)</li>
+ </ul>
+ */
+ com::sun::star::awt::Rectangle getCurrentDockingArea();
+
+ /** retrieves the current docking area acceptor that controls the border space of the frame's
+ container window.
+
+ @return
+ current docking area acceptor which controls the border space of frame's container window.
+
+ <p>
+ A docking area acceptor retrieved by this method is owned by the layout manager. It is not
+ allowed to dispose this object, it will be destroyed on reference count!
+ </p>
+ */
+ com::sun::star::ui::XDockingAreaAcceptor getDockingAreaAcceptor();
+
+ /** sets a docking area acceptor that controls the border space of the frame's container window.
+
+ @param xDockingAreaAcceptor
+ a docking area acceptor which controls the border space of frame's container window.
+
+ <p>
+ A docking area acceptor decides if the layout manager can use requested border space for
+ docking windows. If the acceptor denies the requested space the layout manager automatically
+ set all docked windows into floating state and will not use this space for docking.<br/>
+ After setting a docking area acceptor the object is owned by the layout manager. It is not
+ allowed to dispose this object, it will be destroyed on reference count!
+ </p>
+ */
+ void setDockingAreaAcceptor( [in] com::sun::star::ui::XDockingAreaAcceptor xDockingAreaAcceptor );
+
+ /** creates a new user interface element.
+
+ @param ResourceURL
+ specifies which user interface element should be created. A resource URL must meet the following
+ syntax: "private:resource/$type/$name". It is only allowed to use ASCII characters for type and
+ name.
+ */
+ void createElement( [in] string ResourceURL );
+
+ /** destroys a user interface element.
+
+ @param ResourceURL
+ specifies which user interface element should be destroyed. A resource URL must meet
+ the following syntax: "private:resource/$type/$name". It is only allowed to use ASCII
+ characters for type and name.
+ */
+ void destroyElement( [in] string ResourceURL );
+
+ /** request to make a user interface element visible if it is not in hidden state.
+
+ @param ResourceURL
+ specifies which user interface element should be made visible. A resource URL must
+ meet the following syntax: "private:resource/$type/$name". It is only allowed to use
+ ASCII characters for type and
+ name.
+
+ @return
+ returns `TRUE` if the user interface element could be made visible, otherwise
+ `FALSE` will be returned.
+
+ <p>
+ If a user interface element should forced to the visible state
+ XLayoutManager::showElement() should be used. This function can be
+ used for context dependent elements which should respect the current visibility
+ state.
+ </p>
+ */
+ boolean requestElement( [in] string ResourceURL );
+
+ /** retrieves a user interface element which has been created before.
+
+ @param ResourceURL
+ specifies which user interface element should be retrieved. A resource URL must meet the following
+ syntax: "private:resource/$type/$name". It is only allowed to use ASCII characters for type and
+ name.
+
+ <p>
+ The layout manager instance is owner of the returned user interface element. That means that the life time of
+ the user interface element is controlled by the layout manager. It can be disposed at every time!
+ </p>
+ */
+ com::sun::star::ui::XUIElement getElement( [in] string ResourceURL );
+
+ /** retrieves all user interface elements which are currently instantiated.
+
+ @return
+ a sequence of user interface elements providing com::sun::star::ui::XUIElement
+ interface.
+
+ <p>
+ The layout manager instance is owner of the returned user interface elements. That means that the life time of
+ the user interface elements is controlled by the layout manager. They can be disposed at every time!
+ </p>
+ */
+ sequence< com::sun::star::ui::XUIElement > getElements();
+
+ /** shows a user interface element.
+
+ @param ResourceURL
+ specifies which user interface element should be shown. A resource URL must meet the following
+ syntax: "private:resource/$type/$name". It is only allowed to use ASCII characters for type and
+ name.
+
+ @return
+ returns `TRUE` if the user interface element has been shown, otherwise `FALSE` will be returned.
+ */
+ boolean showElement( [in] string ResourceURL );
+
+ /** hides a user interface element.
+
+ @param ResourceURL
+ specifies which user interface element should be hidden. A resource URL must meet the following
+ syntax: "private:resource/$type/$name". It is only allowed to use ASCII characters for type and
+ name.
+
+ @return
+ returns `TRUE` if the user interface element has been hidden, otherwise `FALSE` will be returned.
+ */
+ boolean hideElement( [in] string ResourceURL );
+
+ /** docks a window based user interface element to a specified docking area.
+
+ @param ResourceURL
+ specifies which user interface element should be docked. A resource URL must meet the following
+ syntax: "private:resource/$type/$name". It is only allowed to use ASCII characters for type and
+ name.
+
+ @param DockingArea
+ specifies on which docking area the window based user interface element should docked.
+
+ @param Pos
+ specifies the position inside the docking area.
+
+ @return
+ returns `TRUE` if the user interface element has been docked, otherwise `FALSE` will be returned.
+
+ @see com::sun::star::ui::DockingArea
+ */
+ boolean dockWindow( [in] string ResourceURL, [in] com::sun::star::ui::DockingArea DockingArea, [in] com::sun::star::awt::Point Pos );
+
+ /** docks all windows which are member of the provided user interface element type.
+
+ @param nElementType
+ specifies which user interface element type should be docked.
+
+ @return
+ returns `TRUE` if all user interface elements of the requested type could be
+ docked, otherwise `FALSE` will be returned.
+
+ @see com::sun::star::ui::UIElementType
+ */
+ boolean dockAllWindows( [in] short nElementType );
+
+ /** forces a window based user interface element to float.
+
+ @param ResourceURL
+ specifies which user interface element should be float. A resource URL must meet the following
+ syntax: "private:resource/$type/$name". It is only allowed to use ASCII characters for type and
+ name.
+
+ @return
+ returns `TRUE` if the user interface element has been docked, otherwise `FALSE` will be returned.
+ */
+ boolean floatWindow( [in] string ResourceURL );
+
+ /** locks a window based user interface element if it's in a docked state.
+
+ @param ResourceURL
+ specifies which user interface element should be locked. A resource URL must meet the following
+ syntax: "private:resource/$type/$name". It is only allowed to use ASCII characters for type and
+ name.
+
+ @return
+ returns `TRUE` if the user interface element has been locked, otherwise `FALSE` will be returned.
+ */
+ boolean lockWindow( [in] string ResourceURL );
+
+ /** unlocks a window based user interface element if it's in a docked state.
+
+ @param ResourceURL
+ specifies which user interface element should be unlocked. A resource URL must
+ meet the following syntax: "private:resource/$type/$name". It is only allowed
+ to use ASCII characters for type and name.
+
+ @return
+ returns `TRUE` if the user interface element has been unlocked, otherwise
+ `FALSE` will be returned.
+ */
+ boolean unlockWindow( [in] string ResourceURL );
+
+ /** sets a new size for a window based user interface element.
+
+ @param ResourceURL
+ specifies which user interface element should be resized. A resource URL must meet the following
+ syntax: "private:resource/$type/$name". It is only allowed to use ASCII characters for type and
+ name.
+
+ @param Size
+ specifies the new size in pixel.
+
+ <p>
+ It is up to the layout manager to decide if the user interface element can be resized. The new size can be retrieved
+ by calling getElementSize().
+ </p>
+ */
+ void setElementSize( [in] string ResourceURL, [in] com::sun::star::awt::Size Size );
+
+ /** sets a new position for a window based user interface element.
+
+ @param ResourceURL
+ specifies which user interface element should be moved. A resource URL must meet the following
+ syntax: "private:resource/$type/$name". It is only allowed to use ASCII characters for type and
+ name.
+
+ @param Pos
+ specifies the new position in pixel.
+
+ <p>
+ It is up to the layout manager to decide if the user interface element can be moved. The new position can be retrieved
+ by calling getElementPos().
+ </p>
+ */
+ void setElementPos( [in] string ResourceURL, [in] com::sun::star::awt::Point Pos );
+
+ /** sets a new position and size for a window based user interface element.
+
+ @param ResourceURL
+ specifies which user interface element should be moved and resized. A resource URL must meet the following
+ syntax: "private:resource/$type/$name". It is only allowed to use ASCII characters for type and
+ name.
+
+ @param Pos
+ specifies the new position in pixel.
+
+ @param Size
+ specifies the new position in pixel.
+
+ <p>
+ It is up to the layout manager to decide if the user interface element can be moved and resized. The new position and size can
+ be retrieved by calling getElementPos() and getElementSize().
+ </p>
+ */
+ void setElementPosSize( [in] string ResourceURL, [in] com::sun::star::awt::Point Pos, [in] com::sun::star::awt::Size Size );
+
+ /** retrieves the current visibility state of a window based user interface element.
+
+ @param ResourceURL
+ specifies for which user interface element the visibility state should be retrieved. A resource URL must meet
+ the following syntax: "private:resource/$type/$name". It is only allowed to use ASCII characters for type and
+ name.
+
+ @return
+ `TRUE` if the user interface element is visible, otherwise `FALSE`.
+ */
+ boolean isElementVisible( [in] string ResourceURL );
+
+ /** retrieves the current floating state of a window based user interface element.
+
+ @param ResourceURL
+ specifies for which user interface element the floating state should be retrieved. A resource URL must meet
+ the following syntax: "private:resource/$type/$name". It is only allowed to use ASCII characters for type and
+ name.
+
+ @return
+ `TRUE` if the user interface element is floating, otherwise `FALSE`.
+ */
+ boolean isElementFloating( [in] string ResourceURL );
+
+ /** retrieves the current docking state of a window based user interface element.
+
+ @param ResourceURL
+ specifies for which user interface element the docking state should be retrieved. A resource URL must meet
+ the following syntax: "private:resource/$type/$name". It is only allowed to use ASCII characters for type and
+ name.
+
+ @return
+ `TRUE` if the user interface element is docked, otherwise `FALSE`.
+ */
+ boolean isElementDocked( [in] string ResourceURL );
+
+ /** retrieves the current lock state of a window based user interface element.
+
+ @param ResourceURL
+ specifies for which user interface element the lock state should be retrieved. A resource URL must meet
+ the following syntax: "private:resource/$type/$name". It is only allowed to use ASCII characters for type and
+ name.
+
+ @return
+ `TRUE` if the user interface element is locked, otherwise `FALSE`.
+ */
+ boolean isElementLocked( [in] string ResourceURL );
+
+ /** retrieves the current size of a window based user interface element.
+
+ @param ResourceURL
+ specifies for which user interface element the current size should be retrieved. A resource URL must meet
+ the following syntax: "private:resource/$type/$name". It is only allowed to use ASCII characters for type and
+ name.
+
+ @return
+ the size in pixel of the user interface element. A non-window based user interface element provides a zero size.
+ */
+ com::sun::star::awt::Size getElementSize( [in] string ResourceURL );
+
+ /** retrieves the current pixel position of a window based user interface element.
+
+ @param ResourceURL
+ specifies for which user interface element the current position should be retrieved. A resource URL must meet
+ the following syntax: "private:resource/$type/$name". It is only allowed to use ASCII characters for type and
+ name.
+
+ @return
+ the size in pixel of the user interface element. A non-window based user interface element provides a zero size.
+ */
+ com::sun::star::awt::Point getElementPos( [in] string ResourceURL );
+
+ /** prohibit all layout updates until unlock is called again.
+
+ <p>
+ This call can be used to speed up the creation process of several user interface elements. Otherwise the layout manager
+ would calculate the layout for every creation.
+ </p>
+ */
+ void lock();
+
+ /** permit layout updates again.
+
+ <p>
+ This function should be called to permit layout updates. The layout manager starts to calculate the new layout after
+ this call.
+ </p>
+ */
+ void unlock();
+
+ /** forces a complete new layouting of all user interface elements.
+ */
+ void doLayout();
+
+ /** sets the layout manager to invisible state and hides all user interface elements.
+
+ <p>
+ A layout manager can be set to invisible state to force it to hide all of its
+ user interface elements. If another component wants to use the window for its
+ own user interface elements it can use this function. This function is normally
+ used to implement inplace editing.
+ </p>
+
+ @param Visible
+ provide `FALSE` to make layout manager invisible otherwise this must be
+ set to `TRUE`.
+ */
+ void setVisible( [in] boolean Visible );
+
+ /** retrieves the visibility state of a layout manager.
+
+ <p>
+ A layout manager can be set to invisible state to force it to hide all of its
+ user interface elements. If another component wants to use the window for its
+ own user interface elements it can use this function. This function is normally
+ used to implement inplace editing.
+ </p>
+
+ */
+ boolean isVisible();
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XLayoutManager2.idl b/offapi/com/sun/star/frame/XLayoutManager2.idl
new file mode 100644
index 000000000..2e926aeab
--- /dev/null
+++ b/offapi/com/sun/star/frame/XLayoutManager2.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_frame_XLayoutManager2_idl__
+#define __com_sun_star_frame_XLayoutManager2_idl__
+
+#include <com/sun/star/frame/XLayoutManager.idl>
+#include <com/sun/star/frame/XFrameActionListener.idl>
+#include <com/sun/star/ui/XUIConfigurationListener.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/frame/XMenuBarMergingAcceptor.idl>
+#include <com/sun/star/frame/XLayoutManagerEventBroadcaster.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/**
+ Unified interface for LayoutManager service.
+
+ @since LibreOffice 4.2
+*/
+interface XLayoutManager2
+{
+ /** central interface to query for, create, destroy and manipulate user
+ interface elements which are bound to a frame.
+
+ @see ::com::sun::star::frame::XLayoutManager;
+ */
+ interface ::com::sun::star::frame::XLayoutManager;
+
+ /** notification interface to receive status information about the state
+ of the connected frame.
+
+ <p>
+ E.g., you can receive events of instantiation/destruction and
+ activation/deactivation of a frame.
+ </p>
+
+ @see XFrame::addFrameActionListener()
+ @see XFrame::removeFrameActionListener()
+ */
+ interface ::com::sun::star::frame::XFrameActionListener;
+
+ /** notification interface to receive change messages of user interface
+ elements which are part of the layout manager.
+
+ <p>
+ E.g., you can receive events of insertion/replacing and
+ removing of settings data of user interface elements.
+ </p>
+
+ @see com::sun::star::ui::XUIConfiguration
+ */
+ interface ::com::sun::star::ui::XUIConfigurationListener;
+
+ /** provides functions to merge menus for inplace editing of components
+ inside OpenOffice.org.
+ */
+ interface ::com::sun::star::frame::XMenuBarMergingAcceptor;
+
+ /** registers listeners that want to receive layout manager
+ events.
+ */
+ interface ::com::sun::star::frame::XLayoutManagerEventBroadcaster;
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XLayoutManagerEventBroadcaster.idl b/offapi/com/sun/star/frame/XLayoutManagerEventBroadcaster.idl
new file mode 100644
index 000000000..09336dc02
--- /dev/null
+++ b/offapi/com/sun/star/frame/XLayoutManagerEventBroadcaster.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_frame_XLayoutManagerEventBroadcaster_idl__
+#define __com_sun_star_frame_XLayoutManagerEventBroadcaster_idl__
+
+#include <com/sun/star/frame/XLayoutManagerListener.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/** makes it possible to receive events from a layout manager.
+
+ @see ::com::sun::star::frame::LayoutManager
+
+ @since OOo 2.0
+ */
+
+interface XLayoutManagerEventBroadcaster : com::sun::star::uno::XInterface
+{
+ /** adds a layout manager event listener to the object's listener list.
+
+ @param aLayoutManagerListener
+ a listener that wants to receive events regarding user interface
+ elements that are controlled by a layout manager.
+ */
+ void addLayoutManagerEventListener( [in] XLayoutManagerListener aLayoutManagerListener );
+
+ /** removes a layout manager event listener from the object's listener
+ list.
+
+ @param aLayoutManagerListener
+ a listener that don't want to receive events regarding user
+ interface elements that are controlled by a layout manager.
+ */
+ void removeLayoutManagerEventListener( [in] XLayoutManagerListener aLayoutManagerListener );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XLayoutManagerListener.idl b/offapi/com/sun/star/frame/XLayoutManagerListener.idl
new file mode 100644
index 000000000..e0ed70f90
--- /dev/null
+++ b/offapi/com/sun/star/frame/XLayoutManagerListener.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_frame_XLayoutManagerListener_idl__
+#define __com_sun_star_frame_XLayoutManagerListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+
+
+module com { module sun { module star { module frame {
+
+/** makes it possible to receive events from a layout manager.
+
+ <p>Events are provided <strong>only</strong> for notification
+ purposes only. All operations are handled internally by the
+ layout manager component, so that GUI layout works properly
+ regardless of whether a component registers such a listener
+ or not.</p>
+
+ @see ::com::sun::star::frame::LayoutManager
+ @see ::com::sun::star::frame::LayoutManagerEvents
+
+ @since OOo 2.0
+ */
+interface XLayoutManagerListener : com::sun::star::lang::XEventListener
+{
+ /** is invoked when a layout manager has made a certain operation.
+
+ @param aSource
+ reference to the layout manager which invoked the event.
+
+ @param eLayoutEvent
+ identifies the layout event that has occurred.
+
+ @param aInfo
+ provides additional information about the event. The type
+ of info depends on the event.
+ */
+ void layoutEvent( [in] com::sun::star::lang::EventObject aSource, [in] short eLayoutEvent, [in] any aInfo );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XLoadEventListener.idl b/offapi/com/sun/star/frame/XLoadEventListener.idl
new file mode 100644
index 000000000..90992d953
--- /dev/null
+++ b/offapi/com/sun/star/frame/XLoadEventListener.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_frame_XLoadEventListener_idl__
+#define __com_sun_star_frame_XLoadEventListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+
+
+ module com { module sun { module star { module frame {
+
+ published interface XFrameLoader;
+
+/** is used to receive callbacks from an asynchronous frame loader.
+
+ @see XFrameLoader
+ */
+published interface XLoadEventListener: com::sun::star::lang::XEventListener
+{
+ /** is called when a new component is loaded into a frame successfully.
+
+ @param Loader
+ the source of this event
+ */
+ void loadFinished( [in] XFrameLoader Loader );
+
+ /** is called when a frame load is canceled or failed.
+
+ @param Loader
+ the source of this event
+ */
+ void loadCancelled( [in] XFrameLoader Loader );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XLoadable.idl b/offapi/com/sun/star/frame/XLoadable.idl
new file mode 100644
index 000000000..a6b23b522
--- /dev/null
+++ b/offapi/com/sun/star/frame/XLoadable.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_frame_XLoadable_idl__
+#define __com_sun_star_frame_XLoadable_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/io/IOException.idl>
+#include <com/sun/star/frame/DoubleInitializationException.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+
+
+
+ module com { module sun { module star { module frame {
+
+/** offers a simple way to initialize a component or load it from a URL.
+ <p>In case an object supports the interface the object must be initialized
+ with either initNew() or load() call before any usage. In case the object
+ is already initialized the mentioned methods should throw DoubleInitializationException.
+ </p>
+
+ @since OOo 1.1.2
+ */
+published interface XLoadable: com::sun::star::uno::XInterface
+{
+ /** creates a component from scratch
+ */
+ void initNew()
+ raises( DoubleInitializationException, com::sun::star::io::IOException, com::sun::star::uno::Exception );
+
+ /** loads a component from a URL
+ @param lArguments
+ parameters for saving
+ (see com::sun::star::document::MediaDescriptor for further details)
+ the FileName parameter must be specified, other parameters are optional
+ */
+
+ void load( [in] sequence<com::sun::star::beans::PropertyValue> lArguments )
+ raises( DoubleInitializationException, com::sun::star::io::IOException, com::sun::star::uno::Exception );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XLoaderFactory.idl b/offapi/com/sun/star/frame/XLoaderFactory.idl
new file mode 100644
index 000000000..f6b8dd7a2
--- /dev/null
+++ b/offapi/com/sun/star/frame/XLoaderFactory.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_frame_XLoaderFactory_idl__
+#define __com_sun_star_frame_XLoaderFactory_idl__
+
+#include <com/sun/star/container/XContainerQuery.idl>
+#include <com/sun/star/container/XNameAccess.idl>
+#include <com/sun/star/lang/XMultiServiceFactory.idl>
+
+
+
+ module com { module sun { module star { module frame {
+
+/**
+ Unified service interface for FrameLoaderFactory and ContentHandlerFactory.
+
+ @since LibreOffice 4.2
+ */
+published interface XLoaderFactory
+{
+ /** interface to create loader objects by using his internal name
+
+ <p>
+ Returned objects must support the service specification of a FrameLoader
+ or SynchronousFrameLoader. (Note: last one will be preferred if both
+ are available)
+ They can be created by using of his internal name, which must be unambiguous every time, only.
+ To get this name use further specified interfaces of this factory for access on
+ the flat configuration.
+ </p>
+ */
+ interface com::sun::star::lang::XMultiServiceFactory;
+
+ /** provides access to the whole frame loader configuration
+
+ <p>This interface supports an access to the internal configuration of all accessible loader objects.
+ The return value of com::sun::star::container::XNameAccess::getByName()
+ is a property sequence packed in an any.
+ </p>
+ <table border=1>
+ <tr>
+ <td><b>Types</b></td>
+ <td>[string]</td>
+ <td>file types which loader is registered for</td>
+ </tr>
+ <tr>
+ <td><b>UIName</b></td>
+ <td>[string]</td>
+ <td>UI representable and localized name</td>
+ </tr>
+ </table>
+ */
+ interface com::sun::star::container::XNameAccess;
+
+ /** supports query mode for configuration access
+
+ <p>
+ This interface can be used to get sub sets of current configuration entries
+ which represent given search parameters.
+ </p>
+ */
+ interface com::sun::star::container::XContainerQuery;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XMenuBarAcceptor.idl b/offapi/com/sun/star/frame/XMenuBarAcceptor.idl
new file mode 100644
index 000000000..c96402376
--- /dev/null
+++ b/offapi/com/sun/star/frame/XMenuBarAcceptor.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_frame_XMenuBarAcceptor_idl__
+#define __com_sun_star_frame_XMenuBarAcceptor_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/awt/XMenuBar.idl>
+
+
+module com { module sun { module star { module frame {
+
+
+/** provides function to update a menu bar for inplace editing.
+
+ @deprecated
+
+ @since OOo 2.0
+*/
+
+interface XMenuBarAcceptor : com::sun::star::uno::XInterface
+{
+ /** update menu bar according to the current frame mode. This is used in
+ inplace editing mode where we have to merge our own menu into the
+ container applications menu.
+
+ @param xMenuBar
+ the menu bar that should be merged with current one.
+ */
+ void updateMenuBar( [inout] com::sun::star::awt::XMenuBar xMenuBar );
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XMenuBarMergingAcceptor.idl b/offapi/com/sun/star/frame/XMenuBarMergingAcceptor.idl
new file mode 100644
index 000000000..7079ba58f
--- /dev/null
+++ b/offapi/com/sun/star/frame/XMenuBarMergingAcceptor.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_frame_XMenuBarMergingAcceptor_idl__
+#define __com_sun_star_frame_XMenuBarMergingAcceptor_idl__
+
+#include <com/sun/star/container/XIndexAccess.idl>
+#include <com/sun/star/frame/XDispatchProvider.idl>
+
+
+module com { module sun { module star { module frame {
+
+
+/** provides functions to set and remove a merged menu bar for inplace
+ editing.
+
+ @since OOo 2.0
+*/
+
+interface XMenuBarMergingAcceptor : com::sun::star::uno::XInterface
+{
+ /** allows to set a merged menu bar.
+
+ @param xMergedMenuBar
+ specifies the merged menu bar.
+
+ <p>
+ This function is normally used to provide inplace editing where
+ functions from two application parts, container application and
+ embedded object, are available to the user simultaneously. A menu
+ bar which is set by this method has a higher priority than others
+ created by com::sun::star::frame::XLayoutManager
+ interface. Settings of a merged menu bar cannot be retrieved.
+ </p>
+
+ @see com::sun::star::ui::UIElementSettings
+ @see com::sun::star::frame::XDispatchProvider
+ @see com::sun::star::frame::XLayoutManager
+ */
+ boolean setMergedMenuBar(
+ [in] ::com::sun::star::container::XIndexAccess xMergedMenuBar );
+
+ /** removes a previously set merged menu bar and sets a previously created
+ menu bar back.
+ */
+ void removeMergedMenuBar();
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XModel.idl b/offapi/com/sun/star/frame/XModel.idl
new file mode 100644
index 000000000..17bd7337f
--- /dev/null
+++ b/offapi/com/sun/star/frame/XModel.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_frame_XModel_idl__
+#define __com_sun_star_frame_XModel_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/frame/XController.idl>
+#include <com/sun/star/container/NoSuchElementException.idl>
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+ module com { module sun { module star { module frame {
+
+/** represents a component which is created from a URL and arguments.
+
+ <p>
+ It is a representation of a resource in the sense that it was
+ created/loaded from the resource. The arguments are passed to the loader
+ to modify its behavior. An example for such an argument is "AsTemplate",
+ which loads the resource as a template for a new document.
+ (see com::sun::star::document::MediaDescriptor for further details)
+ </p>
+
+ <p>
+ Models can be controlled by controller components, which are usually
+ views of the model.
+ (see Controller for further details)
+ </p>
+
+ <p>
+ If there is at least one controller, there is by definition a
+ current controller. And if that controller supports the interface
+ com::sun::star::view::XSelectionSupplier, it has a current selection too.
+ </p>
+
+ @see com::sun::star::document::MediaDescriptor
+ @see Controller
+ @see com::sun::star::view::XSelectionSupplier
+ */
+published interface XModel: com::sun::star::lang::XComponent
+{
+ /** informs a model about its resource description.
+
+ @param URL
+ specifies the resource
+
+ @param Arguments
+ are optional arguments for that resource
+ (see com::sun::star::document::MediaDescriptor)
+
+ @return
+ `TRUE` for success
+ <br>
+ `FALSE` otherwise
+ */
+ boolean attachResource(
+ [in] string URL,
+ [in] sequence<com::sun::star::beans::PropertyValue> Arguments);
+
+ /** provides information about the location of this model
+
+ @returns
+ the URL of the resource which is represented by this model.
+
+ @see XStorable::getLocation()
+ */
+ string getURL();
+
+ /** provides read access on currently representation of the
+ com::sun::star::document::MediaDescriptor
+ of this model which describes the model and its state
+
+ @returns
+ the arguments with which the model was originally created or
+ stored the last time.
+ */
+ sequence< com::sun::star::beans::PropertyValue > getArgs();
+
+ /** is called whenever a new controller is created for this model.
+
+ <p>
+ The com::sun::star::lang::XComponent interface
+ of the controller must be used to recognize when it is deleted.
+ </p>
+
+ @param Controller
+ a new controller for this model
+
+ @see XModel::disconnectController()
+ */
+ void connectController( [in] XController Controller );
+
+ /** is called whenever an existing controller should be deregistered at this model.
+
+ <p>
+ The com::sun::star::lang::XComponent interface
+ of the controller must be used to recognize when it is deleted.
+ </p>
+
+ @param Controller
+ the existing controller which should be deregistered
+
+ @see XModel::connectController()
+ */
+ void disconnectController( [in] XController Controller );
+
+ /** suspends some notifications to the controllers which are used
+ for display updates.
+
+ <p>
+ The calls to XModel::lockControllers() and
+ XModel::unlockControllers() may be
+ nested and even overlapping, but they must be in pairs. While
+ there is at least one lock remaining, some notifications
+ for display updates are not broadcasted.
+ </p>
+ */
+ void lockControllers();
+
+ /** resumes the notifications which were suspended by
+ XModel::lockControllers().
+
+ <p>
+ The calls to XModel::lockControllers() and
+ XModel::unlockControllers() may be
+ nested and even overlapping, but they must be in pairs. While
+ there is at least one lock remaining, some notifications for
+ display updates are not broadcasted.
+ </p>
+ */
+ void unlockControllers();
+
+ /** determines if there is at least one lock remaining.
+
+ <p>
+ While there is at least one lock remaining, some notifications
+ for display updates are not broadcasted to the controllers.
+ </p>
+
+ @return
+ `TRUE` if any lock exist
+ <br>
+ `FALSE` otherwise
+ */
+ boolean hasControllersLocked();
+
+ /** provides access to the controller which currently controls this model
+
+ @returns
+ If the controller which is active is a controller of this model,
+ it will be returned. If not, the controller which was the last
+ active of this model is returned. If no controller of this model
+ ever was active, the controller first registered is returned. If no
+ controller is registered for this model, `NULL` is returned.
+ */
+ XController getCurrentController();
+
+ /** sets a registered controller as the current controller.
+
+ @param Controller
+ reference to an already existing connected controller, which should be
+ the new active one
+
+ @throws com::sun::star::container::NoSuchElementException
+ if <var>xController</var> isn't an already connected controller on this model
+ */
+ void setCurrentController( [in] XController Controller )
+ raises( com::sun::star::container::NoSuchElementException );
+
+ /** provides read access on current selection on controller
+
+ @returns
+ the current selection in the current controller.
+ If there is no current controller, it returns `NULL`.
+ */
+ com::sun::star::uno::XInterface getCurrentSelection();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XModel2.idl b/offapi/com/sun/star/frame/XModel2.idl
new file mode 100644
index 000000000..615fc8244
--- /dev/null
+++ b/offapi/com/sun/star/frame/XModel2.idl
@@ -0,0 +1,166 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XModel2_idl__
+#define __com_sun_star_frame_XModel2_idl__
+
+#include <com/sun/star/frame/XController2.idl>
+#include <com/sun/star/frame/XModel.idl>
+#include <com/sun/star/container/XEnumeration.idl>
+#include <com/sun/star/awt/XWindow.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/util/InvalidStateException.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/** extends interface XModel.
+
+ The following functions are added:
+
+ - enumeration of all currently connected controller objects.
+ (not getCurrentController() only, which depends on focus)
+
+ - establish new view controller factory methods, which will make
+ it possible to create new views for this model.
+ */
+interface XModel2 : com::sun::star::frame::XModel
+{
+ /** provides list of all currently connected controller objects.
+
+ <p>
+ Please note: Because this interface will might be used inside
+ multi threaded environments those list can contain still disposed items
+ or it new added controller will be missing (if they were added after this
+ enumeration was created).
+ </P>
+
+ @returns
+ list of controller objects.
+ Enumeration can be empty but not NULL.
+ */
+ com::sun::star::container::XEnumeration getControllers();
+
+ /** provides the available names of the factory to be used to create views.
+
+ <p>The names are usually logical view names. The following names have
+ a defined meaning, i.e. every concrete implementation which returns such
+ a name must ensure it has the same meaning, and if a concrete implementation
+ has a view with the given meaning, it must give it the name as defined here:
+ <ul>
+ <li><b>Default</b> specifies the default view of the document.</li>
+ <li><b>Preview</b> specifies a preview of the document. A minimal implementation of such a view
+ is a <em>Default</em> view which is read-only.</li>
+ <li><b>PrintPreview</b> specifies a print preview of the document.</li>
+ </ul>
+ </p>
+
+ <p>Implementations of this interface might decide to support additional
+ view names, which then are documented in the respective service descriptions.</p>
+
+ @see createView
+
+ @returns
+ a sequence of names of all supported views for this document.
+ */
+ sequence< string > getAvailableViewControllerNames();
+
+ /** creates the default view instance for this model.
+
+ <p>Effectively, this method is equivalent to calling createView() with
+ the <code>ViewName</code> being <code>&quot;Default&quot;</code>.</p>
+
+ @param Frame
+ used to place the new created view there
+
+ @return the new view controller instance
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if one of the given parameter was wrong
+
+ @throws ::com::sun::star::uno::Exception
+ if creation of a new view failed by other reasons
+ */
+ com::sun::star::frame::XController2 createDefaultViewController( [in] com::sun::star::frame::XFrame Frame )
+ raises (com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::uno::Exception );
+
+ /** creates a new view instance classified by the specified name and arguments.
+
+ <p>The newly created controller must not be connected with the document and the
+ frame. That is, you should neither call XFrame::setComponent(), nor
+ XController::attachFrame(), nor XController::attachModel(),
+ nor XModel::connectController(), not XModel::setCurrentController().
+ All of this is the responsibility of the caller, which will do it in the proper order.</p>
+
+ @param ViewName
+ classified name of instance
+
+ @param Arguments
+ arguments used for creation
+
+ @param Frame
+ used to place the new created view there
+
+ @return the new view controller instance
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if one of the given parameter was wrong
+
+ @throws ::com::sun::star::uno::Exception
+ if creation of a new view failed by other reasons
+ */
+ com::sun::star::frame::XController2 createViewController( [in] string ViewName ,
+ [in] sequence< com::sun::star::beans::PropertyValue > Arguments ,
+ [in] com::sun::star::frame::XFrame Frame )
+ raises (com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::uno::Exception );
+
+ /** Sets com::sun::star::document::MediaDescriptor properties
+ of the current model during runtime.
+
+ @since LibreOffice 6.3
+
+ @param Arguments
+ Properties which should be set
+ Supported properties:
+ <ul>
+ <li>com::sun::star::document::MediaDescriptor::SuggestedSaveAsDir</li>
+ <li>com::sun::star::document::MediaDescriptor::SuggestedSaveAsName</li>
+ <li>com::sun::star::document::MediaDescriptor::LockContentExtraction</li>
+ <li>com::sun::star::document::MediaDescriptor::LockExport</li>
+ <li>com::sun::star::document::MediaDescriptor::LockPrint</li>
+ <li>com::sun::star::document::MediaDescriptor::LockSave</li>
+ <li>com::sun::star::document::MediaDescriptor::LockEditDoc</li>
+ <li>com::sun::star::document::MediaDescriptor::EncryptionData (since LibreOffice 7.0)</li>
+ </ul>
+
+ @throws com::sun::star::lang::IllegalArgumentException When trying to set an unsupported property
+ @throws com::sun::star::util::InvalidStateException When the document model can not be retrieved
+ */
+ void setArgs([in] sequence< com::sun::star::beans::PropertyValue > Arguments)
+ raises(com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::util::InvalidStateException);
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XModel3.idl b/offapi/com/sun/star/frame/XModel3.idl
new file mode 100644
index 000000000..96c527d26
--- /dev/null
+++ b/offapi/com/sun/star/frame/XModel3.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_frame_XModel3_idl__
+#define __com_sun_star_frame_XModel3_idl__
+
+#include <com/sun/star/frame/XModel2.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/** extends interface XModel2 with optimised read access getArgs().
+
+ */
+interface XModel3 : com::sun::star::frame::XModel2
+{
+ /** Provides optimised read access
+ (so we don't need to fetch expensive properties that we are not interested in)
+ on currently representation of the
+ com::sun::star::document::MediaDescriptor
+ of this model which describes the model and its state.
+ Returns only the selected args.
+
+ @param requestedArgs
+ @returns the requested and possibly some more arguments with which the model was originally created or
+ stored the last time.
+ */
+ sequence< com::sun::star::beans::PropertyValue > getArgs2([in] sequence< string > requestedArgs);
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XModule.idl b/offapi/com/sun/star/frame/XModule.idl
new file mode 100644
index 000000000..978332fb0
--- /dev/null
+++ b/offapi/com/sun/star/frame/XModule.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_frame_XModule_idl__
+#define __com_sun_star_frame_XModule_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/frame/UnknownModuleException.idl>
+
+
+module com { module sun { module star { module frame {
+
+/** can be used to overrule identification of office modules.
+
+ <p>
+ Normally an office module will be identified by its service name
+ in combination with a set of configuration data.
+ But sometimes whole existing office modules will be used as black box components
+ to implement a different office module on top of it. Patching a service name
+ is not possible. So this optional interface can be used to overwrite identification
+ of a module.
+ </p>
+
+ @see XModuleManager
+
+ @since OOo 2.3
+ */
+interface XModule : com::sun::star::uno::XInterface
+{
+ /** @param Identifier
+ a new "name" for this module.
+ */
+ void setIdentifier([in] string Identifier);
+
+ /** @return the module identifier.
+ */
+ string getIdentifier();
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XModuleManager.idl b/offapi/com/sun/star/frame/XModuleManager.idl
new file mode 100644
index 000000000..a5f782233
--- /dev/null
+++ b/offapi/com/sun/star/frame/XModuleManager.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_frame_XModuleManager_idl__
+#define __com_sun_star_frame_XModuleManager_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/frame/UnknownModuleException.idl>
+
+
+module com { module sun { module star { module frame {
+
+/** can be used to identify office modules.
+
+ @since OOo 2.0
+ */
+interface XModuleManager : com::sun::star::uno::XInterface
+{
+ /**
+ @short identifies the given module.
+
+ @details This identifier can then be used at the service ModuleManager
+ to get more information about this module.
+
+ For identification the interface com::sun::star::lang::XServiceInfo
+ is requested on the given module. Because all module service registrations must be unique
+ this value can be queried and checked against the configuration.
+
+ Since OOo 2.3.0 also the optional interface XModule will be used.
+ If its exists it will be preferred.
+
+ @param Module
+ Possible objects for this parameter can be the following one:
+ <ul>
+ <li>
+ <b>com::sun::star::frame::XFrame</b><br>
+ A frame contains (against a component window) a controller.
+ Such controller represent the module (in case no model exists).
+ </li>
+ <li>
+ <b>com::sun::star::frame::XController</b><br>
+ A controller can be bound to a model. Then the model represent the module.
+ If no model exists - the controller is used for identification.
+ </li>
+ <li>
+ <b>com::sun::star::frame::XModel</b><br>
+ A model represent a module every time and can be used for
+ identification directly.
+ </li>
+ </ul>
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the parameter Module is:
+ <ul>
+ <li>an empty one</li>
+ <li>or does not provide one of the needed interface
+ XFrame, XController, XModel</li>
+ <li>or does not provide the needed interface XServiceInfo.</li>
+ </ul>
+
+ @throws UnknownModuleException
+ if the given module could not be identified.
+ Note: If the module represent a XFrame instance with does not contain
+ a document, this exception is thrown too!
+
+ @return An identifier for the given module.
+ Note: This value varies every time. Error will be transported
+ by thrown exceptions!
+ */
+ string identify( [in] ::com::sun::star::uno::XInterface Module )
+ raises(::com::sun::star::lang::IllegalArgumentException,
+ UnknownModuleException );
+
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XModuleManager2.idl b/offapi/com/sun/star/frame/XModuleManager2.idl
new file mode 100644
index 000000000..91e6ed6b4
--- /dev/null
+++ b/offapi/com/sun/star/frame/XModuleManager2.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_frame_XModuleManager2_idl__
+#define __com_sun_star_frame_XModuleManager2_idl__
+
+#include <com/sun/star/frame/XModuleManager.idl>
+#include <com/sun/star/container/XNameReplace.idl>
+
+
+module com { module sun { module star { module frame {
+
+/**
+ This interface provides a merged single interface for the ModuleManager
+ service to implement.
+
+ @since LibreOffice 4.0
+*/
+interface XModuleManager2
+{
+ /** provides functions to identify office modules.
+ */
+ interface XModuleManager;
+
+ /** provides read access to the configuration of office modules.
+
+ <p>
+ Every module is referenced by a unique service name
+ (which is used inside configuration as set node name too)
+ and is further represented by a sequence of elements of type
+ com::sun::star::beans::PropertyValue.
+ A list of properties can be gotten from the configuration template
+ org.openoffice.Setup/Factory.
+ </p>
+ */
+ interface ::com::sun::star::container::XNameReplace;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XNotifyingDispatch.idl b/offapi/com/sun/star/frame/XNotifyingDispatch.idl
new file mode 100644
index 000000000..416317022
--- /dev/null
+++ b/offapi/com/sun/star/frame/XNotifyingDispatch.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_frame_XNotifyingDispatch_idl__
+#define __com_sun_star_frame_XNotifyingDispatch_idl__
+
+#include <com/sun/star/frame/XDispatch.idl>
+#include <com/sun/star/frame/XDispatchResultListener.idl>
+
+module com { module sun { module star { module frame {
+
+/** dispatch with guaranteed notify (instead of XDispatch)
+
+ @see XDispatch
+ @see XStatusListener
+ */
+published interface XNotifyingDispatch: XDispatch
+{
+ /** Do the same like XDispatch::dispatch() but notifies
+ listener in every case. Should be used if result must be known.
+
+ @param URL
+ full parsed URL describes the feature which should be dispatched (executed)
+
+ @param Arguments
+ optional arguments for this request
+ (see com::sun::star::document::MediaDescriptor)
+
+ @param Listener
+ optional listener for guaranteed notifications of this request
+ */
+ void dispatchWithNotification(
+ [in] com::sun::star::util::URL URL,
+ [in] sequence<com::sun::star::beans::PropertyValue> Arguments,
+ [in] XDispatchResultListener Listener);
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XPopupMenuController.idl b/offapi/com/sun/star/frame/XPopupMenuController.idl
new file mode 100644
index 000000000..89c354a8c
--- /dev/null
+++ b/offapi/com/sun/star/frame/XPopupMenuController.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_frame_XPopupMenuController_idl__
+#define __com_sun_star_frame_XPopupMenuController_idl__
+
+#include <com/sun/star/awt/XPopupMenu.idl>
+
+
+module com { module sun { module star { module frame {
+
+
+/** provides data to a pop-up menu controller implementation to
+ fill and update a pop-up menu dynamically.
+
+ <p>
+ A pop-up menu controller gets a com::sun::star::awt::XPopupMenu
+ from its parent menu implementation. The controller has to fill this pop-up
+ menu with a set of menu items and/or sub menus. The parent menu implementation
+ briefs the controller whenever the pop-up menu gets activated by a user.
+ </p>
+
+ @since OOo 2.0
+*/
+interface XPopupMenuController : com::sun::star::uno::XInterface
+{
+ /** provides a com::sun::star::awt::XPopupMenu to a
+ pop-up menu controller implementation. The controller must fill this
+ pop-up menu with its functions.
+
+ @param PopupMenu
+ An empty pop-up menu that must be filled by the pop-up menu controller.
+ */
+ void setPopupMenu( [in] com::sun::star::awt::XPopupMenu PopupMenu );
+
+ /** briefs the pop-up menu controller to update the contents of the provided
+ pop-up menu to reflect the current state.
+
+ <p>A controller should <b>never</b> update the pop-up menu structure on its
+ own to prevent performance problems. A better way would be that a controller
+ registers itself as status listener to for a command URL and immediately
+ deregister after that. Therefore status updates will not be send regularly
+ for a non visible pop-up menu.
+ </p>
+ */
+ void updatePopupMenu();
+};
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XRecordableDispatch.idl b/offapi/com/sun/star/frame/XRecordableDispatch.idl
new file mode 100644
index 000000000..211dacf63
--- /dev/null
+++ b/offapi/com/sun/star/frame/XRecordableDispatch.idl
@@ -0,0 +1,96 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XRecordableDispatch_idl__
+#define __com_sun_star_frame_XRecordableDispatch_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/frame/XDispatchRecorder.idl>
+#include <com/sun/star/util/URL.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/** extends an existing XDispatch implementation with functionality
+ for dispatch recording
+
+ <p>
+ This interface can be implemented as an additional one beside an existing
+ XDispatch one to provide record functionality of dispatches.
+ Because it's an additional interface the status events are available there
+ and not at this interface.
+ </p>
+
+ <p>
+ But normally this interface mustn't be used directly.
+ If a dispatch object is well known and recording was enabled
+ on a XDispatchRecorderSupplier it's possible to use method
+ XDispatchRecorderSupplier::dispatchAndRecord() of it
+ to make dispatch and recording automatically. The interface XRecordableDispatch
+ is used transparently there.
+ </p>
+
+ @code{.java}
+ XDispatch xDispatcher = xFrame.queryDispatch(aURL,"",0);
+ XRecordableDispatch xRecordable =
+ (XRecordableDispatch)UnoRuntime.queryInterface(
+ XRecordableDispatch.class,
+ xDispatcher);
+
+ xDispatcher.addStatusListener(this,aURL);
+
+ if (xRecordable != null)
+ xRecordable.dispatchAndRecord(aURL,lArguments,xRecorder);
+ else
+ xDispatcher.dispatch(aURL,lArguments);
+ ...
+ xDispatcher.removeStatusListener(this,aURL);
+ @endcode
+
+ @see XDispatchRecorderSupplier
+ @see XDispatch
+
+ @since OOo 1.1.2
+ */
+published interface XRecordableDispatch: com::sun::star::uno::XInterface
+{
+ /** dispatch and record it
+
+ @param URL
+ full parsed URL which describe the feature which should be dispatched (executed)
+
+ @param Arguments
+ optional arguments for this request
+ (see com::sun::star::document::MediaDescriptor for details)
+
+ @param Recorder
+ object which can be used to record the request
+ (available on XDispatchRecorderSupplier::getDispatchRecorder())
+ */
+ void dispatchAndRecord(
+ [in] com::sun::star::util::URL URL,
+ [in] sequence<com::sun::star::beans::PropertyValue> Arguments,
+ [in] XDispatchRecorder Recorder);
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XSessionManagerClient.idl b/offapi/com/sun/star/frame/XSessionManagerClient.idl
new file mode 100644
index 000000000..247733f7d
--- /dev/null
+++ b/offapi/com/sun/star/frame/XSessionManagerClient.idl
@@ -0,0 +1,96 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XSessionManagerClient_idl__
+#define __com_sun_star_frame_XSessionManagerClient_idl__
+
+#include <com/sun/star/frame/XSessionManagerListener.idl>
+
+
+module com { module sun { module star { module frame {
+
+/** Connect to a session manager to get information about pending
+ desktop shutdown
+
+ */
+ interface XSessionManagerClient : com::sun::star::uno::XInterface
+ {
+
+ /** addSessionManagerListener registers a listener for session management events
+
+ @param xListener
+ listener for session management events
+
+ @see XSessionManagerListener
+ @see XSessionManagerClient::removeSessionManagerListener()
+ */
+ void addSessionManagerListener( [in] XSessionManagerListener xListener );
+
+ /** removeSessionManagerListener deregisters a listener for session events
+
+ @param xListener
+ listener to be removed
+
+ @see XSessionManagerListener
+ @see XSessionManagerClient::addSessionManagerListener()
+ */
+ void removeSessionManagerListener( [in] XSessionManagerListener xListener );
+
+ /** queryInteraction issues a request for a user interaction slot
+ from the session manager
+
+ @param xListener
+ the listener requesting user interaction
+
+ @see XSessionManagerListener
+ */
+ void queryInteraction( [in] XSessionManagerListener xListener );
+
+ /** interactionDone is called when a listener has finished user interaction
+
+ @param xListener
+ the listener done with user interaction
+
+ @see XSessionManagerListener
+ */
+ void interactionDone( [in] XSessionManagerListener xListener );
+
+ /** saveDone signals that a listener has processed a save request
+
+ @param xListener
+ the listener having finished save request processing
+
+ @see XSessionManagerListener
+ */
+ void saveDone( [in] XSessionManagerListener xListener );
+
+ /** Call cancelShutdown to try to cancel a desktop shutdown in progress
+
+ @returns
+ `TRUE` if shutdown was canceled,
+ `FALSE` else.
+ */
+ boolean cancelShutdown();
+ };
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XSessionManagerListener.idl b/offapi/com/sun/star/frame/XSessionManagerListener.idl
new file mode 100644
index 000000000..d82e7b091
--- /dev/null
+++ b/offapi/com/sun/star/frame/XSessionManagerListener.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_frame_XSessionManagerListener_idl__
+#define __com_sun_star_frame_XSessionManagerListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+
+module com { module sun { module star { module frame {
+
+ interface XSessionManagerListener : com::sun::star::lang::XEventListener
+ {
+
+ /** doSave gets called when a save event was issued by the session manager
+ the listener should do what is necessary to restore
+ the current state of the application
+
+ <p>If the listener desires to interact with the user
+ it must first issue a user interaction request and
+ only do so if interaction was granted</p>
+
+ <p>When the save request is processed (with or without
+ user interaction) the listener must call
+ XSessionManagerClient::saveDone()
+ on the session manager client service object.</p>
+
+ @param bShutdown
+ `TRUE` if a shutdown is in progress,
+ `FALSE` if just a save point was requested
+
+ @param bCancelable
+ `TRUE` if a shutdown in progress can be canceled by the listener,
+ `FALSE` else
+
+ <p>the listener may choose to ignore the saveDone()
+ event in case no real shutdown is in progress. He
+ still has to call
+ XSessionManagerClient::saveDone()
+ in that case.</p>
+
+ @see XSessionManagerClient
+ @see XSessionManagerClient::saveDone()
+ */
+ void doSave( [in] boolean bShutdown, [in] boolean bCancelable );
+
+ /** approveInteraction is called when an outstanding
+ interaction request was processed by the session manager
+
+ @param bInteractionGranted
+ If `FALSE` the listener must not interact with the user.
+ If `TRUE` the listener can interact with the user now.
+ After interaction the listener must call
+ XSessionManagerClient::interactionDone()
+ on the session manager client service object.
+
+ @see XSessionManagerClient
+ @see XSessionManagerClient::interactionDone()
+ */
+ void approveInteraction( [in] boolean bInteractionGranted );
+
+ /** shutdownCanceled is called when a shutdown was canceled by the user
+ The listener can cancel his saving operations. No
+ further interaction is necessary and further calls
+ on the session manager client service object will
+ be ignored.
+ */
+ void shutdownCanceled();
+
+ /** returns true, if a session was restored
+ */
+ boolean doRestore();
+ };
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XSessionManagerListener2.idl b/offapi/com/sun/star/frame/XSessionManagerListener2.idl
new file mode 100644
index 000000000..e1245511b
--- /dev/null
+++ b/offapi/com/sun/star/frame/XSessionManagerListener2.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XSessionManagerListener2_idl__
+#define __com_sun_star_frame_XSessionManagerListener2_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+#include <com/sun/star/frame/XSessionManagerListener.idl>
+
+module com { module sun { module star { module frame {
+
+ interface XSessionManagerListener2 : XSessionManagerListener
+ {
+ /** doQuit gets called when the session manager has decided
+ the application should quit. Under these circumstances bringing up
+ further UI will usually be impossible and must be avoided.
+ */
+ void doQuit();
+ };
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XStatusListener.idl b/offapi/com/sun/star/frame/XStatusListener.idl
new file mode 100644
index 000000000..ee53f9d78
--- /dev/null
+++ b/offapi/com/sun/star/frame/XStatusListener.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_frame_XStatusListener_idl__
+#define __com_sun_star_frame_XStatusListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+#include <com/sun/star/frame/FeatureStateEvent.idl>
+
+
+
+ module com { module sun { module star { module frame {
+
+/** makes it possible to receive events when the state of a feature changes.
+
+ <p>
+ Nobody guarantee any notification. Use combination of XNotifyingDispatch
+ and XDispatchResultListener for that.
+ </p>
+
+ @see XDispatch
+ @see XNotifyingDispatch
+ @see XDispatchResultListener
+ */
+published interface XStatusListener: com::sun::star::lang::XEventListener
+{
+ /** is called when the status of the feature changes.
+
+ @param State
+ provides information about changes of the requested feature
+ */
+ void statusChanged( [in] FeatureStateEvent State );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XStatusbarController.idl b/offapi/com/sun/star/frame/XStatusbarController.idl
new file mode 100644
index 000000000..633e694d8
--- /dev/null
+++ b/offapi/com/sun/star/frame/XStatusbarController.idl
@@ -0,0 +1,213 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XStatusbarController_idl__
+#define __com_sun_star_frame_XStatusbarController_idl__
+
+#include <com/sun/star/awt/MouseEvent.idl>
+#include <com/sun/star/awt/Point.idl>
+#include <com/sun/star/awt/Rectangle.idl>
+#include <com/sun/star/awt/XGraphics.idl>
+#include <com/sun/star/frame/XStatusListener.idl>
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/lang/XInitialization.idl>
+#include <com/sun/star/util/XUpdatable.idl>
+
+module com { module sun { module star { module frame {
+
+/** interface to be implemented by a component offering a more complex user
+ interface to users within a status bar.
+
+ <p>
+ A generic status bar field is represented as a simple text field. A status
+ bar controller can be added to a Statusbar and provide information or
+ functions with a more sophisticated user interface.<br/>
+ A typical example for status bar controller is a zoom chooser. It shows
+ the current zoom and provides general zoom levels on a pop-up menu
+ that can be activated by a mouse action for context menus.
+ <p>
+
+ @see com::sun::star::frame::XDispatchProvider
+
+ @since OOo 2.0
+*/
+interface XStatusbarController
+{
+ /** used to control the life-time of the component
+
+ Used by a status bar implementation to control the life-time of
+ a status bar controller. The status bar is the only instance which
+ is allowed to dispose the component.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ /** used to initialize a component with required arguments.
+
+ <p>A status bar controller is initialized with <b>five</b> additional
+ arguments provided as a sequence of
+ com::sun::star::beans::PropertyValue:</p>
+
+ <ul>
+ <li><b>Frame</b><br/>a com::sun::star::frame::XFrame
+ instance to which the status bar controller belongs.
+ </li>
+ <li><b>CommandURL</b><br/>a string which specifies the command
+ associated with the statusbar controller.<br>
+ The command is used to identify the status bar controller
+ implementation.
+ </li>
+ <li><b>StatusbarItem</b><br/>a com::sun::star::ui::XStatusbarItem
+ instance which represents the status bar item associated with
+ this controller.
+ </li>
+ <li><b>ParentWindow</b><br/>a com::sun::star::awt::Window
+ instance which represents the parent window (status bar window).
+ </li>
+ <li><b>ModuleName</b><br/>a string which specifies the name of the
+ office module attached to the frame to which this controller
+ belongs; the value is taken from
+ com::sun::star::frame::XModuleManager::identify().
+ </li>
+ </ul>
+ */
+ interface com::sun::star::lang::XInitialization;
+
+ /** with this interface a component can receive events if a feature has
+ changed.
+
+ <p>The status bar controller implementation should register itself as a
+ listener when its com::sun::star::util::XUpdatable
+ interface has been called.</p>
+ */
+ interface com::sun::star::frame::XStatusListener;
+
+ /** used to notify an implementation that it needs to add its listener or
+ remove and add them again.
+
+ <p>
+ A status bar controller instance is ready for use after this call has
+ been made the first time. The status bar implementation guarantees that
+ the controller's item window has been added to the status bar and its
+ reference is held by it.
+ </p>
+ */
+ interface com::sun::star::util::XUpdatable;
+
+ /** is called by a status bar if the mouse position is within the controller
+ and a mouse button has been pressed. If the controller has captured the
+ mouse input this function is also called when the mouse position is not
+ within the controller.
+
+ @param aMouseEvent
+ current information about the mouse pointer.
+
+ @return
+ return `TRUE` if the event should not be processed and `FALSE`
+ if the event should be processed by the status bar.
+ */
+ boolean mouseButtonDown( [in] ::com::sun::star::awt::MouseEvent aMouseEvent );
+
+ /** is called by a status bar if the mouse position is within the controller
+ and a mouse has been moved. If the controller has captured the
+ mouse input this function is also called when the mouse position is not
+ within the controller.
+
+ @param aMouseEvent
+ current information about the mouse pointer.
+
+ @return
+ return `TRUE` if the event should not be processed and `FALSE`
+ if the event should be processed by the status bar.
+ */
+ boolean mouseMove( [in] ::com::sun::star::awt::MouseEvent aMouseEvent );
+
+ /** is called by a status bar if the mouse position is within the controller
+ and a mouse button has been released. If the controller has captured the
+ mouse input this function is also called when the mouse position is not
+ within the controller.
+
+ @param aMouseEvent
+ current information about the mouse pointer.
+
+ @return
+ return `TRUE` if the event should not be processed and `FALSE`
+ if the event should be processed by the status bar.
+ */
+ boolean mouseButtonUp( [in] ::com::sun::star::awt::MouseEvent aMouseEvent );
+
+ /** is called by a status bar if a command event is available for a controller.
+
+ @param aPos
+ the current mouse position in pixel.
+
+ @param nCommand
+ describes which command has been invoked.
+ <br/>See com::sun::star::awt::Command for
+ possible values.
+
+ @param bMouseEvent
+ `TRUE` if the command is based on a mouse event, otherwise `FALSE`.
+
+ @param aData
+ for future use only.
+ */
+ void command( [in] ::com::sun::star::awt::Point aPos,
+ [in] long nCommand,
+ [in] boolean bMouseEvent,
+ [in] any aData );
+
+ /** is called by a status bar if the controller has to update the visual
+ representation.
+
+ @param xGraphics
+ a reference to a com::sun::star::awt::XGraphics
+ which has to be used to update the visual representation.
+
+ @param OutputRectangle
+ a com::sun::star::awt::Rectangle which
+ determine the output rectangle for all drawing operations
+
+ @param nStyle
+ reserved for future use.
+ */
+ void paint( [in] ::com::sun::star::awt::XGraphics xGraphics,
+ [in] ::com::sun::star::awt::Rectangle OutputRectangle,
+ [in] long nStyle );
+
+ /** is called by a status bar if the user clicked with mouse into the
+ field of the corresponding control.
+
+ @param aPos
+ the current mouse position in pixel.
+ */
+ void click( [in] ::com::sun::star::awt::Point aPos );
+
+ /** is called by a status bar if the user double-clicked with mouse
+ into the field of the corresponding control.
+
+ @param aPos
+ the current mouse position in pixel.
+ */
+ void doubleClick( [in] ::com::sun::star::awt::Point aPos );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XStorable.idl b/offapi/com/sun/star/frame/XStorable.idl
new file mode 100644
index 000000000..60e8239e0
--- /dev/null
+++ b/offapi/com/sun/star/frame/XStorable.idl
@@ -0,0 +1,156 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XStorable_idl__
+#define __com_sun_star_frame_XStorable_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/io/IOException.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+
+
+
+ module com { module sun { module star { module frame {
+
+/** offers a simple way to store a component to a URL.
+
+ <p>
+ It is usually only useful for two cases:
+ </p>
+ <ol>
+ <li>
+ Large components which are wrapped up in UNO interfaces
+ and for which distinct filters are not available separately as
+ components.
+ </li>
+ <li>
+ Very small components for which only one or very few hard
+ coded file format filters make sense or even exist.
+ </li>
+ </ol>
+ */
+published interface XStorable: com::sun::star::uno::XInterface
+{
+ /** The object may know the location because it was loaded from there,
+ or because it is stored there.
+
+ @returns
+ `TRUE` if the object knows a location where it is persistent
+ `FALSE` otherwise
+ */
+ boolean hasLocation();
+
+ /** After XStorable::storeAsURL() it returns the
+ URL the object was stored to.
+
+ @returns
+ the URL of the resource which is represented by this object.
+ */
+ string getLocation();
+
+ /** It is not possible to call XStorable::store() successfully
+ when the data store is read-only.
+
+ @returns
+ `TRUE` if the data store is readonly or opened readonly
+ `FALSE` otherwise
+ */
+ boolean isReadonly();
+
+ /** stores the data to the URL from which it was loaded.
+
+ <p>Only objects which know their locations can be stored.</p>
+
+ @throws com::sun::star::io::IOException
+ if an IO error occurred during save operation
+ (may the location is unknown)
+
+ @see XStorable::storeAsURL
+ @see XStorable::storeToURL
+ */
+ void store()
+ raises( com::sun::star::io::IOException );
+
+ /** stores the object's persistent data to a URL and
+ makes this URL the new location of the object.
+
+ <p>This is the normal behavior for UI's "save-as" feature.</p>
+
+ <p>The change of the location makes it necessary to store the document in
+ a format that the object can load. For this reason the implementation of
+ XStorable::storeAsURL() will throw an exception if a pure
+ export filter is used, it will accept only combined import/export filters.
+ For such filters the method XStorable::storeToURL()
+ must be used that does not change the location of the object.</p>
+
+ @param sURL
+ specifies the new location of this component
+
+ @param lArguments
+ optional parameters for saving
+ (see com::sun::star::document::MediaDescriptor for further details)
+
+ @throws com::sun::star::io::IOException
+ if an IO error occurred during save operation
+ (may the location is unknown)
+
+ @see XStorable::store
+ @see XStorable::storeToURL
+ @see com::sun::star::document::MediaDescriptor
+ */
+ void storeAsURL(
+ [in] string sURL,
+ [in] sequence<com::sun::star::beans::PropertyValue> lArguments )
+ raises( com::sun::star::io::IOException );
+
+ /** stores the object's persistent data to a URL and
+ continues to be a representation of the old URL.
+
+ <p>This is the normal behavior for UI's export feature.</p>
+
+ <p>This method accepts all kinds of export filters, not only combined
+ import/export filters because it implements an exporting capability, not a
+ persistence capability.</p>
+
+ @throws com::sun::star::io::IOException
+ if an IO error occurred during save operation
+ (may the location is unknown)
+
+ @param sURL
+ specifies the location where to store the object
+
+ @param lArguments
+ optional parameters for saving
+ (see com::sun::star::document::MediaDescriptor for further details)
+
+ @see XStorable::store
+ @see XStorable::storeAsURL
+ @see com::sun::star::document::MediaDescriptor
+ */
+ void storeToURL(
+ [in] string sURL,
+ [in] sequence<com::sun::star::beans::PropertyValue> lArguments )
+ raises( com::sun::star::io::IOException );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XStorable2.idl b/offapi/com/sun/star/frame/XStorable2.idl
new file mode 100644
index 000000000..50d83f2b7
--- /dev/null
+++ b/offapi/com/sun/star/frame/XStorable2.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_frame_XStorable2_idl__
+#define __com_sun_star_frame_XStorable2_idl__
+
+#include <com/sun/star/frame/XStorable.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/io/IOException.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+
+
+
+ module com { module sun { module star { module frame {
+
+/** extends XStorable.
+ */
+published interface XStorable2: XStorable
+{
+ /** stores the data to the URL from which it was loaded.
+
+ <p>
+ Only objects which know their locations can be stored.
+ </p>
+
+ <p>
+ This is an extension of the XStorable::store().
+ This method allows to specify some additional parameters for
+ storing process.
+ </p>
+
+ @param lArguments
+ optional parameters for saving, can take values from subset of
+ com::sun::star::document::MediaDescriptor
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ the optional parameters contain unacceptable for save entry
+
+ @throws com::sun::star::io::IOException
+ if an IO error occurred during save operation
+
+ @see XStorable::store
+ */
+ void storeSelf(
+ [in] sequence<com::sun::star::beans::PropertyValue> lArguments )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::io::IOException );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XSubToolbarController.idl b/offapi/com/sun/star/frame/XSubToolbarController.idl
new file mode 100644
index 000000000..624218e82
--- /dev/null
+++ b/offapi/com/sun/star/frame/XSubToolbarController.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_frame_XSubToolbarController_idl__
+#define __com_sun_star_frame_XSubToolbarController_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/** special interface to support sub-toolbars in a controller implementation.
+
+ <p>
+ This interface is normally used to implement the toolbar button/sub-
+ toolbar function feature. It exchanges the function of the toolbar
+ button, that opened the sub-toolbar, with the one that has been selected
+ on the sub-toolbar.
+ </p>
+
+ @see com::sun::star::frame::ToolbarController
+
+ @since OOo 2.0
+ */
+interface XSubToolbarController : com::sun::star::uno::XInterface
+{
+ /** if the controller features a sub-toolbar.
+
+ @return
+ `TRUE` if the controller offers a sub toolbar, otherwise `FALSE`.
+
+ <p>
+ Enables implementations to dynamically decide to support sub-toolbars
+ or not.
+ </p>
+ */
+ boolean opensSubToolbar();
+
+ /** provides the resource URL of the sub-toolbar this controller opens.
+
+ @return
+ name of the sub-toolbar this controller offers. A empty string
+ will be interpreted as if this controller offers no sub-toolbar.
+ */
+ string getSubToolbarName();
+
+ /** gets called to notify a controller that a sub-toolbar function has been
+ selected.
+
+ @param aCommand
+ a string which identifies the function that has been selected by
+ a user.
+ */
+ void functionSelected( [in] string aCommand );
+
+ /** gets called to notify a controller that it should set an image which
+ represents the current selected function.
+
+ <p>
+ Only the controller instance is able to set the correct image for the
+ current function. A toolbar implementation will ask sub-toolbar
+ controllers to update their image whenever it has to update the images
+ of all its buttons.
+ </p>
+ */
+ void updateImage();
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XSynchronousDispatch.idl b/offapi/com/sun/star/frame/XSynchronousDispatch.idl
new file mode 100644
index 000000000..48b207bf7
--- /dev/null
+++ b/offapi/com/sun/star/frame/XSynchronousDispatch.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_frame_XSynchronousDispatch_idl__
+#define __com_sun_star_frame_XSynchronousDispatch_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/util/URL.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+
+
+module com { module sun { module star { module frame {
+
+/** additional interfaces for dispatch objects: allow to execute with return value
+ @since OOo 2.0
+ @see XDispatch
+ */
+published interface XSynchronousDispatch: com::sun::star::uno::XInterface
+{
+ /** dispatches a URL synchronously and offers a return values
+
+ <p>
+ After getting a dispatch object as a result of a queryDispatch call, this interface can
+ be used to dispatch the URL synchronously and with a return value.
+ </p>
+
+ @param URL
+ full parsed URL which describe the feature which should be dispatched (executed)
+
+ @param Arguments
+ optional arguments for this request
+ They depend on the real implementation of the dispatch object.
+ */
+ any dispatchWithReturnValue(
+ [in] com::sun::star::util::URL URL,
+ [in] sequence<com::sun::star::beans::PropertyValue> Arguments);
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XSynchronousFrameLoader.idl b/offapi/com/sun/star/frame/XSynchronousFrameLoader.idl
new file mode 100644
index 000000000..f4673de36
--- /dev/null
+++ b/offapi/com/sun/star/frame/XSynchronousFrameLoader.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_frame_XSynchronousFrameLoader_idl__
+#define __com_sun_star_frame_XSynchronousFrameLoader_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/frame/XFrame.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/** loads a resource into a Frame.
+
+ <p>
+ Unlike the XFrameLoader interface, this loading will be synchronous.
+ </p>
+
+ @see XFrameLoader
+ */
+published interface XSynchronousFrameLoader: com::sun::star::uno::XInterface
+{
+ /** starts the loading of the specified resource into the specified Frame.
+
+ @param Descriptor
+ describes the resource which should be loaded
+ It use a com::sun::star::document::MediaDescriptor for that.
+
+ @param Frame
+ the target frame which should contain the new loaded component
+
+ @return
+ `TRUE` if loading is successfully
+ <br>
+ `FALSE` otherwise
+ */
+ boolean load(
+ [in] sequence< com::sun::star::beans::PropertyValue > Descriptor,
+ [in] XFrame Frame );
+
+ /** cancels the loading process.
+
+ <p>
+ No notifications (neither to the frame or the caller) must be notified.
+ Because it's a synchronous process this cancel call can be forced by
+ another thread the loader thread only. Method
+ XSynchronousFrameLoader::load() must return `FALSE`
+ then and caller of this method XSynchronousFrameLoader::cancel()
+ already knows the state ...
+ </p>
+ */
+ void cancel();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XTask.idl b/offapi/com/sun/star/frame/XTask.idl
new file mode 100644
index 000000000..a5a3b8373
--- /dev/null
+++ b/offapi/com/sun/star/frame/XTask.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_frame_XTask_idl__
+#define __com_sun_star_frame_XTask_idl__
+
+#include <com/sun/star/frame/XFrame.idl>
+
+
+
+ module com { module sun { module star { module frame {
+
+/** use XFrame instead of this one
+ @deprecated
+ */
+published interface XTask: XFrame
+{
+ /** use com::sun::star::util::XCloseable or
+ com::sun::star::lang::XComponent::dispose()
+ at a Frame instead of this one
+ @deprecated
+ */
+ boolean close();
+
+ /** @deprecated
+ */
+ void tileWindows();
+
+ /** @deprecated
+ */
+ void arrangeWindowsVertical();
+
+ /** @deprecated
+ */
+ void arrangeWindowsHorizontal();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XTasksSupplier.idl b/offapi/com/sun/star/frame/XTasksSupplier.idl
new file mode 100644
index 000000000..7e4e95a95
--- /dev/null
+++ b/offapi/com/sun/star/frame/XTasksSupplier.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_frame_XTasksSupplier_idl__
+#define __com_sun_star_frame_XTasksSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#include <com/sun/star/frame/XTask.idl>
+
+
+
+ module com { module sun { module star { module frame {
+
+/** use XFramesSupplier instead of that
+ @deprecated
+ */
+published interface XTasksSupplier: com::sun::star::uno::XInterface
+{
+ /** use XFramesSupplier::getFrames() instead of this one
+ @deprecated
+ */
+ com::sun::star::container::XEnumerationAccess getTasks();
+
+ /** use XFramesSupplier::getActiveFrame() instead of this one
+ @deprecated
+ */
+ XTask getActiveTask();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XTerminateListener.idl b/offapi/com/sun/star/frame/XTerminateListener.idl
new file mode 100644
index 000000000..c0249e9bf
--- /dev/null
+++ b/offapi/com/sun/star/frame/XTerminateListener.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_frame_XTerminateListener_idl__
+#define __com_sun_star_frame_XTerminateListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+#include <com/sun/star/lang/EventObject.idl>
+#include <com/sun/star/frame/TerminationVetoException.idl>
+
+
+
+ module com { module sun { module star { module frame {
+
+/** has to be provided if an object wants to receive an event
+ when the master environment (e.g., desktop) is terminated.
+
+ @see XDesktop::terminate()
+ @see XDesktop::addTerminateListener()
+ @see XDesktop::removeTerminateListener()
+ */
+published interface XTerminateListener: com::sun::star::lang::XEventListener
+{
+ /** is called when the master environment (e.g., desktop) is about to terminate.
+
+ <p>
+ Termination can be intercepted by throwing TerminationVetoException.
+ Interceptor will be the new owner of desktop and should call XDesktop::terminate()
+ after finishing his own operations.
+ </p>
+
+ @param Event
+ describe the source of the event (e.g., the desktop)
+
+ @throws TerminationVetoException
+ listener can disagree with this query by throwing this veto exception
+ */
+ void queryTermination( [in] com::sun::star::lang::EventObject Event )
+ raises( TerminationVetoException );
+
+ /** is called when the master environment is finally terminated.
+ No veto will be accepted then.
+
+ @param Event
+ describe the source of the event (e.g., the desktop)
+ */
+ void notifyTermination( [in] com::sun::star::lang::EventObject Event );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XTerminateListener2.idl b/offapi/com/sun/star/frame/XTerminateListener2.idl
new file mode 100644
index 000000000..537e3fa82
--- /dev/null
+++ b/offapi/com/sun/star/frame/XTerminateListener2.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_frame_XTerminateListener2_idl__
+#define __com_sun_star_frame_XTerminateListener2_idl__
+
+#include <com/sun/star/frame/XTerminateListener.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/** extend interface XTerminateListener so a listener will be informed
+ in case termination process was canceled by other reasons.
+ */
+interface XTerminateListener2 : ::com::sun::star::frame::XTerminateListener
+{
+ /** is called when the master environment (e.g., desktop) was canceled in
+ it's terminate request.
+
+ <p>
+ Termination can be intercepted by throwing TerminationVetoException.
+ But if a listener was queried for termination .. doesn't throw a veto exception ...
+ it doesn't know if termination will be real next time.
+ Because any other listener can throw those exception too ... and so it can happen
+ that after queryTermination() no notifyTermination() will occur. But these listener
+ don't know if it's allowed to start new processes then.
+ Using this optional(!) interface will make it possible to be informed about
+ canceled termination requests also.
+ </p>
+
+ @param Event
+ describe the source of the event (e.g., the desktop)
+ */
+ void cancelTermination( [in] com::sun::star::lang::EventObject Event );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XTitle.idl b/offapi/com/sun/star/frame/XTitle.idl
new file mode 100644
index 000000000..54116b6ae
--- /dev/null
+++ b/offapi/com/sun/star/frame/XTitle.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_frame_XTitle_idl__
+#define __com_sun_star_frame_XTitle_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/** an interface representing an entity with a modifiable title.
+ */
+interface XTitle : com::sun::star::uno::XInterface
+{
+ /** Returns the title of the object.
+ *
+ * @returns
+ * The title.
+ */
+ string getTitle ();
+
+ /** Sets the title of the object.
+ *
+ * @param sTitle
+ * The title.
+ */
+ void setTitle ( [in] string sTitle );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XTitleChangeBroadcaster.idl b/offapi/com/sun/star/frame/XTitleChangeBroadcaster.idl
new file mode 100644
index 000000000..bd53e1aa4
--- /dev/null
+++ b/offapi/com/sun/star/frame/XTitleChangeBroadcaster.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_frame_XTitleChangeBroadcaster_idl__
+#define __com_sun_star_frame_XTitleChangeBroadcaster_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/frame/XTitleChangeListener.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/** Allows to register for title changed events.
+ */
+interface XTitleChangeBroadcaster : com::sun::star::uno::XInterface
+{
+ /** Add a listener
+ */
+ void addTitleChangeListener ( [in] com::sun::star::frame::XTitleChangeListener xListener );
+
+ /** Remove a listener
+ */
+ void removeTitleChangeListener ( [in] com::sun::star::frame::XTitleChangeListener xListener );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XTitleChangeListener.idl b/offapi/com/sun/star/frame/XTitleChangeListener.idl
new file mode 100644
index 000000000..4c8a27d2b
--- /dev/null
+++ b/offapi/com/sun/star/frame/XTitleChangeListener.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_frame_XTitleChangeListener_idl__
+#define __com_sun_star_frame_XTitleChangeListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+#include <com/sun/star/frame/TitleChangedEvent.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/** Allows to receive notifications when the frame title changes
+ */
+interface XTitleChangeListener : com::sun::star::lang::XEventListener
+{
+ /** The frame title has changed
+ */
+ void titleChanged ( [in] TitleChangedEvent aEvent );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XToolbarController.idl b/offapi/com/sun/star/frame/XToolbarController.idl
new file mode 100644
index 000000000..c8f7578ab
--- /dev/null
+++ b/offapi/com/sun/star/frame/XToolbarController.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_frame_XToolbarController_idl__
+#define __com_sun_star_frame_XToolbarController_idl__
+
+#include <com/sun/star/awt/XWindow.idl>
+#include <com/sun/star/awt/KeyModifier.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/** is an abstract service for a component which offers a more complex user interface
+ to users within a toolbar.
+
+ <p>
+ A generic toolbar function is represented as a button which has a state
+ (enabled,disabled and selected, not selected). A toolbar controller can be added to a
+ toolbar and provide information or functions with a more sophisticated user interface.<br/>
+ A typical example for toolbar controller is a font chooser on a toolbar. It provides
+ all available fonts in a dropdown box and shows the current chosen font.
+ <p>
+
+ @see com::sun::star::frame::XDispatchProvider
+
+ @since OOo 2.0
+ */
+interface XToolbarController : com::sun::star::uno::XInterface
+{
+ /** provides a function to execute the command which is bound to the toolbar controller.
+
+ @param KeyModifier
+ a combination of com::sun::star::awt::KeyModifier value that represent
+ the current state of the modifier keys.
+
+ <p>
+ This function is usually called by a toolbar implementation when a user clicked on a toolbar button
+ or pressed enter on the keyboard when the item has the input focus.
+ </p>
+ */
+ void execute( [in] short KeyModifier );
+
+ /** notifies a component that a single click has been made on the toolbar item.
+ */
+ void click();
+
+ /** notifies a component that a double click has been made on the toolbar item.
+ */
+ void doubleClick();
+
+ /** requests to create a pop-up window for additional functions.
+
+ @return
+ a com::sun::star::awt::XWindow which provides additional functions
+ to the user. The reference must be empty if component does not want to provide a separate
+ window.
+ */
+ com::sun::star::awt::XWindow createPopupWindow();
+
+ /** requests to create an item window which can be added to the toolbar.
+
+ @param Parent
+ a com::sun::star::awt::XWindow which must be used as a parent
+ for the requested item window.
+
+ @return
+ a com::sun::star::awt::XWindow which can be added to a toolbar.
+ The reference must be empty if a component does not want to provide an item window.
+ */
+ com::sun::star::awt::XWindow createItemWindow( [in] com::sun::star::awt::XWindow Parent );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XToolbarControllerListener.idl b/offapi/com/sun/star/frame/XToolbarControllerListener.idl
new file mode 100644
index 000000000..04ec98e66
--- /dev/null
+++ b/offapi/com/sun/star/frame/XToolbarControllerListener.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_frame_XToolbarControllerListener_idl__
+#define __com_sun_star_frame_XToolbarControllerListener_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/** is used to notify a toolbar controller about events
+
+ @see com::sun::star::frame::ToolbarController
+
+ @since OOo 2.0
+ */
+interface XToolbarControllerListener : com::sun::star::uno::XInterface
+{
+ /** gets called to notify a controller that a toolbar function has been selected.
+
+ @param aToolbarRes
+ a string which identifies the toolbar where the function has been selected.
+
+ @param aCommand
+ a string which identifies the function that has been selected.
+
+ <p>
+ This notification is normally used to implement the toolbar button/sub-toolbar
+ function feature. It exchanges the function of the toolbar button, that opened
+ the sub-toolbar, with the one that has been selected on the sub-toolbar.
+ </p>
+ */
+ void functionSelected( [in] string aToolbarRes, [in] string aCommand );
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XTransientDocumentsDocumentContentFactory.idl b/offapi/com/sun/star/frame/XTransientDocumentsDocumentContentFactory.idl
new file mode 100644
index 000000000..5751787d2
--- /dev/null
+++ b/offapi/com/sun/star/frame/XTransientDocumentsDocumentContentFactory.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_frame_XTransientDocumentsDocumentContentFactory_idl__
+#define __com_sun_star_frame_XTransientDocumentsDocumentContentFactory_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/ucb/XContent.idl>
+#include <com/sun/star/frame/XModel.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+module com { module sun { module star { module frame {
+
+/** specifies a factory for
+ com::sun::star::ucb::TransientDocumentsDocumentContents.
+
+ @version 1.0
+ @see com::sun::star::document::OfficeDocument
+ @see com::sun::star::ucb::TransientDocumentsDocumentContent
+
+ @since OOo 2.0
+*/
+interface XTransientDocumentsDocumentContentFactory : com::sun::star::uno::XInterface
+{
+ /** creates a
+ com::sun::star::ucb::TransientDocumentsDocumentContent
+ based on a given com::sun::star::document::OfficeDocument.
+
+ @param Model
+ the document model for that a
+ com::sun::star::ucb::TransientDocumentsDocumentContent
+ is requested. The model must be an implementation of service
+ com::sun::star::document::OfficeDocument.
+
+ @returns
+ a document content based on the given document model. The content must
+ be an implementation of service
+ com::sun::star::ucb::TransientDocumentsDocumentContent.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the document model cannot be associated with content for any reason.
+ */
+ com::sun::star::ucb::XContent createDocumentContent(
+ [in] com::sun::star::frame::XModel Model )
+ raises ( com::sun::star::lang::IllegalArgumentException );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XTransientDocumentsDocumentContentIdentifierFactory.idl b/offapi/com/sun/star/frame/XTransientDocumentsDocumentContentIdentifierFactory.idl
new file mode 100644
index 000000000..26359db3e
--- /dev/null
+++ b/offapi/com/sun/star/frame/XTransientDocumentsDocumentContentIdentifierFactory.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_frame_XTransientDocumentsDocumentContentIdentifierFactory_idl__
+#define __com_sun_star_frame_XTransientDocumentsDocumentContentIdentifierFactory_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/ucb/XContentIdentifier.idl>
+#include <com/sun/star/frame/XModel.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+module com { module sun { module star { module frame {
+
+/** a factory for identifiers of
+ com::sun::star::ucb::TransientDocumentsDocumentContents.
+
+ @see com::sun::star::document::OfficeDocument
+ @see com::sun::star::ucb::XContentIdentifier
+
+ @since LibreOffice 6.3
+*/
+interface XTransientDocumentsDocumentContentIdentifierFactory
+ : com::sun::star::uno::XInterface
+{
+ /** creates a com::sun::star::ucb::XContentIdentifier
+ based on a given com::sun::star::document::OfficeDocument.
+
+ @param Model
+ the document model for which a
+ com::sun::star::ucb::XContentIdentifier
+ is requested. The model must be an implementation of service
+ com::sun::star::document::OfficeDocument.
+
+ @returns
+ a content identifier based on the given document model.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the document model cannot be associated with content for any reason.
+ */
+ com::sun::star::ucb::XContentIdentifier
+ createDocumentContentIdentifier(
+ [in] com::sun::star::frame::XModel Model )
+ raises ( com::sun::star::lang::IllegalArgumentException );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XUIControllerFactory.idl b/offapi/com/sun/star/frame/XUIControllerFactory.idl
new file mode 100644
index 000000000..a44eed272
--- /dev/null
+++ b/offapi/com/sun/star/frame/XUIControllerFactory.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_frame_XUIControllerFactory_idl__
+#define __com_sun_star_frame_XUIControllerFactory_idl__
+
+#include <com/sun/star/lang/XMultiComponentFactory.idl>
+#include <com/sun/star/frame/XUIControllerRegistration.idl>
+
+module com { module sun { module star { module frame {
+
+/** a factory to create User Interface controllers.
+
+ <p>
+ A user interface controller can be registered for a command URL. A certain user
+ interface controller will be created when a user interface element contains a
+ registered command URL.
+
+ @see PopupMenuControllerFactory
+ @see StatusbarControllerFactory
+ @see ToolbarControllerFactory
+ </p>
+
+ @since LibreOffice 4.1
+ */
+interface XUIControllerFactory
+{
+ /** this interface provides functions to create new instances of a registered UI controller.
+
+ <p>
+ Use com::sun::star::lang::XMultiComponentFactory::createInstanceWithArgumentsAndContext() to create
+ a new UI controller instance. Use the CommandURL as the service specifier.
+
+ This call supports the following arguments provided as com::sun::star::beans::PropertyValue:
+ <ul>
+ <li>
+ <b>Frame</b><br>specifies the com::sun::star::frame::XFrame
+ instance to which the UI controller belongs to. This property must be provided to
+ the UI controller, otherwise it cannot dispatch its internal commands.
+ </li>
+ <li>
+ <b>ModuleIdentifier</b><br>optional string that specifies in which module context the UI
+ controller should be created.<br>The module identifier can be retrieved using the
+ ModuleManager.
+ </li>
+ </ul>
+ </p>
+ */
+ interface com::sun::star::lang::XMultiComponentFactory;
+
+ /** provides functions to query for, register and deregister a popup menu controller.
+ */
+ interface XUIControllerRegistration;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XUIControllerRegistration.idl b/offapi/com/sun/star/frame/XUIControllerRegistration.idl
new file mode 100644
index 000000000..17ebbfeb8
--- /dev/null
+++ b/offapi/com/sun/star/frame/XUIControllerRegistration.idl
@@ -0,0 +1,96 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_frame_XUIControllerRegistration_idl__
+#define __com_sun_star_frame_XUIControllerRegistration_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module frame {
+
+
+/** is used to query, register and unregister user interface controller.
+
+ <p>
+ A user interface controller can be registered for a command URL. A certain user
+ interface controller will be created when a user interface element contains a
+ registered command URL.
+
+ @see PopupMenuControllerFactory
+ </p>
+
+ @since OOo 2.0
+ */
+
+published interface XUIControllerRegistration : com::sun::star::uno::XInterface
+{
+ /** function to check if an user interface controller is registered
+ for a command URL and optional module.
+
+ @returns
+ true if a controller was registered for the combination of command URL
+ and model name.
+
+ @param aCommandURL
+ a command URL which specifies an action.
+
+ @param aModelName
+ an optional name of an OpenOffice model service. This value can remain empty if
+ no model service name was specified.
+ */
+ boolean hasController( [in] string aCommandURL, [in] string aModelName );
+
+ /** function to create an association between a user interface controller implementation
+ and a command URL and optional module.
+
+ @param aCommandURL
+ a command URL which specifies an action which should be associated with a user
+ interface controller.
+
+ @param aModelName
+ an optional name of an OpenOffice model service. This value can remain empty if
+ no model service name was specified.
+
+ @param aControllerImplementationName
+ a UNO implementation name that can be used to create a user interface controller
+ with the OpenOffice service manager.
+ */
+ void registerController( [in] string aCommandURL, [in] string aModelName, [in] string aControllerImplementationName );
+
+ /** function to remove a previously defined association between a user interface controller
+ implementation and a command URL and optional module.
+
+ @param aCommandURL
+ a command URL which specifies an action which should be associated with a user
+ interface controller.
+
+ @param aModelName
+ an optional name of an OpenOffice model service. This value can remain empty if
+ no model service name was specified.
+ */
+ void deregisterController( [in] string aCommandURL, [in] string aModelName );
+};
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XUntitledNumbers.idl b/offapi/com/sun/star/frame/XUntitledNumbers.idl
new file mode 100644
index 000000000..19fbbca9e
--- /dev/null
+++ b/offapi/com/sun/star/frame/XUntitledNumbers.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_frame_XUntitledNumbers_idl__
+#define __com_sun_star_frame_XUntitledNumbers_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/** knows all currently used and all free numbers for using with untitled
+ but counted objects.
+ */
+interface XUntitledNumbers : com::sun::star::uno::XInterface
+{
+ /** callee has to lease a number before he can use it within in its own title.
+
+ Such number must be freed after using e.g. while the object was closed or
+ gets another title (e.g. by saving a document to a real location on disc).
+
+ @param xComponent
+ the component which has to be registered for the leased number.
+
+ @return the new number for these object or 0 if no further numbers are available.
+
+ @throws [IllegalArgumentException]
+ if an invalid object reference was provided to this method.
+ */
+ long leaseNumber ( [in] com::sun::star::uno::XInterface xComponent )
+ raises (com::sun::star::lang::IllegalArgumentException);
+
+ /** has to be used to mark those numbers as "free for using".
+
+ If the registered component does not use such leased number any longer
+ it has to be released so it can be used for new components.
+
+ Note: calling this method with an unknown (but normally valid number)
+ has to be ignored. No exceptions - no errors.
+
+ @param nNumber
+ specify number for release.
+
+ @throws [IllegalArgumentException]
+ if the given number is the special value 0.
+ */
+ void releaseNumber ( [in] long nNumber )
+ raises (com::sun::star::lang::IllegalArgumentException);
+
+ /** does the same then releaseNumber () but it searches the corresponding
+ number for the specified component and deregister it.
+
+ @param xComponent
+ the component for deregistration.
+
+ @throws [IllegalArgumentException]
+ if an invalid object reference was provided to this method.
+ */
+ void releaseNumberForComponent ( [in] com::sun::star::uno::XInterface xComponent )
+ raises (com::sun::star::lang::IllegalArgumentException);
+
+ /** returns the localized string value to be used for untitled objects in
+ combination with the leased number.
+
+ Note: Such string already contains leading spaces/tabs etc. !
+ The only thing which an outside code has todo then ... adding a leased number
+ to the string.
+
+ @return the localized string for untitled components.
+ */
+ string getUntitledPrefix ();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XUrlList.idl b/offapi/com/sun/star/frame/XUrlList.idl
new file mode 100644
index 000000000..b03752873
--- /dev/null
+++ b/offapi/com/sun/star/frame/XUrlList.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XUrlList_idl__
+#define __com_sun_star_frame_XUrlList_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+module com { module sun { module star { module frame {
+
+/** @deprecated
+*/
+published interface XUrlList: com::sun::star::uno::XInterface
+{
+ /** - */
+ [attribute] sequence<string> List;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XWindowArranger.idl b/offapi/com/sun/star/frame/XWindowArranger.idl
new file mode 100644
index 000000000..a56e4c133
--- /dev/null
+++ b/offapi/com/sun/star/frame/XWindowArranger.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_frame_XWindowArranger_idl__
+#define __com_sun_star_frame_XWindowArranger_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+ module com { module sun { module star { module frame {
+
+/** @deprecated
+ */
+published interface XWindowArranger: com::sun::star::uno::XInterface
+{
+ /** @deprecated
+ */
+ boolean hasArrangeCommand( [in] short nCommand );
+
+ /** @deprecated
+ */
+ void arrange( [in] short nCommand );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/status/ClipboardFormats.idl b/offapi/com/sun/star/frame/status/ClipboardFormats.idl
new file mode 100644
index 000000000..ebe56aa59
--- /dev/null
+++ b/offapi/com/sun/star/frame/status/ClipboardFormats.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_frame_status_ClipboardFormats_idl__
+#define __com_sun_star_frame_status_ClipboardFormats_idl__
+
+
+
+module com { module sun { module star { module frame { module status {
+
+
+/** contains a list of format IDs and names which are part of the
+ system clipboard.
+
+ @since OOo 2.0
+ */
+struct ClipboardFormats
+{
+
+ /** specifies a sequence of format IDs which are contained in the
+ system clipboard.
+ */
+ sequence< hyper > Identifiers;
+
+
+ /** specifies a sequence of format names which are contained in the
+ system clipboard.
+ */
+ sequence< string > Names;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/status/FontHeight.idl b/offapi/com/sun/star/frame/status/FontHeight.idl
new file mode 100644
index 000000000..7b2d80c6c
--- /dev/null
+++ b/offapi/com/sun/star/frame/status/FontHeight.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_frame_status_FontHeight_idl__
+#define __com_sun_star_frame_status_FontHeight_idl__
+
+
+
+module com { module sun { module star { module frame { module status {
+
+
+/** describes the characteristics of a font.
+
+ <p>For example, this can be used to select a font.</p>
+
+ @since OOo 2.0
+ */
+struct FontHeight
+{
+
+ /** specifies the current height of the font.
+ */
+ float Height;
+
+
+ /** specifies the height of the font in the measure of the
+ destination.
+ */
+ short Prop;
+
+
+ /** specifies the width of the font in the measure of the
+ destination.
+ */
+ float Diff;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/status/ItemState.idl b/offapi/com/sun/star/frame/status/ItemState.idl
new file mode 100644
index 000000000..c4c02d56c
--- /dev/null
+++ b/offapi/com/sun/star/frame/status/ItemState.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_frame_status_ItemState_idl__
+#define __com_sun_star_frame_status_ItemState_idl__
+
+
+
+module com { module sun { module star { module frame { module status {
+
+
+/** these constants describe a state of an ItemStatus.
+
+ @see ItemStatus
+
+ @since OOo 2.0
+ */
+constants ItemState
+{
+ /** specifies an unknown state.
+ */
+ const short UNKNOWN = 0;
+
+ /** specifies that the property is currently disabled.
+ */
+ const short DISABLED = 1;
+
+ /** specifies that the property is currently read-only.
+ *
+ * Deprecated: There is no equivalent in SfxItemState
+ * anymore due to not being used, so remove for simplification
+ * reasons and to prepare rework of Item/ItemSet/ItemPool stuff.
+ *
+ * There are only three usages of com::sun::star::frame::status::ItemState
+ * in the code which all set the internal SfxItem to SfxVoidItem when
+ * triggered, which is equivalent to state SfxItemState::DISABLED (see e.g.
+ * SfxItemSet::GetItemState), so READ_ONLY gets not used in internal
+ * handling, even when eventually existing UNO API usages hand it over the
+ * office.
+ */
+ const short READ_ONLY = 2;
+
+ /** specifies that the property is currently in a don't care state.
+
+ <p>
+ This is normally used if a selection provides more than one state
+ for a property at the same time.
+ </p>
+ */
+ const short DONT_CARE = 16;
+
+ /** specifies that the property is currently in a default state.
+ */
+ const short DEFAULT_VALUE = 32;
+
+ /** specifies that the property is currently in a set state.
+ */
+ const short SET = 64;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/status/ItemStatus.idl b/offapi/com/sun/star/frame/status/ItemStatus.idl
new file mode 100644
index 000000000..11772833d
--- /dev/null
+++ b/offapi/com/sun/star/frame/status/ItemStatus.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_frame_status_ItemStatus_idl__
+#define __com_sun_star_frame_status_ItemStatus_idl__
+
+
+module com { module sun { module star { module frame { module status {
+
+
+/** describes a state of a property.
+
+ @since OOo 2.0
+ */
+struct ItemStatus
+{
+
+ /** numerical value which describes the current state of an item.
+
+ @see ItemState
+ */
+ short State;
+
+
+ /** optional data which can be used by an implementation to send additional
+ information. The content is dependent on the specific implementation.
+ */
+ any aStateData;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/status/LeftRightMargin.idl b/offapi/com/sun/star/frame/status/LeftRightMargin.idl
new file mode 100644
index 000000000..a65a25d19
--- /dev/null
+++ b/offapi/com/sun/star/frame/status/LeftRightMargin.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_frame_status_LeftRightMargin_idl__
+#define __com_sun_star_frame_status_LeftRightMargin_idl__
+
+
+
+module com { module sun { module star { module frame { module status {
+
+
+/** specifies a left and right margin.
+
+ @since OOo 2.0
+ */
+struct LeftRightMargin
+{
+ /** specifies a left side margin in 1/100th mm.
+ */
+ long Left;
+
+
+ /** specifies a right side margin in 1/100th mm.
+ */
+ long Right;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/status/LeftRightMarginScale.idl b/offapi/com/sun/star/frame/status/LeftRightMarginScale.idl
new file mode 100644
index 000000000..ab3756825
--- /dev/null
+++ b/offapi/com/sun/star/frame/status/LeftRightMarginScale.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_frame_status_LeftRightMarginScale_idl__
+#define __com_sun_star_frame_status_LeftRightMarginScale_idl__
+
+
+
+module com { module sun { module star { module frame { module status {
+
+
+/** specifies a left and right margin.
+
+ @since LibreOffice 5.3
+ */
+struct LeftRightMarginScale
+{
+ /** specifies a left text margin in 1/100th mm.
+ */
+ long TextLeft;
+
+
+ /** specifies a left margin in 1/100th mm.
+ */
+ long Left;
+
+
+ /** specifies a right margin in 1/100th mm.
+ */
+ long Right;
+
+
+ /** specifies a first line indent relative to TextLeft in 1/100th mm.
+ */
+ long FirstLine;
+
+
+ /** specifies a scale value for the left margin in percent.
+ */
+ long ScaleLeft;
+
+
+ /** specifies a scale value for the right margin in percent.
+ */
+ long ScaleRight;
+
+
+ /** specifies a scale value for the first line margin in percent.
+ */
+ long ScaleFirstLine;
+
+
+ /** specifies if the automatic calculation of the first line indent occurs.
+ */
+ boolean AutoFirstLine;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/status/Template.idl b/offapi/com/sun/star/frame/status/Template.idl
new file mode 100644
index 000000000..9bb9402ce
--- /dev/null
+++ b/offapi/com/sun/star/frame/status/Template.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_frame_status_Template_idl__
+#define __com_sun_star_frame_status_Template_idl__
+
+
+
+module com { module sun { module star { module frame { module status {
+
+
+/** contains an association between a style name and a value.
+
+ @since OOo 2.0
+ */
+struct Template
+{
+
+ /** specifies a style name.
+ */
+ string StyleName;
+
+
+ /** specifies a value that is bound to the style name.
+ */
+ long Value;
+
+
+ /** specifies an identifier name in English (only for standard style).
+
+ @since LO 7.2
+ */
+ string StyleNameIdentifier;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/status/UpperLowerMargin.idl b/offapi/com/sun/star/frame/status/UpperLowerMargin.idl
new file mode 100644
index 000000000..d1e597b6e
--- /dev/null
+++ b/offapi/com/sun/star/frame/status/UpperLowerMargin.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_frame_status_UpperLowerMargin_idl__
+#define __com_sun_star_frame_status_UpperLowerMargin_idl__
+
+
+
+module com { module sun { module star { module frame { module status {
+
+
+/** specifies an upper and lower margin.
+
+ @since OOo 2.0
+ */
+struct UpperLowerMargin
+{
+ /** specifies a upper margin in 1/100th mm.
+ */
+ long Upper;
+
+
+ /** specifies a lower margin in 1/100th mm.
+ */
+ long Lower;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/status/UpperLowerMarginScale.idl b/offapi/com/sun/star/frame/status/UpperLowerMarginScale.idl
new file mode 100644
index 000000000..bccd46655
--- /dev/null
+++ b/offapi/com/sun/star/frame/status/UpperLowerMarginScale.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_frame_status_UpperLowerMarginScale_idl__
+#define __com_sun_star_frame_status_UpperLowerMarginScale_idl__
+
+
+
+module com { module sun { module star { module frame { module status {
+
+
+/** specifies an upper and lower margin.
+
+ @since OOo 2.0
+ */
+struct UpperLowerMarginScale
+{
+ /** specifies a upper margin in 1/100th mm.
+ */
+ long Upper;
+
+
+ /** specifies a lower margin in 1/100th mm.
+ */
+ long Lower;
+
+
+ /** specifies a scale value for the upper margin.
+ */
+ short ScaleUpper;
+
+
+ /** specifies a scale value for the lower margin.
+ */
+ short ScaleLower;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/status/Verb.idl b/offapi/com/sun/star/frame/status/Verb.idl
new file mode 100644
index 000000000..0361496b4
--- /dev/null
+++ b/offapi/com/sun/star/frame/status/Verb.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_frame_status_Verb_idl__
+#define __com_sun_star_frame_status_Verb_idl__
+
+
+
+module com { module sun { module star { module frame { module status {
+
+
+/** describes a command that can be send to an OLE object
+
+ <p>For example, this can be used to select a font.</p>
+
+ @since OOo 2.0
+ */
+struct Verb
+{
+
+ /** specifies the Id of the command.
+ */
+ long VerbId;
+
+
+ /** specifies the name of the command. The name is localized.
+ */
+ string VerbName;
+
+
+ /** specifies if the command should be visible in a menu.
+ */
+ boolean VerbIsOnMenu;
+
+ /** specifies if the command is available for a constant object.
+ */
+ boolean VerbIsConst;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/status/Visibility.idl b/offapi/com/sun/star/frame/status/Visibility.idl
new file mode 100644
index 000000000..13618c49e
--- /dev/null
+++ b/offapi/com/sun/star/frame/status/Visibility.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_status_Visibility_idl__
+#define __com_sun_star_frame_status_Visibility_idl__
+
+
+module com { module sun { module star { module frame { module status {
+
+
+/** describes the visibility state of a property.
+
+ @since OOo 2.0
+ */
+struct Visibility
+{
+
+ /** `TRUE` if the property is visible otherwise `FALSE`.
+ */
+ boolean bVisible;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/theAutoRecovery.idl b/offapi/com/sun/star/frame/theAutoRecovery.idl
new file mode 100644
index 000000000..622660c78
--- /dev/null
+++ b/offapi/com/sun/star/frame/theAutoRecovery.idl
@@ -0,0 +1,28 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.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_frame_theAutoRecovery_idl__
+#define __com_sun_star_frame_theAutoRecovery_idl__
+
+#include <com/sun/star/frame/XDispatch.idl>
+
+module com { module sun { module star { module frame {
+
+/**
+ Prior to LibreOffice 4.3, this singleton was only available as a
+ (single-instance) AutoRecovery service.
+
+ @since LibreOffice 4.3
+ */
+singleton theAutoRecovery : XDispatch;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/theDesktop.idl b/offapi/com/sun/star/frame/theDesktop.idl
new file mode 100644
index 000000000..12c7d7920
--- /dev/null
+++ b/offapi/com/sun/star/frame/theDesktop.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_frame_theDesktop_idl__
+#define __com_sun_star_frame_theDesktop_idl__
+
+#include <com/sun/star/frame/XDesktop2.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/** is the environment for components which can instantiate within frames
+
+ <p>
+ A desktop environment contains tasks with one or more frames
+ in which components can be loaded. The term "task" or naming a frame as a
+ "task frame" is not in any way related to any additional implemented
+ interfaces, it's just because these frames use task windows.
+ </p>
+
+ Prior to LibreOffice 4.3, this singleton was only available as a
+ (single-instance) Desktop service.
+
+ @since LibreOffice 4.3
+ */
+published singleton theDesktop : XDesktop2;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/theGlobalEventBroadcaster.idl b/offapi/com/sun/star/frame/theGlobalEventBroadcaster.idl
new file mode 100644
index 000000000..b802a1385
--- /dev/null
+++ b/offapi/com/sun/star/frame/theGlobalEventBroadcaster.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_FRAME_GLOBALEVENTBROADCASTER_IDL
+#define COM_SUN_STAR_FRAME_GLOBALEVENTBROADCASTER_IDL
+
+#include <com/sun/star/frame/XGlobalEventBroadcaster.idl>
+
+module com { module sun { module star { module frame {
+
+/**
+ This singleton offers the document event functionality that can be found at
+ any com::sun::star::document::OfficeDocument, but it does it for all
+ existing documents.
+
+ So it is a single place where a listener can be registered for all events in
+ all documents.
+
+ Prior to LibreOffice 4.3, this singleton was only available as a
+ (single-instance) GlobalEventBroadcaster service.
+
+ @since LibreOffice 4.3
+*/
+singleton theGlobalEventBroadcaster: XGlobalEventBroadcaster;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/thePopupMenuControllerFactory.idl b/offapi/com/sun/star/frame/thePopupMenuControllerFactory.idl
new file mode 100644
index 000000000..48511b7b5
--- /dev/null
+++ b/offapi/com/sun/star/frame/thePopupMenuControllerFactory.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_frame_thePopupMenuControllerFactory_idl__
+#define __com_sun_star_frame_thePopupMenuControllerFactory_idl__
+
+#include <com/sun/star/frame/XUIControllerFactory.idl>
+
+module com { module sun { module star { module frame {
+
+/** specifies a factory that creates instances of registered popup menu controller.
+
+ <p>
+ A pop-up menu controller can be registered for a command URL and a model service name.
+ A menu bar or context menu will automatically create a pop-up menu controller if
+ it contains a registered command URL.
+ </p>
+
+ Prior to LibreOffice 4.3, this singleton was only available as a
+ (single-instance) PopupMenuControllerFactory service.
+
+ @since LibreOffice 4.3
+*/
+singleton thePopupMenuControllerFactory : XUIControllerFactory;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/theStatusbarControllerFactory.idl b/offapi/com/sun/star/frame/theStatusbarControllerFactory.idl
new file mode 100644
index 000000000..3fdfb1101
--- /dev/null
+++ b/offapi/com/sun/star/frame/theStatusbarControllerFactory.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_frame_theStatusbarControllerFactory_idl__
+#define __com_sun_star_frame_theStatusbarControllerFactory_idl__
+
+#include <com/sun/star/frame/XUIControllerFactory.idl>
+
+module com { module sun { module star { module frame {
+
+/** specifies a factory that creates instances of registered status bar
+ controller.
+
+ <p>
+ A status bar controller can be registered for a command URL and a model
+ service name. A status bar will automatically create a status bar controller
+ if it contains a registered command URL.
+ </p>
+
+ Prior to LibreOffice 4.3, this singleton was only available as a
+ (single-instance) StatusbarControllerFactory service.
+
+ @since LibreOffice 4.3
+*/
+singleton theStatusbarControllerFactory : XUIControllerFactory;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/theToolbarControllerFactory.idl b/offapi/com/sun/star/frame/theToolbarControllerFactory.idl
new file mode 100644
index 000000000..e60534660
--- /dev/null
+++ b/offapi/com/sun/star/frame/theToolbarControllerFactory.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_theToolbarControllerFactory_idl__
+#define __com_sun_star_frame_theToolbarControllerFactory_idl__
+
+#include <com/sun/star/frame/XUIControllerFactory.idl>
+
+module com { module sun { module star { module frame {
+
+/** specifies a factory that creates instances of registered toolbar controller.
+
+ <p>
+ A toolbar controller can be registered for a command URL and a model service name.
+ </p>
+
+ Prior to LibreOffice 4.3, this singleton was only available as a
+ (single-instance) ToolbarControllerFactory service.
+
+ @since LibreOffice 4.3
+*/
+
+singleton theToolbarControllerFactory : XUIControllerFactory;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/theUICommandDescription.idl b/offapi/com/sun/star/frame/theUICommandDescription.idl
new file mode 100644
index 000000000..7765df701
--- /dev/null
+++ b/offapi/com/sun/star/frame/theUICommandDescription.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_frame_theUICommandDescription_idl__
+#define __com_sun_star_frame_theUICommandDescription_idl__
+
+#include <com/sun/star/container/XNameAccess.idl>
+
+
+module com { module sun { module star { module frame {
+
+
+/** a singleton which provides information about user interface commands of modules.
+
+ <p>
+ OpenOffice.org has an amount of commands that can be used by user interface
+ elements. This singleton provides access to the user interface commands that
+ are part of OpenOffice.org modules, like Writer or Calc.
+ </p>
+
+ Provides access to user interface commands of the installed modules.
+
+ <p>
+ To access the user interface command description of a module, a unique module specifier
+ must be provided to com::sun::star::container::XNameAccess::getByName() function.
+ The module specifier can be retrieved from the com::sun::star::frame::ModuleManager
+ service. The interface provides references to com::sun:star::ui::ModuleUICommandDescription.
+ </p>
+
+ @see com::sun::star::frame::ModuleManager
+
+ Prior to LibreOffice 4.3, this singleton was only available as a
+ (single-instance) UICommandDescription service.
+
+ @since LibreOffice 4.3
+
+*/
+singleton theUICommandDescription : com::sun::star::container::XNameAccess;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/gallery/GalleryItem.idl b/offapi/com/sun/star/gallery/GalleryItem.idl
new file mode 100644
index 000000000..848973e99
--- /dev/null
+++ b/offapi/com/sun/star/gallery/GalleryItem.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_gallery_GalleryItem_idl__
+#define __com_sun_star_gallery_GalleryItem_idl__
+
+#include <com/sun/star/gallery/XGalleryItem.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/graphic/XGraphic.idl>
+#include <com/sun/star/lang/XComponent.idl>
+
+
+module com { module sun { module star { module gallery {
+
+
+/** service to get access to the properties of a single Gallery item
+ */
+service GalleryItem
+{
+ interface ::com::sun::star::gallery::XGalleryItem;
+
+ interface ::com::sun::star::beans::XPropertySet;
+
+ /** The type of the Gallery item
+
+ @see GalleryItemType
+ */
+ [readonly, property] byte GalleryItemType;
+
+ /** the URL of the Gallery item
+
+ <p>The interpretation of the URL depends on the type
+ of the Gallery item. In case of graphic and media items,
+ the URL is a "real" URL, in case of drawings it is a private
+ URL</p>
+ */
+ [readonly, property] string URL;
+
+ /** the title of the Gallery item
+ */
+ [property] string Title;
+
+ /** the thumbnail of the Gallery item
+
+ <p>The thumbnail may be either a pixel or a vector graphic</p>
+ */
+ [readonly, property] com::sun::star::graphic::XGraphic Thumbnail;
+
+ /** the graphic content of the Gallery item
+
+ <p>This is an optional property and may not available for every item</p>
+ */
+ [optional, readonly, property ] ::com::sun::star::graphic::XGraphic Graphic;
+
+ /** the drawing content of the Gallery item
+
+ <p>This is an optional property and may not available for every item</p>
+ */
+ [optional, readonly, property ] ::com::sun::star::lang::XComponent Drawing;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/gallery/GalleryItemType.idl b/offapi/com/sun/star/gallery/GalleryItemType.idl
new file mode 100644
index 000000000..f598a2a7d
--- /dev/null
+++ b/offapi/com/sun/star/gallery/GalleryItemType.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_gallery_GalleryItemType_idl__
+#define __com_sun_star_gallery_GalleryItemType_idl__
+
+module com { module sun { module star { module gallery {
+
+/** Constants that describe the type of graphic
+*/
+constants GalleryItemType
+{
+ /** Item is empty
+ */
+ const byte EMPTY = 0;
+
+ /** Item represents a graphic
+ */
+ const byte GRAPHIC = 1;
+
+ /** Item represents a media file
+ */
+ const byte MEDIA = 2;
+
+ /** Item represents a drawing
+ */
+ const byte DRAWING = 3;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/gallery/GalleryTheme.idl b/offapi/com/sun/star/gallery/GalleryTheme.idl
new file mode 100644
index 000000000..c59f6de89
--- /dev/null
+++ b/offapi/com/sun/star/gallery/GalleryTheme.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_gallery_GalleryTheme_idl__
+#define __com_sun_star_gallery_GalleryTheme_idl__
+
+#include <com/sun/star/gallery/XGalleryTheme.idl>
+
+
+module com { module sun { module star { module gallery {
+
+
+/** provides access to a container of Gallery items and makes it
+ possible for you to manipulate them.
+
+ @see XGalleryTheme
+ */
+service GalleryTheme
+{
+ /** lets you access and create Gallery items
+ */
+ interface com::sun::star::gallery::XGalleryTheme;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/gallery/GalleryThemeProvider.idl b/offapi/com/sun/star/gallery/GalleryThemeProvider.idl
new file mode 100644
index 000000000..c8bc257c6
--- /dev/null
+++ b/offapi/com/sun/star/gallery/GalleryThemeProvider.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_gallery_GalleryThemeProvider_idl__
+#define __com_sun_star_gallery_GalleryThemeProvider_idl__
+
+#include <com/sun/star/gallery/XGalleryThemeProvider.idl>
+#include <com/sun/star/lang/XInitialization.idl>
+
+
+module com { module sun { module star { module gallery {
+
+
+/** provides access to a container of GalleryThemes
+ and makes it possible for you to manipulate them.
+
+ @see XGalleryThemeProvider
+ */
+service GalleryThemeProvider
+{
+ /** lets you access and create GalleryThemes
+ */
+ interface com::sun::star::gallery::XGalleryThemeProvider;
+
+ /** allows initializing the provider
+ <p>You do not need to call the initialize method directly, instead you may use the createInstanceWithArguments
+ method of your com::sun::star::lang::XMultiServiceFactory.</p>
+
+ <p>You specify a parameter by passing one (or more)
+ com::sun::star::beans::PropertyValue
+ object(s) to the initialize method, where the <em>Name</em> field contains a string describing which aspect
+ you want to affect, and the <em>Value</em> field containing a value.</p>
+
+ <p>Currently, there are no public properties available</p>
+ */
+ interface com::sun::star::lang::XInitialization;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/gallery/XGalleryItem.idl b/offapi/com/sun/star/gallery/XGalleryItem.idl
new file mode 100644
index 000000000..6687b8354
--- /dev/null
+++ b/offapi/com/sun/star/gallery/XGalleryItem.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_gallery_XGalleryItem_idl__
+#define __com_sun_star_gallery_XGalleryItem_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module gallery {
+
+
+/** provides access to a single item of a Gallery theme.
+ */
+interface XGalleryItem : com::sun::star::uno::XInterface
+{
+ /** retrieves the type of the Gallery item
+
+ @returns
+ The type of the Gallery item
+
+ @see GalleryItemType
+ */
+ byte getType();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/gallery/XGalleryTheme.idl b/offapi/com/sun/star/gallery/XGalleryTheme.idl
new file mode 100644
index 000000000..749def1d7
--- /dev/null
+++ b/offapi/com/sun/star/gallery/XGalleryTheme.idl
@@ -0,0 +1,151 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_gallery_XGalleryTheme_idl__
+#define __com_sun_star_gallery_XGalleryTheme_idl__
+
+#include <com/sun/star/container/XIndexAccess.idl>
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#include <com/sun/star/graphic/XGraphic.idl>
+#include <com/sun/star/gallery/XGalleryItem.idl>
+
+
+module com { module sun { module star { module gallery {
+
+
+/** provides access to the items of a Gallery themes. It also allows
+ inserting and removing of single items.
+
+ <p>This interface extends the interface
+ com::sun::star::container::XIndexAccess which provides
+ access to existing Gallery items collection.</p>
+
+ @see com::sun::star::container::XIndexAccess
+ @see com::sun::star::sheet::DataPilotTable
+ */
+interface XGalleryTheme : com::sun::star::container::XIndexAccess
+{
+ /** retrieves the name of the Gallery theme
+
+ @returns
+ The name of the Gallery theme
+ */
+ string getName();
+
+ /** updates the theme
+
+ <p>This method iterates over each item of the Gallery theme
+ and updates it accordingly. Main purpose is to automatically
+ regenerate the thumbnails and to remove invalid items, that is items
+ who have got a URL that has become invalid. This method also
+ optimizes underlying data structures.</p>
+ */
+ void update();
+
+ /** inserts an item
+
+ @param URL
+ The URL of a graphic or media object, that should
+ be added to the collection
+
+ @param Index
+ The zero based index of the position where to insert
+ the new object inside the collection. If the index is larger than
+ or equal to the number of already inserted items, the
+ item is inserted at the end of the collection. If the index
+ is smaller than 0, the item is inserted at the beginning of
+ the collection.
+
+ @returns
+ The zero based position at which the object was inserted.
+ If the object could not be inserted, -1 is returned.
+
+ @see XGalleryItem
+ @see com::sun::star::lang::WrappedTargetException
+ */
+ long insertURLByIndex( [in] string URL, [in] long Index )
+ raises ( com::sun::star::lang::WrappedTargetException );
+ /** inserts an item
+
+ @param Graphic
+ The com::sun::star::graphic::XGraphic object
+ that should be added to the collection
+
+ @param Index
+ The zero based index of the position where to insert
+ the new object inside the collection. If the index is larger than
+ or equal to the number of already inserted items, the
+ item is inserted at the end of the collection. If the index
+ is smaller than 0, the item is inserted at the beginning of
+ the collection.
+
+ @returns
+ The zero based position at which the object was inserted.
+ If the object could not be inserted, -1 is returned.
+
+ @see com::sun::star::graphic::XGraphic
+ @see XGalleryItem
+ @see com::sun::star::lang::WrappedTargetException
+ */
+ long insertGraphicByIndex( [in] com::sun::star::graphic::XGraphic Graphic, [in] long Index )
+ raises ( com::sun::star::lang::WrappedTargetException );
+
+ /** inserts an item
+
+ @param Drawing
+ A drawing model that should be added to the collection
+
+ @param Index
+ The zero based index of the position where to insert
+ the new object inside the collection. If the index is larger than
+ or equal to the number of already inserted items, the
+ item is inserted at the end of the collection. If the index
+ is smaller than 0, the item is inserted at the beginning of
+ the collection.
+
+ @returns
+ The zero based position at which the object was inserted.
+ If the object could not be inserted, -1 is returned.
+
+ @see XGalleryItem
+ @see com::sun::star::lang::WrappedTargetException
+ */
+ long insertDrawingByIndex( [in] com::sun::star::lang::XComponent Drawing, [in] long Index )
+ raises ( com::sun::star::lang::WrappedTargetException );
+
+ /** deletes an item from the collection
+
+ @param Index
+ The position of the item to be removed. The
+ position is zero based.
+
+ @see com::sun::star::container::NoSuchElementException
+ */
+ void removeByIndex( [in] long Index )
+ raises ( com::sun::star::lang::IndexOutOfBoundsException );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/gallery/XGalleryThemeProvider.idl b/offapi/com/sun/star/gallery/XGalleryThemeProvider.idl
new file mode 100644
index 000000000..515663358
--- /dev/null
+++ b/offapi/com/sun/star/gallery/XGalleryThemeProvider.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_gallery_XGalleryThemeProvider_idl__
+#define __com_sun_star_gallery_XGalleryThemeProvider_idl__
+
+#include <com/sun/star/gallery/XGalleryTheme.idl>
+#include <com/sun/star/container/XNameAccess.idl>
+#include <com/sun/star/container/ElementExistException.idl>
+#include <com/sun/star/container/NoSuchElementException.idl>
+
+
+module com { module sun { module star { module gallery {
+
+
+/** provides access to the Gallery themes. It also allows inserting and
+ removing of Gallery themes by name.
+
+ <p>This interface extends the interface
+ com::sun::star::container::XNameAccess which provides
+ access to existing Gallery themes collection.</p>
+
+ @see com::sun::star::container::XNameAccess
+ */
+interface XGalleryThemeProvider : com::sun::star::container::XNameAccess
+{
+ /** creates a new Gallery theme and adds it to the collection.
+
+ @param ThemeName
+ The name of the Gallery theme to be added to the collection.
+ The name must be unique.
+
+ @returns XGalleryTheme
+ The created theme interface
+
+ @see com::sun::star::container::ElementExistException
+ */
+ XGalleryTheme insertNewByName( [in] string ThemeName )
+ raises ( com::sun::star::container::ElementExistException );
+
+
+ /** deletes a Gallery theme from the collection.
+
+ @param ThemeName
+ The name of the Gallery theme to be removed. The
+ theme with the given name must exist.
+
+ @see com::sun::star::container::NoSuchElementException
+ */
+ void removeByName( [in] string ThemeName )
+ raises ( com::sun::star::container::NoSuchElementException );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/geometry/AffineMatrix2D.idl b/offapi/com/sun/star/geometry/AffineMatrix2D.idl
new file mode 100644
index 000000000..1d7df6fc0
--- /dev/null
+++ b/offapi/com/sun/star/geometry/AffineMatrix2D.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_geometry_AffineMatrix2D_idl__
+#define __com_sun_star_geometry_AffineMatrix2D_idl__
+
+module com { module sun { module star { module geometry {
+
+/** This structure defines a 2 by 3 affine matrix.<p>
+
+ The matrix defined by this structure constitutes an affine mapping
+ of a point in 2D to another point in 2D. The last line of a
+ complete 3 by 3 matrix is omitted, since it is implicitly assumed
+ to be [0,0,1].<p>
+
+ An affine mapping, as performed by this matrix, can be written out
+ as follows, where <code>xs</code> and <code>ys</code> are the source, and
+ <code>xd</code> and <code>yd</code> the corresponding result coordinates:
+
+ <code>
+ xd = m00*xs + m01*ys + m02;
+ yd = m10*xs + m11*ys + m12;
+ </code><p>
+
+ Thus, in common matrix language, with M being the
+ AffineMatrix2D and vs=[xs,ys]^T, vd=[xd,yd]^T two 2D
+ vectors, the affine transformation is written as
+ vd=M*vs. Concatenation of transformations amounts to
+ multiplication of matrices, i.e. a translation, given by T,
+ followed by a rotation, given by R, is expressed as vd=R*(T*vs) in
+ the above notation. Since matrix multiplication is associative,
+ this can be shortened to vd=(R*T)*vs=M'*vs. Therefore, a set of
+ consecutive transformations can be accumulated into a single
+ AffineMatrix2D, by multiplying the current transformation with the
+ additional transformation from the left.<p>
+
+ Due to this transformational approach, all geometry data types are
+ points in abstract integer or real coordinate spaces, without any
+ physical dimensions attached to them. This physical measurement
+ units are typically only added when using these data types to
+ render something onto a physical output device, like a screen or a
+ printer, Then, the total transformation matrix and the device
+ resolution determine the actual measurement unit.<p>
+
+ @since OOo 2.0
+ */
+struct AffineMatrix2D
+{
+ /// The top, left matrix entry.
+ double m00;
+
+ /// The top, middle matrix entry.
+ double m01;
+
+ /// The top, right matrix entry.
+ double m02;
+
+ /// The bottom, left matrix entry.
+ double m10;
+
+ /// The bottom, middle matrix entry.
+ double m11;
+
+ /// The bottom, right matrix entry.
+ double m12;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/geometry/AffineMatrix3D.idl b/offapi/com/sun/star/geometry/AffineMatrix3D.idl
new file mode 100644
index 000000000..4602907c3
--- /dev/null
+++ b/offapi/com/sun/star/geometry/AffineMatrix3D.idl
@@ -0,0 +1,107 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_geometry_AffineMatrix3D_idl__
+#define __com_sun_star_geometry_AffineMatrix3D_idl__
+
+module com { module sun { module star { module geometry {
+
+/** This structure defines a 3 by 4 affine matrix.<p>
+
+ The matrix defined by this structure constitutes an affine mapping
+ of a point in 3D to another point in 3D. The last line of a
+ complete 4 by 4 matrix is omitted, since it is implicitly assumed
+ to be [0,0,0,1].<p>
+
+ An affine mapping, as performed by this matrix, can be written out
+ as follows, where <code>xs, ys</code> and <code>zs</code> are the source, and
+ <code>xd, yd</code> and <code>zd</code> the corresponding result coordinates:
+
+ <code>
+ xd = m00*xs + m01*ys + m02*zs + m03;
+ yd = m10*xs + m11*ys + m12*zs + m13;
+ zd = m20*xs + m21*ys + m22*zs + m23;
+ </code><p>
+
+ Thus, in common matrix language, with M being the
+ AffineMatrix3D and vs=[xs,ys,zs]^T, vd=[xd,yd,zd]^T two 3D
+ vectors, the affine transformation is written as
+ vd=M*vs. Concatenation of transformations amounts to
+ multiplication of matrices, i.e. a translation, given by T,
+ followed by a rotation, given by R, is expressed as vd=R*(T*vs) in
+ the above notation. Since matrix multiplication is associative,
+ this can be shortened to vd=(R*T)*vs=M'*vs. Therefore, a set of
+ consecutive transformations can be accumulated into a single
+ AffineMatrix3D, by multiplying the current transformation with the
+ additional transformation from the left.<p>
+
+ Due to this transformational approach, all geometry data types are
+ points in abstract integer or real coordinate spaces, without any
+ physical dimensions attached to them. This physical measurement
+ units are typically only added when using these data types to
+ render something onto a physical output device. For 3D coordinates
+ there is also a projection from 3D to 2D device coordinates needed.
+ Only then the total transformation matrix (including projection to 2D)
+ and the device resolution determine the actual measurement unit in 3D.<p>
+
+ @since OOo 2.0
+ */
+struct AffineMatrix3D
+{
+ /// The top, left matrix entry.
+ double m00;
+
+ /// The top, left middle matrix entry.
+ double m01;
+
+ /// The top, right middle matrix entry.
+ double m02;
+
+ /// The top, right matrix entry.
+ double m03;
+
+ /// The middle, left matrix entry.
+ double m10;
+
+ /// The middle, middle left matrix entry.
+ double m11;
+
+ /// The middle, middle right matrix entry.
+ double m12;
+
+ /// The middle, right matrix entry.
+ double m13;
+
+ /// The bottom, left matrix entry.
+ double m20;
+
+ /// The bottom, middle left matrix entry.
+ double m21;
+
+ /// The bottom, middle right matrix entry.
+ double m22;
+
+ /// The bottom, right matrix entry.
+ double m23;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/geometry/EllipticalArc.idl b/offapi/com/sun/star/geometry/EllipticalArc.idl
new file mode 100644
index 000000000..7fe9b40e9
--- /dev/null
+++ b/offapi/com/sun/star/geometry/EllipticalArc.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_geometry_EllipticalArc_idl__
+#define __com_sun_star_geometry_EllipticalArc_idl__
+
+#include <com/sun/star/geometry/RealPoint2D.idl>
+
+module com { module sun { module star { module geometry {
+
+/** This structure specifies an arbitrary elliptical arc.<p>
+
+ This structure contains all parameters necessary to specify
+ arbitrary elliptical arcs. The parameters are modeled closely
+ after the <a href="http://www.w3c.org">SVG</a> specification.<p>
+
+ As with the parameters below, there are mostly four different
+ ellipses arcs (two different ellipses, on which four different
+ arcs connect start and end point) which satisfy the given set of
+ constrains. Thus, there are two flags indicating which one of those
+ ellipses should be taken.<p>
+
+ @since OOo 2.0
+ */
+struct EllipticalArc
+{
+ /// Start point of the arc.
+ RealPoint2D StartPosition;
+
+
+ /// End point of the arc.
+ RealPoint2D EndPosition;
+
+
+ /// Main radius in x direction of the ellipse this arc is part of.
+ double RadiusX;
+
+
+ /// Main radius in y direction of the ellipse this arc is part of.
+ double RadiusY;
+
+
+ /** Rotation angle of the x axis of the ellipse relative to the x
+ axis of the reference coordinate system.
+ */
+ double XAxisRotation;
+
+
+ /** If `TRUE`, and there's a choice, take the longer one of two arcs
+ connecting start and end point.
+ */
+ boolean IsLargeArc;
+
+
+ /** If `TRUE`, and there's a choice, take the arc that goes
+ clock-wise from start to end point.
+ */
+ boolean IsClockwiseSweep;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/geometry/IntegerBezierSegment2D.idl b/offapi/com/sun/star/geometry/IntegerBezierSegment2D.idl
new file mode 100644
index 000000000..ae054104a
--- /dev/null
+++ b/offapi/com/sun/star/geometry/IntegerBezierSegment2D.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_geometry_IntegerBezierSegment2D_idl__
+#define __com_sun_star_geometry_IntegerBezierSegment2D_idl__
+
+module com { module sun { module star { module geometry {
+
+/** This structure contains the relevant data for a cubic Bezier
+ curve.<p>
+
+ The data is stored integer-valued. The last point of the segment
+ is taken from the first point of the following segment, and thus
+ not included herein. That is, when forming a polygon out of cubic
+ Bezier segments, each two consecutive IntegerBezierSegment2Ds
+ define the actual curve, with the very last segment providing only
+ the end point of the last curve, and the remaining members
+ ignored.<p>
+
+ @see com::sun::star::rendering::XBezierPolyPolygon2D
+ @since OOo 2.0
+ */
+struct IntegerBezierSegment2D
+{
+ /// The x coordinate of the start point.
+ long Px;
+ /// The y coordinate of the start point.
+ long Py;
+
+ /// The x coordinate of the first control point.
+ long C1x;
+ /// The y coordinate of the first control point.
+ long C1y;
+
+ /// The x coordinate of the second control point.
+ long C2x;
+ /// The y coordinate of the second control point.
+ long C2y;
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/geometry/IntegerPoint2D.idl b/offapi/com/sun/star/geometry/IntegerPoint2D.idl
new file mode 100644
index 000000000..e7f1575c5
--- /dev/null
+++ b/offapi/com/sun/star/geometry/IntegerPoint2D.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_geometry_IntegerPoint2D_idl__
+#define __com_sun_star_geometry_IntegerPoint2D_idl__
+
+module com { module sun { module star { module geometry {
+
+/** This structure defines a two-dimensional point
+
+ This structure contains x and y integer-valued coordinates of a
+ two-dimensional point.
+
+ @since OOo 2.0
+ */
+struct IntegerPoint2D
+{
+ /// The x coordinate of the point.
+ long X;
+
+
+ /// The x coordinate of the point.
+ long Y;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/geometry/IntegerRectangle2D.idl b/offapi/com/sun/star/geometry/IntegerRectangle2D.idl
new file mode 100644
index 000000000..010a8e7a8
--- /dev/null
+++ b/offapi/com/sun/star/geometry/IntegerRectangle2D.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_geometry_IntegerRectangle2D_idl__
+#define __com_sun_star_geometry_IntegerRectangle2D_idl__
+
+module com { module sun { module star { module geometry {
+
+/* Removed, because XCanvas is private API until further notice.
+
+ The values are stored as integers. Please note that the
+ com.sun.star.rendering.XCanvas defines the
+ screen representation of rectangles in such a way that the lower
+ and the rightmost line of the rectangle are not drawn on
+ screen. Thus, if for two rectangles R1 and R2, R1.x2 equals R2.x1,
+ the screen representation of these rectangles will not overlap,
+ but being exactly adjacent. That also means, that an
+ IntegerRectangle2D with X1 equal X2 or Y1 equal Y2 can be
+ considered empty.<p>
+*/
+
+/** This structure contains the necessary information for a
+ two-dimensional rectangle.<p>
+
+ @since OOo 2.0
+ */
+struct IntegerRectangle2D
+{
+ /// X coordinate of upper left corner.
+ long X1;
+
+
+ /// Y coordinate of upper left corner.
+ long Y1;
+
+
+ /** X coordinate of lower right corner.<p>
+
+ Must be greater than X1 for non-empty rectangles.<p>
+ */
+ long X2;
+
+
+ /** Y coordinate of lower right corner.<p>
+
+ Must be greater than y1 for non-empty rectangles.<p>
+ */
+ long Y2;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/geometry/IntegerSize2D.idl b/offapi/com/sun/star/geometry/IntegerSize2D.idl
new file mode 100644
index 000000000..5d3e58f30
--- /dev/null
+++ b/offapi/com/sun/star/geometry/IntegerSize2D.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_geometry_IntegerSize2D_idl__
+#define __com_sun_star_geometry_IntegerSize2D_idl__
+
+module com { module sun { module star { module geometry {
+
+/** This structure contains data representing a two-dimensional size.<p>
+
+ The data is stored integer-valued.<p>
+
+ @since OOo 2.0
+ */
+struct IntegerSize2D
+{
+ /// Amount of space occupied in the x direction.
+ long Width;
+
+
+ /// Amount of space occupied in the y direction.
+ long Height;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/geometry/Matrix2D.idl b/offapi/com/sun/star/geometry/Matrix2D.idl
new file mode 100644
index 000000000..d64e155c3
--- /dev/null
+++ b/offapi/com/sun/star/geometry/Matrix2D.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_geometry_Matrix2D_idl__
+#define __com_sun_star_geometry_Matrix2D_idl__
+
+module com { module sun { module star { module geometry {
+
+/** This structure defines a 2 by 2 matrix.<p>
+
+ This constitutes a linear mapping of a point in 2D to another
+ point in 2D.<p>
+
+ The matrix defined by this structure constitutes a linear
+ mapping of a point in 2D to another point in 2D. In contrast to
+ the com.sun.star.geometry.AffineMatrix2D, this
+ matrix does not include any translational components.<p>
+
+ A linear mapping, as performed by this matrix, can be written out
+ as follows, where <code>xs</code> and <code>ys</code> are the source, and
+ <code>xd</code> and <code>yd</code> the corresponding result coordinates:
+
+ <code>
+ xd = m00*xs + m01*ys;
+ yd = m10*xs + m11*ys;
+ </code><p>
+
+ Thus, in common matrix language, with M being the
+ Matrix2D and vs=[xs,ys]^T, vd=[xd,yd]^T two 2D
+ vectors, the linear mapping is written as
+ vd=M*vs. Concatenation of transformations amounts to
+ multiplication of matrices, i.e. a scaling, given by S,
+ followed by a rotation, given by R, is expressed as vd=R*(S*vs) in
+ the above notation. Since matrix multiplication is associative,
+ this can be shortened to vd=(R*S)*vs=M'*vs. Therefore, a set of
+ consecutive transformations can be accumulated into a single
+ Matrix2D, by multiplying the current transformation with the
+ additional transformation from the left.<p>
+
+ Due to this transformational approach, all geometry data types are
+ points in abstract integer or real coordinate spaces, without any
+ physical dimensions attached to them. This physical measurement
+ units are typically only added when using these data types to
+ render something onto a physical output device, like a screen or a
+ printer. Then, the total transformation matrix and the device
+ resolution determine the actual measurement unit.<p>
+
+ @since OOo 2.0
+ */
+struct Matrix2D
+{
+ /// The top, left matrix entry.
+ double m00;
+
+ /// The top, right matrix entry.
+ double m01;
+
+ /// The bottom, left matrix entry.
+ double m10;
+
+ /// The bottom, right matrix entry.
+ double m11;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/geometry/RealBezierSegment2D.idl b/offapi/com/sun/star/geometry/RealBezierSegment2D.idl
new file mode 100644
index 000000000..6899d7ef5
--- /dev/null
+++ b/offapi/com/sun/star/geometry/RealBezierSegment2D.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_geometry_RealBezierSegment2D_idl__
+#define __com_sun_star_geometry_RealBezierSegment2D_idl__
+
+module com { module sun { module star { module geometry {
+
+/** This structure contains the relevant data for a cubic Bezier
+ curve.<p>
+
+ The data is stored real-valued. The last point of the segment is
+ taken from the first point of the following segment, and thus not
+ included herein. That is, when forming a polygon out of cubic
+ Bezier segments, each two consecutive RealBezierSegment2D
+ define the actual curve, with the very last segment providing only
+ the end point of the last curve, and the remaining members
+ ignored.<p>
+
+ @see com::sun::star::rendering::XBezierPolyPolygon2D
+ @since OOo 2.0
+ */
+struct RealBezierSegment2D
+{
+ /// The x coordinate of the start point.
+ double Px;
+ /// The y coordinate of the start point.
+ double Py;
+
+ /// The x coordinate of the first control point.
+ double C1x;
+ /// The y coordinate of the first control point.
+ double C1y;
+
+ /// The x coordinate of the second control point.
+ double C2x;
+ /// The y coordinate of the second control point.
+ double C2y;
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/geometry/RealPoint2D.idl b/offapi/com/sun/star/geometry/RealPoint2D.idl
new file mode 100644
index 000000000..ff7d26306
--- /dev/null
+++ b/offapi/com/sun/star/geometry/RealPoint2D.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_geometry_RealPoint2D_idl__
+#define __com_sun_star_geometry_RealPoint2D_idl__
+
+module com { module sun { module star { module geometry {
+
+/** This structure defines a two-dimensional point
+
+ This structure contains x and y real-valued coordinates of a
+ two-dimensional point.
+
+ @since OOo 2.0
+ */
+struct RealPoint2D
+{
+ /// The x coordinate of the point.
+ double X;
+
+
+ /// The x coordinate of the point.
+ double Y;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/geometry/RealRectangle2D.idl b/offapi/com/sun/star/geometry/RealRectangle2D.idl
new file mode 100644
index 000000000..19f38e0c3
--- /dev/null
+++ b/offapi/com/sun/star/geometry/RealRectangle2D.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_geometry_RealRectangle2D_idl__
+#define __com_sun_star_geometry_RealRectangle2D_idl__
+
+module com { module sun { module star { module geometry {
+
+/* Removed, because XCanvas is private API until further notice.
+
+ The values are stored as reals. Please note that the
+ com.sun.star.rendering.XCanvas defines the
+ screen representation of rectangles in such a way that the lower
+ and the rightmost line of the rectangle are not drawn on
+ screen. Thus, if for two rectangles R1 and R2, R1.x2 equals R2.x1,
+ the screen representation of these rectangles will not overlap,
+ but being exactly adjacent. That also means, that an
+ IntegerRectangle2D with X1 equal X2 or Y1 equal Y2 can be
+ considered empty.<p>
+*/
+
+/** This structure contains the necessary information for a
+ two-dimensional rectangle.<p>
+
+ @since OOo 2.0
+ */
+struct RealRectangle2D
+{
+ /// X coordinate of upper left corner .
+ double X1;
+
+
+ /// Y coordinate of upper left corner.
+ double Y1;
+
+
+ /** X coordinate of lower right corner.<p>
+
+ Must be greater than x1 for non-empty rectangles.<p>.
+ */
+ double X2;
+
+
+ /** Y coordinate of lower right corner.<p>
+
+ Must be greater than y1 for non-empty rectangles.<p>
+ */
+ double Y2;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/geometry/RealRectangle3D.idl b/offapi/com/sun/star/geometry/RealRectangle3D.idl
new file mode 100644
index 000000000..839f4b422
--- /dev/null
+++ b/offapi/com/sun/star/geometry/RealRectangle3D.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_geometry_RealRectangle3D_idl__
+#define __com_sun_star_geometry_RealRectangle3D_idl__
+
+module com { module sun { module star { module geometry {
+
+/** This structure contains the necessary information for a
+ three-dimensional cube.<p>
+
+ @since OOo 2.0
+ */
+struct RealRectangle3D
+{
+ /// minimum X coordinate.
+ double X1;
+
+
+ /// minimum Y coordinate.
+ double Y1;
+
+
+ /// minimum Z coordinate.
+ double Z1;
+
+
+ /** maximum X coordinate.<p>
+
+ Must be greater than X1 for non-empty cubes.<p>.
+ */
+ double X2;
+
+
+ /** maximum Y coordinate.<p>
+
+ Must be greater than Y1 for non-empty cubes.<p>
+ */
+ double Y2;
+
+
+ /** maximum Z coordinate.<p>
+
+ Must be greater than Z1 for non-empty cubes.<p>
+ */
+ double Z2;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/geometry/RealSize2D.idl b/offapi/com/sun/star/geometry/RealSize2D.idl
new file mode 100644
index 000000000..6bb95c4ab
--- /dev/null
+++ b/offapi/com/sun/star/geometry/RealSize2D.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_geometry_RealSize2D_idl__
+#define __com_sun_star_geometry_RealSize2D_idl__
+
+module com { module sun { module star { module geometry {
+
+/** This structure contains data representing a two-dimensional size.<p>
+
+ The data is stored real-valued.<p>
+
+ @since OOo 2.0
+ */
+struct RealSize2D
+{
+ /// Amount of space occupied in the x direction.
+ double Width;
+
+
+ /// Amount of space occupied in the y direction.
+ double Height;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/geometry/XMapping2D.idl b/offapi/com/sun/star/geometry/XMapping2D.idl
new file mode 100644
index 000000000..eda7c50d4
--- /dev/null
+++ b/offapi/com/sun/star/geometry/XMapping2D.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_geometry_XMapping2D_idl__
+#define __com_sun_star_geometry_XMapping2D_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/geometry/RealPoint2D.idl>
+
+module com { module sun { module star { module geometry {
+
+/** Interface defining an arbitrary bijective mapping from R^2 to R^2.<p>
+
+ This interface provides methods to define an arbitrary bijective
+ mapping from R^2 to R^2, i.e. from the two-dimensional space of
+ real numbers onto itself, as is representable by the
+ double floating point type. The mapping must be
+ bijective, i.e. map a pair of real numbers to exactly one other
+ pair of real numbers and vice versa, to facilitate a working
+ inverse. Bijectiveness also implies completeness, i.e. for every
+ pair of real numbers there must be another pair that is mapped
+ upon them.<p>
+
+ @since OOo 2.0
+ */
+interface XMapping2D : ::com::sun::star::uno::XInterface
+{
+ /** Forward 2D mapping function
+ */
+ RealPoint2D map( [in] RealPoint2D aPoint );
+
+
+ /** Inverse 2D mapping function.<p>
+
+ The following invariant must hold:
+ <code>map(mapInverse(p))=p</code>. This effectively rules out
+ non-bijective mappings.<p>
+ */
+ RealPoint2D mapInverse( [in] RealPoint2D aPoint );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/graphic/EmfTools.idl b/offapi/com/sun/star/graphic/EmfTools.idl
new file mode 100644
index 000000000..f4c2023e9
--- /dev/null
+++ b/offapi/com/sun/star/graphic/EmfTools.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef com_sun_star_graphic_EmfTools_idl
+#define com_sun_star_graphic_EmfTools_idl
+
+#include <com/sun/star/graphic/XEmfParser.idl>
+
+module com { module sun { module star { module graphic
+{
+
+/** Service that describes the necessary interfaces and properties
+ to handle emf files.
+ Parses a WMF/EMF/EMF+ file to a sequence of B2DPrimitives for internal usage
+
+ @since LibreOffice 6.0
+ */
+
+service EmfTools : XEmfParser;
+
+} ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/graphic/Graphic.idl b/offapi/com/sun/star/graphic/Graphic.idl
new file mode 100644
index 000000000..a1ee565d2
--- /dev/null
+++ b/offapi/com/sun/star/graphic/Graphic.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_graphic_Graphic_idl
+#define com_sun_star_graphic_Graphic_idl
+
+#include <com/sun/star/graphic/XGraphic.idl>
+#include <com/sun/star/graphic/GraphicDescriptor.idl>
+
+module com { module sun { module star { module graphic
+{
+
+/** This service acts as a container for graphics
+
+ <p>The main interface that has to be implemented for this service
+ is the XGraphic interface, which itself exposes only
+ a few methods. Beside this, a Graphic service
+ incorporates the GraphicDescriptor to give
+ access to the attributes of the graphic.
+
+ @see XGraphic
+ @see XGraphicTransformer
+ @see GraphicDescriptor
+*/
+published service Graphic
+{
+ interface ::com::sun::star::graphic::XGraphic;
+
+ /**
+ [optional] interface ::com::sun::star::graphic::XGraphicTransformer;
+ */
+
+ service ::com::sun::star::graphic::GraphicDescriptor;
+};
+
+} ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/graphic/GraphicColorMode.idl b/offapi/com/sun/star/graphic/GraphicColorMode.idl
new file mode 100644
index 000000000..9c9201185
--- /dev/null
+++ b/offapi/com/sun/star/graphic/GraphicColorMode.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_graphic_GraphicColorMode_idl__
+#define __com_sun_star_graphic_GraphicColorMode_idl__
+
+
+module com { module sun { module star { module graphic {
+
+
+/** describes different color modes which can be specified when requesting a graphic.
+ */
+constants GraphicColorMode
+{
+ /** describes normal graphic colors, no particular color transformation is applied
+ to the graphics.
+ */
+ const long NORMAL = 0;
+
+ /** used when requesting graphics which are suitable for a high-contrast
+ environment.
+ */
+ const long HIGH_CONTRAST = 1;
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/graphic/GraphicDescriptor.idl b/offapi/com/sun/star/graphic/GraphicDescriptor.idl
new file mode 100644
index 000000000..daf3c88f9
--- /dev/null
+++ b/offapi/com/sun/star/graphic/GraphicDescriptor.idl
@@ -0,0 +1,157 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef com_sun_star_graphic_GraphicDescriptor_idl
+#define com_sun_star_graphic_GraphicDescriptor_idl
+
+#include <com/sun/star/graphic/GraphicType.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/awt/Size.idl>
+
+module com { module sun { module star { module graphic
+{
+
+/** This service describes all graphic properties that are available
+ via the com::sun::star::beans::XPropertySet interface
+
+ @see XPropertySet
+*/
+published service GraphicDescriptor
+{
+ /** The property interface by which the properties of all
+ supported services are exchanged
+ */
+ interface ::com::sun::star::beans::XPropertySet;
+
+ /** The type of the graphic
+
+ @see GraphicType
+ */
+ [property] byte GraphicType;
+
+ /** The MimeType of the loaded graphic
+
+ <p> The mime can be the original mime type of the graphic
+ source the graphic container was constructed from or it
+ can be the internal mime type image/x-vclgraphic, in which
+ case the original mime type is not available anymore</p>
+
+ <p> Currently, the following mime types are supported for
+ loaded graphics:</p>
+ <ul>
+ <li>image/bmp</li>
+ <li>image/gif</li>
+ <li>image/jpeg</li>
+ <li>image/x-photo-cd</li>
+ <li>image/x-pcx</li>
+ <li>image/png</li>
+ <li>image/tiff</li>
+ <li>image/x-xbitmap</li>
+ <li>image/x-xpixmap</li>
+ <li>image/x-portable-bitmap</li>
+ <li>image/x-portable-graymap</li>
+ <li>image/x-portable-pixmap</li>
+ <li>image/x-cmu-raster</li>
+ <li>image/x-targa</li>
+ <li>image/x-photoshop</li>
+ <li>image/x-eps</li>
+ <li>image/x-dxf</li>
+ <li>image/x-met</li>
+ <li>image/x-pict</li>
+ <li>image/x-svm</li>
+ <li>image/x-wmf</li>
+ <li>image/x-emf</li>
+ <li>image/svg+xml</li>
+ <li>application/pdf</li>
+ <li>image/x-vclgraphic</li>
+ </ul>
+
+ */
+ [property] string MimeType;
+
+ /** The Size of the graphic in pixel.
+
+ <p> This property may not be available in case of
+ vector graphics or if the pixel size can not be
+ determined correctly for some formats without loading
+ the whole graphic</p>
+ */
+ [optional, property] ::com::sun::star::awt::Size SizePixel;
+
+ /** The Size of the graphic in 100th mm.
+
+ <p> This property may not be available in case of
+ pixel graphics or if the logical size can not be
+ determined correctly for some formats without loading
+ the whole graphic</p>
+ */
+ [optional, property] ::com::sun::star::awt::Size Size100thMM;
+
+ /** The number of bits per pixel used for the pixel graphic
+
+ <p> This property is not available for vector
+ graphics and may not be available for some kinds
+ of pixel graphics</p>
+ */
+ [optional, property] byte BitsPerPixel;
+
+ /** Indicates that it is a transparent graphic
+
+ <p>This property is always `TRUE` for vector graphics.
+ The status of this flag is not always clear if the
+ graphic was not loaded at all, e.g. in case of just
+ querying for the GraphicDescriptor.</p>
+ */
+ [optional, property] boolean Transparent;
+
+ /** Indicates that it is a pixel graphic with an alpha channel
+
+ <p>The status of this flag is not always clear if the
+ graphic was not loaded at all, e.g. in case of just
+ querying for the GraphicDescriptor</p>
+ */
+ [optional, property] boolean Alpha;
+
+ /** Indicates that it is a graphic that consists of several
+ frames that can be played as an animation
+
+ <p>The status of this flag is not always clear if the
+ graphic was not loaded at all, e.g. in case of just
+ querying for the GraphicDescriptor</p>
+ */
+ [optional, property] boolean Animated;
+
+ /** Indicates that the graphic is an external linked graphic
+
+ @since LibreOffice 6.1
+ */
+ [optional, property] boolean Linked;
+
+ /** The URL of the location from where the graphic was loaded from
+
+ @since LibreOffice 6.1
+ */
+ [optional, property] string OriginURL;
+};
+
+} ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/graphic/GraphicMapper.idl b/offapi/com/sun/star/graphic/GraphicMapper.idl
new file mode 100644
index 000000000..f74abd45f
--- /dev/null
+++ b/offapi/com/sun/star/graphic/GraphicMapper.idl
@@ -0,0 +1,30 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.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_graphic_GraphicMapper_idl
+#define com_sun_star_graphic_GraphicMapper_idl
+
+#include <com/sun/star/graphic/XGraphicMapper.idl>
+
+module com { module sun { module star { module graphic
+{
+
+/** implementation of the XGraphicMapper interface
+
+ @see XGraphicMapper
+ @since LibreOffice 7.1
+*/
+service GraphicMapper : XGraphicMapper;
+
+} ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/graphic/GraphicObject.idl b/offapi/com/sun/star/graphic/GraphicObject.idl
new file mode 100644
index 000000000..9cb89a86c
--- /dev/null
+++ b/offapi/com/sun/star/graphic/GraphicObject.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_graphic_GraphicObject_idl
+#define com_sun_star_graphic_GraphicObject_idl
+
+#include <com/sun/star/graphic/XGraphicObject.idl>
+
+module com { module sun { module star { module graphic
+{
+/** The <code>GraphicObject</code> service can be used to create XGraphicObject instances.
+
+ @see GraphicObject
+ @see GraphicProvider
+ @see MediaProperties
+*/
+
+service GraphicObject : XGraphicObject
+{
+ /** Creates a GraphicObject
+ */
+ create();
+
+};
+
+} ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/graphic/GraphicProvider.idl b/offapi/com/sun/star/graphic/GraphicProvider.idl
new file mode 100644
index 000000000..1c0664708
--- /dev/null
+++ b/offapi/com/sun/star/graphic/GraphicProvider.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef com_sun_star_graphic_GraphicProvider_idl
+#define com_sun_star_graphic_GraphicProvider_idl
+
+#include <com/sun/star/graphic/XGraphicProvider.idl>
+
+module com { module sun { module star { module graphic
+{
+
+/** Central service of the Graphic API that gives access to graphics
+ of any kind
+
+ <p>This service allows to load graphics from and to store graphics
+ to any location. The one and only interface that has to be implemented
+ is the XGraphicProvider interface, that exposes the necessary
+ methods for loading and storing the graphic contents and descriptors</p>
+
+ @see XGraphicProvider
+*/
+published service GraphicProvider : XGraphicProvider;
+
+} ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/graphic/GraphicRasterizer.idl b/offapi/com/sun/star/graphic/GraphicRasterizer.idl
new file mode 100644
index 000000000..63ee501d0
--- /dev/null
+++ b/offapi/com/sun/star/graphic/GraphicRasterizer.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_graphic_GraphicRasterizer_idl
+#define com_sun_star_graphic_GraphicRasterizer_idl
+
+#include <com/sun/star/graphic/XGraphicRasterizer.idl>
+
+module com { module sun { module star { module graphic
+{
+
+/** Service that describes the necessary interfaces and properties
+ to convert arbitrary graphic data to a XGraphic
+ interface containing a pixel graphic, that can be rendered the usual
+ ways.
+ */
+
+service GraphicRasterizer
+{
+ /** Interface to initiate the rasterizing process
+ */
+ interface ::com::sun::star::graphic::XGraphicRasterizer;
+
+};
+
+} ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/graphic/GraphicRendererVCL.idl b/offapi/com/sun/star/graphic/GraphicRendererVCL.idl
new file mode 100644
index 000000000..7fffef432
--- /dev/null
+++ b/offapi/com/sun/star/graphic/GraphicRendererVCL.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_graphic_GraphicRendererVCL_idl
+#define com_sun_star_graphic_GraphicRendererVCL_idl
+
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/graphic/XGraphicRenderer.idl>
+#include <com/sun/star/awt/Rectangle.idl>
+
+module com { module sun { module star { module graphic
+{
+
+/** Service that describes the necessary interfaces and properties
+ to render a graphic container of XGraphic type
+
+ <p>To render a XGraphic container, just create an
+ instance of this service, set the appropriate properties and use
+ the XGraphicRenderer interface to initiate the rendering
+ process itself</p>
+ */
+service GraphicRendererVCL
+{
+ /** Interface to initiate the rendering process
+ */
+ interface ::com::sun::star::graphic::XGraphicRenderer;
+
+ /** The property interface by which the properties of all
+ supported services are exchanged
+ */
+ interface ::com::sun::star::beans::XPropertySet;
+
+ /** Holds the device onto which the XGraphic
+ container should be rendered
+
+ <p>In case of using VCL Devices, this property should
+ hold a com::sun::star::awt::XDevice
+ interface</p>
+ */
+ [property] any Device;
+
+ /** Specifies the destination rectangle, into which the graphic
+ content is to be rendered onto the device
+ */
+ [property] ::com::sun::star::awt::Rectangle DestinationRect;
+
+
+ /** Additional properties for rendering, unspecified at the moment
+ */
+ [optional, property] any RenderData;
+};
+
+} ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/graphic/GraphicType.idl b/offapi/com/sun/star/graphic/GraphicType.idl
new file mode 100644
index 000000000..6f00c00ae
--- /dev/null
+++ b/offapi/com/sun/star/graphic/GraphicType.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_graphic_GraphicType_idl__
+#define __com_sun_star_graphic_GraphicType_idl__
+
+module com { module sun { module star { module graphic {
+
+/** Constants that describe the type of graphic
+*/
+published constants GraphicType
+{
+ /** Graphic is empty
+ */
+ const byte EMPTY = 0;
+
+ /** Graphic is represented through single pixels
+ */
+ const byte PIXEL = 1;
+
+ /** Graphic is represented through vectors
+ */
+ const byte VECTOR = 2;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/graphic/MediaProperties.idl b/offapi/com/sun/star/graphic/MediaProperties.idl
new file mode 100644
index 000000000..bc2df8d42
--- /dev/null
+++ b/offapi/com/sun/star/graphic/MediaProperties.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_graphic_MediaProperties_idl
+#define com_sun_star_graphic_MediaProperties_idl
+
+#include <com/sun/star/beans/PropertyValues.idl>
+#include <com/sun/star/io/XInputStream.idl>
+#include <com/sun/star/io/XStream.idl>
+
+module com { module sun { module star { module graphic
+{
+
+/** This service describes the properties that are used
+ when using the XGraphicProvider interface methods
+*/
+published service MediaProperties
+{
+ /** Property that describes the location of the source or target
+ of the graphic as URL.
+
+ <p>A URL can be used instead of the
+ #InputStream or #OutputStream
+ property</p>
+
+ <p>In addition to the normal protocols like file:// or http://
+ you can use private URLs as follows to get access to graphics
+ lying inside the graphicrepository system within an Office context:
+ <ul>
+ <li><code>private:graphicrepository/<em>&lt;path_in_repository&gt;</em></code></li>
+ </ul>
+ </p>
+
+ <p>
+ Note: As of LibreOffice 6.1 GraphicObject scheme URLs are not supported anymore.
+ For example:
+ <ul>
+ <li>vnd.sun.star.GraphicObject:10000000000001940000012FB99807BD</li>
+ </ul>
+ </p>
+ */
+ [optional, property ] string URL;
+
+ /** This property is only used for loading graphics or querying
+ graphic descriptors
+
+ <p>A #InputStream can be used instead of the
+ #URL property</p>
+
+ @see com::sun::star::io::XInputStream
+ */
+ [optional, property ] ::com::sun::star::io::XInputStream InputStream;
+
+ /** This property is only used for storing graphics
+
+ <p>A #OutputStream can be used instead of the
+ #URL property</p>
+
+ @see com::sun::star::io::XStream
+ */
+ [optional, property ] ::com::sun::star::io::XStream OutputStream;
+
+ /** This property is only used for storing graphics and describes the
+ format into which the graphic is to be converted
+
+ <p>At the moment, the following mime types are supported for storing
+ graphics:</p>
+
+ <ul>
+ <li>image/bmp</li>
+ <li>image/gif</li>
+ <li>image/jpeg</li>
+ <li>image/png</li>
+ <li>image/tiff</li>
+ <li>image/svg+xml</li>
+ <li>image/x-cmu-raster</li>
+ <li>image/x-emf</li>
+ <li>image/x-eps</li>
+ <li>image/x-met</li>
+ <li>image/x-pict</li>
+ <li>image/x-portable-bitmap</li>
+ <li>image/x-portable-pixmap</li>
+ <li>image/x-wmf</li>
+ <li>image/x-svm</li>
+ <li>image/x-xpixmap</li>
+ <li>image/x-vclgraphic</li>
+ </ul>
+ */
+ [optional, property ] string MimeType;
+
+ /** Additional properties that will be passed to the
+ appropriate filter module.
+ */
+ [optional, property] ::com::sun::star::beans::PropertyValues FilterData;
+};
+
+} ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/graphic/PdfTools.idl b/offapi/com/sun/star/graphic/PdfTools.idl
new file mode 100644
index 000000000..b2bd2c5cb
--- /dev/null
+++ b/offapi/com/sun/star/graphic/PdfTools.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_graphic_PdfTools_idl
+#define com_sun_star_graphic_PdfTools_idl
+
+#include <com/sun/star/graphic/XPdfDecomposer.idl>
+
+module com { module sun { module star { module graphic
+{
+
+/** Service to convert a PDF stream into a 2D primitive.
+
+ @since LibreOffice 7.0
+ */
+
+service PdfTools : XPdfDecomposer;
+
+} ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/graphic/Primitive2DTools.idl b/offapi/com/sun/star/graphic/Primitive2DTools.idl
new file mode 100644
index 000000000..629165c49
--- /dev/null
+++ b/offapi/com/sun/star/graphic/Primitive2DTools.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_graphic_Primitive2DTools_idl
+#define com_sun_star_graphic_Primitive2DTools_idl
+
+#include <com/sun/star/graphic/XPrimitive2DRenderer.idl>
+
+module com { module sun { module star { module graphic
+{
+
+/** Service that describes the necessary interfaces and properties
+ for tooling involved with XPrimitive2D interfaces
+ */
+service Primitive2DTools : XPrimitive2DRenderer;
+
+} ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/graphic/PrimitiveFactory2D.idl b/offapi/com/sun/star/graphic/PrimitiveFactory2D.idl
new file mode 100644
index 000000000..82ce400f2
--- /dev/null
+++ b/offapi/com/sun/star/graphic/PrimitiveFactory2D.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_graphic_PrimitiveFactory2D_idl__
+#define __com_sun_star_graphic_PrimitiveFactory2D_idl__
+
+#include <com/sun/star/graphic/XPrimitiveFactory2D.idl>
+
+module com { module sun { module star { module graphic {
+
+/**
+ @since LibreOffice 4.1
+ */
+service PrimitiveFactory2D : XPrimitiveFactory2D;
+
+}; }; }; };
+
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/graphic/SvgTools.idl b/offapi/com/sun/star/graphic/SvgTools.idl
new file mode 100644
index 000000000..15bdd6cde
--- /dev/null
+++ b/offapi/com/sun/star/graphic/SvgTools.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef com_sun_star_graphic_SvgTools_idl
+#define com_sun_star_graphic_SvgTools_idl
+
+#include <com/sun/star/graphic/XSvgParser.idl>
+
+module com { module sun { module star { module graphic
+{
+
+/** Service that describes the necessary interfaces and properties
+ to handle svg files.
+ Parses a svg file to a sequence of B2DPrimitives for internal usage
+ */
+
+service SvgTools : XSvgParser;
+
+} ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/graphic/XEmfParser.idl b/offapi/com/sun/star/graphic/XEmfParser.idl
new file mode 100644
index 000000000..a3f6492e2
--- /dev/null
+++ b/offapi/com/sun/star/graphic/XEmfParser.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_graphic_XEmfParser_idl__
+#define __com_sun_star_graphic_XEmfParser_idl__
+
+#include <com/sun/star/geometry/RealPoint2D.idl>
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/io/XInputStream.idl>
+
+module com { module sun { module star { module graphic {
+
+interface XPrimitive2D;
+
+/** XEmfParser interface
+
+ This interface allows to parse a WMF/EMF/EMF+ stream in form of a sequence of bytes
+ to be parsed into a sequence of XPrimitive2Ds
+
+ @since LibreOffice 6.0
+ */
+interface XEmfParser : ::com::sun::star::uno::XInterface
+{
+ /** Retrieve decomposed list of simpler primitives
+
+ @param xEmfStream
+ The file containing the WMF/EMF/EMF+ binary data
+
+ @param aAbsolutePath
+ The path containing the WMF/EMF/EMF+ data
+
+ @param Properties
+ Optional values to override MapMode and size
+*/
+ sequence< XPrimitive2D > getDecomposition(
+ [in] io::XInputStream xEmfStream,
+ [in] string aAbsolutePath,
+ [in] ::com::sun::star::beans::PropertyValues Properties);
+
+ /** Sets a size hint on this object.
+
+ @param Size
+ the size in 100/th mm
+
+ @since LibreOffice 7.1
+ */
+ void setSizeHint([in] com::sun::star::geometry::RealPoint2D Size);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/graphic/XGraphic.idl b/offapi/com/sun/star/graphic/XGraphic.idl
new file mode 100644
index 000000000..3acabcf2f
--- /dev/null
+++ b/offapi/com/sun/star/graphic/XGraphic.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_graphic_XGraphic_idl
+#define com_sun_star_graphic_XGraphic_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/graphic/GraphicType.idl>
+
+module com { module sun { module star { module graphic
+{
+
+/** This interface acts as a container for the loaded graphic.
+
+ <p>The interface itself can be retrieved by using the appropriate
+ methods of XGraphicProvider interface.
+ XGraphicProvider also offers a method to store
+ the graphic content at a specific location</p>
+
+ <p>To render the graphic content onto a specific device, you
+ have to create a XGraphicRenderer interface and pass
+ this interface appropriately</p>
+
+ @see XGraphicProvider
+ @see XGraphicRenderer
+ */
+published interface XGraphic : ::com::sun::star::uno::XInterface
+{
+ /** Get the type of the contained graphic
+
+ @returns
+ The type of the contained graphic
+
+ @see GraphicType
+ */
+ byte getType();
+};
+
+} ; } ; } ; } ;
+
+#endif
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/graphic/XGraphicMapper.idl b/offapi/com/sun/star/graphic/XGraphicMapper.idl
new file mode 100644
index 000000000..f1c933b12
--- /dev/null
+++ b/offapi/com/sun/star/graphic/XGraphicMapper.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_graphic_XGraphicCache_idl
+#define com_sun_star_graphic_XGraphicCache_idl
+
+#include <com/sun/star/graphic/XGraphic.idl>
+
+module com { module sun { module star { module graphic
+{
+
+/** This interface allows mapping of XGraphics for a certain string key
+
+ @since LibreOffice 7.1
+ */
+interface XGraphicMapper
+{
+ /** Find if we have the XGraphic for the certain key */
+ com::sun::star::graphic::XGraphic findGraphic([in] string Id);
+
+ /** Insert a new entry to map an id/key to the XGraphic */
+ void putGraphic([in] string Id, [in] com::sun::star::graphic::XGraphic Graphic);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/graphic/XGraphicObject.idl b/offapi/com/sun/star/graphic/XGraphicObject.idl
new file mode 100644
index 000000000..895ef39db
--- /dev/null
+++ b/offapi/com/sun/star/graphic/XGraphicObject.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_graphic_XGraphicObject_idl
+#define com_sun_star_graphic_XGraphicObject_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module graphic
+{
+interface XGraphic;
+/** <code>XGraphicObject</code> objects represent in-memory image and graphic
+ objects.
+
+ @see XGraphicObject
+ @see GraphicProvider
+ @see MediaProperties
+*/
+
+interface XGraphicObject : ::com::sun::star::uno::XInterface
+{
+ /** is the associated image/graphic for this object.
+ */
+ [attribute] XGraphic Graphic;
+};
+
+} ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/graphic/XGraphicProvider.idl b/offapi/com/sun/star/graphic/XGraphicProvider.idl
new file mode 100644
index 000000000..ae13e3d11
--- /dev/null
+++ b/offapi/com/sun/star/graphic/XGraphicProvider.idl
@@ -0,0 +1,113 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef com_sun_star_graphic_XGraphicProvider_idl
+#define com_sun_star_graphic_XGraphicProvider_idl
+
+#include <com/sun/star/io/XInputStream.idl>
+#include <com/sun/star/io/XOutputStream.idl>
+#include <com/sun/star/io/IOException.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#include <com/sun/star/beans/PropertyValues.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/graphic/XGraphic.idl>
+
+module com { module sun { module star { module graphic
+{
+
+/** This interface acts as the main interface to handle graphic
+ content. It is used to load graphics, store graphics and
+ to get information about unloaded graphics
+ */
+published interface XGraphicProvider : ::com::sun::star::uno::XInterface
+{
+ /** Calling this method returns a
+ com::sun::star::beans::XPropertySet
+ interface that gives access to the properties of the
+ unloaded graphic
+
+ <p>In most cases, this method will be used to query the
+ mime type of the graphic and, in the case of pixel graphics,
+ the resulting size after loading</p>
+
+ @param MediaProperties
+ A sequence of property values to describe the location
+ of the graphic, for which the attributes should be returned
+
+ @returns
+ A com::sun::star::beans::XPropertySet interface
+ to get access to the different graphic properties
+
+ @see MediaProperties
+ @see GraphicDescriptor
+ @see com::sun::star::beans::PropertyValues
+ */
+ ::com::sun::star::beans::XPropertySet queryGraphicDescriptor( [in] ::com::sun::star::beans::PropertyValues MediaProperties )
+ raises( ::com::sun::star::io::IOException,
+ ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::lang::WrappedTargetException );
+
+
+
+ /** Calling this method returns a XGraphic interface
+ that holds the graphic content after loading the graphic
+
+ @param MediaProperties
+ A sequence of property values to describe the location
+ of the graphic from which the graphic is to be loaded
+
+ @returns
+ The XGraphic interface
+
+ @see MediaProperties
+ @see XGraphic
+ @see com::sun::star::beans::PropertyValues
+ */
+ XGraphic queryGraphic( [in] ::com::sun::star::beans::PropertyValues MediaProperties )
+ raises( ::com::sun::star::io::IOException,
+ ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::lang::WrappedTargetException );
+
+ /** Store the graphic content, represented through the XGraphic
+ interface at the specified location
+
+ @param Graphic
+ The graphic that should be stored
+
+ @param MediaProperties
+ A sequence of property values to describe the destination
+ location of the graphic
+
+ @see XGraphic
+ @see MediaProperties
+ @see com::sun::star::beans::PropertyValues
+ */
+ void storeGraphic( [in] ::com::sun::star::graphic::XGraphic Graphic,
+ [in] ::com::sun::star::beans::PropertyValues MediaProperties )
+ raises( ::com::sun::star::io::IOException,
+ ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::lang::WrappedTargetException );
+};
+
+} ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/graphic/XGraphicProvider2.idl b/offapi/com/sun/star/graphic/XGraphicProvider2.idl
new file mode 100644
index 000000000..ae098fb26
--- /dev/null
+++ b/offapi/com/sun/star/graphic/XGraphicProvider2.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/.
+ */
+
+#ifndef com_sun_star_graphic_XGraphicProvider2_idl
+#define com_sun_star_graphic_XGraphicProvider2_idl
+
+#include <com/sun/star/graphic/XGraphicProvider.idl>
+
+module com { module sun { module star { module graphic
+{
+
+/** This interface allows operations on multiple graphics with one method
+ call.
+ */
+interface XGraphicProvider2 : XGraphicProvider
+{
+ /** Calling this method returns XGraphic interfaces
+ that hold loaded graphics.
+
+ @param MediaPropertiesSeq
+ A sequence of sequence of property values to describe the location
+ of the graphics.
+
+ @returns
+ The XGraphic interfaces
+
+ @see XGraphicProvider::queryGraphic
+
+ @since LibreOffice 6.0
+ */
+ sequence< XGraphic > queryGraphics([in] sequence< com::sun::star::beans::PropertyValues> MediaPropertiesSeq)
+ raises( com::sun::star::io::IOException,
+ com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::lang::WrappedTargetException );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/graphic/XGraphicRasterizer.idl b/offapi/com/sun/star/graphic/XGraphicRasterizer.idl
new file mode 100644
index 000000000..593976c63
--- /dev/null
+++ b/offapi/com/sun/star/graphic/XGraphicRasterizer.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_graphic_XGraphicRasterizer_idl
+#define com_sun_star_graphic_XGraphicRasterizer_idl
+
+#include <com/sun/star/io/XInputStream.idl>
+#include <com/sun/star/graphic/XGraphic.idl>
+#include <com/sun/star/beans/PropertyValues.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/awt/Size.idl>
+
+module com { module sun { module star { module graphic
+{
+
+/** This interfaces exposes the initialize and a rasterize method to
+ rasterize a given data stream to a pixel graphic
+ */
+interface XGraphicRasterizer : ::com::sun::star::uno::XInterface
+{
+ /** Initializing the rasterizer
+
+ <p>This method could also be used to determine, if
+ the provided data is able to be rasterized by the
+ implementation. The implementation should take care of
+ this feature as well as setting the default image size in
+ pixel within the given output parameter.</p>
+
+ @param DataStream
+ The input stream of data that should be rasterized
+
+ @param DPI_X
+ The horizontal resolution of the callers device in pixel per inch. This
+ value is needed to calculate the correct dimensions of the graphic to be
+ rasterized. If a value of <value>0</value> is given, a horizontal default
+ resolution of 72 DPI is used.
+
+ @param DPI_Y
+ The vertical resolution of the callers device in pixel per inch. This
+ value is needed to calculate the correct dimensions of the graphic to be
+ rasterized. If a value of <value>0</value> is given, a vertical default
+ resolution of 72 DPI is used.
+
+ @param DefaultSizePixel
+ The default rendering size in pixel of the underlying graphics
+ data may be available after the call via this output parameter.
+
+ In case no default size can be determined during initialization,
+ a default pixel size of 0,0 is returned. In this case, the caller
+ needs to assume a default pixel size, appropriate for the calling
+ context.
+
+ @returns
+ A boolean value indicating if rasterizing of the given data is
+ possible at all and if the initialization process happened
+ successfully.
+
+ @see com::sun::star::io::XInputStream
+ @see com::sun::star::awt::Size
+ */
+ boolean initializeData( [in] com::sun::star::io::XInputStream DataStream,
+ [in] unsigned long DPI_X,
+ [in] unsigned long DPI_Y,
+ [out] com::sun::star::awt::Size DefaultSizePixel );
+
+ /** Rasterizing the initialized data into a XGraphic container.
+
+ <p>The XGraphic container will contain a pixel
+ type graphic after a successful rasterization process</p>
+
+ <p>In case of any fault during the rasterization process,
+ the XGraphic container will be empty afterwards and
+ the method will return false</p>
+
+ @param Width
+ The width in pixel of the graphic to be rasterized.
+ This parameter is used without taking other transformation
+ values into account.
+
+ @param Height
+ The height in pixel of the graphic to be rasterized.
+ This parameter is used without taking other transformation
+ values into account.
+
+ @param RotateAngle
+ The rotation angle of the graphic to be rasterized.
+ This parameter is used without taking other transformation
+ values into account. The rotation is applied after scaling
+ and shearing the original image.
+
+ @param ShearAngle_X
+ The horizontal shear angle of the graphic to be rasterized.
+ This parameter is used without taking other transformation
+ values into account. The shearing is applied after scaling
+ and before rotation of the image.
+
+ @param ShearAngle_Y
+ The vertical shear angle of the graphic to be rasterized.
+ This parameter is used without taking other transformation
+ values into account. The shearing is applied after scaling
+ and before rotation of the image.
+
+ @param RasterizeProperties
+ Additional properties for special needs (undefined by now)
+
+ @returns com::sun::star::graphic::XGraphic
+ An interface to a graphic container that holds the rasterized pixel data
+
+ @see com::sun::star::beans::PropertyValues
+ @see com::sun::star::graphic::XGraphic
+ */
+ com::sun::star::graphic::XGraphic rasterize( [in] unsigned long Width,
+ [in] unsigned long Height,
+ [in] double RotateAngle,
+ [in] double ShearAngle_X,
+ [in] double ShearAngle_Y,
+ [in] com::sun::star::beans::PropertyValues RasterizeProperties );
+};
+
+} ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/graphic/XGraphicRenderer.idl b/offapi/com/sun/star/graphic/XGraphicRenderer.idl
new file mode 100644
index 000000000..08e337958
--- /dev/null
+++ b/offapi/com/sun/star/graphic/XGraphicRenderer.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_graphic_XGraphicRenderer_idl
+#define com_sun_star_graphic_XGraphicRenderer_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/graphic/XGraphic.idl>
+
+module com { module sun { module star { module graphic
+{
+
+/** This interfaces exposes just one method to render
+ a XGraphic container
+ */
+interface XGraphicRenderer : ::com::sun::star::uno::XInterface
+{
+ /** Renders the XGraphic container
+
+ @param Graphic
+ The graphic container to be rendered
+
+ @see XGraphic
+ */
+ void render( [in] ::com::sun::star::graphic::XGraphic Graphic );
+};
+
+} ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/graphic/XGraphicTransformer.idl b/offapi/com/sun/star/graphic/XGraphicTransformer.idl
new file mode 100644
index 000000000..94369ad41
--- /dev/null
+++ b/offapi/com/sun/star/graphic/XGraphicTransformer.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_graphic_XGraphicTransformer_idl
+#define com_sun_star_graphic_XGraphicTransformer_idl
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/graphic/XGraphic.idl>
+
+module com { module sun { module star { module graphic
+{
+
+/** This interface is allowing to transform a XGraphic
+
+ <p>To transform a XGraphic, just the corresponding
+ method has to be used, a new XGraphic instance will be returned
+ </p>
+*/
+interface XGraphicTransformer : ::com::sun::star::uno::XInterface
+{
+ /** transforms a Graphic
+
+ @returns
+ The transformed graphic
+ */
+ com::sun::star::graphic::XGraphic colorChange( [ in ] com::sun::star::graphic::XGraphic In,
+ [ in ] long ColorFrom, [ in ] byte tolerance, [ in ] long ColorTo, [ in ] byte AlphaTo )
+ raises( ::com::sun::star::lang::IllegalArgumentException );
+
+ /** applies Duotone effect
+
+ @returns
+ The modified graphic
+ */
+ com::sun::star::graphic::XGraphic applyDuotone( [ in ] com::sun::star::graphic::XGraphic In,
+ [ in ] long ColorOne, [ in ] long ColorTwo )
+ raises( ::com::sun::star::lang::IllegalArgumentException );
+
+ /** changes brightness/contrast
+
+ @param In
+ The input Graphic.
+ @param brightness
+ The brightness that shall be applied.
+ @param contrast
+ The contrast that shall be applied.
+ @param mso whether to use MSOffice brightness/contrast formula
+ @returns
+ The modified graphic
+ */
+ com::sun::star::graphic::XGraphic applyBrightnessContrast( [ in ] com::sun::star::graphic::XGraphic In,
+ [ in ] long brightness, [ in ] long contrast, [ in ] boolean mso )
+ raises( ::com::sun::star::lang::IllegalArgumentException );
+};
+
+} ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/graphic/XPdfDecomposer.idl b/offapi/com/sun/star/graphic/XPdfDecomposer.idl
new file mode 100644
index 000000000..9976475d7
--- /dev/null
+++ b/offapi/com/sun/star/graphic/XPdfDecomposer.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_graphic_XPdfDecomposer_idl__
+#define __com_sun_star_graphic_XPdfDecomposer_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/util/XBinaryDataContainer.idl>
+
+module com { module sun { module star { module graphic {
+
+interface XPrimitive2D;
+
+/** XPdfDecomposer interface
+
+ This renders a PDF data into a bitmap and returns it as a primitive.
+
+ @since LibreOffice 7.0
+ */
+interface XPdfDecomposer : ::com::sun::star::uno::XInterface
+{
+ /** Retrieve decomposed list - in this case a bitmap with the rendered PDF.
+
+ @param xDataContainer
+ The PDF data in a data container
+
+ @param xDecompositionParameters
+ Parameters for decomposition. Parameters include:
+
+ sal_Int32 PageIndex - which page to use
+ */
+ sequence<XPrimitive2D> getDecomposition([in] com::sun::star::util::XBinaryDataContainer xDataContainer,
+ [in] sequence<com::sun::star::beans::PropertyValue> xDecompositionParameters);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/graphic/XPrimitive2D.idl b/offapi/com/sun/star/graphic/XPrimitive2D.idl
new file mode 100644
index 000000000..30bdeaf8c
--- /dev/null
+++ b/offapi/com/sun/star/graphic/XPrimitive2D.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_graphic_XPrimitive2D_idl__
+#define __com_sun_star_graphic_XPrimitive2D_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/geometry/RealRectangle2D.idl>
+
+module com { module sun { module star { module graphic {
+
+/** XPrimitive2D interface
+
+ This is the basic interface for 2D graphic primitives. They need to be able
+ - to provide a decomposition consisting of simpler graphic primitives
+ - to provide a 2D bound rectangle as a 2D range
+ */
+interface XPrimitive2D : ::com::sun::star::uno::XInterface
+{
+ /** Retrieve decomposed list of simpler primitives
+
+ @param aViewParameters
+ 2D View-specific parameter set. The defined but not mandatory
+ parameters include:
+
+ ::com::sun::star::geometry::AffineMatrix2D Transformation
+
+ A transformation matrix which maps between world coordinates (which
+ is equal to object's local coordinates) to view coordinates. If not
+ defined, an empty transformation is implied.
+
+ ::com::sun::star::geometry::RealRectangle2D Viewport
+
+ Defines the visible part of the view in world coordinates. May be used
+ to optimize decompositions, e.g. for 3D scenes only the visible part
+ needs to be created. If not given, an empty Viewport is implied which
+ means all is visible.
+
+ double Time
+
+ Defines the point in time for which the geometry is defined. This may
+ lead to varied results for animated objects. This value is defined in the
+ range [0.0 .. n[, negative values are not allowed. If not given, a value of
+ 0.0 is implied.
+ */
+ sequence< XPrimitive2D > getDecomposition( [in] sequence< ::com::sun::star::beans::PropertyValue > aViewParameters );
+
+ /** Retrieve bound rect of primitive
+
+ This method calculates the actual bound rect of the area in
+ <em>world coordinates</em>. Note that for view-dependent primitives,
+ the necessary pixel adjustments are taken into account. For that reason
+ the ViewParameters need to be given.
+
+ @param aViewParameters
+ 2D View-specific parameter set, same as in getDecomposition.
+ */
+ ::com::sun::star::geometry::RealRectangle2D getRange( [in] sequence< ::com::sun::star::beans::PropertyValue > aViewParameters );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/graphic/XPrimitive2DRenderer.idl b/offapi/com/sun/star/graphic/XPrimitive2DRenderer.idl
new file mode 100644
index 000000000..ce7bad633
--- /dev/null
+++ b/offapi/com/sun/star/graphic/XPrimitive2DRenderer.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_graphic_XPrimitive2DRenderer_idl__
+#define __com_sun_star_graphic_XPrimitive2DRenderer_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/rendering/XBitmap.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/geometry/RealRectangle2D.idl>
+
+module com { module sun { module star { module graphic {
+
+interface XPrimitive2D;
+
+/** XPrimitive2DRenderer interface
+
+ This interface allows to convert from a sequence of XPrimitive2Ds
+ to a XBitmap
+ */
+interface XPrimitive2DRenderer : ::com::sun::star::uno::XInterface
+{
+ /** return rasterized version of given XPrimitive2D
+
+ @param Primitive2DSequence
+ The graphic content description
+
+ @param aViewInformationSequence
+ The ViewInformation2D
+
+ @param DPI_X
+ The horizontal resolution of the callers device in pixel per inch. This
+ value is needed to calculate the correct dimensions of the graphic to be
+ rasterized. If a value of <value>0</value> is given, a horizontal default
+ resolution of 72 DPI is used.
+
+ @param DPI_Y
+ The vertical resolution of the callers device in pixel per inch. This
+ value is needed to calculate the correct dimensions of the graphic to be
+ rasterized. If a value of <value>0</value> is given, a vertical default
+ resolution of 72 DPI is used.
+
+ @param Range
+ The range in 1/100th mm of the graphic to be rasterized
+
+ @param MaximumQuadraticPixels
+ The maximum allowed number of pixels to be used to allow limiting the
+ possible size of used pixels. The AspectRatio is preserved, the result
+ gets limited to given number. If a value of 0 is given, a default of
+ 500000 is used.
+ */
+ com::sun::star::rendering::XBitmap rasterize(
+ [in] sequence< XPrimitive2D > Primitive2DSequence,
+ [in] sequence< ::com::sun::star::beans::PropertyValue > aViewInformationSequence,
+ [in] unsigned long DPI_X,
+ [in] unsigned long DPI_Y,
+ [in] ::com::sun::star::geometry::RealRectangle2D Range,
+ [in] unsigned long MaximumQuadraticPixels);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/graphic/XPrimitive3D.idl b/offapi/com/sun/star/graphic/XPrimitive3D.idl
new file mode 100644
index 000000000..f66a9ba75
--- /dev/null
+++ b/offapi/com/sun/star/graphic/XPrimitive3D.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_graphic_XPrimitive3D_idl__
+#define __com_sun_star_graphic_XPrimitive3D_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/geometry/RealRectangle3D.idl>
+
+module com { module sun { module star { module graphic {
+
+/** XPrimitive3D interface
+
+ This is the basic interface for graphic 3D primitives. They need to be able
+ - to provide a decomposition consisting of simpler graphic primitives
+ - to provide a 3D bound rectangle as a 3D range
+ */
+interface XPrimitive3D : ::com::sun::star::uno::XInterface
+{
+ /** Retrieve decomposed list of simpler primitives
+
+ @param aViewParameters
+ 3D View-specific parameter set. The defined but not mandatory
+ parameters include:
+
+ double Time
+
+ Defines the point in time for which the geometry is defined. This may
+ lead to varied results for animated objects. This value is defined in the
+ range [0.0 .. n[, negative values are not allowed. If not given, a value of
+ 0.0 is implied.
+ */
+ sequence< XPrimitive3D > getDecomposition( [in] sequence< ::com::sun::star::beans::PropertyValue > aViewParameters );
+
+ /** Retrieve bound rect of primitive
+
+ This method calculates the actual bound rect of the area in
+ <em>world coordinates</em>. Note that for view-dependent primitives,
+ the necessary pixel adjustments are taken into account. For that reason
+ the ViewParameters need to be given.
+
+ @param aViewParameters
+ 3D View-specific parameter set, same as in getDecomposition.
+ */
+ ::com::sun::star::geometry::RealRectangle3D getRange( [in] sequence< ::com::sun::star::beans::PropertyValue > aViewParameters );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/graphic/XPrimitiveFactory2D.idl b/offapi/com/sun/star/graphic/XPrimitiveFactory2D.idl
new file mode 100644
index 000000000..b5859f76e
--- /dev/null
+++ b/offapi/com/sun/star/graphic/XPrimitiveFactory2D.idl
@@ -0,0 +1,89 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_graphic_XPrimitiveFactory2D_idl__
+#define __com_sun_star_graphic_XPrimitiveFactory2D_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+
+
+// predefines
+
+module com { module sun { module star { module drawing {
+ interface XShape;
+ interface XDrawPage;
+}; }; }; };
+
+
+
+module com { module sun { module star { module graphic {
+
+interface XPrimitive2D;
+
+/** XPrimitiveFactory2D interface
+
+ Use this interface to generate XPrimitive2D instances
+ */
+interface XPrimitiveFactory2D : ::com::sun::star::uno::XInterface
+{
+ /** Create primitives from ::com::sun::star::drawing::XShape
+
+ @param xShape
+ The XShape, for which the primitives are to be
+ generated. Specifying an invalid or empty shape here will
+ result in an empty return value.
+
+ @param aParms
+ Sequence of factory parameters, whose semantics depend on the
+ shape to be generated.
+
+ @return a sequence of primitives, that consists of the
+ geometrical representation from the given XShape.
+ */
+ sequence< XPrimitive2D > createPrimitivesFromXShape(
+ [in] ::com::sun::star::drawing::XShape xShape,
+ [in] sequence< ::com::sun::star::beans::PropertyValue > aParms );
+
+ /** Create primitives from ::com::sun::star::drawing::XDrawPage
+
+ @param xDrawPage
+ The XDrawPage, for which the primitives are to be
+ generated. Specifying an invalid or empty page here will
+ result in an empty return value.
+
+ @param aParms
+ Sequence of factory parameters, whose semantics depend on the
+ page to be generated.
+
+ @return a sequence of primitives, that consists of the
+ geometrical representation for the given XDrawPage.
+ */
+ sequence< XPrimitive2D > createPrimitivesFromXDrawPage(
+ [in] ::com::sun::star::drawing::XDrawPage xDrawPage,
+ [in] sequence< ::com::sun::star::beans::PropertyValue > aParms );
+
+};
+
+}; }; }; };
+
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/graphic/XSvgParser.idl b/offapi/com/sun/star/graphic/XSvgParser.idl
new file mode 100644
index 000000000..7410a9d79
--- /dev/null
+++ b/offapi/com/sun/star/graphic/XSvgParser.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_graphic_XSvgParser_idl__
+#define __com_sun_star_graphic_XSvgParser_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/io/XInputStream.idl>
+
+module com { module sun { module star { module graphic {
+
+interface XPrimitive2D;
+
+/** XSvgParser interface
+
+ This interface allows to parse a SVG stream in form of a sequence of bytes
+ to be parsed into a sequence of XPrimitive2Ds
+ */
+interface XSvgParser : ::com::sun::star::uno::XInterface
+{
+ /** Retrieve decomposed list of simpler primitives
+
+ @param xSvgStream
+ The file containing the SVG XML data
+
+ @param aAbsolutePath
+ The path containing the SVG XML data
+ */
+ sequence< XPrimitive2D > getDecomposition(
+ [in] io::XInputStream xSvgStream,
+ [in] string aAbsolutePath);
+
+ /** Get the "draw command" graph that is created from the SVG content
+
+ @param xSvgStream
+ The file containing the SVG XML data
+
+ @param aAbsolutePath
+ The path containing the SVG XML data
+
+ @since LibreOffice 6.3
+ */
+ any getDrawCommands(
+ [in] io::XInputStream xSvgStream,
+ [in] string aAbsolutePath);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/AmPmValue.idl b/offapi/com/sun/star/i18n/AmPmValue.idl
new file mode 100644
index 000000000..9e0967bb6
--- /dev/null
+++ b/offapi/com/sun/star/i18n/AmPmValue.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_i18n_AmPmValue_idl__
+#define __com_sun_star_i18n_AmPmValue_idl__
+
+
+module com { module sun { module star { module i18n {
+
+
+/** Constants for AM/PM used in calls to XCalendar::getDisplayName().
+ */
+published constants AmPmValue
+{
+ /// get display name string for AM
+ const short AM = 0;
+ /// get display name string for PM
+ const short PM = 1;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/Boundary.idl b/offapi/com/sun/star/i18n/Boundary.idl
new file mode 100644
index 000000000..ecf1d130a
--- /dev/null
+++ b/offapi/com/sun/star/i18n/Boundary.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_i18n_Boundary_idl__
+#define __com_sun_star_i18n_Boundary_idl__
+
+
+module com { module sun { module star { module i18n {
+
+
+/** contains start and end position of a word.
+
+ <p> It is used in word break iterator and text conversion.
+ </p>
+
+ @see XBreakIterator
+ @see XTextConversion
+ */
+published struct Boundary
+{
+ /// Start position of a word, <b>inclusive</b>
+ long startPos ;
+
+ /// End position of a word, <b>exclusive</b>
+ long endPos;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/BreakIterator.idl b/offapi/com/sun/star/i18n/BreakIterator.idl
new file mode 100644
index 000000000..765bd6b02
--- /dev/null
+++ b/offapi/com/sun/star/i18n/BreakIterator.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_i18n_BreakIterator_idl__
+#define __com_sun_star_i18n_BreakIterator_idl__
+
+#include <com/sun/star/i18n/XBreakIterator.idl>
+
+
+ module com { module sun { module star { module i18n {
+
+
+/** contains the base routines for iteration in Unicode string. Iterates over
+ characters, words, sentences and line breaks.
+
+ <p> It also contains a BreakIterator service for Asian languages.
+ </p>
+*/
+published service BreakIterator : com::sun::star::i18n::XBreakIterator;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/BreakType.idl b/offapi/com/sun/star/i18n/BreakType.idl
new file mode 100644
index 000000000..44e5cb6d2
--- /dev/null
+++ b/offapi/com/sun/star/i18n/BreakType.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_i18n_BreakType_idl__
+#define __com_sun_star_i18n_BreakType_idl__
+
+
+module com { module sun { module star { module i18n {
+
+
+/**
+ Constants to specify the type of a line break, used with
+ LineBreakResults::breakType().
+ */
+
+published constants BreakType
+{
+ /// Line break is a word break.
+ const short WORDBOUNDARY = 1;
+
+ /// Line break is a result of hyphenation.
+ const short HYPHENATION = 2;
+
+ /// Line break - hanging punctuation recognized.
+ const short HANGINGPUNCTUATION = 3;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/CTLScriptType.idl b/offapi/com/sun/star/i18n/CTLScriptType.idl
new file mode 100644
index 000000000..dae5956f3
--- /dev/null
+++ b/offapi/com/sun/star/i18n/CTLScriptType.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_i18n_CTLScriptType_idl__
+#define __com_sun_star_i18n_CTLScriptType_idl__
+
+
+
+module com { module sun { module star { module i18n {
+
+
+/** CTL script type constants for layout engine, returned by
+ XScriptTypeDetector::getCTLScriptType()
+
+ @since OOo 1.1.2
+*/
+
+published constants CTLScriptType
+{
+ /// For CTL scripts OOo currently does not support or could not handle
+ const short CTL_UNKNOWN = 0;
+
+ /// For Hebrew script
+ const short CTL_HEBREW = 1;
+
+ /// For Arabic script
+ const short CTL_ARABIC = 2;
+
+ /// For Thai script
+ const short CTL_THAI = 3;
+
+ /// For Indic script (including Devanagari, Tamil, Telugu and Gujarati script)
+ const short CTL_INDIC = 4;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/Calendar.idl b/offapi/com/sun/star/i18n/Calendar.idl
new file mode 100644
index 000000000..ea03af8f7
--- /dev/null
+++ b/offapi/com/sun/star/i18n/Calendar.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_i18n_Calendar_idl__
+#define __com_sun_star_i18n_Calendar_idl__
+
+#include <com/sun/star/i18n/CalendarItem.idl>
+
+
+module com { module sun { module star { module i18n {
+
+
+/**
+ A calendar as returned in a sequence by
+ XLocaleData::getAllCalendars().
+
+ @see XLocaleData
+ for links to DTD of XML locale data files.
+ */
+
+published struct Calendar
+{
+ /// the days of the week, see also CalendarItem.
+ sequence< CalendarItem > Days;
+ /// the months of the year, see also CalendarItem.
+ sequence< CalendarItem > Months;
+ /// the possible eras, see also CalendarItem.
+ sequence< CalendarItem > Eras;
+ /// the ID of the day with which the week begins.
+ string StartOfWeek;
+ /// how many days must reside in the first week of a year.
+ short MinimumNumberOfDaysForFirstWeek;
+ /// if this is the default calendar for a given locale.
+ boolean Default;
+ /// the name of the calendar, for example, <b>Gregorian</b>.
+ string Name;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/Calendar2.idl b/offapi/com/sun/star/i18n/Calendar2.idl
new file mode 100644
index 000000000..25a3cfd00
--- /dev/null
+++ b/offapi/com/sun/star/i18n/Calendar2.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/.
+ */
+
+#ifndef __com_sun_star_i18n_Calendar2_idl__
+#define __com_sun_star_i18n_Calendar2_idl__
+
+#include <com/sun/star/i18n/CalendarItem2.idl>
+
+
+module com { module sun { module star { module i18n {
+
+
+/**
+ Calendar items as returned in a sequence by
+ XLocaleData3::getAllCalendars2().
+
+ <p> Similar to
+ ::com::sun::star::i18n::Calendar this provides
+ additional members with a sequence of possessive (genitive case) and
+ partitive case month names for locales that use them, for example
+ Slavic locales. If a locale does not provide the possessive form in
+ #GenitiveMonths, the names are identical to the
+ nominative case nouns in Calendar::Months. If a
+ locale does not provide the partitive case in
+ #PartitiveMonths, the names are identical to
+ #GenitiveMonths. </p>
+
+ <p> The sequences are of type
+ com::sun::star::i18n::CalendarItem2 instead of
+ com::sun::star::i18n::CalendarItem, with the
+ additional NarrowName member.
+
+ @see XLocaleData
+ for links to DTD of XML locale data files.
+
+ @since LibreOffice 3.5
+ */
+
+published struct Calendar2
+{
+ /// The days of the week.
+ sequence< CalendarItem2 > Days;
+
+ /// The months of the year.
+ sequence< CalendarItem2 > Months;
+
+ /// The months of the year in possessive genitive case.
+ sequence< CalendarItem2 > GenitiveMonths;
+
+ /// The months of the year in partitive case.
+ sequence< CalendarItem2 > PartitiveMonths;
+
+ /// The possible eras.
+ sequence< CalendarItem2 > Eras;
+
+ /// The ID of the day with which the week begins.
+ string StartOfWeek;
+
+ /// How many days must reside in the first week of a year.
+ short MinimumNumberOfDaysForFirstWeek;
+
+ /// If this is the default calendar for a given locale.
+ boolean Default;
+
+ /// The name of the calendar, for example, <b>Gregorian</b>.
+ string Name;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/i18n/CalendarDisplayCode.idl b/offapi/com/sun/star/i18n/CalendarDisplayCode.idl
new file mode 100644
index 000000000..b499f01a1
--- /dev/null
+++ b/offapi/com/sun/star/i18n/CalendarDisplayCode.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_i18n_CalendarDisplayCode_idl__
+#define __com_sun_star_i18n_CalendarDisplayCode_idl__
+
+
+module com { module sun { module star { module i18n {
+
+
+
+/**
+ Constants to use with XExtendedCalendar::getDisplayString().
+
+ <p> The examples given are for an English Gregorian calendar, note
+ that other calendars or locales may return completely different
+ strings, for example not a four digit year but a CJK name instead.
+ </p>
+
+ @since OOo 1.1.2
+ */
+published constants CalendarDisplayCode
+{
+ /// Day of month, one or two digits, no leading zero.
+ const long SHORT_DAY = 1;
+ /// Day of month, two digits, with leading zero.
+ const long LONG_DAY = 2;
+ /// Day of week, abbreviated name.
+ const long SHORT_DAY_NAME = 3;
+ /// Day of week, full name.
+ const long LONG_DAY_NAME = 4;
+
+ /// Month of year, one or two digits, no leading zero.
+ const long SHORT_MONTH = 5;
+ /// Month of year, with leading zero.
+ const long LONG_MONTH = 6;
+ /// Abbreviated month name.
+ const long SHORT_MONTH_NAME = 7;
+ /// Full month name.
+ const long LONG_MONTH_NAME = 8;
+
+ /// Year, two digits.
+ const long SHORT_YEAR = 9;
+ /// Year, four digits.
+ const long LONG_YEAR = 10;
+ /// Abbreviated era name, for example, BC or AD.
+ const long SHORT_ERA = 11;
+ /// Full era name, for example, "Before Christ" or "Anno Dominus".
+ const long LONG_ERA = 12;
+ /// Combined short year and era, order depends on locale/calendar.
+ const long SHORT_YEAR_AND_ERA = 13;
+ /// Combined full year and era, order depends on locale/calendar.
+ const long LONG_YEAR_AND_ERA = 14;
+
+ /// Short quarter, for example, "Q1"
+ const long SHORT_QUARTER = 15;
+ /// Long quarter, for example, "1st quarter"
+ const long LONG_QUARTER = 16;
+
+ /** Abbreviated possessive genitive case month name.
+ @since LibreOffice 3.5
+ */
+ const long SHORT_GENITIVE_MONTH_NAME = 17;
+
+ /** Full possessive genitive case month name.
+ @since LibreOffice 3.5
+ */
+ const long LONG_GENITIVE_MONTH_NAME = 18;
+
+ /** Narrow possessive genitive case month name.
+ @since LibreOffice 3.5
+ */
+ const long NARROW_GENITIVE_MONTH_NAME = 19;
+
+ /** Abbreviated partitive case month name.
+ @since LibreOffice 3.5
+ */
+ const long SHORT_PARTITIVE_MONTH_NAME = 20;
+
+ /** Full partitive case month name.
+ @since LibreOffice 3.5
+ */
+ const long LONG_PARTITIVE_MONTH_NAME = 21;
+
+ /** Narrow partitive case month name.
+ @since LibreOffice 3.5
+ */
+ const long NARROW_PARTITIVE_MONTH_NAME = 22;
+
+ /** Day of week, narrow name.
+ @since LibreOffice 3.5
+ */
+ const long NARROW_DAY_NAME = 23;
+
+ /** Narrow month name.
+ @since LibreOffice 3.5
+ */
+ const long NARROW_MONTH_NAME = 24;
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/CalendarDisplayIndex.idl b/offapi/com/sun/star/i18n/CalendarDisplayIndex.idl
new file mode 100644
index 000000000..4c9b358a5
--- /dev/null
+++ b/offapi/com/sun/star/i18n/CalendarDisplayIndex.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_i18n_CalendarDisplayIndex_idl__
+#define __com_sun_star_i18n_CalendarDisplayIndex_idl__
+
+
+module com { module sun { module star { module i18n {
+
+
+
+/**
+ Values to be passed to XCalendar::getDisplayName().
+ */
+published constants CalendarDisplayIndex
+{
+ /// name of an AM/PM value
+ const short AM_PM = 0;
+ /// name of a day of week
+ const short DAY = 1;
+ /// name of a month
+ const short MONTH = 2;
+ /// name of a year (if used for a specific calendar)
+ const short YEAR = 3;
+ /// name of an era, like BC/AD
+ const short ERA = 4;
+
+ /** name of a possessive genitive case month
+ @since LibreOffice 3.5
+ */
+ const short GENITIVE_MONTH = 5;
+
+ /** name of a partitive case month
+ @since LibreOffice 3.5
+ */
+ const short PARTITIVE_MONTH = 6;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/CalendarFieldIndex.idl b/offapi/com/sun/star/i18n/CalendarFieldIndex.idl
new file mode 100644
index 000000000..d1a511c8d
--- /dev/null
+++ b/offapi/com/sun/star/i18n/CalendarFieldIndex.idl
@@ -0,0 +1,128 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_i18n_CalendarFieldIndex_idl__
+#define __com_sun_star_i18n_CalendarFieldIndex_idl__
+
+
+module com { module sun { module star { module i18n {
+
+
+
+/**
+ Field indices to be passed to various XCalendar methods.
+
+ <p> Field is writable only if marked both Get/Set. </p>
+
+ <p> ZONE_OFFSET and DST_OFFSET cooperate such that both values are added,
+ for example, ZoneOffset=1*60 and DstOffset=1*60 results in a time
+ difference of GMT+2. The calculation in minutes is
+ GMT = LocalTime - ZoneOffset - DstOffset </p>
+
+ <p> With introduction of ZONE_OFFSET_SECOND_MILLIS and
+ DST_OFFSET_SECOND_MILLIS the exact calculation in milliseconds is
+ GMT = LocalTime
+ - (ZoneOffset*60000 + ZoneOffsetMillis * sign(ZoneOffset))
+ - (DstOffset*60000 + DstOffsetMillis * sign(DstOffset))
+ <p>
+ */
+published constants CalendarFieldIndex
+{
+ /// Get AmPmValue.
+ const short AM_PM = 0;
+ /// Get/Set day of month [1-31].
+ const short DAY_OF_MONTH = 1;
+ /// Get day of week [0-6].
+ const short DAY_OF_WEEK = 2;
+ /// Get day of year.
+ const short DAY_OF_YEAR = 3;
+ /** Get daylight saving time offset in minutes, e.g. [0*60..1*60]
+ <p> The DST offset value depends on the actual date set at the
+ calendar and is determined according to the timezone rules of
+ the locale used with the calendar. </p>
+ <p> Note that there is a bug in OpenOffice.org 1.0 / StarOffice 6.0
+ that prevents interpreting this value correctly. </p> */
+ const short DST_OFFSET = 4;
+ /// Get/Set hour [0-23].
+ const short HOUR = 5;
+ /// Get/Set minute [0-59].
+ const short MINUTE = 6;
+ /// Get/Set second [0-59].
+ const short SECOND = 7;
+ /// Get/Set milliseconds [0-999].
+ const short MILLISECOND = 8;
+ /// Get week of month.
+ const short WEEK_OF_MONTH = 9;
+ /// Get week of year.
+ const short WEEK_OF_YEAR = 10;
+ /// Get/Set year.
+ const short YEAR = 11;
+ /** Get/Set month [0-...].
+ <p> Note that the maximum value is <b>not</b> necessarily 11 for
+ December but depends on the calendar used instead. </p> */
+ const short MONTH = 12;
+ /// Get/Set era, for example, 0:= Before Christ, 1:= After Christ.
+ const short ERA = 13;
+ /// Get/Set time zone offset in minutes, e.g. [-14*60..14*60]
+ const short ZONE_OFFSET = 14;
+
+ /// Total number of fields for &lt; OOo 3.1
+ const short FIELD_COUNT = 15;
+
+ /** Get/Set additional offset in milliseconds that <b>adds</b> to
+ the value of ZONE_OFFSET. This may be necessary to correctly
+ interpret historical timezone data that consists of fractions of
+ minutes, e.g. seconds. 1 minute == 60000 milliseconds.
+
+ @attention Though the field's type is signed 16-bit, the field
+ value is treated as unsigned 16-bit to allow for values up to
+ 60000 and expresses an absolute value that inherits its sign
+ from the parent ZONE_OFFSET field.
+
+ @since OOo 3.1
+ */
+ const short ZONE_OFFSET_SECOND_MILLIS = 15;
+
+ /** Get additional offset in milliseconds that <b>adds</b> to
+ the value of DST_OFFSET. This may be necessary to correctly
+ interpret historical timezone data that consists of fractions of
+ minutes, e.g. seconds. 1 minute == 60000 milliseconds.
+
+ @attention Though the field's type is signed 16-bit, the field
+ value is treated as unsigned 16-bit to allow for values up to
+ 60000 and expresses an absolute value that inherits its sign
+ from the parent DST_OFFSET field.
+
+ @since OOo 3.1
+ */
+ const short DST_OFFSET_SECOND_MILLIS = 16;
+
+ /** Total number of fields as of OOo 3.1
+
+ @since OOo 3.1
+ */
+ const short FIELD_COUNT2 = 17;
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/CalendarItem.idl b/offapi/com/sun/star/i18n/CalendarItem.idl
new file mode 100644
index 000000000..4f6159012
--- /dev/null
+++ b/offapi/com/sun/star/i18n/CalendarItem.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_i18n_CalendarItem_idl__
+#define __com_sun_star_i18n_CalendarItem_idl__
+
+
+module com { module sun { module star { module i18n {
+
+
+
+/**
+ One entry in a calendar, for example, a day of week or a month or an
+ era.
+
+ <p> A sequence of CalendarItems is contained in
+ Calendar::Days, Calendar::Months,
+ Calendar::Eras </p>
+ */
+
+published struct CalendarItem
+{
+ /** A unique ID for an entry of this type, usually the lower case
+ abbreviated English name, for example, <b>"sun"</b> for Sunday. */
+ string ID;
+ /// The abbreviated name, for example, <b>"Sun"</b>.
+ string AbbrevName;
+ /// The full name, for example, <b>"Sunday"</b>.
+ string FullName; };
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/CalendarItem2.idl b/offapi/com/sun/star/i18n/CalendarItem2.idl
new file mode 100644
index 000000000..ae5251a58
--- /dev/null
+++ b/offapi/com/sun/star/i18n/CalendarItem2.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.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_i18n_CalendarItem2_idl__
+#define __com_sun_star_i18n_CalendarItem2_idl__
+
+#include <com/sun/star/i18n/CalendarItem.idl>
+
+
+module com { module sun { module star { module i18n {
+
+
+
+/**
+ One entry in a calendar, for example, a day of week or a month or an
+ era.
+
+ <p> Derived from com::sun::star::i18n::CalendarItem
+ this provides an additional member for narrow names. </p>
+
+ @since LibreOffice 3.5
+ */
+
+published struct CalendarItem2 : com::sun::star::i18n::CalendarItem
+{
+ /** The narrow name, for example, <b>"S"</b> for Sunday or
+ <b>"J"</b> for January.
+ */
+ string NarrowName;
+};
+
+}; }; }; };
+
+#endif
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/ChapterCollator.idl b/offapi/com/sun/star/i18n/ChapterCollator.idl
new file mode 100644
index 000000000..6fced5b79
--- /dev/null
+++ b/offapi/com/sun/star/i18n/ChapterCollator.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_i18n_ChapterCollator_idl__
+#define __com_sun_star_i18n_ChapterCollator_idl__
+
+#include <com/sun/star/i18n/XCollator.idl>
+
+
+ module com { module sun { module star { module i18n {
+
+
+/// Specific collator to sort chapter numbering.
+published service ChapterCollator : com::sun::star::i18n::XCollator;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/CharType.idl b/offapi/com/sun/star/i18n/CharType.idl
new file mode 100644
index 000000000..137b29fc4
--- /dev/null
+++ b/offapi/com/sun/star/i18n/CharType.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_i18n_CharType_idl__
+#define __com_sun_star_i18n_CharType_idl__
+
+
+module com { module sun { module star { module i18n {
+
+
+/**
+ Constants to specify the character type that starts a character block.
+ Character type is Unicode type defined in UnicodeType
+
+ <p> Used with XBreakIterator::beginOfCharBlock(),
+ XBreakIterator::endOfCharBlock(),
+ XBreakIterator::nextCharBlock(),
+ XBreakIterator::previousCharBlock() </p>
+ */
+published constants CharType
+{
+ /// all alpha characters allowed
+ const short ANY_CHAR = 0;
+
+ const short UPPERCASE_LETTER = 1;
+ const short LOWERCASE_LETTER = 2;
+ const short TITLECASE_LETTER = 3;
+ const short MODIFIER_LETTER = 4;
+ const short OTHER_LETTER = 5;
+ const short NON_SPACING_MARK = 6;
+ const short ENCLOSING_MARK = 7;
+ const short COMBINING_SPACING_MARK = 8;
+ const short DECIMAL_DIGIT_NUMBER = 9;
+ const short LETTER_NUMBER = 10;
+ const short OTHER_NUMBER = 11;
+ const short SPACE_SEPARATOR = 12;
+ const short LINE_SEPARATOR = 13;
+ const short PARAGRAPH_SEPARATOR = 14;
+ const short CONTROL = 15;
+ const short FORMAT = 16;
+ const short PRIVATE_USE = 17;
+ const short SURROGATE = 18;
+ const short DASH_PUNCTUATION = 19;
+ const short START_PUNCTUATION = 20;
+ const short END_PUNCTUATION = 21;
+ const short CONNECTOR_PUNCTUATION = 22;
+ const short OTHER_PUNCTUATION = 23;
+ const short MATH_SYMBOL = 24;
+ const short CURRENCY_SYMBOL = 25;
+ const short MODIFIER_SYMBOL = 26;
+ const short OTHER_SYMBOL = 27;
+ const short INITIAL_PUNCTUATION = 28;
+ const short FINAL_PUNCTUATION = 29;
+ const short GENERAL_TYPES_COUNT = 30;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/CharacterClassification.idl b/offapi/com/sun/star/i18n/CharacterClassification.idl
new file mode 100644
index 000000000..927ea3791
--- /dev/null
+++ b/offapi/com/sun/star/i18n/CharacterClassification.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_i18n_CharacterClassification_idl__
+#define __com_sun_star_i18n_CharacterClassification_idl__
+
+#include <com/sun/star/i18n/XCharacterClassification.idl>
+
+
+module com { module sun { module star { module i18n {
+
+
+/**
+ Character classification, such as upper, lower, alpha, digit, et al.
+
+ <p>Provides also a generic parser functionality.</p>
+ */
+published service CharacterClassification : com::sun::star::i18n::XCharacterClassification;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/CharacterIteratorMode.idl b/offapi/com/sun/star/i18n/CharacterIteratorMode.idl
new file mode 100644
index 000000000..42ec68f49
--- /dev/null
+++ b/offapi/com/sun/star/i18n/CharacterIteratorMode.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_i18n_CharacterIteratorMode_idl__
+#define __com_sun_star_i18n_CharacterIteratorMode_idl__
+
+
+module com { module sun { module star { module i18n {
+
+
+/** Constants to specify the type of character iteration.
+
+ <p> Used with XBreakIterator::nextCharacters() and
+ XBreakIterator::previousCharacters() </p>
+ */
+published constants CharacterIteratorMode
+{
+ /// skip characters
+ const short SKIPCHARACTER = 0;
+
+ /// skip cells
+ const short SKIPCELL = 1;
+
+ /// skip control characters
+ const short SKIPCONTROLCHARACTER = 2;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/Collator.idl b/offapi/com/sun/star/i18n/Collator.idl
new file mode 100644
index 000000000..9917cd2f5
--- /dev/null
+++ b/offapi/com/sun/star/i18n/Collator.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_i18n_Collator_idl__
+#define __com_sun_star_i18n_Collator_idl__
+
+#include <com/sun/star/i18n/XCollator.idl>
+
+
+ module com { module sun { module star { module i18n {
+
+
+/**
+ Access collation algorithms of different locales.
+ */
+
+published service Collator : com::sun::star::i18n::XCollator;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/CollatorOptions.idl b/offapi/com/sun/star/i18n/CollatorOptions.idl
new file mode 100644
index 000000000..50694c486
--- /dev/null
+++ b/offapi/com/sun/star/i18n/CollatorOptions.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_i18n_CollatorOptions_idl__
+#define __com_sun_star_i18n_CollatorOptions_idl__
+
+
+module com { module sun { module star { module i18n {
+
+
+/** Options to be used with XCollator methods.
+ */
+published constants CollatorOptions
+{
+ /// Ignore case.
+ const short CollatorOptions_IGNORE_CASE = 1;
+ /// Ignore Kana.
+ const short CollatorOptions_IGNORE_KANA = 2;
+ /// Ignore width.
+ const short CollatorOptions_IGNORE_WIDTH = 4;
+ /// Ignore case and accent.
+ const short CollatorOptions_IGNORE_CASE_ACCENT = 8;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/Currency.idl b/offapi/com/sun/star/i18n/Currency.idl
new file mode 100644
index 000000000..8425173fd
--- /dev/null
+++ b/offapi/com/sun/star/i18n/Currency.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_i18n_Currency_idl__
+#define __com_sun_star_i18n_Currency_idl__
+
+
+module com { module sun { module star { module i18n {
+
+
+/**
+ Symbols, names, and attributes of a specific currency, returned in a
+ sequence by XLocaleData::getAllCurrencies().
+
+ @see XLocaleData
+ for links to DTD of XML locale data files.
+ */
+
+published struct Currency
+{
+ /** ISO 4217 currency code identifier, for example, <b>EUR</b> or
+ <b>USD</b>. */
+ string ID;
+
+ /** Currency symbol, for example, <b>$</b>. */
+ string Symbol;
+
+ /** Currency abbreviation used by banks and in money exchange, for
+ example, <b>EUR</b> or <b>USD</b>. This usually should be
+ identical to the ISO 4217 currency code also used in the
+ #ID, but doesn't necessarily have to be. */
+ string BankSymbol;
+
+ /** Name of the currency, for example, <b>Euro</b> or <b>US
+ Dollar</b>. Should be the localized name. */
+ string Name;
+
+ /** If this currency is the default currency for a given locale. */
+ boolean Default;
+
+ /** If this currency is the one used in compatible number format codes with
+ FormatElement::formatIndex() values in the range 12..17.
+ Those format codes are used to generate some old style currency format
+ codes for compatibility with StarOffice5 and StarOffice4.
+
+ @see com::sun::star::i18n::NumberFormatIndex
+ */
+ boolean UsedInCompatibleFormatCodes;
+
+ /** The number of decimal places, for example, <b>2</b> for US Dollar
+ or <b>0</b> for Italian Lira. */
+ short DecimalPlaces;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/Currency2.idl b/offapi/com/sun/star/i18n/Currency2.idl
new file mode 100644
index 000000000..68aba05ca
--- /dev/null
+++ b/offapi/com/sun/star/i18n/Currency2.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_i18n_Currency2_idl__
+#define __com_sun_star_i18n_Currency2_idl__
+
+#include <com/sun/star/i18n/Currency.idl>
+
+
+module com { module sun { module star { module i18n {
+
+
+/**
+ Symbols, names, and attributes of a specific currency, returned in a
+ sequence by XLocaleData2::getAllCurrencies2().
+
+ <p> It is derived from
+ ::com::sun::star::i18n::Currency and provides an
+ additional flag for currency entries that are available only for legacy
+ reasons in context of loaded documents that use them, but otherwise
+ should not be offered to the user to be selectable.
+
+ @see XLocaleData
+ for links to DTD of XML locale data files.
+ */
+
+published struct Currency2 : com::sun::star::i18n::Currency
+{
+ /** If set, the currency and/or its symbol is only to be used in
+ legacy context.
+
+ @since OOo 2.0.3
+ */
+ boolean LegacyOnly;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/DirectionProperty.idl b/offapi/com/sun/star/i18n/DirectionProperty.idl
new file mode 100644
index 000000000..61e2427fa
--- /dev/null
+++ b/offapi/com/sun/star/i18n/DirectionProperty.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_i18n_DirectionProperty_idl__
+#define __com_sun_star_i18n_DirectionProperty_idl__
+
+
+module com { module sun { module star { module i18n {
+
+
+/**
+ Direction properties returned by
+ XCharacterClassification::getCharacterDirection().
+ */
+
+published enum DirectionProperty
+{
+ LEFT_TO_RIGHT = 0,
+ RIGHT_TO_LEFT = 1,
+ EUROPEAN_NUMBER = 2,
+ EUROPEAN_NUMBER_SEPARATOR = 3,
+ EUROPEAN_NUMBER_TERMINATOR = 4,
+ ARABIC_NUMBER = 5,
+ COMMON_NUMBER_SEPARATOR = 6,
+ BLOCK_SEPARATOR = 7,
+ SEGMENT_SEPARATOR = 8,
+ WHITE_SPACE_NEUTRAL = 9,
+ OTHER_NEUTRAL = 10,
+ LEFT_TO_RIGHT_EMBEDDING = 11,
+ LEFT_TO_RIGHT_OVERRIDE = 12,
+ RIGHT_TO_LEFT_ARABIC = 13,
+ RIGHT_TO_LEFT_EMBEDDING = 14,
+ RIGHT_TO_LEFT_OVERRIDE = 15,
+ POP_DIRECTIONAL_FORMAT = 16,
+ DIR_NON_SPACING_MARK = 17,
+ BOUNDARY_NEUTRAL = 18
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/ForbiddenCharacters.idl b/offapi/com/sun/star/i18n/ForbiddenCharacters.idl
new file mode 100644
index 000000000..5f0c100a7
--- /dev/null
+++ b/offapi/com/sun/star/i18n/ForbiddenCharacters.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_i18n_ForbiddenCharacters_idl__
+#define __com_sun_star_i18n_ForbiddenCharacters_idl__
+
+
+module com { module sun { module star { module i18n {
+
+
+/**
+ Locale (mostly CJK) dependent characters that are forbidden at the
+ start or end of a line.
+
+ <p> Returned by
+ XLocaleData::getForbiddenCharacters() and used with
+ XForbiddenCharacters methods.
+ */
+
+published struct ForbiddenCharacters
+{
+ /// Characters forbidden at the start of a line
+ string beginLine;
+
+ /// Characters forbidden at the end of a line.
+ string endLine;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/FormatElement.idl b/offapi/com/sun/star/i18n/FormatElement.idl
new file mode 100644
index 000000000..b3c28b429
--- /dev/null
+++ b/offapi/com/sun/star/i18n/FormatElement.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_i18n_FormatElement_idl__
+#define __com_sun_star_i18n_FormatElement_idl__
+
+
+module com { module sun { module star { module i18n {
+
+
+/**
+ One number format code and its attributes, returned in a sequence by
+ XLocaleData::getAllFormats().
+
+ <p> Contains raw data defined in the XML locale data files. </p>
+
+ @see XLocaleData
+ for links to DTD of XML locale data files.
+ */
+
+published struct FormatElement
+{
+ /** The format code, for example, "YYYY-MM-DD". */
+ string formatCode;
+
+ /** A name or description that is displayed in the number formatter
+ dialog. */
+ string formatName;
+
+ /** A unique (within one locale) identifier. */
+ string formatKey;
+
+ /** Type may be one of "short", "medium", "long". */
+ string formatType;
+
+ /** Usage category, for example, "DATE" or "FIXED_NUMBER",
+ corresponding with KNumberFormatUsage values. */
+ string formatUsage;
+
+ /** The index used by the number formatter, predefined values
+ corresponding with NumberFormatIndex values. */
+ short formatIndex;
+
+ /** If a format code is the default code of a <em>formatType</em>
+ group. */
+ boolean isDefault;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/Implementation.idl b/offapi/com/sun/star/i18n/Implementation.idl
new file mode 100644
index 000000000..f5d8e284b
--- /dev/null
+++ b/offapi/com/sun/star/i18n/Implementation.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_i18n_Implementation_idl__
+#define __com_sun_star_i18n_Implementation_idl__
+
+
+module com { module sun { module star { module i18n {
+
+
+/**
+ Implementation name details returned in a sequence by
+ XLocaleData::getCollatorImplementations().
+
+ @see XLocaleData
+ for links to DTD of XML locale data files.
+ */
+
+published struct Implementation
+{
+ /// The implementation name.
+ string unoID;
+ /// If this is the default implementation.
+ boolean isDefault;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/IndexEntrySupplier.idl b/offapi/com/sun/star/i18n/IndexEntrySupplier.idl
new file mode 100644
index 000000000..fa7814f6d
--- /dev/null
+++ b/offapi/com/sun/star/i18n/IndexEntrySupplier.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_i18n_IndexEntrySupplier_idl__
+#define __com_sun_star_i18n_IndexEntrySupplier_idl__
+
+#include <com/sun/star/i18n/XExtendedIndexEntrySupplier.idl>
+
+
+module com { module sun { module star { module i18n {
+
+
+/// Supplier for creating index entries in a "table of alphabetical index"
+published service IndexEntrySupplier : XExtendedIndexEntrySupplier;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/InputSequenceCheckMode.idl b/offapi/com/sun/star/i18n/InputSequenceCheckMode.idl
new file mode 100644
index 000000000..09a809bf6
--- /dev/null
+++ b/offapi/com/sun/star/i18n/InputSequenceCheckMode.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_i18n_InputSequenceCheckMode_idl__
+#define __com_sun_star_i18n_InputSequenceCheckMode_idl__
+
+
+
+module com { module sun { module star { module i18n {
+
+
+/** Input check mode constants to use with
+ XInputSequenceChecker::checkInputSequence()
+
+ @since OOo 1.1.2
+*/
+
+published constants InputSequenceCheckMode
+{
+ /// Pass through mode (no checking)
+ const short PASSTHROUGH = 0;
+
+ /// Basic checking mode
+ const short BASIC = 1;
+
+ /// Strict checking mode
+ const short STRICT = 2;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/InputSequenceChecker.idl b/offapi/com/sun/star/i18n/InputSequenceChecker.idl
new file mode 100644
index 000000000..cb46e1624
--- /dev/null
+++ b/offapi/com/sun/star/i18n/InputSequenceChecker.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_i18n_InputSequenceChecker_idl__
+#define __com_sun_star_i18n_InputSequenceChecker_idl__
+
+#include <com/sun/star/i18n/XExtendedInputSequenceChecker.idl>
+
+
+module com { module sun { module star { module i18n {
+
+
+/** Check input sequence of CTL languages like Thai or Hindi.
+
+ @since OOo 1.1.2
+*/
+published service InputSequenceChecker : XExtendedInputSequenceChecker;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/KCharacterType.idl b/offapi/com/sun/star/i18n/KCharacterType.idl
new file mode 100644
index 000000000..8f3df93f0
--- /dev/null
+++ b/offapi/com/sun/star/i18n/KCharacterType.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_i18n_KCharacterType_idl__
+#define __com_sun_star_i18n_KCharacterType_idl__
+
+
+module com { module sun { module star { module i18n {
+
+
+/**
+ Constants to identify the character type.
+
+ <p> Returned by
+ XCharacterClassification::getCharacterType() and
+ XCharacterClassification::getStringType() </p>
+ */
+
+published constants KCharacterType
+{
+ /// digit
+ const long DIGIT = 0x00000001;
+
+ /// upper case alpha letter
+ const long UPPER = 0x00000002;
+
+ /// lower case alpha letter
+ const long LOWER = 0x00000004;
+
+ /// title case alpha letter
+ const long TITLE_CASE = 0x00000008;
+
+ /// any alpha, ALPHA = UPPER | LOWER | TITLE_CASE
+ const long ALPHA = 0x0000000E;
+
+ /// control character
+ const long CONTROL = 0x00000010;
+
+ /// printable character
+ const long PRINTABLE = 0x00000020;
+
+ /// base form
+ const long BASE_FORM = 0x00000040;
+
+ /** any UnicodeType::..._LETTER.
+ Note that a LETTER must not necessarily be ALPHA */
+ const long LETTER = 0x00000080;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/KNumberFormatType.idl b/offapi/com/sun/star/i18n/KNumberFormatType.idl
new file mode 100644
index 000000000..c1b0c1cec
--- /dev/null
+++ b/offapi/com/sun/star/i18n/KNumberFormatType.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_i18n_KNumberFormatType_idl__
+#define __com_sun_star_i18n_KNumberFormatType_idl__
+
+
+module com { module sun { module star { module i18n {
+
+
+/**
+ Attribute of number format, classifies the length of the formatted
+ display string.
+ */
+
+published constants KNumberFormatType
+{
+ /// Short display string
+ const short SHORT = 1;
+ /// Medium length display string
+ const short MEDIUM = 2;
+ /// Long display string
+ const short LONG = 3;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/KNumberFormatUsage.idl b/offapi/com/sun/star/i18n/KNumberFormatUsage.idl
new file mode 100644
index 000000000..2af0bbdd5
--- /dev/null
+++ b/offapi/com/sun/star/i18n/KNumberFormatUsage.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_i18n_KNumberFormatUsage_idl__
+#define __com_sun_star_i18n_KNumberFormatUsage_idl__
+
+
+module com { module sun { module star { module i18n {
+
+
+/**
+ Category of number format code.
+ */
+
+published constants KNumberFormatUsage
+{
+ /// Date format, for example, "YYYY-MM-DD".
+ const short DATE = 1;
+ /// Time format, for example, "HH:MM:SS".
+ const short TIME = 2;
+ /// Mixed date/time format, for example, "YYYY-MM-DD HH:MM:SS".
+ const short DATE_TIME = 3;
+ /// Numeric format, for example, "#,##0.00".
+ const short FIXED_NUMBER = 4;
+ /// Fractional format, for example, "# ??/??".
+ const short FRACTION_NUMBER = 5;
+ /// Percent format, for example, "0.00%".
+ const short PERCENT_NUMBER = 6;
+ /// Scientific format, for example, "0.00E+00".
+ const short SCIENTIFIC_NUMBER = 7;
+ /// Currency format, for example, "#,##0.00 [$EUR]"
+ const short CURRENCY = 8;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/KParseTokens.idl b/offapi/com/sun/star/i18n/KParseTokens.idl
new file mode 100644
index 000000000..accc42566
--- /dev/null
+++ b/offapi/com/sun/star/i18n/KParseTokens.idl
@@ -0,0 +1,191 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_i18n_KParseTokens_idl__
+#define __com_sun_star_i18n_KParseTokens_idl__
+
+
+module com { module sun { module star { module i18n {
+
+
+/**
+ These constants specify the characters a name or identifier token to
+ be parsed can have.
+
+ <p> They are passed to
+ XCharacterClassification::parseAnyToken() and
+ XCharacterClassification::parsePredefinedToken().
+ They are also set in the ParseResult::StartFlags
+ and ParseResult::ContFlags. </p>
+ */
+
+published constants KParseTokens
+{
+ /// ASCII A-Z upper alpha
+ const long ASC_UPALPHA = 0x00000001;
+
+ /// ASCII a-z lower alpha
+ const long ASC_LOALPHA = 0x00000002;
+
+ /// ASCII 0-9 digit
+ const long ASC_DIGIT = 0x00000004;
+
+ /// ASCII '_' underscore
+ const long ASC_UNDERSCORE = 0x00000008;
+
+ /// ASCII '$' dollar
+ const long ASC_DOLLAR = 0x00000010;
+
+ /// ASCII '.' dot/point
+ const long ASC_DOT = 0x00000020;
+
+ /// ASCII ':' colon
+ const long ASC_COLON = 0x00000040;
+
+ /// Special value to allow control characters (0x00 &lt; char &lt; 0x20)
+ const long ASC_CONTROL = 0x00000200;
+
+ /** Special value to allow anything below 128 except control
+ characters. <strong>Not</strong> set in
+ ParseResult. */
+ const long ASC_ANY_BUT_CONTROL = 0x00000400;
+
+ /** Additional flag set in ParseResult::StartFlags
+ or ParseResult::ContFlags. Set if none of the
+ above ASC_... (except ASC_ANY_...) single values match an ASCII
+ character parsed. */
+ const long ASC_OTHER = 0x00000800;
+
+ /// Unicode (above 127) upper case letter
+ const long UNI_UPALPHA = 0x00001000;
+
+ /// Unicode (above 127) lower case letter
+ const long UNI_LOALPHA = 0x00002000;
+
+ /// Unicode (above 127) decimal digit number
+ const long UNI_DIGIT = 0x00004000;
+
+ /// Unicode (above 127) title case letter
+ const long UNI_TITLE_ALPHA = 0x00008000;
+
+ /// Unicode (above 127) modifier letter
+ const long UNI_MODIFIER_LETTER = 0x00010000;
+
+ /// Unicode (above 127) other letter
+ const long UNI_OTHER_LETTER = 0x00020000;
+
+ /// Unicode (above 127) letter number
+ const long UNI_LETTER_NUMBER = 0x00040000;
+
+ /// Unicode (above 127) other number
+ const long UNI_OTHER_NUMBER = 0x00080000;
+
+ /** If this bit is set in <em>nContCharFlags</em> parameters, the
+ locale's group separator characters in numbers are accepted and
+ ignored/skipped. Else a group separator in a number ends the
+ current token. A leading group separator is never accepted. If
+ an accepted group separator was encountered in a number
+ (ParseResult::TokenType is KParseType::ASC_NUMBER or
+ KParseType::UNI_NUMBER) this bit is also set in
+ ParseResult::ContFlags.
+
+ <p> <strong>NOTE:</strong> absence of this bit in
+ <em>nContCharFlags</em> changes the default behaviour that in
+ prior releases accepted numbers with group separators but lead
+ to unexpected results when parsing formula expressions where the
+ user entered a (wrong) separator that happened to be the group
+ separator instead of an intended decimal separator. Usually
+ inline numbers in a formula expression do not contain group
+ separators.
+
+ @since LibreOffice 6.2
+ */
+ const long GROUP_SEPARATOR_IN_NUMBER = 0x08000000;
+
+ /** If this bit is set in <em>nContCharFlags</em> parameters and a
+ string enclosed in double quotes is parsed and two consecutive
+ double quotes are encountered, the string is ended. If this bit
+ is not set, the two double quotes are parsed as one escaped
+ double quote and string parsing continues. The bit is ignored in
+ <em>nStartCharFlags</em> parameters.
+
+ <p> Example: <br/>
+ "abc""def" --> bit not set => abc"def <br/>
+ "abc""def" --> bit set => abc </p>
+ */
+ const long TWO_DOUBLE_QUOTES_BREAK_STRING = 0x10000000;
+
+ /** Additional flag set in ParseResult::StartFlags
+ or ParseResult::ContFlags. Set if none of the
+ above UNI_... single values match a Unicode character parsed. */
+ const long UNI_OTHER = 0x20000000;
+
+ /** Only valid for <em>nStartCharFlags</em> parameter to
+ CharacterClassification::parseAnyToken() and
+ CharacterClassification::parsePredefinedToken(),
+ ignored on <em>nContCharFlags</em> parameter.
+ <strong>Not</strong> set in ParseResult. */
+ const long IGNORE_LEADING_WS = 0x40000000;
+
+
+ // useful combinations
+
+ /// ASCII a-zA-Z lower or upper alpha
+ const long ASC_ALPHA = ASC_UPALPHA | ASC_LOALPHA;
+
+ /// ASCII a-zA-Z0-9 alphanumeric
+ const long ASC_ALNUM = ASC_ALPHA | ASC_DIGIT;
+
+ /// Unicode (above 127) lower or upper or title case alpha
+ const long UNI_ALPHA = UNI_UPALPHA | UNI_LOALPHA | UNI_TITLE_ALPHA;
+
+ /// Unicode (above 127) alphanumeric
+ const long UNI_ALNUM = UNI_ALPHA | UNI_DIGIT;
+
+ /// Unicode (above 127) alpha or letter
+ const long UNI_LETTER = UNI_ALPHA | UNI_MODIFIER_LETTER |
+ UNI_OTHER_LETTER;
+
+ /// Unicode (above 127) number
+ const long UNI_NUMBER = UNI_DIGIT | UNI_LETTER_NUMBER |
+ UNI_OTHER_NUMBER;
+
+ /// any (ASCII or Unicode) alpha
+ const long ANY_ALPHA = ASC_ALPHA | UNI_ALPHA;
+
+ /// any (ASCII or Unicode) digit
+ const long ANY_DIGIT = ASC_DIGIT | UNI_DIGIT;
+
+ /// any (ASCII or Unicode) alphanumeric
+ const long ANY_ALNUM = ASC_ALNUM | UNI_ALNUM;
+
+ /// any (ASCII or Unicode) letter
+ const long ANY_LETTER = ASC_ALPHA | UNI_LETTER;
+
+ /// any (ASCII or Unicode) number
+ const long ANY_NUMBER = ASC_DIGIT | UNI_NUMBER;
+
+ /// any (ASCII or Unicode) letter or number
+ const long ANY_LETTER_OR_NUMBER = ANY_LETTER | ANY_NUMBER;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/KParseType.idl b/offapi/com/sun/star/i18n/KParseType.idl
new file mode 100644
index 000000000..c679fb593
--- /dev/null
+++ b/offapi/com/sun/star/i18n/KParseType.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_i18n_KParseType_idl__
+#define __com_sun_star_i18n_KParseType_idl__
+
+
+module com { module sun { module star { module i18n {
+
+
+/**
+ Constants to specify the type of a parsed token.
+
+ <p> Set by
+ XCharacterClassification::parseAnyToken() and
+ XCharacterClassification::parsePredefinedToken() in
+ ParseResult::TokenType. </p>
+ */
+
+published constants KParseType
+{
+ /// One single character like ! # ; : $ et al.
+ const long ONE_SINGLE_CHAR = 0x00000001;
+
+ // For human .idl readers: <, >, <>, =, <=, >=
+ /// A Boolean operator like &lt;, &gt;, &lt;&gt;, =, &lt;=, &gt;=
+ const long BOOLEAN = 0x00000002;
+
+ /// A name matching the conditions passed.
+ const long IDENTNAME = 0x00000004;
+
+
+ // Hint for human .idl readers: do not get confused about the double
+ // quotation marks, they are needed for the unoidl compiler which otherwise
+ // gets confused about the single quotation marks.
+ /** "A single-quoted name matching the conditions passed ( 'na\'me' )."
+ "Dequoted name in ParseResult::DequotedNameOrString ( na'me )." */
+ const long SINGLE_QUOTE_NAME = 0x00000008;
+
+ /** A double-quoted string ( "str\"i""ng" ). Dequoted string in
+ ParseResult::DequotedNameOrString ( str"i"ng ). */
+ const long DOUBLE_QUOTE_STRING = 0x00000010;
+
+ /** A number where all digits are ASCII characters.
+ Numerical value in ParseResult::Value. */
+ const long ASC_NUMBER = 0x00000020;
+
+ /** A number where at least some digits are Unicode (and maybe
+ ASCII) characters. Numerical value inKParseType
+ ParseResult::Value. */
+ const long UNI_NUMBER = 0x00000040;
+
+ /** Set (ored) if SINGLE_QUOTE_NAME or DOUBLE_QUOTE_STRING has no
+ closing quote. */
+ const long MISSING_QUOTE = 0x40000000;
+
+
+ // useful combinations
+
+ /// Any ASCII or Unicode number
+ const long ANY_NUMBER = ASC_NUMBER | UNI_NUMBER;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/LanguageCountryInfo.idl b/offapi/com/sun/star/i18n/LanguageCountryInfo.idl
new file mode 100644
index 000000000..dd803674d
--- /dev/null
+++ b/offapi/com/sun/star/i18n/LanguageCountryInfo.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_i18n_LanguageCountryInfo_idl__
+#define __com_sun_star_i18n_LanguageCountryInfo_idl__
+
+
+module com { module sun { module star { module i18n {
+
+
+/**
+ The language and country identifiers and descriptive names of the
+ loaded locale data returned by
+ XLocaleData::getLanguageCountryInfo().
+
+ @see XLocaleData
+ for links to DTD of XML locale data files.
+ */
+
+published struct LanguageCountryInfo
+{
+ /// ISO-639 language code, for example, "en" or "de"
+ string Language;
+ /// Descriptive language name, for example, "English" or "German"
+ string LanguageDefaultName;
+ /// ISO-3166 country code, for example, "US" or "DE"
+ string Country;
+ /// Descriptive country name, for example, "United States" or "Germany"
+ string CountryDefaultName;
+ /// A variant name
+ string Variant;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/LineBreakHyphenationOptions.idl b/offapi/com/sun/star/i18n/LineBreakHyphenationOptions.idl
new file mode 100644
index 000000000..2f4f832fa
--- /dev/null
+++ b/offapi/com/sun/star/i18n/LineBreakHyphenationOptions.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_i18n_LineBreakHyphenationOptions_idl__
+#define __com_sun_star_i18n_LineBreakHyphenationOptions_idl__
+
+#include <com/sun/star/linguistic2/XHyphenator.idl>
+
+
+module com { module sun { module star { module i18n {
+
+
+/** Hyphenation options passed in calls to XBreakIterator::getLineBreak().
+ */
+published struct LineBreakHyphenationOptions
+{
+ /// Reference to the specific hyphenator - can be zero.
+ ::com::sun::star::linguistic2::XHyphenator rHyphenator;
+
+ /** Sequence of property values to be used by the hyphenator - can be
+ empty if the default values (from the property set) should be used. */
+ ::com::sun::star::beans::PropertyValues aHyphenationOptions;
+
+ /** The first character not fitting to the current line,
+ considering an additional "-" for hyphenation */
+ long hyphenIndex;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/LineBreakResults.idl b/offapi/com/sun/star/i18n/LineBreakResults.idl
new file mode 100644
index 000000000..c904efdee
--- /dev/null
+++ b/offapi/com/sun/star/i18n/LineBreakResults.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_i18n_LineBreakResults_idl__
+#define __com_sun_star_i18n_LineBreakResults_idl__
+
+#include <com/sun/star/linguistic2/XHyphenatedWord.idl>
+
+
+module com { module sun { module star { module i18n {
+
+
+/** Results of method XBreakIterator::getLineBreak().
+ */
+published struct LineBreakResults
+{
+ /// Type of line break, see BreakType.
+ short breakType;
+
+ /// Position of the calculated line break.
+ long breakIndex;
+
+ /// Return value of the hyphenator.
+ ::com::sun::star::linguistic2::XHyphenatedWord rHyphenatedWord;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/LineBreakUserOptions.idl b/offapi/com/sun/star/i18n/LineBreakUserOptions.idl
new file mode 100644
index 000000000..490baec77
--- /dev/null
+++ b/offapi/com/sun/star/i18n/LineBreakUserOptions.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_i18n_LineBreakUserOptions_idl__
+#define __com_sun_star_i18n_LineBreakUserOptions_idl__
+
+
+module com { module sun { module star { module i18n {
+
+
+/** Line break options passed in calls to XBreakIterator::getLineBreak().
+ */
+published struct LineBreakUserOptions
+{
+ /// Characters not allowed at the beginning of a line.
+ string forbiddenBeginCharacters;
+
+ /// Characters not allowed at the end of a line.
+ string forbiddenEndCharacters;
+
+ /// If the forbidden characters rules are to be applied or not.
+ boolean applyForbiddenRules;
+
+ /** If punctuation characters are allowed at the end of the line if
+ outside of the margins, resulting in a line not being wrapped if only
+ the punctuation would wrap. */
+ boolean allowPunctuationOutsideMargin;
+
+ /// Allow English hyphenation.
+ boolean allowHyphenateEnglish;
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/LocaleCalendar.idl b/offapi/com/sun/star/i18n/LocaleCalendar.idl
new file mode 100644
index 000000000..db4c3545a
--- /dev/null
+++ b/offapi/com/sun/star/i18n/LocaleCalendar.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_i18n_LocaleCalendar_idl__
+#define __com_sun_star_i18n_LocaleCalendar_idl__
+
+#include <com/sun/star/i18n/XCalendar3.idl>
+
+
+module com { module sun { module star { module i18n {
+
+
+/// Access a locale specific calendar.
+published service LocaleCalendar : XCalendar3;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/LocaleCalendar2.idl b/offapi/com/sun/star/i18n/LocaleCalendar2.idl
new file mode 100644
index 000000000..79bc8f7e4
--- /dev/null
+++ b/offapi/com/sun/star/i18n/LocaleCalendar2.idl
@@ -0,0 +1,27 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.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_i18n_LocaleCalendar2_idl__
+#define __com_sun_star_i18n_LocaleCalendar2_idl__
+
+#include <com/sun/star/i18n/XCalendar4.idl>
+
+module com { module sun { module star { module i18n {
+
+/** Access a locale specific calendar.
+
+ @since LibreOffice 5.0
+ */
+service LocaleCalendar2 : XCalendar4;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/LocaleData.idl b/offapi/com/sun/star/i18n/LocaleData.idl
new file mode 100644
index 000000000..ad0dd283a
--- /dev/null
+++ b/offapi/com/sun/star/i18n/LocaleData.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_i18n_LocaleData_idl__
+#define __com_sun_star_i18n_LocaleData_idl__
+
+#include <com/sun/star/i18n/XLocaleData4.idl>
+
+
+module com { module sun { module star { module i18n {
+
+
+/// Access locale specific data.
+published service LocaleData : com::sun::star::i18n::XLocaleData4;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/LocaleData2.idl b/offapi/com/sun/star/i18n/LocaleData2.idl
new file mode 100644
index 000000000..7fe53bb09
--- /dev/null
+++ b/offapi/com/sun/star/i18n/LocaleData2.idl
@@ -0,0 +1,29 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.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_i18n_LocaleData2_idl__
+#define __com_sun_star_i18n_LocaleData2_idl__
+
+#include <com/sun/star/i18n/XLocaleData5.idl>
+
+module com { module sun { module star { module i18n {
+
+/** Access locale specific data.
+
+ Supersedes service com::sun::star::i18n::LocaleData
+
+ @since LibreOffice 6.0
+ */
+service LocaleData2 : XLocaleData5;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/offapi/com/sun/star/i18n/LocaleDataItem.idl b/offapi/com/sun/star/i18n/LocaleDataItem.idl
new file mode 100644
index 000000000..07899b5d6
--- /dev/null
+++ b/offapi/com/sun/star/i18n/LocaleDataItem.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_i18n_LocaleDataItem_idl__
+#define __com_sun_star_i18n_LocaleDataItem_idl__
+
+
+module com { module sun { module star { module i18n {
+
+
+/**
+ Locale specific data, for example, separators, quotation marks.
+
+ @see XLocaleData
+ for links to DTD of XML locale data files.
+ */
+
+published struct LocaleDataItem
+{
+ /// internal ID string, not unique, not meaningful to the outer world
+ string unoID;
+ /// date separator, for example, <b>"/"</b> or <b>"."</b> or <b>"-"</b>
+ string dateSeparator;
+ /// group and thousand separator, for example, <b>","</b> or <b>"."</b>
+ string thousandSeparator;
+ /// decimal separator, for example, <b>"."</b> or <b>","</b>
+ string decimalSeparator;
+ /// time separator, for example, <b>":"</b>
+ string timeSeparator;
+ /// time 100th seconds separator, for example, <b>","</b>
+ string time100SecSeparator;
+ /// list separator, for example, <b>";"</b>
+ string listSeparator;
+ /// single quotation mark start
+ string quotationStart;
+ /// single quotation mark end
+ string quotationEnd;
+ /// double quotation mark start
+ string doubleQuotationStart;
+ /// double quotation mark end
+ string doubleQuotationEnd;
+ /// time AM symbol, for example, <b>"AM"</b> or <b>"am"</b>
+ string timeAM;
+ /// time PM symbol, for example, <b>"PM"</b> or <b>"pm"</b>
+ string timePM;
+ /// measurement system, <b>"metric"</b> or <b>"us"</b>
+ string measurementSystem;
+ /// long date day of week separator, for example, <b>", "</b>
+ string LongDateDayOfWeekSeparator;
+ /// long date day separator, for example, <b>", "</b>
+ string LongDateDaySeparator;
+ /// long date month separator, for example, <b>" "</b>
+ string LongDateMonthSeparator;
+ /// long date year separator, for example, <b>" "</b>
+ string LongDateYearSeparator;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/LocaleDataItem2.idl b/offapi/com/sun/star/i18n/LocaleDataItem2.idl
new file mode 100644
index 000000000..f2565213f
--- /dev/null
+++ b/offapi/com/sun/star/i18n/LocaleDataItem2.idl
@@ -0,0 +1,40 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.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_i18n_LocaleDataItem2_idl__
+#define __com_sun_star_i18n_LocaleDataItem2_idl__
+
+#include <com/sun/star/i18n/LocaleDataItem.idl>
+
+module com { module sun { module star { module i18n {
+
+/**
+ Locale specific data, derived from LocaleDataItem adding an
+ alternative input decimal separator.
+
+ @since LibreOffice 6.0
+ */
+
+struct LocaleDataItem2 : LocaleDataItem
+{
+ /** Alternative input decimal separator, for example, <b>"."</b> if
+ the regular locale dependent separator usually is not present on
+ keyboards used with that locale.
+
+ <p> This separator is optional, an empty string denotes no
+ alternative decimal separator shall be used.
+ */
+ string decimalSeparatorAlternative;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/offapi/com/sun/star/i18n/LocaleItem.idl b/offapi/com/sun/star/i18n/LocaleItem.idl
new file mode 100644
index 000000000..6c3af39f9
--- /dev/null
+++ b/offapi/com/sun/star/i18n/LocaleItem.idl
@@ -0,0 +1,97 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_i18n_LocaleItem_idl__
+#define __com_sun_star_i18n_LocaleItem_idl__
+
+
+module com { module sun { module star { module i18n {
+
+
+/**
+ @deprecated internal
+ Constant values identifying specific locale data items.
+
+ <p> These are not used with the API but with an OOo internal wrapper class
+ that caches the contents of an instance of LocaleDataItem and
+ uses these values to access it's members for faster access. </p>
+
+ <p> Whenever locale data items were added these values and the wrapper
+ class would have to be adjusted to give the application an easier access.
+ </p>
+ */
+
+published constants LocaleItem
+{
+ /// @see ::com::sun::star::i18n::LocaleDataItem::dateSeparator
+ const short DATE_SEPARATOR = 0;
+ /// @see com::sun::star::i18n::LocaleDataItem::thousandSeparator
+ const short THOUSAND_SEPARATOR = 1;
+ /// @see com::sun::star::i18n::LocaleDataItem::decimalSeparator
+ const short DECIMAL_SEPARATOR = 2;
+ /// @see com::sun::star::i18n::LocaleDataItem::timeSeparator
+ const short TIME_SEPARATOR = 3;
+ /// @see com::sun::star::i18n::LocaleDataItem::time100SecSeparator
+ const short TIME_100SEC_SEPARATOR = 4;
+ /// @see com::sun::star::i18n::LocaleDataItem::listSeparator
+ const short LIST_SEPARATOR = 5;
+ /// @see com::sun::star::i18n::LocaleDataItem::quotationStart
+ const short SINGLE_QUOTATION_START = 6;
+ /// @see com::sun::star::i18n::LocaleDataItem::quotationEnd
+ const short SINGLE_QUOTATION_END = 7;
+ /// @see com::sun::star::i18n::LocaleDataItem::doubleQuotationStart
+ const short DOUBLE_QUOTATION_START = 8;
+ /// @see com::sun::star::i18n::LocaleDataItem::doubleQuotationEnd
+ const short DOUBLE_QUOTATION_END = 9;
+ /// @see com::sun::star::i18n::LocaleDataItem::timeAM
+ const short MEASUREMENT_SYSTEM = 10;
+ /// @see com::sun::star::i18n::LocaleDataItem::timePM
+ const short TIME_AM = 11;
+ /// @see com::sun::star::i18n::LocaleDataItem::measurementSystem
+ const short TIME_PM = 12;
+ /// @see com::sun::star::i18n::LocaleDataItem::LongDateDayOfWeekSeparator
+ const short LONG_DATE_DAY_OF_WEEK_SEPARATOR = 13;
+ /// @see com::sun::star::i18n::LocaleDataItem::LongDateDaySeparator
+ const short LONG_DATE_DAY_SEPARATOR = 14;
+ /// @see com::sun::star::i18n::LocaleDataItem::LongDateMonthSeparator
+ const short LONG_DATE_MONTH_SEPARATOR = 15;
+ /// @see com::sun::star::i18n::LocaleDataItem::LongDateYearSeparator
+ const short LONG_DATE_YEAR_SEPARATOR = 16;
+
+ /// count of items available
+ const short COUNT = 17;
+
+ /// @see com::sun::star::i18n::LocaleDataItem2::decimalSeparatorAlternative
+ const short DECIMAL_SEPARATOR_ALTERNATIVE = 17;
+
+ /// count of items available
+ const short COUNT2 = 18;
+
+ //! New values may be appended here if locale data provides them.
+ //! Do not forget to introduce a new COUNTx value.
+};
+
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/Months.idl b/offapi/com/sun/star/i18n/Months.idl
new file mode 100644
index 000000000..af6a50243
--- /dev/null
+++ b/offapi/com/sun/star/i18n/Months.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_i18n_Months_idl__
+#define __com_sun_star_i18n_Months_idl__
+
+
+module com { module sun { module star { module i18n {
+
+
+/**
+ Constants for month names used in calls to XCalendar::getDisplayName().
+ */
+
+published constants Months
+{
+ /// January
+ const short JANUARY = 0;
+ /// February
+ const short FEBURARY = 1;
+ /// March
+ const short MARCH = 2;
+ /// April
+ const short APRIL = 3;
+ /// May
+ const short MAY = 4;
+ /// June
+ const short JUNE = 5;
+ /// July
+ const short JULY = 6;
+ /// August
+ const short AUGUST = 7;
+ /// September
+ const short SEPTEMBER = 8;
+ /// October
+ const short OCTOBER = 9;
+ /// November
+ const short NOVEMBER = 10;
+ /// December
+ const short DECEMBER = 11;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/MultipleCharsOutputException.idl b/offapi/com/sun/star/i18n/MultipleCharsOutputException.idl
new file mode 100644
index 000000000..7bd6293d4
--- /dev/null
+++ b/offapi/com/sun/star/i18n/MultipleCharsOutputException.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_i18n_MultipleCharsOutputException_idl__
+#define __com_sun_star_i18n_MultipleCharsOutputException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+module com { module sun { module star { module i18n {
+
+
+/** Indicates transliteration generated multiple characters output but
+ only single character return value was requested.
+
+ <p> Used by
+ XExtendedTransliteration::transliterateChar2Char()
+ </p>
+
+ @since OOo 1.1.2
+ */
+published exception MultipleCharsOutputException : ::com::sun::star::uno::Exception
+{
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/NativeNumberMode.idl b/offapi/com/sun/star/i18n/NativeNumberMode.idl
new file mode 100644
index 000000000..8fbf058f3
--- /dev/null
+++ b/offapi/com/sun/star/i18n/NativeNumberMode.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_i18n_NativeNumberMode_idl__
+#define __com_sun_star_i18n_NativeNumberMode_idl__
+
+
+module com { module sun { module star { module i18n {
+
+
+/**
+ Constants to use with
+ XExtendedCalendar::getDisplayString() and the
+ XNativeNumberSupplier methods.
+
+ <p> The constants have different meanings if used with different
+ locales. However, NATNUM1 always tries to convert to
+ a string matching the native number mode of the corresponding
+ locale. </p>
+
+ <p> Where available, the corresponding Microsoft Excel (tm) DBNum
+ number format code modifier is listed. </p>
+
+ <p> Modifiers supported by XExtendedCalendar::getDisplayString() are
+ marked with CAL: for the specific language and the corresponding
+ DBNum modifier and the NatNum values used for Y/M/D are listed </p>
+
+ @since OOo 1.1.2
+ */
+
+published constants NativeNumberMode
+{
+ /** Transliteration to ASCII Arabic digits.
+ Try to convert any native number string to ASCII.
+ If already ASCII it remains ASCII.
+ */
+ const short NATNUM0 = 0;
+
+ /** Transliteration in <br/>
+ Chinese: Chinese lower case characters; CAL: 1/7/7 [DBNum1] <br/>
+ Japanese: short Kanji characters [DBNum1]; CAL: 1/4/4 [DBNum1] <br/>
+ Korean: Korean lower case characters [DBNum1]; CAL: 1/7/7 [DBNum1] <br/>
+ Hebrew: Hebrew characters <br/>
+ Arabic: Arabic-Indic characters <br/>
+ Thai: Thai characters <br/>
+ Hindi: Indic-Devanagari characters <br/>
+ Odia: Odia (Oriya) characters<br/>
+ Marathi: Indic-Devanagari characters<br/>
+ Bengali: Bengali characters<br/>
+ Punjabi: Punjabi (Gurmukhi) characters<br/>
+ Gujarati: Gujarati characters<br/>
+ Tamil: Tamil characters<br/>
+ Telugu: Telugu characters<br/>
+ Kannada: Kannada characters<br/>
+ Malayalam: Malayalam characters<br/>
+ Lao: Lao characters<br/>
+ Tibetan: Tibetan characters<br/>
+ Burmese: Burmese (Myanmar) characters<br/>
+ Khmer: Khmer (Cambodian) characters<br/>
+ Mongolian: Mongolian characters<br/>
+ Nepali: Indic-Devanagari characters<br/>
+ Dzongkha: Tibetan characters<br/>
+ Farsi: East Arabic-Indic characters<br/>
+ Church Slavic: Cyrillic characters
+ */
+ const short NATNUM1 = 1;
+
+ /** Transliteration in <br/>
+ Chinese: Chinese upper case characters; CAL: 2/8/8 [DBNum2] <br/>
+ Japanese: traditional Kanji characters; CAL: 2/5/5 [DBNum2] <br/>
+ Korean: Korean upper case characters [DBNum2]; CAL: 2/8/8 [DBNum2] <br/>
+ Hebrew: Hebrew numbering
+ */
+ const short NATNUM2 = 2;
+
+ /** Transliteration in <br/>
+ Chinese: fullwidth Arabic digits; CAL: 3/3/3 [DBNum3] <br/>
+ Japanese: fullwidth Arabic digits; CAL: 3/3/3 [DBNum3] <br/>
+ Korean: fullwidth Arabic digits [DBNum3]; CAL: 3/3/3 [DBNum3]
+ */
+ const short NATNUM3 = 3;
+
+ /** Transliteration in <br/>
+ Chinese: lower case text [DBNum1] <br/>
+ Japanese: modern long Kanji text [DBNum2] <br/>
+ Korean: formal lower case text
+ */
+ const short NATNUM4 = 4;
+
+ /** Transliteration in <br/>
+ Chinese: Chinese upper case text [DBNum2] <br/>
+ Japanese: traditional long Kanji text [DBNum3] <br/>
+ Korean: formal upper case text
+ */
+ const short NATNUM5 = 5;
+
+ /** Transliteration in <br/>
+ Chinese: fullwidth text [DBNum3] <br/>
+ Japanese: fullwidth text <br/>
+ Korean: fullwidth text
+ */
+ const short NATNUM6 = 6;
+
+ /** Transliteration in <br/>
+ Chinese: short lower case text <br/>
+ Japanese: modern short Kanji text <br/>
+ Korean: informal lower case text
+ */
+ const short NATNUM7 = 7;
+
+ /** Transliteration in <br/>
+ Chinese: short upper case text <br/>
+ Japanese: traditional short Kanji text [DBNum4] <br/>
+ Korean: informal upper case text
+ */
+ const short NATNUM8 = 8;
+
+ /** Transliteration in <br/>
+ Korean: Hangul characters
+ */
+ const short NATNUM9 = 9;
+
+ /** Transliteration in <br/>
+ Korean: formal Hangul text [DBNum4]; CAL: 9/11/11 [DBNum4]
+ */
+ const short NATNUM10 = 10;
+
+ /** Transliteration in <br/>
+ Korean: informal Hangul text
+ */
+ const short NATNUM11 = 11;
+
+ /** Transliteration to cardinal number names (one, two, three, ...),
+ ordinal number names (first, second, third, ...),
+ ordinal indicators (1st, 2nd, 3rd, ...), etc.
+ Uses NatNum params string
+ */
+ const short NATNUM12 = 12;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/NativeNumberSupplier.idl b/offapi/com/sun/star/i18n/NativeNumberSupplier.idl
new file mode 100644
index 000000000..47cdcbcfa
--- /dev/null
+++ b/offapi/com/sun/star/i18n/NativeNumberSupplier.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_i18n_NativeNumberSupplier_idl__
+#define __com_sun_star_i18n_NativeNumberSupplier_idl__
+
+#include <com/sun/star/i18n/XNativeNumberSupplier.idl>
+
+
+module com { module sun { module star { module i18n {
+
+
+/** Supplier for transliteration of numerals (native number strings).
+
+ @since OOo 1.1.2
+*/
+published service NativeNumberSupplier : com::sun::star::i18n::XNativeNumberSupplier;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/NativeNumberSupplier2.idl b/offapi/com/sun/star/i18n/NativeNumberSupplier2.idl
new file mode 100644
index 000000000..721c1642a
--- /dev/null
+++ b/offapi/com/sun/star/i18n/NativeNumberSupplier2.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_i18n_NativeNumberSupplier2_idl__
+#define __com_sun_star_i18n_NativeNumberSupplier2_idl__
+
+#include <com/sun/star/i18n/XNativeNumberSupplier2.idl>
+
+
+module com { module sun { module star { module i18n {
+
+
+/** Supplier for transliteration of numerals (native number strings).
+
+ @since LibreOffice 6.1
+
+ @internal
+
+ ATTENTION: This service is marked <em>internal</em> and does not
+ have the <em>published</em> flag, which means it is subject to
+ change without notice and should not be used outside the LibreOffice core.
+*/
+service NativeNumberSupplier2 : com::sun::star::i18n::XNativeNumberSupplier2;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/NativeNumberXmlAttributes.idl b/offapi/com/sun/star/i18n/NativeNumberXmlAttributes.idl
new file mode 100644
index 000000000..9dc28e0ed
--- /dev/null
+++ b/offapi/com/sun/star/i18n/NativeNumberXmlAttributes.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_i18n_NativeNumberXmlAttributes_idl__
+#define __com_sun_star_i18n_NativeNumberXmlAttributes_idl__
+
+#include <com/sun/star/lang/Locale.idl>
+
+
+module com { module sun { module star { module i18n {
+
+
+/**
+ Attributes describing a native number mode for a specific locale,
+ stored in XML file format.
+
+ <p> Used with
+ XNativeNumberSupplier::convertToXmlAttributes() and
+ XNativeNumberSupplier::convertFromXmlAttributes()
+ </p>
+
+ @since OOo 1.1.2
+ */
+
+published struct NativeNumberXmlAttributes
+{
+ /// The locale of the native number representation
+ ::com::sun::star::lang::Locale Locale;
+
+ /// The number "1" expressed as a native number string.
+ string Format;
+
+ /** The type of the number string, for example, "short" or "medium"
+ or "long". */
+ string Style;
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/NativeNumberXmlAttributes2.idl b/offapi/com/sun/star/i18n/NativeNumberXmlAttributes2.idl
new file mode 100644
index 000000000..d8c8fb225
--- /dev/null
+++ b/offapi/com/sun/star/i18n/NativeNumberXmlAttributes2.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_i18n_NativeNumberXmlAttributes_idl__
+#define __com_sun_star_i18n_NativeNumberXmlAttributes_idl__
+
+#include <com/sun/star/i18n/NativeNumberXmlAttributes.idl>
+
+
+module com { module sun { module star { module i18n {
+
+
+/**
+ Attributes describing a native number mode for a specific locale,
+ stored in XML file format.
+
+ <p> Used later with
+ XNativeNumberSupplier2::convertToXmlAttributes() and
+ XNativeNumberSupplier2::convertFromXmlAttributes()
+ </p>
+
+ @since LibreOffice 6.1
+
+ @internal
+
+ ATTENTION: This struct is marked <em>internal</em> and does not
+ have the <em>published</em> flag, which means it is subject to
+ change without notice and should not be used outside the LibreOffice core.
+ */
+
+struct NativeNumberXmlAttributes2 : com::sun::star::i18n::NativeNumberXmlAttributes
+{
+ /** The format of the number string, for example, "cardinal",
+ "ordinal" or "ordinal-number". */
+ string Spellout;
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/NumberFormatCode.idl b/offapi/com/sun/star/i18n/NumberFormatCode.idl
new file mode 100644
index 000000000..594c7dc4c
--- /dev/null
+++ b/offapi/com/sun/star/i18n/NumberFormatCode.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_i18n_NumberFormatCode_idl__
+#define __com_sun_star_i18n_NumberFormatCode_idl__
+
+
+module com { module sun { module star { module i18n {
+
+
+/**
+ Number format code information returned by various
+ XNumberFormatCode methods.
+ */
+
+published struct NumberFormatCode
+{
+ /// One of KNumberFormatType values.
+ short Type;
+ /// One of KNumberFormatUsage values.
+ short Usage;
+ /// Format code, for example, "YYYY-MM-DD".
+ string Code;
+ /// Descriptive name of the format for this locale.
+ string DefaultName;
+ /// Message identifier to be used if the name of the format is localized.
+ string NameID;
+ /// Index of the code as defined in NumberFormatIndex.
+ short Index;
+ /// If this format is the default format of the <em>Usage</em> group.
+ boolean Default;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/NumberFormatIndex.idl b/offapi/com/sun/star/i18n/NumberFormatIndex.idl
new file mode 100644
index 000000000..f99454439
--- /dev/null
+++ b/offapi/com/sun/star/i18n/NumberFormatIndex.idl
@@ -0,0 +1,275 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_i18n_NumberFormatIndex_idl__
+#define __com_sun_star_i18n_NumberFormatIndex_idl__
+
+
+module com { module sun { module star { module i18n {
+
+
+//! Do NOT insert any new values!
+//! Locale data number format creation must match these values!
+//! Number formatter internals must match these values!
+
+/**
+ Number format indices to be passed as the index argument to
+ XNumberFormatCode::getFormatCode()
+ or
+ ::com::sun::star::util::XNumberFormatTypes::getFormatIndex().
+
+ <p> Each locale can support up to about 5000 arbitrary format
+ codes. But for backward compatibility reasons, each locale
+ <b>MUST</b> support some predefined format codes. These predefined
+ format codes are accessed through indices as the following, and
+ the locale data format code definitions in
+ i18npool/source/localedata/data/\*.xml <b>MUST</b> have matching
+ entries in the form <br/>
+
+ <code>&lt;FormatElement formatindex="0"&gt;</code> <br/>
+
+ (see also FormatElement::formatIndex()).
+
+ The index values are also used to define the <code>enum
+ NfIndexTableOffset</code> in file svtools/inc/zforlist.hxx </p>
+
+ <p> Note: This index has <b>nothing</b> to do with the index key
+ used internally by the number formatter. </p> <br/>
+
+ <p> Date formats may have a comment of DIN/EN/ISO, meaning
+ <ul>
+ <li> DIN 5008 (Deutsches Institut f&uuml;r Normung, formerly Deutsche Industrie-Norm) </li>
+ <li> EN 28601 (European Norm) </li>
+ <li> ISO 8601 (International Standards Organization) </li>
+ </ul>
+ </p>
+
+ <p> Some names of date format constants indicate a special
+ behavior of those formats in StarOffice 5.2 or older. Those are:
+
+ <dl>
+ <dt> <a name="SYSTEM"> DATE_SYSTEM_... </a> </dt>
+ <dd> On Windows platforms these formats were entirely
+ retrieved from the system's Regional Settings. OpenOffice.org
+ / StarOffice 6 don't use those Windows settings anymore in
+ order to provide the same functionality and document layout on
+ every platform. Like all other formats these formats are now
+ defined in the i18n framework locale data files under
+ i18npool/source/localedata/data/\*.xml </dd>
+
+ <dt> <a name="SYS"> DATE_SYS_... </a> </dt>
+ <dd> On Windows platforms these formats used separators and
+ YMD order retrieved from the Regional Settings, but appearance
+ of short/long days/months/years was defined by the
+ application. </dd>
+
+ <dt> <a name="DEF"> DATE_DEF_... </a> </dt>
+ <dd> The format code was hard defined, only the date separator
+ was taken from the Windows Regional Settings, but not the YMD
+ order. </dd>
+
+ </dl>
+ </p>
+ */
+published constants NumberFormatIndex
+{
+ /// Start of simple numerical formats (first format)
+ const short NUMBER_START = 0;
+ /// The "General" standard format <br/> formatindex="0"
+ const short NUMBER_STANDARD = NUMBER_START;
+ /// 0 <br/>Integer number <br/> formatindex="1"
+ const short NUMBER_INT = NUMBER_START+1;
+ /// 0.00 <br/>Decimal number with 2 decimals <br/> formatindex="2"
+ const short NUMBER_DEC2 = NUMBER_START+2;
+ /// #,##0 <br/>Integer number with group separator <br/> formatindex="3"
+ const short NUMBER_1000INT = NUMBER_START+3;
+ /// #,##0.00 <br/>Decimal number with group separator <br/> formatindex="4"
+ const short NUMBER_1000DEC2 = NUMBER_START+4;
+ /// #,##0.00 <br/> In SO5/Win this format was retrieved from the Regional Settings <br/> formatindex="5"
+ const short NUMBER_SYSTEM = NUMBER_START+5;
+ /// End of simple numerical formats (last format)
+ const short NUMBER_END = NUMBER_SYSTEM ;
+
+
+ /// Start of Scientific formats (first format)
+ const short SCIENTIFIC_START = NUMBER_END+1;
+ /// 0.00E+000 <br/>Number in scientific notation with exponent in 3 digit placeholders <br/> formatindex="6"
+ const short SCIENTIFIC_000E000 = SCIENTIFIC_START;
+ /// 0.00E+00 <br/>Number in scientific notation with exponent in 2 digit placeholders <br/> formatindex="7"
+ const short SCIENTIFIC_000E00 = SCIENTIFIC_START+1;
+ /// End of Scientific formats (last format)
+ const short SCIENTIFIC_END = SCIENTIFIC_000E00;
+
+
+ /// Start of Percent formats (first format)
+ const short PERCENT_START = SCIENTIFIC_END+1;
+ /// 0% <br/>Percentage format, rounded to integer <br/> formatindex="8"
+ const short PERCENT_INT = PERCENT_START;
+ /// 0.00% <br/>Percentage format, rounded to 2 decimals <br/> formatindex="9"
+ const short PERCENT_DEC2 = PERCENT_START+1;
+ /// End of Percent formats (last format)
+ const short PERCENT_END = PERCENT_DEC2;
+
+
+ /// Start of Fraction formats (first format)
+ const short FRACTION_START = PERCENT_END+1;
+ /// # ?/? <br/>Number with decimal in fraction in 1 digit placeholder <br/> formatindex="10"
+ const short FRACTION_1 = FRACTION_START;
+ /// # ??/?? <br/>Number with decimal in fraction in 2 digit placeholders <br/> formatindex="11"
+ const short FRACTION_2 = FRACTION_START+1;
+ /// End of Fraction formats (last format)
+ const short FRACTION_END = FRACTION_2;
+
+
+ /// Start of Currency formats (first format)
+ const short CURRENCY_START = FRACTION_END+1;
+ /// #,##0 DM <br/>Integer currency format with group separator <br/> formatindex="12"
+ const short CURRENCY_1000INT = CURRENCY_START;
+ /// #,##0.00 DM <br/>Decimal currency format with group separator <br/> formatindex="13"
+ const short CURRENCY_1000DEC2 = CURRENCY_START+1;
+ /// #,##0 DM <br/>Integer currency format with negative in red <br/> formatindex="14"
+ const short CURRENCY_1000INT_RED = CURRENCY_START+2;
+ /// #,##0.00 DM <br/>Decimal currency format with negative in red <br/> formatindex="15"
+ const short CURRENCY_1000DEC2_RED = CURRENCY_START+3;
+ /// #,##0.00 DEM <br/>Currency in ISO-4217 abbreviation format <br/> formatindex="16"
+ const short CURRENCY_1000DEC2_CCC = CURRENCY_START+4;
+ /// #,##0.-- DM <br/>Currency format with dash representing 0 in decimals <br/> formatindex="17"
+ const short CURRENCY_1000DEC2_DASHED = CURRENCY_START+5;
+ /// End of Currency formats (last format)
+ const short CURRENCY_END = CURRENCY_1000DEC2_DASHED;
+
+
+ /// Start of Date formats (first format)
+ const short DATE_START = CURRENCY_END+1;
+ /// 08.10.97 <br/> see also DATE_SYSTEM_... <a href="#SYSTEM">explanation</a> <br/> formatindex="18"
+ const short DATE_SYSTEM_SHORT = DATE_START;
+ /** Wednesday, 8. October 1997 <br/> see also DATE_SYSTEM_... <a href="#SYSTEM">explanation</a>
+ <br/> formatindex="19" */
+ const short DATE_SYSTEM_LONG = DATE_START+1;
+ /// 08.10.97 <br/> see also DATE_SYS_... <a href="#SYS">explanation</a> <br/> formatindex="20"
+ const short DATE_SYS_DDMMYY = DATE_START+2;
+ /** 08.10.1997 <br/> see also DATE_SYS_... <a href="#SYS">explanation</a>
+ <br/><b>Note:</b> When editing already existing date data this
+ format is forced in order to always edit the full century.
+ <br/> formatindex="21" */
+ const short DATE_SYS_DDMMYYYY = DATE_START+3;
+ /// 8. Oct 97 <br/> see also DATE_SYS_... <a href="#SYS">explanation</a> <br/> formatindex="22"
+ const short DATE_SYS_DMMMYY = DATE_START+4;
+ /// 8. Oct 1997 <br/> see also DATE_SYS_... <a href="#SYS">explanation</a> <br/> formatindex="23"
+ const short DATE_SYS_DMMMYYYY = DATE_START+5;
+ /// 8. Oct. 1997 <br/> DIN/EN <br/> formatindex="24"
+ const short DATE_DIN_DMMMYYYY = DATE_START+6;
+ /// 8. October 1997 <br/> see also DATE_SYS_... <a href="#SYS">explanation</a> <br/> formatindex="25"
+ const short DATE_SYS_DMMMMYYYY = DATE_START+7;
+ /// 8. October 1997 <br/> DIN/EN <br/> formatindex="26"
+ const short DATE_DIN_DMMMMYYYY = DATE_START+8;
+ /// Wed, 8. Oct 97 <br/> see also DATE_SYS_... <a href="#SYS">explanation</a> <br/> formatindex="27"
+ const short DATE_SYS_NNDMMMYY = DATE_START+9;
+ /// Wed 08.Oct 97 <br/> see also DATE_DEF_... <a href="#DEF">explanation</a> <br/> formatindex="28"
+ const short DATE_DEF_NNDDMMMYY = DATE_START+10;
+ /// Wed, 8. October 1997 <br/> see also DATE_SYS_... <a href="#SYS">explanation</a> <br/> formatindex="29"
+ const short DATE_SYS_NNDMMMMYYYY = DATE_START+11;
+ /// Wednesday, 8. October 1997 <br/> formatindex="30"
+ const short DATE_SYS_NNNNDMMMMYYYY = DATE_START+12;
+ /// 10-08 <br/> DIN/EN <br/> formatindex="31"
+ const short DATE_DIN_MMDD = DATE_START+13;
+ /// 97-10-08 <br/> DIN/EN <br/> formatindex="32"
+ const short DATE_DIN_YYMMDD = DATE_START+14;
+ /// 1997-10-08 <br/> DIN/EN/ISO <br/> formatindex="33"
+ const short DATE_DIN_YYYYMMDD = DATE_START+15;
+ /// 10.97 <br/> see also DATE_SYS_... <a href="#SYS">explanation</a> <br/> formatindex="34"
+ const short DATE_SYS_MMYY = DATE_START+16;
+ /// 08.Oct <br/> see also DATE_SYS_... <a href="#SYS">explanation</a> <br/> formatindex="35"
+ const short DATE_SYS_DDMMM = DATE_START+17;
+ /// October <br/> formatindex="36"
+ const short DATE_MMMM = DATE_START+18;
+ /// 4th quarter 97 <br/> formatindex="37"
+ const short DATE_QQJJ = DATE_START+19;
+ /// week of year <br/> formatindex="38"
+ const short DATE_WW = DATE_START+20;
+ /// End of Date formats (last format)
+ const short DATE_END = DATE_WW;
+
+
+ /// Start of Time formats (first format)
+ const short TIME_START = DATE_END+1;
+ /// HH:MM <br/>Time format with hour and minute <br/> formatindex="39"
+ const short TIME_HHMM = TIME_START;
+ /// HH:MM:SS <br/>Time format with hour, minute and second <br/> formatindex="40"
+ const short TIME_HHMMSS = TIME_START+1;
+ /// HH:MM AM/PM <br/>Time format with hour, minute and morning/afternoon notation <br/> formatindex="41"
+ const short TIME_HHMMAMPM = TIME_START+2;
+ /// HH:MM:SS AM/PM <br/>Time format with hour, minute, second and morning/afternoon notation <br/> formatindex="42"
+ const short TIME_HHMMSSAMPM = TIME_START+3;
+ /// [HH]:MM:SS <br/>Time format with amount of hours <br/> formatindex="43"
+ const short TIME_HH_MMSS = TIME_START+4;
+ /// MM:SS,00 <br/>Time format with second in fraction <br/> formatindex="44"
+ const short TIME_MMSS00 = TIME_START+5;
+ /// [HH]:MM:SS,00 <br/>Time format with amount of hours and seconds with fraction <br/> formatindex="45"
+ const short TIME_HH_MMSS00 = TIME_START+6;
+ /// End of Time formats (last format)
+ const short TIME_END = TIME_HH_MMSS00;
+
+
+ /// Start of DateTime formats (first format)
+ const short DATETIME_START = TIME_END + 1;
+ /// 08.10.97 01:23 Date/time format <br/> formatindex="46"
+ const short DATETIME_SYSTEM_SHORT_HHMM = DATETIME_START;
+ /** 08.10.1997 01:23:45 Date/time format with second
+ <br/><b>Note:</b> When editing already existing date/time data this
+ format is forced in order to always edit the full century.
+ <br/> formatindex="47" */
+ const short DATETIME_SYS_DDMMYYYY_HHMMSS= DATETIME_START+1;
+ /// End of DateTime formats (last format)
+ const short DATETIME_END = DATETIME_SYS_DDMMYYYY_HHMMSS;
+
+
+ /**
+ BOOLEAN format
+
+ @attention
+ <b>Not</b> defined in locale data, but generated by the number
+ formatter. If you want to access this format you <b>MUST</b>
+ do it via com::sun::star::util::XNumberFormatTypes::getFormatIndex()
+ instead of XNumberFormatCode::getFormatCode().
+ <br/> reserved formatindex="48"
+ */
+ const short BOOLEAN = DATETIME_END+1;
+
+ /**
+ Text format
+
+ @attention
+ <b>Not</b> defined in locale data, but generated by the number
+ formatter. If you want to access this format you <b>MUST</b>
+ do it via com::sun::star::util::XNumberFormatTypes::getFormatIndex()
+ instead of XNumberFormatCode::getFormatCode()
+ <br/> reserved formatindex="49"
+ */
+ const short TEXT = BOOLEAN+1;
+
+ /// count of built-in format codes.
+ const short INDEX_TABLE_ENTRIES = TEXT+1;
+};
+
+
+}; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/NumberFormatMapper.idl b/offapi/com/sun/star/i18n/NumberFormatMapper.idl
new file mode 100644
index 000000000..4e7325a84
--- /dev/null
+++ b/offapi/com/sun/star/i18n/NumberFormatMapper.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_i18n_NumberFormatMapper_idl__
+#define __com_sun_star_i18n_NumberFormatMapper_idl__
+
+#include <com/sun/star/i18n/XNumberFormatCode.idl>
+
+
+module com { module sun { module star { module i18n {
+
+
+/** Access locale data number format codes to use with the
+ number formatter
+*/
+
+published service NumberFormatMapper : com::sun::star::i18n::XNumberFormatCode;
+
+}; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/OrdinalSuffix.idl b/offapi/com/sun/star/i18n/OrdinalSuffix.idl
new file mode 100644
index 000000000..6f629cb31
--- /dev/null
+++ b/offapi/com/sun/star/i18n/OrdinalSuffix.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_i18n_OrdinalSuffix_idl__
+#define __com_sun_star_i18n_OrdinalSuffix_idl__
+
+#include <com/sun/star/i18n/XOrdinalSuffix.idl>
+
+
+module com { module sun { module star { module i18n {
+
+/** provides access to locale specific ordinal suffix systems.
+
+ @since OOo 2.2
+
+ @internal
+
+ ATTENTION: This service is marked <em>internal</em> and does not
+ have the <em>published</em> flag, which means it is subject to
+ change without notice and should not be used outside the OOo core.
+ */
+
+service OrdinalSuffix : com::sun::star::i18n::XOrdinalSuffix;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/ParseResult.idl b/offapi/com/sun/star/i18n/ParseResult.idl
new file mode 100644
index 000000000..22b2ccb70
--- /dev/null
+++ b/offapi/com/sun/star/i18n/ParseResult.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_i18n_ParseResult_idl__
+#define __com_sun_star_i18n_ParseResult_idl__
+
+
+module com { module sun { module star { module i18n {
+
+
+/**
+ Parser results returned by
+ XCharacterClassification::parseAnyToken() and
+ XCharacterClassification::parsePredefinedToken().
+ */
+
+published struct ParseResult
+{
+ /** Count of ignored leading whitespace, in UTF-16 code units, not
+ Unicode code points. */
+ long LeadingWhiteSpace;
+
+ /** UTF-16 code unit index of first unprocessed character. */
+ long EndPos;
+
+ /** Number of code points (not UTF-16 code units) of the parsed token,
+ not including leading whitespace. */
+ long CharLen;
+
+ /** Value of token in case of numeric. */
+ double Value;
+
+ /** KParseType token type like
+ KParseType::IDENTNAME. */
+ long TokenType;
+
+ /** KParseTokens flags of first character of actual
+ token matched. If <em>TokenType</em> is a
+ KParseType::SINGLE_QUOTE_NAME or a
+ KParseType::DOUBLE_QUOTE_STRING the first
+ character is the first character inside the quotes, not the
+ quote itself. */
+ long StartFlags;
+
+ /** KParseTokens flags of remaining characters of
+ actual token matched. */
+ long ContFlags;
+
+ /** If a quoted name or string is encountered the dequoted result
+ goes here. */
+ string DequotedNameOrString;
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/ScriptDirection.idl b/offapi/com/sun/star/i18n/ScriptDirection.idl
new file mode 100644
index 000000000..958f87a3c
--- /dev/null
+++ b/offapi/com/sun/star/i18n/ScriptDirection.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_i18n_ScriptDirection_idl__
+#define __com_sun_star_i18n_ScriptDirection_idl__
+
+
+
+module com { module sun { module star { module i18n {
+
+
+/** Script direction constants to use with
+ XScriptTypeDetector methods.
+
+ @since OOo 1.1.2
+*/
+
+published constants ScriptDirection
+{
+ /// Script direction is neutral
+ const short NEUTRAL = 0;
+
+ /// Script direction is left to right
+ const short LEFT_TO_RIGHT = 1;
+
+ /// Script direction is right to left
+ const short RIGHT_TO_LEFT = 2;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/ScriptType.idl b/offapi/com/sun/star/i18n/ScriptType.idl
new file mode 100644
index 000000000..6b9bba1d6
--- /dev/null
+++ b/offapi/com/sun/star/i18n/ScriptType.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_i18n_ScriptType_idl__
+#define __com_sun_star_i18n_ScriptType_idl__
+
+
+module com { module sun { module star { module i18n {
+
+
+/** Constants to specify the script type.
+
+ <p> Used with XBreakIterator::beginOfScript(),
+ XBreakIterator::endOfScript(),
+ XBreakIterator::nextScript(),
+ XBreakIterator::previousScript() </p>
+ */
+published constants ScriptType
+{
+ /// Latin characters (English, ...)
+ const short LATIN = 1;
+
+ /// Asian characters (Japanese, ...)
+ const short ASIAN = 2;
+
+ /// Complex characters (Arabic, ...)
+ const short COMPLEX = 3;
+
+ /// undefined characters (punctuation, ...)
+ const short WEAK = 4;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/TextConversion.idl b/offapi/com/sun/star/i18n/TextConversion.idl
new file mode 100644
index 000000000..312dd7071
--- /dev/null
+++ b/offapi/com/sun/star/i18n/TextConversion.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_i18n_TextConversion_idl__
+#define __com_sun_star_i18n_TextConversion_idl__
+
+#include <com/sun/star/i18n/XExtendedTextConversion.idl>
+
+
+module com { module sun { module star { module i18n {
+
+/** offers generic text conversion.
+
+ <p>This is an abstract service which does not make sense to be instantiated.
+
+ @since OOo 1.1.2
+*/
+published service TextConversion : XExtendedTextConversion;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/TextConversionOption.idl b/offapi/com/sun/star/i18n/TextConversionOption.idl
new file mode 100644
index 000000000..29f446cf6
--- /dev/null
+++ b/offapi/com/sun/star/i18n/TextConversionOption.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_i18n_TextConversionOption_idl__
+#define __com_sun_star_i18n_TextConversionOption_idl__
+
+
+
+module com { module sun { module star { module i18n {
+
+
+/** Text conversion options to be used with XTextConversion.
+
+ <p>These text conversion options are usually selected by end users.
+ The options can be combined and may be related to
+ TextConversionType. </p>
+
+ @since OOo 1.1.2
+*/
+
+published constants TextConversionOption
+{
+ /// No option
+ const long NONE = 0;
+
+ /// Character by character conversion
+ const long CHARACTER_BY_CHARACTER = 1; // (1 << 0)
+
+ /// Ignore post-positional word for Hangul to Hanja conversion
+ const long IGNORE_POST_POSITIONAL_WORD = 2; // (1 << 1)
+
+ /** Use Taiwan, HongKong SAR, and Macao SAR character variants for
+ Simplified to Traditional Chinese conversion
+
+ @since OOo 2.0
+ */
+ const long USE_CHARACTER_VARIANTS = 2; // (1 << 1)
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/TextConversionResult.idl b/offapi/com/sun/star/i18n/TextConversionResult.idl
new file mode 100644
index 000000000..9df551b9a
--- /dev/null
+++ b/offapi/com/sun/star/i18n/TextConversionResult.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_i18n_TextConversionResult_idl__
+#define __com_sun_star_i18n_TextConversionResult_idl__
+
+
+#include <com/sun/star/i18n/Boundary.idl>
+
+
+
+module com { module sun { module star { module i18n {
+
+
+/** Text conversion result to be used with XTextConversion.
+
+ @since OOo 1.1.2
+*/
+
+published struct TextConversionResult
+{
+ /** The boundary of the first convertible word in the given text.
+
+ <p>If there is no convertible word found in the text, <var>startPos</var>
+ and <var>endPos</var> for Boundary equal 0.
+ */
+ ::com::sun::star::i18n::Boundary Boundary;
+
+ /** A list of replacement candidates for the first convertible word
+ found in the given text.
+ */
+ sequence < string > Candidates;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/TextConversionType.idl b/offapi/com/sun/star/i18n/TextConversionType.idl
new file mode 100644
index 000000000..128256862
--- /dev/null
+++ b/offapi/com/sun/star/i18n/TextConversionType.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_i18n_TextConversionType_idl__
+#define __com_sun_star_i18n_TextConversionType_idl__
+
+
+
+module com { module sun { module star { module i18n {
+
+
+/** These constants specify the conversion type to be used with
+ XTextConversion.
+
+ @since OOo 1.1.2
+*/
+
+published constants TextConversionType
+{
+ /// Conversion from Hanja to Hangul
+ const short TO_HANGUL = 1;
+
+ /// Conversion from Hangul to Hanja
+ const short TO_HANJA = 2;
+
+ /// Conversion from Traditional to Simplified Chinese
+ const short TO_SCHINESE = 3;
+
+ /// Conversion from Simplified to Traditional Chinese
+ const short TO_TCHINESE = 4;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/Transliteration.idl b/offapi/com/sun/star/i18n/Transliteration.idl
new file mode 100644
index 000000000..7e598f617
--- /dev/null
+++ b/offapi/com/sun/star/i18n/Transliteration.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_i18n_Transliteration_idl__
+#define __com_sun_star_i18n_Transliteration_idl__
+
+#include <com/sun/star/i18n/XTransliteration.idl>
+#include <com/sun/star/i18n/XExtendedTransliteration.idl>
+
+
+module com { module sun { module star { module i18n {
+
+
+/// Transliteration of characters, such as case folding
+published service Transliteration : XExtendedTransliteration;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/TransliterationModules.idl b/offapi/com/sun/star/i18n/TransliterationModules.idl
new file mode 100644
index 000000000..31936cb75
--- /dev/null
+++ b/offapi/com/sun/star/i18n/TransliterationModules.idl
@@ -0,0 +1,113 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_i18n_TransliterationModules_idl__
+#define __com_sun_star_i18n_TransliterationModules_idl__
+
+
+module com { module sun { module star { module i18n {
+
+
+/** Old transliteration module enumeration.
+
+ <p> Use with XTransliteration::loadModule() and
+ com::sun::star::util::SearchOptions::transliterateFlags() </p>
+
+ <p> Note that values &gt;=0x100 are logically or'ed with other values! </p>
+ */
+
+published enum TransliterationModules
+{
+ /// Transliterate a string from upper case to lower case
+ UPPERCASE_LOWERCASE = 1,
+ /// Transliterate a string from lower case to upper case
+ LOWERCASE_UPPERCASE = 2,
+ /// Transliterate a string from half width character to full width character
+ HALFWIDTH_FULLWIDTH = 3,
+ /// Transliterate a string from full width character to half width character
+ FULLWIDTH_HALFWIDTH = 4,
+ /// Transliterate a Japanese string from Katakana to Hiragana
+ KATAKANA_HIRAGANA = 5,
+ /// Transliterate a Japanese string from Hiragana to Katakana
+ HIRAGANA_KATAKANA = 6,
+ /// Transliterate an ASCII number string to Simplified Chinese lower case number string in spellout format
+ NumToTextLower_zh_CN = 7,
+ /// Transliterate an ASCII number string to Simplified Chinese upper case number string in spellout format
+ NumToTextUpper_zh_CN = 8,
+ /// Transliterate an ASCII number string to Traditional Chinese lower case number string in spellout format
+ NumToTextLower_zh_TW = 9,
+ /// Transliterate an ASCII number string to Traditional Chinese upper case number string in spellout format
+ NumToTextUpper_zh_TW = 10,
+ /// Transliterate an ASCII number string to formal Korean Hangul number string in spellout format
+ NumToTextFormalHangul_ko = 11,
+ /// Transliterate an ASCII number string to formal Korean Hanja lower case number string in spellout format
+ NumToTextFormalLower_ko = 12,
+ /// Transliterate an ASCII number string to formal Korean Hanja upper case number string in spellout format
+ NumToTextFormalUpper_ko = 13,
+ NON_IGNORE_MASK = 0x000000ff,
+ IGNORE_MASK = -0x100,
+ /// Ignore case when comparing strings by transliteration service
+ IGNORE_CASE = 0x00000100,
+ /// Ignore Hiragana and Katakana when comparing strings by transliteration service
+ IGNORE_KANA = 0x00000200, // ja_JP
+ /// Ignore full width and half width character when comparing strings by transliteration service
+ IGNORE_WIDTH = 0x00000400, // ja_JP
+ /// Ignore Japanese traditional Kanji character in Japanese fuzzy search
+ IgnoreTraditionalKanji_ja_JP = 0x00001000,
+ /// Ignore Japanese traditional Katakana and Hiragana character in Japanese fuzzy search
+ IgnoreTraditionalKana_ja_JP = 0x00002000,
+ /// Ignore dash or minus sign in Japanese fuzzy search
+ IgnoreMinusSign_ja_JP = 0x00004000,
+ /// Ignore Hiragana and Katakana iteration mark in Japanese fuzzy search
+ IgnoreIterationMark_ja_JP = 0x00008000,
+ /// Ignore separator punctuations in Japanese fuzzy search
+ IgnoreSeparator_ja_JP = 0x00010000,
+ /// Ignore Katakana and Hiragana Zi/Zi and Zu/Zu in Japanese fuzzy search
+ IgnoreZiZu_ja_JP = 0x00020000,
+ /// Ignore Katakana and Hiragana Ba/Gua and Ha/Fa in Japanese fuzzy search
+ IgnoreBaFa_ja_JP = 0x00040000,
+ /// Ignore Katakana and Hiragana Tsui/Tea/Ti and Dyi/Ji in Japanese fuzzy search
+ IgnoreTiJi_ja_JP = 0x00080000,
+ /// Ignore Katakana and Hiragana Hyu/Fyu and Byu/Gyu in Japanese fuzzy search
+ IgnoreHyuByu_ja_JP = 0x00100000,
+ /// Ignore Katakana and Hiragana Se/Sye and Ze/Je in Japanese fuzzy search
+ IgnoreSeZe_ja_JP = 0x00200000,
+ /// Ignore Katakana YA/A which follows the character in either I or E row in Japanese fuzzy search
+ IgnoreIandEfollowedByYa_ja_JP = 0x00400000,
+ /// Ignore Katakana KI/KU which follows the character in SA column in Japanese fuzzy search
+ IgnoreKiKuFollowedBySa_ja_JP = 0x00800000,
+ /// Ignore Japanese normal and small sized character in Japanese fuzzy search
+ IgnoreSize_ja_JP = 0x01000000,
+ /// Ignore Japanese prolonged sound mark in Japanese fuzzy search
+ IgnoreProlongedSoundMark_ja_JP = 0x02000000,
+ /// Ignore middle dot in Japanese fuzzy search
+ IgnoreMiddleDot_ja_JP = 0x04000000,
+ /// Ignore white space characters, include space, TAB, return, etc. in Japanese fuzzy search
+ IgnoreSpace_ja_JP = 0x08000000,
+ /// transliterate Japanese small sized character to normal sized character
+ SmallToLarge_ja_JP = 0x10000000,
+ /// transliterate Japanese normal sized character to small sized character
+ LargeToSmall_ja_JP = 0x20000000,
+ END_OF_MODULE = 0
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/TransliterationModulesExtra.idl b/offapi/com/sun/star/i18n/TransliterationModulesExtra.idl
new file mode 100644
index 000000000..baaa14c13
--- /dev/null
+++ b/offapi/com/sun/star/i18n/TransliterationModulesExtra.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_i18n_TransliterationModulesExtra_idl__
+#define __com_sun_star_i18n_TransliterationModulesExtra_idl__
+
+
+module com { module sun { module star { module i18n {
+
+
+/** Extra transliteration module enumeration to use with
+ XTransliteration::loadModule()
+
+ The values used in this group need to be different from the ones in
+ TransliterationModules and TransliterationModulesNew!
+ */
+
+
+// using a constant group instead of enum leaves room for additional values later on...
+constants TransliterationModulesExtra
+{
+ /** The first character of the sentence is put in upper case
+ */
+ const short SENTENCE_CASE = 200;
+
+
+ /** The first character of the word is put in upper case.
+ * This one is part
+ */
+ const short TITLE_CASE = 201;
+
+
+ /** All characters of the word are to change their case from small letters
+ * to capital letters and vice versa.
+ */
+ const short TOGGLE_CASE = 202;
+
+ /** Ignore diacritics. Despite the _CTL name suffix this is not only
+ about CTL/Arabic diacritic characters, though these are handled
+ as well, but the transliteration decomposes and removes any
+ diacritic from characters.
+
+ Because we cannot extend the TransliterationModules enum we use
+ TransliterationModulesExtra and it will act the same way.
+ */
+ const long IGNORE_DIACRITICS_CTL = 0x40000000;
+
+ /** Ignore Kashida mark. */
+ const long IGNORE_KASHIDA_CTL = 0x00000800;
+
+ const long END_OF_MODULE = 0;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/TransliterationModulesNew.idl b/offapi/com/sun/star/i18n/TransliterationModulesNew.idl
new file mode 100644
index 000000000..7e1769790
--- /dev/null
+++ b/offapi/com/sun/star/i18n/TransliterationModulesNew.idl
@@ -0,0 +1,166 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_i18n_TransliterationModulesNew_idl__
+#define __com_sun_star_i18n_TransliterationModulesNew_idl__
+
+
+module com { module sun { module star { module i18n {
+
+
+/** New transliteration module enumeration to use with
+ XTransliteration::loadModuleNew()
+ */
+
+published enum TransliterationModulesNew
+{
+ /// Transliterate a string from upper case to lower case
+ UPPERCASE_LOWERCASE = 1,
+ /// Transliterate a string from lower case to upper case
+ LOWERCASE_UPPERCASE = 2,
+ /// Transliterate a string from half width character to full width character
+ HALFWIDTH_FULLWIDTH = 3,
+ /// Transliterate a string from full width character to half width character
+ FULLWIDTH_HALFWIDTH = 4,
+ /// Transliterate a Japanese string from Katakana to Hiragana
+ KATAKANA_HIRAGANA = 5,
+ /// Transliterate a Japanese string from Hiragana to Katakana
+ HIRAGANA_KATAKANA = 6,
+ /// Ignore case when comparing strings by transliteration service
+ IGNORE_CASE = 7,
+ /// Ignore Hiragana and Katakana when comparing strings by transliteration service
+ IGNORE_KANA = 8, // ja_JP
+ /// Ignore full width and half width characters when comparing strings by transliteration service
+ IGNORE_WIDTH = 9, // ja_JP
+ /// Ignore Japanese traditional Kanji characters in Japanese fuzzy search
+ IgnoreTraditionalKanji_ja_JP = 10,
+ /// Ignore Japanese traditional Katakana and Hiragana characters in Japanese fuzzy search
+ IgnoreTraditionalKana_ja_JP = 11,
+ /// Ignore dash or minus sign in Japanese fuzzy search
+ IgnoreMinusSign_ja_JP = 12,
+ /// Ignore Hiragana and Katakana iteration mark in Japanese fuzzy search
+ IgnoreIterationMark_ja_JP = 13,
+ /// Ignore separator punctuations in Japanese fuzzy search
+ IgnoreSeparator_ja_JP = 14,
+ /// Ignore Katakana and Hiragana Zi/Zi and Zu/Zu in Japanese fuzzy search
+ IgnoreZiZu_ja_JP = 15,
+ /// Ignore Katakana and Hiragana Ba/Gua and Ha/Fa in Japanese fuzzy search
+ IgnoreBaFa_ja_JP = 16,
+ /// Ignore Katakana and Hiragana Tsui/Tea/Ti and Dyi/Ji in Japanese fuzzy search
+ IgnoreTiJi_ja_JP = 17,
+ /// Ignore Katakana and Hiragana Hyu/Fyu and Byu/Gyu in Japanese fuzzy search
+ IgnoreHyuByu_ja_JP = 18,
+ /// Ignore Katakana and Hiragana Se/Sye and Ze/Je in Japanese fuzzy search
+ IgnoreSeZe_ja_JP = 19,
+ /// Ignore Katakana YA/A following the character in either I or E row in Japanese fuzzy search
+ IgnoreIandEfollowedByYa_ja_JP = 20,
+ /// Ignore Katakana KI/KU following the character in SA column in Japanese fuzzy search
+ IgnoreKiKuFollowedBySa_ja_JP = 21,
+ /// Ignore Japanese normal and small sized character in Japanese fuzzy search
+ IgnoreSize_ja_JP = 22,
+ /// Ignore Japanese prolonged sound mark in Japanese fuzzy search
+ IgnoreProlongedSoundMark_ja_JP = 23,
+ /// Ignore middle dot in Japanese fuzzy search
+ IgnoreMiddleDot_ja_JP = 24,
+ /// Ignore white space characters, include space, TAB, return, etc. in Japanese fuzzy search
+ IgnoreSpace_ja_JP = 25,
+ /// transliterate Japanese small sized character to normal sized character
+ SmallToLarge_ja_JP = 26,
+ /// transliterate Japanese normal sized character to small sized character
+ LargeToSmall_ja_JP = 27,
+ /// Transliterate an ASCII number string to Simplified Chinese lower case number string in spellout format
+ NumToTextLower_zh_CN = 28,
+ /// Transliterate an ASCII number string to Simplified Chinese upper case number string in spellout format
+ NumToTextUpper_zh_CN = 29,
+ /// Transliterate an ASCII number string to Traditional Chinese lower case number string in spellout format
+ NumToTextLower_zh_TW = 30,
+ /// Transliterate an ASCII number string to Traditional Chinese upper case number string in spellout format
+ NumToTextUpper_zh_TW = 31,
+ /// Transliterate an ASCII number string to formal Korean Hangul number string in spellout format
+ NumToTextFormalHangul_ko = 32,
+ /// Transliterate an ASCII number string to formal Korean Hanja lower case number string in spellout format
+ NumToTextFormalLower_ko = 33,
+ /// Transliterate an ASCII number string to formal Korean Hanja upper case number string in spellout format
+ NumToTextFormalUpper_ko = 34,
+ /// Transliterate an ASCII number string to informal Korean Hangul number string in spellout format
+ NumToTextInformalHangul_ko = 35,
+ /// Transliterate an ASCII number string to informal Korean Hanja lower case number string in spellout format
+ NumToTextInformalLower_ko = 36,
+ /// Transliterate an ASCII number string to informal Korean Hanja upper case number string in spellout format
+ NumToTextInformalUpper_ko = 37,
+ /// Transliterate an ASCII number string to Simplified Chinese lower case number string
+ NumToCharLower_zh_CN = 38,
+ /// Transliterate an ASCII number string to Simplified Chinese upper case number string
+ NumToCharUpper_zh_CN = 39,
+ /// Transliterate an ASCII number string to Traditional Chinese lower case number string
+ NumToCharLower_zh_TW = 40,
+ /// Transliterate an ASCII number string to Traditional Chinese upper case number string
+ NumToCharUpper_zh_TW = 41,
+ /// Transliterate an ASCII number string to Korean Hangul number string
+ NumToCharHangul_ko = 42,
+ /// Transliterate an ASCII number string to Korean Hanja lower case number string
+ NumToCharLower_ko = 43,
+ /// Transliterate an ASCII number string to Korean Hanja upper case number string
+ NumToCharUpper_ko = 44,
+ /// Transliterate a half width number string to full width number string
+ NumToCharFullwidth = 45,
+ /// Transliterate an ASCII number string to Japanese Kanji number string
+ NumToCharKanjiShort_ja_JP = 46,
+ /// Transliterate a Simplified Chinese lower case number string (spellout) to ASCII number string
+ TextToNumLower_zh_CN = 47,
+ /// Transliterate a Simplified Chinese upper case number string (spellout) to ASCII number string
+ TextToNumUpper_zh_CN = 48,
+ /// Transliterate a Traditional Chinese lower case number string (spellout) to ASCII number string
+ TextToNumLower_zh_TW = 49,
+ /// Transliterate a Traditional Chinese upper case number string (spellout) to ASCII number string
+ TextToNumUpper_zh_TW = 50,
+ /// Transliterate a Korean formal Hangul number string (spellout) to ASCII number string
+ TextToNumFormalHangul_ko = 51,
+ /// Transliterate a Korean formal Hanja lower case number string (spellout) to ASCII number string
+ TextToNumFormalLower_ko = 52,
+ /// Transliterate a Korean formal Hanja upper case number string (spellout) to ASCII number string
+ TextToNumFormalUpper_ko = 53,
+ /// Transliterate a Korean informal Hangul number string (spellout) to ASCII number string
+ TextToNumInformalHangul_ko = 54,
+ /// Transliterate a Korean informal Hanja lower case number string (spellout) to ASCII number string
+ TextToNumInformalLower_ko = 55,
+ /// Transliterate a Korean informal Hanja upper case number string (spellout) to ASCII number string
+ TextToNumInformalUpper_ko = 56,
+ // 2 Spaces for Japanese TextToNum
+ /// Transliterate a Simplified Chinese lower case number string to ASCII number string
+ CharToNumLower_zh_CN = 59,
+ /// Transliterate a Simplified Chinese upper case number string to ASCII number string
+ CharToNumUpper_zh_CN = 60,
+ /// Transliterate a Traditional Chinese lower case number string to ASCII number string
+ CharToNumLower_zh_TW = 61,
+ /// Transliterate a Traditional Chinese upper case number string to ASCII number string
+ CharToNumUpper_zh_TW = 62,
+ /// Transliterate a Korean Hangul number string to ASCII number string
+ CharToNumHangul_ko = 63,
+ /// Transliterate a Korean Hanja lower case number string to ASCII number string
+ CharToNumLower_ko = 64,
+ /// Transliterate a Korean Hanja upper case number string to ASCII number string
+ CharToNumUpper_ko = 65,
+ END_OF_MODULE = 0
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/TransliterationType.idl b/offapi/com/sun/star/i18n/TransliterationType.idl
new file mode 100644
index 000000000..a6bc47c2e
--- /dev/null
+++ b/offapi/com/sun/star/i18n/TransliterationType.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_i18n_TransliterationType_idl__
+#define __com_sun_star_i18n_TransliterationType_idl__
+
+
+module com { module sun { module star { module i18n {
+
+
+/**
+ Bitmask transliteration types used with
+ XTransliteration::getType() and
+ XTransliteration::getAvailableModules() methods.
+
+ <p> Non-IGNORE type modules provide
+ XTransliteration::transliterate(). <br/>
+ IGNORE type modules provide
+ XTransliteration::equals() and
+ XTransliteration::transliterateRange(). </p>
+ */
+
+published constants TransliterationType
+{
+ const short NONE = 0;
+
+ /** A transliteration module is ONE_TO_ONE if and only if it's
+ mapping between characters is one to one like a-z to A-Z.
+ Transliteration modules of this type can be used as choice in
+ regular expressions based search/replace. */
+ const short ONE_TO_ONE = 1;
+
+ /** A transliteration module can have attribute NUMERIC if it
+ transliterates numbers in different languages like Chinese
+ numbers to Arabic numbers and vice versa. This mapping need not
+ be one to one, it should be primarily used by number formatting
+ and parsing methods. */
+ const short NUMERIC = 2;
+
+ /** A transliteration module is ONE_TO_ONE_NUMERIC if it offers
+ both one to one mapping and handles number also. */
+ const short ONE_TO_ONE_NUMERIC = 3;
+
+ /** With a transliteration IGNORE case, the regular
+ expression A-Z can be transformed to a-z, for example. */
+ const short IGNORE = 4;
+
+ /** If the transliteration is cascaded (uses more than one
+ algorithm). */
+ const short CASCADE = 8;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/UnicodeScript.idl b/offapi/com/sun/star/i18n/UnicodeScript.idl
new file mode 100644
index 000000000..61d11ab82
--- /dev/null
+++ b/offapi/com/sun/star/i18n/UnicodeScript.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_i18n_UnicodeScript_idl__
+#define __com_sun_star_i18n_UnicodeScript_idl__
+
+
+module com { module sun { module star { module i18n {
+
+
+/**
+ Unicode script types, returned by
+ XCharacterClassification::getScript()
+ */
+
+published enum UnicodeScript
+{
+ kBasicLatin,
+ kLatin1Supplement,
+ kLatinExtendedA,
+ kLatinExtendedB,
+ kIPAExtension,
+ kSpacingModifier,
+ kCombiningDiacritical,
+ kGreek,
+ kCyrillic,
+ kArmenian,
+ kHebrew,
+ kArabic,
+ kSyriac,
+ kThaana,
+ kDevanagari,
+ kBengali,
+ kGurmukhi,
+ kGujarati,
+ kOriya,
+ kTamil,
+ kTelugu,
+ kKannada,
+ kMalayalam,
+ kSinhala,
+ kThai,
+ kLao,
+ kTibetan,
+ kMyanmar,
+ kGeorgian,
+ kHangulJamo,
+ kEthiopic,
+ kCherokee,
+ kUnifiedCanadianAboriginalSyllabics,
+ kOgham,
+ kRunic,
+ kKhmer,
+ kMongolian,
+ kLatinExtendedAdditional,
+ kGreekExtended,
+ kGeneralPunctuation,
+ kSuperSubScript,
+ kCurrencySymbolScript,
+ kSymbolCombiningMark,
+ kLetterlikeSymbol,
+ kNumberForm,
+ kArrow,
+ kMathOperator,
+ kMiscTechnical,
+ kControlPicture,
+ kOpticalCharacter,
+ kEnclosedAlphanumeric,
+ kBoxDrawing,
+ kBlockElement,
+ kGeometricShape,
+ kMiscSymbol,
+ kDingbat,
+ kBraillePatterns,
+ kCJKRadicalsSupplement,
+ kKangxiRadicals,
+ kIdeographicDescriptionCharacters,
+ kCJKSymbolPunctuation,
+ kHiragana,
+ kKatakana,
+ kBopomofo,
+ kHangulCompatibilityJamo,
+ kKanbun,
+ kBopomofoExtended,
+ kEnclosedCJKLetterMonth,
+ kCJKCompatibility,
+ kCJKUnifiedIdeographsExtensionA,
+ kCJKUnifiedIdeograph,
+ kYiSyllables,
+ kYiRadicals,
+ kHangulSyllable,
+ kHighSurrogate,
+ kHighPrivateUseSurrogate,
+ kLowSurrogate,
+ kPrivateUse,
+ kCJKCompatibilityIdeograph,
+ kAlphabeticPresentation,
+ kArabicPresentationA,
+ kCombiningHalfMark,
+ kCJKCompatibilityForm,
+ kSmallFormVariant,
+ kArabicPresentationB,
+ kNoScript,
+ kHalfwidthFullwidthForm,
+ kScriptCount
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/UnicodeType.idl b/offapi/com/sun/star/i18n/UnicodeType.idl
new file mode 100644
index 000000000..7d5d08de2
--- /dev/null
+++ b/offapi/com/sun/star/i18n/UnicodeType.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_i18n_UnicodeType_idl__
+#define __com_sun_star_i18n_UnicodeType_idl__
+
+
+module com { module sun { module star { module i18n {
+
+
+/**
+ Constants to classify Unicode characters, returned by
+ XCharacterClassification::getType()
+ */
+
+published constants UnicodeType
+{
+ const short UNASSIGNED = 0;
+ const short UPPERCASE_LETTER = 1;
+ const short LOWERCASE_LETTER = 2;
+ const short TITLECASE_LETTER = 3;
+ const short MODIFIER_LETTER = 4;
+ const short OTHER_LETTER = 5;
+ const short NON_SPACING_MARK = 6;
+ const short ENCLOSING_MARK = 7;
+ const short COMBINING_SPACING_MARK = 8;
+ const short DECIMAL_DIGIT_NUMBER = 9;
+ const short LETTER_NUMBER = 10;
+ const short OTHER_NUMBER = 11;
+ const short SPACE_SEPARATOR = 12;
+ const short LINE_SEPARATOR = 13;
+ const short PARAGRAPH_SEPARATOR = 14;
+ const short CONTROL = 15;
+ const short FORMAT = 16;
+ const short PRIVATE_USE = 17;
+ const short SURROGATE = 18;
+ const short DASH_PUNCTUATION = 19;
+ const short INITIAL_PUNCTUATION = 20;
+ const short FINAL_PUNCTUATION = 21;
+ const short CONNECTOR_PUNCTUATION = 22;
+ const short OTHER_PUNCTUATION = 23;
+ const short MATH_SYMBOL = 24;
+ const short CURRENCY_SYMBOL = 25;
+ const short MODIFIER_SYMBOL = 26;
+ const short OTHER_SYMBOL = 27;
+ const short START_PUNCTUATION = 28;
+ const short END_PUNCTUATION = 29;
+ const short GENERAL_TYPES_COUNT = 30;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/Weekdays.idl b/offapi/com/sun/star/i18n/Weekdays.idl
new file mode 100644
index 000000000..3599b71c7
--- /dev/null
+++ b/offapi/com/sun/star/i18n/Weekdays.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_i18n_Weekdays_idl__
+#define __com_sun_star_i18n_Weekdays_idl__
+
+
+module com { module sun { module star { module i18n {
+
+
+
+/** Constants for days of a week.
+
+ <p> used with XCalendar::getFirstDayOfWeek(),
+ XCalendar::setFirstDayOfWeek() and
+ XCalendar::getDisplayName() </p>
+ */
+published constants Weekdays
+{
+ /// Sunday
+ const short SUNDAY = 0;
+ /// Monday
+ const short MONDAY = 1;
+ /// Tuesday
+ const short TUESDAY = 2;
+ /// Wednesday
+ const short WEDNESDAY = 3;
+ /// Thursday
+ const short THURSDAY = 4;
+ /// Friday
+ const short FRIDAY = 5;
+ /// Saturday
+ const short SATURDAY = 6;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/WordType.idl b/offapi/com/sun/star/i18n/WordType.idl
new file mode 100644
index 000000000..5bba2312d
--- /dev/null
+++ b/offapi/com/sun/star/i18n/WordType.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_i18n_WordType_idl__
+#define __com_sun_star_i18n_WordType_idl__
+
+
+module com { module sun { module star { module i18n {
+
+
+/** Constants to specify the type of words.
+
+ <p> Used with XBreakIterator::nextWord(),
+ XBreakIterator::previousWord(),
+ XBreakIterator::getWordBoundary(),
+ XBreakIterator::getWordType(),
+ XBreakIterator::isBeginWord(),
+ XBreakIterator::isEndWord() </p>
+*/
+published constants WordType
+{
+ /** Any "words" - words in the meaning of same character types,
+ collection of alphanumeric characters, or collection of
+ non-alphanumeric characters.
+ */
+ const short ANY_WORD = 0;
+
+ /** Any "words" - words in the meaning of same character types,
+ collection of alphanumeric characters, or collection of
+ non-alphanumeric characters except blanks.
+ */
+ const short ANYWORD_IGNOREWHITESPACES= 1;
+
+ /** "words" - in the meaning of a collection of alphanumeric
+ characters and some punctuations, like dot for abbreviation.
+ */
+ const short DICTIONARY_WORD = 2;
+
+ /** The mode for counting words, it will combine punctuations and
+ spaces as word trail.
+ */
+ const short WORD_COUNT = 3;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/XBreakIterator.idl b/offapi/com/sun/star/i18n/XBreakIterator.idl
new file mode 100644
index 000000000..f4536b33e
--- /dev/null
+++ b/offapi/com/sun/star/i18n/XBreakIterator.idl
@@ -0,0 +1,487 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_i18n_XBreakIterator_idl__
+#define __com_sun_star_i18n_XBreakIterator_idl__
+
+#include <com/sun/star/lang/Locale.idl>
+#include <com/sun/star/i18n/LineBreakUserOptions.idl>
+#include <com/sun/star/i18n/LineBreakHyphenationOptions.idl>
+#include <com/sun/star/i18n/LineBreakResults.idl>
+#include <com/sun/star/i18n/Boundary.idl>
+
+
+module com { module sun { module star { module i18n {
+
+
+/**
+ contains the base routines for iteration in Unicode string. Iterates over
+ characters, words, sentences and line breaks.
+
+ <p> Assumption: StartPos is inclusive and EndPos is exclusive. </p>
+ */
+
+published interface XBreakIterator: com::sun::star::uno::XInterface
+{
+ /** Traverses specified number of characters/cells in Text from
+ <em>nStartPos</em> forwards.
+ CharacterIteratorMode can be cell based or
+ character based. A cell is made of more than one character.
+
+ @param aText
+ The input text.
+
+ @param nStartPos
+ The start index in aText.
+
+ @param aLocale
+ The locale of the character preceding <em>nStartPos</em>.
+
+ @param nCharacterIteratorMode
+ A constant from CharacterIteratorMode
+
+ @param nCount
+ Number of characters to traverse, it should not be less than 0.
+ If you want to traverse in the opposite direction use
+ XBreakIterator::previousCharacters() instead.
+
+ @param nDone
+ Out parameter to receive the number of cells/Unicode characters
+ traversed.
+ */
+ long nextCharacters( [in] string aText, [in] long nStartPos,
+ [in] ::com::sun::star::lang::Locale aLocale,
+ [in] short nCharacterIteratorMode,
+ [in] long nCount, [out] long nDone );
+
+ /** Traverses specified number of characters/cells in Text from
+ <em>nStartPos</em> backwards.
+ CharacterIteratorMode can be cell based or
+ character based. A cell is made of more than one character.
+
+ @param aText
+ The input text.
+
+ @param nStartPos
+ The start index in aText.
+
+ @param aLocale
+ The locale of the character preceding <em>nStartPos</em>.
+
+ @param nCharacterIteratorMode
+ A constant from CharacterIteratorMode
+
+ @param nCount
+ Number of characters to traverse, it should not be less than 0.
+ If you want to traverse in the opposite direction use
+ XBreakIterator::nextCharacters() instead.
+
+ @param nDone
+ Out parameter to receive the number of cells/Unicode characters
+ traversed.
+
+ */
+ long previousCharacters( [in] string aText, [in] long nStartPos,
+ [in] ::com::sun::star::lang::Locale aLocale,
+ [in] short nCharacterIteratorMode,
+ [in] long nCount, [out] long nDone );
+
+ /** Traverses one word in Text from <em>nStartPos</em> forwards.
+
+ @param aText
+ The input text.
+
+ @param nStartPos
+ The start index in aText.
+
+ @param aLocale
+ The locale of the character preceding <em>nStartPos</em>.
+
+ @param nWordType
+ One of WordType, specifies the type of
+ traveling.
+
+ @returns
+ The Boundary of the found word. Normally used for
+ CTRL-Right.
+ */
+ Boundary nextWord( [in] string aText, [in] long nStartPos,
+ [in] ::com::sun::star::lang::Locale aLocale,
+ [in] short nWordType);
+
+ /** Traverses one word in Text from <em>nStartPos</em> backwards.
+
+ @param aText
+ The input text.
+
+ @param nStartPos
+ The start index in aText.
+
+ @param aLocale
+ The locale of the character preceding <em>nStartPos</em>.
+
+ <p> If the previous character is a space character and
+ <em>nWordType</em> indicates spaces should be skipped, and
+ if the first non-space character is an Asian character,
+ then, since Asian word break needs language specific
+ wordbreak dictionaries, the method will return -1 in
+ Boundary::endPos() and the position after the
+ Asian character (i.e. the space character) in
+ Boundary::startPos(). The caller then has to
+ call this method again with a correct <em>aLocale</em>
+ referring to the Asian character, which is then the previous
+ character of the space character where <em>nStartPos</em>
+ points to. </p>
+
+ <p> <b>Note</b> that the OpenOffice.org 1.0 / StarOffice 6.0
+ / StarSuite 6.0 i18n framework doesn't behave like this and
+ mixed Western/CJK text may lead to wrong word iteration.
+ This is fixed in later versions. </p>
+
+ @param nWordType
+ One of WordType, specifies the type of
+ traveling.
+
+ @returns
+ The Boundary of the found word. Normally used for
+ CTRL-Left.
+ */
+ Boundary previousWord( [in] string aText, [in] long nStartPos,
+ [in] ::com::sun::star::lang::Locale aLocale,
+ [in] short nWordType);
+
+ /** Identifies StartPos and EndPos of current word.
+
+ <p> If <em>nPos</em> is the boundary of a word, it is StartPos
+ of one word and EndPos of previous word. In this situation, the
+ outcome of the algorithm can be indeterminate. In this situation
+ the <em>bPreferForward</em> flag is used. If bPreferForward ==
+ `FALSE`, <em>nPos</em> is considered to be the end of the word
+ and we look backwards for beginning of word, otherwise
+ <em>nPos</em> is considered to be the start of the next word and
+ we look forwards for the end of the word. </p>
+
+ @param aText
+ The input text.
+
+ @param nPos
+ The start index in aText.
+
+ @param aLocale
+ The locale of the character preceding <em>nStartPos</em>.
+
+ @param nWordType
+ One of WordType.
+
+ @param bPreferForward
+ If `TRUE`, nPos should be considered the start of the next
+ word and search proceeds forwards.
+ If `FALSE`, nPos should be considered the end of the
+ current word, and search proceeds backwards.
+
+ @returns
+ The Boundary of the current word.
+ */
+ Boundary getWordBoundary( [in] string aText, [in] long nPos,
+ [in] ::com::sun::star::lang::Locale aLocale,
+ [in] short nWordType,
+ [in] boolean bPreferForward );
+
+ /** @deprecated
+ Get the WordType of the word that starts at
+ position <em>nPos</em>.
+
+ <p> This method is mis-defined, since WordType
+ is not an attribute of a word, but a way to break words,
+ like excluding or including tail spaces for spell checker
+ or cursor traveling. It returns 0 always.
+ </p>
+ */
+ short getWordType( [in] string aText, [in] long nPos,
+ [in] ::com::sun::star::lang::Locale aLocale);
+
+ /** If a word starts at position <em>nPos</em>.
+
+ <p> It is possible that both of this method
+ and following method <em>isEndWord</em> all return
+ `TRUE`, since StartPos of a word is inclusive
+ while EndPos of a word is exclusive.
+ </p>
+
+ */
+ boolean isBeginWord( [in] string aText, [in] long nPos,
+ [in] ::com::sun::star::lang::Locale aLocale,
+ [in] short nWordType);
+
+ /** If a word ends at position <em>nPos</em>.
+ */
+ boolean isEndWord( [in] string aText, [in] long nPos,
+ [in] ::com::sun::star::lang::Locale aLocale,
+ [in] short nWordType);
+
+ /** Traverses in Text from <em>nStartPos</em> to the start of a
+ sentence.
+
+ @param aText
+ The input text.
+
+ @param nStartPos
+ The start index in aText.
+
+ @param aLocale
+ The locale of the character preceding <em>nStartPos</em>.
+
+ @returns
+ The position where the sentence starts.
+ */
+ long beginOfSentence( [in] string aText, [in] long nStartPos,
+ [in] ::com::sun::star::lang::Locale aLocale );
+
+ /** Traverses in Text from <em>nStartPos</em> to the end of a
+ sentence.
+
+ @param aText
+ The input text.
+
+ @param nStartPos
+ The start index in aText.
+
+ @param aLocale
+ The locale of the character preceding <em>nStartPos</em>.
+
+ @returns
+ The position where the sentence ends.
+ */
+ long endOfSentence( [in] string aText, [in] long nStartPos,
+ [in] ::com::sun::star::lang::Locale aLocale );
+
+ /** Calculate the line break position in the Text from the specified
+ <em>nStartPos</em>.
+
+ @param aText
+ The input text.
+
+ @param nStartPos
+ The start index in aText.
+
+ @param aLocale
+ The locale of the character preceding <em>nStartPos</em>.
+
+ @param nMinBreakPos
+ Defines a minimum break position for hyphenated line break.
+ When the position for hyphenated line break is less than
+ <em>nMinBreakPos</em>, break position in
+ LineBreakResults is set to -1.
+
+ @param aHyphOptions
+ Defines if the hyphenator is to be used.
+
+ @param aUserOptions
+ Defines how to handle hanging punctuations and forbidden
+ characters at the start/end of a line.
+
+ @returns
+ The LineBreakResults contain the break
+ position of the line, BreakType and
+ com::sun::star::linguistic2::XHyphenatedWord
+ */
+ LineBreakResults getLineBreak( [in] string aText, [in] long nStartPos,
+ [in] ::com::sun::star::lang::Locale aLocale,
+ [in] long nMinBreakPos,
+ [in] LineBreakHyphenationOptions aHyphOptions,
+ [in] LineBreakUserOptions aUserOptions );
+
+ /** Traverses in Text from <em>nStartPos</em> to the beginning of
+ the specified script type.
+
+ @param aText
+ The input text.
+
+ @param nStartPos
+ The start index in aText.
+
+ @param nScriptType
+ One of ScriptType.
+
+ @returns
+ The position where the script type starts.
+ */
+ long beginOfScript( [in] string aText, [in] long nStartPos,
+ [in] short nScriptType );
+
+ /** Traverses in Text from <em>nStartPos</em> to the end of the
+ specified script type.
+
+ @param aText
+ The input text.
+
+ @param nStartPos
+ The start index in aText.
+
+ @param nScriptType
+ One of ScriptType.
+
+ @returns
+ The position where the script type ends.
+ */
+ long endOfScript( [in] string aText, [in] long nStartPos,
+ [in] short nScriptType );
+
+ /** Traverses in Text from <em>nStartPos</em> to the next start of
+ the specified script type.
+
+ @param aText
+ The input text.
+
+ @param nStartPos
+ The start index in aText.
+
+ @param nScriptType
+ One of ScriptType.
+
+ @returns
+ The position where the next script type starts.
+ */
+ long nextScript( [in] string aText, [in] long nStartPos,
+ [in] short nScriptType );
+
+ /** Traverses in Text from <em>nStartPos</em> to the previous start
+ of the specified script type.
+
+ @param aText
+ The input text.
+
+ @param nStartPos
+ The start index in aText.
+
+ @param nScriptType
+ One of ScriptType.
+
+ @returns
+ The position where the previous script type starts.
+ */
+ long previousScript( [in] string aText, [in] long nStartPos,
+ [in] short nScriptType );
+
+ /** Get the script type of the character at position <em>nPos</em>.
+
+ @param aText
+ The input text.
+
+ @param nPos
+ The index in aText.
+
+ @returns
+ One of ScriptType.
+ */
+ short getScriptType( [in] string aText, [in] long nPos);
+
+ /** Traverses in Text from <em>nStartPos</em> to the beginning of
+ the specified character type.
+
+ @param aText
+ The input text.
+
+ @param nStartPos
+ The start index in aText.
+
+ @param aLocale
+ The locale of the character preceding <em>nStartPos</em>.
+
+ @param nCharType
+ One of CharType
+
+ @returns
+ The position where the character type starts
+ */
+ long beginOfCharBlock( [in] string aText, [in] long nStartPos,
+ [in] ::com::sun::star::lang::Locale aLocale,
+ [in] short nCharType );
+
+ /** Traverses in Text from <em>nStartPos</em> to the end of the
+ specified character type.
+
+ @param aText
+ The input text.
+
+ @param nStartPos
+ The start index in aText.
+
+ @param aLocale
+ The locale of the character preceding <em>nStartPos</em>.
+
+ @param nCharType
+ One of CharType
+
+ @returns
+ The position where the character type ends.
+ */
+ long endOfCharBlock( [in] string aText, [in] long nStartPos,
+ [in] ::com::sun::star::lang::Locale aLocale,
+ [in] short nCharType );
+
+ /** Traverses in Text from <em>nStartPos</em> to the next start of
+ the specified character type.
+
+ @param aText
+ The input text.
+
+ @param nStartPos
+ The start index in aText.
+
+ @param aLocale
+ The locale of the character preceding <em>nStartPos</em>.
+
+ @param nCharType
+ One of CharType
+
+ @returns
+ The position where the next character type starts.
+ */
+ long nextCharBlock( [in] string aText, [in] long nStartPos,
+ [in] ::com::sun::star::lang::Locale aLocale,
+ [in] short nCharType );
+
+ /** Traverses in Text from <em>nStartPos</em> to the previous start
+ of the specified character type.
+
+ @param aText
+ The input text.
+
+ @param nStartPos
+ The start index in aText.
+
+ @param aLocale
+ The locale of the character preceding <em>nStartPos</em>.
+
+ @param nCharType
+ One of CharType
+
+ @returns
+ The position where the previous character type starts.
+ */
+ long previousCharBlock ( [in] string aText, [in] long nStartPos,
+ [in] ::com::sun::star::lang::Locale aLocale,
+ [in] short nCharType );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/XCalendar.idl b/offapi/com/sun/star/i18n/XCalendar.idl
new file mode 100644
index 000000000..fd89a5273
--- /dev/null
+++ b/offapi/com/sun/star/i18n/XCalendar.idl
@@ -0,0 +1,211 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_i18n_XCalendar_idl__
+#define __com_sun_star_i18n_XCalendar_idl__
+
+#include <com/sun/star/lang/Locale.idl>
+#include <com/sun/star/i18n/Calendar.idl>
+#include <com/sun/star/i18n/CalendarItem.idl>
+
+
+module com { module sun { module star { module i18n {
+
+
+/**
+ Access to locale specific calendar systems.
+ */
+
+published interface XCalendar : com::sun::star::uno::XInterface
+{
+ /// Load the default calendar for the given locale.
+ void loadDefaultCalendar( [in] ::com::sun::star::lang::Locale rLocale );
+
+ /// Load a specific calendar for the given locale.
+ void loadCalendar( [in] string uniqueID,
+ [in] ::com::sun::star::lang::Locale rLocale );
+
+ /// Get the currently loaded Calendar.
+ Calendar getLoadedCalendar();
+
+ /// Returns all available calendars for the given locale.
+ sequence< string > getAllCalendars( [in] ::com::sun::star::lang::Locale rLocale );
+
+ /** Returns the ID string of the loaded calendar, for example,
+ <b>"Gregorian"</b>
+ */
+ string getUniqueID();
+
+ /**
+ Set the UTC date/time as an offset to the start of the calendar
+ at 1-Jan-1970 00:00. The integer part represents the number of
+ days passed since start date. The fractional part represents
+ fractions of a day, thus 0.5 means 12 hours.
+ */
+ void setDateTime( [in] double nTimeInDays );
+
+ /**
+ Get the UTC date/time as an offset to the start of the calendar
+ at 1-Jan-1970 00:00. The integer part represents the number of
+ days passed since start date. The fractional part represents
+ fractions of a day, thus 0.5 means 12 hours.
+ */
+ double getDateTime();
+
+ /**
+ Set the value of a field.
+
+ @param nCalendarFieldIndex
+ One of CalendarFieldIndex values.
+
+ @param nValue
+ A value of the allowed range for the field index.
+ */
+ void setValue( [in] short nCalendarFieldIndex, [in] short nValue );
+
+ /**
+ Get the value of a field.
+
+ @param nCalendarFieldIndex
+ One of CalendarFieldIndex values.
+ */
+ short getValue( [in] short nCalendarFieldIndex );
+
+ /**
+ Verify if the date fields set by a combination of
+ XCalendar::setValue() calls is valid. It has a
+ side-effect because it will internally calculate the final value
+ for the date fields
+ */
+ boolean isValid();
+
+ /**
+ Add an amount to a field.
+
+ @param nCalendarFieldIndex
+ One of CalendarFieldIndex values.
+
+ @param nAmount
+ The amount to add.
+ */
+ void addValue( [in] short nCalendarFieldIndex, [in] long nAmount );
+
+ /** returns the first day of a week, one of Weekdays
+ values.
+ */
+ short getFirstDayOfWeek();
+
+ /** Set the first day of a week, one of Weekdays
+ values.
+ */
+ void setFirstDayOfWeek( [in] short nDay );
+
+ /** Set how many days of a week must reside in the first week of a
+ year.
+ */
+ void setMinimumNumberOfDaysForFirstWeek( [in] short nDays );
+
+ /** returns how many days of a week must reside in the first week of
+ a year.
+ */
+ short getMinimumNumberOfDaysForFirstWeek();
+
+ /// returns the number of months in a year, e.g. <b>12</b>
+ short getNumberOfMonthsInYear();
+
+ /// returns the number of days in a week, e.g. <b>7</b>
+ short getNumberOfDaysInWeek();
+
+ /** returns a sequence of CalendarItem describing the
+ month names.
+ */
+ sequence< CalendarItem > getMonths();
+
+ /** returns a sequence of CalendarItem describing the
+ day names.
+ */
+ sequence< CalendarItem > getDays();
+
+ /**
+ Returns a string (name to display) matching the given parameters.
+
+ @param nCalendarDisplayIndex
+ One of CalendarDisplayIndex values
+
+ @param nIdx
+ A value matching the <em>nCalendarDisplayIndex</em> type:
+ <dl>
+ <dt>CalendarDisplayIndex::AM_PM</dt>
+ <dd>one of AmPmValue</dd>
+ <dt>CalendarDisplayIndex::DAY</dt>
+ <dd>one of Weekdays or a number used as
+ an offset into the corresponding
+ Calendar::Days sequence</dd>
+ <dt>CalendarDisplayIndex::MONTH</dt>
+ <dd>one of Months or a number used as
+ an offset into the corresponding
+ Calendar::Months sequence</dd>
+ <dt>CalendarDisplayIndex::YEAR</dt>
+ <dd>not used, empty string returned</dd>
+ <dt>CalendarDisplayIndex::ERA</dt>
+ <dd>a number used as an offset into the
+ corresponding Calendar:Eras
+ sequence</dd>
+ <dt>CalendarDisplayIndex::GENITIVE_MONTH</dt>
+ <dd>a number used as an offset into the
+ corresponding Calendar2:GenitiveMonth
+ sequence</dd>
+ </dl>
+
+ <p> The value should be obtained by a previous call to
+ XCalendar::getValue() with an appropriate
+ CalendarFieldIndex argument. </p>
+
+ @param nNameType
+ A value indicating whether to return the abbreviated or the
+ full name, or the narrow name for some
+ CalendarDisplayIndex values.
+ <dl>
+ <dt> 0 </dt>
+ <dd>abbreviated name, e.g. <b>"Jan"</b></dd>
+ <dt> 1 </dt>
+ <dd>full name, e.g. <b>"January"</b></dd>
+ <dt> 2 </dt>
+ <dd>narrow name, e.g. <b>"J"</b> <br>
+ Valid only for CalendarDisplayIndex::DAY,
+ CalendarDisplayIndex::MONTH and
+ CalendarDisplayIndex::GENITIVE_MONTH <br>
+ @since LibreOffice 3.5
+ </dd>
+
+ <p> This parameter is not used if the
+ <em>nCalendarDisplayIndex</em> argument equals
+ CalendarDisplayIndex::AM_PM </p>
+ */
+
+ string getDisplayName( [in] short nCalendarDisplayIndex,
+ [in] short nIdx,
+ [in] short nNameType );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/XCalendar3.idl b/offapi/com/sun/star/i18n/XCalendar3.idl
new file mode 100644
index 000000000..16d5df5e7
--- /dev/null
+++ b/offapi/com/sun/star/i18n/XCalendar3.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_i18n_XCalendar3_idl__
+#define __com_sun_star_i18n_XCalendar3_idl__
+
+#include <com/sun/star/i18n/XExtendedCalendar.idl>
+#include <com/sun/star/i18n/Calendar2.idl>
+
+
+module com { module sun { module star { module i18n {
+
+
+
+/**
+ This interface provides access to locale specific calendar
+ systems.
+
+ <p> It is derived from
+ ::com::sun::star::i18n::XExtendedCalendar and
+ provides additional methods to obtain Calendar2 items
+ that include the possessive genitive case month names and sequences
+ of CalendarItem2 items... </p>
+
+ @since LibreOffice 3.5
+ */
+published interface XCalendar3 : com::sun::star::i18n::XExtendedCalendar
+{
+ /// Get the currently loaded Calendar2.
+ Calendar2 getLoadedCalendar2();
+
+ /** returns a sequence of CalendarItem2 describing the
+ day names.
+ */
+ sequence< CalendarItem2 > getDays2();
+
+ /** returns a sequence of CalendarItem2 describing the
+ month names.
+ */
+ sequence< CalendarItem2 > getMonths2();
+
+ /** returns a sequence of CalendarItem2 describing the
+ genitive case month names.
+ */
+ sequence< CalendarItem2 > getGenitiveMonths2();
+
+ /** returns a sequence of CalendarItem2 describing the
+ partitive case month names.
+ */
+ sequence< CalendarItem2 > getPartitiveMonths2();
+
+};
+
+}; }; }; };
+
+#endif
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/XCalendar4.idl b/offapi/com/sun/star/i18n/XCalendar4.idl
new file mode 100644
index 000000000..7243cea65
--- /dev/null
+++ b/offapi/com/sun/star/i18n/XCalendar4.idl
@@ -0,0 +1,91 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.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_i18n_XCalendar4_idl__
+#define __com_sun_star_i18n_XCalendar4_idl__
+
+#include <com/sun/star/i18n/Calendar3.idl>
+
+
+module com { module sun { module star { module i18n {
+
+
+
+/** This interface provides access to locale specific calendar
+ systems.
+
+ <p> It is derived from ::com::sun::star::i18n::XCalendar3 and
+ provides additional methods to set and get the local time. </p>
+
+ @since LibreOffice 5.0
+ */
+interface XCalendar4 : com::sun::star::i18n::XCalendar3
+{
+ /** Set the local date/time as an offset to the start of the
+ calendar at 1-Jan-1970 00:00. The integer part represents the
+ number of days passed since start date. The fractional part
+ represents fractions of a day, thus 0.5 means 12 hours.
+
+ The actual timezone and daylight saving time offsets effective
+ at the given date and time are considered and subtracted before
+ setting the UTC time at the calendar.
+ */
+ void setLocalDateTime( [in] double TimeInDays );
+
+ /** Get the local date/time as an offset to the start of the
+ calendar at 1-Jan-1970 00:00. The integer part represents the
+ number of days passed since start date. The fractional part
+ represents fractions of a day, thus 0.5 means 12 hours.
+
+ The actual timezone and daylight saving time offsets effective
+ at the given date and time are considered and added to the UTC
+ time at the calendar.
+ */
+ double getLocalDateTime();
+
+ /** Load the default calendar for the given locale with a given time zone.
+
+ @param rLocale
+ the locale for the calendar
+ @param TimeZone
+ If empty, the system's time zone is used.
+ Else specified as "Region/City" name like "Europe/Berlin",
+ or a custom time zone ID such as "UTC" or "GMT-8:00".
+
+ @since LibreOffice 6.3
+ */
+ void loadDefaultCalendarTZ( [in] ::com::sun::star::lang::Locale rLocale, [in] string TimeZone );
+
+ /** Load a specific calendar for the given locale with a given time zone.
+
+ @param uniqueID
+ the uniqueID for the calendar.
+ As of 2019-09-25, we can specify ROC, dangi, buddhist, gengou,
+ gregorian, hanja, hanja_yoil, hijri, jewish.
+ If the calendar for the specified uniqueID is not found,
+ gregorian is used.
+ @param rLocale
+ the locale for the calendar
+ @param TimeZone
+ If empty, the system's time zone is used.
+ Else specified as "Region/City" name like "Europe/Berlin",
+ or a custom time zone ID such as "UTC" or "GMT-8:00".
+
+ @since LibreOffice 6.3
+ */
+ void loadCalendarTZ( [in] string uniqueID,
+ [in] ::com::sun::star::lang::Locale rLocale,
+ [in] string TimeZone );
+
+};
+
+}; }; }; };
+
+#endif
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/XCharacterClassification.idl b/offapi/com/sun/star/i18n/XCharacterClassification.idl
new file mode 100644
index 000000000..1bc8c7c2a
--- /dev/null
+++ b/offapi/com/sun/star/i18n/XCharacterClassification.idl
@@ -0,0 +1,274 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_i18n_XCharacterClassification_idl__
+#define __com_sun_star_i18n_XCharacterClassification_idl__
+
+#include <com/sun/star/i18n/ParseResult.idl>
+#include <com/sun/star/lang/Locale.idl>
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module i18n {
+
+
+/*
+
+Possible tokens to be parsed with parse...Token():
+
+UPASCALPHA=[A-Z]
+LOASCALPHA=[a-z]
+ASCALPHA=1*(UPASCALPHA|LOASCALPHA)
+ASCDIGIT=[0-9]
+ASC_UNDERSCORE='_'
+ASC_SPACE=' '
+ASC_HT='\0x9'
+ASC_VT='\0xb'
+ASC_WS=ASC_SPACE|ASC_HT|ASC_VT
+ASC_DBL_QUOTE=\";
+ASC_QUOTE=\'
+UPASC_IDENTIFIER=UPASCALPHA *(UPASCALPHA|ASCDIGIT|ASC_UNDERSCORE)
+
+ALPHA,DIGIT are the tokens which return true for isAlpha and isDigit
+ALNUM=ALPHA|DIGIT
+CHAR=anycharacter
+WS=isWhiteSpace()
+SIGN='+'|'-'
+DECSEP=<locale dependent decimal separator>
+GRPSEP=<locale dependent thousand separator>
+EXPONENT=(E|e)[SIGN]1*ASC_DIGIT
+
+IDENTIFIER=ALPHA *ALNUM
+UIDENTIFIER=(ALPHA | ASC_UNDERSCORE) *(ALNUM|ASC_UNDERSCORE)
+ALPHA_NAME=ALPHA *(ALNUM|DEFCHARS)
+ANY_NAME=1*(ALNUM|DEFCHARS)
+SINGLE_QUOTE_NAME=ASC_QUOTE(1*CHAR)ASC_QUOTE
+DOUBLE_QUOTE_NAME=ASC_DBL_QUOTE(*CHAR)ASC_DBL_QUOTE
+ASC_NUMBER=[SIGN]*(1*ASC_DIGIT *(GRPSEP 1*ASC_DIGIT))[DECSEP]1*ASC_DIGIT[EXPONENT]
+NUMBER=[SIGN]*(1*DIGIT *(GRPSEP 1*DIGIT))[DECSEP]1*DIGIT[EXPONENT]
+
+*/
+
+
+/**
+ Character classification (upper, lower, digit, letter, number, ...)
+ and generic Unicode enabled parser.
+ */
+
+published interface XCharacterClassification : com::sun::star::uno::XInterface
+{
+ /** Convert lower case alpha to upper case alpha, starting at
+ position <em>nPos</em> for <em>nCount</em> code points.
+ */
+ string toUpper( [in] string aText, [in] long nPos, [in] long nCount,
+ [in] com::sun::star::lang::Locale aLocale );
+
+ /** Convert upper case alpha to lower case alpha, starting at
+ position <em>nPos</em> for <em>nCount</em> code points.
+ */
+ string toLower( [in] string aText, [in] long nPos, [in] long nCount,
+ [in] com::sun::star::lang::Locale aLocale );
+
+ /** Convert to title case, starting at
+ position <em>nPos</em> for <em>nCount</em> code points.
+ */
+ string toTitle( [in] string aText, [in] long nPos, [in] long nCount,
+ [in] com::sun::star::lang::Locale aLocale );
+
+ /// Get UnicodeType of character at position <em>nPos</em>.
+ short getType( [in] string aText, [in] long nPos );
+
+ /** Get DirectionProperty of character at position
+ <em>nPos</em>.
+ */
+ short getCharacterDirection( [in] string aText, [in] long nPos );
+
+ /// Get UnicodeScript of character at position <em>nPos</em>.
+ short getScript( [in] string aText, [in] long nPos );
+
+ /// Get KCharacterType of character at position <em>nPos</em>.
+ long getCharacterType( [in] string aText, [in] long nPos,
+ [in] com::sun::star::lang::Locale aLocale );
+
+ /** Get accumulated KCharacterTypes of string starting
+ at position <em>nPos</em> of length <em>nCount</em> code points.
+
+ @returns
+ A number with appropriate flags set to indicate what type of
+ characters the string contains, each flag value being one of
+ KCharacterType values.
+ */
+ long getStringType( [in] string aText, [in] long nPos, [in] long nCount,
+ [in] com::sun::star::lang::Locale aLocale );
+
+
+ /**
+ Parse a string for a token starting at position <em>nPos</em>.
+
+ <p> A name or identifier must match the
+ KParseTokens criteria passed in
+ <em>nStartCharFlags</em> and <em>nContCharFlags</em> and may
+ additionally contain characters of
+ <em>aUserDefinedCharactersStart</em> and/or
+ <em>aUserDefinedCharactersCont</em>. </p>
+
+
+ @returns
+ A filled ParseResult structure. If no
+ unambiguous token could be parsed,
+ ParseResult::TokenType will be set to
+ <b>0</b> (zero), other fields will contain the values parsed
+ so far.
+
+ <p> If a token may represent either a numeric value or a
+ name according to the passed Start/Cont-Flags/Chars, both
+ KParseType::ASC_NUM (or
+ KParseType::UNI_NUM) and
+ KParseType::IDENTNAME are set in
+ ParseResult::TokenType.
+
+ @param aText
+ Text to be parsed.
+
+ @param nPos
+ Position where parsing starts.
+
+ @param aLocale
+ The locale, for example, for decimal and group separator or
+ character type determination.
+
+ @param nStartCharFlags
+ A set of KParseTokens constants determining the
+ allowed characters a name or identifier may start with.
+
+ @param aUserDefinedCharactersStart
+ A set of additionally allowed characters a name or
+ identifier may start with.
+
+ @param nContCharFlags
+ A set of KParseTokens constants determining the
+ allowed characters a name or identifier may continue with.
+
+ @param aUserDefinedCharactersCont
+ A set of additionally allowed characters a name or
+ identifier may continue with.
+
+ @code{.cpp}
+ using namespace ::com::sun::star::i18n;
+ // First character of an identifier may be any alphabetic or underscore.
+ sal_Int32 nStartFlags = KParseTokens::ANY_ALPHA | KParseTokens::ASC_UNDERSCORE;
+ // Continuing characters may be any alphanumeric or underscore or dot.
+ sal_Int32 nContFlags = KParseTokens::ANY_ALNUM | KParseTokens::ASC_UNDERSCORE | KParseTokens::ASC_DOT;
+ // No further characters assumed to be contained in an identifier
+ OUString aEmptyString;
+ // Parse any token.
+ ParseResult rRes = xCC->parseAnyToken( aText, nPos, aLocale,
+ nStartFlags, aEmptyString, nContFlags, aEmptyString );
+ // Get parsed token.
+ if ( rRes.TokenType & (KParseType::ASC_NUMBER | KParseType::UNI_NUMBER) )
+ fValue = rRes.Value;
+ if ( rRes.TokenType & KParseType::IDENTNAME )
+ aName = aText.copy( nPos, rRes.EndPos - nPos );
+ else if ( rRes.TokenType & KParseType::SINGLE_QUOTE_NAME )
+ aName = rRes.DequotedNameOrString;
+ else if ( rRes.TokenType & KParseType::DOUBLE_QUOTE_STRING )
+ aString = rRes.DequotedNameOrString;
+ else if ( rRes.TokenType & KParseType::BOOLEAN )
+ aSymbol = aText.copy( nPos, rRes.EndPos - nPos );
+ else if ( rRes.TokenType & KParseType::ONE_SINGLE_CHAR )
+ aSymbol = aText.copy( nPos, rRes.EndPos - nPos );
+ @endcode
+ */
+
+ ParseResult parseAnyToken(
+ [in] string aText,
+ [in] long nPos,
+ [in] com::sun::star::lang::Locale aLocale,
+ [in] long nStartCharFlags,
+ [in] string aUserDefinedCharactersStart,
+ [in] long nContCharFlags,
+ [in] string aUserDefinedCharactersCont
+ );
+
+ /**
+ Parse a string for a token of type <em>nTokenType</em> starting
+ at position <em>nPos</em>.
+
+ <p> Other parameters are the same as in
+ parseAnyToken(). If the actual token does not
+ match the passed <em>nTokenType</em> a
+ ParseResult::TokenType set to <b>0</b> (zero)
+ is returned. </p>
+
+ @param nTokenType
+ One or more of the KParseType constants.
+
+ @param aText
+ See #parseAnyToken
+ @param nPos
+ See #parseAnyToken
+ @param aLocale
+ See #parseAnyToken
+ @param nStartCharFlags
+ See #parseAnyToken
+ @param aUserDefinedCharactersStart
+ See #parseAnyToken
+ @param nContCharFlags
+ See #parseAnyToken
+ @param aUserDefinedCharactersCont
+ See #parseAnyToken
+
+ @code{.cpp}
+ // Determine if a given name is a valid name (not quoted) and contains
+ // only allowed characters.
+ using namespace ::com::sun::star::i18n;
+ // First character of an identifier may be any alphanumeric or underscore.
+ sal_Int32 nStartFlags = KParseTokens::ANY_ALNUM | KParseTokens::ASC_UNDERSCORE;
+ // No further characters assumed to be contained in an identifier start.
+ OUString aEmptyString;
+ // Continuing characters may be any alphanumeric or underscore.
+ sal_Int32 nContFlags = nStartFlags;
+ // Additionally, continuing characters may contain a blank.
+ OUString aContChars( " " );
+ // Parse predefined (must be an IDENTNAME) token.
+ ParseResult rRes = xCC->parsePredefinedToken( KParseType::IDENTNAME, rName, 0, aLocale,
+ nStartFlags, aEmptyString, nContFlags, aContChars );
+ // Test if it is an identifier name and if it only is one
+ // and no more else is following it.
+ bValid = (rRes.TokenType & KParseType::IDENTNAME) && rRes.EndPos == rName.Len();
+ @endcode
+ */
+
+ ParseResult parsePredefinedToken(
+ [in] long nTokenType,
+ [in] string aText,
+ [in] long nPos,
+ [in] com::sun::star::lang::Locale aLocale,
+ [in] long nStartCharFlags,
+ [in] string aUserDefinedCharactersStart,
+ [in] long nContCharFlags,
+ [in] string aUserDefinedCharactersCont
+ );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/XCollator.idl b/offapi/com/sun/star/i18n/XCollator.idl
new file mode 100644
index 000000000..aa666b350
--- /dev/null
+++ b/offapi/com/sun/star/i18n/XCollator.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_i18n_XCollator_idl__
+#define __com_sun_star_i18n_XCollator_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/Locale.idl>
+
+module com { module sun { module star { module i18n {
+
+/** provides locale-sensitive collation algorithms for string comparison.
+
+*/
+published interface XCollator: com::sun::star::uno::XInterface
+{
+ /** Compare 2 substrings in specific locale and algorithm.
+
+ @param aStr1
+ First string.
+
+ @param nOff1
+ Offset (from 0) of the first string.
+
+ @param nLen1
+ Length (from offset) of the first substring.
+
+ @param aStr2
+ Second string
+
+ @param nOff2
+ Offset (from 0) of the second string.
+
+ @param nLen2
+ Length (from offset) of the second substring.
+
+ @returns
+ 1 if the first string is greater than the second string <br/>
+ 0 if the first string is equal to the second string <br/>
+ -1 if the first string is less than the second string
+ */
+ long compareSubstring( [in] string aStr1, [in] long nOff1, [in] long nLen1,
+ [in] string aStr2, [in] long nOff2, [in] long nLen2 );
+
+ /** Compare 2 strings in specific locale and algorithm.
+
+ @param aStr1
+ First string.
+
+ @param aStr2
+ Second string.
+
+ @returns
+ 1 if the first string is greater than the second string <br/>
+ 0 if the first string is equal to the second string <br/>
+ -1 if the first string is less than the second string
+ */
+ long compareString( [in] string aStr1, [in] string aStr2 );
+
+ /** Load the collator with default algorithm defined in
+ locale data.
+
+ @param aLocale
+ The locale for this collator.
+
+ @param nCollatorOptions
+ A mask of CollatorOptions.
+
+ @returns
+ Returns 0 when loading was successful,
+ otherwise throws runtime exception. In fact the return value
+ should be ignored and the exception be caught instead.
+ */
+ long loadDefaultCollator( [in] ::com::sun::star::lang::Locale aLocale,
+ [in] long nCollatorOptions );
+
+ /** Load a particular collator algorithm for the locale.
+
+ @param aAlgorithmName
+ The algorithm to load.
+
+ @param aLocale
+ The locale for this collator.
+
+ @param nCollatorOptions
+ A mask of CollatorOptions.
+
+ @returns
+ Returns 0 when loading was successful,
+ otherwise throws runtime exception.
+ */
+ long loadCollatorAlgorithm( [in] string aAlgorithmName,
+ [in] ::com::sun::star::lang::Locale aLocale,
+ [in] long nCollatorOptions );
+
+ /** List all collator algorithms for a given locale.
+
+ @param aLocale
+ The locale for which to list algorithms.
+
+ @returns
+ A sequence of algorithm names.
+ */
+ sequence <string> listCollatorAlgorithms(
+ [in] ::com::sun::star::lang::Locale aLocale );
+
+ /** Load a collator algorithm with options chosen by end user.
+
+ @param aAlgorithmName
+ The algorithm name to load.
+
+ @param aLocale
+ The locale for this collator.
+
+ @param aCollatorOptions
+ A sequence of end user collator options like those returned
+ by XCollator::listCollatorOptions().
+ */
+ void loadCollatorAlgorithmWithEndUserOption(
+ [in] string aAlgorithmName,
+ [in] ::com::sun::star::lang::Locale aLocale,
+ [in] sequence<long> aCollatorOptions );
+
+ /** List all end user collator options for a given algorithm.
+
+ @param aAlgorithmName
+ The algorithm name for this collator.
+
+ @returns
+ An array of end user options available for the algorithm.
+ */
+ sequence <long> listCollatorOptions( [in] string aAlgorithmName );
+
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/XExtendedCalendar.idl b/offapi/com/sun/star/i18n/XExtendedCalendar.idl
new file mode 100644
index 000000000..07ae79174
--- /dev/null
+++ b/offapi/com/sun/star/i18n/XExtendedCalendar.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_i18n_XExtendedCalendar_idl__
+#define __com_sun_star_i18n_XExtendedCalendar_idl__
+
+#include <com/sun/star/i18n/XCalendar.idl>
+
+
+module com { module sun { module star { module i18n {
+
+
+
+/**
+ This interface provides access to locale specific calendar
+ systems.
+
+ <p> It is derived from
+ ::com::sun::star::i18n::XCalendar and provides
+ additional functionality to display parts of the date currently
+ set at the calendar. </p>
+
+ @since OOo 1.1.2
+ */
+published interface XExtendedCalendar : ::com::sun::star::i18n::XCalendar
+{
+ /**
+ Returns a string (number or name to display) matching the
+ given code constant.
+
+ <p> Note that the string returned depends completely on the
+ locale's calendar. It is not predictable if the string will be
+ numeric or a name, or if in case it returns a numeric string
+ how many digits that will have. For example, a short year
+ display string will normally be two digits with a Gregorian
+ calendar, but with a Jewish calendar it will have three
+ digits. </p>
+
+ @param nCalendarDisplayCode
+ One of CalendarDisplayCode
+
+ @param nNativeNumberMode
+ One of NativeNumberMode. <br>
+ This argument designates the basic transliteration mode as
+ if specified for the year representation. However, depending
+ on the locale, different conversions for year and month, for
+ example, may be chosen internally. This is beyond the user's
+ control and depends on locale specific conventions of how a
+ date is assembled.
+ */
+ string getDisplayString( [in] long nCalendarDisplayCode, [in] short nNativeNumberMode );
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/XExtendedIndexEntrySupplier.idl b/offapi/com/sun/star/i18n/XExtendedIndexEntrySupplier.idl
new file mode 100644
index 000000000..e640fceda
--- /dev/null
+++ b/offapi/com/sun/star/i18n/XExtendedIndexEntrySupplier.idl
@@ -0,0 +1,143 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_i18n_XExtendedIndexEntrySupplier_idl__
+#define __com_sun_star_i18n_XExtendedIndexEntrySupplier_idl__
+
+#include <com/sun/star/i18n/XIndexEntrySupplier.idl>
+#include <com/sun/star/lang/Locale.idl>
+
+
+module com { module sun { module star { module i18n {
+
+
+
+/**
+ This interface provides information for creating "Table of Index"
+
+ <p> It is derived from
+ ::com::sun::star::i18n::XIndexEntrySupplier and
+ provides following additional functionalities.</p>
+ <ul>
+ <li>Provide supported language/locale list.
+ <li>Provide supported algorithm list.
+ <li>Provide phonetic entry support for CJK language.
+ <li>Provide method to compare index entry.
+ </ul>
+
+ @since OOo 1.1.2
+ */
+published interface XExtendedIndexEntrySupplier : ::com::sun::star::i18n::XIndexEntrySupplier
+{
+ /**
+ Returns locale list for which the IndexEntrySupplier provides service.
+ */
+ sequence < com::sun::star::lang::Locale > getLocaleList();
+
+ /**
+ Returns index algorithm list for specific locale
+ */
+ sequence < string > getAlgorithmList(
+ [in] com::sun::star::lang::Locale aLocale );
+
+ /**
+ Checks if Phonetic Entry should be used for the locale.
+ */
+ boolean usePhoneticEntry( [in] com::sun::star::lang::Locale aLocale);
+
+ /**
+ Returns phonetic candidate for index entry for the locale.
+ */
+ string getPhoneticCandidate( [in] string aIndexEntry,
+ [in] com::sun::star::lang::Locale aLocale);
+
+ /**
+ Loads index algorithm for the locale.
+
+ @param aLocale
+ The locale.
+
+ @param aIndexAlgorithm
+ Index algorithm to be loaded.
+
+ @param nCollatorOptions
+ Sorting option of ::com::sun::star::i18n::CollatorOptions for
+ comparing index entries
+
+ @return
+ `TRUE` if algorithm successfully loaded,
+ `FALSE` else.
+ */
+ boolean loadAlgorithm( [in] com::sun::star::lang::Locale aLocale,
+ [in] string aIndexAlgorithm,
+ [in] long nCollatorOptions );
+
+ /**
+ Returns index key.
+
+ <p> Note that loadAlgorithm should be called before calling
+ this function. </p>
+
+ @param aIndexEntry
+ Index entry
+
+ @param aPhoneticEntry
+ Phonetic entry
+
+ @param aLocale
+ Language attribute for index and phonetic entry. <br/>
+ aLocale and the locale in loadAlgorithm may be different.
+ In the case they are different, phonetic entry will not
+ be used in the index key generation.
+ */
+ string getIndexKey( [in] string aIndexEntry, [in] string aPhoneticEntry,
+ [in] com::sun::star::lang::Locale aLocale );
+
+ /**
+ Compares index entries
+
+ <p> Note that loadAlgorithm should be called before calling
+ this function. </p>
+
+ @param aIndexEntry1
+ @param aIndexEntry2
+ Index entries to be compared
+
+ @param aPhoneticEntry1
+ @param aPhoneticEntry2
+ Phonetic entries to be compared
+
+ @param aLocale1
+ @param aLocale2
+ Language attribute for index and phonetic entry. <br/>
+ aLocale and the locale in loadAlgorithm may be different.
+ In the case they are different, phonetic entry will not
+ be used in the index key generation.
+ */
+ short compareIndexEntry( [in] string aIndexEntry1, [in] string aPhoneticEntry1,
+ [in] com::sun::star::lang::Locale aLocale1,
+ [in] string aIndexEntry2, [in] string aPhoneticEntry2,
+ [in] com::sun::star::lang::Locale aLocale2 );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/XExtendedInputSequenceChecker.idl b/offapi/com/sun/star/i18n/XExtendedInputSequenceChecker.idl
new file mode 100644
index 000000000..af429a253
--- /dev/null
+++ b/offapi/com/sun/star/i18n/XExtendedInputSequenceChecker.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_i18n_XExtendedInputSequenceChecker_idl__
+#define __com_sun_star_i18n_XExtendedInputSequenceChecker_idl__
+
+#include <com/sun/star/i18n/XInputSequenceChecker.idl>
+
+
+module com { module sun { module star { module i18n {
+
+
+
+/**
+ This interface perform input sequence correction for the languages like Thai and Hindi
+
+ <p> It is derived from
+ ::com::sun::star::i18n::XInputSequenceChecker and
+ provides additional functionality to correct input sequence.</p>
+
+ @since OOo 2.0.1
+ */
+published interface XExtendedInputSequenceChecker : ::com::sun::star::i18n::XInputSequenceChecker
+{
+ /** @returns
+ Next nPos, or length of aText if nothing is corrected.
+
+ @param aText
+ Text to be checked and corrected.
+
+ @param nPos
+ Index in aText where checking starts.
+
+ @param cInputChar
+ The input character. Or at least, a UTF16 code unit thereof.
+ It looks like this interface was not designed with non-BMP
+ characters in mind. Not sure if that is a problem.
+
+ @param nInputCheckMode
+ One of InputSequenceCheckMode constants.
+ */
+ long correctInputSequence( [inout] string aText, [in] long nPos,
+ [in] char cInputChar, [in] short nInputCheckMode );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/XExtendedTextConversion.idl b/offapi/com/sun/star/i18n/XExtendedTextConversion.idl
new file mode 100644
index 000000000..2ef853aab
--- /dev/null
+++ b/offapi/com/sun/star/i18n/XExtendedTextConversion.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_i18n_XExtendedTextConversion_idl__
+#define __com_sun_star_i18n_XExtendedTextConversion_idl__
+
+#include <com/sun/star/i18n/XTextConversion.idl>
+
+
+module com { module sun { module star { module i18n {
+
+
+
+/**
+ This interface provides Text Conversion service.
+
+ <p> It is derived from
+ ::com::sun::star::i18n::XTextConversion and provides
+ a new conversion function containing position map (offset) between original
+ and converted string. </p>
+
+ @since OOo 2.0
+ */
+published interface XExtendedTextConversion : ::com::sun::star::i18n::XTextConversion
+{
+ /**
+ The functionality of this method is same as
+ ::com::sun::star::i18n::XTextConversion::getConversion(),
+ except an additional output parameter rOffset.
+
+ @param aText
+ See ::com::sun::star::i18n::XTextConversion::getConversion()
+ @param nStartPos
+ See ::com::sun::star::i18n::XTextConversion::getConversion()
+ @param nLength
+ See ::com::sun::star::i18n::XTextConversion::getConversion()
+ @param aLocale
+ See ::com::sun::star::i18n::XTextConversion::getConversion()
+ @param nTextConversionType
+ See ::com::sun::star::i18n::XTextConversion::getConversion()
+ @param nTextConversionOptions
+ See ::com::sun::star::i18n::XTextConversion::getConversion()
+
+ @param rOffset
+ To find the grapheme of input string corresponding to the
+ grapheme of output string, rOffset provides the offset array
+ whose index is the offset of output string, the element
+ containing the position within the input string.
+ When the graphemes of input and output strings are simple
+ one to one mapping, to improve the performance, returned
+ rOffset will be a zero length array.
+ */
+ string getConversionWithOffset(
+ [in] string aText,
+ [in] long nStartPos,
+ [in] long nLength,
+ [in] ::com::sun::star::lang::Locale aLocale,
+ [in] short nTextConversionType,
+ [in] long nTextConversionOptions,
+ [out] sequence <long> rOffset )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::lang::NoSupportException );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/XExtendedTransliteration.idl b/offapi/com/sun/star/i18n/XExtendedTransliteration.idl
new file mode 100644
index 000000000..6edc2a09f
--- /dev/null
+++ b/offapi/com/sun/star/i18n/XExtendedTransliteration.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_i18n_XExtendedTransliteration_idl__
+#define __com_sun_star_i18n_XExtendedTransliteration_idl__
+
+#include <com/sun/star/i18n/XTransliteration.idl>
+#include <com/sun/star/i18n/MultipleCharsOutputException.idl>
+
+
+module com { module sun { module star { module i18n {
+
+
+
+/**
+ This interface provides character conversions like case folding or
+ Hiragana to Katakana.
+
+ <p> It is derived from
+ ::com::sun::star::i18n::XTransliteration and provides
+ additional functionality for character to character and
+ string to string without offset parameter transliteration. These
+ should be used for performance reason if their full-blown
+ counterparts aren't needed. </p>
+
+ @since OOo 1.1.2
+ */
+published interface XExtendedTransliteration : ::com::sun::star::i18n::XTransliteration
+{
+ /** Transliterate a substring. The functionality is the same as
+ ::com::sun::star::i18n::XTransliteration::transliterate()
+ but omits the offset parameter to improve performance.
+
+ @param aStr
+ The input string.
+
+ @param nStartPos
+ Start position within aStr from where transliteration starts.
+
+ @param nCount
+ Number of code points to be transliterated.
+
+ */
+ string transliterateString2String( [in] string aStr,
+ [in] long nStartPos, [in] long nCount );
+
+
+ /** Transliterate a character to a string.
+
+ @param cChar
+ The input character.
+ */
+ string transliterateChar2String( [in] char cChar );
+
+ /** Transliterate a character to a character.
+
+ <p> If the output contains multiple characters, for example when
+ transliterating German sharp "s" (the one that looks like a
+ Greek Beta) to upper case "SS", MultipleCharsOutputException
+ will be thrown, the caller must catch the exception and then
+ call
+ XTransliteration::transliterateChar2String() to
+ obtain the correct result. </p>
+
+ @param cChar
+ The input character.
+ */
+ char transliterateChar2Char( [in] char cChar )
+ raises( MultipleCharsOutputException );
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/XForbiddenCharacters.idl b/offapi/com/sun/star/i18n/XForbiddenCharacters.idl
new file mode 100644
index 000000000..66f1afe39
--- /dev/null
+++ b/offapi/com/sun/star/i18n/XForbiddenCharacters.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_i18n_XForbiddenCharacters_idl__
+#define __com_sun_star_i18n_XForbiddenCharacters_idl__
+
+#include <com/sun/star/i18n/ForbiddenCharacters.idl>
+#include <com/sun/star/lang/Locale.idl>
+#include <com/sun/star/container/NoSuchElementException.idl>
+
+
+
+module com { module sun { module star { module i18n {
+
+
+/**
+ provides access to forbidden character settings in a document.
+
+ <p> In some languages, particular characters are not allowed to be
+ placed at the beginning or at the end of a text line. </p>
+ */
+
+published interface XForbiddenCharacters : com::sun::star::uno::XInterface
+{
+ /** returns the forbidden characters for a given locale.
+ */
+ ForbiddenCharacters getForbiddenCharacters(
+ [in] com::sun::star::lang::Locale aLocale )
+ raises( com::sun::star::container::NoSuchElementException );
+
+ /** determines if forbidden characters are set for a given locale.
+ */
+ boolean hasForbiddenCharacters(
+ [in] com::sun::star::lang::Locale aLocale );
+
+ /** sets the forbidden characters for a given Locale.
+ */
+ void setForbiddenCharacters(
+ [in] com::sun::star::lang::Locale aLocale,
+ [in] ForbiddenCharacters aForbiddenCharacters );
+
+ /** removes the setting of forbidden characters for a given locale.
+ */
+ void removeForbiddenCharacters(
+ [in] com::sun::star::lang::Locale aLocale );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/XIndexEntrySupplier.idl b/offapi/com/sun/star/i18n/XIndexEntrySupplier.idl
new file mode 100644
index 000000000..10c315043
--- /dev/null
+++ b/offapi/com/sun/star/i18n/XIndexEntrySupplier.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_i18n_XIndexEntrySupplier_idl__
+#define __com_sun_star_i18n_XIndexEntrySupplier_idl__
+
+#include <com/sun/star/lang/Locale.idl>
+
+
+module com { module sun { module star { module i18n {
+
+
+/**
+ supplies information on index entries to generate a "table of
+ alphabetical index" for a given locale.
+*/
+
+published interface XIndexEntrySupplier : com::sun::star::uno::XInterface
+{
+ /**
+ returns the capital index key for sorting a table of indexes, to
+ a given index entry, to a given com::sun::star::lang::Locale and to a
+ given sort algorithm.
+
+ <p> For example, in English locale it returns <b>"K"</b> for
+ "keyboard"
+ */
+ string getIndexCharacter( [in] string aIndexEntry, [in]
+ com::sun::star::lang::Locale aLocale, [in] string aSortAlgorithm );
+
+ /**
+ returns the page number word of an index entry, where one page
+ or more pages are combined to one page number entry, for a given
+ com::sun::star::lang::Locale.
+
+ <p> For example, in English locale it returns <br/>
+ <b>"p."</b> for <em>bMorePages</em> == `FALSE` <br/>
+ <b>"pp."</b> for <em>bMorePages</em> == `TRUE` </p>
+ */
+ string getIndexFollowPageWord( [in] boolean bMorePages,
+ [in] com::sun::star::lang::Locale aLocale );
+};
+
+};};};};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/XInputSequenceChecker.idl b/offapi/com/sun/star/i18n/XInputSequenceChecker.idl
new file mode 100644
index 000000000..0e61ce936
--- /dev/null
+++ b/offapi/com/sun/star/i18n/XInputSequenceChecker.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_i18n_XInputSequenceChecker_idl__
+#define __com_sun_star_i18n_XInputSequenceChecker_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module i18n {
+
+
+/**
+ contains the routine to check Thai input sequence checking
+
+ @since OOo 1.1.2
+*/
+published interface XInputSequenceChecker : ::com::sun::star::uno::XInterface
+{
+
+ /** @returns true/false for the input check
+
+ @param aText
+ Text to be checked.
+
+ @param nPos
+ Index in aText where checking starts.
+
+ @param cInputChar
+ The input character. Or at least, a UTF16 code unit thereof.
+ It looks like this interface was not designed with non-BMP
+ characters in mind. Not sure if that is a problem.
+
+ @param nInputCheckMode
+ One of InputSequenceCheckMode constants.
+ */
+ boolean checkInputSequence( [in] string aText, [in] long nPos,
+ [in] char cInputChar, [in] short nInputCheckMode );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/XLocaleData.idl b/offapi/com/sun/star/i18n/XLocaleData.idl
new file mode 100644
index 000000000..012450eda
--- /dev/null
+++ b/offapi/com/sun/star/i18n/XLocaleData.idl
@@ -0,0 +1,114 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_i18n_XLocaleData_idl__
+#define __com_sun_star_i18n_XLocaleData_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/Locale.idl>
+#include <com/sun/star/i18n/LanguageCountryInfo.idl>
+#include <com/sun/star/i18n/Currency.idl>
+#include <com/sun/star/i18n/Calendar.idl>
+#include <com/sun/star/i18n/LocaleDataItem.idl>
+#include <com/sun/star/i18n/ForbiddenCharacters.idl>
+#include <com/sun/star/i18n/FormatElement.idl>
+#include <com/sun/star/i18n/Implementation.idl>
+
+
+module com { module sun { module star { module i18n {
+
+
+/**
+ Access locale specific data as it is defined in XML locale data
+ files compiled into the binary data libraries liblocaledata*.so
+ respectively localedata*.dll.
+
+ <p> For XML locale data files definitions see <a
+ href="https://cgit.freedesktop.org/libreoffice/core/tree/i18npool/source/localedata/data/locale.dtd">
+ the DTD file</a>. </p>
+ */
+
+published interface XLocaleData: com::sun::star::uno::XInterface
+{
+ /** returns the LC_INFO locale information.
+ */
+ LanguageCountryInfo getLanguageCountryInfo(
+ [in] com::sun::star::lang::Locale aLocale );
+
+ /** returns LC_CTYPE separators and markers.
+ */
+ LocaleDataItem getLocaleItem(
+ [in] com::sun::star::lang::Locale aLocale );
+
+ /** returns all LC_CALENDAR calendars for a locale.
+ */
+ sequence<Calendar> getAllCalendars(
+ [in] com::sun::star::lang::Locale aLocale );
+
+ /** returns all LC_CURRENCY currencies for a locale.
+ */
+ sequence<Currency> getAllCurrencies(
+ [in] com::sun::star::lang::Locale aLocale );
+
+ /** returns all LC_FORMAT format elements for a locale.
+ */
+ sequence<FormatElement> getAllFormats(
+ [in] com::sun::star::lang::Locale aLocale );
+
+ /** returns all LC_COLLATION collators for a locale.
+ */
+ sequence<Implementation> getCollatorImplementations(
+ [in] com::sun::star::lang::Locale aLocale );
+
+ /** returns all LC_SEARCH search options for a locale.
+ */
+ sequence<string> getSearchOptions(
+ [in] com::sun::star::lang::Locale aLocale );
+
+ /** returns all LC_COLLATION collation options for a locale.
+ */
+ sequence<string> getCollationOptions(
+ [in] com::sun::star::lang::Locale aLocale );
+
+ /** returns all LC_TRANSLITERATION transliterations for a locale.
+ */
+ sequence<string> getTransliterations(
+ [in] com::sun::star::lang::Locale aLocale );
+
+ /** returns all LC_MISC forbidden characters for a locale.
+ */
+ ForbiddenCharacters getForbiddenCharacters (
+ [in] com::sun::star::lang::Locale aLocale );
+
+ /** returns all LC_MISC reserved words for a locale.
+
+ @see reservedWords
+ */
+ sequence<string> getReservedWord(
+ [in] com::sun::star::lang::Locale aLocale );
+
+ /** returns all available locales.
+ */
+ sequence<com::sun::star::lang::Locale> getAllInstalledLocaleNames();
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/XLocaleData2.idl b/offapi/com/sun/star/i18n/XLocaleData2.idl
new file mode 100644
index 000000000..bf93479c7
--- /dev/null
+++ b/offapi/com/sun/star/i18n/XLocaleData2.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_i18n_XLocaleData2_idl__
+#define __com_sun_star_i18n_XLocaleData2_idl__
+
+#include <com/sun/star/i18n/XLocaleData.idl>
+#include <com/sun/star/i18n/Currency2.idl>
+
+
+module com { module sun { module star { module i18n {
+
+
+/**
+ Access locale specific data.
+
+ <p> Derived from
+ ::com::sun::star::i18n::XLocaleData and provides
+ an additional method to return a sequence of all
+ ::com::sun::star::i18n::Currency2 elements
+ available for that locale.
+
+ @since OOo 2.0.3
+ */
+
+published interface XLocaleData2 : com::sun::star::i18n::XLocaleData
+{
+ /** returns all LC_CURRENCY currencies for a locale.
+ */
+ sequence< Currency2 > getAllCurrencies2(
+ [in] com::sun::star::lang::Locale aLocale );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/XLocaleData3.idl b/offapi/com/sun/star/i18n/XLocaleData3.idl
new file mode 100644
index 000000000..e8ab2f0df
--- /dev/null
+++ b/offapi/com/sun/star/i18n/XLocaleData3.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.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_i18n_XLocaleData3_idl__
+#define __com_sun_star_i18n_XLocaleData3_idl__
+
+#include <com/sun/star/i18n/XLocaleData2.idl>
+#include <com/sun/star/i18n/Calendar2.idl>
+
+
+module com { module sun { module star { module i18n {
+
+
+/**
+ Access locale specific data.
+
+ <p> Derived from ::com::sun::star::i18n::XLocaleData2 this provides an
+ additional method to return a sequence of all
+ ::com::sun::star::i18n::Calendar2 elements available for that locale.
+
+ @since LibreOffice 3.5
+ */
+
+published interface XLocaleData3 : com::sun::star::i18n::XLocaleData2
+{
+ /** returns all LC_CALENDAR calendars for a locale.
+ */
+ sequence< Calendar2 > getAllCalendars2(
+ [in] com::sun::star::lang::Locale aLocale );
+};
+
+}; }; }; };
+
+#endif
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/XLocaleData4.idl b/offapi/com/sun/star/i18n/XLocaleData4.idl
new file mode 100644
index 000000000..d43630032
--- /dev/null
+++ b/offapi/com/sun/star/i18n/XLocaleData4.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.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_i18n_XLocaleData4_idl__
+#define __com_sun_star_i18n_XLocaleData4_idl__
+
+#include <com/sun/star/i18n/XLocaleData3.idl>
+
+
+module com { module sun { module star { module i18n {
+
+
+/**
+ Access locale specific data.
+
+ <p> Derived from ::com::sun::star::i18n::XLocaleData3
+ this provides an additional method to return a sequence of date
+ acceptance patterns for a locale.
+
+ @since LibreOffice 3.6
+ */
+
+published interface XLocaleData4 : com::sun::star::i18n::XLocaleData3
+{
+ /** returns a sequence of date acceptance patterns for a locale
+
+ <p> Patterns with input combinations that are accepted as
+ incomplete date input, such as <b>M/D</b> or <b>D.M.</b>
+ */
+ sequence< string > getDateAcceptancePatterns(
+ [in] com::sun::star::lang::Locale aLocale );
+};
+
+}; }; }; };
+
+#endif
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/XLocaleData5.idl b/offapi/com/sun/star/i18n/XLocaleData5.idl
new file mode 100644
index 000000000..5a1eeb9bc
--- /dev/null
+++ b/offapi/com/sun/star/i18n/XLocaleData5.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.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_i18n_XLocaleData5_idl__
+#define __com_sun_star_i18n_XLocaleData5_idl__
+
+#include <com/sun/star/i18n/XLocaleData4.idl>
+
+
+module com { module sun { module star { module i18n {
+
+
+/**
+ Access locale specific data.
+
+ <p> Derived from ::com::sun::star::i18n::XLocaleData4
+ this provides an additional method to return an instance of
+ com::sun::star::i18n::LocaleDataItem2
+
+ @since LibreOffice 6.0
+ */
+
+interface XLocaleData5 : com::sun::star::i18n::XLocaleData4
+{
+ /** returns an instance of com::sun::star::i18n::LocaleDataItem2 for
+ a Locale.
+ */
+ com::sun::star::i18n::LocaleDataItem2 getLocaleItem2( [in] com::sun::star::lang::Locale Locale );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/offapi/com/sun/star/i18n/XNativeNumberSupplier.idl b/offapi/com/sun/star/i18n/XNativeNumberSupplier.idl
new file mode 100644
index 000000000..a6a8a13c1
--- /dev/null
+++ b/offapi/com/sun/star/i18n/XNativeNumberSupplier.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_i18n_XNativeNumberSupplier_idl__
+#define __com_sun_star_i18n_XNativeNumberSupplier_idl__
+
+#include <com/sun/star/lang/Locale.idl>
+#include <com/sun/star/i18n/NativeNumberXmlAttributes.idl>
+
+
+module com { module sun { module star { module i18n {
+
+
+/** Methods to convert between strings of ASCII Arabic digits and native
+ numeral strings.
+
+ @since OOo 1.1.2
+ */
+
+published interface XNativeNumberSupplier : ::com::sun::star::uno::XInterface
+{
+ /** Returns native number string for given number string.
+
+ @param aNumberString
+ The input string.
+
+ @param nNativeNumberMode
+ One of NativeNumberMode values.
+
+ @param aLocale
+ The locale.
+ */
+ string getNativeNumberString( [in] string aNumberString,
+ [in] ::com::sun::star::lang::Locale aLocale,
+ [in] short nNativeNumberMode );
+
+ /** Check if the NatNum is valid for the given locale.
+
+ @param nNativeNumberMode
+ One of NativeNumberMode values.
+
+ @param aLocale
+ The locale.
+ */
+ boolean isValidNatNum( [in] ::com::sun::star::lang::Locale aLocale,
+ [in] short nNativeNumberMode );
+
+ /** Convert a specific NatNum/Locale combination to attributes used
+ in the XML file format.
+
+ @param nNativeNumberMode
+ One of NativeNumberMode values.
+
+ @param aLocale
+ The locale.
+ */
+ NativeNumberXmlAttributes convertToXmlAttributes(
+ [in] ::com::sun::star::lang::Locale aLocale,
+ [in] short nNativeNumberMode );
+
+ /** Convert XML attributes to a NatNum value.
+
+ @returns
+ One of NativeNumberMode
+ */
+ short convertFromXmlAttributes( [in] NativeNumberXmlAttributes aAttr );
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/XNativeNumberSupplier2.idl b/offapi/com/sun/star/i18n/XNativeNumberSupplier2.idl
new file mode 100644
index 000000000..bd125d096
--- /dev/null
+++ b/offapi/com/sun/star/i18n/XNativeNumberSupplier2.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_i18n_XNativeNumberSupplier2_idl__
+#define __com_sun_star_i18n_XNativeNumberSupplier2_idl__
+
+#include <com/sun/star/i18n/XNativeNumberSupplier.idl>
+
+
+module com { module sun { module star { module i18n {
+
+
+/** Methods to convert between strings of ASCII Arabic digits and native
+ numeral strings, using NatNum params.
+
+ @since LibreOffice 6.1
+
+ @internal
+
+ ATTENTION: This interface is marked <em>internal</em> and does not
+ have the <em>published</em> flag, which means it is subject to
+ change without notice and should not be used outside the LibreOffice core.
+ */
+
+interface XNativeNumberSupplier2 : ::com::sun::star::i18n::XNativeNumberSupplier
+{
+ /** Returns native number string for given number string, using NatNum params.
+
+ @param NumberString
+ The input string.
+
+ @param NativeNumberMode
+ One of NativeNumberMode values.
+
+ @param Locale
+ The locale.
+
+ @param NativeNumberParameters
+ The NatNum params (like "ordinal-digits" in [NatNum12 ordinal-digits]).
+ */
+ string getNativeNumberStringParams(
+ [in] string NumberString,
+ [in] ::com::sun::star::lang::Locale Locale,
+ [in] short NativeNumberMode,
+ [in] string NativeNumberParameters );
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/XNumberFormatCode.idl b/offapi/com/sun/star/i18n/XNumberFormatCode.idl
new file mode 100644
index 000000000..31af781c5
--- /dev/null
+++ b/offapi/com/sun/star/i18n/XNumberFormatCode.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_i18n_XNumberFormatCode_idl__
+#define __com_sun_star_i18n_XNumberFormatCode_idl__
+
+#include <com/sun/star/lang/Locale.idl>
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/i18n/NumberFormatCode.idl>
+
+
+module com { module sun { module star { module i18n {
+
+
+/**
+ Access number format codes defined in locale data.
+ */
+
+published interface XNumberFormatCode : com::sun::star::uno::XInterface
+{
+ /**
+ returns the default number format code of a specific category
+ (usage group) for a given locale and format length type.
+
+ @param nFormatType
+ one of the constants listed in KNumberFormatType
+
+ @param nFormatUsage
+ one of KNumberFormatUsage values
+
+ @param rLocale
+ The locale for which the format code is requested.
+ */
+ NumberFormatCode getDefault( [in] short nFormatType,
+ [in] short nFormatUsage,
+ [in] com::sun::star::lang::Locale rLocale );
+
+ /**
+ returns the number format pointed to by <em>nFormatIndex</em> for
+ a given locale.
+
+ @param nFormatIndex
+ one of NumberFormatIndex values
+
+ @param rLocale
+ The locale for which the format code is requested.
+ */
+ NumberFormatCode getFormatCode( [in] short nFormatIndex,
+ [in] com::sun::star::lang::Locale rLocale );
+
+ /**
+ returns all format codes for a given <em>nFormatUsage</em> and locale.
+
+ @param nFormatUsage
+ one of KNumberFormatUsage values
+
+ @param rLocale
+ The locale for which the format codes are requested.
+ */
+ sequence< NumberFormatCode > getAllFormatCode(
+ [in] short nFormatUsage,
+ [in] com::sun::star::lang::Locale rLocale );
+
+ /**
+ returns all format codes for a given locale.
+
+ @param rLocale
+ The locale for which the format codes are requested.
+ */
+ sequence< NumberFormatCode > getAllFormatCodes(
+ [in] com::sun::star::lang::Locale rLocale );
+
+};
+
+}; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/XOrdinalSuffix.idl b/offapi/com/sun/star/i18n/XOrdinalSuffix.idl
new file mode 100644
index 000000000..c5db13da7
--- /dev/null
+++ b/offapi/com/sun/star/i18n/XOrdinalSuffix.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_i18n_XOrdinalSuffix_idl__
+#define __com_sun_star_i18n_XOrdinalSuffix_idl__
+
+#include <com/sun/star/lang/Locale.idl>
+
+
+module com { module sun { module star { module i18n {
+
+
+/** provides access to locale specific ordinal suffix systems.
+
+ @since OOo 2.2
+
+ @internal
+
+ ATTENTION: This interface is marked <em>internal</em> and does not
+ have the <em>published</em> flag, which means it is subject to
+ change without notice and should not be used outside the OOo core.
+ */
+
+interface XOrdinalSuffix : com::sun::star::uno::XInterface
+{
+ /** Returns all the possible ordinal suffixes for the number.
+
+ This method will provide "<b>st</b>", "<b>nd</b>", "<b>rd</b>",
+ "<b>th</b>" for an English locale, depending on the provided number.
+ In some locales like French, Italian or Spanish it ca return several
+ suffixes for one number.
+
+ Examples: for the number '1', the values will be <b>st</b> in
+ English, but <b>er</b> and <b>re</b> in French. All these values
+ may depend on the underlying version of ICU.
+
+ */
+ sequence< string > getOrdinalSuffix( [in] long nNumber, [in] com::sun::star::lang::Locale aLocale );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/XScriptTypeDetector.idl b/offapi/com/sun/star/i18n/XScriptTypeDetector.idl
new file mode 100644
index 000000000..d96f428c2
--- /dev/null
+++ b/offapi/com/sun/star/i18n/XScriptTypeDetector.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_i18n_XScriptTypeDetector_idl__
+#define __com_sun_star_i18n_XScriptTypeDetector_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module i18n {
+
+
+/**
+ contains the help routines for layouting complex text
+
+ <p> Assumption - StartPos is inclusive and EndPos is exclusive. </p>
+
+ <p> The <em>nScriptDirection</em> parameters are of type
+ ScriptDirection</p>
+
+ @since OOo 1.1.2
+*/
+
+published interface XScriptTypeDetector : ::com::sun::star::uno::XInterface
+{
+
+ /** @returns the position where the specified Script Direction starts.
+ */
+ long beginOfScriptDirection( [in] string aText, [in] long nPos,
+ [in] short nScriptDirection );
+
+ /** @returns the position where the specified Script Direction ends.
+ */
+ long endOfScriptDirection( [in] string aText, [in] long nPos,
+ [in] short nScriptDirection );
+
+ /** @returns the Script Direction of the current position.
+ */
+ short getScriptDirection ([in] string aText, [in] long nPos,
+ [in] short nDefaultScriptDirection );
+
+ /** @returns the position where the specified CTL Script Type starts.
+ */
+ long beginOfCTLScriptType( [in] string aText, [in] long nPos);
+
+ /** @returns the position where the specified CTL Script Type ends.
+ */
+ long endOfCTLScriptType( [in] string aText, [in] long nPos);
+
+ /** @returns the CTL script type of the current position. <br/>
+ One of CTLScriptType constants.
+ */
+ short getCTLScriptType ([in] string aText, [in] long nPos);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/XTextConversion.idl b/offapi/com/sun/star/i18n/XTextConversion.idl
new file mode 100644
index 000000000..adfa7a3a5
--- /dev/null
+++ b/offapi/com/sun/star/i18n/XTextConversion.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_i18n_XTextConversion_idl__
+#define __com_sun_star_i18n_XTextConversion_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/Locale.idl>
+#include <com/sun/star/i18n/TextConversionResult.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/lang/NoSupportException.idl>
+
+
+
+module com { module sun { module star { module i18n {
+
+
+/** Method to convert text from one type to another
+
+ @since OOo 1.1.2
+*/
+published interface XTextConversion : ::com::sun::star::uno::XInterface
+{
+ /** Method to search dictionaries for the conversion candidates.
+
+ @param aText
+ Text string to be converted.
+ @param nStartPos
+ The start position in aText for the conversion
+ @param nLength
+ The length of the portion in aText for the conversion
+ @param Locale
+ Locale the conversion is referring to.
+ @param nTextConversionType
+ One of TextConversionType values.
+ @param nTextConversionOptions
+ Combination of TextConversionOption values.
+ @returns
+ TextConversionResult
+
+ @throws NoSupportException
+ when <var>nConversionDictionaryType</var> is not known by the implementation,
+ or when the locale is not supported.
+ */
+ TextConversionResult getConversions(
+ [in] string aText,
+ [in] long nStartPos,
+ [in] long nLength,
+ [in] ::com::sun::star::lang::Locale Locale,
+ [in] short nTextConversionType,
+ [in] long nTextConversionOptions )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::lang::NoSupportException );
+
+ /** Method to search dictionaries for the conversion candidate, if there
+ are multiple candidates, it will return first one. This is for the
+ conversion in non-interactive mode.
+
+ @param aText
+ Text string to be converted.
+ @param nStartPos
+ The start position in aText for the conversion
+ @param nLength
+ The length of the portion in aText for the conversion
+ @param Locale
+ Locale the conversion is referring to.
+ @param nTextConversionType
+ One of TextConversionType values.
+ @param nTextConversionOptions
+ Combination of TextConversionOption values.
+ @returns
+ Converted text
+
+ @throws NoSupportException
+ when <var>nConversionDictionaryType</var> is not known by the implementation,
+ or when the locale is not supported.
+ */
+ string getConversion(
+ [in] string aText,
+ [in] long nStartPos,
+ [in] long nLength,
+ [in] ::com::sun::star::lang::Locale Locale,
+ [in] short nTextConversionType,
+ [in] long nTextConversionOptions )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::lang::NoSupportException );
+
+ /** Method to query if the conversion type should be interactive or
+ non-interactive mode.
+
+ @param Locale
+ Locale the conversion is referring to.
+ @param nTextConversionType
+ One of TextConversionType values.
+ @param nTextConversionOptions
+ Combination of TextConversionOption values.
+ @returns
+ `TRUE` if the entry is a valid entry for the dictionary
+ `FALSE` otherwise.
+
+ @throws NoSupportException
+ when <var>nConversionDictionaryType</var> is not known by the implementation,
+ or when the locale is not supported.
+ */
+ boolean interactiveConversion(
+ [in] ::com::sun::star::lang::Locale Locale,
+ [in] short nTextConversionType,
+ [in] long nTextConversionOptions )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::lang::NoSupportException );
+};
+
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/XTransliteration.idl b/offapi/com/sun/star/i18n/XTransliteration.idl
new file mode 100644
index 000000000..4c6144776
--- /dev/null
+++ b/offapi/com/sun/star/i18n/XTransliteration.idl
@@ -0,0 +1,315 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_i18n_XTransliteration_idl__
+#define __com_sun_star_i18n_XTransliteration_idl__
+
+#include <com/sun/star/lang/Locale.idl>
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/i18n/TransliterationModules.idl>
+#include <com/sun/star/i18n/TransliterationModulesNew.idl>
+
+
+module com { module sun { module star { module i18n {
+
+
+/**
+ Character conversions like case folding or Hiragana to Katakana.
+
+ <p> Transliteration is a character to character conversion but it is
+ not always a one to one mapping between characters. Transliteration
+ modules are primarily used by collation, and search and replace
+ modules to perform approximate search. It can also be used to format
+ the numbers in different numbering systems. </p>
+
+ <p> In order to select transliteration modules for different
+ purposes, they are classified with attributes of
+ TransliterationType. </p>
+
+ <p> For Western languages there would be three transliteration
+ modules available to compare two mixed case strings: upper to lower,
+ lower to upper, and ignore case. </p>
+
+ <p> A typical calling sequence of transliteration is
+ <ol>
+ <li> getAvailableModules() </li>
+ <li> loadModulesByImplNames() </li>
+ <li> equals() </li>
+ </ol>
+ or another one is
+ <ol>
+ <li> loadModule() </li>
+ <li> transliterate() </li>
+ </ol>
+ </p>
+
+*/
+
+/* comment:
+ * 0.
+ * All the IGNORE-type functionalities (Range, equals) are based on mapping.
+ * except equals() method in IGNORE_CASE, which is based on Locale-independent
+ * case folding
+ * ( This second assumption is very complicated and may cause confusion of use)
+ *
+ * 1.
+ * We are assuming Upper to Lower mapping as one of transliteration.
+ * The mapping depends on Locale.
+ * Upper <-> Lower methods are just wrappers to provide equals() and Range()
+ *
+ * 2.
+ * equals() in IGNORE_CASE module is locale-independent and
+ * we don't provide locale-sensitive ones.
+ * The reason we provided locale-independent ones is that IGNORE_CASE is mainly
+ * dedicated to StarOffice internal code.
+ *
+ * 3.
+ * TransliterationModules is used just for convenience without calling
+ * getAvailableModule.
+ *
+ * 4.
+ * Implementation name in the methods below is not the same as
+ * the true implementation name registered.
+ * In particular, for generic modules:"UPPERCASE_LOWERCASE",
+ * "LOWERCASE_UPPERCASE", "IGNORE_CASE", there is no registered name.
+ */
+
+
+published interface XTransliteration: com::sun::star::uno::XInterface
+{
+
+ /** Unique ASCII name to identify a module. This name is used
+ to get its localized name for menus, dialogs etc. The behavior
+ is undefined for TransliterationType::CASCADE
+ modules.
+ */
+ string getName();
+
+ /** Return the attribute(s) associated with this transliteration
+ object, as defined in TransliterationType. The
+ value is determined by the transliteration modules. For example,
+ for UPPERCASE_LOWERCASE, a ONE_TO_ONE is returned, for
+ IGNORE_CASE, IGNORE is returned.
+ */
+ short getType();
+
+ /** Load instance of predefined module - old style method.
+ */
+ void loadModule( [in] TransliterationModules eModType,
+ [in] ::com::sun::star::lang::Locale aLocale );
+
+ /** Load a sequence of instances of predefined modules - supersedes
+ method XTransliteration::loadModule().
+ */
+ void loadModuleNew( [in] sequence <TransliterationModulesNew> aModType,
+ [in] ::com::sun::star::lang::Locale aLocale );
+
+ /** Load instance of UNO registered module.
+
+ <p> Each transliteration module is registered under a different
+ service name. The convention for the service name is
+ com.sun.star.i18n.Transliteration.l10n.{implName}. The
+ {implName} is a unique name used to identify a module. The
+ implName is used to get a localized name for the transliteration
+ module. The implName is used in locale data to list the
+ available transliteration modules for the locale. There are some
+ transliteration modules that are always available. The names of
+ those modules are listed as enum
+ TransliterationModules names. For modules not
+ listed there it is possible to load them directly by their
+ implName.
+
+ @param aImplName
+ The module's {implName} under which it is registered with
+ com.sun.star.i18n.Transliteration.l10n.{implName}.
+ @param aLocale
+ The locale for which the module is requested.
+ */
+ void loadModuleByImplName( [in] string aImplName,
+ [in] ::com::sun::star::lang::Locale aLocale );
+
+ /** Load a sequence of instances of transliteration modules.
+ Output of one module is fed as input to the next module in
+ the sequence. The object created by this call has
+ TransliterationType CASCADE and IGNORE types.
+
+ @param aImplNameList
+ Only IGNORE type modules can be specified.
+ @param aLocale
+ The locale for which the modules are requested.
+ */
+ void loadModulesByImplNames( [in] sequence <string> aImplNameList,
+ [in] ::com::sun::star::lang::Locale aLocale );
+
+ /** List the available transliteration modules for a given locale.
+ It can be filtered based on its type.
+
+ @param nType
+ A bitmask field of values defined in
+ TransliterationType
+ @param aLocale
+ The locale for which the modules are requested.
+ */
+ sequence<string> getAvailableModules(
+ [in] ::com::sun::star::lang::Locale aLocale,
+ [in] short nType );
+
+
+ /** Transliterate a substring. This method can be called if the
+ object doesn't have TransliterationType IGNORE
+ attribute.
+
+ @param aInStr
+ The input string.
+
+ @param nStartPos
+ Start position within aInStr from where transliteration starts.
+
+ @param nCount
+ Number of code points to be transliterated.
+
+ @param rOffset
+ To find the grapheme of input string corresponding to the
+ grapheme of output string, rOffset provides the offset array
+ whose index is the offset of output string, the element
+ containing the position within the input string before
+ transliteration.
+ */
+ string transliterate( [in] string aInStr, [in] long nStartPos,
+ [in] long nCount, [out] sequence <long> rOffset );
+
+ /** @deprecated
+ For internal use, this method is supported to get the
+ "transliteration", which equals() is based on.
+ */
+ string folding( [in] string aInStr, [in] long nStartPos,
+ [in] long nCount, [out] sequence <long> rOffset );
+
+ /** Match two substrings and find if they are equivalent as per this
+ transliteration.
+
+ <p> This method can be called if the object has
+ TransliterationType IGNORE attribute. </p>
+
+ <p> Returns the number of matched code points in any case, even if
+ strings are not equal, for example: <br>
+ equals( "a", 0, 1, nMatch1, "aaa", 0, 3, nMatch2 ) <br>
+ returns `FALSE` and nMatch:=1 and nMatch2:=1 <br>
+ equals( "aab", 0, 3, nMatch1, "aaa", 0, 3, nMatch2 ) <br>
+ returns `FALSE` and nMatch:=2 and nMatch2:=2 <br> </p>
+
+ @param aStr1
+ First string to match.
+
+ @param nPos1
+ Start position within aStr1.
+
+ @param nCount1
+ Number of code points to use of aStr1.
+
+ @param rMatch1
+ Returns number of matched code points in aStr1.
+
+ @param aStr2
+ Second string to match.
+
+ @param nPos2
+ Start position within aStr2.
+
+ @param nCount2
+ Number of code points to use of aStr2.
+
+ @param rMatch2
+ Returns number of matched code points in aStr2.
+
+ @returns
+ `TRUE` if the substrings are equal per this
+ transliteration <br>
+ `FALSE` else.
+ */
+
+ boolean equals( [in] string aStr1, [in] long nPos1, [in] long nCount1,
+ [out] long rMatch1,
+ [in] string aStr2, [in] long nPos2, [in] long nCount2,
+ [out] long rMatch2 );
+
+ /** Transliterate one set of characters to another.
+
+ <p> This method is intended for getting corresponding ranges and
+ can be called if the object has TransliterationType
+ IGNORE attribute. </p>
+
+ <p> For example: generic CASE_IGNORE transliterateRange( "a", "i" )
+ returns {"A","I","a","i"}, transliterateRange( "a", "a" )
+ returns {"A","A","a","a"}. </p>
+
+ <p> Use this transliteration to create regular expressions like
+ [a-i] --> [A-Ia-i]. </p>
+
+ @returns
+ String sequence containing corresponding transliterated
+ pairs of characters to represent a range.
+ */
+ sequence <string> transliterateRange( [in] string aStr1, [in] string aStr2 );
+
+ /** Compare 2 substrings as per this transliteration. It translates both
+ substrings before comparing them.
+
+ @param aStr1
+ First string.
+
+ @param nOff1
+ Offset (from 0) of the first substring.
+
+ @param nLen1
+ Length (from offset) of the first substring.
+
+ @param aStr2
+ Second string.
+
+ @param nOff2
+ Offset (from 0) of the second substring.
+
+ @param nLen2
+ Length (from offset) of the second substring.
+
+ @returns
+ 1 if the first substring is greater than the second substring <br>
+ 0 if the first substring is equal to the second substring <br>
+ -1 if the first substring is less than the second substring
+ */
+ long compareSubstring( [in] string aStr1, [in] long nOff1, [in] long nLen1,
+ [in] string aStr2, [in] long nOff2, [in] long nLen2 );
+
+ /** Compare 2 strings as per this transliteration. It translates both
+ strings before comparing them.
+
+ @returns
+ 1 if the first string is greater than the second string <br>
+ 0 if the first string is equal to the second string <br>
+ -1 if the first string is less than the second string
+ */
+ long compareString( [in] string aStr1, [in] string aStr2 );
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/reservedWords.idl b/offapi/com/sun/star/i18n/reservedWords.idl
new file mode 100644
index 000000000..de4f2a3cb
--- /dev/null
+++ b/offapi/com/sun/star/i18n/reservedWords.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_i18n_reservedWords_idl__
+#define __com_sun_star_i18n_reservedWords_idl__
+
+
+module com { module sun { module star { module i18n {
+
+
+/**
+ Offsets into the sequence of strings returned by
+ XLocaleData::getReservedWord().
+
+ @see XLocaleData
+ for links to DTD of XML locale data files.
+ */
+
+published constants reservedWords
+{
+ /// "true"
+ const short TRUE_WORD = 0;
+ /// "false"
+ const short FALSE_WORD = 1;
+ /// "1st quarter"
+ const short QUARTER1_WORD = 2;
+ /// "2nd quarter"
+ const short QUARTER2_WORD = 3;
+ /// "3rd quarter"
+ const short QUARTER3_WORD = 4;
+ /// "4th quarter"
+ const short QUARTER4_WORD = 5;
+ /// "above"
+ const short ABOVE_WORD = 6;
+ /// "below"
+ const short BELOW_WORD = 7;
+ /// "Q1"
+ const short QUARTER1_ABBREVIATION = 8;
+ /// "Q2"
+ const short QUARTER2_ABBREVIATION = 9;
+ /// "Q3"
+ const short QUARTER3_ABBREVIATION = 10;
+ /// "Q4"
+ const short QUARTER4_ABBREVIATION = 11;
+
+ //! Yes, this must be the count of known reserved words and one more than
+ //! the maximum number used above!
+ /// Count of known reserved words.
+ const short COUNT = 12;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/image/ImageMap.idl b/offapi/com/sun/star/image/ImageMap.idl
new file mode 100644
index 000000000..12685af7a
--- /dev/null
+++ b/offapi/com/sun/star/image/ImageMap.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_image_ImageMap_idl__
+#define __com_sun_star_image_ImageMap_idl__
+
+#include <com/sun/star/container/XNamed.idl>
+#include <com/sun/star/container/XIndexContainer.idl>
+
+
+ module com { module sun { module star { module image {
+
+
+/** This service specifies a HTML image map.
+ */
+published service ImageMap
+{
+ /** an ImageMap can, optionally, have a name. */
+ interface ::com::sun::star::container::XNamed;
+
+ /** this container interface gives access to
+ the objects inside this image map.
+ @see ImageMapRectangleObject
+ @see ImageMapCircleObject
+ @see ImageMapPolygonObject
+ */
+ interface ::com::sun::star::container::XIndexContainer;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/image/ImageMapCircleObject.idl b/offapi/com/sun/star/image/ImageMapCircleObject.idl
new file mode 100644
index 000000000..d3fdec66d
--- /dev/null
+++ b/offapi/com/sun/star/image/ImageMapCircleObject.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_image_ImageMapCircleObject_idl__
+#define __com_sun_star_image_ImageMapCircleObject_idl__
+
+#include <com/sun/star/image/ImageMapObject.idl>
+
+#include <com/sun/star/awt/Point.idl>
+
+
+ module com { module sun { module star { module image {
+
+
+/** this service describes a circular-shaped region inside
+ a HTML image map.
+ @see ImageMap
+ @see ImageMapObject
+*/
+published service ImageMapCircleObject
+{
+ /** The basic service for all image map objects. */
+ service ImageMapObject;
+
+ /** This is the center point of the circle in pixels */
+ [property] com::sun::star::awt::Point Center;
+
+ /** This is the radius of the circle in pixels */
+ [property] long Radius;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/image/ImageMapObject.idl b/offapi/com/sun/star/image/ImageMapObject.idl
new file mode 100644
index 000000000..8a9ea20dd
--- /dev/null
+++ b/offapi/com/sun/star/image/ImageMapObject.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_image_ImageMapObject_idl__
+#define __com_sun_star_image_ImageMapObject_idl__
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+#include <com/sun/star/document/XEventsSupplier.idl>
+
+
+ module com { module sun { module star { module image {
+
+
+/** this is a base service for objects inside an image map.
+ @see ImageMap
+ @see ImageMapRectangleObject
+ @see ImageMapCircleObject
+ @see ImageMapPolygonObject
+*/
+published service ImageMapObject
+{
+ /** Interface to access the properties of this service. */
+ interface ::com::sun::star::beans::XPropertySet;
+
+ /** This interface gives access to the events bound to
+ this ImageMapObject.<p>
+
+ @see com::sun::star::document::Events
+ */
+ interface com::sun::star::document::XEventsSupplier;
+
+ /** This is the URL for this object */
+ [property] string URL;
+
+ /** This is an optional description text for the link. */
+ [property] string Description;
+
+ /** This is the target frame */
+ [property] string Target;
+
+ /** Optionally, objects could be named. */
+ [property] string Name;
+
+ /** If an object is not active, it is ignored when
+ the user clicks on the ImageMap.
+ */
+ [property] boolean IsActive;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/image/ImageMapPolygonObject.idl b/offapi/com/sun/star/image/ImageMapPolygonObject.idl
new file mode 100644
index 000000000..b472a1774
--- /dev/null
+++ b/offapi/com/sun/star/image/ImageMapPolygonObject.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_image_ImageMapPolygonObject_idl__
+#define __com_sun_star_image_ImageMapPolygonObject_idl__
+
+#include <com/sun/star/image/ImageMapObject.idl>
+
+#include <com/sun/star/drawing/PointSequence.idl>
+
+
+ module com { module sun { module star { module image {
+
+
+/** this service describes a polygon-shaped region inside
+ a HTML image map.
+ @see ImageMap
+ @see ImageMapObject
+*/
+published service ImageMapPolygonObject
+{
+ /** The basic service for all image map objects. */
+ service ImageMapObject;
+
+ /** This sequence of points outlines the click area of
+ this image map object. */
+ [property] com::sun::star::drawing::PointSequence Polygon;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/image/ImageMapRectangleObject.idl b/offapi/com/sun/star/image/ImageMapRectangleObject.idl
new file mode 100644
index 000000000..fa8b21763
--- /dev/null
+++ b/offapi/com/sun/star/image/ImageMapRectangleObject.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_image_ImageMapRectangleObject_idl__
+#define __com_sun_star_image_ImageMapRectangleObject_idl__
+
+#include <com/sun/star/image/ImageMapObject.idl>
+
+#include <com/sun/star/awt/Rectangle.idl>
+
+
+ module com { module sun { module star { module image {
+
+
+/** this service describes a rectangular-shaped region inside
+ a HTML image map.
+ @see ImageMap
+ @see ImageMapObject
+*/
+published service ImageMapRectangleObject
+{
+ /** The basic service for all image map objects. */
+ service ImageMapObject;
+
+ /** This is the boundary of this rectangle object */
+ [property] com::sun::star::awt::Rectangle Boundary;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/inspection/DefaultHelpProvider.idl b/offapi/com/sun/star/inspection/DefaultHelpProvider.idl
new file mode 100644
index 000000000..5c2be9aa7
--- /dev/null
+++ b/offapi/com/sun/star/inspection/DefaultHelpProvider.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_inspection_DefaultHelpProvider_idl__
+#define __com_sun_star_inspection_DefaultHelpProvider_idl__
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+module com { module sun { module star { module inspection {
+
+interface XObjectInspectorUI;
+
+
+/** implements a component which can default-fill the help section of an
+ ObjectInspector.
+
+ <p>The component registers a XPropertyControlObserver at an
+ XObjectInspectoryUI interface. Whenever it then is notified
+ of a XPropertyControl getting the focus, it will try to deduce
+ the extended help text of this control's window, and set this help text at the
+ object inspector's help section.</p>
+ */
+service DefaultHelpProvider : com::sun::star::uno::XInterface
+{
+ /** creates a help provider instance
+ @param InspectorUI
+ provides access to the UI of the ObjectInspector which should be
+ observed. Must not be `NULL`.
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if the given inspector UI is `NULL`.
+ */
+ create( [in] XObjectInspectorUI InspectorUI )
+ raises ( ::com::sun::star::lang::IllegalArgumentException );
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/inspection/GenericPropertyHandler.idl b/offapi/com/sun/star/inspection/GenericPropertyHandler.idl
new file mode 100644
index 000000000..a399885ac
--- /dev/null
+++ b/offapi/com/sun/star/inspection/GenericPropertyHandler.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_inspection_GenericPropertyHandler_idl__
+#define __com_sun_star_inspection_GenericPropertyHandler_idl__
+
+#include <com/sun/star/inspection/XPropertyHandler.idl>
+
+module com { module sun { module star { module inspection {
+
+/** implements a general-purpose XPropertyHandler
+
+ <p>The property handler implemented by this service will do an introspection
+ on the provided components, and expose the properties obtained via
+ XIntrospectionAccess::getProperties.</p>
+
+ <p>The handler will automatically determine the best type of property control
+ to represent a certain property, depending on the property type. This includes,
+ for example, list box controls to represent enumeration properties.</p>
+
+ @see XPropertyHandler
+ @see scom::sun::star::beans::XIntrospectionAccess
+ @see XPropertyControl
+
+ @since OOo 2.0.3
+*/
+service GenericPropertyHandler : XPropertyHandler;
+
+
+}; }; }; };
+
+#endif
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/inspection/InteractiveSelectionResult.idl b/offapi/com/sun/star/inspection/InteractiveSelectionResult.idl
new file mode 100644
index 000000000..028a1697f
--- /dev/null
+++ b/offapi/com/sun/star/inspection/InteractiveSelectionResult.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_inspection_InteractiveSelectionResult_idl__
+#define __com_sun_star_inspection_InteractiveSelectionResult_idl__
+
+module com { module sun { module star { module inspection {
+
+/** describes possible results of an interactive selection of a property value
+ in an object inspector
+
+ @see XPropertyHandler::onInteractivePropertySelection
+
+ @since OOo 2.0.3
+*/
+enum InteractiveSelectionResult
+{
+ /** The interactive selection of a property value was canceled.
+ */
+ Cancelled,
+
+ /** The interactive selection of a property value succeeded, and the
+ new property value chosen by the user has already been set at the
+ inspected component.
+ */
+ Success,
+
+ /** The interactive selection of a property value succeeded, a new
+ property value has been obtained, but not yet set at the inspected
+ component.
+
+ <p>In this case, the obtained value is passed to the caller of
+ XPropertyHandler::onInteractivePropertySelection(), which is
+ responsible for forwarding this value to the inspected component.</p>
+ */
+ ObtainedValue,
+
+ /** The interactive selection of a property value is still pending.
+
+ <p>This is usually used when this selection involves non-modal user interface.</p>
+ */
+ Pending
+};
+
+
+}; }; }; };
+
+#endif
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/inspection/LineDescriptor.idl b/offapi/com/sun/star/inspection/LineDescriptor.idl
new file mode 100644
index 000000000..93fc05cae
--- /dev/null
+++ b/offapi/com/sun/star/inspection/LineDescriptor.idl
@@ -0,0 +1,189 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_inspection_LineDescriptor_idl__
+#define __com_sun_star_inspection_LineDescriptor_idl__
+
+#include <com/sun/star/graphic/XGraphic.idl>
+
+module com { module sun { module star { module inspection {
+
+interface XPropertyControl;
+
+/** describes the appearance of a line representing a single property in an ObjectInspector.
+
+ Such a line consists of
+ <ul><li>a label with a human-readable name for the property</li>
+ <li>a control which is used for user interaction - i.e. it displays the current property
+ value, and allows the user entering a new one.</li>
+ <li>(optional) one or two buttons which, when clicked, can start a more complex, interactive
+ property value input. For instance, if you have a property whose value is a path in the
+ file system, such a button could be used to let the user browse for a path with a
+ usual file picker.</li>
+ </ul>
+
+ @see XPropertyHandler::describePropertyLine
+ @see PropertyLineElement
+
+ @since OOo 2.0.3
+*/
+struct LineDescriptor
+{
+ /** denotes the human-readable display name used to present a property to the user
+ */
+ string DisplayName;
+
+ /** denotes the control which should be used to represent the property at the UI.
+
+ @see XPropertyControlFactory
+ */
+ XPropertyControl Control;
+
+ /** specifies the URL to the help topic to be associated with the property
+ */
+ string HelpURL;
+
+ /** determines whether a button exists which can be used for a more complex, interactive
+ property value input.
+
+ <p>If no image for the primary button is specified, but a primary button is present,
+ the three dots will be displayed on the button.</p>
+
+ @see XPropertyHandler::onInteractivePropertySelection
+ @see HasSecondaryButton
+ @see PrimaryButtonImageURL
+ @see PrimaryButtonImage
+ */
+ boolean HasPrimaryButton;
+
+ /** describes a unique id to associate with the primary button
+
+ <p>In OpenOffice.org, UI elements sometimes require a so-called UniqueID, which can be
+ used to uniquely (within the whole application) identify this UI element. For instance,
+ automating the OpenOffice.org UI via a dedicated separate application ("TestTool") requires
+ such IDs.</p>
+
+ <p>If a primary button exists for a property's UI representation (#HasPrimaryButton),
+ it gets the ID specified herein.</p>
+ */
+ string PrimaryButtonId;
+
+ /** describes the URL of an image to display on the primary button, if any.
+
+ <p>This URL will be used to obtain an actual com::sun::star::graphic::XGraphic
+ object from a com::sun::star::graphic::GraphicProvider.</p>
+
+ <p>The property will be ignored if #HasPrimaryButton is `FALSE`.</p>
+
+ <p>If you need to specify a graphic which does not have a URL, but is available as
+ com::sun::star::graphic::XGraphic only, then you must leave
+ <code>PrimaryButtonImageURL</code> empty, and use the #PrimaryButtonImage property.
+
+ @see PrimaryButtonImage
+ */
+ string PrimaryButtonImageURL;
+
+ /** describes a graphics to display at the primary button, if any.
+
+ <p>The property will be ignored if #HasPrimaryButton is `FALSE`, or
+ if #PrimaryButtonImageURL is a non-empty string.</p>
+
+ @see HasPrimaryButton
+ @see PrimaryButtonImageURL
+ */
+ com::sun::star::graphic::XGraphic PrimaryButtonImage;
+
+ /** determines whether a secondary button exists which can be used for a more complex, interactive
+ property value input.
+
+ <p>A secondary button subordinated to the primary button. If no primary button exists
+ (#HasPrimaryButton), this member is ignored.</p>
+
+ @see XPropertyHandler::onInteractivePropertySelection
+ @see HasSecondaryButton
+ */
+ boolean HasSecondaryButton;
+
+ /** describes a unique id to associate with the primary button
+
+ <p>If a secondary button exists for a property's UI representation (#HasSecondaryButton),
+ it gets the ID specified herein.</p>
+
+ @see PrimaryButtonId
+ */
+ string SecondaryButtonId;
+
+ /** describes the URL of an image to display on the secondary button, if any.
+
+ <p>This URL will be used to obtain an actual com::sun::star::graphic::XGraphic
+ object from a com::sun::star::graphic::GraphicProvider.</p>
+
+ <p>The property will be ignored if #HasSecondaryButton is `FALSE`.</p>
+
+ <p>If you need to specify a graphic which does not have a URL, but is available as
+ com::sun::star::graphic::XGraphic only, then you must leave
+ <code>SecondaryButtonImageURL</code> empty, and use the #SecondaryButtonImage property.
+
+ @see SecondaryButtonImage
+ */
+ string SecondaryButtonImageURL;
+
+ /** describes a graphics to display at the secondary button, if any.
+
+ <p>The property will be ignored if #HasSecondaryButton is `FALSE`, or
+ if #SecondaryButtonImageURL is a non-empty string.</p>
+
+ @see HasSecondaryButton
+ @see SecondaryButtonImageURL
+ */
+ com::sun::star::graphic::XGraphic SecondaryButtonImage;
+
+ /** describes the indent level for the property
+
+ <p>If a given property semantically depends on another one, the indent level
+ can be used to visually represent this fact. For this, the dependent property's
+ indent level would be one larger than the indent level of the other property.</p>
+
+ <p>Normally, XPropertyHandlers will set this to <code>0</code> when describing
+ the UI for a normal property.
+ */
+ short IndentLevel;
+
+ /** describes the category into which the property should be sorted by the ObjectInspector.
+
+ <p>An ObjectInspector can visually group properties which semantically belong
+ together (for instance using tab pages). The decision which properties actually belong together
+ is made using this #Category attribute.</p>
+
+ <p>For your implementation of XPropertyHandler, it's recommended that you document the programmatic
+ names used for property categories. This way, your handler might be re-used in
+ different contexts, where only the XObjectInspectorModel needs to provide consistent
+ UI names for the categories.</p>
+
+ @see XObjectInspectorModel::describeCategories
+ */
+ string Category;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/inspection/ObjectInspector.idl b/offapi/com/sun/star/inspection/ObjectInspector.idl
new file mode 100644
index 000000000..e0bbef911
--- /dev/null
+++ b/offapi/com/sun/star/inspection/ObjectInspector.idl
@@ -0,0 +1,96 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_inspection_ObjectInspector_idl__
+#define __com_sun_star_inspection_ObjectInspector_idl__
+
+#include <com/sun/star/inspection/XObjectInspector.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+module com { module sun { module star { module inspection {
+
+/** describes a com::sun::star::frame::Controller which can be used to
+ browse and modify properties of components.
+
+ <p>The controller can be plugged into a com::sun::star::frame::XFrame, and will
+ provide a visual component for inspecting and modifying component properties.<br>
+ Note that "property" here is a generic term - any aspect of a component can be considered a property,
+ as long as some property handler is able to describe this aspect in a property-like way.</p>
+
+ <p>The basic idea is that one facet of the inspected component is represented by a single line
+ of controls: A label, an input control, and optionally one or two buttons which, when pressed,
+ trigger additional user interaction (e.g. a more sophisticated dialog to enter a property value).</p>
+
+ <p>Additionally, property lines can be grouped into different categories. A usual implementation
+ of such categories would be tab pages, but other implementations are possible, too.</p>
+
+ <p>Even more, the inspector can optionally display a help section at the bottom of its
+ window, which can display arbitrary (context-sensitive) help texts.</p>
+
+ <p>An ObjectInspector needs one or more property handlers which describe
+ the facets of an inspected component - without such handlers, the inspector window will simply
+ stay empty.</p>
+
+ <p>The property handlers, as well as more information about the layout of the inspector,
+ are provided by an inspector model, which has to be implemented by the user of the inspector.</p>
+ </p>
+
+ <p>Since property handlers might have the need to raise UI, they will be created with a context
+ value named "DialogParentWindow", which contains an XWindow which should be used as parent of
+ any windows to raise.<br>
+ If the com::sun::star::uno::XComponentContext in which the ObjectInspector
+ was created already contains such a value, it is not overwritten. Only if it doesn't, the inspector
+ will add an own value - which contains the inspector's main window - to the context when creating
+ handlers.</p>
+
+ @see XPropertyHandler
+ @see LineDescriptor
+ @see PropertyControlType
+ @see ObjectInspectorModel
+ @see com::sun::star::uno::XComponentContext
+ @see com::sun::star::lang::XMultiComponentFactory
+
+ @since OOo 2.0.3
+*/
+service ObjectInspector : XObjectInspector
+{
+ /** creates a default instance of the ObjectInspector
+
+ @since OOo 2.2
+ */
+ createDefault();
+
+ /** creates an instance of the ObjectInspector, using a given ObjectInspectorModel
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if Model is `NULL`.
+
+ @since OOo 2.2
+ */
+ createWithModel( [in] XObjectInspectorModel Model )
+ raises ( ::com::sun::star::lang::IllegalArgumentException );
+};
+
+
+}; }; }; };
+
+#endif
+
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/inspection/ObjectInspectorModel.idl b/offapi/com/sun/star/inspection/ObjectInspectorModel.idl
new file mode 100644
index 000000000..e70bb4387
--- /dev/null
+++ b/offapi/com/sun/star/inspection/ObjectInspectorModel.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_inspection_ObjectInspectorModel_idl__
+#define __com_sun_star_inspection_ObjectInspectorModel_idl__
+
+#include <com/sun/star/inspection/XObjectInspectorModel.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+module com { module sun { module star { module inspection {
+
+/** describes a default implementation of an ObjectInspectorModel
+
+ <p>This service simplifies usage of an ObjectInspector.</p>
+
+ <p>The XObjectInspectorModel implemented by this service will not provide any property
+ categories, nor apply any particular order to the properties provided by its handler(s).</p>
+
+ @see ObjectInspector
+ @see XObjectInspectorModel
+ @see XObjectInspectorModel::describeCategories
+ @see XObjectInspectorModel::getPropertyOrderIndex
+
+ @since OOo 2.0.3
+*/
+service ObjectInspectorModel : XObjectInspectorModel
+{
+ /** creates a default ObjectInspectorModel, whose one and only handler factory
+ creates a GenericPropertyHandler.
+ */
+ createDefault();
+
+ /** creates a default ObjectInspectorModel, using an externally provided sequence of property handler
+ factories.
+
+ @param handlerFactories
+ a sequence of handler factories, as to be provided in the XObjectInspectorModel::HandlerFactories
+ method.
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if the given sequence is empty.
+
+ @see XObjectInspectorModel::HandlerFactories
+ */
+ createWithHandlerFactories( [in] sequence< any > handlerFactories )
+ raises ( ::com::sun::star::lang::IllegalArgumentException );
+
+ /** creates a default ObjectInspectorModel, using an externally provided sequence of property handler
+ factories, and describing an ObjectInspector which has a help section.
+
+ @param handlerFactories
+ a sequence of handler factories, as to be provided in the XObjectInspectorModel::HandlerFactories
+ method.
+
+ @param minHelpTextLines
+ denotes the minimum number of lines of text to be reserved for the help
+ section.
+
+ @param maxHelpTextLines
+ denotes the maximum number of lines of text to be reserved for the help
+ section.
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if handlerFactories is empty.
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if minHelpTextLines or maxHelpTextLines are negative,
+ or if minHelpTextLines is greater than maxHelpTextLines.
+
+ @see XObjectInspectorModel::HandlerFactories
+ @see XObjectInspectorModel::HasHelpSection
+ @see XObjectInspectorModel::MinHelpTextLines
+ @see XObjectInspectorModel::MaxHelpTextLines
+
+ @since OOo 2.2
+ */
+ createWithHandlerFactoriesAndHelpSection(
+ [in] sequence< any > handlerFactories,
+ [in] long minHelpTextLines,
+ [in] long maxHelpTextLines
+ )
+ raises ( ::com::sun::star::lang::IllegalArgumentException );
+};
+
+
+}; }; }; };
+
+#endif
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/inspection/PropertyCategoryDescriptor.idl b/offapi/com/sun/star/inspection/PropertyCategoryDescriptor.idl
new file mode 100644
index 000000000..e939df39d
--- /dev/null
+++ b/offapi/com/sun/star/inspection/PropertyCategoryDescriptor.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_inspection_PropertyCategoryDescriptor_idl__
+#define __com_sun_star_inspection_PropertyCategoryDescriptor_idl__
+
+module com { module sun { module star { module inspection {
+
+/** describes a category of properties
+ @see ObjectInspector
+ @see XObjectInspectorModel::describeCategory
+ @see LineDescriptor::Category
+
+ @since OOo 2.0.3
+*/
+struct PropertyCategoryDescriptor
+{
+ /** contains the programmatic name of the category.
+
+ <p>This programmatic name is used internally: XPropertyHandler::describePropertyLine()
+ sets a programmatic category name at LineDescriptor::Category,
+ and an object inspector uses this to find the proper PropertyCategoryDescriptor.</p>
+ */
+ string ProgrammaticName;
+
+ /** provides a human-readable name (which can be presented at the UI) for a category.
+ */
+ string UIName;
+
+ /** provides a help URL to be associated with a category
+ */
+ string HelpURL;
+};
+
+
+}; }; }; };
+
+#endif
+
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/inspection/PropertyControlType.idl b/offapi/com/sun/star/inspection/PropertyControlType.idl
new file mode 100644
index 000000000..b5eb40952
--- /dev/null
+++ b/offapi/com/sun/star/inspection/PropertyControlType.idl
@@ -0,0 +1,144 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_inspection_PropertyControlType_idl__
+#define __com_sun_star_inspection_PropertyControlType_idl__
+
+module com { module sun { module star { module inspection {
+
+/** describes pre-defined possible control types to be used to display and enter
+ property values within an ObjectInspector.
+
+ <p>The type of a control determines its visual appearance, its behavior, and - important
+ for property handlers using a control - the expected type when reading and writing the
+ control's value.</p>
+
+ @see XPropertyControl
+ @see XPropertyControlFactory
+ @see XPropertyControl::ValueType
+
+ @since OOo 2.0.3
+*/
+constants PropertyControlType
+{
+ /** denotes a control which allows the user to choose from a list of
+ possible property values
+
+ <p>Controls of type #ListBox exchange their values as <code>string</code>.</p>
+
+ <p>Additionally, those controls support the XStringListControl interface.</p>
+ */
+ const short ListBox = 1;
+
+ /** denotes a control which allows the user to choose from a list of
+ possible property values, combined with the possibility to enter a new
+ property value.
+
+ <p>Controls of type #ComboBox exchange their values as <code>string</code>.</p>
+
+ <p>Additionally, those controls support the XStringListControl interface.</p>
+ */
+ const short ComboBox = 2;
+
+ /** denotes a control which allows the user to enter property values consisting of a single line of text
+
+ <p>Controls of type #TextField exchange their values as <code>string</code>.</p>
+ */
+ const short TextField = 3;
+
+ /** denotes a control which allows the user to enter pure text, including line breaks
+
+ <p>Controls of type #MultiLineTextField exchange their values as <code>string</code>.</p>
+ */
+ const short MultiLineTextField = 4;
+
+ /** denotes a control which allows the user to enter a single character
+
+ <p>Controls of type #CharacterField exchange their values as <code>short</code>,
+ being a single UTF-16 character.</p>
+ */
+ const short CharacterField = 5;
+
+ /** denotes a control which allows the user to enter a list of single-line strings
+
+ <p>Controls of type #StringListField exchange their values as
+ <code>sequence&lt; string &gt;</code>.</p>
+ */
+ const short StringListField = 6;
+
+ /** denotes a control which allows the user to choose from a list of colors.
+
+ <p>Controls of type #ColorListBox usually exchange their values as
+ com::sun::star::util::Color.</p>
+
+ <p>Additionally, those controls support the XStringListControl interface. If you use
+ this interface to add additional entries to the list box, which have no color associated with it,
+ then you can also exchange values as <code>string</code>. That is, if you write a string into
+ XPropertyControl::Value, and if this string has previously been added to the list
+ using the XStringListControl interface, this string is selected. Vice versa, if the user
+ selects one of those non-color strings in the list, then reading XPropertyControl::Value
+ will retrieve you this string.</p>
+ */
+ const short ColorListBox = 7;
+
+ /** denotes a control which allows the user to enter a numerical value
+
+ <p>Controls of type #NumericField exchange their values as <code>double</code>.</p>
+
+ <p>Additionally, those controls support the XNumericControl interface.</p>
+ */
+ const short NumericField = 8;
+
+ /** denotes a control which allows the user to enter a date value
+
+ <p>Controls of type #DateField exchange their values as com::sun::star::util::Date.</p>
+ */
+ const short DateField = 9;
+
+ /** denotes a control which allows the user to enter a time value
+
+ <p>Controls of type #TimeField exchange their values as com::sun::star::util::Time.</p>
+ */
+ const short TimeField = 10;
+
+ /** denotes a control which allows the user to enter a combined date/time value
+
+ <p>Controls of type #DateTimeField exchange their values as com::sun::star::util::DateTime.</p>
+ */
+ const short DateTimeField = 11;
+
+ /** denotes a control which displays a string in a hyperlink-like appearance
+
+ <p>Controls of type #HyperlinkField exchange their values as <code>string</code>.</p>
+
+ <p>Additionally, those controls support the XHyperlinkControl interface.</p>
+ */
+ const short HyperlinkField = 12;
+
+ /** denotes a non-standard property control, which is usually provided by an XPropertyHandler
+ */
+ const short Unknown = 13;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/inspection/PropertyLineElement.idl b/offapi/com/sun/star/inspection/PropertyLineElement.idl
new file mode 100644
index 000000000..0aba844f7
--- /dev/null
+++ b/offapi/com/sun/star/inspection/PropertyLineElement.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_inspection_PropertyLineElement_idl__
+#define __com_sun_star_inspection_PropertyLineElement_idl__
+
+module com { module sun { module star { module inspection {
+
+/** describes elements of a single line in an object inspector, used to represent a
+ single property
+
+ @see XPropertyHandler::describePropertyLine
+ @see LineDescriptor
+
+ @since OOo 2.0.3
+*/
+constants PropertyLineElement
+{
+ /// specifies the input control in a group of controls related to a single property
+ const short InputControl = 0x01;
+ /// specifies the primary button (if present) in a group of controls related to a single property
+ const short PrimaryButton = 0x02;
+ /// specifies the secondary button (if present) in a group of controls related to a single property
+ const short SecondaryButton = 0x04;
+
+ /// specifies all elements
+ const short All = 0xFF;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/inspection/StringRepresentation.idl b/offapi/com/sun/star/inspection/StringRepresentation.idl
new file mode 100644
index 000000000..a0b400536
--- /dev/null
+++ b/offapi/com/sun/star/inspection/StringRepresentation.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_inspection_StringRepresentation_idl__
+#define __com_sun_star_inspection_StringRepresentation_idl__
+
+#include <com/sun/star/inspection/XStringRepresentation.idl>
+
+module com { module sun { module star { module inspection {
+
+service StringRepresentation : XStringRepresentation
+{
+ create([in]com::sun::star::script::XTypeConverter TypeConverter)raises( com::sun::star::lang::IllegalArgumentException );
+ createConstant([in]com::sun::star::script::XTypeConverter TypeConverter,[in] string Constant,[in] sequence<string> Values)raises( com::sun::star::lang::IllegalArgumentException );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/inspection/XHyperlinkControl.idl b/offapi/com/sun/star/inspection/XHyperlinkControl.idl
new file mode 100644
index 000000000..05e9c9687
--- /dev/null
+++ b/offapi/com/sun/star/inspection/XHyperlinkControl.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_inspection_XHyperlinkControl_idl__
+#define __com_sun_star_inspection_XHyperlinkControl_idl__
+
+#include <com/sun/star/inspection/XPropertyControl.idl>
+#include <com/sun/star/awt/XActionListener.idl>
+
+module com { module sun { module star { module inspection {
+
+/** defines the interface for an XPropertyControl which displays its value
+ in a hyperlink-like way
+
+ <p>Hyperlink controls exchange their value (XPropertyControl::Value) as strings.</p>
+
+ @since OOo 2.0.3
+*/
+interface XHyperlinkControl : XPropertyControl
+{
+ /** adds a listener which will be notified when the user clicked the hyperlink text in the control
+ @param listener
+ the listener to notify of hyperlink clicks
+ */
+ void addActionListener( [in] com::sun::star::awt::XActionListener listener );
+
+ /** removes a listener which was previously added via addActionListener()
+ @param listener
+ the listener to revoke
+ */
+ void removeActionListener( [in] com::sun::star::awt::XActionListener listener );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/inspection/XNumericControl.idl b/offapi/com/sun/star/inspection/XNumericControl.idl
new file mode 100644
index 000000000..47a55cda5
--- /dev/null
+++ b/offapi/com/sun/star/inspection/XNumericControl.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_inspection_XNumericControl_idl__
+#define __com_sun_star_inspection_XNumericControl_idl__
+
+#include <com/sun/star/inspection/XPropertyControl.idl>
+#include <com/sun/star/beans/Optional.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+module com { module sun { module star { module inspection {
+
+/** defines the interface for an XPropertyControl which supports
+ displaying and entering numerical values.
+
+ @since OOo 2.0.3
+*/
+interface XNumericControl : XPropertyControl
+{
+ /** describes the number of decimal digits to use for the value
+ */
+ [attribute] short DecimalDigits;
+
+ /** describes the minimum value which is allowed to be entered in the control
+ */
+ [attribute] com::sun::star::beans::Optional<double> MinValue;
+
+ /** describes the maximum value which is allowed to be entered in the control
+ */
+ [attribute] com::sun::star::beans::Optional<double> MaxValue;
+
+ /** describes a com::sun::star::util::MeasureUnit to be applied
+ for displaying values.
+
+ <p>Only a certain set of com::sun::star::util::MeasureUnit values is
+ supported. In particular, every value which denotes a fraction of another
+ unit (like 100th millimeters) cannot be used as DisplayUnit.</p>
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the caller attempts to set an unsupported com::sun::star::util::MeasureUnit
+ */
+ [attribute] short DisplayUnit
+ {
+ set raises (com::sun::star::lang::IllegalArgumentException);
+ };
+
+ /** describes a com::sun::star::util::MeasureUnit to be
+ applied for transferring values.
+
+ <p>The core measurement unit for a property value might differ from the unit which
+ is used by the control to display it. For instance, your property value might require
+ that your values denote 100th millimeters, but to the user, you want to present the
+ value as, say, inches. In this case, a numeric control can automatically handle the
+ value conversion for you, if you give it a ValueUnit different from the DisplayUnit.</p>
+
+ @see XPropertyControl::Value
+ */
+ [attribute] short ValueUnit;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/inspection/XObjectInspector.idl b/offapi/com/sun/star/inspection/XObjectInspector.idl
new file mode 100644
index 000000000..6d91b12f8
--- /dev/null
+++ b/offapi/com/sun/star/inspection/XObjectInspector.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_inspection_XObjectInspector_idl__
+#define __com_sun_star_inspection_XObjectInspector_idl__
+
+#include <com/sun/star/frame/XController.idl>
+#include <com/sun/star/frame/XDispatchProvider.idl>
+#include <com/sun/star/util/VetoException.idl>
+
+module com { module sun { module star { module inspection {
+
+interface XObjectInspectorModel;
+interface XObjectInspectorUI;
+
+/** describes the main interface of an ObjectInspector.
+
+ @see ObjectInspector
+
+ @since OOo 2.0.3
+*/
+interface XObjectInspector
+{
+ /** allows to plug the inspector into a com::sun::star::frame::XFrame
+
+ <p>The com::sun::star::frame::XController::setModel() method
+ accepts only XObjectInspectorModels, and will return `FALSE` if the
+ to-be-attached model is not `NULL`, but does not support this interface.</p>
+
+ <p>If you do not want to support a full-blown com::sun::star::frame::XModel,
+ use the #InspectorModel attribute instead.</p>
+
+ <p>The com::sun::star::frame::XController::getViewData() and
+ com::sun::star::frame::XController::restoreViewData() exchange
+ string values, which describes as much of the current view state as possible.</p>
+ */
+ interface com::sun::star::frame::XController;
+
+ /** allows to intercept functionality
+
+ <p>This interface is inherited from the com::sun::star::frame::Controller
+ service, currently, there is no functionality to intercept at an XObjectInspector.</p>
+ */
+ interface com::sun::star::frame::XDispatchProvider;
+
+ /** provides access to the current model of the inspector
+
+ <p>The model is mainly responsible for providing the property handlers. Additionally,
+ it can provide user interface names and help URLs for property categories.</p>
+
+ <p>Note that there are two ways of setting or retrieving the current model: You can either
+ use com::sun::star::frame::XModel::setModel(), or, if you do not want
+ or need to implement the full-blown com::sun::star::frame::XModel interface,
+ you can use this property directly. Both approaches are semantically equivalent.</p>
+
+ <p>If a new model is set at the inspector, the complete UI will be rebuilt to reflect
+ the change, using the new property handlers provided by the new model.</p>
+ */
+ [attribute] XObjectInspectorModel InspectorModel;
+
+ /** provides access to the user interface of the object inspector.
+
+ <p>This interface can be used to access and manipulate various aspects of
+ the user interface. For instance, you can enable and disable certain
+ property controls (or parts thereof), or register observers for all property
+ controls.</p>
+
+ @since OOo 2.2
+ */
+ [attribute, readonly] XObjectInspectorUI InspectorUI;
+
+ /** inspects a new collection of one or more objects.
+
+ <p>If the sequence is empty, the UI of the ObjectInspector will be
+ cleared.</p>
+
+ <p>If the sequence contains more than one object, the XObjectInspector
+ will create a complete set of property handlers (as indicated by
+ XObjectInspectorModel::HandlerFactories) for <em>every</em> of
+ the objects, and compose their output.</p>
+
+ @throws com::sun::star::util::VetoException
+ if the inspector cannot switch to another object set. This typically happens if
+ one of the active XPropertyHandler's raised a non-modal user interface,
+ and vetoed suspension of this UI.
+
+ @see XPropertyHandler::isComposable
+ @see XPropertyHandler::onInteractivePropertySelection
+ @see XPropertyHandler::suspend
+ */
+ void inspect( [in] sequence< com::sun::star::uno::XInterface > Objects )
+ raises (com::sun::star::util::VetoException);
+};
+
+
+}; }; }; };
+
+#endif
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/inspection/XObjectInspectorModel.idl b/offapi/com/sun/star/inspection/XObjectInspectorModel.idl
new file mode 100644
index 000000000..4906c43cc
--- /dev/null
+++ b/offapi/com/sun/star/inspection/XObjectInspectorModel.idl
@@ -0,0 +1,178 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_inspection_XObjectInspectorModel_idl__
+#define __com_sun_star_inspection_XObjectInspectorModel_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/inspection/PropertyCategoryDescriptor.idl>
+
+module com { module sun { module star { module inspection {
+
+interface XPropertyHandler;
+
+/** describes the model of an ObjectInspector
+
+ @see ObjectInspector
+
+ @since OOo 2.0.3
+*/
+interface XObjectInspectorModel
+{
+ /** describes a set of factories for creating XPropertyHandlers
+
+ <p>Every element of the sequence must contain information to create a
+ XPropertyHandler instance. Two ways are currently supported:
+ <ul>
+ <li>A service name:<br>
+ If a sequence element contains a string, this string is interpreted
+ as service name, and a com::sun::star::lang::XMultiComponentFactory
+ is asked to create an instance of this service.</li>
+ <li>A factory:<br>
+ If a sequence element contains an instance implementing the
+ com::sun::star::lang::XSingleComponentFactory interface, this factory
+ is used to create a property handler.</li>
+ </ul></p>
+
+ <p>This attribute is usually only evaluated by the ObjectInspector instance
+ which the model is currently bound to.</p>
+
+ <p>The order of factories is important: If two property handlers declare themselves responsible
+ for the same property, the one whose factory is listed <strong>last</strong> wins. Also,
+ if a handler <code>B</code> wants to supersede a property of another handler <code>A</code>,
+ <code>A</code>'s factory must precede the factory of <code>B</code>.</p>
+
+ @see XPropertyHandler::getSupportedProperties
+ @see XPropertyHandler::getSupersededProperties
+ */
+ [attribute, readonly] sequence< any > HandlerFactories;
+
+ /** describes the property categories used by the property handlers.
+
+ <p>Properties can be sorted into different categories, described by the LineDescriptor::Category
+ attribute, which is filled in XPropertyHandler::describePropertyLine()
+ method of your property handler.<br>
+ Those names provided by the handlers are programmatic names. All other information
+ about categories is part of the PropertyCategoryDescriptor, and
+ describeCategories() assembles information about all categories which
+ all property handlers provided by the model use.</p>
+
+ @return
+ a sequence of category descriptors. Their relative ordering also describes
+ the relative ordering of the categories in the ObjectInspector's
+ user interface.<br>
+ The sequence must not contain two entries with the same programmatic name.<br>
+ <br>
+ The model implementation might return an empty sequence here, in this case, the ObjectInspector
+ automatically builds its category information from the categories provided by the
+ property handlers.
+ @see PropertyCategoryDescriptor
+ @see LineDescriptor::Category
+ */
+ sequence< PropertyCategoryDescriptor > describeCategories();
+
+ /** retrieves an index in a global property ordering, for a given property name
+
+ <p>In the user interface of an ObjectInspector, single properties are represented by
+ single lines, and those lines are displayed successively. To determine an order of
+ the property lines, the inspector model can associate an "order index" with each property.
+ The ObjectInspector will then sort the property lines in a way that they
+ have the same relative ordering as the "order indexes" of their properties.</p>
+
+ <p>Note that the concrete value the model returns for a given property does not
+ matter. All what matters is that if you want a certain property <code>Foo</code>
+ to be displayed after another property <code>Bar</code>, then the order index
+ of <code>Foo</code> should be greater than the order index of <code>Bar</code>.
+
+ <p>If for two different properties the same order index is returned, the
+ ObjectInspector will assume the order in which those properties
+ were provided by the respective property handler
+ (XPropertyHandler::getSupportedProperties()).<br>
+ If two such properties originate from different handlers, they will be ordered according
+ to the order of the handlers, as provided in the #HandlerFactories attribute.</p>
+
+ @param PropertyName
+ the property whose global order index should be retrieved
+ @return
+ the global order index of PropertyName.
+ */
+ long getPropertyOrderIndex( [in] string PropertyName );
+
+ /** indicates that the object inspector should have a help section.
+
+ <p>The object inspector displays lines of property/values, optionally grouped
+ into categories, as described by the property handlers.<br>
+ Additionally, the inspector can optionally display a section dedicated to help
+ texts. Clients could use this section to display context-sensitive help, for
+ instance short texts explaining the currently selected property.</p>
+
+ @since OOo 2.2
+ */
+ [attribute, readonly] boolean HasHelpSection;
+
+ /** denotes the minimum number of lines of text to be reserved for the help
+ section.
+
+ <p>This property is ignored by the ObjectInspector if
+ #HasHelpSection is `FALSE`.</p>
+
+ <p>The layout of the ObjectInspector is undefined if
+ #MinHelpTextLines is larger than
+ #MaxHelpTextLines.</p>
+
+ @since OOo 2.2
+ */
+ [attribute, readonly] long MinHelpTextLines;
+
+ /** denotes the maximum number of lines of text to be reserved for the help
+ section.
+
+ <p>This property is ignored by the ObjectInspector if
+ #HasHelpSection is `FALSE`.</p>
+
+ <p>The layout of the ObjectInspector is undefined if
+ #MaxHelpTextLines is smaller than
+ #MinHelpTextLines.</p>
+
+ @since OOo 2.2
+ */
+ [attribute, readonly] long MaxHelpTextLines;
+
+ /** determines whether the object inspector's UI should be read-only.
+
+ <p>In this case, the user is able to browse through all properties, but cannot
+ change any of them.</p>
+
+ <p>In a read-only object inspector, the property controls are readonly or
+ disabled themselves, and the primary and secondary buttons of a property line
+ are both disabled.</p>
+
+ @see XPropertyControl
+ @see LineDescriptor
+ */
+ [attribute, bound] boolean IsReadOnly;
+};
+
+
+}; }; }; };
+
+#endif
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/inspection/XObjectInspectorUI.idl b/offapi/com/sun/star/inspection/XObjectInspectorUI.idl
new file mode 100644
index 000000000..465c28c34
--- /dev/null
+++ b/offapi/com/sun/star/inspection/XObjectInspectorUI.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_inspection_XObjectInspectorUI_idl__
+#define __com_sun_star_inspection_XObjectInspectorUI_idl__
+
+#include <com/sun/star/inspection/XPropertyControl.idl>
+#include <com/sun/star/beans/Optional.idl>
+#include <com/sun/star/container/NoSuchElementException.idl>
+#include <com/sun/star/lang/NoSupportException.idl>
+
+module com { module sun { module star { module inspection {
+
+interface XPropertyControlObserver;
+
+/** grants access to certain aspects of the user interface of an object
+ inspector
+
+ <p>This interface is used as callback for XPropertyHandlers.</p>
+
+ <p>As a consequence, methods operating on the UI for a property, and taking the name of this property,
+ are tolerant against properties which do not exist. For instance, if a property handler tries to
+ disable the UI for property <code>Foo</code>, but another handler has superseded this property, then
+ the ObjectInspector will not <em>have</em> any UI for it. In this case, the call to
+ <code>enablePropertyUI( "Foo" )</code> will simply be ignored.</p>
+
+ @since OOo 2.0.3
+*/
+interface XObjectInspectorUI
+{
+ /** enables or disables all components belonging to the UI representation of a property
+
+ <p>This is usually used by an XPropertyHandler if it handles properties,
+ where one does only make sense if another one has a certain value.</p>
+
+ @param PropertyName
+ denotes the name of the property whose UI is to be enabled or disabled.
+ @param Enable
+ `TRUE` if and only if the UI should be disabled, `FALSE` otherwise.
+ */
+ void enablePropertyUI( [in] string PropertyName, [in] boolean Enable );
+
+ /** enables or disables the single elements which can be part of the UI representation of a property
+
+ <p>Note that the complete UI for the property must be enabled in order for these settings to
+ be evaluated. That is, enablePropertyUIElements() does not have any effect if
+ somebody previously disabled the complete UI for this property with enablePropertyUI().</p>
+
+ @param PropertyName
+ the name of the property whose user interface elements are to be enabled or disabled
+
+ @param Elements
+ a combination of PropertyLineElement flags specifying which elements are to be
+ enabled or disabled.<br/>
+ Note that if you don't set a particular bit here (say, PropertyLineElement::PrimaryButton),
+ this does mean that this element's state is not affected by the call - it does
+ <em>not</em> mean that it is disabled.
+ @param Enable
+ `TRUE` if the elements denoted by _nElements should be enabled, `FALSE` if
+ they should be disabled.
+ */
+ void enablePropertyUIElements(
+ [in] string PropertyName,
+ [in] short Elements,
+ [in] boolean Enable
+ );
+
+ /** completely rebuilds the UI for the given property.
+
+ <p>This method might be used by an XPropertyHandler if it wants to change the type
+ of control (see PropertyControlType) used to display a certain property.</p>
+
+ <p>The object inspector will then call describePropertyLine again, and update its UI accordingly.</p>
+
+ <p>Note that the property whose UI should be rebuilt must not necessarily be (though usually <em>is</em>)
+ in the responsibility of the handler which calls this method. The object inspector will look up the
+ handler with the responsibility for PropertyName and call its
+ XPropertyHandler::describePropertyLine()</p>
+
+ @param PropertyName
+ the name of the property whose UI is to be completely rebuilt.
+ */
+ void rebuildPropertyUI( [in] string PropertyName );
+
+ /** shows the UI for a given property
+
+ @param PropertyName
+ the name of the property whose UI is to be shown
+ */
+ void showPropertyUI( [in] string PropertyName );
+
+ /** hides the UI for a given property
+
+ @param PropertyName
+ the name of the property whose UI is to be hidden
+ */
+ void hidePropertyUI( [in] string PropertyName );
+
+ /** shows or hides all properties belonging to a given category
+ @see LineDescriptor::Category
+ @see XObjectInspectorModel::describeCategories
+ */
+ void showCategory( [in] string Category, [in] boolean Show );
+
+ /** retrieves the control currently used to display a given property
+
+ @param PropertyName
+ the name of the property whose control should be retrieved
+
+ @return
+ the XPropertyControl representing the given property, or `NULL`
+ if there is no such property control.
+ */
+ XPropertyControl
+ getPropertyControl( [in] string PropertyName );
+
+ /** registers an observer for all property controls
+
+ <p>The given XPropertyControlObserver will be notified of all changes
+ in all property controls.</p>
+
+ @see revokeControlObserver
+
+ @since OOo 2.2
+ */
+ void registerControlObserver( [in] XPropertyControlObserver Observer );
+
+ /** revokes a previously registered control observer
+
+ @see registerControlObserver
+
+ @since OOo 2.2
+ */
+ void revokeControlObserver( [in] XPropertyControlObserver Observer );
+
+ /** sets the text of the help section, if the object inspector contains
+ one.
+
+ @throws NoSupportException
+ if the XObjectInspectorModel::HasHelpSection property
+ requires the help section to be unavailable.
+
+ @since OOo 2.2
+ */
+ void setHelpSectionText( [in] string HelpText )
+ raises ( ::com::sun::star::lang::NoSupportException );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/inspection/XPropertyControl.idl b/offapi/com/sun/star/inspection/XPropertyControl.idl
new file mode 100644
index 000000000..f257a3bbb
--- /dev/null
+++ b/offapi/com/sun/star/inspection/XPropertyControl.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_inspection_XPropertyControl_idl__
+#define __com_sun_star_inspection_XPropertyControl_idl__
+
+#include <com/sun/star/beans/IllegalTypeException.idl>
+#include <com/sun/star/awt/XWindow.idl>
+
+module com { module sun { module star { module inspection {
+
+interface XPropertyControlContext;
+
+/** defines the interface for a single control in an ObjectInspector
+
+ @since OOo 2.0.3
+*/
+interface XPropertyControl
+{
+ /** denotes the type of the control, as one of the PropertyControlType
+ constants
+ */
+ [attribute, readonly] short ControlType;
+
+ /** denotes the current content of the control.
+
+ <p>At every point in time, this value is either `VOID`, or of the type
+ described by #ValueType.</p>
+
+ @throws com::sun::star::beans::IllegalTypeException
+ if an attempt is made to set a value which is not `VOID` and whose
+ type does not equal #ValueType.
+ */
+ [attribute] any Value
+ {
+ set raises ( com::sun::star::beans::IllegalTypeException );
+ };
+
+ /** denotes the value type of the control.
+
+ @see Value
+ */
+ [attribute, readonly] type ValueType;
+
+ /** specifies the context of the control within the ObjectInspector.
+
+ <p>The property control should actively notify its state changes to the context.
+ In particular, changes in the focus and the value of the control must be notified.
+ */
+ [attribute] XPropertyControlContext ControlContext;
+
+ /** determines whether the control content is currently modified
+
+ <p>An XPropertyControl internally manages a flag indicating whether
+ its content is modified. This flag is reset to `FALSE` every time our
+ #ControlContext is notified of our current value. Also, the control
+ implementation must set this flag to `TRUE` if and only if the user changed the
+ control content.</p>
+
+ @see notifyModifiedValue
+ @see ControlContext
+ @see XPropertyControlContext::valueChanged
+ */
+ boolean isModified();
+
+ /** notifies the context in which the control lives of the current control value,
+ if this value is currently modified
+
+ @see isModified
+ @see ControlContext
+ @see XPropertyControlListener::valueChanged
+ */
+ void notifyModifiedValue();
+
+ /** denotes the window which is the real UI representation of the property control.
+
+ <p>The ObjectInspector will automatically position and size this control
+ as needed, care for its Z-order, and so on.</p>
+
+ <p>This Window must not be `NULL`, else the whole control is not usable.</p>
+ */
+ [attribute, readonly] com::sun::star::awt::XWindow ControlWindow;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/inspection/XPropertyControlContext.idl b/offapi/com/sun/star/inspection/XPropertyControlContext.idl
new file mode 100644
index 000000000..878710c0b
--- /dev/null
+++ b/offapi/com/sun/star/inspection/XPropertyControlContext.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_inspection_XPropertyControlContext_idl__
+#define __com_sun_star_inspection_XPropertyControlContext_idl__
+
+#include <com/sun/star/inspection/XPropertyControlObserver.idl>
+
+module com { module sun { module star { module inspection {
+
+/** specifies the interface of the context of an XPropertyControl.
+
+ @see XPropertyControl::ControlContext
+
+ @since OOo 2.0.3
+*/
+interface XPropertyControlContext : XPropertyControlObserver
+{
+ /** instructs the XPropertyControlContext to active the next control
+
+ @param CurrentControl
+ denotes the control which initiated the request.
+ */
+ void activateNextControl( [in] XPropertyControl CurrentControl );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/inspection/XPropertyControlFactory.idl b/offapi/com/sun/star/inspection/XPropertyControlFactory.idl
new file mode 100644
index 000000000..3429647b8
--- /dev/null
+++ b/offapi/com/sun/star/inspection/XPropertyControlFactory.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_inspection_XPropertyControlFactory_idl__
+#define __com_sun_star_inspection_XPropertyControlFactory_idl__
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+module com { module sun { module star { module inspection {
+
+interface XPropertyControl;
+
+/** a factory for XPropertyControls
+
+ @since OOo 2.0.3
+*/
+interface XPropertyControlFactory
+{
+ /** creates a XPropertyControl
+
+ <p>A XPropertyControlFactory can create any of the control types denoted by
+ the PropertyControlType constants.</p>
+
+ @param ControlType
+ the type of the requested control
+
+ @param CreateReadOnly
+ determines whether the newly created control should be readonly.
+
+ <p>If this argument is `TRUE`, this does not necessarily mean that the property cannot be
+ changed at all in the ObjectInspector. Instead, an XPropertyHandler
+ can still decide that there is a dedicated UI for entering the property value,
+ which is usually triggered by a LineDescriptor::PrimaryButton.</p>
+
+ <p>Note that this parameter might be ignored if the XObjectInspectorModel::IsReadOnly
+ attribute is `TRUE`, in which case all created property controls must be readonly.</p>
+
+ @returns
+ a control of the given type.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the given ControlType is not a value PropertyControlType
+ */
+ XPropertyControl createPropertyControl( [in] short ControlType, [in] boolean CreateReadOnly )
+ raises ( com::sun::star::lang::IllegalArgumentException );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/inspection/XPropertyControlObserver.idl b/offapi/com/sun/star/inspection/XPropertyControlObserver.idl
new file mode 100644
index 000000000..d9805dbd0
--- /dev/null
+++ b/offapi/com/sun/star/inspection/XPropertyControlObserver.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_inspection_XPropertyControlObserver_idl__
+#define __com_sun_star_inspection_XPropertyControlObserver_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module inspection {
+
+interface XPropertyControl;
+
+
+/** specifies an interface for components to observer certain aspects
+ of an XPropertyControl.
+
+ @since OOo 2.2
+*/
+interface XPropertyControlObserver
+{
+ /** notifies the observer that a certain XPropertyControl's UI
+ representation gained the focus.
+
+ @param Control
+ denotes the control whose UI representation gained the focus
+ */
+ void focusGained( [in] XPropertyControl Control );
+
+ /** notifies the observer that a certain XPropertyControl's value
+ changed.
+
+ @param Control
+ denotes the control whose value changed.
+
+ @see XPropertyControl::Value
+ */
+ void valueChanged( [in] XPropertyControl Control );
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/inspection/XPropertyHandler.idl b/offapi/com/sun/star/inspection/XPropertyHandler.idl
new file mode 100644
index 000000000..f65c44672
--- /dev/null
+++ b/offapi/com/sun/star/inspection/XPropertyHandler.idl
@@ -0,0 +1,447 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_inspection_XPropertyHandler_idl__
+#define __com_sun_star_inspection_XPropertyHandler_idl__
+
+#include <com/sun/star/beans/PropertyState.idl>
+#include <com/sun/star/beans/Property.idl>
+#include <com/sun/star/beans/XPropertyChangeListener.idl>
+#include <com/sun/star/inspection/LineDescriptor.idl>
+#include <com/sun/star/lang/NullPointerException.idl>
+#include <com/sun/star/beans/UnknownPropertyException.idl>
+#include <com/sun/star/beans/PropertyVetoException.idl>
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/inspection/InteractiveSelectionResult.idl>
+
+module com { module sun { module star { module inspection {
+
+interface XObjectInspectorUI;
+interface XPropertyControlFactory;
+
+/** is the basic interface for object inspection.
+
+ <p>The ObjectInspector itself does not know anything about the object
+ it is inspecting, all information is obtained via XPropertyHandlers.
+ Also, property handlers are responsible for describing the user interface which should
+ be used to interact with the user, with respect to a given aspect of the inspected
+ component.</p>
+
+ @see ObjectInspector
+ @see LineDescriptor
+
+ @since OOo 2.0.3
+*/
+interface XPropertyHandler
+{
+ /** used for controlling resources acquired by the handler
+
+ <p>com::sun::star::lang::XComponent::dispose() is invoked when the property handler is not
+ needed by the object inspector anymore. Handler implementations should clean up any
+ resources here.</p>
+ */
+ interface com::sun::star::lang::XComponent;
+
+ /** binds the property handler to a new component
+ @param Component
+ the component to inspect. Must not be `NULL`
+ @throws com::sun::star::lang::NullPointerException
+ if the component is `NULL`
+ */
+ void inspect( [in] com::sun::star::uno::XInterface Component )
+ raises( com::sun::star::lang::NullPointerException );
+
+ /** retrieves the current value of a property
+ @param PropertyName
+ the name of the property whose value is to be retrieved
+ @throws com::sun::star::beans::UnknownPropertyException
+ if the given property is not supported by the property handler
+ */
+ any
+ getPropertyValue( [in] string PropertyName )
+ raises (::com::sun::star::beans::UnknownPropertyException);
+
+ /** sets the value of a property
+
+ @param PropertyName
+ the name of the property whose value is to be set
+ @param Value
+ the property value to set
+ @throws com::sun::star::beans::UnknownPropertyException
+ if the given property is not supported by the property handler
+ */
+ void
+ setPropertyValue( [in] string PropertyName, [in] any Value )
+ raises (::com::sun::star::beans::UnknownPropertyException,
+ ::com::sun::star::beans::PropertyVetoException);
+
+ /** returns the state of a property
+
+ @param PropertyName
+ the name of the property whose state is to be retrieved
+ @throws com::sun::star::beans::UnknownPropertyException
+ if the given property is not supported by the property handler
+ */
+ com::sun::star::beans::PropertyState
+ getPropertyState( [in] string PropertyName )
+ raises (::com::sun::star::beans::UnknownPropertyException);
+
+ /** describes the UI to be used to represent the property
+ @param PropertyName
+ the name of the property whose user interface is to be described
+ implementation
+ @param ControlFactory
+ a factory for creating XPropertyControl instances. Must not be `NULL`.
+ @return
+ the descriptor of the property line.
+ @throws com::sun::star::beans::UnknownPropertyException
+ if the given property is not supported by this handler
+ @throws com::sun::star::lang::NullPointerException
+ if ControlFactory is `NULL`.
+ @see PropertyControlType
+ @see LineDescriptor
+ */
+ LineDescriptor
+ describePropertyLine(
+ [in] string PropertyName,
+ [in] XPropertyControlFactory ControlFactory
+ )
+ raises (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::NullPointerException);
+
+ /** converts a given control-compatible value to a property value
+
+ <p>In describePropertyLine(), a property handler declared which type of control
+ should be used to display the value of a certain property. To allow to use the same control
+ type for different properties, and in particular, for properties of different type,
+ conversions between controls values and property values are needed.</p>
+
+ <p>This method converts a control value into a property value, which subsequently can be used
+ in conjunction with setPropertyValue().</p>
+
+ @param PropertyName
+ The name of the conversion's target property.
+ @param ControlValue
+ The to-be-converted control value. This value has been obtained from an XPropertyControl,
+ using its XPropertyControl::Value attribute.
+
+ @throws com::sun::star::beans::UnknownPropertyException
+ if the given property is not supported by the property handler
+
+ @see convertToControlValue
+ @see describePropertyLine
+ @see XPropertyControl
+ @see getPropertyValue
+ */
+ any
+ convertToPropertyValue(
+ [in] string PropertyName,
+ [in] any ControlValue
+ )
+ raises (::com::sun::star::beans::UnknownPropertyException);
+
+ /** converts a given property value to a control-compatible value
+
+ <p>In describePropertyLine(), a property handler declared which type of control
+ should be used to display the value of a certain property. To allow to use the same control
+ type for different properties, and in particular, for properties of different type,
+ conversions between controls values and property values are needed.</p>
+
+ <p>This method converts a property value, which has previously been obtained using
+ getPropertyValue(), into a control-compatible value, which can be used
+ with XPropertyControl's XPropertyControl::Value attribute.</p>
+
+ <p>A usual application of this method are list boxes: There is a generic list box implementation,
+ which is able to display a simple list of strings. Usually, every string represents one
+ possible property value. To translate between those property values and the displayed strings,
+ convertToControlValue() and convertToPropertyValue() are used.</p>
+
+ <p>The method is not invoked if the control's value type (XPropertyControl::ValueType
+ equals the property's value type.</p>
+
+ @param PropertyName
+ The name of the property whose value is to be converted.
+ @param PropertyValue
+ The to-be-converted property value.
+ @param ControlValueType
+ The target type of the conversion. This type is determined by the control which
+ is used to display the property, which in turn is determined by the handler itself
+ in describePropertyLine().<br/>
+ Speaking strictly, this is passed for convenience only, since every XPropertyHandler
+ implementation should know exactly which type to expect, since it implicitly determined this type
+ in describePropertyLine() by creating an appropriate XPropertyControl.
+
+ @throws com::sun::star::beans::UnknownPropertyException
+ if the given property is not supported by the property handler
+
+ @see convertToPropertyValue
+ @see describePropertyLine
+ @see XPropertyControl
+ @see getPropertyValue
+ */
+ any
+ convertToControlValue(
+ [in] string PropertyName,
+ [in] any PropertyValue,
+ [in] type ControlValueType
+ )
+ raises (::com::sun::star::beans::UnknownPropertyException);
+
+ /** registers a listener for notification about property value changes
+
+ <p>An XPropertyHandler implementation might decide to ignore this call.
+ However, in this case property value changes made by third party components are not
+ reflected in the object inspector.</p>
+
+ <p>If a handler implementation supports property change listeners, it must be able to cope
+ with a call to addPropertyChangeListener() even if currently no component is
+ being inspected. In this case, the listener must become active as soon as a new introspection
+ is set in the next inspect() call.</p>
+
+ @param Listener
+ the listener to notify about property changes
+ @throws com::sun::star::lang::NullPointerException
+ if the listener is `NULL`
+ @see removePropertyChangeListener
+ */
+ void
+ addPropertyChangeListener( [in] com::sun::star::beans::XPropertyChangeListener Listener )
+ raises ( com::sun::star::lang::NullPointerException );
+
+ /** revokes a listener for notification about property value changes
+ @see addPropertyChangeListener
+ */
+ void
+ removePropertyChangeListener( [in] com::sun::star::beans::XPropertyChangeListener Listener );
+
+ /** returns the properties which the handler can handle
+
+ <p>A handler is allowed to return an empty sequence here, indicating that for
+ the given introspection, no properties handling can be provided. This might happen
+ when a fixed set of property handlers is used for a variety of components to inspect,
+ where not all handlers can really cope with all components.</p>
+
+ <p>In the case of returning an empty sequence here, the property handler is ignored
+ by all further processing in the object inspector.</p>
+ */
+ sequence< com::sun::star::beans::Property >
+ getSupportedProperties();
+
+ /** returns the properties which are to be superseded by this handler
+
+ <p>Besides defining an own set of properties (see getSupportedProperties()),
+ a property handler can also declare that foreign properties (which it is
+ <em>not</em> responsible for) are superseded by its own properties.</p>
+
+ <p>This is usually used if your handler is used with another, more generic one, which
+ should continue to be responsible for all properties, except a few which your
+ handler handles more elegantly.</p>
+
+ <p>In such a case, simply return those properties here.</p>
+
+ <p>There is a precedence in the property handlers used by an ObjectInspector,
+ which also is important for the superseded properties. This precedence is implied by the
+ precedence of factories to create the property handlers, as denoted in the
+ XObjectInspectorModel::HandlerFactories attribute.</p>
+
+ <p>With this in mind, property handlers can only supersede properties which are supported
+ by a handler preceding them, but not properties of handlers succeeding them.</p>
+
+ <p>For instance, imaging an XObjectInspectorModel which provides three
+ factories, for handler <code>A</code>, <code>B</code>, and <code>C</code> - in this order.
+ Now if <code>A</code> supports the property <code>Foo</code>, <code>C</code> supports
+ <code>Bar</code>, and <code>B</code> supersedes both <code>Foo</code> and <code>Bar</code>,
+ them the result is <code>Bar</code> is still present. This is because <code>B</code> precedes
+ <code>C</code>, so it cannot, by definition, supersede properties which are supported by
+ <code>C</code>.</p>
+
+ <p>If getSupportedProperties() returned an empty sequence, this method will
+ not be called.</p>
+
+ @see XObjectInspectorModel::HandlerFactories
+ */
+ sequence< string >
+ getSupersededProperties( );
+
+ /** retrieve the actuating properties which this handler is interested in
+
+ <p>In general, properties can be declared as "actuating", that is, when their value
+ changes, the UI for other properties needs to be updated (e.g. enabled or disabled).</p>
+
+ <p>With this method, a handler can declare that it feels responsible for some/all
+ of the depending properties of certain actuating properties.</p>
+
+ <p>Whenever the value of an actuating property changes, all handlers which expressed
+ their interest in this particular actuating properties are called with their
+ actuatingPropertyChanged() method.</p>
+
+ <p>If getSupportedProperties() returned an empty sequence, this method will
+ not be called</p>
+ */
+ sequence< string >
+ getActuatingProperties( );
+
+ /** determines whether a given property, which the handler is responsible for, is composable.
+
+ <p>An object inspector can inspect multiple components at once, displaying the <em>intersection</em>
+ of their properties. For this, all components are examined for their properties, and all properties
+ which exist for all components, <em>and</em> are declared to be composable by their respective handler,
+ are displayed in the inspector UI.</p>
+
+ @param PropertyName
+ the name of the property whose composability is to be determined
+ @throws com::sun::star::beans::UnknownPropertyException
+ if the given property is not supported by the property handler
+ */
+ boolean isComposable( [in] string PropertyName )
+ raises (::com::sun::star::beans::UnknownPropertyException);
+
+ /** called when a browse button belonging to a property UI representation has been clicked
+
+ <p>Property handlers can raise a dedicated UI for entering or somehow changing a property value.
+ Usually, this will be a modal dialog, but it can also be a non-modal user interface component.</p>
+
+ <p>Availability of this feature is indicated by the LineDescriptor::HasPrimaryButton
+ and LineDescriptor::HasSecondaryButton members of a LineDescriptor,
+ which the XPropertyHandler fills in its describePropertyLine() method.</p>
+
+ <p>When this method is called, the property handler should raise the UI needed to enter the
+ property value, and return the result of this (see InteractiveSelectionResult).</p>
+
+ <p>It is recommended that property handlers do not directly set the property value which has
+ been obtained from the user, but store it in the output-parameter Data, and return
+ InteractiveSelectionResult::ObtainedValue.</p>
+
+ <p>If a handler sets the new property value directly, and returns
+ InteractiveSelectionResult::ObtainedValue, this implies that the property
+ cannot properly be handled in case the object inspector is inspecting an intersection of
+ multiple components, since in this case onInteractivePropertySelection()
+ will be called at one handler only, however the new property would have to be forwarded to
+ all handlers.</p>
+
+ <p>If a property is not composable, directly setting the new property value does not yield any problem,
+ as long as property listeners are properly notified of the change.</p>
+
+ @param PropertyName
+ The name of the property whose browse button has been clicked
+
+ @param Primary
+ `TRUE` if and only if the primary button has been clicked, `FALSE` otherwise
+
+ @param outData
+ If the method returns InteractiveSelectionResult::ObtainedValue,
+ then outData contains the value which has been interactively obtained
+ from the user, and which still needs to be set at the inspected component.
+
+ @param InspectorUI
+ provides access to the object inspector UI. Implementations should use this if
+ the property selection requires non-modal user input. In those cases,
+ onInteractivePropertySelection() should return InteractiveSelectionResult::Pending,
+ and the UI for (at least) the property whose input is still pending should be disabled.
+
+ @return
+ the result of the interactive property value selection.
+
+ @throws com::sun::star::beans::UnknownPropertyException
+ if the given property is not supported by the property handler
+ @throws com::sun::star::lang::NullPointerException
+ if InspectorUI is `NULL`
+
+ @see describePropertyLine
+ @see addPropertyChangeListener
+ @see isComposable
+ */
+ ::com::sun::star::inspection::InteractiveSelectionResult
+ onInteractivePropertySelection(
+ [in] string PropertyName,
+ [in] boolean Primary,
+ [out] any outData,
+ [in] XObjectInspectorUI InspectorUI
+ )
+ raises (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::NullPointerException);
+
+ /** updates the UI of dependent properties when the value of a certain actuating property changed
+
+ <p>This method is called whenever a property value changes, limited to those properties
+ whose changes the handler expressed interest in (see getActuatingProperties()).</p>
+
+ @param ActuatingPropertyName
+ the id of the actuating property.
+ @param NewValue
+ the new value of the property
+ @param OldValue
+ the old value of the property
+ @param InspectorUI
+ a callback for updating the object inspector UI
+ @param FirstTimeInit
+ If `TRUE`, the method is called for the first-time update of the respective property, that
+ is, when the property browser is just initializing with the properties of the introspected
+ object.<br/>
+ If `FALSE`, there was a real com::sun::star::beans::XPropertyChangeListener::propertyChange()
+ event which triggered the call.<br/>
+ <br/>
+ In some cases it may be necessary to differentiate between both situations. For instance,
+ if you want to set the value of another property when an actuating property's value changed,
+ you should definitely not do this when FirstTimeInit is `TRUE`.
+ @throws com::sun::star::lang::NullPointerException
+ if InspectorUI is `NULL`
+ */
+ void
+ actuatingPropertyChanged(
+ [in] string ActuatingPropertyName,
+ [in] any NewValue,
+ [in] any OldValue,
+ [in] XObjectInspectorUI InspectorUI,
+ [in] boolean FirstTimeInit
+ )
+ raises (::com::sun::star::lang::NullPointerException);
+
+ /** suspends the handler
+
+ <p>A XPropertyHandler is used by a XObjectInspector instance,
+ which implements the XController interface. By definition, a XObjectInspector always forwards
+ all suspend requests (com::sun::star::frame::XController::suspend()) to
+ all its handlers.</p>
+
+ <p>The usual use case for this method are non-modal user interface components used
+ for property value input. Such a component might have been opened during
+ onInteractivePropertySelection(). If a property handler receives a
+ suspend() call, it should forward the suspension request to the UI
+ component, and veto suspension of the XObjectInspector as appropriate.</p>
+
+ <p>If suspension is not to be vetoed, then all non-modal UI components opened
+ by the handler should have been closed when it returns from the suspend() call.</p>
+
+ @param Suspend
+ Whether the handler is to be suspended `TRUE` or reactivated (`FALSE`). The
+ latter happens if a handler was successfully suspended, but an external instance
+ vetoed the whole suspension process.
+
+ @return
+ `TRUE` if the handler does allow suspension, `FALSE` if it vetoes it.
+ */
+ boolean suspend( [in] boolean Suspend );
+};
+
+
+}; }; }; };
+
+#endif
+
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/inspection/XStringListControl.idl b/offapi/com/sun/star/inspection/XStringListControl.idl
new file mode 100644
index 000000000..caf38d601
--- /dev/null
+++ b/offapi/com/sun/star/inspection/XStringListControl.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_inspection_XStringListControl_idl__
+#define __com_sun_star_inspection_XStringListControl_idl__
+
+#include <com/sun/star/inspection/XPropertyControl.idl>
+
+module com { module sun { module star { module inspection {
+
+/** defines the interface for an XPropertyControl which, additionally
+ to the basic behavior, supports a list of strings interpreted as possible
+ property values.
+
+ <p>A control which would canonically implement this interface is a list box control:
+ The string list defined by XStringListControl would in the control be
+ represented as drop-down list containing all the strings.</p>
+
+ @since OOo 2.0.3
+*/
+interface XStringListControl : XPropertyControl
+{
+ /** clears the whole list
+ */
+ void clearList();
+
+ /** prepends a new entry to the beginning of the list
+ */
+ void prependListEntry( [in] string NewEntry );
+
+ /** appends a new entry to the end of the list
+ */
+ void appendListEntry( [in] string NewEntry );
+
+ /** gets all list entries
+ */
+ sequence< string > getListEntries();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/inspection/XStringRepresentation.idl b/offapi/com/sun/star/inspection/XStringRepresentation.idl
new file mode 100644
index 000000000..9a0cde4d7
--- /dev/null
+++ b/offapi/com/sun/star/inspection/XStringRepresentation.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_inspection_XStringRepresentation_idl__
+#define __com_sun_star_inspection_XStringRepresentation_idl__
+
+#include <com/sun/star/script/XTypeConverter.idl>
+
+module com { module sun { module star { module inspection {
+
+/** handles string representations of property values.
+ @see
+*/
+interface XStringRepresentation
+{
+ /** converts a into a string.
+ @param PropertyValue
+ The to-be-converted property value.
+ @return
+ The converted string representation of the property value.
+ @see XPropertyHandler::convertToControlValue()
+ */
+ string convertToControlValue([in]any PropertyValue) raises( com::sun::star::uno::Exception );
+
+ /** converts a string into an any with the type defined by the target type.
+ @param ControlValue
+ The to-be-converted control value.
+ @param ControlValueType
+ The target type of the conversion.
+ @see XPropertyHandler::convertToPropertyValue()
+ */
+ any convertToPropertyValue(
+ [in]string ControlValue,
+ [in]type ControlValueType
+ ) raises( com::sun::star::uno::Exception );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ldap/LdapConnectionException.idl b/offapi/com/sun/star/ldap/LdapConnectionException.idl
new file mode 100644
index 000000000..d66e28bce
--- /dev/null
+++ b/offapi/com/sun/star/ldap/LdapConnectionException.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_ldap_LdapConnectionException_idl__
+#define __com_sun_star_ldap_LdapConnectionException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+module com { module sun { module star { module ldap {
+
+/**
+ Indicates failure to connect to an LDAP server, usually because
+ of wrong parameters (host/port) or down server.
+
+ @since OOo 1.1.2
+ */
+published exception LdapConnectionException : ::com::sun::star::uno::Exception
+{
+} ;
+
+} ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ldap/LdapGenericException.idl b/offapi/com/sun/star/ldap/LdapGenericException.idl
new file mode 100644
index 000000000..520d3ef9a
--- /dev/null
+++ b/offapi/com/sun/star/ldap/LdapGenericException.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_ldap_LdapGenericException_idl__
+#define __com_sun_star_ldap_LdapGenericException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+module com { module sun { module star { module ldap {
+
+/**
+ Generic exception occurring during access to an LDAP server.
+ The actual LDAP error code is provided for more refined
+ error management.
+
+ @since OOo 1.1.2
+ */
+published exception LdapGenericException : ::com::sun::star::uno::Exception
+{
+ /**
+ LDAP error code, see LDAP SDK documentation for complete
+ list of possible values and their meaning.
+ */
+ long ErrorCode ;
+} ;
+
+} ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/ConversionDictionary.idl b/offapi/com/sun/star/linguistic2/ConversionDictionary.idl
new file mode 100644
index 000000000..ecbad2de0
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/ConversionDictionary.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_linguistic2_ConversionDictionary_idl__
+#define __com_sun_star_linguistic2_ConversionDictionary_idl__
+
+#include <com/sun/star/linguistic2/XConversionDictionary.idl>
+#include <com/sun/star/util/XFlushable.idl>
+#include <com/sun/star/linguistic2/XConversionPropertyType.idl>
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** represents a dictionary used in a conversion dictionary list.
+
+ <p>Specific implementations may put some restrictions for
+ the dictionary or it's entries.
+ Namely usually the order for the string pairs within a single entry
+ will be defined.</p>
+
+ @see com::sun::star::linguistic2::ConversionDictionaryList
+ @see com::sun::star::linguistic2::HangulHanjaConversionDictionary
+ @see com::sun::star::linguistic2::XConversionDictionary
+ @see com::sun::star::linguistic2::XConversionPropertyType
+
+ @since OOo 1.1.2
+*/
+published service ConversionDictionary
+{
+ /** to access the conversion dictionary functionality.
+ */
+ interface com::sun::star::linguistic2::XConversionDictionary;
+
+ /** to flush (save) the dictionary content to file
+ */
+ [optional] interface com::sun::star::util::XFlushable;
+
+ /**
+ @since OOo 2.0
+ */
+ [optional] interface com::sun::star::linguistic2::XConversionPropertyType;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/ConversionDictionaryList.idl b/offapi/com/sun/star/linguistic2/ConversionDictionaryList.idl
new file mode 100644
index 000000000..1a722b8fd
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/ConversionDictionaryList.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_linguistic2_ConversionDictionaryList_idl__
+#define __com_sun_star_linguistic2_ConversionDictionaryList_idl__
+
+#include <com/sun/star/linguistic2/XConversionDictionaryList.idl>
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** represents a list of available conversion dictionaries.
+
+ <p>There will be only one list that may hold different types of
+ conversion dictionaries. That is e.g. it may hold dictionaries
+ for Korean Hangul/Hanja conversion along with ones for
+ Chinese traditional/simplified conversion or conversion between
+ different Indic script types.</p>
+
+ <p>The list will be used by the text conversion service to
+ check for user supplied text conversions.</p>
+
+ @see com::sun::star::linguistic2::ConversionDictionary
+ @see com::sun::star::linguistic2::HangulHanjaConversionDictionary
+ @see com::sun::star::i18n::TextConversion
+
+ @since OOo 1.1.2
+*/
+published service ConversionDictionaryList : XConversionDictionaryList;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/ConversionDictionaryType.idl b/offapi/com/sun/star/linguistic2/ConversionDictionaryType.idl
new file mode 100644
index 000000000..a4f1c81b4
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/ConversionDictionaryType.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_linguistic2_ConversionDictionaryType_idl__
+#define __com_sun_star_linguistic2_ConversionDictionaryType_idl__
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** specifies the conversion dictionary type to be used with XConversionDictionary.
+
+ @since OOo 1.1.2
+*/
+constants ConversionDictionaryType
+{
+ /** Dictionary type for the conversion between Hangul and Hanja
+ */
+ const short HANGUL_HANJA = 1;
+
+ /** Dictionary type for the conversion between Simplified and Traditional Chinese
+
+ @since OOo 2.0
+ */
+ const short SCHINESE_TCHINESE = 2;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/ConversionDirection.idl b/offapi/com/sun/star/linguistic2/ConversionDirection.idl
new file mode 100644
index 000000000..68cdf9a4b
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/ConversionDirection.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_linguistic2_ConversionDirection_idl__
+#define __com_sun_star_linguistic2_ConversionDirection_idl__
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** Conversion direction to be used with XConversionDictionary
+ when looking for conversions.
+
+ @since OOo 1.1.2
+*/
+published enum ConversionDirection
+{
+ /** the text to be looked for should match the left part of a
+ dictionary entry.
+ */
+ FROM_LEFT,
+
+ /** the text to be looked for should match the right part of a
+ dictionary entry.
+ */
+ FROM_RIGHT
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/ConversionPropertyType.idl b/offapi/com/sun/star/linguistic2/ConversionPropertyType.idl
new file mode 100644
index 000000000..968a71a62
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/ConversionPropertyType.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_linguistic2_ConversionPropertyType_idl__
+#define __com_sun_star_linguistic2_ConversionPropertyType_idl__
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** specifies the property type of an entry in a conversion dictionary.
+
+ @see com::sun::star::linguistic2::XConversionDictionary
+ @see com::sun::star::linguistic2::XConversionPropertyType
+
+ @since OOo 2.0
+*/
+constants ConversionPropertyType
+{
+ /** There is no property type defined or available
+ */
+ const short NOT_DEFINED = 0;
+
+ /** Any word that does not fit into any of the other properties
+ */
+ const short OTHER = 1;
+
+ /** A word or term that is transliterated or used from a non-Chinese language
+ */
+ const short FOREIGN = 2;
+
+ /** The first name (given name) of a person
+ */
+ const short FIRST_NAME = 3;
+
+ /** The last name (family name) of a person
+ */
+ const short LAST_NAME = 4;
+
+ /** The academic or social title of a person
+ */
+ const short TITLE = 5;
+
+ /** The status of a situation
+ */
+ const short STATUS = 6;
+
+ /** The name of a location or place
+ */
+ const short PLACE_NAME = 7;
+
+ /** The description of a business
+ */
+ const short BUSINESS = 8;
+
+ /** An adjective
+ */
+ const short ADJECTIVE = 9;
+
+ /** A term that is used to literally describe a circumstance
+ */
+ const short IDIOM = 10;
+
+ /** An abbreviation
+ */
+ const short ABBREVIATION = 11;
+
+ /** A numeric word
+ */
+ const short NUMERICAL = 12;
+
+ /** A noun
+ */
+ const short NOUN = 13;
+
+ /** A verb
+ */
+ const short VERB = 14;
+
+ /** The name of a product or a company
+ */
+ const short BRAND_NAME = 15;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/Dictionary.idl b/offapi/com/sun/star/linguistic2/Dictionary.idl
new file mode 100644
index 000000000..5f904d682
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/Dictionary.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_linguistic2_Dictionary_idl__
+#define __com_sun_star_linguistic2_Dictionary_idl__
+
+#include <com/sun/star/linguistic2/XDictionary.idl>
+#include <com/sun/star/linguistic2/XSearchableDictionary.idl>
+#include <com/sun/star/util/XFlushable.idl>
+#include <com/sun/star/frame/XStorable.idl>
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** represents a dictionary used for spell checking and hyphenation.
+
+
+ @see com::sun::star::linguistic2::DictionaryList
+ @see com::sun::star::linguistic2::XSearchableDictionaryList
+
+ @since OOo 3.0.1
+*/
+service Dictionary
+{
+ /** to access the dictionary functionality.
+ */
+ interface com::sun::star::linguistic2::XDictionary;
+
+ /** provide search for similar words functionality.
+ */
+ [optional] interface com::sun::star::linguistic2::XSearchableDictionary;
+
+ /** to save the dictionary content to file
+
+ <p>storeAsURL and storeToURL are empty implementations since the dictionaries are expected
+ to be found in specific locations</p>
+ */
+ [optional] interface com::sun::star::frame::XStorable;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/DictionaryEvent.idl b/offapi/com/sun/star/linguistic2/DictionaryEvent.idl
new file mode 100644
index 000000000..f6dfe8bac
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/DictionaryEvent.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_linguistic2_DictionaryEvent_idl__
+#define __com_sun_star_linguistic2_DictionaryEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+#include <com/sun/star/linguistic2/XDictionaryEntry.idl>
+
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** represents a dictionary event.
+
+ <P>This type of event is used by a dictionary to inform
+ its listeners about changes in its properties or its entry list.
+ It consists of an event type and may supply an affected
+ dictionary entry.</P>
+
+ @see com::sun::star::linguistic2::XDictionary
+ @see com::sun::star::linguistic2::XDictionaryEventListener
+ @see com::sun::star::lang::EventObject
+*/
+published struct DictionaryEvent : com::sun::star::lang::EventObject
+{
+ /** is the type of event.
+
+ <p>This must be the value of a single flag. No combinations are
+ allowed.</p>
+
+ @see com::sun::star::linguistic2::DictionaryEventFlags
+ */
+ short nEvent;
+
+ /** is the affected dictionary entry (if any).
+
+ <p>It must be set if an entry was
+ added or deleted, otherwise it should be empty.</p>
+
+ @see com::sun::star::linguistic2::XDictionaryEntry
+ */
+ com::sun::star::linguistic2::XDictionaryEntry xDictionaryEntry;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/DictionaryEventFlags.idl b/offapi/com/sun/star/linguistic2/DictionaryEventFlags.idl
new file mode 100644
index 000000000..6460a21fb
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/DictionaryEventFlags.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_linguistic2_DictionaryEventFlags_idl__
+#define __com_sun_star_linguistic2_DictionaryEventFlags_idl__
+
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** flags used for the event type in dictionary events.
+
+ <P>These flags represent the type of events that a dictionary
+ may broadcast.</P>
+
+ @see com::sun::star::linguistic2::DictionaryEvent
+*/
+published constants DictionaryEventFlags
+{
+ /** indicates that at least one entry has been added.
+ */
+ const short ADD_ENTRY = 1;
+
+ /** indicates that at least one entry has been deleted.
+ */
+ const short DEL_ENTRY = 2;
+
+ /** the dictionary's name has changed.
+ */
+ const short CHG_NAME = 4;
+
+ /** the dictionary's language has changed.
+ */
+ const short CHG_LANGUAGE = 8;
+
+ /** all entries have been removed.
+ */
+ const short ENTRIES_CLEARED = 16;
+
+ /** used when the dictionary was activated.
+ */
+ const short ACTIVATE_DIC = 32;
+
+ /** used when the dictionary was deactivated.
+ */
+ const short DEACTIVATE_DIC = 64;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/DictionaryList.idl b/offapi/com/sun/star/linguistic2/DictionaryList.idl
new file mode 100644
index 000000000..c12a0018a
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/DictionaryList.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_linguistic2_DictionaryList_idl__
+#define __com_sun_star_linguistic2_DictionaryList_idl__
+
+#include <com/sun/star/linguistic2/XSearchableDictionaryList.idl>
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** is the list of personal dictionaries.
+
+ <P>The active dictionaries of this list will be used for
+ spell checking and hyphenation.</P>
+
+ @see com::sun::star::linguistic2::XDictionary
+ @see com::sun::star::linguistic2::XDictionaryList
+ @see com::sun::star::linguistic2::XSearchableDictionaryList
+*/
+published service DictionaryList : XSearchableDictionaryList;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/DictionaryListEvent.idl b/offapi/com/sun/star/linguistic2/DictionaryListEvent.idl
new file mode 100644
index 000000000..fa455371a
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/DictionaryListEvent.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_linguistic2_DictionaryListEvent_idl__
+#define __com_sun_star_linguistic2_DictionaryListEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+#include <com/sun/star/linguistic2/DictionaryEvent.idl>
+
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** structure representing a dictionary-list event.
+
+ <P>This structure is used by the dictionary-list to inform
+ its listeners about certain events.
+ Since the dictionary-list is able to collect several single
+ events before broadcasting them to its listeners the
+ integer argument may be a combination (logical or) of several
+ event types.
+ If more specific information about the events is requested by a
+ listener, a sequence of all dictionary-list events since the
+ last broadcasting will be supplied. Otherwise, that list will
+ be empty.</P>
+
+ @see com::sun::star::linguistic2::DictionaryList
+ @see com::sun::star::linguistic2::XDictionaryListEventListener
+ @see com::sun::star::lang::EventObject
+*/
+published struct DictionaryListEvent : com::sun::star::lang::EventObject
+{
+ /** the combined type of the accumulated events.
+
+ <p>The value can be the combination of multiple
+ com::sun::star::linguistic2::DictionaryListEventFlags
+ by applying the logical OR to them.</p>
+
+ @see com::sun::star::linguistic2::DictionaryListEventFlags
+
+ */
+ short nCondensedEvent;
+
+ /** list of accumulated dictionary events.
+
+ <p>It will be empty if all
+ com::sun::star::linguistic2::XDictionaryListEventListener
+ are satisfied with the condensed representation of the
+ com::sun::star::linguistic2::DictionaryListEvent::nCondensedEvent().</p>
+
+ @see com::sun::star::linguistic2::DictionaryEvent
+ */
+ sequence< com::sun::star::linguistic2::DictionaryEvent > aDictionaryEvents;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/DictionaryListEventFlags.idl b/offapi/com/sun/star/linguistic2/DictionaryListEventFlags.idl
new file mode 100644
index 000000000..5371d522e
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/DictionaryListEventFlags.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_linguistic2_DictionaryListEventFlags_idl__
+#define __com_sun_star_linguistic2_DictionaryListEventFlags_idl__
+
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** constants representing a single dictionary-list event.
+
+ <P>These flags define the possible types for a
+ dictionary-list event.</P>
+
+ @see com::sun::star::linguistic2::DictionaryListEvent
+ @see com::sun::star::linguistic2::XDictionaryListEventListener
+ @see com::sun::star::linguistic2::XDictionaryList
+*/
+published constants DictionaryListEventFlags
+{
+ /** A positive entry was added to a dictionary from the
+ dictionary list.
+ */
+ const short ADD_POS_ENTRY = 1;
+
+ /** A positive entry was deleted from a dictionary of the
+ dictionary-list or a dictionary with positive entries
+ was cleared.
+ */
+ const short DEL_POS_ENTRY = 2;
+
+ /** A negative entry was added to a dictionary from the
+ dictionary-list.
+ */
+ const short ADD_NEG_ENTRY = 4;
+
+ /** A negative entry was deleted from a dictionary of the
+ dictionary-list or a dictionary with negative entries
+ was cleared.
+ */
+ const short DEL_NEG_ENTRY = 8;
+
+ /** A dictionary with positive entries was activated or
+ has changed its language.
+ */
+ const short ACTIVATE_POS_DIC = 16;
+
+ /** A dictionary with positive entries was deactivated or
+ has changed its language.
+ */
+ const short DEACTIVATE_POS_DIC = 32;
+
+ /** A dictionary with negative entries was activated or
+ has changed its language.
+ */
+ const short ACTIVATE_NEG_DIC = 64;
+
+ /** A dictionary with negative entries was deactivated or
+ has changed its language.
+ */
+ const short DEACTIVATE_NEG_DIC = 128;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/DictionaryType.idl b/offapi/com/sun/star/linguistic2/DictionaryType.idl
new file mode 100644
index 000000000..cbfc2ae29
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/DictionaryType.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_linguistic2_DictionaryType_idl__
+#define __com_sun_star_linguistic2_DictionaryType_idl__
+
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** describes the type of a personal dictionary.
+
+ <P>This defines the type of a dictionary.
+ It may be positive or negative. A positive dictionary may hold
+ only positive entries (words defined to be correct for spell
+ checking) and a negative one only negative entries (words defined
+ to be reported as incorrect by the spell checker).</P>
+
+ @see com::sun::star::linguistic2::XDictionary
+ @see com::sun::star::linguistic2::XDictionaryEntry
+*/
+published enum DictionaryType
+{
+ /** all entries in the dictionary are positive.
+ */
+ POSITIVE,
+
+ /** all entries in the dictionary are negative.
+ */
+ NEGATIVE,
+
+ /**
+@deprecated
+ */
+ MIXED
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/HangulHanjaConversionDictionary.idl b/offapi/com/sun/star/linguistic2/HangulHanjaConversionDictionary.idl
new file mode 100644
index 000000000..d164a4a5e
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/HangulHanjaConversionDictionary.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_linguistic2_HangulHanjaConversionDictionary_idl__
+#define __com_sun_star_linguistic2_HangulHanjaConversionDictionary_idl__
+
+#include <com/sun/star/linguistic2/ConversionDictionary.idl>
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** represents a dictionary for Hangul/Hanja text conversion.
+
+ <p>A dictionary implementing this service will be used for
+ Hangul/Hanja conversion. Therefore the locale of the
+ dictionary has to be Korean, and the conversion type
+ com::sun::star::linguistic2::ConversionDictionaryType::HANGUL_HANJA.</p>
+
+ <p>Also for a pair (entry) to be added the
+ left part has to be in Hangul and the right in Hanja,
+ and the number of characters for the left part has to be the
+ same as for the right part.</p>
+
+ @since OOo 1.1.2
+*/
+published service HangulHanjaConversionDictionary
+{
+ service com::sun::star::linguistic2::ConversionDictionary;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/Hyphenator.idl b/offapi/com/sun/star/linguistic2/Hyphenator.idl
new file mode 100644
index 000000000..75796dd75
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/Hyphenator.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_linguistic2_Hyphenator_idl__
+#define __com_sun_star_linguistic2_Hyphenator_idl__
+
+#include <com/sun/star/lang/XInitialization.idl>
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/lang/XServiceDisplayName.idl>
+
+
+module com { module sun { module star { module linguistic2 {
+
+ published interface XHyphenator;
+ published interface XLinguServiceEventBroadcaster;
+
+/** offers hyphenation functionality.
+*/
+published service Hyphenator
+{
+ interface com::sun::star::linguistic2::XHyphenator;
+ interface com::sun::star::linguistic2::XLinguServiceEventBroadcaster;
+ interface com::sun::star::lang::XInitialization;
+ interface com::sun::star::lang::XComponent;
+ interface com::sun::star::lang::XServiceDisplayName;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/LanguageGuessing.idl b/offapi/com/sun/star/linguistic2/LanguageGuessing.idl
new file mode 100644
index 000000000..95d55f1be
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/LanguageGuessing.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_linguistic2_LanguageGuessing_idl__
+#define __com_sun_star_linguistic2_LanguageGuessing_idl__
+
+#include <com/sun/star/linguistic2/XLanguageGuessing.idl>
+
+module com { module sun { module star { module linguistic2 {
+
+ service LanguageGuessing:XLanguageGuessing;
+// service LanguageGuessing{
+// interface XLanguageGuessing;
+// interface XLanguageGuesserConfig;
+// };
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/LinguProperties.idl b/offapi/com/sun/star/linguistic2/LinguProperties.idl
new file mode 100644
index 000000000..4d56bba1a
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/LinguProperties.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_linguistic2_LinguProperties_idl__
+#define __com_sun_star_linguistic2_LinguProperties_idl__
+
+#include <com/sun/star/linguistic2/XLinguProperties.idl>
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** the set of linguistic relevant properties.
+*/
+published service LinguProperties : XLinguProperties;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/LinguServiceEvent.idl b/offapi/com/sun/star/linguistic2/LinguServiceEvent.idl
new file mode 100644
index 000000000..fc30ac014
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/LinguServiceEvent.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_linguistic2_LinguServiceEvent_idl__
+#define __com_sun_star_linguistic2_LinguServiceEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** represents a linguistic service event.
+
+ <P>This type of event may be broadcast by a spell checker or
+ hyphenator service implementation to inform its listeners (clients)
+ that the results of previous function calls may be different now.
+ It is possible to suggest that hyphenation should be done again
+ and/or the spelling of previously incorrect or correct words
+ should be checked again.</P>
+
+ @see com::sun::star::linguistic2::XLinguServiceEventBroadcaster
+ @see com::sun::star::linguistic2::XLinguServiceEventListener
+ @see com::sun::star::linguistic2::SpellChecker
+ @see com::sun::star::linguistic2::Hyphenator
+ @see com::sun::star::lang::EventObject
+*/
+published struct LinguServiceEvent : com::sun::star::lang::EventObject
+{
+ /** The type of event.
+
+ <p>The value may be combined via logical OR from those values
+ defined in com::sun::star::linguistic2::LinguServiceEventFlags</p>
+ */
+ short nEvent;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/LinguServiceEventFlags.idl b/offapi/com/sun/star/linguistic2/LinguServiceEventFlags.idl
new file mode 100644
index 000000000..324a74483
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/LinguServiceEventFlags.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_linguistic2_LinguServiceEventFlags_idl__
+#define __com_sun_star_linguistic2_LinguServiceEventFlags_idl__
+
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** to be used in lingu-service events.
+
+ <P>These values define the flags which may be logically combined
+ to build the event type of a
+ com::sun::star::linguistic2::LinguServiceEvent</P>
+*/
+published constants LinguServiceEventFlags
+{
+ /** The spelling of previously correct words should be checked again.
+ */
+ const short SPELL_CORRECT_WORDS_AGAIN = 1;
+
+ /** The spelling of previously misspelled words should be checked again.
+ */
+ const short SPELL_WRONG_WORDS_AGAIN = 2;
+
+ /** The hyphenation of words may have changed.
+ */
+ const short HYPHENATE_AGAIN = 4;
+
+ /** Request new proofreading of the document
+
+ @since OOo 3.0.1
+ */
+ const short PROOFREAD_AGAIN = 8;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/LinguServiceManager.idl b/offapi/com/sun/star/linguistic2/LinguServiceManager.idl
new file mode 100644
index 000000000..fb2d71849
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/LinguServiceManager.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_linguistic2_LinguServiceManager_idl__
+#define __com_sun_star_linguistic2_LinguServiceManager_idl__
+
+#include <com/sun/star/linguistic2/XLinguServiceManager2.idl>
+
+module com { module sun { module star { module linguistic2 {
+
+/** offers linguistic functionality. Is to be used to access spell checker,
+ hyphenator and thesaurus.
+*/
+published service LinguServiceManager : XLinguServiceManager2;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/NumberText.idl b/offapi/com/sun/star/linguistic2/NumberText.idl
new file mode 100644
index 000000000..67c77ceeb
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/NumberText.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_linguistic2_NumberText_idl__
+#define __com_sun_star_linguistic2_NumberText_idl__
+
+#include <com/sun/star/linguistic2/XNumberText.idl>
+
+module com { module sun { module star { module linguistic2 {
+
+/** provides converter to spell out numbers and money amounts
+
+ <p>An implementation of this service will receive text and has to spell
+ out as cardinal, ordinal, ordinal indicator or money amounts.</p>
+
+ <p>An implementation of this service is not limited to number to number
+ conversion at all. It might also support other linguistic functions of
+ a given language, for example, spelling out years, gender and formal
+ variants or complex affixation of number names, or article selection.</p>
+
+ @since LibreOffice 6.1
+ */
+
+ service NumberText:XNumberText;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/Proofreader.idl b/offapi/com/sun/star/linguistic2/Proofreader.idl
new file mode 100644
index 000000000..de5c8855e
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/Proofreader.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_linguistic2_Proofreader_idl__
+#define __com_sun_star_linguistic2_Proofreader_idl__
+
+
+module com { module sun { module star { module linguistic2 {
+ interface XProofreader; };
+}; }; };
+
+
+module com { module sun { module star { module linguistic2 {
+
+
+/** provides a proofreader (often known as grammar checker) for text
+
+ <p>An implementation of this service will receive text and has to identify
+ the sentence end and report all errors found.</p>
+
+ <p>An implementation of this service is not limited to grammar checking at all.
+ It might also check style, used terms etc. Basically it can check every
+ aspect of a single sentence. Since the text provided is always the complete
+ paragraph it can also choose to analyze the context of the sentence currently
+ required to be checked. However error reports need to be limited to the
+ current sentence.</p>
+
+ @since OOo 3.0.1
+ */
+
+service Proofreader : XProofreader {};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/ProofreadingIterator.idl b/offapi/com/sun/star/linguistic2/ProofreadingIterator.idl
new file mode 100644
index 000000000..7915dd803
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/ProofreadingIterator.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_linguistic2_ProofreadingIterator_idl__
+#define __com_sun_star_linguistic2_ProofreadingIterator_idl__
+
+
+module com { module sun { module star { module linguistic2 {
+ interface XProofreadingIterator; };
+}; }; };
+
+
+module com { module sun { module star { module linguistic2 {
+
+
+/** provides a proofreading iterator
+
+ <p>An implementation of this service acts as a mediator between documents
+ and proofreaders (often called just grammar checkers). It is responsible to
+ process requests for proofreading text portions.</p>
+
+ @since OOo 3.0.1
+ */
+
+service ProofreadingIterator : XProofreadingIterator;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/ProofreadingResult.idl b/offapi/com/sun/star/linguistic2/ProofreadingResult.idl
new file mode 100644
index 000000000..b1ac7a611
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/ProofreadingResult.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_linguistic2_ProofreadingResult_idl__
+#define __com_sun_star_linguistic2_ProofreadingResult_idl__
+
+#include <com/sun/star/text/XFlatParagraph.idl>
+#include <com/sun/star/lang/Locale.idl>
+#include <com/sun/star/linguistic2/SingleProofreadingError.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+
+
+module com { module sun { module star { module linguistic2 {
+
+// forward declaration
+interface XProofreader;
+
+/** holds the results from proofreading a sentence.
+
+ @since OOo 3.0.1
+*/
+struct ProofreadingResult
+{
+ // the document ID
+ string aDocumentIdentifier;
+
+ // the paragraph that was checked
+ com::sun::star::text::XFlatParagraph xFlatParagraph;
+
+ // text that was checked (the paragraphs content may have changed meanwhile!)
+ string aText;
+
+ // language used for checking
+ com::sun::star::lang::Locale aLocale;
+
+ // the start of sentence position passed to the proofreader
+ long nStartOfSentencePosition;
+
+ // the end of sentence position found by the proofreader
+ // That is the index following the character terminating the sentence.
+ long nBehindEndOfSentencePosition;
+
+ // the start of the next sentence to be checked.
+ // Basically obtained by skipping all white spaces after the end of sentence position.
+ long nStartOfNextSentencePosition;
+
+ // the list of errors
+ sequence< com::sun::star::linguistic2::SingleProofreadingError > aErrors;
+
+ // a list of properties
+ sequence< com::sun::star::beans::PropertyValue > aProperties;
+
+ // reference to the specific proofreader implementation that reported the error
+ com::sun::star::linguistic2::XProofreader xProofreader;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/SingleProofreadingError.idl b/offapi/com/sun/star/linguistic2/SingleProofreadingError.idl
new file mode 100644
index 000000000..dfed3d559
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/SingleProofreadingError.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_linguistic2_SingleProofreadingError_idl__
+#define __com_sun_star_linguistic2_SingleProofreadingError_idl__
+
+#include <com/sun/star/lang/Locale.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** holds a single error found by the proofreader.
+
+ @since OOo 3.0.1
+*/
+struct SingleProofreadingError
+{
+ // start index of the error text
+ // indicating the text to be replaced if suggestions are applied
+ long nErrorStart;
+
+ // the length of the error text
+ // indicating the text to be replaced if suggestions are applied
+ long nErrorLength;
+
+ // as in com.sun.star.text.TextMarkupType
+ long nErrorType;
+
+ // the id of the rule that this error is violating
+ string aRuleIdentifier;
+
+ // short error description text (usually to be displayed in context menu)
+ string aShortComment;
+
+ // full error description text (usually to be displayed in dialog)
+ string aFullComment;
+
+ // a list of correction suggestions
+ // Usually empty if only automatic checking was done.
+ sequence< string > aSuggestions;
+
+ // a list of properties
+ // <ul>
+ // <li>FullCommentURL: URL to a page providing more details on the
+ // error.</li>
+ // </ul>
+ sequence< com::sun::star::beans::PropertyValue > aProperties;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/SpellChecker.idl b/offapi/com/sun/star/linguistic2/SpellChecker.idl
new file mode 100644
index 000000000..371ed3dbe
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/SpellChecker.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_linguistic2_SpellChecker_idl__
+#define __com_sun_star_linguistic2_SpellChecker_idl__
+
+#include <com/sun/star/lang/XInitialization.idl>
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/lang/XServiceDisplayName.idl>
+
+
+module com { module sun { module star { module linguistic2 {
+
+ published interface XSpellChecker;
+ published interface XLinguServiceEventBroadcaster;
+
+/** offers spell checking functionality.
+*/
+published service SpellChecker
+{
+ interface com::sun::star::linguistic2::XSpellChecker;
+ interface com::sun::star::linguistic2::XLinguServiceEventBroadcaster;
+ interface com::sun::star::lang::XInitialization;
+ interface com::sun::star::lang::XComponent;
+ interface com::sun::star::lang::XServiceDisplayName;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/SpellFailure.idl b/offapi/com/sun/star/linguistic2/SpellFailure.idl
new file mode 100644
index 000000000..fb02fe734
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/SpellFailure.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_linguistic2_SpellFailure_idl__
+#define __com_sun_star_linguistic2_SpellFailure_idl__
+
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** these define the various return types for spell checking to fail verification.
+
+ <P>A value of this type is part of the
+ com::sun::star::linguistic2::XSpellAlternatives
+ interface which is the return type for an unsuccessful
+ spelling attempt.</P>
+
+ @see com::sun::star::linguistic2::XSpellChecker
+*/
+published constants SpellFailure
+{
+ /** The word is a negative one, that is, it should not be used.
+ */
+ const short IS_NEGATIVE_WORD = 2;
+
+ /** The capitalization of the word is wrong.
+ */
+ const short CAPTION_ERROR = 3;
+
+ /** The spelling of the word is wrong (or at least not known to be correct).
+ */
+ const short SPELLING_ERROR = 4;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/Thesaurus.idl b/offapi/com/sun/star/linguistic2/Thesaurus.idl
new file mode 100644
index 000000000..b00d2af4d
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/Thesaurus.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_linguistic2_Thesaurus_idl__
+#define __com_sun_star_linguistic2_Thesaurus_idl__
+
+#include <com/sun/star/lang/XInitialization.idl>
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/lang/XServiceDisplayName.idl>
+
+
+module com { module sun { module star { module linguistic2 {
+
+published interface XThesaurus;
+
+/** offers thesaurus functionality.
+*/
+published service Thesaurus
+{
+ interface com::sun::star::linguistic2::XThesaurus;
+ interface com::sun::star::lang::XInitialization;
+ interface com::sun::star::lang::XComponent;
+ interface com::sun::star::lang::XServiceDisplayName;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/XAvailableLocales.idl b/offapi/com/sun/star/linguistic2/XAvailableLocales.idl
new file mode 100644
index 000000000..165060fb2
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XAvailableLocales.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_linguistic2_XAvailableLocales_idl__
+#define __com_sun_star_linguistic2_XAvailableLocales_idl__
+
+
+#include <com/sun/star/lang/Locale.idl>
+
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** retrieves the list of available languages.
+*/
+published interface XAvailableLocales : com::sun::star::uno::XInterface
+{
+ /** retrieve the list of supported languages (Locales).
+
+ @see com::sun::star::linguistic2::XSupportedLocales
+
+ @param aServiceName
+ the name of the service to get the list of available Locales for.
+ @return
+ the list of locales supported by the whole of all registered
+ implementations of that service. The sequence will be empty
+ if there is no such language or the service is not known.
+ */
+ sequence< com::sun::star::lang::Locale > getAvailableLocales(
+ [in] string aServiceName );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/XConversionDictionary.idl b/offapi/com/sun/star/linguistic2/XConversionDictionary.idl
new file mode 100644
index 000000000..a20a4a613
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XConversionDictionary.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_linguistic2_XConversionDictionary_idl__
+#define __com_sun_star_linguistic2_XConversionDictionary_idl__
+
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/Locale.idl>
+#include <com/sun/star/linguistic2/ConversionDictionaryType.idl>
+#include <com/sun/star/linguistic2/ConversionDirection.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/container/ElementExistException.idl>
+#include <com/sun/star/container/NoSuchElementException.idl>
+
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** Allows the user to access a conversion dictionary.
+
+ <p>The dictionary consists of entries (pairs) of the form
+ ( aLeftText, aRightText ).
+ Those pairs can be added and removed. Also it can be looked
+ for all entries where the left text or the right text matches
+ a given text. Thus it can be used for conversions in both
+ directions.</p>
+
+ <p>Restrictions to what has to be the left and right text are usually
+ given by specific services implementing this interface.</p>
+
+ @see com::sun::star::linguistic2::ConversionDictionary
+ @see com::sun::star::linguistic2::HangulHanjaConversionDictionary
+
+ @since OOo 1.1.2
+*/
+published interface XConversionDictionary : com::sun::star::uno::XInterface
+{
+ /**
+ @returns
+ the name of the dictionary.
+ */
+ string getName();
+
+ /**
+ @returns
+ the language supported by the dictionary.
+
+ @see com::sun::star::lang::Locale
+ */
+ com::sun::star::lang::Locale getLocale();
+
+ /**
+ @returns
+ the conversion type supported by the dictionary.
+
+ @see com::sun::star::linguistic2::ConversionDictionaryType
+ */
+ short getConversionType();
+
+ /** specifies whether the dictionary should be used or not .
+
+ @param bActivate
+ `TRUE` if the dictionary should be used, `FALSE` otherwise.
+
+ */
+ void setActive( [in] boolean bActivate );
+
+ /**
+ @returns
+ `TRUE` if the dictionary is active, `FALSE` otherwise.
+ */
+ boolean isActive();
+
+ /** removes all entries from the dictionary.
+ */
+ void clear();
+
+ /** searches for entries or conversions that match the given text.
+
+ <p>The exact string to be looked for is the substring from the
+ aText parameter that starts at position nStartPos and has the
+ length nLength.</p>
+
+ @returns
+ the list of conversions found for the supplied text.
+ If no nothing was found, it is empty.
+
+ @param aText
+ the text where the substring to be looked for will be taken from.
+ Depending on the conversion direction parameter it specifies
+ either the left text or the right text to look for.
+ @param nStartPos
+ the starting pos of the substring to be looked for.
+ @param nLength
+ the length of the substring to be looked for.
+
+ @param eDirection
+ specifies the direction of the conversion to look for.
+ It is one of
+ com::sun::star::linguistic2::ConversionDirection.
+
+ @param nTextConversionOptions
+ Combination of com::sun::star::i18n::TextConversionOption
+ values.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the locale is not supported by the dictionary or if
+ nTextConversionOptions is invalid for the given locale.
+ */
+ sequence< string > getConversions(
+ [in] string aText,
+ [in] long nStartPos,
+ [in] long nLength,
+ [in] com::sun::star::linguistic2::ConversionDirection eDirection,
+ [in] long nTextConversionOptions )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** is used to add a conversion pair to the dictionary.
+
+ @param aLeftText
+ the left text of the pair to be added.
+
+ @param aRightText
+ the right text of the pair to be added.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the arguments are invalid.
+ For example if the specifications defined by the service
+ implementing this object are not met.
+
+ @throws com::sun::star::container::ElementExistException
+ if such an entry already exists.
+ */
+ void addEntry(
+ [in] string aLeftText,
+ [in] string aRightText )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::container::ElementExistException);
+
+ /** removes a conversion pair from the dictionary.
+
+ @param aLeftText
+ the left text of the pair to be removed.
+
+ @param aRightText
+ the right text of the pair to be removed.
+
+ @throws com::sun::star::container::NoSuchElementException
+ if there is no such entry.
+ */
+ void removeEntry(
+ [in] string aLeftText,
+ [in] string aRightText )
+ raises( com::sun::star::container::NoSuchElementException );
+
+ /** returns the maximum number of characters used as left or right text
+ in entries.
+
+ @param eDirection
+ specifies if the left text or the right text of entries will
+ be used.
+
+ @see com::sun::star::linguistic2::ConversionDirection
+ */
+ short getMaxCharCount(
+ [in] com::sun::star::linguistic2::ConversionDirection eDirection );
+
+ /**
+ @returns
+ a list of all left or right parts of the dictionaries entries.
+ @param eDirection
+ specifies if all left or all right parts of the entries
+ should be returned.
+ */
+
+ sequence< string > getConversionEntries(
+ [in] com::sun::star::linguistic2::ConversionDirection eDirection );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/XConversionDictionaryList.idl b/offapi/com/sun/star/linguistic2/XConversionDictionaryList.idl
new file mode 100644
index 000000000..9740178f8
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XConversionDictionaryList.idl
@@ -0,0 +1,188 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_linguistic2_XConversionDictionaryList_idl__
+#define __com_sun_star_linguistic2_XConversionDictionaryList_idl__
+
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/container/XNameContainer.idl>
+#include <com/sun/star/linguistic2/XConversionDictionary.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/lang/NoSupportException.idl>
+#include <com/sun/star/container/ElementExistException.idl>
+
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** is used to manage and maintain a list of conversion dictionaries.
+
+ <p>The dictionaries added to the list may or may not support the
+ com::sun::star::util::XFlushable interface.
+ If they do those dictionaries have to be flushed upon termination
+ of the dictionary list.</p>
+
+ @since OOo 1.1.2
+*/
+published interface XConversionDictionaryList : com::sun::star::uno::XInterface
+{
+ /**
+ @returns
+ the name container interface to the dictionaries in the list.
+
+ <p>The interface can be used to add, remove or retrieve dictionaries
+ from the list by specifying the name of the dictionary, and
+ (in case of inserting) the interface to the dictionary as second
+ parameter.</p>
+
+ <p>A dictionary to be added must support the
+ com::sun::star::linguistic2::XConversionDictionary
+ interface.
+ The dictionary to be added needs not necessarily be created by
+ this service.</p>
+
+ <p>The com::sun::star::container::XNameReplace::replaceByName
+ function is implemented empty since renaming of dictionaries
+ is not allowed.</p>
+ */
+ com::sun::star::container::XNameContainer getDictionaryContainer();
+
+ /** creates a new dictionary and adds it to the dictionary list.
+
+ <p>The dictionary will be empty and active.</p>
+
+ @returns
+ an empty dictionary with the given name, locale and
+ conversion type.
+ `NULL` on failure.
+
+ @param aName
+ is the name of the dictionary (should be unique).
+
+ @param aLocale
+ defines the language of the dictionary.
+
+ @param nConversionDictionaryType
+ One of com::sun::star::linguistic2::ConversionDictionaryType values.
+
+ @throws NoSupportException
+ when <var>nConversionDictionaryType</var> is not known by the implementation.
+
+ @throws ElementExistException
+ when a dictionary with the specified name already exists.
+ */
+ com::sun::star::linguistic2::XConversionDictionary addNewDictionary(
+ [in] string aName,
+ [in] com::sun::star::lang::Locale aLocale,
+ [in] short nConversionDictionaryType )
+ raises( com::sun::star::lang::NoSupportException,
+ com::sun::star::container::ElementExistException );
+
+ /** searches for entries that match the given text.
+
+ <p>All active dictionaries with matching locales and conversion
+ type will be searched
+ for entries matching the given text.</p>
+
+ <p>The exact string to be looked for is the substring from the
+ aText parameter that starts at position nStartPos and has the
+ length nLength.</p>
+
+ @returns
+ the list of entries found. If no entry was found,
+ it is empty.
+
+ @param aText
+ the text where the substring to be looked for will be taken from.
+ @param nStartPos
+ the starting pos of the substring to be looked for.
+ @param nLength
+ the length of the substring to be looked for.
+
+
+ @param aLocale
+ Locale the conversion is referred to.
+
+ @param nConversionDictionaryType
+ specifies the type of conversion the dictionary
+ can be used for. It is one of
+ com::sun::star::linguistic2::ConversionDictionaryType.
+
+ @param eDirection
+ specifies the direction of the conversion to look for.
+ It is one of
+ com::sun::star::linguistic2::ConversionDirection.
+
+ @param nTextConversionOptions
+ Combination of com::sun::star::i18n::TextConversionOption
+ values.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the nTextConversionOptions parameter is invalid for
+ the given locale.
+
+ @throws NoSupportException
+ when <var>nConversionDictionaryType</var> is not known by the implementation,
+ or when the locale is not supported (i.e. there are no dictionaries
+ for that locale available).
+ */
+ sequence< string > queryConversions(
+ [in] string aText,
+ [in] long nStartPos,
+ [in] long nLength,
+ [in] com::sun::star::lang::Locale aLocale,
+ [in] short nConversionDictionaryType,
+ [in] com::sun::star::linguistic2::ConversionDirection eDirection,
+ [in] long nTextConversionOptions )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::lang::NoSupportException );
+
+ /** returns the maximum number of characters used as left or right text
+ in entries.
+
+ <p>All active dictionaries of the specified locale and type
+ will be looked up to get the result.</p>
+ <p>The parameter eDirection specifies if only the left text or the
+ right text from entries should be considered.</p>
+
+ @param aLocale
+ Locale the conversion is referred to.
+ @param nConversionDictionaryType
+ specifies the type of conversion dictionaries to be looked up.
+ It is one of
+ com::sun::star::linguistic2::ConversionDictionaryType.
+ @param eDirection
+ specifies if the left text or the right text of entries will
+ be used.
+
+ @see com::sun::star::linguistic2::ConversionDirection
+ */
+ short queryMaxCharCount(
+ [in] com::sun::star::lang::Locale aLocale,
+ [in] short nConversionDictionaryType,
+ [in] com::sun::star::linguistic2::ConversionDirection eDirection );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/XConversionPropertyType.idl b/offapi/com/sun/star/linguistic2/XConversionPropertyType.idl
new file mode 100644
index 000000000..7e822d9c0
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XConversionPropertyType.idl
@@ -0,0 +1,91 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_linguistic2_XConversionPropertyType_idl__
+#define __com_sun_star_linguistic2_XConversionPropertyType_idl__
+
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/container/NoSuchElementException.idl>
+
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** allows set and retrieve the property type of an entry in a
+ conversion dictionary
+
+ <p>The property type must be one of
+ com::sun::star::linguistic2::ConversionPropertyType</p>
+
+ @see com::sun::star::linguistic2::XConversionDictionary
+ @see com::sun::star::linguistic2::ConversionPropertyType
+
+ @since OOo 2.0
+*/
+published interface XConversionPropertyType : com::sun::star::uno::XInterface
+{
+
+ /** sets the property type for the specified entry.
+
+ <p>The conversion entry is specified by the pair
+ ( aLeftText, aRightText ).</p>
+
+ @param aLeftText
+ the left text of the dictionary entry.
+ @param aRightText
+ the right text of the dictionary entry.
+ @param nPropertyType
+ the property type to be set for the entry
+ */
+ void setPropertyType(
+ [in] string aLeftText,
+ [in] string aRightText,
+ [in] short nPropertyType )
+ raises( com::sun::star::container::NoSuchElementException,
+ com::sun::star::lang::IllegalArgumentException );
+
+ /** returns the property type for the specified entry.
+
+ <p>The conversion entry is specified by the pair
+ ( aLeftText, aRightText ).</p>
+
+ @param aLeftText
+ the left text of the dictionary entry.
+ @param aRightText
+ the right text of the dictionary entry.
+ @returns
+ returns the property type for the entry with the specified
+ left text.
+ */
+ short getPropertyType(
+ [in] string aLeftText,
+ [in] string aRightText )
+ raises( com::sun::star::container::NoSuchElementException );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/XDictionary.idl b/offapi/com/sun/star/linguistic2/XDictionary.idl
new file mode 100644
index 000000000..c184642c7
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XDictionary.idl
@@ -0,0 +1,236 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_linguistic2_XDictionary_idl__
+#define __com_sun_star_linguistic2_XDictionary_idl__
+
+#include <com/sun/star/container/XNamed.idl>
+#include <com/sun/star/lang/Locale.idl>
+#include <com/sun/star/linguistic2/DictionaryType.idl>
+#include <com/sun/star/linguistic2/XDictionaryEntry.idl>
+#include <com/sun/star/linguistic2/XDictionaryEventListener.idl>
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** This interfaces enables the object to access personal dictionaries.
+
+ <P>Personal dictionaries are used to supply additional
+ information for spell checking and hyphenation (see
+ com::sun::star::linguistic2::XDictionaryEntry).
+ Only active dictionaries with an appropriate language are used
+ for that purpose.
+ The entries of an active, positive dictionary are words that are
+ required to be recognized as correct during the spell checking
+ process. Additionally, they will be used for hyphenation.
+ Entries of a negative dictionary are required to be recognized
+ as negative words, for example, words that should not be used, during
+ SPELLCHECK. An entry in a negative dictionary may supply a
+ proposal for a word to be used instead of the one being used.</P>
+
+ @see com::sun::star::linguistic2::XDictionaryEvent
+ @see com::sun::star::container::XNamed
+*/
+published interface XDictionary : com::sun::star::container::XNamed
+{
+ /** returns the type of the dictionary.
+
+ @returns
+ the type of the dictionary.
+
+ @see com::sun::star::linguistic2::DictionaryType
+ */
+ com::sun::star::linguistic2::DictionaryType getDictionaryType();
+
+ /** specifies whether the dictionary should be used or not .
+
+ @param bActivate
+ `TRUE` if the dictionary should be used, `FALSE` otherwise.
+
+ */
+ void setActive( [in] boolean bActivate );
+
+ /**
+ @returns
+ `TRUE` if the dictionary is active, `FALSE` otherwise.
+ */
+ boolean isActive();
+
+ /**
+ @returns
+ the number of entries in the dictionary.
+ */
+ long getCount();
+
+ /**
+ @returns
+ the language of the dictionary.
+
+ @see com::sun::star::lang::Locale
+ */
+ com::sun::star::lang::Locale getLocale();
+
+ /** is used to set the language of the dictionary.
+
+ @param aLocale
+ the new language of the dictionary.
+
+ @see com::sun::star::lang::Locale
+ */
+ void setLocale( [in] com::sun::star::lang::Locale aLocale );
+
+ /** searches for an entry that matches the given word.
+
+ @returns
+ the reference to the entry found. If no entry was found,
+ it is NULL.
+
+ @param aWord
+ the word to be looked for.
+
+ @see com::sun::star::linguistic2::XDictionaryEntry
+ */
+ com::sun::star::linguistic2::XDictionaryEntry getEntry( [in] string aWord );
+
+ /** is used to add an entry to the dictionary.
+
+ <P>If an entry already exists, the dictionary remains unchanged
+ and `FALSE` will be returned.</P>
+
+ <P>In positive dictionaries only positive entries
+ can be made, and in negative ones only negative entries.</P>
+
+ @param xDicEntry
+ the entry to be added.
+
+ @returns
+ `TRUE` if the entry was successfully added `FALSE` otherwise.
+
+ @see com::sun::star::linguistic2::XDictionaryEntry
+ @see com::sun::star::linguistic2::DictionaryType
+ */
+ boolean addEntry(
+ [in] com::sun::star::linguistic2::XDictionaryEntry xDicEntry );
+
+ /** is used to make an entry in the dictionary.
+
+ <P>If an entry already exists, the dictionary remains unchanged
+ and `FALSE` will be returned.</P>
+
+ <P>In positive dictionaries only positive entries
+ can be made, and in negative ones only negative entries.</P>
+
+ @param aWord
+ the word to be added.
+
+ @param bIsNegative
+ specifies whether the entry will be a negative one or not.
+
+ @param aRplcText
+ in the case of a negative entry, this is the replacement text to
+ be used when replacing aWord. Otherwise, it is undefined.
+
+ @returns
+ `TRUE` if the entry was successfully added, `FALSE` otherwise.
+
+ @see com::sun::star::linguistic2::DictionaryType
+ */
+ boolean add(
+ [in] string aWord,
+ [in] boolean bIsNegative,
+ [in] string aRplcText );
+
+ /** removes an entry from the dictionary.
+
+ @param aWord
+ the word matching the entry to be removed.
+
+ @returns
+ `TRUE` if the entry was successfully removed, `FALSE`
+ otherwise (especially if the entry was not found).
+ */
+ boolean remove( [in] string aWord );
+
+ /**
+ @returns
+ `TRUE` if the dictionary is full and no further
+ entry can be made, `FALSE` otherwise.
+ */
+ boolean isFull();
+
+ /**
+ <p>This function should no longer be used since with the expansion of the
+ maximum number of allowed entries the result may become unreasonable large!</p>
+
+ @returns
+ a sequence with all the entries of the dictionary.
+
+ @see com::sun::star::linguistic2::XDictionaryEntry
+ @see com::sun::star::linguistic2::XSearchableDictionary
+ @deprecated
+ */
+
+ sequence<com::sun::star::linguistic2::XDictionaryEntry> getEntries();
+
+ /** removes all entries from the dictionary.
+ */
+ void clear();
+
+ /** adds an entry to the list of dictionary event listeners.
+
+ <P>On dictionary events, each entry in the listener list will
+ be notified via a call to
+ com::sun::star::linguistic2::XDictionaryEventListener::processDictionaryEvent().</P>
+
+ @param xListener
+ the entry to be made, that is, the object that wants notifications.
+
+ @returns
+ `TRUE` if the entry was successfully made, `FALSE` otherwise.
+ If com::sun::star::lang::XEventListener::disposing() was called before,
+ it will always fail.
+
+ @see com::sun::star::linguistic2::XDictionary::removeDictionaryEventListener()
+ @see com::sun::star::linguistic2::XDictionaryEventListener
+ */
+ boolean addDictionaryEventListener(
+ [in] com::sun::star::linguistic2::XDictionaryEventListener xListener );
+
+ /** removes an entry from the list of dictionary event listeners.
+
+ @param xListener
+ the reference to the listening object to be removed.
+
+ @returns
+ `TRUE` if the object to be removed was found and removed,
+ `FALSE` if the object was not found in the list.
+
+ @see com::sun::star::linguistic2::XDictionary::addDictionaryEventListener()
+ @see com::sun::star::linguistic2::XDictionaryEventListener
+ */
+ boolean removeDictionaryEventListener(
+ [in] com::sun::star::linguistic2::XDictionaryEventListener xListener );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/XDictionary1.idl b/offapi/com/sun/star/linguistic2/XDictionary1.idl
new file mode 100644
index 000000000..5cfef0d3c
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XDictionary1.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_linguistic2_XDictionary1_idl__
+#define __com_sun_star_linguistic2_XDictionary1_idl__
+
+#include <com/sun/star/container/XNamed.idl>
+#include <com/sun/star/linguistic2/DictionaryType.idl>
+#include <com/sun/star/linguistic2/XDictionaryEntry.idl>
+#include <com/sun/star/linguistic2/XDictionaryEventListener.idl>
+
+
+module com { module sun { module star { module linguistic2 {
+
+/**
+ @deprecated
+*/
+published interface XDictionary1 : com::sun::star::container::XNamed
+{
+ com::sun::star::linguistic2::DictionaryType getDictionaryType();
+
+ void setActive( [in] boolean bActivate );
+
+ boolean isActive();
+
+ short getCount();
+
+ short getLanguage();
+
+ void setLanguage( [in] short nLang );
+
+ com::sun::star::linguistic2::XDictionaryEntry getEntry( [in] string aWord );
+
+ boolean addEntry( [in] com::sun::star::linguistic2::XDictionaryEntry xDicEntry );
+
+ boolean add(
+ [in] string aWord,
+ [in] boolean bIsNegative,
+ [in] string aRplcText );
+
+ boolean remove( [in] string aWord );
+
+ boolean isFull();
+
+ sequence<com::sun::star::linguistic2::XDictionaryEntry> getEntries();
+
+ void clear();
+
+ boolean addDictionaryEventListener( [in] com::sun::star::linguistic2::XDictionaryEventListener xListener );
+
+ boolean removeDictionaryEventListener( [in] com::sun::star::linguistic2::XDictionaryEventListener xListener );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/XDictionaryEntry.idl b/offapi/com/sun/star/linguistic2/XDictionaryEntry.idl
new file mode 100644
index 000000000..0dc4d73a1
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XDictionaryEntry.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_linguistic2_XDictionaryEntry_idl__
+#define __com_sun_star_linguistic2_XDictionaryEntry_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/Locale.idl>
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** This interfaces gives access to a dictionary entry.
+
+ <P>A dictionary entry can supply a word and its hyphenation
+ and indicate if it is a negative word.
+ If it is a negative entry it may supply a replacement text to
+ be used instead of the entry word.</P>
+
+ <P>Hyphenation positions are represented by an "=" in the word.
+ If the "=" is the last character of the word this means it should not
+ be hyphenated. If there is no "=" charter in the word, hyphenation
+ positions will be determined automatically (i.e., from the hyphenator
+ service alone).</P>
+
+ <P>Entries whose words only differ in hyphenation are considered
+ to be equal. Also a "." at the end of the word will make no
+ difference.</P>
+
+ @see com::sun::star::linguistic2::XDictionary
+ @see com::sun::star::uno::XInterface
+*/
+published interface XDictionaryEntry : com::sun::star::uno::XInterface
+{
+ /**
+ @returns
+ the word defining this entry.
+ */
+ string getDictionaryWord();
+
+ /**
+ @returns
+ `TRUE` if the word (entry) is a negative one and should not be
+ used, `FALSE` otherwise.
+ */
+ boolean isNegative();
+
+ /** is the suggested replacement text for negative words.
+
+ <p>It is undefined if the entry is not negative.</p>
+
+ @returns
+ the replacement text for a negative entry.
+ An empty string indicates that no replacement text is provided.
+ */
+ string getReplacementText();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/XDictionaryEventListener.idl b/offapi/com/sun/star/linguistic2/XDictionaryEventListener.idl
new file mode 100644
index 000000000..af053808d
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XDictionaryEventListener.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_linguistic2_XDictionaryEventListener_idl__
+#define __com_sun_star_linguistic2_XDictionaryEventListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+#include <com/sun/star/linguistic2/DictionaryEvent.idl>
+
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** This interfaces allows the object to act according to dictionary events.
+
+ <P>The single method is used by a dictionary to notify its
+ listeners about
+ com::sun::star::linguistic2::DictionaryEvents.</P>
+
+ @see com::sun::star::linguistic2::XDictionary
+ @see com::sun::star::lang::XEventListener
+*/
+published interface XDictionaryEventListener : com::sun::star::lang::XEventListener
+{
+ /** is used to get notification of dictionary events.
+
+ @param aDicEvent
+ the event to be notified of.
+
+ @see com::sun::star::lang::DictionaryEvent
+ */
+ void processDictionaryEvent(
+ [in] com::sun::star::linguistic2::DictionaryEvent aDicEvent );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/XDictionaryList.idl b/offapi/com/sun/star/linguistic2/XDictionaryList.idl
new file mode 100644
index 000000000..63ec6a0ae
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XDictionaryList.idl
@@ -0,0 +1,232 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_linguistic2_XDictionaryList_idl__
+#define __com_sun_star_linguistic2_XDictionaryList_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/linguistic2/XDictionary.idl>
+#include <com/sun/star/linguistic2/XDictionaryListEventListener.idl>
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** is used to manage and maintain a list of dictionaries.
+
+ <P>A dictionary-list may be given to a spell checker or hyphenator
+ service implementation on their creation in order to supply a set
+ of dictionaries and additional information to be used for
+ those purposes.</P>
+
+ @see com::sun::star::linguistic2::XDictionary
+ @see com::sun::star::uno::XInterface
+*/
+published interface XDictionaryList : com::sun::star::uno::XInterface
+{
+ /**
+ @returns
+ the number of dictionaries in the list.
+ */
+ short getCount();
+
+ /**
+ @returns
+ a sequence with an entry for every dictionary
+ in the list.
+
+ @see com::sun::star::linguistic2::XDictionary
+ */
+ sequence<com::sun::star::linguistic2::XDictionary> getDictionaries();
+
+ /** searches the list for a dictionary with a given name.
+
+ @returns
+ the XDictionary with the specified name. If no such
+ dictionary exists, `NULL` will be returned.
+
+ @param aDictionaryName
+ specifies the name of the dictionary to look for.
+
+ @see com::sun::star::linguistic2::XDictionary
+ */
+ com::sun::star::linguistic2::XDictionary getDictionaryByName(
+ [in] string aDictionaryName );
+
+ /** adds a dictionary to the list.
+
+ <P>Additionally, the dictionary-list will add itself to the list of dictionary
+ event listeners of that dictionary.</P>
+
+ @returns
+ `TRUE` if the dictionary was added successfully,
+ `FALSE` otherwise.
+
+ @param xDictionary
+ the dictionary to be added.
+
+ @see com::sun::star::linguistic2::XDictionary
+ */
+ boolean addDictionary(
+ [in] com::sun::star::linguistic2::XDictionary xDictionary );
+
+ /** removes a single dictionary from the list.
+
+ <P>If the dictionary is still active, it will be deactivated
+ first. The dictionary-list will remove itself from the list of
+ dictionary event listeners of the dictionary.</P>
+
+ @returns
+ `TRUE` if the dictionary was removed successfully, `FALSE`
+ otherwise.
+
+ @param xDictionary
+ dictionary to be removed from the list of dictionaries.
+
+ @see com::sun::star::linguistic2::XDictionary
+ */
+ boolean removeDictionary(
+ [in] com::sun::star::linguistic2::XDictionary xDictionary );
+
+ /** adds an entry to the list of dictionary-list event listeners.
+
+ <P>On dictionary-list events, each entry in the listener list will
+ be notified via a call to
+ com::sun::star::linguistic2::XDictionaryListEventListener::processDictionaryListEvent().</P>
+
+ @returns
+ `TRUE` if the entry was made, `FALSE` otherwise.
+ If com::sun::star::lang::XEventListener::disposing()
+ was called before, it will always fail.
+
+ @param xListener
+ the object to be notified of dictionary-list events.
+
+ @param bReceiveVerbose
+ `TRUE` if the listener requires more detailed event
+ notification than usual.
+
+ @see com::sun::star::linguistic2::XDictionaryListEventListener
+ @see com::sun::star::linguistic2::XDictionaryListEvent
+ */
+ boolean addDictionaryListEventListener(
+ [in] com::sun::star::linguistic2::XDictionaryListEventListener xListener,
+ [in] boolean bReceiveVerbose );
+
+ /** removes an entry from the list of dictionary-list event listeners.
+
+ @returns
+ `TRUE` if the object to be removed was found and removed,
+ `FALSE` otherwise.
+
+ @param xListener
+ the object to be removed from the listener list.
+
+ @see com::sun::star::linguistic2::XDictionaryListEventListener
+ @see com::sun::star::linguistic2::XDictionaryListEvent
+ */
+ boolean removeDictionaryListEventListener(
+ [in] com::sun::star::linguistic2::XDictionaryListEventListener xListener );
+
+ /** increases request level for event buffering by one.
+
+ <P>The request level for event buffering is an integer
+ counter that is initially set to 0.
+ As long as the request level is not 0, events will be buffered
+ until the next flushing of the buffer.</P>
+
+ @returns
+ the current request level for event buffering.
+
+ @see com::sun::star::linguistic2::XDictionaryListEvent
+ @see com::sun::star::linguistic2::XDictionaryListEventListener
+ @see com::sun::star::linguistic2::XDictionaryList::endCollectEvents()
+ @see com::sun::star::linguistic2::XDictionaryList::flushEvents()
+ */
+ short beginCollectEvents();
+
+ /** flushes the event buffer and decreases the request level for
+ event buffering by one.
+
+ <P>There should be one matching endCollectEvents call for every
+ beginCollectEvents call. Usually you will group these around
+ some code where you do not wish to get notified of every single
+ event.</P>
+
+ @returns
+ the current request level for event buffering.
+
+ @see com::sun::star::linguistic2::XDictionaryListEvent
+ @see com::sun::star::linguistic2::XDictionaryListEventListener
+ @see com::sun::star::linguistic2::XDictionaryList::beginCollectEvents()
+ @see com::sun::star::linguistic2::XDictionaryList::flushEvents()
+ */
+ short endCollectEvents();
+
+ /** notifies the listeners of all buffered events and then clears
+ that buffer.
+
+ @returns
+ the current request level for event buffering.
+
+ @see com::sun::star::linguistic2::XDictionaryListEvent
+ @see com::sun::star::linguistic2::XDictionaryListEventListener
+ @see com::sun::star::linguistic2::XDictionaryList::beginCollectEvents()
+ @see com::sun::star::linguistic2::XDictionaryList::endCollectEvents()
+ */
+ short flushEvents();
+
+ /** creates a new dictionary.
+
+ @returns
+ an empty dictionary with the given name, language and type.
+ `NULL` on failure.
+
+ @param aName
+ is the name of the dictionary (should be unique).
+
+ @param aLocale
+ defines the language of the dictionary.
+ Use an empty aLocale for dictionaries which may contain
+ entries of all languages.
+
+ @param eDicType
+ specifies the type of the dictionary.
+
+ @param aURL
+ is the URL of the location where the dictionary is persistent,
+ if the XStorable interface is supported.
+ It may be empty, which means the dictionary will not be persistent.
+
+ @see com::sun::star::linguistic2::XDictionary
+ @see com::sun::star::lang::Locale
+ @see com::sun::star::linguistic2::DictionaryType
+ */
+ com::sun::star::linguistic2::XDictionary createDictionary(
+ [in] string aName,
+ [in] com::sun::star::lang::Locale aLocale,
+ [in] com::sun::star::linguistic2::DictionaryType eDicType,
+ [in] string aURL );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/XDictionaryListEventListener.idl b/offapi/com/sun/star/linguistic2/XDictionaryListEventListener.idl
new file mode 100644
index 000000000..86bda5264
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XDictionaryListEventListener.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_linguistic2_XDictionaryListEventListener_idl__
+#define __com_sun_star_linguistic2_XDictionaryListEventListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+#include <com/sun/star/linguistic2/DictionaryListEvent.idl>
+
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** This interfaces allows the object to act according to
+ dictionary-list events.
+
+ <P>This interface is the base class for all dictionary-list event
+ listeners. Its single function will be called by the broadcasting
+ dictionary-list in order to notify its registered listeners.</P>
+
+ @see com::sun::star::linguistic2::DictionaryListEvent
+ @see com::sun::star::linguistic2::XDictionaryList
+*/
+published interface XDictionaryListEventListener : com::sun::star::lang::XEventListener
+{
+ /** is used to notify the object about dictionary-list events.
+
+ @param aDicListEvent
+ the event to be notified of.
+
+ @see com::sun::star::linguistic2::DictionaryListEvent
+ */
+ void processDictionaryListEvent(
+ [in] com::sun::star::linguistic2::DictionaryListEvent aDicListEvent );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/XHyphenatedWord.idl b/offapi/com/sun/star/linguistic2/XHyphenatedWord.idl
new file mode 100644
index 000000000..0b03b11c5
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XHyphenatedWord.idl
@@ -0,0 +1,96 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_linguistic2_XHyphenatedWord_idl__
+#define __com_sun_star_linguistic2_XHyphenatedWord_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/Locale.idl>
+
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** gives information obtained by a successful hyphenation attempt.
+
+ <P>This interface is used as a return value for some of the hyphenator
+ functions.</P>
+
+ @see com::sun::star::linguistic2::XHyphenator
+*/
+published interface XHyphenatedWord : com::sun::star::uno::XInterface
+{
+ /**
+ @returns
+ the word that was hyphenated.
+ */
+ string getWord();
+
+ /**
+ @returns
+ the language of the hyphenated word.
+
+ @see com::sun::star::lang::Locale
+ */
+ com::sun::star::lang::Locale getLocale();
+
+ /**
+ @returns
+ the position where hyphenation was applied in the word.
+
+ <P>The value has to be in the range from 0 (after the first character)
+ to n-2 (before the last character) where n is the length of
+ the word.</P>
+ */
+ short getHyphenationPos();
+
+ /**
+ @returns
+ the hyphenated word as it should be written (without the hyphen
+ character).
+ */
+ string getHyphenatedWord();
+
+ /**
+ @returns
+ the position of the hyphen in the hyphenated word.
+
+ <P>The value has to be in the range from 0 (after the first character)
+ to m-2 (before the last character) where m is the length of
+ the hyphenated word.</P>
+ */
+ short getHyphenPos();
+
+ /** is used to query if the hyphenation result is an alternative spelling.
+
+ <p>A hyphenation result is an alternative spelling if the hyphenated
+ word is different from the word that was hyphenated.</p>
+
+ @returns
+ `TRUE` if it is an alternative spelling, `FALSE` otherwise.
+ */
+ boolean isAlternativeSpelling();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/XHyphenator.idl b/offapi/com/sun/star/linguistic2/XHyphenator.idl
new file mode 100644
index 000000000..e7bddcace
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XHyphenator.idl
@@ -0,0 +1,181 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_linguistic2_XHyphenator_idl__
+#define __com_sun_star_linguistic2_XHyphenator_idl__
+
+
+#include <com/sun/star/lang/Locale.idl>
+#include <com/sun/star/linguistic2/XSupportedLocales.idl>
+#include <com/sun/star/linguistic2/XDictionaryList.idl>
+#include <com/sun/star/linguistic2/XHyphenatedWord.idl>
+#include <com/sun/star/linguistic2/XPossibleHyphens.idl>
+#include <com/sun/star/beans/PropertyValues.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** provides functionality for hyphenation of single words.
+
+ <P>Its three main functionalities are to provide a suitable position for
+ breaking lines within a word, query about the existence of an alternative
+ spelling at a specific position of a word and provide a list of
+ possible hyphenation positions within a word.</P>
+
+ <P>A hyphenation position for a word with n characters is represented
+ by a value in the range from 0 to n-2, indicating the position
+ of the character after which the hyphenation is done. That is,
+ it is after the first and before the last character.</P>
+
+ <P>A valid hyphenation position is a hyphenation position that
+ fulfills all the restrictions implied by the properties
+ MinLeading, MinTrailing and MinWordLength.</P>
+
+ @see com::sun::star::linguistic2::LinguProperties
+ @see com::sun::star::linguistic2::XSupportedLocales
+*/
+published interface XHyphenator : com::sun::star::linguistic2::XSupportedLocales
+{
+ /** tries to find a valid hyphenation position relative
+ to the beginning of a word.
+
+ <P>Note: Some languages, for example Arabic, are written from right
+ to left.</P>
+
+ @returns
+ the XHyphenatedWord for the last valid hyphenation position
+ that is less than or equal to nMaxLeading - 1.
+ If there is no such valid hyphenation position, `NULL` is returned.
+
+ @param aWord
+ is the word to be hyphenated.
+
+ @param aLocale
+ defines the language to be used.
+
+ <P>If the language is not supported, an IllegalArgumentException
+ exception is raised.</P>
+
+ @param nMaxLeading
+ specifies the maximum number of characters to remain
+ before the hyphen in the hyphenated word.
+
+ <P>It has to be greater than or equal to 0.</P>
+
+ @param aProperties
+ provides property values to be used for this function call only.
+ It is usually empty in order to use the default values supplied
+ with the property set.
+
+ @see com::sun::star::linguistic2::XHyphenatedWord
+ @see com::sun::star::lang::Locale
+ */
+ com::sun::star::linguistic2::XHyphenatedWord hyphenate(
+ [in] string aWord,
+ [in] com::sun::star::lang::Locale aLocale,
+ [in] short nMaxLeading,
+ [in] com::sun::star::beans::PropertyValues aProperties )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** checks whether hyphenation at a position in a word will result in
+ an alternative spelling or not.
+
+ <P>An alternative spelling position is a hyphen position where,
+ if hyphenation is done here, the writing of the word changes.
+ Example: "B&auml;cker" in German pre spelling-reform becomes
+ "B&auml;kker" if hyphenation is done after the "c".</P>
+
+ <P>The hyphenation position does not need to be a valid one to be an
+ alternative spelling position.</P>
+
+ @returns
+ the information about the alternative spelling found at the
+ specified position. Otherwise, if no alternative spelling was
+ found, `NULL` is returned.
+
+ @param aWord
+ is the original word to be looked at for having an alternative
+ spelling, if hyphenation is done at position nIndex.
+
+ @param aLocale
+ specifies the language to be used.
+
+ <P>If the language is not supported, an IllegalArgumentException
+ exception is raised.</P>
+
+ @param nIndex
+ is the position in the word to be looked at.
+
+ <P>If the length of the word is n, the value of this
+ parameter has to be in the range from 0 to n-2.</P>
+
+ @param aProperties
+ provides property values to be used for this function call only.
+ It is usually empty in order to use the default values supplied
+ with the property set.
+
+ @see com::sun::star::linguistic2::XHyphenatedWord
+ @see com::sun::star::lang::Locale
+ */
+ com::sun::star::linguistic2::XHyphenatedWord queryAlternativeSpelling(
+ [in] string aWord,
+ [in] com::sun::star::lang::Locale aLocale,
+ [in] short nIndex,
+ [in] com::sun::star::beans::PropertyValues aProperties )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** returns information about all possible hyphenation positions of a word.
+
+ @returns
+ a com::sun::star::linguistic2::XPossibleHyphens
+ for the given word and language if there are any hyphenation
+ positions. `NULL` otherwise.
+
+ @param aWord
+ is the word for which information about the possible
+ hyphenation positions is to be retrieved.
+
+ @param aLocale
+ defines the language of the word.
+
+ <P>If the language is not supported, an IllegalArgumentException
+ exception is raised.</P>
+
+ @param aProperties
+ provides property values to be used for this function call only.
+ It is usually empty in order to use the default values supplied
+ with the property set.
+
+ @see com::sun::star::linguistic2::XPossibleHyphens
+ @see com::sun::star::lang::Locale
+ */
+ com::sun::star::linguistic2::XPossibleHyphens createPossibleHyphens(
+ [in] string aWord,
+ [in] com::sun::star::lang::Locale aLocale,
+ [in] com::sun::star::beans::PropertyValues aProperties )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/XLanguageGuessing.idl b/offapi/com/sun/star/linguistic2/XLanguageGuessing.idl
new file mode 100644
index 000000000..5408ab076
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XLanguageGuessing.idl
@@ -0,0 +1,186 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_linguistic2_XLanguageGuessing_idl__
+#define __com_sun_star_linguistic2_XLanguageGuessing_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/Locale.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+module com { module sun { module star { module linguistic2 {
+
+/** This interface allows to guess the language of a text
+
+ <p> The current set of supported languages is:
+ <ul>
+ <li>af : Afrikaans</li>
+ <li>am : Amharic</li>
+ <li>ar : Arabic</li>
+ <li>be : Belarus</li>
+ <li>br : Breton</li>
+ <li>bs : Bosnian</li>
+ <li>ca : Catalan</li>
+ <li>cs : Czech</li>
+ <li>cy : Welsh</li>
+ <li>da : Danish</li>
+ <li>de : German</li>
+ <li>drt : Drents</li>
+ <li>el : Greek</li>
+ <li>en : English</li>
+ <li>eo : Esperanto</li>
+ <li>es : Spanish</li>
+ <li>et : Estonian</li>
+ <li>eu : Basque</li>
+ <li>fa : Persian</li>
+ <li>fi : Finnish</li>
+ <li>fr : French</li>
+ <li>fy : Frisian</li>
+ <li>ga : Irish Gaelic</li>
+ <li>gd : Scots Gaelic</li>
+ <li>gv : Manx Gaelic</li>
+ <li>he : Hebrew</li>
+ <li>hi : Hindi</li>
+ <li>hr : Croatian</li>
+ <li>hu : Hungarian</li>
+ <li>hy : Armenian</li>
+ <li>id : Indonesian</li>
+ <li>is : Icelandic</li>
+ <li>it : Italian</li>
+ <li>ja : Japanese</li>
+ <li>ka : Georgian</li>
+ <li>ko : Korean</li>
+ <li>la : Latin</li>
+ <li>lb : Luxembourgish (added with OOo 3.3)</li>
+ <li>lt : Lithuanian</li>
+ <li>lv : Latvian</li>
+ <li>mr : Marathi</li>
+ <li>ms : Malay</li>
+ <li>ne : Nepali</li>
+ <li>nl : Dutch</li>
+ <li>nb : Norwegian (Bokmal)</li>
+ <li>pl : Polish</li>
+ <li>pt-PT : Portuguese (Portugal)</li>
+ <li>qu : Quechua</li>
+ <li>rm : Romansh</li>
+ <li>ro : Romanian</li>
+ <li>ru : Russian</li>
+ <li>sa : Sanskrit</li>
+ <li>sco : Scots</li>
+ <li>sh : Serbian (written with latin characters)</li>
+ <li>sk-SK : Slovak (written with Latin characters)</li>
+ <li>sl : Slovenian</li>
+ <li>sq : Albanian</li>
+ <li>sr : Serbian (written with cyrillic characters) (added with OOo 3.4)</li>
+ <li>sv : Swedish</li>
+ <li>sw : Swahili</li>
+ <li>ta : Tamil</li>
+ <li>th : Thai</li>
+ <li>tl : Tagalog</li>
+ <li>tr : Turkish</li>
+ <li>uk : Ukrainian</li>
+ <li>vi : Vietnamese</li>
+ <li>yi : Yiddish</li>
+ <li>zh-CN : Chinese (simplified)</li>
+ <li>zh-TW : Chinese (traditional)</li>
+ </ul>
+
+ </p>
+
+ @since OOo 2.2
+ */
+interface XLanguageGuessing
+{
+ /** determines the single most probable language of a sub-string.
+
+ <p>Please note that because statistical analysis is part
+ of the algorithm the likelihood to get the correct
+ result increases with the length of the sub-string.
+ A word is much less likely guessed correctly compared to
+ a sentence or even a whole paragraph.</p>
+
+ <p>Also note that some languages are that "close" to each other
+ that it will be quite unlikely to find a difference in them,
+ e.g. English (UK), English (IE) and English (AUS) and
+ most likely English (US) as well. And thus the result may
+ be arbitrary.</p>
+
+ @returns
+ the locale for the language identified.
+ If no language could be identified the locale will be empty.
+
+ @param aText
+ all the text including the part that should checked.
+
+ @param nStartPos
+ specifies the starting index of the sub-string to be checked
+ The value must met 0 <= nStartPos < (length of text - 1).
+
+ @param nLen
+ specifies the length of the sub-string to be checked.
+ The value must met 0 <= nLen <= (length of text).
+
+ @see com::sun::star::lang::Locale
+ */
+ com::sun::star::lang::Locale guessPrimaryLanguage(
+ [in] string aText,
+ [in] long nStartPos,
+ [in] long nLen )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** allows to explicitly discard some languages from the set of
+ languages possibly returned.
+
+ <p>By default all languages are enabled.</p>
+ */
+ void disableLanguages(
+ [in] sequence< com::sun::star::lang::Locale > aLanguages )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** allows to explicitly re-enable some languages that got previously
+ disabled.
+
+ <p>By default all languages are enabled.</p>
+ */
+ void enableLanguages(
+ [in] sequence< com::sun::star::lang::Locale > aLanguages )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** returns a list of all supported languages.
+
+ <p>This should be the same as the mathematical union of
+ all enabled and disabled languages.</p>
+ */
+ sequence< com::sun::star::lang::Locale > getAvailableLanguages();
+
+ /** returns the list of all enabled languages
+ */
+ sequence< com::sun::star::lang::Locale > getEnabledLanguages();
+
+ /** returns the list of all disabled languages
+ */
+ sequence< com::sun::star::lang::Locale > getDisabledLanguages();
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/XLinguProperties.idl b/offapi/com/sun/star/linguistic2/XLinguProperties.idl
new file mode 100644
index 000000000..5bbaf91f0
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XLinguProperties.idl
@@ -0,0 +1,124 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_linguistic2_XLinguProperties_idl__
+#define __com_sun_star_linguistic2_XLinguProperties_idl__
+
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/beans/XFastPropertySet.idl>
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/lang/Locale.idl>
+
+
+module com { module sun { module star { module linguistic2 {
+
+/**
+ Interface for LinguProperties service.
+
+ @since LibreOffice 4.1
+*/
+published interface XLinguProperties
+{
+ interface com::sun::star::beans::XPropertySet;
+
+ /** defines if the dictionary-list should be used for spell checking
+ and hyphenation or not.
+ */
+ [attribute] boolean IsUseDictionaryList;
+
+ /** defines if control characters should be ignored or not, by the linguistic
+ (i.e., spell checker, hyphenator and thesaurus).
+ */
+ [attribute] boolean IsIgnoreControlCharacters;
+
+ /** defines if words with only uppercase letters should be
+ subject to spell checking or not.
+ */
+ [attribute] boolean IsSpellUpperCase;
+
+ /** defines if words containing digits (or numbers) should be
+ subject to spell checking or not.
+ */
+ [attribute] boolean IsSpellWithDigits;
+
+ /** defines if the capitalization of words should be checked or not.
+
+ @deprecated
+ */
+ [attribute] boolean IsSpellCapitalization;
+
+ /** the minimum number of characters of a word to remain before the
+ hyphen when doing hyphenation.
+ */
+ [attribute] short HyphMinLeading;
+
+ /** the minimum number of characters of a word to remain after the
+ hyphen when doing hyphenation.
+ */
+ [attribute] short HyphMinTrailing;
+
+ /** the minimum length of a word in order to be hyphenated.
+ */
+ [attribute] short HyphMinWordLength;
+
+ /** the default western language for new documents.
+ */
+ [attribute] com::sun::star::lang::Locale DefaultLocale;
+
+ /** defines whether interactive hyphenation should be performed without
+ requiring the user to select every hyphenation position after the user
+ has triggered the hyphenation.
+ */
+ [attribute] boolean IsHyphAuto;
+
+ /** defines whether hyphenation should be done in special regions of
+ documents or not.
+ */
+ [attribute] boolean IsHyphSpecial;
+
+ /** indicates whether spell checking should be done automatically or not.
+ */
+ [attribute] boolean IsSpellAuto;
+
+ /** defines whether spell checking should be done in special regions of
+ documents or not.
+ */
+ [attribute] boolean IsSpellSpecial;
+
+ /** defines whether spell checking should be done in reverse
+ direction or not.
+ */
+ [attribute] boolean IsWrapReverse;
+
+ /** the default language for CJK languages.
+ */
+ [attribute] com::sun::star::lang::Locale DefaultLocale_CJK;
+
+ /** the default language for CTL languages.
+ */
+ [attribute] com::sun::star::lang::Locale DefaultLocale_CTL;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/XLinguServiceEventBroadcaster.idl b/offapi/com/sun/star/linguistic2/XLinguServiceEventBroadcaster.idl
new file mode 100644
index 000000000..9a5af31f1
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XLinguServiceEventBroadcaster.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_linguistic2_XLinguServiceEventBroadcaster_idl__
+#define __com_sun_star_linguistic2_XLinguServiceEventBroadcaster_idl__
+
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/linguistic2/XLinguServiceEventListener.idl>
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** is used to register a listener for LinguServiceEvents.
+
+ <P>This interface may be used by spell checker or hyphenator
+ implementations to allow clients to be registered and informed about
+ com::sun::star::linguistic2::LinguServiceEvents.
+ </P>
+
+ <P>Note: The LinguServiceManager forwards the
+ com::sun::star::linguistic2::LinguServiceEvents
+ it receives (from spell checkers or hyphenators) to its own listeners.
+ Thus, there should be no need to register
+ as a listener for a specific implementation./P>
+
+ @see com::sun::star::linguistic2::XLinguServiceManager
+ @see com::sun::star::linguistic2::XLinguServiceEventListener
+*/
+published interface XLinguServiceEventBroadcaster : com::sun::star::uno::XInterface
+{
+ /**
+ @returns
+ `TRUE` if the listener was successfully added,
+ `FALSE` otherwise.
+
+ @param xLstnr
+ the listener to be added.
+ */
+ boolean addLinguServiceEventListener (
+ [in] com::sun::star::linguistic2::XLinguServiceEventListener xLstnr );
+
+ /**
+ @returns
+ `TRUE` if the listener was successfully removed,
+ `FALSE` otherwise.
+
+ @param xLstnr
+ the listener to be removed.
+ */
+ boolean removeLinguServiceEventListener (
+ [in] com::sun::star::linguistic2::XLinguServiceEventListener xLstnr );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/XLinguServiceEventListener.idl b/offapi/com/sun/star/linguistic2/XLinguServiceEventListener.idl
new file mode 100644
index 000000000..ff5b9493c
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XLinguServiceEventListener.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_linguistic2_XLinguServiceEventListener_idl__
+#define __com_sun_star_linguistic2_XLinguServiceEventListener_idl__
+
+
+#include <com/sun/star/lang/XEventListener.idl>
+#include <com/sun/star/linguistic2/LinguServiceEvent.idl>
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** is used to inform listeners about LinguServiceEvents.
+
+ <P>The function of this interface is used by the
+ com::sun::star::linguistic2::XLinguServiceEventBroadcaster
+ to inform its listeners about the
+ com::sun::star::linguistic2::LinguServiceEvents.
+ </P>
+
+ @see com::sun::star::linguistic2::XLinguServiceManager
+*/
+published interface XLinguServiceEventListener : com::sun::star::lang::XEventListener
+{
+ /**
+ @param aLngSvcEvent
+ the event the listener will be informed about.
+ */
+ void processLinguServiceEvent(
+ [in] com::sun::star::linguistic2::LinguServiceEvent aLngSvcEvent );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/XLinguServiceManager.idl b/offapi/com/sun/star/linguistic2/XLinguServiceManager.idl
new file mode 100644
index 000000000..55faa12a9
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XLinguServiceManager.idl
@@ -0,0 +1,166 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_linguistic2_XLinguServiceManager_idl__
+#define __com_sun_star_linguistic2_XLinguServiceManager_idl__
+
+
+#include <com/sun/star/linguistic2/XSpellChecker.idl>
+#include <com/sun/star/linguistic2/XHyphenator.idl>
+#include <com/sun/star/linguistic2/XThesaurus.idl>
+#include <com/sun/star/lang/XEventListener.idl>
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** the basic interface to be used to access linguistic functionality.
+
+ <P>This interface is used to access spell checker, hyphenator, and
+ thesaurus functionality.
+ Additionally, it can query what implementations of those services are
+ available (for specific languages or in general).
+ It can select and query which of those implementations should
+ be used for a specific language.</P>
+
+ <P>
+ For spell checking and thesaurus, the order in the list defines the order
+ of creation/usage of those services.
+ That is, if the first spell checker implementation does not recognize
+ the given word as correct, the second service implementation for that
+ language is created and gets queried. If that one fails, the third one
+ gets created and queried and so on.
+ This chain stops if an implementation reports the word as correct or the
+ end of the list is reached, in which case the word is reported as incorrect.
+ </P>
+
+ <P> For the thesaurus, the behavior is the same when no meaning was found.
+ </P>
+
+ @see com::sun::star::linguistic2::SpellChecker
+ @see com::sun::star::linguistic2::Hyphenator
+ @see com::sun::star::linguistic2::Thesaurus
+*/
+published interface XLinguServiceManager : com::sun::star::uno::XInterface
+{
+ /**
+ @returns
+ the com::sun::star::linguistic2::XSpellChecker
+ interface to be used for spell checking.
+ */
+ com::sun::star::linguistic2::XSpellChecker getSpellChecker();
+
+ /**
+ @returns
+ the com::sun::star::linguistic2::XHyphenator
+ interface to be used for hyphenation.
+ */
+ com::sun::star::linguistic2::XHyphenator getHyphenator();
+
+ /**
+ @returns
+ the com::sun::star::linguistic2::XThesaurus
+ interface to be used for thesaurus functionality.
+ */
+ com::sun::star::linguistic2::XThesaurus getThesaurus();
+
+ /** adds a listener to the list of event listeners.
+
+ <P>The listeners may support one or both of
+ com::sun::star::linguistic2::XDictionaryEventListener
+ and
+ com::sun::star::linguistic2::XLinguServiceEventListener
+ interfaces.
+ </P>
+
+ @returns
+ `TRUE` if the listener was successfully added, `FALSE` otherwise.
+
+ @param xListener
+ the listener to be added.
+ */
+ boolean addLinguServiceManagerListener(
+ [in] com::sun::star::lang::XEventListener xListener );
+
+ /** removes a listener from the list of event listeners.
+
+ @returns
+ `TRUE` if the listener was successfully removed, `FALSE` otherwise.
+
+ @param xListener
+ the listener to be removed.
+ */
+ boolean removeLinguServiceManagerListener(
+ [in] com::sun::star::lang::XEventListener xListener );
+
+ /**
+ @returns
+ the list of implementation names of the available services.
+
+ @param aServiceName
+ the name of the service requesting the list of available
+ implementations.
+
+ @param aLocale
+ the language used to query the list of available implementations.
+ */
+ sequence< string > getAvailableServices(
+ [in] string aServiceName,
+ [in] com::sun::star::lang::Locale aLocale );
+
+ /** sets the list of service implementations to be used for a
+ given service and language.
+
+ @param aServiceName
+ the name of the service to set the list of implementations
+ to be used.
+
+ @param aLocale
+ the language to set the list.
+
+ @param aServiceImplNames
+ the name of the service to set the list.
+ */
+ void setConfiguredServices(
+ [in] string aServiceName,
+ [in] com::sun::star::lang::Locale aLocale,
+ [in] sequence< string > aServiceImplNames );
+
+ /** queries the list of service implementations to be used for a
+ given service and language.
+
+ @returns
+ the list of implementation names of the services to be used.
+
+ @param aServiceName
+ the name of the service to get queried.
+
+ @param aLocale
+ the language to get queried.
+ */
+ sequence< string > getConfiguredServices(
+ [in] string aServiceName,
+ [in] com::sun::star::lang::Locale aLocale );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/XLinguServiceManager2.idl b/offapi/com/sun/star/linguistic2/XLinguServiceManager2.idl
new file mode 100644
index 000000000..7cb066664
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XLinguServiceManager2.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_linguistic2_XLinguServiceManager2_idl__
+#define __com_sun_star_linguistic2_XLinguServiceManager2_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/linguistic2/XLinguServiceManager.idl>
+#include <com/sun/star/linguistic2/XAvailableLocales.idl>
+
+
+module com { module sun { module star { module linguistic2 {
+
+/**
+ Provides a unified interface for the LinguServiceManager service to implement.
+
+ @since LibreOffice 4.0
+*/
+published interface XLinguServiceManager2
+{
+ interface com::sun::star::linguistic2::XLinguServiceManager;
+ interface com::sun::star::linguistic2::XAvailableLocales;
+ interface com::sun::star::lang::XComponent;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/XMeaning.idl b/offapi/com/sun/star/linguistic2/XMeaning.idl
new file mode 100644
index 000000000..04fc8dc10
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XMeaning.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_linguistic2_XMeaning_idl__
+#define __com_sun_star_linguistic2_XMeaning_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** one of the possible meanings for a word.
+
+ <P> Represents one of the possible meanings that may be returned from a
+ com::sun::star::linguistic2::XThesaurus::queryMeanings()
+ call and allows for retrieval of its synonyms.
+ </P>
+
+ @see com::sun::star::linguistic2::XThesaurus
+ */
+published interface XMeaning : com::sun::star::uno::XInterface
+{
+ /**
+ @returns
+ the meaning represented by this object.
+ */
+ string getMeaning();
+
+ /**
+ @returns
+ a sequence of strings where each entry is a synonym of the
+ current objects meaning.
+ */
+ sequence<string> querySynonyms();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/XNumberText.idl b/offapi/com/sun/star/linguistic2/XNumberText.idl
new file mode 100644
index 000000000..fe373a66c
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XNumberText.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_linguistic2_XNumberText_idl__
+#define __com_sun_star_linguistic2_XNumberText_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/Locale.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+module com { module sun { module star { module linguistic2 {
+
+/** This interface allows to spell out numbers and money amounts
+
+ <p> The current set of supported languages is:
+ <ul>
+ <li>af : Afrikaans</li>
+ <li>bg : Bulgarian</li>
+ <li>ca : Catalan</li>
+ <li>cs : Czech</li>
+ <li>da : Danish</li>
+ <li>de : German</li>
+ <li>de-CH : Swiss Standard German</li>
+ <li>de-LI : Swiss Standard German</li>
+ <li>el : Greek</li>
+ <li>en : English</li>
+ <li>en-AU : Australian English</li>
+ <li>en-GB : British English</li>
+ <li>en-IE : Irish English</li>
+ <li>en-NZ : New Zealand English</li>
+ <li>eo : Esperanto</li>
+ <li>es : Spanish</li>
+ <li>et : Estonian</li>
+ <li>fa : Persian (Farsi)</li>
+ <li>fi : Finnish</li>
+ <li>fr : French</li>
+ <li>fr-BE : Belgian French</li>
+ <li>fr-CH : Swiss French</li>
+ <li>ga : Irish</li>
+ <li>gl : Galician</li>
+ <li>he : Hebrew</li>
+ <li>hr : Croatian</li>
+ <li>hu : Hungarian</li>
+ <li>hu-Hung : Old Hungarian</li>
+ <li>id : Indonesian</li>
+ <li>is : Icelandic</li>
+ <li>it : Italian</li>
+ <li>ja : Japanese</li>
+ <li>ko-KP : North-Korean</li>
+ <li>ko-KR : South-Korean</li>
+ <li>lb : Luxembourgish</li>
+ <li>lg : Luganda</li>
+ <li>lt : Lithuanian</li>
+ <li>lv : Latvian</li>
+ <li>mr : Marathi</li>
+ <li>ms : Malay</li>
+ <li>mt : Maltese</li>
+ <li>mul : multiple languages (footnote numbering styles)</li>
+ <li>nb : Bokmål (Norwegian)</li>
+ <li>nl : Dutch</li>
+ <li>nn : Nynorsk (Norwegian)</li>
+ <li>no : Norwegian (Bokmål)</li>
+ <li>pl : Polish</li>
+ <li>pt-BR : Portuguese (Brasilian)</li>
+ <li>pt-PT : Portuguese (Portugal)</li>
+ <li>ro : Romanian</li>
+ <li>Roman : Roman numbers</li>
+ <li>ru : Russian</li>
+ <li>sh : Serbian (written with latin characters)</li>
+ <li>sl : Slovenian</li>
+ <li>sq : Albanian</li>
+ <li>sr : Serbian (written with cyrillic characters) (added with OOo 3.4)</li>
+ <li>Suzhou : Suzhou numerals</li>
+ <li>sv : Swedish</li>
+ <li>th : Thai</li>
+ <li>tr : Turkish</li>
+ <li>uk : Ukrainian</li>
+ <li>vi : Vietnamese</li>
+ <li>zh : Chinese</li>
+ </ul>
+
+ </p>
+
+ @since LibreOffice 6.1
+ */
+interface XNumberText
+{
+ /** spell out numbers and money amounts
+
+ <p>Please note that text argument can contain prefixes separated by space,
+ for example "ordinal" for ordinal numbers, "ordinal-number" for ordinal
+ indicators and ISO 4217 currency codes.
+
+ Language modules list the supported prefixes by the input text "help".</p>
+
+ @returns
+ the result of the number name conversion.
+
+ @param aText
+ all the text including the part that should converted.
+
+ @param aLocale
+ the locale for the target language of the number name conversion.
+
+ @see com::sun::star::lang::Locale
+ */
+ string getNumberText(
+ [in] string aText,
+ [in] com::sun::star::lang::Locale aLocale )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** returns a list of all supported languages.
+ */
+ sequence< com::sun::star::lang::Locale > getAvailableLanguages();
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/XPossibleHyphens.idl b/offapi/com/sun/star/linguistic2/XPossibleHyphens.idl
new file mode 100644
index 000000000..eb925f6ec
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XPossibleHyphens.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_linguistic2_XPossibleHyphens_idl__
+#define __com_sun_star_linguistic2_XPossibleHyphens_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/Locale.idl>
+
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** Gives information about a word's possible hyphenation points.
+
+ <P>Example: In German pre-spelling-reform you may have the following:
+ getWord: Dampfschiffahrt
+ getPossibleHyphens: Dampf=schiff=fahrt
+ getOrigHyphensPositions: 4, 9
+ That is "Dampfschiffahrt" can be hyphenated after the "pf" (4) and
+ between the double "ff" (9). And if you are going to hyphenate it at
+ position 9 you will get an additional "f" before the hyphen
+ character.</P>
+
+ @see com::sun::star::linguistic2::XHyphenator
+*/
+published interface XPossibleHyphens : com::sun::star::uno::XInterface
+{
+ /**
+ @returns
+ the word for which the information of possible hyphenation
+ points was obtained.
+ */
+ string getWord();
+
+ /** @returns
+ the language of the hyphenated word.
+
+ @see com::sun::star::lang::Locale
+ */
+ com::sun::star::lang::Locale getLocale();
+
+ /**
+ @returns
+ a string depicting the word with all hyphen positions
+ which are represented by "=" characters.
+ If there are any alternative spellings, the word will be altered
+ accordingly.
+ */
+ string getPossibleHyphens();
+
+ /**
+ @returns
+ an ascending sequence of numbers where each number is an offset
+ within the original word which denotes a hyphenation
+ position corresponding to one of the hyphens in the
+ string returned by
+ com::sun::star::linguistic2::XPossibleHyphens::getPossibleHyphens().
+ */
+ sequence<short> getHyphenationPositions();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/XProofreader.idl b/offapi/com/sun/star/linguistic2/XProofreader.idl
new file mode 100644
index 000000000..ed918a327
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XProofreader.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_linguistic2_XProofreader_idl__
+#define __com_sun_star_linguistic2_XProofreader_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/lang/Locale.idl>
+#include <com/sun/star/linguistic2/XSupportedLocales.idl>
+#include <com/sun/star/text/XFlatParagraph.idl>
+#include <com/sun/star/linguistic2/ProofreadingResult.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** API for proofreading a text
+
+ @since OOo 3.0.1
+*/
+interface XProofreader: com::sun::star::linguistic2::XSupportedLocales
+{
+
+ /** whether is the text checked by the spell checker
+
+ @returns true if it is also a spell checker
+ */
+ boolean isSpellChecker();
+
+ /** start checking
+
+ @param aDocumentIdentifier
+ the Document ID.
+
+ @param aText
+ the flat text to be checked.
+
+ @param aLocale
+ Language used in the text.
+
+ @param nStartOfSentencePosition
+ Start Index of the text.
+
+ @param nSuggestedBehindEndOfSentencePosition
+ Probable end position of the text.
+
+ @param aProperties
+ additional properties of the text.
+
+ Currently the following properties may be supported:
+ <table>
+ <tr>
+ <td>FieldPositions</td>
+ <td>sequence&lt;long&gt;</td>
+ <td>indexes of fields in aText</td>
+ </tr>
+ <tr>
+ <td>FootnotePositions</td>
+ <td>sequence&lt;long&gt;</td>
+ <td>indexes of footnotes in aText</td>
+ </tr>
+ </table>
+
+ @throws IllegalArgumentException
+ when any argument is wrong.
+ */
+ ProofreadingResult doProofreading( [in] string aDocumentIdentifier,
+ [in] string aText,
+ [in] com::sun::star::lang::Locale aLocale,
+ [in] long nStartOfSentencePosition,
+ [in] long nSuggestedBehindEndOfSentencePosition,
+ [in] sequence< com::sun::star::beans::PropertyValue > aProperties )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** disables a specific rule for a given locale.
+
+ <p>If the locale is empty the rule should be ignored for all languages.</p>
+ */
+ void ignoreRule( [in] string aRuleIdentifier,
+ [in] com::sun::star::lang::Locale aLocale )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** sets all rules back to their default settings.
+ */
+ void resetIgnoreRules();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/XProofreadingIterator.idl b/offapi/com/sun/star/linguistic2/XProofreadingIterator.idl
new file mode 100644
index 000000000..063c1d0b3
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XProofreadingIterator.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_linguistic2_XProofreadingIterator_idl__
+#define __com_sun_star_linguistic2_XProofreadingIterator_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/text/XFlatParagraphIteratorProvider.idl>
+#include <com/sun/star/text/XFlatParagraph.idl>
+#include <com/sun/star/lang/Locale.idl>
+#include <com/sun/star/linguistic2/ProofreadingResult.idl>
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** API for the proofreading iterator that mediates between the document and the proofreader.
+
+ @since OOo 3.0.1
+*/
+interface XProofreadingIterator: com::sun::star::uno::XInterface
+{
+ /** start proofreading and automatically process the whole text
+
+ @param xDocument
+ the text document.
+
+ @param xIteratorProvider
+ the flat paragraph iterator provider.
+
+ @throws IllegalArgumentException
+ when any argument is wrong.
+ */
+ void startProofreading( [in] com::sun::star::uno::XInterface xDocument,
+ [in] com::sun::star::text::XFlatParagraphIteratorProvider xIteratorProvider )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** start proofreading from a given position
+
+ @param xDocument
+ the document.
+
+ @param xFlatParagraph
+ the single flat paragraph to be checked.
+
+ @param aText
+ the text of the paragraph to be checked.
+
+ @param aLocale
+ currently unused parameter.
+
+ @param nStartOfSentencePosition
+ the start position of the current sentence.
+
+ @param nSuggestedBehindEndOfSentencePosition
+ currently unused parameter.
+
+ @param nErrorPositionInParagraph
+ the given index.
+
+ @throws IllegalArgumentException
+ when any argument is wrong.
+ */
+
+ ProofreadingResult checkSentenceAtPosition( [in] com::sun::star::uno::XInterface xDocument,
+ [in] com::sun::star::text::XFlatParagraph xFlatParagraph,
+ [in] string aText,
+ [in] com::sun::star::lang::Locale aLocale,
+ [in] long nStartOfSentencePosition,
+ [in] long nSuggestedBehindEndOfSentencePosition,
+ [in] long nErrorPositionInParagraph )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** clears the list of ignored rules for each proofreader
+ */
+ void resetIgnoreRules();
+
+ /** checks if the given document is currently being checked
+
+ @param xDocument
+ the document.
+
+ @returns
+ if the document is currently being checked.
+ */
+ boolean isProofreading( [in] com::sun::star::uno::XInterface xDocument );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/XSearchableDictionary.idl b/offapi/com/sun/star/linguistic2/XSearchableDictionary.idl
new file mode 100644
index 000000000..a44885412
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XSearchableDictionary.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_linguistic2_XSearchableDictionary_idl__
+#define __com_sun_star_linguistic2_XSearchableDictionary_idl__
+
+#include <com/sun/star/linguistic2/XDictionary.idl>
+#include <com/sun/star/linguistic2/XDictionaryEntry.idl>
+
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** This interfaces allows to retrieve suggestions for spell checking from a dictionary.
+
+*/
+interface XSearchableDictionary : com::sun::star::linguistic2::XDictionary
+{
+ /** search for similar entries in the dictionary.
+
+ @param aWord
+ the word to find similar written entries for.
+
+ @returns
+ the list of similar entries found.
+
+ @see com::sun::star::linguistic2::XDictionaryEntry
+ @see com::sun::star::linguistic2::XSearchableDictionaryList
+ @since OOo 3.0.1
+ */
+ sequence< com::sun::star::linguistic2::XDictionaryEntry > searchSimilarEntries( [in] string aWord );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/XSearchableDictionaryList.idl b/offapi/com/sun/star/linguistic2/XSearchableDictionaryList.idl
new file mode 100644
index 000000000..02ff11cd3
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XSearchableDictionaryList.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_linguistic2_XSearchableDictionaryList_idl__
+#define __com_sun_star_linguistic2_XSearchableDictionaryList_idl__
+
+
+#include <com/sun/star/linguistic2/XDictionaryList.idl>
+#include <com/sun/star/linguistic2/XDictionaryEntry.idl>
+#include <com/sun/star/lang/Locale.idl>
+
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** allows searching for an entry in all dictionaries of the dictionary-list.
+
+ <P> Only active dictionaries of a suitable language will be searched
+ for the entry.
+ The language is suitable if it is the same as the dictionary's language or
+ the dictionary may hold entries of all languages.
+ <P>
+
+ @see com::sun::star::linguistic2::XDictionaryList
+*/
+published interface XSearchableDictionaryList : com::sun::star::linguistic2::XDictionaryList
+{
+ /** looks for an entry for a given word in the list of dictionaries.
+
+ @returns
+ the dictionary entry that was found, `NULL` otherwise.
+
+ @param aWord
+ the word (entry) to be looked for.
+
+ @param aLocale
+ the language of the word to be looked for.
+
+ @param bSearchPosDics
+ `TRUE` if only positive dictionaries should be searched.
+ `FALSE` if only negative dictionaries should be searched.
+
+ @param bSpellEntry
+ `TRUE` if entries for purposes of spell checking are required.
+ `FALSE` if only entries for hyphenation purposes are required.
+*/
+ com::sun::star::linguistic2::XDictionaryEntry queryDictionaryEntry(
+ [in] string aWord ,
+ [in] com::sun::star::lang::Locale aLocale,
+ [in] boolean bSearchPosDics,
+ [in] boolean bSpellEntry );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/XSetSpellAlternatives.idl b/offapi/com/sun/star/linguistic2/XSetSpellAlternatives.idl
new file mode 100644
index 000000000..09aed304f
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XSetSpellAlternatives.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_linguistic2_XSetSpellAlternatives_idl__
+#define __com_sun_star_linguistic2_XSetSpellAlternatives_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+module com { module sun { module star { module linguistic2 {
+
+/**
+ allows to modify the suggestion list returned by a spell checker.
+
+ <P>Basically this is needed to post-add further suggestions while keeping the
+ originally returned reference from the spell checker.
+ E.g. from the user dictionaries.</P>
+
+ @see com::sun::star::linguistic2::XSpellAlternatives
+*/
+interface XSetSpellAlternatives : com::sun::star::uno::XInterface
+{
+ /**
+ set the list of suggestions to be returned.
+
+ @since OOo 3.0.1
+ */
+ void setAlternatives( [in] sequence< string > aAlternatives );
+
+ /**
+ set the type of error found.
+
+ @see com::sun::star::linguistic2::SpellFailure
+ @since OOo 3.0.1
+ */
+ void setFailureType( [in] short nFailureType );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/XSpellAlternatives.idl b/offapi/com/sun/star/linguistic2/XSpellAlternatives.idl
new file mode 100644
index 000000000..8f5fd67fa
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XSpellAlternatives.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_linguistic2_XSpellAlternatives_idl__
+#define __com_sun_star_linguistic2_XSpellAlternatives_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/Locale.idl>
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** Gives access to the results of failed
+ spell checking attempts and may provide spelling alternatives.
+
+ <P>This is used by the
+ com::sun::star::linguistic2::XSpellChecker::spell()
+ function when the word was not found to be correct.
+ Suggestions for other words to be used may be provided along with
+ a failure-type that may specify why the word was not correct.
+ </P>
+
+ @see com::sun::star::linguistic2::SpellFailure
+*/
+published interface XSpellAlternatives : com::sun::star::uno::XInterface
+{
+ /**
+ @returns
+ the word that was misspelled.
+ */
+ string getWord();
+
+ /**
+ @returns
+ the Locale which specifies the language of the misspelled word.
+ */
+ com::sun::star::lang::Locale getLocale();
+
+ /**
+ @returns
+ the type (reason) for spell checking to have failed verification.
+
+ @see com::sun::star::linguistic2::SpellFailure
+ */
+ short getFailureType();
+
+ /**
+ @returns
+ the number of suggested spelling alternatives available.
+ */
+ short getAlternativesCount();
+
+ /**
+ @returns
+ the sequence of suggested spelling alternatives.
+ */
+ sequence<string> getAlternatives();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/XSpellChecker.idl b/offapi/com/sun/star/linguistic2/XSpellChecker.idl
new file mode 100644
index 000000000..8fb1525a7
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XSpellChecker.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_linguistic2_XSpellChecker_idl__
+#define __com_sun_star_linguistic2_XSpellChecker_idl__
+
+#include <com/sun/star/linguistic2/XSupportedLocales.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/linguistic2/XDictionaryList.idl>
+#include <com/sun/star/linguistic2/XSpellAlternatives.idl>
+#include <com/sun/star/beans/PropertyValues.idl>
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** This interface allows for spell checking.
+
+ <P>It is possible to simply check if a word, in a specified language,
+ is correct or additionally, if it was misspelled, some proposals
+ how it might be correctly written.</P>
+
+ @see com::sun::star::linguistic2::XSupportedLocales
+*/
+published interface XSpellChecker : com::sun::star::linguistic2::XSupportedLocales
+{
+ /** checks if a word is spelled correctly in a given language.
+
+ @returns
+ `TRUE` if the word is spelled correctly using
+ the specified language, `FALSE` otherwise.
+
+ @param aWord
+ the word to be checked.
+
+ @param aLocale
+ the Locale (language) to be used.
+ If the Locale is empty, the word is spelled correctly by
+ definition.
+
+ <P>If <var>aLocale</var> is not supported an
+ IllegalArgumentException exception is raised.</P>
+
+ @param aProperties
+ provides property values to be used for this function call only.
+ It is usually empty in order to use the default values supplied with
+ the property set.
+
+ @see com::sun::star::lang::Locale
+ */
+ boolean isValid(
+ [in] string aWord,
+ [in] com::sun::star::lang::Locale aLocale,
+ [in] com::sun::star::beans::PropertyValues aProperties )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** This method checks if a word is spelled correctly in a given
+ language.
+
+ @returns
+ `NULL` if <var>aWord</var> is spelled correctly using
+ <var>aLocale</var>. Otherwise, an XSpellAlternatives
+ object with information about the reason of failure and, if available,
+ proposals for spelling alternatives will be returned.
+
+ @param aWord
+ the word to be checked.
+
+ @param aLocale
+ the language to be used.
+
+ <P>If the language is not supported an IllegalArgumentException exception is raised.
+
+ @param aProperties
+ provides property values to be used for this function call only.
+ It is usually empty in order to use the default values supplied with
+ the property set.
+ exception is raised.</P>
+
+ @see com::sun::star::linguistic2::XSpellAlternatives
+ @see com::sun::star::lang::Locale
+ */
+ com::sun::star::linguistic2::XSpellAlternatives spell(
+ [in] string aWord,
+ [in] com::sun::star::lang::Locale aLocale,
+ [in] com::sun::star::beans::PropertyValues aProperties )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/XSpellChecker1.idl b/offapi/com/sun/star/linguistic2/XSpellChecker1.idl
new file mode 100644
index 000000000..fe3f45b75
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XSpellChecker1.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_linguistic2_XSpellChecker1_idl__
+#define __com_sun_star_linguistic2_XSpellChecker1_idl__
+
+#include <com/sun/star/linguistic2/XSupportedLanguages.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/linguistic2/XDictionaryList.idl>
+#include <com/sun/star/linguistic2/XSpellAlternatives.idl>
+#include <com/sun/star/beans/PropertyValues.idl>
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** @deprecated
+*/
+published interface XSpellChecker1 : com::sun::star::linguistic2::XSupportedLanguages
+{
+ boolean isValid(
+ [in] string aWord,
+ [in] short nLanguage,
+ [in] com::sun::star::beans::PropertyValues aProperties )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ com::sun::star::linguistic2::XSpellAlternatives spell(
+ [in] string aWord,
+ [in] short nLanguage,
+ [in] com::sun::star::beans::PropertyValues aProperties )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/XSupportedLanguages.idl b/offapi/com/sun/star/linguistic2/XSupportedLanguages.idl
new file mode 100644
index 000000000..de4793045
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XSupportedLanguages.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_linguistic2_XSupportedLanguages_idl__
+#define __com_sun_star_linguistic2_XSupportedLanguages_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** @deprecated
+*/
+published interface XSupportedLanguages : com::sun::star::uno::XInterface
+{
+ sequence<short> getLanguages();
+
+ boolean hasLanguage( [in] short nLanguage );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/XSupportedLocales.idl b/offapi/com/sun/star/linguistic2/XSupportedLocales.idl
new file mode 100644
index 000000000..025b5b449
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XSupportedLocales.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_linguistic2_XSupportedLocales_idl__
+#define __com_sun_star_linguistic2_XSupportedLocales_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/Locale.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** Offers information about which languages are supported by the object.
+
+ <P>This interface has to be implemented by
+ com::sun::star::linguistic2::SpellChecker,
+ com::sun::star::linguistic2::Hyphenator and
+ com::sun::star::linguistic2::Thesaurus
+ implementations in order to be queried for the languages they
+ can use.
+ </P>
+
+ @see com::sun::star::lang::Locale
+ @see com::sun::star::uno::XInterface
+*/
+published interface XSupportedLocales : com::sun::star::uno::XInterface
+{
+ /**
+ @returns
+ the sequence of all supported languages.
+ */
+ sequence<com::sun::star::lang::Locale> getLocales();
+
+ /**
+ @param aLocale
+ specifies the language being checked for support
+ by the object.
+
+ @returns
+ `TRUE` if the language is supported, otherwise `FALSE`.
+ */
+ boolean hasLocale( [in] com::sun::star::lang::Locale aLocale );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/XThesaurus.idl b/offapi/com/sun/star/linguistic2/XThesaurus.idl
new file mode 100644
index 000000000..a42fae4a4
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XThesaurus.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_linguistic2_XThesaurus_idl__
+#define __com_sun_star_linguistic2_XThesaurus_idl__
+
+#include <com/sun/star/linguistic2/XSupportedLocales.idl>
+#include <com/sun/star/linguistic2/XMeaning.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/beans/PropertyValues.idl>
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** allows for the retrieval of possible meanings for a given word and language.
+
+ <P>
+ The meaning of a word is in essence a descriptive text for that word.
+ Each meaning may have several synonyms where a synonym is a word
+ (or small text) with the same or similar meaning.
+ </P>
+
+ @see com::sun::star::linguistic2::XSupportedLocales
+*/
+published interface XThesaurus : com::sun::star::linguistic2::XSupportedLocales
+{
+ /**
+ @returns
+ a list of meanings for the given word and language.
+
+ @param aTerm
+ the word to query for its meanings.
+
+ @param aLocale
+ specifies the language of the word.
+
+ <P>If the language is not supported, an
+ com::sun::star::lang::IllegalArgumentException
+ exception is raised.</P>
+
+ @param aProperties
+ provides property values to be used for this function call only.
+ It is usually empty in order to use the default values supplied with
+ the property set.
+
+ @see com::sun::star::lang::Locale
+ @see com::sun::star::linguistic2::XMeaning
+ */
+ sequence< com::sun::star::linguistic2::XMeaning > queryMeanings(
+ [in] string aTerm,
+ [in] com::sun::star::lang::Locale aLocale,
+ [in] com::sun::star::beans::PropertyValues aProperties )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/logging/ConsoleHandler.idl b/offapi/com/sun/star/logging/ConsoleHandler.idl
new file mode 100644
index 000000000..981cac56f
--- /dev/null
+++ b/offapi/com/sun/star/logging/ConsoleHandler.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_logging_ConsoleHandler_idl__
+#define __com_sun_star_logging_ConsoleHandler_idl__
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/beans/NamedValue.idl>
+
+
+module com { module sun { module star { module logging {
+
+interface XConsoleHandler;
+
+
+/** specifies a component implementing a log handler whose output
+ channel is the processes console.
+
+ @since OOo 2.3
+ */
+service ConsoleHandler : XConsoleHandler
+{
+ /// creates a <code>ConsoleHandler</code>
+ create();
+
+ /** creates an instance of the log handler, using generic settings
+
+ @param Settings
+ contains the initial settings for the log handler
+
+ <p>The following settings are recognized and supported:
+ <ul><li><code>Encoding</code> - denotes the initial value of the XLogHandler::Encoding</li>
+ <li><code>Formatter</code> - denotes the initial value of the XLogHandler::Formatter</li>
+ <li><code>Level</code> - denotes the initial value of the XLogHandler::Level</li>
+ <li><code>Threshold</code> - denotes the initial value of the XConsoleHandler::Threshold</li>
+ </ul></p>
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if `Settings` contains arguments with names other than in the list above, or
+ settings whose value is of the wrong type.
+ */
+ createWithSettings( [in] sequence< ::com::sun::star::beans::NamedValue > Settings )
+ raises ( ::com::sun::star::lang::IllegalArgumentException );
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/logging/CsvLogFormatter.idl b/offapi/com/sun/star/logging/CsvLogFormatter.idl
new file mode 100644
index 000000000..5e20170c6
--- /dev/null
+++ b/offapi/com/sun/star/logging/CsvLogFormatter.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_logging_CsvLogFormatter_idl__
+#define __com_sun_star_logging_CsvLogFormatter_idl__
+
+
+module com { module sun { module star { module logging {
+
+interface XCsvLogFormatter;
+
+
+/** specifies a service which formats log records for RFC4180-style CSV-Files
+
+ <p>Every log record, as passed to XCsvLogFormatter::format(),
+ will be formatted into a single row for a CSV file.
+ The sequence number, the thread ID, the time of the logged event,
+ the source class/method name will get logged alongside the message, if this
+ is not disabled. The Formatter also supports logging an arbitrary number of
+ user-defined columns. If the Formatter is configured to have more than one
+ (user-defined) column the data to log has to be preformatted with the
+ formatMultiColumn method.</p>
+
+ @since OOo 3.0
+ */
+service CsvLogFormatter : XCsvLogFormatter
+{
+ /// creates a CsvLogFormatter instance
+ create();
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/logging/FileHandler.idl b/offapi/com/sun/star/logging/FileHandler.idl
new file mode 100644
index 000000000..3327df304
--- /dev/null
+++ b/offapi/com/sun/star/logging/FileHandler.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_logging_FileHandler_idl__
+#define __com_sun_star_logging_FileHandler_idl__
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/beans/NamedValue.idl>
+
+
+module com { module sun { module star { module logging {
+
+interface XLogHandler;
+
+
+/** specifies a component implementing a log handler whose output
+ channel is a file.
+
+ <p>The handler will use the <code>Encoding</code> attribute of XLogHandler
+ to determine how to encode strings before actually writing them to the output
+ file.</p>
+
+ @see XLogHandler::Encoding
+
+ @since OOo 2.3
+ */
+service FileHandler : XLogHandler
+{
+ /** creates a log handler whose output is directed to a file given by URL.
+
+ @param FileURL
+ the URL of the file to be created. This URL is resolved using the
+ ::com::sun::star::util::PathSubstitution service. That
+ is, it is allowed to include placeholders such as <code>$(userurl)</code>.
+ */
+ create( [in] string FileURL );
+
+ /** creates an instance of the log handler, using generic settings
+
+ @param Settings
+ contains the initial settings for the log handler
+
+ <p>The following settings are recognized and supported:
+ <ul><li><code>Encoding</code> - denotes the initial value of the XLogHandler::Encoding</li>
+ <li><code>Formatter</code> - denotes the initial value of the XLogHandler::Formatter</li>
+ <li><code>Level</code> - denotes the initial value of the XLogHandler::Level</li>
+ </ul></p>
+
+ <p>Additionally, a setting name <code>FileURL</code> is recognized. It must be of type
+ string, and denotes the file URL to which the handler's output should be directed.</p>
+
+ <p>At least the URL argument must be present in the settings.</p>
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if `Settings` contains settings whose value is of the wrong type.
+ */
+ createWithSettings( [in] sequence< ::com::sun::star::beans::NamedValue > Settings )
+ raises ( ::com::sun::star::lang::IllegalArgumentException );
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/logging/LogLevel.idl b/offapi/com/sun/star/logging/LogLevel.idl
new file mode 100644
index 000000000..dc3beaaa0
--- /dev/null
+++ b/offapi/com/sun/star/logging/LogLevel.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_logging_LogLevel_idl__
+#define __com_sun_star_logging_LogLevel_idl__
+
+
+module com { module sun { module star { module logging {
+
+
+/** specifies levels to distinguish between severities of logged events
+
+ @see XLogger
+
+ @since OOo 2.3
+ */
+constants LogLevel
+{
+ /** specifies that no messages are to be logged at all
+
+ <p>This level can be set at an XLogger to completely prevent
+ logging. You will usually not use it with a concrete log event.</p>
+ */
+ const long OFF = 0x7FFFFFFF;
+
+ /// denotes a serious failure to be logged
+ const long SEVERE = 1000;
+
+ /// denotes a potential problem to be logged
+ const long WARNING = 900;
+
+ /// denotes an informational message to be logged
+ const long INFO = 800;
+
+ /// denotes a static configuration message to be logged
+ const long CONFIG = 700;
+
+ /// denotes basic tracing information to be logged
+ const long FINE = 500;
+
+ /// denotes more fine-grained tracing information to be logged
+ const long FINER = 400;
+
+ /// denotes highly detailed tracing information to be logged
+ const long FINEST = 300;
+
+ /** specifies that all messages should be logged
+
+ <p>This level can be set at an XLogger to enable logging
+ of absolutely all events. You will usually not use it with a concrete log event.</p>
+ */
+ const long ALL = -0x80000000;
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/logging/LogRecord.idl b/offapi/com/sun/star/logging/LogRecord.idl
new file mode 100644
index 000000000..d0ae88e1b
--- /dev/null
+++ b/offapi/com/sun/star/logging/LogRecord.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_logging_LogRecord_idl__
+#define __com_sun_star_logging_LogRecord_idl__
+
+#include <com/sun/star/util/DateTime.idl>
+
+
+module com { module sun { module star { module logging {
+
+
+/** assembles the complete information about a to-be-logged event
+
+ @see XLogger
+
+ @since OOo 2.3
+ */
+struct LogRecord
+{
+ /// specifies the name of the logger at which the record is logged
+ string LoggerName;
+
+ /** specifies the name of the class, in which the record was logged.
+
+ This name might be empty, in case the caller to one of the various
+ <code>log</code> methods of XLogger did not specify it.
+ */
+ string SourceClassName;
+
+ /** specifies the name of the method, in which the record was logged.
+
+ This name might be empty, in case the caller to one of the various
+ <code>log</code> methods of XLogger did not specify it.
+ */
+ string SourceMethodName;
+
+ /// specifies the to-be-logged message
+ string Message;
+
+ /// specifies the time at which the event was logged
+ ::com::sun::star::util::DateTime
+ LogTime;
+
+ /** specifies the number of the log event.
+
+ Subsequent events get assigned increasing sequence numbers by the XLogger
+ at which they're logged.
+ */
+ hyper SequenceNumber;
+
+ /// specifies the ID of the thread in which the event was logged
+ string ThreadID;
+
+ /** specifies the level of the log event
+
+ @see LogLevel
+ */
+ long Level;
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/logging/LoggerPool.idl b/offapi/com/sun/star/logging/LoggerPool.idl
new file mode 100644
index 000000000..cc9b5da8f
--- /dev/null
+++ b/offapi/com/sun/star/logging/LoggerPool.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_logging_LoggerPool_idl__
+#define __com_sun_star_logging_LoggerPool_idl__
+
+#include <com/sun/star/logging/XLoggerPool.idl>
+
+
+module com { module sun { module star { module logging {
+
+/** the global pool of named XLogger instances
+
+ <p>The one and only <code>LoggerPool</code> instance is available at a component context as value with the key
+ <code>/singletons/com.sun.star.logging.LoggerPool</code>.</p>
+
+ @since OOo 2.3
+*/
+singleton LoggerPool : XLoggerPool;
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/logging/PlainTextFormatter.idl b/offapi/com/sun/star/logging/PlainTextFormatter.idl
new file mode 100644
index 000000000..16868d25e
--- /dev/null
+++ b/offapi/com/sun/star/logging/PlainTextFormatter.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_logging_PlainTextFormatter_idl__
+#define __com_sun_star_logging_PlainTextFormatter_idl__
+
+
+module com { module sun { module star { module logging {
+
+interface XLogFormatter;
+
+
+/** specifies a service which formats log records as single line plain text
+
+ <p>Every log record, as passed to XLogFormatter::format(), will
+ be formatted into a single text line, assembling the sequence number, the thread ID,
+ the time of the logged event, the source class/method name (if applicable), and the
+ log message.</p>
+
+ @since OOo 2.3
+ */
+service PlainTextFormatter : XLogFormatter
+{
+ /// creates a PlainTextFormatter instance
+ create();
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/logging/SimpleTextFormatter.idl b/offapi/com/sun/star/logging/SimpleTextFormatter.idl
new file mode 100644
index 000000000..03aae22ef
--- /dev/null
+++ b/offapi/com/sun/star/logging/SimpleTextFormatter.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_logging_SimpleTextFormatter_idl__
+#define __com_sun_star_logging_SimpleTextFormatter_idl__
+
+
+module com { module sun { module star { module logging {
+
+interface XLogFormatter;
+
+
+/** specifies a service which formats log records as single line plain text
+
+ <p>Every log record, as passed to XLogFormatter::format(), will
+ be formatted into a single text line, with just the log message being output.
+ If the loglevel is WARNING, or SEVERE, the line will be prefixed accordingly.</p>
+
+ @since LibreOffice 6.2
+ */
+service SimpleTextFormatter : XLogFormatter
+{
+ /// creates a SimpleTextFormatter instance
+ create();
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/logging/XConsoleHandler.idl b/offapi/com/sun/star/logging/XConsoleHandler.idl
new file mode 100644
index 000000000..5d6ff6cba
--- /dev/null
+++ b/offapi/com/sun/star/logging/XConsoleHandler.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_logging_XConsoleHandler_idl__
+#define __com_sun_star_logging_XConsoleHandler_idl__
+
+#include <com/sun/star/logging/XLogHandler.idl>
+
+
+module com { module sun { module star { module logging {
+
+
+/** implemented by a log handler whose output channel is the processes console.
+
+ <p>Note that a console handler will ignore its formatter's head and tail, since
+ it cannot decided whether they should be emitted on <code>stdout</code> or <code>stderr</code>.</p>
+
+ @since OOo 2.3
+ */
+interface XConsoleHandler : XLogHandler
+{
+ /** denotes the LogLevel threshold used to determine to which
+ console the events should be logged.
+
+ <p>Events with a level greater or equal to <code>Threshold</code> will be
+ logged to <code>stderr</code>, all others to <code>stdout</code>.</p>
+
+ <p>The default value for this attribute is LogLevel::SEVERE.</p>
+ */
+ [attribute] long Threshold;
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/logging/XCsvLogFormatter.idl b/offapi/com/sun/star/logging/XCsvLogFormatter.idl
new file mode 100644
index 000000000..038f8c478
--- /dev/null
+++ b/offapi/com/sun/star/logging/XCsvLogFormatter.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_logging_XCsvLogFormatter_idl__
+#define __com_sun_star_logging_XCsvLogFormatter_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/logging/XLogFormatter.idl>
+
+
+module com { module sun { module star { module logging {
+
+
+/** specifies the interface used for formatting log records for RFC4180 CSV
+ output
+
+ @see XLogFormatter, XLogHandler
+
+ @since OOo 3.0
+*/
+interface XCsvLogFormatter : XLogFormatter
+{
+ /** Defines if the EventNo should be logged */
+ [attribute] boolean LogEventNo;
+ /** Defines if the ThreadId should be logged */
+ [attribute] boolean LogThread;
+ /** Defines if the Timestamp should be logged */
+ [attribute] boolean LogTimestamp;
+ /** Defines if the Source should be logged */
+ [attribute] boolean LogSource;
+ /** Defines the names of the additional columns
+ this defaults to only one row titled "message".
+ if this is set to more than one column, the
+ messages need to be preformatted using
+ <code>formatMultiColumn</code>*/
+ [attribute] sequence< string > Columnnames;
+ /** if the CsvLogFormatter is set to have more than one
+ column, any logged information has to be send through this
+ method before calling log(). E.g.:
+
+ <code>XLoggerInstance.log(1000, XCsvLogFormatterInstance.formatMultiColumn(columnData))</code>
+ */
+ string formatMultiColumn( [in] sequence< string > columnData);
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/logging/XLogFormatter.idl b/offapi/com/sun/star/logging/XLogFormatter.idl
new file mode 100644
index 000000000..1bc474caa
--- /dev/null
+++ b/offapi/com/sun/star/logging/XLogFormatter.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_logging_XLogFormatter_idl__
+#define __com_sun_star_logging_XLogFormatter_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/logging/LogRecord.idl>
+
+
+module com { module sun { module star { module logging {
+
+
+/** specifies the interface to be used for formatting log records
+
+ @see XLogHandler
+
+ @since OOo 2.3
+*/
+interface XLogFormatter
+{
+ /** returns the header string for the log
+
+ <p>This can be used to generate a header string, which by the XLogHandler
+ is emitted to its output channel before actually logging any concrete
+ LogRecord.</p>
+
+ <p>For instance, a formatter might produce table-like plain text output,
+ and could return a table-head string (potentially including line breaks)
+ here.</p>
+ */
+ string getHead();
+
+ /** formats the given log record for output
+
+ <p>A XLogHandler will call this method to format a given
+ log record. The resulting string will be emitted to the handler's output
+ channel, without processing it any further (except possibly encoding it with
+ the handler's <code>Encoding</code>).</p>
+ */
+ string format( [in] LogRecord Record );
+
+ /** returns the footer string for the log
+
+ <p>This can be used to generate a footer string, which by the XLogHandler
+ is emitted to its output channel before it is finally being closed.</p>
+ */
+ string getTail();
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/logging/XLogHandler.idl b/offapi/com/sun/star/logging/XLogHandler.idl
new file mode 100644
index 000000000..cdb770c3b
--- /dev/null
+++ b/offapi/com/sun/star/logging/XLogHandler.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_logging_XLogHandler_idl__
+#define __com_sun_star_logging_XLogHandler_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/logging/LogRecord.idl>
+#include <com/sun/star/logging/XLogFormatter.idl>
+
+
+module com { module sun { module star { module logging {
+
+
+/** provides possibilities to send LogRecords to an arbitrary output
+ channel.
+
+ @see XLogger
+
+ @since OOo 2.3
+ */
+interface XLogHandler
+{
+ /** allows life time control for the handler
+
+ <p>Disposing the handler effectively means closing the channel
+ to which the handler forwards the log records.
+ */
+ interface ::com::sun::star::lang::XComponent;
+
+ /** specifies MIME charset name for the encoding to be used by this handler
+
+ <p>It depends on the concrete handler implementation whether or not this
+ parameter is needed.<p>
+
+ @see http://www.iana.org/assignments/character-sets
+ */
+ [attribute] string Encoding;
+
+ /** specifies the formatter to be used by this handler.
+ */
+ [attribute] XLogFormatter Formatter;
+
+ /** specifies the log level of this handler
+
+ <p>Different handlers can have different log levels, which again might be
+ different from the log level of the XLogger for which the handlers
+ are used.</p>
+ */
+ [attribute] long Level;
+
+ /** flushes all buffered output of the handler
+
+ <p>Log handlers are allowed to buffer their output. Upon <code>flush</code>
+ being called, they must flush all their buffers.</p>
+ */
+ void flush();
+
+ /** publish the given log record at the handler's output channel.
+
+ @return
+ `TRUE` if and only if the record was actually published. A handler
+ will not publish a record if its log level doesn't meet the handler's
+ log level, if the record is filtered, or if any other handler-specified
+ restrictions apply.
+ */
+ boolean publish( [in] LogRecord Record );
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/logging/XLogger.idl b/offapi/com/sun/star/logging/XLogger.idl
new file mode 100644
index 000000000..5ee092287
--- /dev/null
+++ b/offapi/com/sun/star/logging/XLogger.idl
@@ -0,0 +1,136 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_logging_XLogger_idl__
+#define __com_sun_star_logging_XLogger_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module logging {
+
+interface XLogHandler;
+
+
+/** implemented by a component which is able to log events.
+
+ <p>This interface is roughly designed after the
+ <a href="http://java.sun.com/javase/6/docs/api/java/util/logging/package-summary.html">Java
+ Logging API</a>. However, there are some differences, the major ones being:
+ <ul><li>There's no support (yet) for filtering log events.</li>
+ <li>There ain't no convenience methods for logging.</li>
+ <li>There's no localization support.</li>
+ <li>Logger instances do not form a hierarchy.</li>
+ </ul></p>
+
+ @since OOo 2.3
+ */
+interface XLogger
+{
+ /** denotes the name of the logger.
+ */
+ [attribute, readonly] string Name;
+
+ /** specifies which log events are logged or ignored.
+
+ @see LogLevel
+ */
+ [attribute] long Level;
+
+ /** adds the given handler to the list of handlers.
+
+ <p>When an event is logged, the logger will create a LogRecord
+ for this event, and pass this record to all registered handlers. Single handlers
+ might or might not log those records at their own discretion, and depending on
+ additional restrictions such as filters specified at handler level.</p>
+
+ <p>Note: The log level of the given handler (XLogHandler::Level) will
+ not be touched. In particular, it will not be set to the logger's log level. It's
+ the responsibility of the component which knits a logger with one or more
+ log handlers to ensure that all loggers have appropriate levels set.</p>
+
+ @param LogHandler
+ the handler to add to the list of handlers. The call is ignored if this
+ parameter is `NULL`.
+ */
+ void addLogHandler( [in] XLogHandler LogHandler );
+
+ /** removes the given handler from the list of handlers.
+
+ @param LogHandler
+ the handler to remove from the list of handlers. The call is ignored if this
+ parameter is `NULL`, or if the handler has not previously been added.
+ */
+ void removeLogHandler( [in] XLogHandler LogHandler );
+
+ /** determines whether logger instance would produce any output for the given level.
+
+ <p>The method can be used to optimize performance as maybe complex parameter evaluation
+ in the <code>log</code> calls can be omitted if <code>isLoggable</code> evaluates to false.</p>
+
+ @param Level
+ level to be checked against
+
+ @returns
+ `TRUE` if there would be some output for this XLogger for the given level, `FALSE`
+ otherwise. Note that a return value of `FALSE` could also indicate that the logger
+ does not have any log handlers associated with it.
+
+ @see addLogHandler
+ @see removeLogHandler
+ */
+ boolean isLoggable( [in] long Level );
+
+ /** logs a given message
+
+ @param Level
+ the log level of this message. If this level is smaller than the logger's #Level
+ attribute, then the call will be ignored.
+
+ @param Message
+ the message to log
+ */
+ void log( [in] long Level, [in] string Message );
+
+ /** logs a given message, detailing the source class and method at which the logged
+ event occurred.
+
+ @param Level
+ the log level of this message. If this level is smaller than the logger's #Level
+ attribute, then the call will be ignored.
+
+ @param SourceClass
+ the source class at which the logged event occurred.
+
+ @param SourceMethod
+ the source class at which the logged event occurred.
+
+ @param Message
+ the message to log
+ */
+ void logp( [in] long Level, [in] string SourceClass, [in] string SourceMethod, [in] string Message );
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/logging/XLoggerPool.idl b/offapi/com/sun/star/logging/XLoggerPool.idl
new file mode 100644
index 000000000..fa995847d
--- /dev/null
+++ b/offapi/com/sun/star/logging/XLoggerPool.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_logging_XLoggerPool_idl__
+#define __com_sun_star_logging_XLoggerPool_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module logging {
+
+interface XLogger;
+
+
+/** implements a pool for named XLogger instances
+
+ @since OOo 2.3
+ */
+interface XLoggerPool
+{
+ /** retrieves a logger with the given name
+
+ <p>Multiple attempts to retrieve a logger with the same name will return
+ the same instance.</p>
+
+ <p>Newly created logger instances are initialized via configuration. See the configuration
+ module <code>/org.openoffice.Office.Logging</code> for an explanation of the initialization
+ pattern.</p>
+ */
+ XLogger getNamedLogger( [in] string Name );
+
+ /** retrieves a logger with the default name &quot;org.openoffice.logging.DefaultLogger&quot;.
+
+ <p>Calling this method is equivalent to calling <code>getNamedLogger( &quot;org.openoffice.logging.DefaultLogger&quot; )</code>.</p>
+ */
+ XLogger getDefaultLogger();
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/mail/MailAttachment.idl b/offapi/com/sun/star/mail/MailAttachment.idl
new file mode 100644
index 000000000..e6b696727
--- /dev/null
+++ b/offapi/com/sun/star/mail/MailAttachment.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_mail_MailAttachment_idl__
+#define __com_sun_star_mail_MailAttachment_idl__
+
+#include <com/sun/star/datatransfer/XTransferable.idl>
+
+module com { module sun { module star { module mail {
+
+/**
+ A MailAttachment specifies a mail message attachment.
+
+ @see ::com::sun::star::mail::XMailMessage
+
+ @since OOo 2.0
+*/
+struct MailAttachment
+{
+ /**
+ The actual data which should be attached to a mail message.
+ It is expected that the transferable delivers the data as
+ sequence of bytes. Although a transferable may support
+ multiple data flavors only the first data flavor supplied
+ will be used to retrieve the data and it is expected that
+ the type of the data is a sequence of bytes.
+
+ @see ::com::sun::star::datatransfer::XTransferable
+ */
+ ::com::sun::star::datatransfer::XTransferable Data;
+
+ /**
+ The name of the attachment as seen by the recipient of the
+ mail message. ReadableName must not be empty.
+ */
+ string ReadableName;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/mail/MailException.idl b/offapi/com/sun/star/mail/MailException.idl
new file mode 100644
index 000000000..e9bd503f1
--- /dev/null
+++ b/offapi/com/sun/star/mail/MailException.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_mail_MailException_idl__
+#define __com_sun_star_mail_MailException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+module com { module sun { module star { module mail {
+
+/**
+ An MailException is the base of all mail related
+ exceptions.
+
+ @since OOo 2.0
+ */
+exception MailException: com::sun::star::uno::Exception
+{
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/mail/MailMessage.idl b/offapi/com/sun/star/mail/MailMessage.idl
new file mode 100644
index 000000000..ca4d9ac2e
--- /dev/null
+++ b/offapi/com/sun/star/mail/MailMessage.idl
@@ -0,0 +1,97 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_mail_MailMessage_idl__
+#define __com_sun_star_mail_MailMessage_idl__
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/mail/MailAttachment.idl>
+#include <com/sun/star/datatransfer/XTransferable.idl>
+
+module com { module sun { module star { module mail {
+
+interface XMailMessage;
+
+/**
+ @since OOo 2.0
+ */
+service MailMessage: XMailMessage
+{
+ /**
+ Constructs an instance of a mail message.
+
+ @param sTo
+ [in] the e-mail address of the recipient.
+ The e-mail address has to conform to <a href="http://www.ietf.org/rfc/rfc822.txt">RFC&nbsp;822</a>.
+
+ @param sFrom
+ [in] the e-mail address of the sender of this mail message.
+ The e-mail address has to conform to <a href="http://www.ietf.org/rfc/rfc822.txt">RFC&nbsp;822</a>.
+
+ @param sSubject
+ [in] the subject of the mail message.
+
+ @param xBody
+ [in] the body of the mail message. It is expected that the
+ transferable delivers the data as a string. Although a
+ transferable may support multiple data flavors only the
+ first data flavor supplied will be used to retrieve the data
+ and it is expected that the data will be provided as a string.
+
+ @see com::sun::star::mail::XMailMessage
+ @see com::sun::star::datatransfer::XTransferable
+ */
+ create([in] string sTo, [in] string sFrom, [in] string sSubject, [in] com::sun::star::datatransfer::XTransferable xBody);
+
+ /**
+ Constructs an instance of a mail message.
+
+ @param sTo
+ [in] the e-mail address of the recipient.
+ The e-mail address has to conform to <a href="http://www.ietf.org/rfc/rfc822.txt">RFC&nbsp;822</a>.
+
+ @param sFrom
+ [in] the e-mail address of the sender of this mail message.
+ The e-mail address has to conform to <a href="http://www.ietf.org/rfc/rfc822.txt">RFC&nbsp;822</a>.
+
+ @param sSubject
+ [in] the subject of the mail message.
+
+ @param xBody
+ [in] the body of the mail message. It is expected that the
+ transferable delivers the data as a string. Although a
+ transferable may support multiple data flavors only the
+ first data flavor supplied will be used to retrieve the data
+ and it is expected that the data will be provided as a string.
+
+ @param aMailAttachment
+ [in] specifies an attachment which should be send with this mail message.
+
+ @see com::sun::star::mail::XMailMessage
+ @see com::sun::star::datatransfer::XTransferable
+ @see com::sun::star::mail::MailAttachment
+ */
+ createWithAttachment([in] string sTo, [in] string sFrom, [in] string sSubject, [in] com::sun::star::datatransfer::XTransferable xBody, [in] MailAttachment aMailAttachment);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/mail/MailServiceProvider.idl b/offapi/com/sun/star/mail/MailServiceProvider.idl
new file mode 100644
index 000000000..0dc0f06fd
--- /dev/null
+++ b/offapi/com/sun/star/mail/MailServiceProvider.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_mail_MailServiceProvider_idl__
+#define __com_sun_star_mail_MailServiceProvider_idl__
+
+#include <com/sun/star/mail/XMailServiceProvider.idl>
+
+module com { module sun { module star { module mail {
+
+/**
+ @since OOo 2.0
+ */
+service MailServiceProvider: XMailServiceProvider
+{
+ /**
+ Creation method.
+
+ @see com::sun::star::mail::XMailServiceProvider
+ */
+ create();
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/mail/MailServiceType.idl b/offapi/com/sun/star/mail/MailServiceType.idl
new file mode 100644
index 000000000..46a38e584
--- /dev/null
+++ b/offapi/com/sun/star/mail/MailServiceType.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_mail_MailServiceType_idl__
+#define __com_sun_star_mail_MailServiceType_idl__
+
+module com { module sun { module star { module mail {
+
+/**
+ @since OOo 2.0
+ */
+enum MailServiceType
+{
+ /** A SMTP service */
+ SMTP,
+
+ /** A POP3 service */
+ POP3,
+
+ /** A IMAP service */
+ IMAP
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/mail/NoMailServiceProviderException.idl b/offapi/com/sun/star/mail/NoMailServiceProviderException.idl
new file mode 100644
index 000000000..3a3827b9f
--- /dev/null
+++ b/offapi/com/sun/star/mail/NoMailServiceProviderException.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_mail_NoMailServiceProviderException_idl__
+#define __com_sun_star_mail_NoMailServiceProviderException_idl__
+
+#include <com/sun/star/mail/MailException.idl>
+
+module com { module sun { module star { module mail {
+
+/**
+ A NoMailServiceProviderException will be thrown if an
+ appropriate provider for requested mail service could not be found or
+ could not be created.
+
+ @see com::sun::star::mail::MailService
+
+ @since OOo 2.0
+ */
+exception NoMailServiceProviderException: com::sun::star::mail::MailException
+{
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/mail/NoMailTransportProviderException.idl b/offapi/com/sun/star/mail/NoMailTransportProviderException.idl
new file mode 100644
index 000000000..6a45dd177
--- /dev/null
+++ b/offapi/com/sun/star/mail/NoMailTransportProviderException.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_mail_NoMailTransportProviderException_idl__
+#define __com_sun_star_mail_NoMailTransportProviderException_idl__
+
+#include <com/sun/star/mail/MailException.idl>
+
+module com { module sun { module star { module mail {
+
+/**
+ A NoMailTransportProviderException will be thrown if an
+ appropriate provider for sending mail messages could not be found or
+ could not be created.
+
+ @see com::sun::star::mail::MailServer
+
+ @since OOo 2.0
+ */
+exception NoMailTransportProviderException: com::sun::star::mail::MailException
+{
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/mail/SendMailMessageFailedException.idl b/offapi/com/sun/star/mail/SendMailMessageFailedException.idl
new file mode 100644
index 000000000..db63276ed
--- /dev/null
+++ b/offapi/com/sun/star/mail/SendMailMessageFailedException.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_mail_SendMailMessageFailedException_idl__
+#define __com_sun_star_mail_SendMailMessageFailedException_idl__
+
+#include <com/sun/star/mail/MailException.idl>
+
+module com { module sun { module star { module mail {
+
+/**
+ A SendFailedException will be thrown if a mail message
+ could not be sent because the e-mail addresses of some
+ recipients are invalid. E-mail addresses have to conform
+ to <a href="http://www.ietf.org/rfc/rfc822.txt">RFC&nbsp;822</a>.
+
+ @see com::sun::star::mail::XMailService
+
+ @since OOo 2.0
+ */
+exception SendMailMessageFailedException: com::sun::star::mail::MailException
+{
+ /**
+ The addresses which are invalid because they do not conform
+ to <a href="http://www.ietf.org/rfc/rfc822.txt">RFC&nbsp;822</a>.
+ */
+ sequence<string> InvalidAddresses;
+
+ /**
+ The addresses to which the mail message was sent successfully.
+ */
+ sequence<string> ValidSentAddresses;
+
+ /**
+ The addresses which are valid but to which the message was not sent.
+ */
+ sequence<string> ValidUnsentAddresses;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/mail/XAuthenticator.idl b/offapi/com/sun/star/mail/XAuthenticator.idl
new file mode 100644
index 000000000..0beb10ef7
--- /dev/null
+++ b/offapi/com/sun/star/mail/XAuthenticator.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_mail_XAuthenticator_idl__
+#define __com_sun_star_mail_XAuthenticator_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module mail {
+
+/**
+ Represents an interface that will be used to query for user
+ information which are necessary to login to a network resource.
+ An implementation of this interface may for instance show a
+ dialog to query the user for the necessary data.
+
+ @since OOo 2.0
+ */
+interface XAuthenticator: ::com::sun::star::uno::XInterface {
+
+ /**
+ Will be called when the user name is needed.
+
+ @returns
+ the user name.
+ */
+ string getUserName();
+
+ /**
+ Will be called when the password of the user is needed.
+
+ @returns
+ the password of the user.
+ */
+ string getPassword();
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/mail/XConnectionListener.idl b/offapi/com/sun/star/mail/XConnectionListener.idl
new file mode 100644
index 000000000..1d351c3a5
--- /dev/null
+++ b/offapi/com/sun/star/mail/XConnectionListener.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_mail_XConnectionListener_idl__
+#define __com_sun_star_mail_XConnectionListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+#include <com/sun/star/lang/EventObject.idl>
+
+module com { module sun { module star { module mail {
+
+/**
+ The listener interface for connection events.
+
+ @see com::sun::star::mail::XMailService
+
+ @since OOo 2.0
+ */
+interface XConnectionListener: ::com::sun::star::lang::XEventListener {
+
+ /**
+ Invoked when the connection to the mail server is established.
+
+ @param aEvent
+ [in] specific information regarding this event.
+
+ @see com::sun::star::lang::EventObject
+ */
+ void connected([in] com::sun::star::lang::EventObject aEvent);
+
+ /**
+ Invoked when the connection to the mail server is closed.
+
+ @param aEvent
+ [in] specific information regarding this event.
+
+ @see com::sun::star::lang::EventObject
+ */
+ void disconnected([in] com::sun::star::lang::EventObject aEvent);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/mail/XMailMessage.idl b/offapi/com/sun/star/mail/XMailMessage.idl
new file mode 100644
index 000000000..e9c2d4c77
--- /dev/null
+++ b/offapi/com/sun/star/mail/XMailMessage.idl
@@ -0,0 +1,144 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_mail_XMailMessage_idl__
+#define __com_sun_star_mail_XMailMessage_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/mail/MailAttachment.idl>
+#include <com/sun/star/datatransfer/XTransferable.idl>
+
+module com { module sun { module star { module mail {
+
+/**
+ Represents a mail message.
+
+ @see com::sun::star::mail::XMailService
+
+ @since OOo 2.0
+ */
+interface XMailMessage: ::com::sun::star::uno::XInterface {
+
+ /**
+ The display name of the sender of this mail message.
+ */
+ [attribute, readonly] string SenderName;
+ /**
+ The e-mail address of the sender of this mail message.
+ The e-mail address has to conform to <a href="http://www.ietf.org/rfc/rfc822.txt">RFC&nbsp;822</a>.
+ */
+ [attribute, readonly] string SenderAddress;
+
+ /**
+ The e-mail address where replies on this mail message should be sent to.
+ If the e-mail address doesn't conform to <a href="http://www.ietf.org/rfc/rfc822.txt">RFC&nbsp;822</a>
+ sending the mail message later will fail.
+ If no ReplyToAddress is set replies go to the SenderAddress.
+ */
+ [attribute] string ReplyToAddress;
+
+ /**
+ Add a recipients e-mail address to the list of recipients of this mail message.
+ If the e-mail address doesn't conform to <a href="http://www.ietf.org/rfc/rfc822.txt">RFC&nbsp;822</a>
+ sending the mail message will fail.
+
+ @param sRecipientAddress
+ [in] the e-mail address of the recipient.
+ */
+ void addRecipient([in] string sRecipientAddress);
+
+ /**
+ Add a Cc recipients e-mail address to the list of recipients of this mail message.
+ If the e-mail address doesn't conform to <a href="http://www.ietf.org/rfc/rfc822.txt">RFC&nbsp;822</a>
+ sending the mail message will fail.
+
+ @param sRecipientAddress
+ [in] the e-mail address of the Cc recipient.
+ */
+ void addCcRecipient([in] string sRecipientAddress);
+
+ /**
+ Add a BCC recipients e-mail address to the list of recipients of this mail message.
+ If the e-mail address doesn't conform to <a href="http://www.ietf.org/rfc/rfc822.txt">RFC&nbsp;822</a>
+ sending the mail message will fail.
+
+ @param sRecipientAddress
+ [in] the e-mail address of the BCC recipient.
+ */
+ void addBccRecipient([in] string sRecipientAddress);
+
+ /**
+ Return a sequence of the e-mail addresses of all recipients of
+ this mail message.
+ */
+ sequence<string> getRecipients();
+
+ /**
+ Return a sequence of the e-mail addresses of all the Cc recipients
+ of this mail message.
+ */
+ sequence<string> getCcRecipients();
+
+ /**
+ Return a sequence of the e-mail addresses of all the BCC recipients
+ of this mail message.
+ */
+ sequence<string> getBccRecipients();
+
+ /**
+ The subject of a mail message.
+ */
+ [attribute] string Subject;
+
+ /**
+ The body of the mail message.
+ It is expected that the transferable delivers the data as
+ a string. Although a transferable may support multiple
+ data flavors only the first data flavor supplied will be
+ used to retrieve the data and it is expected that the data
+ will be provided as a string.
+
+ @see com::sun::star::datatransfer::XTransferable
+ */
+ [attribute] com::sun::star::datatransfer::XTransferable Body;
+
+ /**
+ Add a file attachment to a mail message.
+
+ param aMailAttachment
+ [in] specifies a file which should be attached to this mail message.
+
+ @see com::sun::star::mail::MailAttachment
+ */
+ void addAttachment([in] MailAttachment aMailAttachment);
+
+ /**
+ Return a sequence of MailAttachment's that will
+ be attached to this mail message.
+
+ @see com::sun::star::mail::MailAttachment
+ */
+ sequence<MailAttachment> getAttachments();
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/mail/XMailService.idl b/offapi/com/sun/star/mail/XMailService.idl
new file mode 100644
index 000000000..dc6187f8b
--- /dev/null
+++ b/offapi/com/sun/star/mail/XMailService.idl
@@ -0,0 +1,203 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_mail_XMailService_idl__
+#define __com_sun_star_mail_XMailService_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/mail/XAuthenticator.idl>
+#include <com/sun/star/auth/AuthenticationFailedException.idl>
+#include <com/sun/star/io/AlreadyConnectedException.idl>
+#include <com/sun/star/io/NotConnectedException.idl>
+#include <com/sun/star/io/UnknownHostException.idl>
+#include <com/sun/star/io/NoRouteToHostException.idl>
+#include <com/sun/star/io/ConnectException.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/mail/XConnectionListener.idl>
+#include <com/sun/star/mail/MailException.idl>
+#include <com/sun/star/uno/XCurrentContext.idl>
+
+
+module com { module sun { module star { module mail {
+
+/**
+ Represents a mail server abstraction.
+
+ @since OOo 2.0
+ */
+interface XMailService: ::com::sun::star::uno::XInterface {
+
+ /**
+ Returns all connection types which are supported to
+ connect to the mail service. At least support insecure
+ connections must be supported. Currently defined
+ connection types are (the values should be handled
+ case insensitive):
+ "Insecure" - insecure connections
+ "SSL" - Secure Socket Layer 2.0/3.0 based connection
+
+ @returns
+ a sequence of supported connection types.
+ */
+ sequence<string> getSupportedConnectionTypes();
+
+ /**
+ Register a connection listener.
+
+ @param xListener
+ [in] a listener that will be informed about connection events.
+
+ @see com::sun::star::mail::XConnectionListener
+ */
+ void addConnectionListener([in] XConnectionListener xListener);
+
+ /**
+ Unregister a connection listener.
+
+ @param xListener
+ [in] a listener that no longer need to be informed about connection events.
+
+ @see com::sun::star::mail::XConnectionListener
+ */
+ void removeConnectionListener([in] XConnectionListener xListener);
+
+ /**
+ Return the context of the current connection. The context
+ contains information like the server name, port, connection type
+ etc.
+
+ @pre
+ <code>isConnected</code> returns true.
+
+ @returns
+ the current connection context.
+
+ @throws com::sun::star::io::NotConnectedException
+ if no connection is currently established.
+
+ @see com::sun::star::mail::connectUser
+ @see com::sun::star::io::NotConnectedException
+ */
+ com::sun::star::uno::XCurrentContext getCurrentConnectionContext()
+ raises(com::sun::star::io::NotConnectedException);
+
+ /**
+ Connect to a mail service. Only one connection to a mail service
+ can be established at a time.
+
+ @param xConnectionContext
+ [in] an interface used to query for connection related information.
+ The context must contain the following values:
+ <ul>
+ <li>
+ <b>ServerName</b> of type 'string'.
+ </li>
+ <li>
+ <b>Port</b> of type 'long'.
+ </li>
+ <li>
+ <b>ConnectionType</b> of type 'string'.
+ A list of supported connection types can be queried using
+ getSupportedConnectionTypes().
+ </li>
+ <li>
+ <b>Timeout</b> of type 'long' (Optional).
+ Specifies a timeout in seconds for blocking operations,
+ like the connection attempt.
+ </li>
+ </ul>
+
+ @param xAuthenticator
+ [in] an interface used to query for the necessary user information
+ needed to login to the mail server. If no authentication is required
+ the xAuthenticator must return an empty user name and an empty password.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the provided connection context contains invalid values or
+ misses required connection parameters.
+
+ @throws com::sun::star::io::AlreadyConnectedException
+ on a try to connect to an already connect mail server.
+
+ @throws com::sun::star::io::UnknownHostException
+ usually if the IP address of the mail server could not be
+ determined. Possible causes are a broken network connection,
+ a wrong server name, an unreachable DNS server, etc.
+
+ @throws com::sun::star::io::NoRouteToHostException
+ if an error occurred to connect to the remote mail server.
+ Typically the remote mail server cannot be reach because of an
+ intervening firewall, or if an intermediate router is down,
+ the network connection is broken, etc.
+
+ @throws com::sun::star::io::ConnectException
+ if an error occurred while attempting to connect to the remote
+ mail server. Typically the connection was refused remotely,
+ because the mail server is not listening on the remote address/port.
+
+ @throws com::sun::star::auth::AuthenticationException
+ if the specified user could not be logged in.
+
+ @throws com::sun::star::mail::MailException
+ for other errors during login.
+
+ @see com::sun::star::uno::XCurrentContext
+ @see com::sun::star::mail::XAuthenticator
+ @see com::sun::star::lang::IllegalArgumentException
+ @see com::sun::star::io::AlreadyConnectedException
+ @see com::sun::star::io::UnknownHostException
+ @see com::sun::star::io::NoRouteToHostException
+ @see com::sun::star::io::ConnectException
+ @see com::sun::star::auth::AuthenticationException
+ @see com::sun::star::mail::IllegalStateException
+ @see com::sun::star::mail::MailException
+ */
+ void connect([in] com::sun::star::uno::XCurrentContext xConnectionContext, [in] XAuthenticator xAuthenticator)
+ raises(com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::io::AlreadyConnectedException,
+ com::sun::star::io::UnknownHostException,
+ com::sun::star::io::NoRouteToHostException,
+ com::sun::star::io::ConnectException,
+ com::sun::star::auth::AuthenticationFailedException,
+ com::sun::star::mail::MailException);
+
+ /**
+ Disconnect from a mail service.
+
+ @throws com::sun::star::mail::MailException
+ if errors occur during disconnecting.
+ */
+ void disconnect()
+ raises(com::sun::star::mail::MailException);
+
+ /**
+ Returns whether a connection to a mail service
+ currently exist or not.
+
+ @returns
+ `TRUE` if a connection to a mail service is established.
+ */
+ boolean isConnected();
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/mail/XMailServiceProvider.idl b/offapi/com/sun/star/mail/XMailServiceProvider.idl
new file mode 100644
index 000000000..91337f851
--- /dev/null
+++ b/offapi/com/sun/star/mail/XMailServiceProvider.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_mail_XMailServiceProvider_idl__
+#define __com_sun_star_mail_XMailServiceProvider_idl__
+
+#include <com/sun/star/mail/XMailService.idl>
+#include <com/sun/star/mail/NoMailServiceProviderException.idl>
+#include <com/sun/star/mail/MailServiceType.idl>
+
+module com { module sun { module star { module mail {
+
+/**
+ A factory for creating different mail services.
+
+ @since OOo 2.0
+ */
+interface XMailServiceProvider: ::com::sun::star::uno::XInterface {
+
+ /**
+ A factory method.
+
+ @param aType
+ [in] the type of the requested mail service.
+
+ @returns
+ A XMailService interface.
+
+ @see com::sun::star::mail::XMailServiceProvider
+ @see com::sun::star::mail::MailServiceType
+ */
+ XMailService create([in] MailServiceType aType)
+ raises(com::sun::star::mail::NoMailServiceProviderException, com::sun::star::uno::Exception);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/mail/XSmtpService.idl b/offapi/com/sun/star/mail/XSmtpService.idl
new file mode 100644
index 000000000..e415ac0b6
--- /dev/null
+++ b/offapi/com/sun/star/mail/XSmtpService.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_mail_XSmtpService_idl__
+#define __com_sun_star_mail_XSmtpService_idl__
+
+#include <com/sun/star/mail/XMailService.idl>
+#include <com/sun/star/mail/XMailMessage.idl>
+#include <com/sun/star/io/NotConnectedException.idl>
+#include <com/sun/star/io/ConnectException.idl>
+#include <com/sun/star/mail/MailException.idl>
+#include <com/sun/star/mail/SendMailMessageFailedException.idl>
+#include <com/sun/star/datatransfer/UnsupportedFlavorException.idl>
+
+module com { module sun { module star { module mail {
+
+/**
+ Represents a SMTP service abstraction.
+
+ @see com::sun::star::mail::XMailService
+ @see com::sun::star::mail::XMailMessage
+
+ @since OOo 2.0
+ */
+interface XSmtpService: ::com::sun::star::mail::XMailService {
+
+ /**
+ Send a mail message to its recipients.
+
+ @param xMailMessage
+ [in] the mail message to be sent.
+
+ @throws com::sun::star::io::NotConnectedException
+ if no user is currently connected to the mail server.
+
+ @throws com::sun::star::mail::SendMailMessageFailedException
+ if the message could not be sent because of invalid recipient
+ addresses. The e-mail addresses of recipients have to conform to
+ <a href="http://www.ietf.org/rfc/rfc822.txt">RFC&nbsp;822</a>.
+
+ @throws com::sun::star::mail::MailException
+ is thrown on other errors that may happen during sending.
+ A possible reason may be for instance that a file attachment
+ specified in a mail message could not be found or accessed.
+
+ @throws com::sun::star::datatransfer::UnsupportedFlavorException
+ is thrown when the body of the mail message is provided in an
+ unsupported mime content type or may be thrown if one of the file
+ attachments specifies an unsupported mime content type.
+
+ @see com::sun::star::mail::XMailMessage
+ @see com::sun::star::io::NotConnectedException
+ @see com::sun::star::mail::SendMailMessageFailedException
+ @see com::sun::star::mail::MailException
+ @see com::sun::star::datatransfer::UnsupportedFlavorException
+ */
+ void sendMailMessage([in] XMailMessage xMailMessage)
+ raises(com::sun::star::io::NotConnectedException, com::sun::star::mail::SendMailMessageFailedException, com::sun::star::mail::MailException, com::sun::star::datatransfer::UnsupportedFlavorException);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/media/Manager.idl b/offapi/com/sun/star/media/Manager.idl
new file mode 100644
index 000000000..c5cdf1002
--- /dev/null
+++ b/offapi/com/sun/star/media/Manager.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_media_Manager_idl__
+#define __com_sun_star_media_Manager_idl__
+
+#include <com/sun/star/media/XManager.idl>
+
+module com { module sun { module star { module media {
+
+/** a com::sun::star::media::XPlayer factory.
+ This helps creating new players.
+ */
+service Manager : XManager;
+
+}; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/media/XFrameGrabber.idl b/offapi/com/sun/star/media/XFrameGrabber.idl
new file mode 100644
index 000000000..7405b44b7
--- /dev/null
+++ b/offapi/com/sun/star/media/XFrameGrabber.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_media_XFrameGrabber_idl__
+#define __com_sun_star_media_XFrameGrabber_idl__
+
+#include <com/sun/star/graphic/XGraphic.idl>
+
+module com { module sun { module star { module media {
+
+/** This interface provides an easy access to a stream images using
+ their position in the time.
+ */
+interface XFrameGrabber
+{
+ /** returns the image of the underlying stream at a given position
+
+ @param fMediaTime
+ the time in seconds of the image to get. This time has to
+ be a positive value inferior to the stream duration.
+ */
+ ::com::sun::star::graphic::XGraphic grabFrame( [in] double fMediaTime );
+};
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/media/XManager.idl b/offapi/com/sun/star/media/XManager.idl
new file mode 100644
index 000000000..db2df788e
--- /dev/null
+++ b/offapi/com/sun/star/media/XManager.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_media_XManager_idl__
+#define __com_sun_star_media_XManager_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/media/XPlayer.idl>
+
+module com { module sun { module star { module media {
+
+/** the com::sun::star::media::XPlayer
+ factory interface
+ */
+interface XManager
+{
+ /** creates a new media player
+
+ @param aURL
+ the URL of the media to play
+ */
+ XPlayer createPlayer( [in] string aURL );
+};
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/media/XPlayer.idl b/offapi/com/sun/star/media/XPlayer.idl
new file mode 100644
index 000000000..2d3dc234a
--- /dev/null
+++ b/offapi/com/sun/star/media/XPlayer.idl
@@ -0,0 +1,142 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_media_XPlayer_idl__
+#define __com_sun_star_media_XPlayer_idl__
+
+#include <com/sun/star/awt/Size.idl>
+#include <com/sun/star/media/XPlayerWindow.idl>
+#include <com/sun/star/media/XFrameGrabber.idl>
+
+module com { module sun { module star { module media {
+
+/** is the multimedia stream handling interface. This allows to
+ perform every basic operation on videos and sounds.
+ */
+interface XPlayer
+{
+ /** starts reading the stream from the current position.
+ */
+ void start();
+
+ /** stops reading the stream and leave the cursor at its current
+ position.
+ */
+ void stop();
+
+ /** indicates whether the stream is played or not.
+
+ @returns
+ `TRUE` if the stream is played, `FALSE` otherwise
+ */
+ boolean isPlaying();
+
+ /** gets the stream length
+
+ @returns
+ the stream length in second
+ */
+ double getDuration();
+
+ /** sets the new cursor position in the media stream. After using
+ this method the stream is stopped.
+
+ @param fTime
+ the new position to set in seconds
+ */
+ void setMediaTime( [in] double fTime );
+
+ /** gets the current position of the cursor in the stream
+
+ @returns
+ the cursor position in seconds
+ */
+ double getMediaTime();
+
+ /** sets whether the stream reading should restart at the stream
+ start after the end of the stream.
+
+ @param bSet
+ loops if set to `TRUE`, otherwise stops at the end of the
+ stream.
+ */
+ void setPlaybackLoop( [in] boolean bSet );
+
+ /** indicates whether the stream reading will restart after the
+ end of the stream.
+
+ @returns
+ `TRUE` if the stream will loop, `FALSE` otherwise.
+ */
+ boolean isPlaybackLoop();
+
+ /** sets the audio volume in decibel.
+
+ @param nDB
+ the new volume in Decibel
+ */
+ void setVolumeDB( [in] short nDB );
+
+ /** gets the current audio volume in decibel
+
+ @returns
+ the volume in decibel
+ */
+ short getVolumeDB();
+
+ /** sets the volume to <code>0</code> or to its previous value.
+
+ @param bSet
+ sets the volume to <code>0</code> if `TRUE`, and switch
+ to the previous non-null value if `FALSE`
+ */
+ void setMute( [in] boolean bSet );
+
+ /** gets whether the volume is temporarily down to <code>0</code>
+ or not.
+
+ @returns
+ `TRUE` if the volume is temporarily set to <code>0</code>,
+ `FALSE` otherwise.
+ */
+ boolean isMute();
+
+ /** gets the preferred window size
+
+ @returns
+ the com::sun::star::awt::Size
+ */
+ ::com::sun::star::awt::Size getPreferredPlayerWindowSize();
+
+ /** gets a new player window for this stream control
+
+ @param aArguments
+ arguments passed to the window during its creation.
+ */
+ XPlayerWindow createPlayerWindow( [in] sequence< any > aArguments );
+
+ /** gets a frame grabber for this stream.
+ */
+ XFrameGrabber createFrameGrabber();
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/media/XPlayerListener.idl b/offapi/com/sun/star/media/XPlayerListener.idl
new file mode 100644
index 000000000..b0ee61405
--- /dev/null
+++ b/offapi/com/sun/star/media/XPlayerListener.idl
@@ -0,0 +1,38 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.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_ui_dialogs_XPlayerListener_idl__
+#define __com_sun_star_ui_dialogs_XPlayerListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+
+module com { module sun { module star { module media {
+
+/** Interface to be implemented by a Player listener.
+
+ <p> The XPlayerListener interface must be implemented by
+ the clients of the Player service which need to be informed about
+ events while the Player service is displayed.</p>
+
+ @since LibreOffice 7.4
+*/
+
+interface XPlayerListener : com::sun::star::lang::XEventListener
+{
+ /** A client receives this event when the preferred player size of an XPlayer
+ is available to be queried.
+ */
+ void preferredPlayerWindowSizeAvailable([in] com::sun::star::lang::EventObject e);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/offapi/com/sun/star/media/XPlayerNotifier.idl b/offapi/com/sun/star/media/XPlayerNotifier.idl
new file mode 100644
index 000000000..b34f64f64
--- /dev/null
+++ b/offapi/com/sun/star/media/XPlayerNotifier.idl
@@ -0,0 +1,46 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.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_ui_dialogs_XPlayerNotifier_idl__
+#define __com_sun_star_ui_dialogs_XPlayerNotifier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/media/XPlayerListener.idl>
+
+module com { module sun { module star { module media {
+
+/** Interface to be implemented in order to support listener management.
+ @since LibreOffice 7.4
+*/
+interface XPlayerNotifier : com::sun::star::uno::XInterface
+{
+ /** Interface for clients to register as XPlayerListener
+
+ @param xListener
+ The XPlayerListener interface of the listener that
+ wants to receive events.
+ <p>Invalid interfaces or NULL values will be ignored.</p>
+ */
+ void addPlayerListener( [in] XPlayerListener xListener );
+
+ /** Interface for clients to unregister as XPlayerListener.
+
+ @param xListener
+ The XPlayerListener interface of the listener that
+ wants to receive events.
+ <p>Invalid interfaces or NULL values will be ignored.</p>
+ */
+ void removePlayerListener( [in] XPlayerListener xListener );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/offapi/com/sun/star/media/XPlayerWindow.idl b/offapi/com/sun/star/media/XPlayerWindow.idl
new file mode 100644
index 000000000..4c0bb94c8
--- /dev/null
+++ b/offapi/com/sun/star/media/XPlayerWindow.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_media_XPlayerWindow_idl__
+#define __com_sun_star_media_XPlayerWindow_idl__
+
+#include <com/sun/star/awt/XWindow.idl>
+#include <com/sun/star/media/ZoomLevel.idl>
+
+module com { module sun { module star { module media {
+
+/** interacts with the media player window
+ */
+interface XPlayerWindow : ::com::sun::star::awt::XWindow
+{
+ /** redraws the player window
+ */
+ void update();
+
+ /** changes the zoom of the media played by the window.
+ */
+ boolean setZoomLevel( [in] ZoomLevel ZoomLevel );
+
+ /** gets the current media ratio.
+ */
+ ZoomLevel getZoomLevel();
+
+ /** changes the pointer for the player window.
+
+ @param SystemPointerType
+ a ::com::sun::star::awt::SystemPointer
+ */
+ void setPointerType( [in] long SystemPointerType );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/media/ZoomLevel.idl b/offapi/com/sun/star/media/ZoomLevel.idl
new file mode 100644
index 000000000..cbf43dfc5
--- /dev/null
+++ b/offapi/com/sun/star/media/ZoomLevel.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_media_ZoomLevel_idl__
+#define __com_sun_star_media_ZoomLevel_idl__
+
+module com { module sun { module star { module media {
+
+
+enum ZoomLevel
+{
+ /** specifies that the video window itself is not available at all,
+ e.g. in cases of pure audio playback
+ */
+ NOT_AVAILABLE,
+
+
+ /** specifies that the video should be displayed with
+ its original size
+ */
+ ORIGINAL,
+
+
+ /** specifies that the video should be zoomed to window size
+ */
+ FIT_TO_WINDOW,
+
+
+ /** specifies that the video should be zoomed to window size
+ with using a fixed aspect ratio
+ */
+ FIT_TO_WINDOW_FIXED_ASPECT,
+
+
+ /** specifies that the video should be displayed in fullscreen mode,
+ if available
+ */
+ FULLSCREEN,
+
+
+ /** specifies that the video should be zoomed to a factor of 1:4
+ */
+ ZOOM_1_TO_4,
+
+
+ /** specifies that the video should be zoomed to a factor of 1:2
+ */
+ ZOOM_1_TO_2,
+
+
+ /** specifies that the video should be zoomed to a factor of 2:1
+ */
+ ZOOM_2_TO_1,
+
+
+ /** specifies that the video should be zoomed to a factor of 4:1
+ */
+ ZOOM_4_TO_1
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/modules.idl b/offapi/com/sun/star/modules.idl
new file mode 100644
index 000000000..0adbcf58f
--- /dev/null
+++ b/offapi/com/sun/star/modules.idl
@@ -0,0 +1,450 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_modules_idl__
+#define __com_sun_star_modules_idl__
+
+/* note: this file contains documentation of the modules.
+ sub-modules of modules are documented here too so there aren't
+ lots of tiny documentation only files everywhere.
+*/
+
+module com { module sun { module star {
+
+/** UNO Accessibility API
+
+ <p>This modules contains the basic interfaces of the UAA (UNO
+ Accessibility API). Services that describe how these interfaces are
+ implemented can be found in other modules. The services in this module
+ describe only what every accessible object has to support.</p>
+
+ <p>Making a class accessible starts by supporting the
+ ::com::sun::star::accessibility::XAccessible interface.
+ This interface's only method returns the actual accessibility object, an
+ instance of ::com::sun::star::accessibility::XAccessibleContext.
+ These two interfaces may be implemented by the same class in which case
+ a call to ::com::sun::star::accessibility::XAccessible getAccessible()
+ returns the same object that is
+ called. Alternatively the implementation of the
+ ::com::sun::star::accessibility::XAccessibleContext
+ interface can be done by another class. This makes it possible to put
+ all accessibility implementations into their own library which has only
+ to be loaded when necessary.</p>
+
+ <p>Note that all other interfaces have to be implemented by the same
+ class that implements the
+ ::com::sun::star::accessibility::XAccessibleContext
+ interface. Note also that there is no way back from an accessibility
+ object to the object from which it has been obtained by means of the
+ UAA. If you need such a back-link you have to provide one on your
+ own.</p>
+*/
+module accessibility {};
+
+/// interfaces for SMIL animations.
+module animations {};
+
+/// security and authenticates interfaces
+module auth {};
+
+/// Java AWT-like user interface toolkit interface specifications for UNO.
+module awt {
+
+ /// grid control.
+ module grid {};
+
+ /// tab pages.
+ module tab {};
+
+ /// hierarchical (tree) control.
+ module tree {};
+
+};
+
+/// Charting diagram interfaces.
+module chart {};
+
+/** New implementation of Charting diagram interfaces. This module
+ contains only a rather small public API. In addition there is a
+ private API in the chart2 project.
+ */
+module chart2 {
+
+ /// Chart data provider interfaces.
+ module data {};
+};
+
+/// Access to the tree of configuration data.
+module configuration {
+
+ /// interfaces for configuration backends.
+ module backend {
+ /// XML files backend.
+ module xml {};
+ };
+
+ /// deprecated bootstrapping mechanism.
+ module bootstrap {};
+
+};
+
+/// Common user interface elements
+module cui {};
+
+/// Clipboard and Drag&amp;Drop interfaces.
+module datatransfer {
+
+ /// Clipboard specific interfaces.
+ module clipboard {};
+
+ /// Drag&amp;Drop specific interfaces.
+ module dnd {};
+
+};
+
+/// interfaces for extension management.
+module deployment {
+
+ // this looks like it should not be documented
+ module test {};
+
+ /// interfaces for extension management dialogs.
+ module ui {};
+
+};
+
+/// Office document related interfaces.
+module document {};
+
+/// Drawing and shape specific interfaces.
+module drawing {
+
+ /// Draw/Impress user interface framework.
+ module framework {};
+
+};
+
+/// interfaces related to embedded objects, both native UNO and OLE.
+module embed {};
+
+/// Interfaces for managing forms and controls.
+module form {
+
+ /// form bindings.
+ module binding {};
+
+ /// form components (model part of the controls).
+ module component {};
+
+ /// form components (view part of the controls).
+ module control {};
+
+ /// various property handlers for forms.
+ module inspection {};
+
+ /// core components of forms.
+ module runtime {};
+
+ /// for submission of data from forms.
+ module submission {};
+
+ /// for validation of form data.
+ module validation {};
+
+};
+
+/// Interfaces for mathematical formulas.
+module formula {};
+
+/// Desktop environment framework interfaces.
+module frame {
+
+ /// various status properties.
+ module status {};
+
+};
+
+/// interfaces for galleries of images and media objects.
+module gallery {};
+
+/// Interfaces and data types to deal with basic geometric entities
+module geometry {};
+
+/// Interfaces for graphic handling
+module graphic {};
+
+/** Interface for internationalization. Regard this as an internal API,
+ subject to change. */
+module i18n {};
+
+/// interfaces for HTML image maps.
+module image {};
+
+/// interfaces for inspecting UNO objects via property handlers.
+module inspection {};
+
+/// lightweight directory access protocol (LDAP)
+module ldap {};
+
+/// Spell checker, hyphenation and thesaurus interfaces.
+module linguistic2 {};
+
+/// logging of events.
+module logging {};
+
+/// Interfaces for Email connectivity
+module mail {};
+
+/// Media type interfaces
+module media {};
+
+/// Interfaces for Mozilla integration.
+module mozilla {};
+
+/// Office document content related interfaces.
+module office {};
+
+/// Package file format interfaces.
+module packages {
+
+ /// interfaces for reading and writing manifest.xml files in ODF packages.
+ module manifest {};
+
+ /// for direct access to ZIP packages.
+ module zip {};
+
+};
+
+/// Netscape-like plugin interfaces.
+module plugin {};
+
+/// Presentation specific interfaces.
+module presentation {
+
+ /// for text fields in presentation documents.
+ module textfield {};
+
+};
+
+/// Interfaces for QA and automated tests
+module qa {};
+
+/** RDF (Resource Description Framework) and metadata interfaces.
+
+ <p>
+ This module provides interfaces for storing and accessing metadata
+ in <a href="http://www.w3.org/RDF/">Resource Description Framework</a>
+ format.
+ The API consists of two main parts: the RDF data model and the ODF
+ document integration.
+ </p>
+
+ <p>
+ The <a href="http://www.w3.org/TR/rdf-concepts/">RDF data model</a>
+ describes graphs of statements.
+ The nodes in the graph are of type rdf::XNode,
+ which has several subtypes: rdf::XResource,
+ rdf::XBlankNode,
+ rdf::XURI and rdf::XLiteral.
+ Statements are then triples of nodes, and have type
+ rdf::Statement.
+ </p>
+
+ <p>
+ The main part of the RDF data model is the
+ rdf::XRepository, which consists of a set of graphs.
+ The repository allows for importing/exporting graphs from/to files,
+ as well as querying the contents of the repository.
+ The type of the graphs is rdf::XNamedGraph.
+ </p>
+
+ <p>
+ Documents that support metadata implement the interfaces
+ rdf::XRepositorySupplier and
+ rdf::XDocumentMetadataAccess.
+ Furthermore, all elements of ODF documents that may have metadata attached
+ implement the interface rdf::XMetadatable.
+ </p>
+
+ */
+module rdf {};
+
+/// Interfaces and data structures for rendering
+module rendering {};
+
+/// interfaces for reports generated from data sources.
+module report {
+
+ /// property handlers for reports.
+ module inspection {};
+
+ /// report meta data.
+ module meta {};
+
+};
+
+/// Interfaces to access (UI) resource files.
+module resource {};
+
+/// Interfaces for scanner control.
+module scanner {};
+
+/// Scripting language bindings.
+module script {
+
+ /// manage available scripts in some sort of hierarchy.
+ module browse {};
+
+ /// interfaces for scripting providers.
+ module provider {};
+
+ /// VBA scripting.
+ module vba {};
+
+};
+
+/// Basic interfaces for database access.
+module sdb {
+
+ /// application UI.
+ module application {};
+
+ /// misc stuff.
+ module tools {};
+
+};
+
+/// Database component interfaces.
+module sdbc {};
+
+/// High-level database component interfaces.
+module sdbcx {};
+
+/// cryptographic interfaces.
+module security {};
+
+/// Setup specific interfaces
+module setup {};
+
+/// Spreadsheet specific interfaces.
+module sheet {};
+
+/// allows to put smart tags in document content.
+module smarttags {};
+
+/// Formatting and layout style and style sheet interfaces.
+module style {};
+
+/// Interfaces for import/export of Scalable Vector Format.
+module svg {};
+
+/// Host operating system integration interfaces.
+module system {};
+
+/// Table specific interfaces (for text and spreadsheet).
+module table {};
+
+/// Task management interfaces.
+module task {};
+
+/// Text specific interfaces.
+module text {
+
+ /// text field masters.
+ module fieldmaster {};
+
+ /// text fields.
+ module textfield {
+
+ /// Document Properties text fields.
+ module docinfo {};
+
+ };
+
+};
+
+/// Universal Content Broker interfaces.
+module ucb {};
+
+/// Dialogs and other UI elements.
+module ui {
+
+ /// dialogs.
+ module dialogs {};
+
+};
+
+/// Miscellaneous interfaces for sorting, connecting objects etc.
+module util {};
+
+/// Document view specific interfaces (e.g. selection access and printing).
+module view {};
+
+/// interfaces for XForms (XML-based forms) implementation
+module xforms {};
+
+/// XML related interfaces.
+module xml {
+
+ /// XML encryption interfaces.
+ module crypto {
+
+ /// XML encryption SAX interfaces.
+ module sax {};
+
+ };
+
+ /// Compressed SAX interfaces.
+ module csax {};
+
+ /// XML Document Object Model.
+ module dom {
+
+ /// XML Document Object Model events.
+ module events {};
+
+ /// XML Document Object Model views.
+ module views {};
+
+ };
+
+ /// no idea what this does but it's all marked "internal".
+ module input {};
+
+ /// SAX interfaces.
+ module sax {};
+
+ /// something related to creating DOMs from SAX interfaces?
+ module wrapper {};
+
+ /// XPath interfaces.
+ module xpath {};
+
+ /// XSLT interfaces.
+ module xslt {};
+
+};
+
+/// W3C XML Schema-2 data type related interfaces.
+module xsd {};
+
+}; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/mozilla/MenuMultipleChange.idl b/offapi/com/sun/star/mozilla/MenuMultipleChange.idl
new file mode 100644
index 000000000..b27a05a28
--- /dev/null
+++ b/offapi/com/sun/star/mozilla/MenuMultipleChange.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_mozilla_MenuMultipleChange_idl__
+#define __com_sun_star_mozilla_MenuMultipleChange_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+
+
+ module com { module sun { module star { module mozilla {
+
+
+/** Explains properties of a menu item
+ */
+published struct MenuMultipleChange
+{
+ /** unique ID of this menu item
+ */
+ short ID;
+
+ /** unique ID of the group this menu item belongs to
+ */
+ short GroupID;
+
+ /** unique ID of the item directly above this menu item, used for fuzzy placement
+ */
+ short PreItemID;
+
+ /** text of the menu item
+ */
+ string ItemText;
+
+ /** true if visible
+ */
+ boolean IsVisible;
+
+ /** true if active, so clickable
+ */
+ boolean IsActive;
+
+ /** true if checkable, so there can be a checkmark
+ */
+ boolean IsCheckable;
+
+ /** true if there is a checkmark
+ */
+ boolean IsChecked;
+
+ /** sequence of bytes representing a possible image
+ */
+ sequence<byte> Image;
+ };
+
+
+}; }; }; };
+
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/mozilla/MenuProxy.idl b/offapi/com/sun/star/mozilla/MenuProxy.idl
new file mode 100644
index 000000000..106a99933
--- /dev/null
+++ b/offapi/com/sun/star/mozilla/MenuProxy.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_mozilla_MenuProxy_idl__
+#define __com_sun_star_mozilla_MenuProxy_idl__
+
+#include <com/sun/star/mozilla/XMenuProxy.idl>
+
+
+ module com { module sun { module star { module mozilla {
+
+
+/** Allows to execute dispatch for a menu item
+ and handles listeners for changes in menu items.
+ */
+published service MenuProxy
+{
+ /** @see XMenuProxy
+ */
+ interface XMenuProxy;
+};
+
+
+}; }; }; };
+
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/mozilla/MenuProxyListener.idl b/offapi/com/sun/star/mozilla/MenuProxyListener.idl
new file mode 100644
index 000000000..185d56de4
--- /dev/null
+++ b/offapi/com/sun/star/mozilla/MenuProxyListener.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_mozilla_MenuProxyListener_idl__
+#define __com_sun_star_mozilla_MenuProxyListener_idl__
+
+#include <com/sun/star/mozilla/XMenuProxyListener.idl>
+
+
+ module com { module sun { module star { module mozilla {
+
+
+/** Listens for changes in menu items.
+ */
+published service MenuProxyListener
+{
+ /** @see XMenuProxyListener
+ */
+ interface XMenuProxyListener;
+};
+
+
+}; }; }; };
+
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/mozilla/MenuSingleChange.idl b/offapi/com/sun/star/mozilla/MenuSingleChange.idl
new file mode 100644
index 000000000..aeca14fc8
--- /dev/null
+++ b/offapi/com/sun/star/mozilla/MenuSingleChange.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_mozilla_MenuSingleChange_idl__
+#define __com_sun_star_mozilla_MenuSingleChange_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+
+
+ module com { module sun { module star { module mozilla {
+
+
+/** Explains a change for a menu item
+ */
+published struct MenuSingleChange
+{
+ /** unique ID of this menu item
+ */
+ short ID;
+
+ /** ID identifying the type of change in the any type change
+ */
+ short ChangeID;
+
+ /** value of change
+ */
+ any Change;
+};
+
+
+}; }; }; };
+
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/mozilla/MozillaBootstrap.idl b/offapi/com/sun/star/mozilla/MozillaBootstrap.idl
new file mode 100644
index 000000000..9a27bef97
--- /dev/null
+++ b/offapi/com/sun/star/mozilla/MozillaBootstrap.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_mozilla_MozillaBootstrap_idl__
+#define __com_sun_star_mozilla_MozillaBootstrap_idl__
+
+#include <com/sun/star/mozilla/XMozillaBootstrap.idl>
+
+
+ module com { module sun { module star { module mozilla {
+
+
+
+/** Allow to discover Mozilla/Thunderbird profiles
+ Allow init Mozilla XPCOM using selected profile and switch profiles.
+
+ @see XMozillaBootstrap
+ */
+published service MozillaBootstrap : XMozillaBootstrap;
+
+
+}; }; }; };
+
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/mozilla/MozillaProductType.idl b/offapi/com/sun/star/mozilla/MozillaProductType.idl
new file mode 100644
index 000000000..d0d8e0f7d
--- /dev/null
+++ b/offapi/com/sun/star/mozilla/MozillaProductType.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_mozilla_MozillaProductType_idl__
+#define __com_sun_star_mozilla_MozillaProductType_idl__
+
+
+
+ module com { module sun { module star { module mozilla {
+
+
+
+/** Mozilla Product Types
+ */
+published enum MozillaProductType
+{
+ /** Any product
+ */
+ Default = 0,
+ /** Mozilla browse and mail suite
+ */
+ Mozilla = 1,
+ /** Mozilla's next generation web browser.
+ */
+ Firefox = 2,
+ /** Mozilla's next generation e-mail client.
+ */
+ Thunderbird = 3
+};
+
+
+}; }; }; };
+
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/mozilla/XCloseSessionListener.idl b/offapi/com/sun/star/mozilla/XCloseSessionListener.idl
new file mode 100644
index 000000000..3747b8292
--- /dev/null
+++ b/offapi/com/sun/star/mozilla/XCloseSessionListener.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_mozilla_XCloseSessionListener_idl__
+#define __com_sun_star_mozilla_XCloseSessionListener_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+ module com { module sun { module star { module mozilla {
+
+
+/** Listener for closing of the corresponding session.
+*/
+published interface XCloseSessionListener: com::sun::star::uno::XInterface
+{
+
+ /** Notifies a closesession listener that the corresponding session was logged out
+
+ @param sessionData [in]: the data identifying the session that was closed
+
+ */
+ void sessionClosed( [in] any sessionData );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/mozilla/XCodeProxy.idl b/offapi/com/sun/star/mozilla/XCodeProxy.idl
new file mode 100644
index 000000000..dc2552aab
--- /dev/null
+++ b/offapi/com/sun/star/mozilla/XCodeProxy.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_mozilla_XCodeProxy_idl__
+#define __com_sun_star_mozilla_XCodeProxy_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/mozilla/MozillaProductType.idl>
+
+ module com { module sun { module star { module mozilla {
+
+
+
+/** is the interface to run Mozilla XPCOM code
+ to run Mozilla XPCOM code in OOo,you should first implement this interface, then pass this object to
+ xProxyRunner->Run
+
+ @see XProxyRunner
+ @see XMozillaBootstrap
+ */
+published interface XCodeProxy: com::sun::star::uno::XInterface
+{
+
+ /** all Mozilla XPCOM code must be called in run() or functions called by run()
+ */
+ long run();
+ /** which Mozilla product this code is write for
+ */
+ MozillaProductType getProductType();
+ /** which Mozilla profile this code will use
+ */
+ string getProfileName();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/mozilla/XMenuProxy.idl b/offapi/com/sun/star/mozilla/XMenuProxy.idl
new file mode 100644
index 000000000..1219b78e6
--- /dev/null
+++ b/offapi/com/sun/star/mozilla/XMenuProxy.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_mozilla_XMenuProxy_idl__
+#define __com_sun_star_mozilla_XMenuProxy_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+
+#include <com/sun/star/mozilla/XMenuProxyListener.idl>
+
+
+ module com { module sun { module star { module mozilla {
+
+
+/** Allows to execute dispatch for a menu item
+ and handles listeners for changes in menu items.
+ */
+published interface XMenuProxy: com::sun::star::lang::XComponent
+{
+ /** Executes dispatch for the given menu id
+
+ @param ID [in]: the menu item
+
+ */
+ void executeMenuItem([in] short ID);
+
+ /** Registers an event listener, which will be called when the menu changes
+
+ @param xListener [in]: the listener to be set
+
+ */
+ void addMenuProxyListener([in] XMenuProxyListener xListener );
+
+ /** Unregisters an event listener which was registered with
+ XMenuProxy::addMenuProxyListener().
+
+ @param xListener [in]: the listener to be removed
+
+ */
+ void removeMenuProxyListener([in] XMenuProxyListener xListener );
+};
+
+
+}; }; }; };
+
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/mozilla/XMenuProxyListener.idl b/offapi/com/sun/star/mozilla/XMenuProxyListener.idl
new file mode 100644
index 000000000..911d63ac5
--- /dev/null
+++ b/offapi/com/sun/star/mozilla/XMenuProxyListener.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_mozilla_XMenuProxyListener_idl__
+#define __com_sun_star_mozilla_XMenuProxyListener_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/mozilla/MenuMultipleChange.idl>
+
+#include <com/sun/star/mozilla/MenuSingleChange.idl>
+
+
+ module com { module sun { module star { module mozilla {
+
+
+/** Listens for changes in menu items.
+ */
+published interface XMenuProxyListener: com::sun::star::uno::XInterface
+{
+ /** is called, if the content or graphical representation/state of the menu changes
+ completely, for one or more menu items
+ */
+ void menuChangedMultiple([in] sequence<MenuMultipleChange> MenuMultipleChanges);
+
+ /** is called, if the content or graphical representation/state of the menu changes,
+ by one property for one or more menu items
+ */
+ void menuChangedSingle([in] sequence<MenuSingleChange> MenuSingleChanges);
+
+ /** is called, if one menu item designated by the ID, is deleted.
+
+ @param ID [in]: the menu item
+
+ */
+ void menuItemDeleted([in] short ID);
+};
+
+
+}; }; }; };
+
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/mozilla/XMozillaBootstrap.idl b/offapi/com/sun/star/mozilla/XMozillaBootstrap.idl
new file mode 100644
index 000000000..d5f8a9322
--- /dev/null
+++ b/offapi/com/sun/star/mozilla/XMozillaBootstrap.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_mozilla_XMozillaBootstrap_idl__
+#define __com_sun_star_mozilla_XMozillaBootstrap_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/mozilla/XProfileDiscover.idl>
+#include <com/sun/star/mozilla/XProfileManager.idl>
+#include <com/sun/star/mozilla/XProxyRunner.idl>
+
+
+ module com { module sun { module star { module mozilla {
+
+
+published interface XProfileDiscover;
+published interface XProfileManager;
+published interface XProxyRunner;
+ /**
+ @see com::sun::star::mozilla::XProfileDiscover
+ @see com::sun::star::mozilla::XProfileManager
+ @see com::sun::star::mozilla::XProxyRunner
+ @see com::sun::star::mozilla::MozillaBootstrap
+ */
+published interface XMozillaBootstrap
+{
+ interface XProfileDiscover;
+ interface XProfileManager;
+ interface XProxyRunner;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/mozilla/XProfileDiscover.idl b/offapi/com/sun/star/mozilla/XProfileDiscover.idl
new file mode 100644
index 000000000..ffbbbf695
--- /dev/null
+++ b/offapi/com/sun/star/mozilla/XProfileDiscover.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_mozilla_XProfileDiscover_idl__
+#define __com_sun_star_mozilla_XProfileDiscover_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/mozilla/MozillaProductType.idl>
+
+
+ module com { module sun { module star { module mozilla {
+
+
+
+/** is the interface used to list and get information for Mozilla/Thunderbird profiles
+
+
+ @see com::sun::star::mozilla::XProfileManager
+ @see com::sun::star::mozilla::MozillaBootstrap
+ */
+published interface XProfileDiscover: com::sun::star::uno::XInterface
+{
+
+ /** attempts to get the profiles count.
+
+ @param product
+ is the product name to get profiles count.Currently support "Mozilla" and "Thunderbird".
+ @returns
+ the profiles count of selected product.
+
+ */
+ long getProfileCount( [in]MozillaProductType product);
+
+ /** attempts to get the profile list for the given product.
+
+ @param product
+ is the product name to get profile list.Currently support "Mozilla" and "Thunderbird".
+ @param list
+ is a list of all profile of the given product.
+ @returns
+ the profile count for the given product.
+
+ */
+ long getProfileList( [in]MozillaProductType product,[out] sequence<string> list);
+
+ /** attempts to get the default profile name for the given product.
+
+ @param product
+ is the product name to get default profile.Currently support "Mozilla" and "Thunderbird".
+ @returns
+ the default profile name for the given product.
+
+ */
+ string getDefaultProfile( [in]MozillaProductType product);
+
+
+ /** attempts to get the full path for the given profile.
+
+ @param product
+ is the product name to get profile path.Currently support "Mozilla" and "Thunderbird".
+ @param profileName
+ the profile name to get full path.
+ @returns
+ the full path of the given profile.
+
+ */
+ string getProfilePath( [in]MozillaProductType product,[in]string profileName);
+
+ /** attempts to get whether profile is locked by other applications.
+
+ @param product
+ is the product name to get profile path.Currently support "Mozilla" and "Thunderbird".
+ @param profileName
+ the profile name to check.
+ @returns
+ true is the given profile is locked.
+
+ */
+ boolean isProfileLocked( [in]MozillaProductType product,[in]string profileName);
+
+ /** return true if the given profile exists
+
+ @param product
+ is the product name to get profile path.Currently support "Mozilla" and "Thunderbird".
+ @param profileName
+ the profile name to check.
+ @returns
+ whether given profile exists
+
+ */
+ boolean getProfileExists( [in]MozillaProductType product,[in]string profileName);
+
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/mozilla/XProfileManager.idl b/offapi/com/sun/star/mozilla/XProfileManager.idl
new file mode 100644
index 000000000..fc5a8adf7
--- /dev/null
+++ b/offapi/com/sun/star/mozilla/XProfileManager.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_mozilla_XProfileManager_idl__
+#define __com_sun_star_mozilla_XProfileManager_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/mozilla/MozillaProductType.idl>
+
+
+
+ module com { module sun { module star { module mozilla {
+
+
+
+/** is the interface to boot up and switch Mozilla/Thunderbird profiles
+
+ @see com::sun::star::mozilla::MozillaProductType
+ @see com::sun::star::mozilla::XProfileDiscover
+ @see com::sun::star::mozilla::MozillaBootstrap
+ */
+published interface XProfileManager: com::sun::star::uno::XInterface
+{
+ /** attempts to init XPCOM runtime using given profile.
+
+ @param product
+ is the product to start up.
+ @param profileName
+ the profile name to be used.
+ @returns
+ the current reference count for the given profile.
+
+ */
+ long bootupProfile( [in]MozillaProductType product,[in]string profileName);
+
+ /** attempts to shutdown the current profile.
+
+ @returns
+ the current reference count for the current profile.
+
+ */
+ long shutdownProfile();
+
+ /** attempts to get the current product.
+
+ @returns
+ the current used product.
+
+ */
+ MozillaProductType getCurrentProduct();
+
+ /** attempts to get the current profile name.
+
+ @returns
+ the current used profile.
+
+ */
+ string getCurrentProfile();
+
+ /** attempts to check whether the current profile locked or not
+
+ @returns
+ return sal_True is current profile is locked
+
+ */
+ boolean isCurrentProfileLocked();
+
+ /** attempts to set the current used profile name for the given product.
+
+ @param product
+ is the product to be used.
+ @param profileName
+ the profile name to be used.
+ @returns
+ the current used profile name for the given product.
+
+ */
+ string setCurrentProfile( [in]MozillaProductType product,[in]string profileName);
+
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/mozilla/XProxyRunner.idl b/offapi/com/sun/star/mozilla/XProxyRunner.idl
new file mode 100644
index 000000000..d3974e17e
--- /dev/null
+++ b/offapi/com/sun/star/mozilla/XProxyRunner.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_mozilla_XProxyRunner_idl__
+#define __com_sun_star_mozilla_XProxyRunner_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/mozilla/XCodeProxy.idl>
+
+
+ module com { module sun { module star { module mozilla {
+
+
+published interface XCodeProxy;
+/** is the interface run Mozilla XPCOM code in a managed environment
+
+ @see com::sun::star::mozilla::XProfileDiscover
+ @see com::sun::star::mozilla::MozillaBootstrap
+ */
+published interface XProxyRunner: com::sun::star::uno::XInterface
+{
+ /** attempts to Run XPCOM code in a managed environment
+
+ @param aCode
+ is a com:sun:star:mozilla:XCodeProxy object to be run.
+ @returns
+ the error code, is 0 when no error happened.
+
+ */
+ long Run( [in]XCodeProxy aCode);
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/office/Quickstart.idl b/offapi/com/sun/star/office/Quickstart.idl
new file mode 100644
index 000000000..0c45c82e4
--- /dev/null
+++ b/offapi/com/sun/star/office/Quickstart.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_office_Quickstart_idl__
+#define __com_sun_star_office_Quickstart_idl__
+
+#include <com/sun/star/beans/XFastPropertySet.idl>
+
+
+module com { module sun { module star { module office {
+
+
+/**
+ @since LibreOffice 4.2
+ */
+service Quickstart : com::sun::star::beans::XFastPropertySet
+{
+ createDefault();
+
+ /**
+ The first two parameters are ignored
+ */
+ createAndSetVeto([in] boolean p1, [in] boolean p2, [in] boolean DisableVeto);
+
+ createStart([in] boolean bQuickstart);
+
+ createAutoStart([in] boolean bQuickstart, [in] boolean bAutostart);
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/office/XAnnotation.idl b/offapi/com/sun/star/office/XAnnotation.idl
new file mode 100644
index 000000000..d305743f2
--- /dev/null
+++ b/offapi/com/sun/star/office/XAnnotation.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_office_XAnnotation_idl__
+#define __com_sun_star_office_XAnnotation_idl__
+
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/beans/XMultiPropertySet.idl>
+#include <com/sun/star/util/DateTime.idl>
+#include <com/sun/star/text/XText.idl>
+#include <com/sun/star/geometry/RealPoint2D.idl>
+#include <com/sun/star/geometry/RealSize2D.idl>
+#include <com/sun/star/lang/XComponent.idl>
+
+
+module com { module sun { module star { module office {
+
+
+/** This interface gives access to an annotation inside a document.
+ */
+interface XAnnotation
+{
+ /** All attributes are also available as properties. */
+ interface ::com::sun::star::beans::XPropertySet;
+
+ /** manages the lifetime of this annotation, should only be used
+ by the owner of the annotation which should be the document itself. */
+ interface ::com::sun::star::lang::XComponent;
+
+ /** a reference to the document content this annotation is anchored to. */
+ [attribute, readonly] any Anchor;
+
+ /** this is an optional position that gives the user interface a hint where
+ the annotation should be rendered. This could be an offset to the
+ annotations anchor. */
+ [attribute] ::com::sun::star::geometry::RealPoint2D Position;
+
+ /** this is an optional size that gives the user interface a hint how
+ large the annotation should be rendered. */
+ [attribute] ::com::sun::star::geometry::RealSize2D Size;
+
+ /** stores the full name of the author who created this annotation. */
+ [attribute] string Author;
+
+ /** stores the initials of the author who created this annotation. */
+ [attribute] string Initials;
+
+ /** stores the date and time this annotation was last edited. */
+ [attribute] ::com::sun::star::util::DateTime DateTime;
+
+ /** gives access to the annotations text. */
+ [attribute, readonly] ::com::sun::star::text::XText TextRange;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/office/XAnnotationAccess.idl b/offapi/com/sun/star/office/XAnnotationAccess.idl
new file mode 100644
index 000000000..629fa4e27
--- /dev/null
+++ b/offapi/com/sun/star/office/XAnnotationAccess.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_office_XAnnotationAccess_idl__
+#define __com_sun_star_office_XAnnotationAccess_idl__
+
+#include <com/sun/star/office/XAnnotationEnumeration.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/office/XAnnotation.idl>
+
+
+module com { module sun { module star { module office {
+
+
+/** This interface gives access to the annotation for a document content.
+ */
+interface XAnnotationAccess
+{
+ /** creates a new annotation and inserts it into the document content.
+ */
+ XAnnotation createAndInsertAnnotation();
+
+ /** removes the annotation from this document content.
+ */
+ void removeAnnotation( [in] XAnnotation annotation ) raises ( com::sun::star::lang::IllegalArgumentException );
+
+ /** @returns
+ a new enumeration object for this annotation container.
+ It returns NULL if there are no objects in this container.
+ */
+ XAnnotationEnumeration createAnnotationEnumeration();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/office/XAnnotationEnumeration.idl b/offapi/com/sun/star/office/XAnnotationEnumeration.idl
new file mode 100644
index 000000000..2ef154fad
--- /dev/null
+++ b/offapi/com/sun/star/office/XAnnotationEnumeration.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_office_XAnnotationEnumeration_idl__
+#define __com_sun_star_office_XAnnotationEnumeration_idl__
+
+#include <com/sun/star/office/XAnnotation.idl>
+
+#include <com/sun/star/container/NoSuchElementException.idl>
+
+
+module com { module sun { module star { module office {
+
+
+/** An enumeration for a set of annotations.
+ */
+interface XAnnotationEnumeration
+{
+
+ /** tests whether this enumeration contains more elements.
+ */
+ boolean hasMoreElements();
+
+
+ /** @returns
+ the next element of this enumeration.
+
+ @throws NoSuchElementException
+ if no more elements exist.
+ */
+ XAnnotation nextElement()
+ raises( com::sun::star::container::NoSuchElementException );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/packages/EncryptionNotAllowedException.idl b/offapi/com/sun/star/packages/EncryptionNotAllowedException.idl
new file mode 100644
index 000000000..e42e53e42
--- /dev/null
+++ b/offapi/com/sun/star/packages/EncryptionNotAllowedException.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_packages_EncryptionNotAllowedException_idl__
+#define __com_sun_star_packages_EncryptionNotAllowedException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+
+ module com { module sun { module star { module packages {
+
+/** This exception can be thrown in case object is encrypted when it is not allowed
+ */
+exception EncryptionNotAllowedException: com::sun::star::uno::Exception
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/packages/NoEncryptionException.idl b/offapi/com/sun/star/packages/NoEncryptionException.idl
new file mode 100644
index 000000000..c98ca62b7
--- /dev/null
+++ b/offapi/com/sun/star/packages/NoEncryptionException.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_packages_NoEncryptionException_idl__
+#define __com_sun_star_packages_NoEncryptionException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+
+ module com { module sun { module star { module packages {
+
+/** This exception can be thrown in case object is not encrypted one as expected.
+ */
+published exception NoEncryptionException: com::sun::star::uno::Exception
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/packages/NoRawFormatException.idl b/offapi/com/sun/star/packages/NoRawFormatException.idl
new file mode 100644
index 000000000..2bd981f36
--- /dev/null
+++ b/offapi/com/sun/star/packages/NoRawFormatException.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_packages_NoRawFormatException_idl__
+#define __com_sun_star_packages_NoRawFormatException_idl__
+
+#include <com/sun/star/io/IOException.idl>
+
+
+
+ module com { module sun { module star { module packages {
+
+/** This exception can be thrown in case provided stream is not a raw stream
+ representing encrypted package stream.
+ */
+published exception NoRawFormatException: com::sun::star::io::IOException
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/packages/Package.idl b/offapi/com/sun/star/packages/Package.idl
new file mode 100644
index 000000000..fa44f8115
--- /dev/null
+++ b/offapi/com/sun/star/packages/Package.idl
@@ -0,0 +1,107 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_packages_Package_idl__
+#define __com_sun_star_packages_Package_idl__
+
+#include <com/sun/star/lang/XInitialization.idl>
+#include <com/sun/star/container/XHierarchicalNameAccess.idl>
+#include <com/sun/star/lang/XSingleServiceFactory.idl>
+#include <com/sun/star/util/XChangesBatch.idl>
+
+
+
+module com { module sun { module star { module packages {
+
+/** The Package is a service that provides access to a set of
+ files and folders contained within a Package. One instance of the
+ Package service exists for each Package file to be manipulated.
+
+ Each instance is created with an argument which specifies the URL of
+ the Package file to which the user requires access. If the instance is
+ created without arguments, it must be initialized with the
+ com::sun::star::lang::XInitialization service methods
+ before it is a valid instance of the service.
+*/
+published service Package
+{
+ /**
+ A Package can be initialized with one of the following:
+
+ 1. A file URL referring to a package.
+ 2. An XInputStream referring to a package (it must also
+ support an XSeekable interface).
+ 3. An XStream referring to a package. The XInputStream must support
+ an XSeekable interface, and the XOutputStream must support an
+ XTruncate interface.
+
+ It will throw a css::uno::Exception if initialized with bad data or
+ if the package has an invalid format (for example, a corrupt central
+ directory record if the file is a ZIP file).
+ */
+ interface com::sun::star::lang::XInitialization;
+ /**
+ This interface is used to get access to any entry within the package
+ For example:
+ getByHierarchicalName ("folder/subfolder/file1.txt");
+ This will return a PackageStream which refers to the specified stream.
+ This is also used to get access to a particular folder within the
+ Package. For example:
+ getByHierarchicalName ("folder/subfolder/");
+ This will return a PackageFolder which describes the contents of the specified
+ folder.
+
+ Calls to methods of XHierarchicalNameAccess must NOT have a leading slash.
+ */
+ interface com::sun::star::container::XHierarchicalNameAccess;
+ /**
+ This interface is used to create new PackageStream or PackageFolder
+ implementation objects for addition to the Package.
+
+ createInstance - creates a new stream implementation object (when first
+ created, the new object is not part of the Package). It must be added
+ to the PackageFolder in which it will reside using the methods in the
+ PackageFolder service.
+
+ createInstanceWithArguments - This accepts one boolean value as an
+ argument. If it set to true, a PackageFolder implementation is created,
+ if it is set to false, a PackageStream implementation is created.
+
+ Creating and inserting a new stream would be done as follows:
+
+ 1. xNewStream = package->createInstanceWithArguments( false );
+ 2. xDataStream = new MyStreamImpl(). (wherever the data comes from)
+ 3. xNewStream->setInputStream( xDataStream );
+ 4. parentFolder->insertByName( "image.png", xNewStream );
+
+ Replacing an existing stream would be very similar, except that the
+ call ->insertByName would be replaced by ->replaceByName.
+ */
+ interface com::sun::star::lang::XSingleServiceFactory;
+ /**
+ This interface is used to commit any changes to the Package. A new
+ Package file will be written with any new or changed streams/folders and
+ omitting any PackageStream or PackageFolder that has been removed.
+ */
+ interface com::sun::star::util::XChangesBatch;
+};
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/packages/PackageEncryption.idl b/offapi/com/sun/star/packages/PackageEncryption.idl
new file mode 100644
index 000000000..a2ab55ed3
--- /dev/null
+++ b/offapi/com/sun/star/packages/PackageEncryption.idl
@@ -0,0 +1,25 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.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_packages_PackageEncryption_idl__
+#define __com_sun_star_packages_PackageEncryption_idl__
+
+#include <com/sun/star/packages/XPackageEncryption.idl>
+
+
+module com { module sun { module star { module packages {
+
+
+service PackageEncryption : XPackageEncryption;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/packages/PackageFolder.idl b/offapi/com/sun/star/packages/PackageFolder.idl
new file mode 100644
index 000000000..8b652d3bd
--- /dev/null
+++ b/offapi/com/sun/star/packages/PackageFolder.idl
@@ -0,0 +1,86 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_packages_PackageFolder_idl__
+#define __com_sun_star_packages_PackageFolder_idl__
+
+#include <com/sun/star/container/XNamed.idl>
+#include <com/sun/star/container/XChild.idl>
+#include <com/sun/star/container/XNameContainer.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/container/XEnumerationAccess.idl>
+
+module com { module sun { module star { module packages {
+
+/**
+ The PackageFolder service represents a single folder or directory within
+ a Package. Instances of this service can only be constructed by an
+ implementation of the Package service and not via the service manager.
+*/
+published service PackageFolder
+{
+ /**
+ This interface is used to get or set the name of the folder.
+ */
+ interface com::sun::star::container::XNamed;
+ /**
+ The getParent method of XChild will return the PackageFolder that
+ contains this PackageFolder or nothing if this PackageFolder is
+ the root PackageFolder.
+
+ setParent will move the PackageFolder.
+ */
+ interface com::sun::star::container::XChild;
+ /**
+ This interface describes all of the PackageFolders and PackageStreams
+ which are contained within this instance of the PackageFolder service.
+
+ XElementAccess::getElementType returns service PackageStream
+ XNameAccess::getByName returns either a PackageFolder or a PackageStream
+ as a css::uno::Any
+ XNameAccess::getElementNames returns a uno::Sequence of strings containing
+ the names of all children stored in the PackageFolder
+ */
+ interface com::sun::star::container::XNameContainer;
+ /**
+ This interface will return an implementation of service
+ PackageFolderEnumeration, which represents an iterator over the children
+ of the PackageFolder, or the PackageStreams and PackageFolders contained
+ within this instance of the PackageFolder service.
+
+ This provides a "snapshot" of the contents of the
+ PackageFolder at the time of construction. It is the responsibility of the
+ caller to ensure that any given member of the enumeration refers to a valid
+ PackageStream or PackageFolder.
+
+ */
+ interface com::sun::star::container::XEnumerationAccess;
+
+ /**
+ This interface provides access to the properties of the package entry.
+ Currently, this only supports one entry which is a string called
+ MediaType. This contains the MIME type of the stream (e.g. "text/html").
+ For PackageFolders, this is always an empty string.
+ */
+ interface com::sun::star::beans::XPropertySet;
+};
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/packages/PackageFolderEnumeration.idl b/offapi/com/sun/star/packages/PackageFolderEnumeration.idl
new file mode 100644
index 000000000..980de887a
--- /dev/null
+++ b/offapi/com/sun/star/packages/PackageFolderEnumeration.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_packages_PackageFolderEnumeration_idl__
+#define __com_sun_star_packages_PackageFolderEnumeration_idl__
+
+
+#include <com/sun/star/container/XEnumeration.idl>
+
+
+module com { module sun { module star { module packages {
+
+
+/**
+This service provides an iterator over the contents of a given instance
+of a PackageFolder. This provides a "snapshot" of the contents of the
+PackageFolder at the time of construction. It is the responsibility of the
+caller to ensure that any given member of the enumeration refers to a valid
+PackageStream or PackageFolder.
+*/
+published service PackageFolderEnumeration
+{
+ interface com::sun::star::container::XEnumeration;
+};
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/packages/PackageStream.idl b/offapi/com/sun/star/packages/PackageStream.idl
new file mode 100644
index 000000000..432a527f6
--- /dev/null
+++ b/offapi/com/sun/star/packages/PackageStream.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_packages_PackageStream_idl__
+#define __com_sun_star_packages_PackageStream_idl__
+
+
+#include <com/sun/star/container/XNamed.idl>
+#include <com/sun/star/container/XChild.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/io/XActiveDataSink.idl>
+
+
+module com { module sun { module star { module packages {
+
+
+/**This service represents a stream contained within a Package. Instances of
+this class can only be constructed by the implementation of the Package
+service.
+*/
+published service PackageStream
+{
+ /**
+ This sets or gets the name of the Stream as contained within its parent
+ PackageFolder.
+ */
+ interface com::sun::star::container::XNamed;
+ /**
+ getParent returns the PackageFolder that the PackageStream is in. This
+ may be the root PackageFolder. setParent moves a PackageStream.
+ */
+ interface com::sun::star::container::XChild;
+ /**
+ getInputStream provides read access to the contents of this PackageStream.
+ If this PackageStream was a member of the Package when it was instantiated,
+ the XInputStream returned is a Reference to the stream of the whole Package,
+ with limits set on where it can seek to and read from. If the PackageStream
+ is a new addition to the package, then getInputStream returns a Reference
+ to the XInputStream which was specified with setInputStream.
+
+ setInputStream - provides a stream to the data contained in the PackageStream
+ this must be specified for new PackageStreams added to the Package. If this
+ is called more than once, it will replace the existing stream.
+ */
+ interface com::sun::star::io::XActiveDataSink;
+ /**
+ This interface provides access to the properties of the package entry.
+ Currently, this supports three entries:
+
+ 1. Size, describing the uncompressed size of PackageStream.
+ 2. MediaType, a string describing the MIME type of the stream.
+ 3. Compress, a boolean flag to specify whether or not to compress
+ this PackageStream.
+ */
+ interface com::sun::star::beans::XPropertySet;
+};
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/packages/WrongPasswordException.idl b/offapi/com/sun/star/packages/WrongPasswordException.idl
new file mode 100644
index 000000000..e0b16d5da
--- /dev/null
+++ b/offapi/com/sun/star/packages/WrongPasswordException.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_packages_WrongPasswordException_idl__
+#define __com_sun_star_packages_WrongPasswordException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+
+ module com { module sun { module star { module packages {
+
+/** This exception can be thrown in case wrong password was provided.
+ */
+published exception WrongPasswordException: com::sun::star::uno::Exception
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/packages/XDataSinkEncrSupport.idl b/offapi/com/sun/star/packages/XDataSinkEncrSupport.idl
new file mode 100644
index 000000000..05c0cbb65
--- /dev/null
+++ b/offapi/com/sun/star/packages/XDataSinkEncrSupport.idl
@@ -0,0 +1,142 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_packages_XDataSinkEncrSupport_idl__
+#define __com_sun_star_packages_XDataSinkEncrSupport_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/io/XInputStream.idl>
+
+#include <com/sun/star/io/IOException.idl>
+#include <com/sun/star/packages/WrongPasswordException.idl>
+#include <com/sun/star/packages/NoEncryptionException.idl>
+
+#include <com/sun/star/packages/EncryptionNotAllowedException.idl>
+#include <com/sun/star/packages/NoRawFormatException.idl>
+
+
+
+module com { module sun { module star { module packages {
+
+
+/** Allows to get access to the stream of a PackageStream.
+ */
+interface XDataSinkEncrSupport: com::sun::star::uno::XInterface
+{
+ /** Allows to get access to the data of the PackageStream.
+ <p>
+ In case stream is encrypted one and the key for the stream is not set,
+ an exception must be thrown.
+ </p>
+
+ @returns
+ the stream
+
+ @throws ::com::sun::star::packages::WrongPasswordException
+ no key or a wrong one is set
+
+ @throws ::com::sun::star::io::IOException
+ in case of io problems during retrieving
+ */
+ ::com::sun::star::io::XInputStream getDataStream()
+ raises( ::com::sun::star::packages::WrongPasswordException,
+ ::com::sun::star::packages::zip::ZipException,
+ ::com::sun::star::io::IOException );
+
+
+ /** Allows to get access to the data of the PackageStream as to raw stream.
+ In case stream is not encrypted an exception will be thrown.
+ <p>
+ The difference of raw stream is that it contains header for encrypted data,
+ so an encrypted stream can be copied from one PackageStream to
+ another one without decryption.
+ </p>
+
+ @returns
+ the raw representation of stream
+
+ @throws ::com::sun::star::packages::NoEncryptionException
+ the PackageStream object is not encrypted
+
+ @throws ::com::sun::star::io::IOException
+ in case of io problems during retrieving
+ */
+ ::com::sun::star::io::XInputStream getRawStream()
+ raises( ::com::sun::star::packages::NoEncryptionException,
+ ::com::sun::star::io::IOException );
+
+ /** Allows to set a data stream for the PackageStream.
+ <p>
+ In case PackageStream is marked as encrypted the data stream will be encrypted on storing.
+ </p>
+
+ @param aStream
+ new data stream
+
+ @throws ::com::sun::star::io::IOException
+ in case of io problems
+ */
+ void setDataStream( [in] ::com::sun::star::io::XInputStream aStream )
+ raises( ::com::sun::star::io::IOException );
+
+ /** Allows to set raw stream for the PackageStream.
+ The PackageStream object can not be marked as encrypted one,
+ an exception will be thrown in such case.
+
+ @param aStream
+ the new raw representation of stream
+
+ @throws ::com::sun::star::packages::EncryptionNotAllowedException
+ the PackageStream object is marked as encrypted
+
+ @throws ::com::sun::star::packages::NoRawFormatException
+ the stream is not a correct raw representation of encrypted package stream
+
+ @throws ::com::sun::star::io::IOException
+ in case of io problems during retrieving
+ */
+ void setRawStream( [in] ::com::sun::star::io::XInputStream aStream )
+ raises( ::com::sun::star::packages::EncryptionNotAllowedException,
+ ::com::sun::star::packages::NoRawFormatException,
+ ::com::sun::star::io::IOException );
+
+ /** Allows to get access to the raw data of the stream as it is stored in
+ the package.
+
+ @returns
+ the plain raw stream as it is stored in the package
+
+ @throws ::com::sun::star::packages::NoEncryptionException
+ the PackageStream object is not encrypted
+
+ @throws ::com::sun::star::io::IOException
+ in case of io problems during retrieving
+ */
+ ::com::sun::star::io::XInputStream getPlainRawStream()
+ raises( ::com::sun::star::io::IOException,
+ ::com::sun::star::packages::NoEncryptionException );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/packages/XPackageEncryption.idl b/offapi/com/sun/star/packages/XPackageEncryption.idl
new file mode 100644
index 000000000..5ccec598a
--- /dev/null
+++ b/offapi/com/sun/star/packages/XPackageEncryption.idl
@@ -0,0 +1,134 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_packages_XPackageEncryption_idl__
+#define __com_sun_star_packages_XPackageEncryption_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/io/XInputStream.idl>
+#include <com/sun/star/io/XOutputStream.idl>
+
+
+module com { module sun { module star { module packages {
+
+
+/** Allows to transparently plug-in crypto for PackageStreams.
+
+ @since LibreOffice 7.0
+ */
+interface XPackageEncryption: com::sun::star::uno::XInterface
+{
+ /** Read package crypto information
+
+ @param rStreams
+ Substreams of the package (in the case of MS encryption, those
+ are OLE substorage streams).
+
+ @returns
+ True if crypto info could be retrieved, and engine initialised. False otherwise.
+ */
+ boolean readEncryptionInfo([in] sequence < com::sun::star::beans::NamedValue > rStreams);
+
+ /** Set or refresh encryption key
+
+ @param rPassword
+ Optional password to use for generating encryption key.
+
+ @returns
+ True if key setup was successful. False otherwise.
+ */
+ boolean generateEncryptionKey([in] string rPassword);
+
+ /** Decrypt document content
+
+ After crypto setup via readEncryptionInfo(), pipe package bits through
+ encryption engine.
+
+ @param rxInputStream
+ Input data (encrypted)
+
+ @param rxOutputStream
+ Output data (decrypted)
+
+ @returns
+ True if decryption finished without error. False otherwise.
+ */
+ boolean decrypt([in] com::sun::star::io::XInputStream rxInputStream,
+ [out] com::sun::star::io::XOutputStream rxOutputStream);
+
+ /** Create key-value list of encryption meta data
+
+ After generateEncryptionKey() succeeded in setting up crypto,
+ use this method to create requisite meta data. Depending on
+ underlying crypto, this can be a salt, init vector, or other
+ algorithm-specific information that needs to be stored
+ alongside an encrypted document
+
+ @param rPassword
+ Same password as provided to generateEncryptionKey
+
+ @returns
+ Sequence of opaque key-value pairs needed for decrypting this
+ setup. Can be passed back into other instances of this service
+ via setupEncryption()
+ */
+ sequence<com::sun::star::beans::NamedValue> createEncryptionData([in] string rPassword);
+
+ /** Set key-value list of encryption meta data
+
+ Use this method to setup requisite encryption meta
+ data. Depending on the underlying crypto, this can be a salt, init
+ vector, or other algorithm-specific information that needs to
+ be stored alongside an encrypted document
+
+ @returns
+ True if encryption algo setup finished without error. False otherwise.
+ */
+ boolean setupEncryption([in] sequence<com::sun::star::beans::NamedValue> rMediaEncData);
+
+ /** Encrypt given stream
+
+ After setting up crypto via setupEncryption(), use this method to encrypt content.
+
+ @returns
+ Sequence of named output streams, specific to the crypto
+ provider. The names of sequence entry denote the substream
+ identifiers, if any. In the case of MS OLE storage, it's the
+ substorage names.
+ */
+ sequence<com::sun::star::beans::NamedValue> encrypt([in] com::sun::star::io::XInputStream rxInputStream);
+
+ /** Check if decryption meta data is valid
+
+ Some implementations might for example check HMAC values
+ here. Call this before trusting encrypted data.
+
+ @returns
+ True if decryption algo setup finished without error and
+ consistency checks have passed. False otherwise.
+ */
+ boolean checkDataIntegrity();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/packages/manifest/ManifestReader.idl b/offapi/com/sun/star/packages/manifest/ManifestReader.idl
new file mode 100644
index 000000000..262234947
--- /dev/null
+++ b/offapi/com/sun/star/packages/manifest/ManifestReader.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_packages_manifest_ManifestReader_idl__
+#define __com_sun_star_packages_manifest_ManifestReader_idl__
+
+#include <com/sun/star/packages/manifest/XManifestReader.idl>
+
+module com { module sun { module star { module packages { module manifest {
+
+published service ManifestReader : XManifestReader;
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/packages/manifest/ManifestWriter.idl b/offapi/com/sun/star/packages/manifest/ManifestWriter.idl
new file mode 100644
index 000000000..d61e65233
--- /dev/null
+++ b/offapi/com/sun/star/packages/manifest/ManifestWriter.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_packages_manifest_ManifestWriter_idl__
+#define __com_sun_star_packages_manifest_ManifestWriter_idl__
+
+#include <com/sun/star/packages/manifest/XManifestWriter.idl>
+
+module com { module sun { module star { module packages { module manifest {
+
+published service ManifestWriter : XManifestWriter;
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/packages/manifest/XManifestReader.idl b/offapi/com/sun/star/packages/manifest/XManifestReader.idl
new file mode 100644
index 000000000..4005aac4d
--- /dev/null
+++ b/offapi/com/sun/star/packages/manifest/XManifestReader.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_packages_manifest_XManifestReader_idl__
+#define __com_sun_star_packages_manifest_XManifestReader_idl__
+
+#include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/io/XInputStream.idl>
+
+
+module com { module sun { module star { module packages { module manifest {
+
+/** This interface reads the manifest data from a file. The user
+ must supply an XInputStream when calling readManifestSequence() to receive
+ a sequence of manifest entries. Each manifest entry is represented by
+ a sequence of PropertyValues. */
+published interface XManifestReader: com::sun::star::uno::XInterface
+{
+ /** Supplies the XManifestReader with an XInputStream to read from, reads
+ the data and returns it to the caller.
+ */
+ sequence < sequence < com::sun::star::beans::PropertyValue > > readManifestSequence( [in] com::sun::star::io::XInputStream rStream );
+};
+}; }; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/packages/manifest/XManifestWriter.idl b/offapi/com/sun/star/packages/manifest/XManifestWriter.idl
new file mode 100644
index 000000000..0886d732f
--- /dev/null
+++ b/offapi/com/sun/star/packages/manifest/XManifestWriter.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_packages_manifest_XManifestWriter_idl__
+#define __com_sun_star_packages_manifest_XManifestWriter_idl__
+
+#include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/io/XOutputStream.idl>
+
+
+module com { module sun { module star { module packages { module manifest {
+
+/** This interface writes the manifest data to a file. The user
+ calls writeManifestSequence() with the XOutputStream to write the data to
+ and the sequence of manifest entries to be written passed as parameters.
+ Each manifest entry is represented by a sequence of PropertyValues.*/
+
+published interface XManifestWriter: com::sun::star::uno::XInterface
+{
+ /** Writes the supplied sequence of manifest entries to the supplied
+ XOutputStream
+ */
+ void writeManifestSequence([in] com::sun::star::io::XOutputStream rStream,
+ [in] sequence < sequence < com::sun::star::beans::PropertyValue > > rSequence );
+};
+}; }; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/packages/zip/XZipFileAccess.idl b/offapi/com/sun/star/packages/zip/XZipFileAccess.idl
new file mode 100644
index 000000000..af3ac00ee
--- /dev/null
+++ b/offapi/com/sun/star/packages/zip/XZipFileAccess.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_packages_zip_XZipFileAccess_idl__
+#define __com_sun_star_packages_zip_XZipFileAccess_idl__
+
+#include <com/sun/star/container/NoSuchElementException.idl>
+#include <com/sun/star/io/XInputStream.idl>
+#include <com/sun/star/io/IOException.idl>
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/packages/zip/ZipException.idl>
+
+module com { module sun { module star { module packages { module zip {
+
+
+/** allows to get reading access to non-encrypted entries inside zip file.
+ */
+interface XZipFileAccess: ::com::sun::star::uno::XInterface
+{
+ /** allows to get stream by specifying a pattern.
+
+ <p>
+ The first stream with a name that fits to the pattern will be returned.
+ The pattern allows to use "*" wildcard symbol. If the name contains "*"
+ or "\" symbols itself they must guarded with backslash "\".
+ The slashes have no special meaning here so they can be replaced
+ by wildcards also.
+ </p>
+ */
+ ::com::sun::star::io::XInputStream getStreamByPattern( [in] string aPattern )
+ raises( ::com::sun::star::container::NoSuchElementException,
+ ::com::sun::star::io::IOException,
+ ::com::sun::star::packages::WrongPasswordException,
+ ::com::sun::star::packages::zip::ZipException );
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/packages/zip/XZipFileAccess2.idl b/offapi/com/sun/star/packages/zip/XZipFileAccess2.idl
new file mode 100644
index 000000000..796ecf4ce
--- /dev/null
+++ b/offapi/com/sun/star/packages/zip/XZipFileAccess2.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_packages_zip_XZipFileAccess2_idl__
+#define __com_sun_star_packages_zip_XZipFileAccess2_idl__
+
+#include <com/sun/star/packages/zip/XZipFileAccess.idl>
+#include <com/sun/star/container/XNameAccess.idl>
+
+
+module com { module sun { module star { module packages { module zip {
+
+
+/**
+ Merged interface for ZipFileAccess service.
+ @since LibreOffice 4.1
+ */
+interface XZipFileAccess2
+{
+ interface XZipFileAccess;
+ interface com::sun::star::container::XNameAccess;
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/packages/zip/ZipConstants.idl b/offapi/com/sun/star/packages/zip/ZipConstants.idl
new file mode 100644
index 000000000..553ed4707
--- /dev/null
+++ b/offapi/com/sun/star/packages/zip/ZipConstants.idl
@@ -0,0 +1,250 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_packages_zip_ZipConstants_idl__
+#define __com_sun_star_packages_zip_ZipConstants_idl__
+
+
+
+
+module com { module sun { module star { module packages { module zip {
+
+
+/** defines the constants used by the ZIP interfaces.
+ */
+published constants ZipConstants
+{
+ /** Compression method for the deflate algorithm (the only one currently
+ supported).
+ */
+ const short DEFLATED = 8;
+
+ /** Compression level for no compression.
+ */
+ const short NO_COMPRESSION = 0;
+
+ /** Compression level for fastest compression
+ */
+ const short BEST_SPEED = 1;
+
+ /** Compression level for best compression
+ */
+ const short BEST_COMPRESSION = 9;
+
+ /** Default compression level.
+ */
+ const short DEFAULT_COMPRESSION = -1;
+
+ /** Compression strategy best used for data consisting mostly of small
+ values with a somewhat random distribution. Forces more Huffman
+ coding and less string matching.
+ */
+ const short FILTERED = 1;
+
+ /** Compression strategy for Huffman coding only.
+ */
+ const short HUFFMAN_ONLY = 2;
+
+ /** Default compression strategy
+ */
+ const short DEFAULT_STRATEGY = 0;
+
+ /** entry is uncompressed
+ */
+ const short STORED = 0;
+
+ /** entry is uncompressed
+ */
+ const short DEF_MEM_LEVEL = 8;
+
+ /** Header Signature: "PK\003\004"
+ */
+ const long LOCSIG = 0x04034b50;
+
+ /** Header Signature: "PK\007\008"
+ */
+ const long EXTSIG = 0x08074b50;
+
+ /** Header Signature: "PK\001\002"
+ */
+ const long CENSIG = 0x02014b50;
+
+ /** Header Signature: "PK\005\006"
+ */
+ const long ENDSIG = 0x06054b50;
+
+ /** Header Signature: "PK\007\008"
+ */
+ const long SPANSIG = 0x08074b50;
+
+ /** LOC header size in bytes (including signatures)
+ */
+ const short LOCHDR = 30;
+
+ /** EXT header size in bytes (including signatures)
+ */
+ const short EXTHDR = 16;
+
+ /** CEN header size in bytes (including signatures)
+ */
+ const short CENHDR = 46;
+
+ /** END header size in bytes (including signatures)
+ */
+ const short ENDHDR = 22;
+
+ /// LOC LOC LOC
+ /** LOC header field "version needed to extract" offset
+ */
+ const short LOCVER = 4;
+
+ /** LOC header field "general purpose bit flags" offset
+ */
+ const short LOCFLG = 6;
+
+ /** LOC header field "compression method" offset
+ */
+ const short LOCHOW = 8;
+
+ /** LOC header field "modification time" offset
+ */
+ const short LOCTIM = 10;
+
+ /** LOC header field "CRC of uncompressed data" offset
+ */
+ const short LOCCRC = 14;
+
+ /** LOC header field "compressed data size" offset
+ */
+ const short LOCSIZ = 18;
+
+ /** LOC header field "uncompressed data size" offset
+ */
+ const short LOCLEN = 22;
+
+ /** LOC header field "filename length" offset
+ */
+ const short LOCNAM = 26;
+
+ /** LOC header field "extra field length" offset
+ */
+ const short LOCEXT = 28;
+
+ /** EXT header field "CRC of uncompressed data" offsets
+ */
+ const short EXTCRC = 4;
+
+ /** EXT header field "compressed size" offsets
+ */
+ const short EXTSIZ = 8;
+
+ /** EXT header field "uncompressed size" offsets
+ */
+ const short EXTLEN = 12;
+
+ /** CEN header field "version made by" offset
+ */
+ const short CENVEM = 4;
+
+ /** CEN header field "version needed to extract" offset
+ */
+ const short CENVER = 6;
+
+ /** CEN header field "general purpose bit flags" offset
+ */
+ const short CENFLG = 8;
+
+ /** CEN header field "compression method" offset
+ */
+ const short CENHOW = 10;
+
+ /** CEN header field "modification time" offset
+ */
+ const short CENTIM = 12;
+
+ /** CEN header field "modification time" offset
+ */
+ const short CENDAT = 14;
+
+ /** CEN header field "CRC of uncompressed data" offset
+ */
+ const short CENCRC = 16;
+
+ /** CEN header field "compressed size" offset
+ */
+ const short CENSIZ = 20;
+
+ /** CEN header field "uncompressed size" offset
+ */
+ const short CENLEN = 24;
+
+ /** CEN header field "length of filename" offset
+ */
+ const short CENNAM = 28;
+
+ /** CEN header field "length of extra field" offset
+ */
+ const short CENEXT = 30;
+
+ /** CEN header field "file comment length" offset
+ */
+ const short CENCOM = 32;
+
+ /** CEN header field "disk number start" offset
+ */
+ const short CENDSK = 34;
+
+ /** CEN header field "internal file attributes" offset
+ */
+ const short CENATT = 36;
+
+ /** CEN header field "external file attributes" offset
+ */
+ const short CENATX = 38;
+
+ /** CEN header field "offset of local header" offset
+ */
+ const short CENOFF = 42;
+
+ /** END header field "number of entries on this disk" offset
+ */
+ const short ENDSUB = 8;
+
+ /** END header field "total number of entries" offset
+ */
+ const short ENDTOT = 10;
+
+ /** END header field "central directory size" offset
+ */
+ const short ENDSIZ = 12;
+
+ /** END header field "central directory offset" offset
+ */
+ const short ENDOFF = 16;
+
+ /** END header field "size of zip file comment" offset
+ */
+ const short ENDCOM = 20;
+
+};
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/packages/zip/ZipEntry.idl b/offapi/com/sun/star/packages/zip/ZipEntry.idl
new file mode 100644
index 000000000..fa3e41ba1
--- /dev/null
+++ b/offapi/com/sun/star/packages/zip/ZipEntry.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_packages_zip_ZipEntry_idl__
+#define __com_sun_star_packages_zip_ZipEntry_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/xml/sax/InputSource.idl>
+
+#include <com/sun/star/io/IOException.idl>
+
+
+
+module com { module sun { module star { module packages { module zip {
+
+
+/** used to represent a ZIP file entry
+
+
+ <p>This interface is an IDL version of the Java interface
+ <em>java.util.zip.ZipFile</em> with some minor adaptations.</p>
+ */
+published struct ZipEntry
+{
+ /** version needed to extract
+ */
+ short nVersion;
+
+ /** bit flags
+ */
+ short nFlag;
+
+ /** compression method
+ */
+ short nMethod;
+
+ /** modification time
+ */
+ long nTime;
+
+ /** CRC-32 of entry data
+ */
+ long nCrc;
+
+ /** uncompressed size of entry data
+ */
+ long nCompressedSize;
+
+ /** uncompressed size of entry data
+ */
+ long nSize;
+
+ /** offset of LOC header
+ */
+ long nOffset;
+
+ /** The number of the disk this entry is saved on
+ */
+ short nDiskNumber;
+
+ /** the entry name
+ */
+ string sName;
+
+ /** optional extra field data for entry
+ */
+ sequence<byte> extra;
+
+ /** optional comment
+ */
+ string sComment;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/packages/zip/ZipException.idl b/offapi/com/sun/star/packages/zip/ZipException.idl
new file mode 100644
index 000000000..1ff286d03
--- /dev/null
+++ b/offapi/com/sun/star/packages/zip/ZipException.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_packages_zip_ZipException_idl__
+#define __com_sun_star_packages_zip_ZipException_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/io/XInputStream.idl>
+
+#include <com/sun/star/io/IOException.idl>
+
+
+module com { module sun { module star { module packages { module zip {
+
+
+/** used to indicate that a ZIP exception has occurred.
+ <p>This interface is an IDL version of the Java interface
+ <em>java.util.zip.ZipException</em> with some minor adaptations.</p>
+ */
+published exception ZipException: com::sun::star::uno::Exception
+{
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/packages/zip/ZipFileAccess.idl b/offapi/com/sun/star/packages/zip/ZipFileAccess.idl
new file mode 100644
index 000000000..6d54509b5
--- /dev/null
+++ b/offapi/com/sun/star/packages/zip/ZipFileAccess.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_packages_zip_ZipFileAccess_idl__
+#define __com_sun_star_packages_zip_ZipFileAccess_idl__
+
+#include <com/sun/star/packages/zip/XZipFileAccess2.idl>
+#include <com/sun/star/packages/zip/ZipException.idl>
+#include <com/sun/star/ucb/ContentCreationException.idl>
+#include <com/sun/star/ucb/InteractiveIOException.idl>
+
+
+
+module com { module sun { module star { module packages { module zip {
+
+
+/** allows to get reading access to non-encrypted entries inside zip file.
+ */
+service ZipFileAccess : XZipFileAccess2
+{
+ createWithURL([in] string URL)
+ raises ( com::sun::star::io::IOException,
+ com::sun::star::ucb::ContentCreationException,
+ com::sun::star::ucb::InteractiveIOException,
+ com::sun::star::packages::zip::ZipException );
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/packages/zip/ZipIOException.idl b/offapi/com/sun/star/packages/zip/ZipIOException.idl
new file mode 100644
index 000000000..ff0cb964e
--- /dev/null
+++ b/offapi/com/sun/star/packages/zip/ZipIOException.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_packages_zip_ZipIOException_idl__
+#define __com_sun_star_packages_zip_ZipIOException_idl__
+
+#include <com/sun/star/io/IOException.idl>
+
+
+module com { module sun { module star { module packages { module zip {
+
+
+/** used to indicate that a ZIP exception has occurred.
+ Usually can be thrown from XInputStream interface implementations.
+ <p>This interface is an IDL version of the Java interface
+ <em>java.util.zip.ZipException</em> with some minor adaptations.</p>
+
+ @since OOo 1.1.2
+ */
+published exception ZipIOException: com::sun::star::io::IOException
+{
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/presentation/AnimationEffect.idl b/offapi/com/sun/star/presentation/AnimationEffect.idl
new file mode 100644
index 000000000..b88272dc5
--- /dev/null
+++ b/offapi/com/sun/star/presentation/AnimationEffect.idl
@@ -0,0 +1,374 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_presentation_AnimationEffect_idl__
+#define __com_sun_star_presentation_AnimationEffect_idl__
+
+
+
+ module com { module sun { module star { module presentation {
+
+/** specifies the animation effects for animating
+ text or objects.
+ */
+published enum AnimationEffect
+{
+ /** use no animation effects.
+ */
+ NONE,
+ /** use the animation effect "Fade from Left".
+ */
+ FADE_FROM_LEFT,
+ /** use the animation effect "Fade from Top".
+ */
+ FADE_FROM_TOP,
+ /** use the animation effect "Fade from Right".
+ */
+ FADE_FROM_RIGHT,
+ /** use the animation effect "Fade from Bottom".
+ */
+ FADE_FROM_BOTTOM,
+ /** use the animation effect "Fade to Center".
+ */
+ FADE_TO_CENTER,
+ /** use the animation effect "Fade from Center".
+ */
+ FADE_FROM_CENTER,
+ /** use the animation effect "Move from Left".
+ */
+ MOVE_FROM_LEFT,
+ /** use the animation effect "Move from Top".
+ */
+ MOVE_FROM_TOP,
+ /** use the animation effect "Move from Right".
+ */
+ MOVE_FROM_RIGHT,
+ /** use the animation effect "Move from Bottom".
+ */
+ MOVE_FROM_BOTTOM,
+ /** use the animation effect "Vertical Stripes".
+ */
+ VERTICAL_STRIPES,
+ /** use the animation effect "Horizontal Stripes".
+ */
+ HORIZONTAL_STRIPES,
+ /** use the animation effect "Clockwise".
+ */
+ CLOCKWISE,
+ /** use the animation effect "Counter Clockwise".
+ */
+ COUNTERCLOCKWISE,
+ /** use the animation effect "Fade from Upper Left".
+ */
+ FADE_FROM_UPPERLEFT,
+ /** use the animation effect "Fade from Upper Right".
+ */
+ FADE_FROM_UPPERRIGHT,
+ /** use the animation effect "Fade from Lower Left".
+ */
+ FADE_FROM_LOWERLEFT,
+ /** use the animation effect "Fade from Lower Right".
+ */
+ FADE_FROM_LOWERRIGHT,
+ /** use the animation effect "Close Vertical".
+ */
+ CLOSE_VERTICAL,
+ /** use the animation effect "Close Horizontal".
+ */
+ CLOSE_HORIZONTAL,
+ /** use the animation effect "Open Vertical".
+ */
+ OPEN_VERTICAL,
+ /** use the animation effect "Open Horizontal".
+ */
+ OPEN_HORIZONTAL,
+ /** use the animation effect "Path".
+ */
+ PATH,
+ /** use the animation effect "Move to Left".
+ */
+ MOVE_TO_LEFT,
+ /** use the animation effect "Move to Top".
+ */
+ MOVE_TO_TOP,
+ /** use the animation effect "Move to Right".
+ */
+ MOVE_TO_RIGHT,
+ /** use the animation effect "Move to Bottom".
+ */
+ MOVE_TO_BOTTOM,
+ /** use the animation effect "Spiral Inward Left".
+ */
+ SPIRALIN_LEFT,
+ /** use the animation effect "Spiral Inward Right".
+ */
+ SPIRALIN_RIGHT,
+ /** use the animation effect "Spiral Outward Left".
+ */
+ SPIRALOUT_LEFT,
+ /** use the animation effect "Spiral Outward Right".
+ */
+ SPIRALOUT_RIGHT,
+ /** use the animation effect "Spiral Inward Left".
+ */
+ DISSOLVE,
+ /** use the animation effect "Wavy Line from Left".
+ */
+ WAVYLINE_FROM_LEFT,
+ /** use the animation effect "Wavy Line from Top".
+ */
+ WAVYLINE_FROM_TOP,
+ /** use the animation effect "Wavy Line from Right".
+ */
+ WAVYLINE_FROM_RIGHT,
+ /** use the animation effect "Wavy Line from Button".
+ */
+ WAVYLINE_FROM_BOTTOM,
+ /** use the animation effect "Random".
+ */
+ RANDOM,
+ /** use the animation effect "Vertical Lines".
+ */
+ VERTICAL_LINES,
+ /** use the animation effect "Horizontal Lines".
+ */
+ HORIZONTAL_LINES,
+ /** use the animation effect "Wavy Line from Left".
+ */
+ LASER_FROM_LEFT,
+ /** use the animation effect "Laser from Top".
+ */
+ LASER_FROM_TOP,
+ /** use the animation effect "Laser from Right".
+ */
+ LASER_FROM_RIGHT,
+ /** use the animation effect "Laser from Bottom".
+ */
+ LASER_FROM_BOTTOM,
+ /** use the animation effect "Laser from Upper Left".
+ */
+ LASER_FROM_UPPERLEFT,
+ /** use the animation effect "Laser from Upper Right".
+ */
+ LASER_FROM_UPPERRIGHT,
+ /** use the animation effect "Laser from Lower Left".
+ */
+ LASER_FROM_LOWERLEFT,
+ /** use the animation effect "Laser from Lower Right".
+ */
+ LASER_FROM_LOWERRIGHT,
+ /** use the animation effect "Appear".
+ */
+ APPEAR,
+ /** use the animation effect "Hide".
+ */
+ HIDE,
+ /** use the animation effect "Move from Upper Left".
+ */
+ MOVE_FROM_UPPERLEFT,
+ /** use the animation effect "Move from Upper Right".
+ */
+ MOVE_FROM_UPPERRIGHT,
+ /** use the animation effect "Move from Lower Right".
+ */
+ MOVE_FROM_LOWERRIGHT,
+ /** use the animation effect "Move from Lower Left".
+ */
+ MOVE_FROM_LOWERLEFT,
+ /** use the animation effect "Move to Upper Left".
+ */
+ MOVE_TO_UPPERLEFT,
+ /** use the animation effect "Move to Upper Right".
+ */
+ MOVE_TO_UPPERRIGHT,
+ /** use the animation effect "Move to Lower Right".
+ */
+ MOVE_TO_LOWERRIGHT,
+ /** use the animation effect "Move to Lower Left".
+ */
+ MOVE_TO_LOWERLEFT,
+ /** use the animation effect "Move Short from Left".
+ */
+ MOVE_SHORT_FROM_LEFT,
+ /** use the animation effect "Move Short from Upper Left".
+ */
+ MOVE_SHORT_FROM_UPPERLEFT,
+ /** use the animation effect "Move Short from Top".
+ */
+ MOVE_SHORT_FROM_TOP,
+ /** use the animation effect "Move Short from Upper Right".
+ */
+ MOVE_SHORT_FROM_UPPERRIGHT,
+ /** use the animation effect "Move Short from Right".
+ */
+ MOVE_SHORT_FROM_RIGHT,
+ /** use the animation effect "Move Short from Lower Right".
+ */
+ MOVE_SHORT_FROM_LOWERRIGHT,
+ /** use the animation effect "Move Short from Bottom".
+ */
+ MOVE_SHORT_FROM_BOTTOM,
+ /** use the animation effect "Move Short from Lower Left".
+ */
+ MOVE_SHORT_FROM_LOWERLEFT,
+ /** use the animation effect "Move Short to Left".
+ */
+ MOVE_SHORT_TO_LEFT,
+ /** use the animation effect "Move Short to Upper Left".
+ */
+ MOVE_SHORT_TO_UPPERLEFT,
+ /** use the animation effect "Move Short to Top".
+ */
+ MOVE_SHORT_TO_TOP,
+ /** use the animation effect "Move Short to Upper Right".
+ */
+ MOVE_SHORT_TO_UPPERRIGHT,
+ /** use the animation effect "Move Short to Right".
+ */
+ MOVE_SHORT_TO_RIGHT,
+ /** use the animation effect "Move Short to Lower Right".
+ */
+ MOVE_SHORT_TO_LOWERRIGHT,
+ /** use the animation effect "Move Short to Bottom".
+ */
+ MOVE_SHORT_TO_BOTTOM,
+ /** use the animation effect "Move Short to Lower Left".
+ */
+ MOVE_SHORT_TO_LOWERLEFT,
+ /** use the animation effect "Vertical Checkerboard".
+ */
+ VERTICAL_CHECKERBOARD,
+ /** use the animation effect "Horizontal Checkerboard".
+ */
+ HORIZONTAL_CHECKERBOARD,
+ /** use the animation effect "Horizontal Rotate".
+ */
+ HORIZONTAL_ROTATE,
+ /** use the animation effect "Vertical Rotate".
+ */
+ VERTICAL_ROTATE,
+ /** use the animation effect "Horizontal Stretch".
+ */
+ HORIZONTAL_STRETCH,
+ /** use the animation effect "Vertical Stretch".
+ */
+ VERTICAL_STRETCH,
+ /** use the animation effect "Stretch From Left".
+ */
+ STRETCH_FROM_LEFT,
+ /** use the animation effect "Stretch From Upper Left".
+ */
+ STRETCH_FROM_UPPERLEFT,
+ /** use the animation effect "Stretch From Top".
+ */
+ STRETCH_FROM_TOP,
+ /** use the animation effect "Stretch From Upper Right".
+ */
+ STRETCH_FROM_UPPERRIGHT,
+ /** use the animation effect "Stretch From Right".
+ */
+ STRETCH_FROM_RIGHT,
+ /** use the animation effect "Stretch From Lower Right".
+ */
+ STRETCH_FROM_LOWERRIGHT,
+ /** use the animation effect "Stretch From Bottom".
+ */
+ STRETCH_FROM_BOTTOM,
+ /** use the animation effect "Stretch From Lower Left".
+ */
+ STRETCH_FROM_LOWERLEFT,
+ /** use the animation effect "Zoom In".
+ */
+ ZOOM_IN,
+ /** use the animation effect "Zoom In Small".
+ */
+ ZOOM_IN_SMALL,
+ /** use the animation effect "Zoom In Spiral".
+ */
+ ZOOM_IN_SPIRAL,
+ /** use the animation effect "Zoom Out".
+ */
+ ZOOM_OUT,
+ /** use the animation effect "Zoom Out Small".
+ */
+ ZOOM_OUT_SMALL,
+ /** use the animation effect "Zoom Out Spiral".
+ */
+ ZOOM_OUT_SPIRAL,
+ /** use the animation effect "Zoom In From Left".
+ */
+ ZOOM_IN_FROM_LEFT,
+ /** use the animation effect "Zoom In From Upper Left".
+ */
+ ZOOM_IN_FROM_UPPERLEFT,
+ /** use the animation effect "Zoom In From Top".
+ */
+ ZOOM_IN_FROM_TOP,
+ /** use the animation effect "Zoom In From Upper Right".
+ */
+ ZOOM_IN_FROM_UPPERRIGHT,
+ /** use the animation effect "Zoom In From Right".
+ */
+ ZOOM_IN_FROM_RIGHT,
+ /** use the animation effect "Zoom In From Lower Right".
+ */
+ ZOOM_IN_FROM_LOWERRIGHT,
+ /** use the animation effect "Zoom In From Bottom".
+ */
+ ZOOM_IN_FROM_BOTTOM,
+ /** use the animation effect "Zoom In From Lower Left".
+ */
+ ZOOM_IN_FROM_LOWERLEFT,
+ /** use the animation effect "Zoom In From Center".
+ */
+ ZOOM_IN_FROM_CENTER,
+ /** use the animation effect "Zoom Out From Left".
+ */
+ ZOOM_OUT_FROM_LEFT,
+ /** use the animation effect "Zoom Out From Upper Left".
+ */
+ ZOOM_OUT_FROM_UPPERLEFT,
+ /** use the animation effect "Zoom Out From Top".
+ */
+ ZOOM_OUT_FROM_TOP,
+ /** use the animation effect "Zoom Out From Upper Right".
+ */
+ ZOOM_OUT_FROM_UPPERRIGHT,
+ /** use the animation effect "Zoom Out From Right".
+ */
+ ZOOM_OUT_FROM_RIGHT,
+ /** use the animation effect "Zoom Out From Lower Right".
+ */
+ ZOOM_OUT_FROM_LOWERRIGHT,
+ /** use the animation effect "Zoom Out From Bottom".
+ */
+ ZOOM_OUT_FROM_BOTTOM,
+ /** use the animation effect "Zoom Out From Lower Left".
+ */
+ ZOOM_OUT_FROM_LOWERLEFT,
+ /** use the animation effect "Zoom Out From Center".
+ */
+ ZOOM_OUT_FROM_CENTER
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/presentation/AnimationSpeed.idl b/offapi/com/sun/star/presentation/AnimationSpeed.idl
new file mode 100644
index 000000000..90f997056
--- /dev/null
+++ b/offapi/com/sun/star/presentation/AnimationSpeed.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_presentation_AnimationSpeed_idl__
+#define __com_sun_star_presentation_AnimationSpeed_idl__
+
+
+
+ module com { module sun { module star { module presentation {
+
+
+/** specifies the speed values of animation/fade effects.
+ */
+published enum AnimationSpeed
+{
+
+ /** set the speed from the animation/fade to slow.
+ */
+ SLOW,
+
+
+ /** set the speed from the animation/fade to medium.
+ */
+ MEDIUM,
+
+
+ /** set the speed from the animation/fade to fast.
+ */
+ FAST
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/presentation/ChartShape.idl b/offapi/com/sun/star/presentation/ChartShape.idl
new file mode 100644
index 000000000..91092d2da
--- /dev/null
+++ b/offapi/com/sun/star/presentation/ChartShape.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_presentation_ChartShape_idl__
+#define __com_sun_star_presentation_ChartShape_idl__
+
+#include <com/sun/star/presentation/Shape.idl>
+
+#include <com/sun/star/drawing/OLE2Shape.idl>
+
+
+
+ module com { module sun { module star { module presentation {
+
+
+/** This service is implemented by the chart presentation shape.
+
+ <p>Presentation shapes can be used in a presentation
+ page layouts and their position and size is by default set
+ by the presentation shapes on the com::sun::star::drawing::MasterPage.
+ */
+published service ChartShape
+{
+ service com::sun::star::presentation::Shape;
+
+ service com::sun::star::drawing::OLE2Shape;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/presentation/ClickAction.idl b/offapi/com/sun/star/presentation/ClickAction.idl
new file mode 100644
index 000000000..b4c265aac
--- /dev/null
+++ b/offapi/com/sun/star/presentation/ClickAction.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_presentation_ClickAction_idl__
+#define __com_sun_star_presentation_ClickAction_idl__
+
+
+
+ module com { module sun { module star { module presentation {
+
+
+/** This enumeration specifies the actions which can be processed when
+ a user clicks on an object.
+ */
+published enum ClickAction
+{
+
+ /** No action is performed on click.
+ */
+ NONE,
+
+
+ /** The presentation jumps to the previous page.
+ */
+ PREVPAGE,
+
+
+ /** The presentation jumps to the next page.
+ */
+ NEXTPAGE,
+
+
+ /** The presentation continues with the first page.
+ */
+ FIRSTPAGE,
+
+
+ /** The presentation continues with the last page.
+ */
+ LASTPAGE,
+
+
+ /** The presentation jumps to a bookmark.
+ */
+ BOOKMARK,
+
+
+ /** The presentation jumps to another document.
+ */
+ DOCUMENT,
+
+
+ /** The object renders itself invisible after a click.
+ */
+ INVISIBLE,
+
+
+ /** A sound is played after a click.
+ */
+ SOUND,
+
+
+ /** An OLE verb is performed on this object.
+ */
+ VERB,
+
+
+ /** The object vanishes with its effect.
+ */
+ VANISH,
+
+
+ /** Another program is executed after a click.
+ */
+ PROGRAM,
+
+
+ /** A star basic macro is executed after the click.
+ */
+ MACRO,
+
+
+ /** The presentation is stopped after the click.
+ */
+ STOPPRESENTATION
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/presentation/CustomPresentation.idl b/offapi/com/sun/star/presentation/CustomPresentation.idl
new file mode 100644
index 000000000..81a5e7e21
--- /dev/null
+++ b/offapi/com/sun/star/presentation/CustomPresentation.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_presentation_CustomPresentation_idl__
+#define __com_sun_star_presentation_CustomPresentation_idl__
+
+#include <com/sun/star/container/XIndexContainer.idl>
+
+#include <com/sun/star/container/XNamed.idl>
+
+
+
+ module com { module sun { module star { module presentation {
+
+
+/** A custom presentation can show the pages of its presentation in a
+ customized order.
+
+ <p>Such a presentation can use certain pages more than once,
+ but it does not necessarily use all of the pages.</p>
+ */
+published service CustomPresentation
+{
+ /** This is the container of the names of pages in this customized
+ presentation.
+ */
+ interface com::sun::star::container::XIndexContainer;
+
+ /** This gives you access to the name of this customized presentation.
+ */
+ interface com::sun::star::container::XNamed;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/presentation/CustomPresentationAccess.idl b/offapi/com/sun/star/presentation/CustomPresentationAccess.idl
new file mode 100644
index 000000000..3398d67e0
--- /dev/null
+++ b/offapi/com/sun/star/presentation/CustomPresentationAccess.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_presentation_CustomPresentationAccess_idl__
+#define __com_sun_star_presentation_CustomPresentationAccess_idl__
+
+#include <com/sun/star/container/XNameContainer.idl>
+
+#include <com/sun/star/lang/XSingleServiceFactory.idl>
+
+
+ module com { module sun { module star { module presentation {
+
+
+/** This is a container for custom presentations.
+ */
+published service CustomPresentationAccess
+{
+ /** This is the container of the custom presentations.
+
+ <p>Each instance in this container implements the service
+ CustomPresentation.
+ <p>The methods insertByName and replaceByName both replace
+ the name of the given CustomPresentation
+ */
+ interface com::sun::star::container::XNameContainer;
+
+ /** This interface lets you create empty instances of
+ the service CustomPresentation.
+
+ <p>These services are needed for the <code>insertByName</code>
+ and <code>replaceByName</code> methods of this service
+ com::sun::star::container::XNameContainer interface.
+ */
+ interface com::sun::star::lang::XSingleServiceFactory;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/presentation/DateTimeShape.idl b/offapi/com/sun/star/presentation/DateTimeShape.idl
new file mode 100644
index 000000000..36644b70e
--- /dev/null
+++ b/offapi/com/sun/star/presentation/DateTimeShape.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_presentation_DateTimeShape_idl__
+#define __com_sun_star_presentation_DateTimeShape_idl__
+
+#include <com/sun/star/presentation/Shape.idl>
+
+#include <com/sun/star/drawing/TextShape.idl>
+
+
+
+ module com { module sun { module star { module presentation {
+
+
+/** This service is implemented by the date and time presentation shape.
+
+ <p>Presentation shapes can be used in a presentation
+ page layouts and their position and size is by default set
+ by the presentation shapes on the com::sun::star::drawing::MasterPage.
+ */
+service DateTimeShape
+{
+ service com::sun::star::presentation::Shape;
+
+ service com::sun::star::drawing::TextShape;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/presentation/DocumentSettings.idl b/offapi/com/sun/star/presentation/DocumentSettings.idl
new file mode 100644
index 000000000..613b8cac5
--- /dev/null
+++ b/offapi/com/sun/star/presentation/DocumentSettings.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_presentation_DocumentSettings_idl__
+#define __com_sun_star_presentation_DocumentSettings_idl__
+
+#include <com/sun/star/document/HeaderFooterSettings.idl>
+#include <com/sun/star/document/Settings.idl>
+
+
+module com { module sun { module star { module presentation {
+
+
+/** describes properties that apply to the whole presentation document.
+ */
+published service DocumentSettings
+{
+ /** This service documents the common properties of an office document
+ */
+ service com::sun::star::document::Settings;
+
+
+ /** This service configures the header and footer settings during print
+ */
+ [optional] service com::sun::star::document::HeaderFooterSettings;
+
+
+ /** provides access to the properties.
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+
+ /** enables or disables the printing of the drawing pages
+ */
+ [optional, property] boolean IsPrintDrawing;
+
+ /** enables or disables the printing of the notes pages
+ */
+ [optional, property] boolean IsPrintNotes;
+
+ /** enables or disables the printing of the handout pages
+ */
+ [optional, property] boolean IsPrintHandout;
+
+ /** enables or disables the printing of the outline pages
+ */
+ [optional, property] boolean IsPrintOutline;
+
+ /** enables or disables the printing of draw pages that
+ are marked hidden
+ */
+ [optional, property] boolean IsPrintHiddenPages;
+
+ // Note: the following properties exist also in
+ // css::drawing::DocumentSettings
+
+
+ /** enables or disables the fitting of the page to the printable
+ area during print
+ */
+ [optional, property] boolean IsPrintFitPage;
+
+ /** if this is true and the paper size for printing is larger than
+ the paper size of the printer than the content is tiled over
+ multiple pages.
+ */
+ [optional, property] boolean IsPrintTilePage;
+
+ /** is the number format used for page number fields
+
+ Values 0-7 are supported.
+
+ @see com::sun::star::style::NumberingType
+ */
+ [optional, property] long PageNumberFormat;
+
+ /** If this is true, the distance between two paragraphs is
+ the sum of ParaBottomMargin of the previous and ParaTopMargin of
+ the next paragraph. If false, only the greater of the two is
+ chosen.
+ */
+ [optional, property] boolean ParagraphSummation;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/presentation/DrawPage.idl b/offapi/com/sun/star/presentation/DrawPage.idl
new file mode 100644
index 000000000..0e070470a
--- /dev/null
+++ b/offapi/com/sun/star/presentation/DrawPage.idl
@@ -0,0 +1,157 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_presentation_DrawPage_idl__
+#define __com_sun_star_presentation_DrawPage_idl__
+
+#include <com/sun/star/drawing/DrawPage.idl>
+
+#include <com/sun/star/document/LinkTarget.idl>
+
+#include <com/sun/star/presentation/FadeEffect.idl>
+
+#include <com/sun/star/presentation/AnimationSpeed.idl>
+
+
+
+ module com { module sun { module star { module presentation {
+
+
+/** This is the service provided by a com::sun::star::drawing::DrawPage inside a
+ PresentationDocument.
+
+ @see PresentationDocument
+ */
+published service DrawPage
+{
+ service com::sun::star::drawing::DrawPage;
+
+ /** Every page is a link target inside the document object model.
+ */
+ service com::sun::star::document::LinkTarget;
+
+
+ /** specifies how the page change is triggered.
+
+ <p>If this is 0, the user must click to start each object animation
+ and to change the page. If set to 1, the page is
+ automatically switched. If it is set to 2, all object effects run
+ automatically, but the user has to click on the page to change it.</p>
+ */
+ [property] long Change;
+
+
+ /** If the property com::sun::star::drawing::DrawPage::Change is set to 1,
+ this is the time in seconds this page is shown before switching
+ to the next page.
+ */
+ [property] long Duration;
+
+ /** If the property com::sun::star::drawing::DrawPage::Change is set to 1,
+ this is the time in seconds this page is shown before switching
+ to the next page, also permitting sub-second precision here.
+ */
+ [optional, property] double HighResDuration;
+
+ /** This is the effect that is used to fade in this page.
+ */
+ [property] com::sun::star::presentation::FadeEffect Effect;
+
+
+ /** If this property is not ZERO, this number specifies a presentation
+ layout for this page.
+ */
+ [property] short Layout;
+
+
+ /** Defines the speed of the fade-in effect of this page.
+ @see TransitionSpeed
+ */
+ [property] com::sun::star::presentation::AnimationSpeed Speed;
+
+ /** defines if a header presentation shape from the master page is visible
+ on this page.
+ */
+
+ [optional, property] boolean IsHeaderVisible;
+
+
+ /** defines the text that is displayed in a header textfield rendered on this
+ page.
+ */
+ [optional, property] string HeaderText;
+
+
+ /** defines if a footer presentation shape from the master page is visible
+ on this page.
+ */
+
+ [optional, property] boolean IsFooterVisible;
+
+
+ /** defines the text that is displayed in a footer textfield rendered on this
+ page.
+ */
+ [optional, property] string FooterText;
+
+
+ /** defines if a page number presentation shape from the master page is visible
+ on this page.
+ */
+
+ [optional, property] boolean IsPageNumberVisible;
+
+
+ /** defines if a date and time presentation shape from the master page is visible
+ on this page.
+ */
+
+ [optional, property] boolean IsDateTimeVisible;
+
+
+ /** defines if a date and time text field shows a fixed string value or the
+ current date on this page.
+ */
+
+ [optional, property] boolean IsDateTimeFixed;
+
+
+ /** defines the text that is displayed in a date and time textfield rendered on this
+ page. This value is only used if <code>IsDateTimeFixed</code> is `TRUE`.
+ */
+ [optional, property] string DateTimeText;
+
+
+ /** defines the format that is used to format a date and time text field on
+ this page. This is only used if <code>IsDateTimeFixed</code> is `FALSE`.
+ */
+ [optional, property] long DateTimeFormat;
+
+ /** Specifies slide transition time in seconds.
+ @since LibreOffice 6.1
+ @see Speed
+ */
+ [property, optional] double TransitionDuration;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/presentation/EffectCommands.idl b/offapi/com/sun/star/presentation/EffectCommands.idl
new file mode 100644
index 000000000..248527195
--- /dev/null
+++ b/offapi/com/sun/star/presentation/EffectCommands.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_presentation_EffectCommands_idl__
+#define __com_sun_star_presentation_EffectCommands_idl__
+
+
+ module com { module sun { module star { module presentation {
+
+
+/**
+ @see ::com::sun::star::animations::XCommand
+*/
+constants EffectCommands
+{
+ /** the command is user defined
+ */
+ const short CUSTOM = 0;
+
+ /** the command is an OLE verb.
+ Required parameters are
+ "Verb" of type long that specifies the verb to execute.
+ */
+ const short VERB = 1;
+
+ /** the command starts playing on a media object.
+ Optional parameters are
+ "MediaTime" of type double that specifies the start
+ time in milliseconds. If not given, play continues at
+ last position known.
+ */
+ const short PLAY = 2;
+
+ /** the command toggles the pause status on a media object.
+ */
+ const short TOGGLEPAUSE = 3;
+
+ /** the command stops the animation on a media object
+ */
+ const short STOP = 4;
+
+ /** the command stops all currently running sound effects.
+ */
+ const short STOPAUDIO = 5;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/presentation/EffectNodeType.idl b/offapi/com/sun/star/presentation/EffectNodeType.idl
new file mode 100644
index 000000000..53382eaa1
--- /dev/null
+++ b/offapi/com/sun/star/presentation/EffectNodeType.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_presentation_EffectNodeType_idl__
+#define __com_sun_star_presentation_EffectNodeType_idl__
+
+
+ module com { module sun { module star { module presentation {
+
+
+/** This constants defines a type for an animation effect node.
+ <br>
+ This is stored with the name <i>node-type</i> inside the
+ ::com::sun::star::animations::XAnimationNode::UserData sequence.
+ <br>
+ This does not manipulate the timing or synchronization.
+ It can be used to quickly identify semantic blocks inside an animation hierarchy.
+
+ @see ::com::sun::star::animations::XAnimationNode
+*/
+constants EffectNodeType
+{
+ /** This node has no special meaning.
+ */
+ const short DEFAULT = 0;
+
+ /** This node contains an effect that starts on click.
+ */
+ const short ON_CLICK = 1;
+
+ /** This node contains an effect that starts with a previous effect.
+ */
+ const short WITH_PREVIOUS = 2;
+
+ /** This node contains an effect that starts after a previous effect has finished.
+ */
+ const short AFTER_PREVIOUS = 3;
+
+ /** This is the main sequence for effects that is automatically started.
+ */
+ const short MAIN_SEQUENCE = 4;
+
+ /** This is the root sequence.
+ */
+ const short TIMING_ROOT = 5;
+
+ /** This is a sequence with effects that starts due to user interaction.
+ */
+ const short INTERACTIVE_SEQUENCE = 6;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/presentation/EffectPresetClass.idl b/offapi/com/sun/star/presentation/EffectPresetClass.idl
new file mode 100644
index 000000000..9ff0e1201
--- /dev/null
+++ b/offapi/com/sun/star/presentation/EffectPresetClass.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_presentation_EffectPresetClass_idl__
+#define __com_sun_star_presentation_EffectPresetClass_idl__
+
+
+ module com { module sun { module star { module presentation {
+
+
+/** This constants defines the class for a preset animation effect.
+ <br>
+ This is stored with the name <i>preset-class</i> inside the
+ ::com::sun::star::animations::XAnimationNode::UserData sequence.
+ <br>
+ This does not manipulate the timing or synchronization.
+ It can be used to quickly identify preset animations inside an animation hierarchy.
+
+ @see ::com::sun::star::animations::XAnimationNode
+*/
+constants EffectPresetClass
+{
+ const short CUSTOM = 0;
+ const short ENTRANCE = 1;
+ const short EXIT = 2;
+ const short EMPHASIS = 3;
+ const short MOTIONPATH = 4;
+ const short OLEACTION = 5;
+ const short MEDIACALL = 6;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/presentation/FadeEffect.idl b/offapi/com/sun/star/presentation/FadeEffect.idl
new file mode 100644
index 000000000..6d88e4f68
--- /dev/null
+++ b/offapi/com/sun/star/presentation/FadeEffect.idl
@@ -0,0 +1,322 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_presentation_FadeEffect_idl__
+#define __com_sun_star_presentation_FadeEffect_idl__
+
+
+
+ module com { module sun { module star { module presentation {
+
+
+/** specifies the fade effects to fade one page into another.
+ */
+published enum FadeEffect
+{
+
+ /** use no fade effects.
+ */
+ NONE,
+
+
+ /** use the fade effect "Fade from Left".
+ */
+ FADE_FROM_LEFT,
+
+
+ /** use the fade effect "Fade from Top".
+ */
+ FADE_FROM_TOP,
+
+
+ /** use the fade effect "Fade from Right".
+ */
+ FADE_FROM_RIGHT,
+
+
+ /** use the fade effect "Fade from Bottom".
+ */
+ FADE_FROM_BOTTOM,
+
+
+ /** use the fade effect "Fade to Center".
+ */
+ FADE_TO_CENTER,
+
+
+ /** use the fade effect "Fade from Center".
+ */
+ FADE_FROM_CENTER,
+
+
+ /** use the fade effect "Move from Left".
+ */
+ MOVE_FROM_LEFT,
+
+
+ /** use the fade effect "Move from Top".
+ */
+ MOVE_FROM_TOP,
+
+
+ /** use the fade effect "Move from Right".
+ */
+ MOVE_FROM_RIGHT,
+
+
+ /** use the fade effect "Move from Bottom".
+ */
+ MOVE_FROM_BOTTOM,
+
+
+ /** use the fade effect "Roll from Left".
+ */
+ ROLL_FROM_LEFT,
+
+
+ /** use the fade effect "Roll from Top".
+ */
+ ROLL_FROM_TOP,
+
+
+ /** use the fade effect "Roll from Right".
+ */
+ ROLL_FROM_RIGHT,
+
+
+ /** use the fade effect "Roll from Bottom".
+ */
+ ROLL_FROM_BOTTOM,
+
+
+ /** use the fade effect "Vertical Stripes".
+ */
+ VERTICAL_STRIPES,
+
+
+ /** use the fade effect "Horizontal Stripes".
+ */
+ HORIZONTAL_STRIPES,
+
+
+ /** use the fade effect "Clockwise".
+ */
+ CLOCKWISE,
+
+
+ /** use the fade effect "Counter Clockwise".
+ */
+ COUNTERCLOCKWISE,
+
+
+ /** use the fade effect "Fade from Upper Left".
+ */
+ FADE_FROM_UPPERLEFT,
+
+
+ /** use the fade effect "Fade from Upper Right".
+ */
+ FADE_FROM_UPPERRIGHT,
+
+
+ /** use the fade effect "Fade from Lower Left".
+ */
+ FADE_FROM_LOWERLEFT,
+
+
+ /** use the fade effect "Fade from Lower Right".
+ */
+ FADE_FROM_LOWERRIGHT,
+
+
+ /** use the fade effect "Close Vertical".
+ */
+ CLOSE_VERTICAL,
+
+
+ /** use the fade effect "Close Horizontal".
+ */
+ CLOSE_HORIZONTAL,
+
+
+ /** use the fade effect "Open Vertical".
+ */
+ OPEN_VERTICAL,
+
+
+ /** use the fade effect "Open Horizontal".
+ */
+ OPEN_HORIZONTAL,
+
+
+ /** use the fade effect "Spiral Inward Left".
+ */
+ SPIRALIN_LEFT,
+
+
+ /** use the fade effect "Spiral Inward Right".
+ */
+ SPIRALIN_RIGHT,
+
+
+ /** use the fade effect "Spiral Outward Left".
+ */
+ SPIRALOUT_LEFT,
+
+
+ /** use the fade effect "Spiral Outward Right".
+ */
+ SPIRALOUT_RIGHT,
+
+
+ /** use the fade effect "Dissolve".
+ */
+ DISSOLVE,
+
+
+ /** use the fade effect "Wavy Line from Left".
+ */
+ WAVYLINE_FROM_LEFT,
+
+
+ /** use the fade effect "Wavy Line from Top".
+ */
+ WAVYLINE_FROM_TOP,
+
+
+ /** use the fade effect "Wavy Line from Right".
+ */
+ WAVYLINE_FROM_RIGHT,
+
+
+ /** use the fade effect "Wavy Line from Bottom".
+ */
+ WAVYLINE_FROM_BOTTOM,
+
+
+ /** use the fade effect "Random".
+ */
+ RANDOM,
+
+
+ /** use the fade effect "Stretch from Left".
+ */
+ STRETCH_FROM_LEFT,
+
+
+ /** use the fade effect "Stretch from Top".
+ */
+ STRETCH_FROM_TOP,
+
+
+ /** use the fade effect "Stretch from Right".
+ */
+ STRETCH_FROM_RIGHT,
+
+
+ /** use the fade effect "Stretch from Bottom".
+ */
+ STRETCH_FROM_BOTTOM,
+
+
+ /** use the fade effect "Vertical Lines".
+ */
+ VERTICAL_LINES,
+
+
+ /** use the fade effect "Horizontal Lines".
+ */
+ HORIZONTAL_LINES,
+
+
+ /** use the fade effect "Move from Upper Left".
+ */
+ MOVE_FROM_UPPERLEFT,
+
+
+ /** use the fade effect "Move from Upper Right".
+ */
+ MOVE_FROM_UPPERRIGHT,
+
+
+ /** use the fade effect "Move from Lower Right".
+ */
+ MOVE_FROM_LOWERRIGHT,
+
+
+ /** use the fade effect "Move from Lower Left".
+ */
+ MOVE_FROM_LOWERLEFT,
+
+
+ /** use the fade effect "Uncover to Left".
+ */
+ UNCOVER_TO_LEFT,
+
+
+ /** use the fade effect "Uncover to Upper Left".
+ */
+ UNCOVER_TO_UPPERLEFT,
+
+
+ /** use the fade effect "Uncover to Top".
+ */
+ UNCOVER_TO_TOP,
+
+
+ /** use the fade effect "Uncover to Upper Right".
+ */
+ UNCOVER_TO_UPPERRIGHT,
+
+
+ /** use the fade effect "Uncover to Right".
+ */
+ UNCOVER_TO_RIGHT,
+
+
+ /** use the fade effect "Uncover to Lower Right".
+ */
+ UNCOVER_TO_LOWERRIGHT,
+
+
+ /** use the fade effect "Uncover to Bottom".
+ */
+ UNCOVER_TO_BOTTOM,
+
+
+ /** use the fade effect "Uncover to Lower Left".
+ */
+ UNCOVER_TO_LOWERLEFT,
+
+
+ /** use the fade effect "Vertical Checkerboard".
+ */
+ VERTICAL_CHECKERBOARD,
+
+
+ /** use the fade effect "Horizontal Checkerboard".
+ */
+ HORIZONTAL_CHECKERBOARD
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/presentation/FooterShape.idl b/offapi/com/sun/star/presentation/FooterShape.idl
new file mode 100644
index 000000000..3841a7e92
--- /dev/null
+++ b/offapi/com/sun/star/presentation/FooterShape.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_presentation_FooterShape_idl__
+#define __com_sun_star_presentation_FooterShape_idl__
+
+#include <com/sun/star/presentation/Shape.idl>
+
+#include <com/sun/star/drawing/TextShape.idl>
+
+
+
+ module com { module sun { module star { module presentation {
+
+
+/** This service is implemented by the footer presentation shape.
+
+ <p>Presentation shapes can be used in a presentation
+ page layouts and their position and size is by default set
+ by the presentation shapes on the com::sun::star::drawing::MasterPage.
+ */
+service FooterShape
+{
+ service com::sun::star::presentation::Shape;
+
+ service com::sun::star::drawing::TextShape;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/presentation/GraphicObjectShape.idl b/offapi/com/sun/star/presentation/GraphicObjectShape.idl
new file mode 100644
index 000000000..3806fc0e1
--- /dev/null
+++ b/offapi/com/sun/star/presentation/GraphicObjectShape.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_presentation_GraphicObjectShape_idl__
+#define __com_sun_star_presentation_GraphicObjectShape_idl__
+
+#include <com/sun/star/presentation/Shape.idl>
+
+#include <com/sun/star/drawing/GraphicObjectShape.idl>
+
+
+
+ module com { module sun { module star { module presentation {
+
+
+/** This service is implemented by the graphic presentation shape.
+
+ <p>Presentation shapes can be used in a presentation
+ page layouts and their position and size is by default set
+ by the presentation shapes on the com::sun::star::drawing::MasterPage.
+ */
+published service GraphicObjectShape
+{
+ service com::sun::star::presentation::Shape;
+
+ service com::sun::star::drawing::GraphicObjectShape;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/presentation/HandoutShape.idl b/offapi/com/sun/star/presentation/HandoutShape.idl
new file mode 100644
index 000000000..767bd7d6e
--- /dev/null
+++ b/offapi/com/sun/star/presentation/HandoutShape.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_presentation_HandoutShape_idl__
+#define __com_sun_star_presentation_HandoutShape_idl__
+
+#include <com/sun/star/presentation/Shape.idl>
+
+#include <com/sun/star/drawing/PageShape.idl>
+
+
+
+ module com { module sun { module star { module presentation {
+
+
+/** This service is implemented by the handout presentation shape.
+
+ <p>Presentation shapes can be used in a presentation
+ page layouts and their position and size is by default set
+ by the presentation shapes on the com::sun::star::drawing::MasterPage.
+ */
+published service HandoutShape
+{
+ service com::sun::star::presentation::Shape;
+
+ service com::sun::star::drawing::PageShape;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/presentation/HandoutView.idl b/offapi/com/sun/star/presentation/HandoutView.idl
new file mode 100644
index 000000000..86ef8e78c
--- /dev/null
+++ b/offapi/com/sun/star/presentation/HandoutView.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_presentation_HandoutView_idl__
+#define __com_sun_star_presentation_HandoutView_idl__
+
+#include <com/sun/star/drawing/DrawingDocumentDrawView.idl>
+
+
+ module com { module sun { module star { module presentation {
+
+
+/** This component integrates a view to a handout page inside a presentation
+ document into the desktop.
+
+ @since OOo 1.1.2
+ */
+published service HandoutView
+{
+
+ /** this services offers the integration of this component into the
+ desktop and the basic interfaces and properties of a draw view.
+ */
+ service com::sun::star::drawing::DrawingDocumentDrawView;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/presentation/HeaderShape.idl b/offapi/com/sun/star/presentation/HeaderShape.idl
new file mode 100644
index 000000000..8d380ec93
--- /dev/null
+++ b/offapi/com/sun/star/presentation/HeaderShape.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_presentation_HeaderShape_idl__
+#define __com_sun_star_presentation_HeaderShape_idl__
+
+#include <com/sun/star/presentation/Shape.idl>
+
+#include <com/sun/star/drawing/TextShape.idl>
+
+
+
+ module com { module sun { module star { module presentation {
+
+
+/** This service is implemented by the header presentation shape.
+
+ <p>Presentation shapes can be used in a presentation
+ page layouts and their position and size is by default set
+ by the presentation shapes on the com::sun::star::drawing::MasterPage.
+ */
+service HeaderShape
+{
+ service com::sun::star::presentation::Shape;
+
+ service com::sun::star::drawing::TextShape;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/presentation/NotesShape.idl b/offapi/com/sun/star/presentation/NotesShape.idl
new file mode 100644
index 000000000..bcf950c22
--- /dev/null
+++ b/offapi/com/sun/star/presentation/NotesShape.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_presentation_NotesShape_idl__
+#define __com_sun_star_presentation_NotesShape_idl__
+
+#include <com/sun/star/presentation/Shape.idl>
+
+#include <com/sun/star/drawing/TextShape.idl>
+
+
+
+ module com { module sun { module star { module presentation {
+
+
+/** This service is implemented by the notes presentation shape.
+
+ <p>Presentation shapes can be used in a presentation
+ page layouts and their position and size is by default set
+ by the presentation shapes on the com::sun::star::drawing::MasterPage.
+ */
+published service NotesShape
+{
+ service com::sun::star::presentation::Shape;
+
+ service com::sun::star::drawing::TextShape;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/presentation/NotesView.idl b/offapi/com/sun/star/presentation/NotesView.idl
new file mode 100644
index 000000000..65e6de6c7
--- /dev/null
+++ b/offapi/com/sun/star/presentation/NotesView.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_presentation_NotesView_idl__
+#define __com_sun_star_presentation_NotesView_idl__
+
+#include <com/sun/star/drawing/DrawingDocumentDrawView.idl>
+
+
+ module com { module sun { module star { module presentation {
+
+
+/** This component integrates a view to a handout page inside a presentation
+ document into the desktop.
+
+ @since OOo 1.1.2
+ */
+published service NotesView
+{
+
+ /** this services offers the integration of this component into the
+ desktop and the basic interfaces and properties of a draw view.
+ */
+ service com::sun::star::drawing::DrawingDocumentDrawView;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/presentation/OLE2Shape.idl b/offapi/com/sun/star/presentation/OLE2Shape.idl
new file mode 100644
index 000000000..8914c92ff
--- /dev/null
+++ b/offapi/com/sun/star/presentation/OLE2Shape.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_presentation_OLE2Shape_idl__
+#define __com_sun_star_presentation_OLE2Shape_idl__
+
+#include <com/sun/star/presentation/Shape.idl>
+
+#include <com/sun/star/drawing/OLE2Shape.idl>
+
+
+
+ module com { module sun { module star { module presentation {
+
+
+/** This service is implemented by the OLE2 presentation shape.
+
+ <p>Presentation shapes can be used in a presentation
+ page layouts and their position and size is by default set
+ by the presentation shapes on the com::sun::star::drawing::MasterPage.
+ */
+published service OLE2Shape
+{
+ service com::sun::star::presentation::Shape;
+
+ service com::sun::star::drawing::OLE2Shape;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/presentation/OutlineView.idl b/offapi/com/sun/star/presentation/OutlineView.idl
new file mode 100644
index 000000000..2eb9d7d2c
--- /dev/null
+++ b/offapi/com/sun/star/presentation/OutlineView.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_presentation_OutlineView_idl__
+#define __com_sun_star_presentation_OutlineView_idl__
+
+#include <com/sun/star/drawing/XDrawView.idl>
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+#include <com/sun/star/frame/Controller.idl>
+
+#include <com/sun/star/drawing/XDrawPage.idl>
+
+#include <com/sun/star/awt/XWindow.idl>
+
+
+ module com { module sun { module star { module presentation {
+
+
+/** This component integrates an outline view to a presentation
+ document into the desktop.
+
+ In an outline view, the textual contents of presentation text objects
+ from all presentation pages are presented as a continuous outline text.
+
+ @since OOo 1.1.2
+ */
+published service OutlineView
+{
+
+ /** this services offers the integration of this component into the
+ desktop.
+ */
+ service com::sun::star::frame::Controller;
+
+
+ /** lets you access the window for this view
+ */
+ interface com::sun::star::awt::XWindow;
+
+
+
+ /** lets you access the properties of this service.
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+
+ /** This is the area that is currently visible.
+ */
+ [readonly, property] com::sun::star::awt::Rectangle VisibleArea;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/presentation/OutlinerShape.idl b/offapi/com/sun/star/presentation/OutlinerShape.idl
new file mode 100644
index 000000000..be5267493
--- /dev/null
+++ b/offapi/com/sun/star/presentation/OutlinerShape.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_presentation_OutlinerShape_idl__
+#define __com_sun_star_presentation_OutlinerShape_idl__
+
+#include <com/sun/star/presentation/Shape.idl>
+
+#include <com/sun/star/drawing/TextShape.idl>
+
+
+
+ module com { module sun { module star { module presentation {
+
+
+/** This service is implemented by the outline presentation shape.
+
+ <p>Presentation shapes can be used in a presentation
+ page layouts and their position and size is by default set
+ by the presentation shapes on the com::sun::star::drawing::MasterPage.
+ */
+published service OutlinerShape
+{
+ service com::sun::star::presentation::Shape;
+
+ service com::sun::star::drawing::TextShape;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/presentation/PageShape.idl b/offapi/com/sun/star/presentation/PageShape.idl
new file mode 100644
index 000000000..0730b1ee2
--- /dev/null
+++ b/offapi/com/sun/star/presentation/PageShape.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_presentation_PageShape_idl__
+#define __com_sun_star_presentation_PageShape_idl__
+
+#include <com/sun/star/presentation/Shape.idl>
+
+#include <com/sun/star/drawing/PageShape.idl>
+
+
+
+ module com { module sun { module star { module presentation {
+
+
+/** This service is implemented by the page presentation shape.
+
+ <p>Presentation shapes can be used in a presentation
+ page layouts and their position and size is by default set
+ by the presentation shapes on the com::sun::star::drawing::MasterPage.
+ */
+published service PageShape
+{
+ service com::sun::star::presentation::Shape;
+
+ service com::sun::star::drawing::PageShape;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/presentation/ParagraphTarget.idl b/offapi/com/sun/star/presentation/ParagraphTarget.idl
new file mode 100644
index 000000000..ad36ed7bb
--- /dev/null
+++ b/offapi/com/sun/star/presentation/ParagraphTarget.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_presentation_ParagraphTarget_idl__
+#define __com_sun_star_presentation_ParagraphTarget_idl__
+
+#include <com/sun/star/drawing/XShape.idl>
+
+
+ module com { module sun { module star { module presentation {
+
+
+/** an event has a source that causes an event to be fired and a trigger
+ that defines under which condition an event should be raised and
+ an offset if the event should be raised a defined amount of time
+ after the event is triggered.
+*/
+struct ParagraphTarget
+{
+ /** */
+ com::sun::star::drawing::XShape Shape;
+
+ /** */
+ short Paragraph;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/presentation/Presentation.idl b/offapi/com/sun/star/presentation/Presentation.idl
new file mode 100644
index 000000000..6ba0c95bb
--- /dev/null
+++ b/offapi/com/sun/star/presentation/Presentation.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_presentation_Presentation_idl__
+#define __com_sun_star_presentation_Presentation_idl__
+
+#include <com/sun/star/presentation/XPresentation.idl>
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+
+
+ module com { module sun { module star { module presentation {
+
+
+/** This service is a presentation that is available from a
+ PresentationDocument via the
+ XPresentationSupplier interface.
+ */
+published service Presentation
+{
+ /** lets you start and stop a presentation.
+
+ <p>It also gives you access to the more advanced features, like
+ rehearse timing and the live modes.
+ */
+ interface com::sun::star::presentation::XPresentation;
+
+
+ /** This is the standard interface for access to the properties from this
+ service.
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+
+ /** enables/disables the shape animations.
+ */
+ [property] boolean AllowAnimations;
+
+
+ /** If this string is not empty, it contains the name of a customized
+ show that is used for the presentation.
+ */
+ [property] string CustomShow;
+
+
+ /** If this string is not empty, it contains the name of the page where
+ the presentation is started.
+ */
+ [property] string FirstPage;
+
+
+ /** If this property is set to `TRUE`, the window of the presentation is
+ always on top of all other windows.
+ */
+ [property] boolean IsAlwaysOnTop;
+
+
+ /** If this property is `TRUE`, all pages are changed automatically.
+
+ <p>This overrides the properties of the pages.</p>
+ */
+ [property] boolean IsAutomatic;
+
+
+ /** If this property is set to `TRUE`, the presentation is repeated
+ endlessly.
+ */
+ [property] boolean IsEndless;
+
+
+ /** If this property is set to `TRUE`, the presentation runs in
+ full-screen mode.
+ */
+ [property] boolean IsFullScreen;
+
+
+ /** With this property, you can set the presentation to live mode.
+ <p>Implementations that have no live mode capability may ignore this
+ property and always return false.
+ */
+ [property] boolean IsLivePresentation;
+
+
+ /** If this property is `TRUE`, the mouse is visible during the
+ presentation.
+ */
+ [property] boolean IsMouseVisible;
+
+
+ /** is the duration of the black screen after the
+ presentation has finished.
+
+ <p>If this is set to <code>0</code>, no black screen is shown.</p>
+ */
+ [property] long Pause;
+
+
+ /** If this is set to `TRUE`, the Navigator is opened at the start of the
+ presentation.
+ */
+ [property] boolean StartWithNavigator;
+
+
+ /** If this is `TRUE`, a pen is shown during presentation.
+
+ <p>You can draw on the presentation with this pen.</p>
+ */
+ [property] boolean UsePen;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/presentation/Presentation2.idl b/offapi/com/sun/star/presentation/Presentation2.idl
new file mode 100644
index 000000000..406f04245
--- /dev/null
+++ b/offapi/com/sun/star/presentation/Presentation2.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_presentation_Presentation2_idl__
+#define __com_sun_star_presentation_Presentation2_idl__
+
+#include <com/sun/star/presentation/Presentation.idl>
+#include <com/sun/star/presentation/XPresentation2.idl>
+
+
+ module com { module sun { module star { module presentation {
+
+
+/** enhances the Presentation service to give access to a XPresentation2 interface.
+
+ @since OOo 3.0
+*/
+service Presentation2
+{
+ service Presentation;
+
+ /** enhances the XPresentation interface to give access to
+ a XSlideShowController and
+ to start a presentation with arguments.
+ */
+ interface com::sun::star::presentation::XPresentation2;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/presentation/PresentationDocument.idl b/offapi/com/sun/star/presentation/PresentationDocument.idl
new file mode 100644
index 000000000..55622acfc
--- /dev/null
+++ b/offapi/com/sun/star/presentation/PresentationDocument.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_presentation_PresentationDocument_idl__
+#define __com_sun_star_presentation_PresentationDocument_idl__
+
+#include <com/sun/star/drawing/GenericDrawingDocument.idl>
+#include <com/sun/star/presentation/XPresentationSupplier.idl>
+#include <com/sun/star/presentation/XCustomPresentationSupplier.idl>
+#include <com/sun/star/document/XLinkTargetSupplier.idl>
+
+
+
+ module com { module sun { module star { module presentation {
+
+
+/** This is the service provided by a presentation document.
+ */
+service PresentationDocument
+{
+ /** This is a basic service for a drawing document.
+
+ <p>The following services are available at the
+ com::sun::star::lang::XMultiServiceFactory
+ only in a presentation application
+
+ <ul>
+ <li>TitleTextShape</li>
+ <li>OutlinerShape</li>
+ <li>SubtitleShape</li>
+ <li>GraphicObjectShape</li>
+ <li>PageShape</li>
+ <li>OLE2Shape</li>
+ <li>ChartShape</li>
+ <li>NotesShape</li>
+ <li>HandoutShape</li>
+ <li>HeaderShape</li>
+ <li>FooterShape</li>
+ <li>SlideNumberShape</li>
+ <li>DateTimeShape</li>
+ <li>DocumentSettings</li>
+ <li>textfield::Header</li>
+ <li>textfield::Footer</li>
+ <li>textfield::DateTime</li>
+ </ul>
+ */
+ service com::sun::star::drawing::GenericDrawingDocument;
+
+ /** lets you access the presentation of this document.
+ */
+ interface com::sun::star::presentation::XPresentationSupplier;
+
+ /** lets you access the custom presentations of this
+ document.
+ */
+ interface com::sun::star::presentation::XCustomPresentationSupplier;
+
+ /** gives you access to the first link hierarchy inside
+ a document, the pages.
+ */
+ interface com::sun::star::document::XLinkTargetSupplier;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/presentation/PresentationRange.idl b/offapi/com/sun/star/presentation/PresentationRange.idl
new file mode 100644
index 000000000..03fa04b4b
--- /dev/null
+++ b/offapi/com/sun/star/presentation/PresentationRange.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_presentation_PresentationRange_idl__
+#define __com_sun_star_presentation_PresentationRange_idl__
+
+
+
+ module com { module sun { module star { module presentation {
+
+
+/** specifies which part of the presentation is to show.
+ */
+published enum PresentationRange
+{
+ /** use all slides.
+ */
+ PRESENTATIONRANGE_ALL,
+
+
+ /** use only the active slide.
+ */
+ PRESENTATIONRANGE_FROM_PAGE,
+
+
+ /** use an individual choice of slides.
+ */
+ PRESENTATIONRANGE_INDIVIDUAL
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/presentation/PresentationView.idl b/offapi/com/sun/star/presentation/PresentationView.idl
new file mode 100644
index 000000000..9300dcb85
--- /dev/null
+++ b/offapi/com/sun/star/presentation/PresentationView.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_presentation_PresentationView_idl__
+#define __com_sun_star_presentation_PresentationView_idl__
+
+#include <com/sun/star/drawing/XDrawView.idl>
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+#include <com/sun/star/frame/Controller.idl>
+
+#include <com/sun/star/drawing/XDrawPage.idl>
+#include <com/sun/star/awt/XWindow.idl>
+
+
+
+module com { module sun { module star { module presentation {
+
+
+/** This component integrates a view to a slide show of a presentation
+ document into the desktop.
+ */
+published service PresentationView
+{
+
+ /** this services offers the integration of this component into the
+ desktop.
+ */
+ service com::sun::star::frame::Controller;
+
+
+ /** lets you access the window for this view
+ */
+ interface com::sun::star::awt::XWindow;
+
+
+ /** lets you set/get the current page displayed by this
+ view.
+ */
+ interface com::sun::star::drawing::XDrawView;
+
+
+ /** lets you access the properties of this service.
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+
+ /** This is the drawing page that is currently visible.
+ */
+ [property] com::sun::star::drawing::XDrawPage CurrentPage;
+
+
+ /** This is the area that is currently visible.
+ */
+ [readonly, property] com::sun::star::awt::Rectangle VisibleArea;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/presentation/PreviewView.idl b/offapi/com/sun/star/presentation/PreviewView.idl
new file mode 100644
index 000000000..5542f4d7c
--- /dev/null
+++ b/offapi/com/sun/star/presentation/PreviewView.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_presentation_PreviewView_idl__
+#define __com_sun_star_presentation_PreviewView_idl__
+
+#include <com/sun/star/drawing/XDrawView.idl>
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+#include <com/sun/star/frame/Controller.idl>
+
+#include <com/sun/star/drawing/XDrawPage.idl>
+
+#include <com/sun/star/awt/XWindow.idl>
+
+
+module com { module sun { module star { module presentation {
+
+
+/** This component integrates a preview view to a slide show of a presentation
+ document into the desktop.
+
+ @since OOo 1.1.2
+ */
+published service PreviewView
+{
+
+ /** this services offers the integration of this component into the
+ desktop.
+ */
+ service com::sun::star::frame::Controller;
+
+
+ /** lets you access the window for this view
+ */
+ interface com::sun::star::awt::XWindow;
+
+
+ /** lets you set/get the current page displayed by this
+ view.
+ */
+ interface com::sun::star::drawing::XDrawView;
+
+
+
+ /** lets you access the properties of this service.
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+
+ /** This is the drawing page that is currently visible.
+ */
+ [property] com::sun::star::drawing::XDrawPage CurrentPage;
+
+
+ /** This is the area that is currently visible.
+ */
+ [readonly, property] com::sun::star::awt::Rectangle VisibleArea;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/presentation/Shape.idl b/offapi/com/sun/star/presentation/Shape.idl
new file mode 100644
index 000000000..9b2a63409
--- /dev/null
+++ b/offapi/com/sun/star/presentation/Shape.idl
@@ -0,0 +1,147 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_presentation_Shape_idl__
+#define __com_sun_star_presentation_Shape_idl__
+
+#include <com/sun/star/util/Color.idl>
+#include <com/sun/star/presentation/AnimationEffect.idl>
+
+#include <com/sun/star/presentation/ClickAction.idl>
+
+#include <com/sun/star/presentation/AnimationSpeed.idl>
+
+
+
+ module com { module sun { module star { module presentation {
+
+
+/** this service is supported from all shapes inside a PresentationDocument.
+
+
+ This usually enhances objects of type com::sun::star::drawing::Shape with
+ presentation properties.
+*/
+published service Shape
+{
+
+ /** is a generic URL for the property OnClick.
+ */
+ [property] string Bookmark;
+
+
+ /** This is the color for dimming this shape.
+
+ <p>This color is used if the property com::sun::star::drawing::Shape::DimPrev
+ is `TRUE` and com::sun::star::drawing::Shape::DimHide is `FALSE`.</p>
+ */
+ [property] com::sun::star::util::Color DimColor;
+
+
+ /** If this property and the property com::sun::star::drawing::Shape::DimPrev
+ are both `TRUE`, the shape is hidden instead of dimmed to a color.
+ */
+ [property] boolean DimHide;
+
+
+ /** If this property is `TRUE`, this shape is dimmed to the color of
+ property com::sun::star::drawing::Shape::DimColor after executing its
+ animation effect.
+ */
+ [property] boolean DimPrevious;
+
+
+ /** selects the animation effect of this shape.
+ */
+ [property] com::sun::star::presentation::AnimationEffect Effect;
+
+
+ /** If this is a default presentation object and if it is empty,
+ this property is `TRUE`.
+ */
+ [property] boolean IsEmptyPresentationObject;
+
+
+ /** If this is a presentation object, this property is `TRUE`.
+ <p>Presentation objects are objects like TitleTextShape and
+ OutlinerShape.</p>
+ */
+ [readonly, property] boolean IsPresentationObject;
+
+
+ /** selects an action performed after the user clicks
+ on this shape.
+ */
+ [property] com::sun::star::presentation::ClickAction OnClick;
+
+
+ /** If this property is `TRUE`, the sound of this shape is played in
+ full.
+
+ <p>The default behavior is to stop the sound after completing the
+ animation effect.</p>
+ */
+ [property] boolean PlayFull;
+
+
+ /** This is the position of this shape in the order of the shapes which
+ can be animated on its page.
+
+ <p>The animations are executed in this order, starting at the shape
+ with the PresentationOrder "one." You can change the order by
+ changing this number. Setting it to "one" makes this shape the
+ first shape in the execution order for the animation effects.</p>
+ */
+ [property] long PresentationOrder;
+
+
+ /** This is the URL to a sound file that is played while the animation
+ effect of this shape is running.
+ */
+ [property] string Sound;
+
+
+ /** If this property is set to `TRUE`, a sound is played while the
+ animation effect is executed.
+ */
+ [property] boolean SoundOn;
+
+
+ /** This is the speed of the animation effect.
+ */
+ [property] com::sun::star::presentation::AnimationSpeed Speed;
+
+
+ /** This is the animation effect for the text inside this shape.
+ */
+ [property] com::sun::star::presentation::AnimationEffect TextEffect;
+
+
+ /** specifies an "OLE2" verb for the ClickAction VERB in
+ the property com::sun::star::drawing::Shape::OnClick.
+ */
+ [property] long Verb;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/presentation/ShapeAnimationSubType.idl b/offapi/com/sun/star/presentation/ShapeAnimationSubType.idl
new file mode 100644
index 000000000..57214c385
--- /dev/null
+++ b/offapi/com/sun/star/presentation/ShapeAnimationSubType.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_presentation_ShapeAnimationSubType_idl__
+#define __com_sun_star_presentation_ShapeAnimationSubType_idl__
+
+
+ module com { module sun { module star { module presentation {
+
+
+/** Defines the whole shape or a subitem as a target for an
+ effect.
+
+ @see ::com::sun::star::animations::XAnimate::SubItem
+ @see ::com::sun::star::animations::XIterateContainer::SubItem
+*/
+constants ShapeAnimationSubType
+{
+ /** the whole shape is a target
+ */
+ const short AS_WHOLE = 0;
+
+ /** only the background is a target.
+ <br>
+ The Background of a shape is the whole shape except all
+ visible elements that are part of the shapes text.
+ */
+ const short ONLY_BACKGROUND = 1;
+
+ /** only the text is a target.
+ <br>
+ This includes all glyphs, font decorations and bullets.
+ */
+ const short ONLY_TEXT = 2;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/presentation/SlideNumberShape.idl b/offapi/com/sun/star/presentation/SlideNumberShape.idl
new file mode 100644
index 000000000..399d9d7ca
--- /dev/null
+++ b/offapi/com/sun/star/presentation/SlideNumberShape.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_presentation_SlideNumberShape_idl__
+#define __com_sun_star_presentation_SlideNumberShape_idl__
+
+#include <com/sun/star/presentation/Shape.idl>
+
+#include <com/sun/star/drawing/TextShape.idl>
+
+
+
+ module com { module sun { module star { module presentation {
+
+
+/** This service is implemented by the slide number presentation shape.
+
+ <p>Presentation shapes can be used in a presentation
+ page layouts and their position and size is by default set
+ by the presentation shapes on the com::sun::star::drawing::MasterPage.
+ */
+service SlideNumberShape
+{
+ service com::sun::star::presentation::Shape;
+
+ service com::sun::star::drawing::TextShape;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/presentation/SlideShow.idl b/offapi/com/sun/star/presentation/SlideShow.idl
new file mode 100644
index 000000000..acd61536b
--- /dev/null
+++ b/offapi/com/sun/star/presentation/SlideShow.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef _com_sun_star_presentation_SlideShow_idl
+#define _com_sun_star_presentation_SlideShow_idl
+
+#include <com/sun/star/presentation/XSlideShow.idl>
+
+module com { module sun { module star { module presentation {
+
+service SlideShow : XSlideShow;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/presentation/SlidesView.idl b/offapi/com/sun/star/presentation/SlidesView.idl
new file mode 100644
index 000000000..0e8d0a527
--- /dev/null
+++ b/offapi/com/sun/star/presentation/SlidesView.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_presentation_SlidesView_idl__
+#define __com_sun_star_presentation_SlidesView_idl__
+
+#include <com/sun/star/drawing/XDrawView.idl>
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+#include <com/sun/star/frame/Controller.idl>
+
+#include <com/sun/star/drawing/XDrawPage.idl>
+
+#include <com/sun/star/awt/XWindow.idl>
+
+
+ module com { module sun { module star { module presentation {
+
+
+/** This component integrates a slides view to a presentation
+ document into the desktop.
+
+ In a slides view, the pages of a presentation document are displayed
+ to the user as thumbnails and can be arranged and cut/copied to/from
+ the clipboard.
+
+ @since OOo 1.1.2
+ */
+published service SlidesView
+{
+
+ /** this services offers the integration of this component into the
+ desktop.
+ */
+ service com::sun::star::frame::Controller;
+
+
+ /** lets you access the window for this view
+ */
+ interface com::sun::star::awt::XWindow;
+
+
+
+ /** lets you access the properties of this service.
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+
+ /** This is the area that is currently visible.
+ */
+ [readonly, property] com::sun::star::awt::Rectangle VisibleArea;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/presentation/SubtitleShape.idl b/offapi/com/sun/star/presentation/SubtitleShape.idl
new file mode 100644
index 000000000..5c02523ab
--- /dev/null
+++ b/offapi/com/sun/star/presentation/SubtitleShape.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_presentation_SubtitleShape_idl__
+#define __com_sun_star_presentation_SubtitleShape_idl__
+
+#include <com/sun/star/presentation/Shape.idl>
+
+#include <com/sun/star/drawing/TextShape.idl>
+
+
+
+ module com { module sun { module star { module presentation {
+
+
+/** This service is implemented by the subtitle presentation shape.
+
+ <p>Presentation shapes can be used in a presentation
+ page layouts and their position and size is by default set
+ by the presentation shapes on the com::sun::star::drawing::MasterPage.
+ */
+published service SubtitleShape
+{
+ service com::sun::star::presentation::Shape;
+
+ service com::sun::star::drawing::TextShape;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/presentation/TextAnimationType.idl b/offapi/com/sun/star/presentation/TextAnimationType.idl
new file mode 100644
index 000000000..bd3dbf2ea
--- /dev/null
+++ b/offapi/com/sun/star/presentation/TextAnimationType.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_presentation_TextAnimationType_idl__
+#define __com_sun_star_presentation_TextAnimationType_idl__
+
+
+ module com { module sun { module star { module presentation {
+
+
+/** Defines how a target ::com::sun::star::text::XTextRange
+ is animated inside an ::com::sun::star::animations::XIterateContainer.
+ <br>
+ This is stored inside the attribute
+ ::com::sun::star::animations::XIterateContainer::IterateType.
+ <br>
+ @see ::com::sun::star::animations::XIterateContainer
+*/
+constants TextAnimationType
+{
+ /** the text is animated paragraph by paragraph
+ */
+ const short BY_PARAGRAPH = 0;
+
+ /** the text is animated word by word
+ */
+ const short BY_WORD = 1;
+
+ /** the text is animated letter by letter.
+ */
+ const short BY_LETTER = 2;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/presentation/TitleTextShape.idl b/offapi/com/sun/star/presentation/TitleTextShape.idl
new file mode 100644
index 000000000..25b6cb211
--- /dev/null
+++ b/offapi/com/sun/star/presentation/TitleTextShape.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_presentation_TitleTextShape_idl__
+#define __com_sun_star_presentation_TitleTextShape_idl__
+
+#include <com/sun/star/presentation/Shape.idl>
+
+#include <com/sun/star/drawing/TextShape.idl>
+
+
+
+ module com { module sun { module star { module presentation {
+
+
+/** This service is implemented by the title and subtitle presentation shape.
+
+ <p>Presentation shapes can be used in a presentation
+ page layouts and their position and size is by default set
+ by the presentation shapes on the com::sun::star::drawing::MasterPage.
+ */
+published service TitleTextShape
+{
+ service com::sun::star::presentation::Shape;
+
+ service com::sun::star::drawing::TextShape;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/presentation/TransitionFactory.idl b/offapi/com/sun/star/presentation/TransitionFactory.idl
new file mode 100644
index 000000000..a4c93c9f9
--- /dev/null
+++ b/offapi/com/sun/star/presentation/TransitionFactory.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_presentation_TransitionFactory_idl__
+#define __com_sun_star_presentation_TransitionFactory_idl__
+
+#include <com/sun/star/presentation/XTransitionFactory.idl>
+
+
+module com { module sun { module star { module presentation {
+
+service TransitionFactory : XTransitionFactory;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/presentation/XCustomPresentationSupplier.idl b/offapi/com/sun/star/presentation/XCustomPresentationSupplier.idl
new file mode 100644
index 000000000..aca8f8a33
--- /dev/null
+++ b/offapi/com/sun/star/presentation/XCustomPresentationSupplier.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_presentation_XCustomPresentationSupplier_idl__
+#define __com_sun_star_presentation_XCustomPresentationSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/container/XNameContainer.idl>
+
+
+
+ module com { module sun { module star { module presentation {
+
+
+/** must be supported to provide access to customized
+ presentations of a presentation document.
+
+ @see XCustomPresentation
+ @see XCustomPresentationAccess
+ */
+published interface XCustomPresentationSupplier: com::sun::star::uno::XInterface
+{
+
+ /** @returns
+ the CustomPresentation.
+ */
+ com::sun::star::container::XNameContainer getCustomPresentations();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/presentation/XHandoutMasterSupplier.idl b/offapi/com/sun/star/presentation/XHandoutMasterSupplier.idl
new file mode 100644
index 000000000..bc3c2cb46
--- /dev/null
+++ b/offapi/com/sun/star/presentation/XHandoutMasterSupplier.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_presentation_XHandoutMasterSupplier_idl__
+#define __com_sun_star_presentation_XHandoutMasterSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/drawing/XDrawPage.idl>
+
+
+
+ module com { module sun { module star { module presentation {
+
+
+/** returns the handout master page for this document
+ */
+published interface XHandoutMasterSupplier: com::sun::star::uno::XInterface
+{
+ /** returns the DrawPage.
+ */
+ com::sun::star::drawing::XDrawPage getHandoutMasterPage();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/presentation/XPresentation.idl b/offapi/com/sun/star/presentation/XPresentation.idl
new file mode 100644
index 000000000..c673fe278
--- /dev/null
+++ b/offapi/com/sun/star/presentation/XPresentation.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_presentation_XPresentation_idl__
+#define __com_sun_star_presentation_XPresentation_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+ module com { module sun { module star { module presentation {
+
+
+/** With this interface you can control any object that implements
+ a Presentation.
+*/
+published interface XPresentation: com::sun::star::uno::XInterface
+{
+
+ /** The presentation is shown in full-screen and started from the
+ beginning.
+ */
+ void start();
+
+
+ /** The presentation is stopped and the full-screen mode will end.
+ */
+ void end();
+
+
+ /** Starts the presentation from the beginning and shows the
+ actual running time to the user.
+ */
+ void rehearseTimings();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/presentation/XPresentation2.idl b/offapi/com/sun/star/presentation/XPresentation2.idl
new file mode 100644
index 000000000..fb7b552b1
--- /dev/null
+++ b/offapi/com/sun/star/presentation/XPresentation2.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_presentation_XPresentation2_idl__
+#define __com_sun_star_presentation_XPresentation2_idl__
+
+#include <com/sun/star/presentation/XPresentation.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/presentation/XSlideShowListener.idl>
+#include <com/sun/star/presentation/XSlideShowController.idl>
+
+
+ module com { module sun { module star { module presentation {
+
+
+/** enhances the XPresentation interface to give access to
+ a XSlideShowController and
+ to start a presentation with arguments.
+
+ @since OOo 3.0
+*/
+interface XPresentation2
+{
+
+ /** allows to start and stop the presentation.
+ */
+ interface XPresentation;
+
+
+ /** gives access to the properties of the slide show.
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+
+ /** start the slide show with the given arguments.
+ All arguments override the values from Presentation.
+ */
+ void startWithArguments( [in] sequence< ::com::sun::star::beans::PropertyValue > Arguments );
+
+
+ /** returns true if the slide show is currently running */
+ boolean isRunning();
+
+
+ /** if the slide show is running, this returns a controller object to
+ control the running slide show. */
+ XSlideShowController getController();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/presentation/XPresentationPage.idl b/offapi/com/sun/star/presentation/XPresentationPage.idl
new file mode 100644
index 000000000..7594248ca
--- /dev/null
+++ b/offapi/com/sun/star/presentation/XPresentationPage.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_presentation_XPresentationPage_idl__
+#define __com_sun_star_presentation_XPresentationPage_idl__
+
+#include <com/sun/star/drawing/XDrawPage.idl>
+
+
+
+ module com { module sun { module star { module presentation {
+
+
+/** describes a page from a presentation.
+
+ @see com::sun::star::drawing::DrawPage
+ */
+published interface XPresentationPage: com::sun::star::drawing::XDrawPage
+{
+
+ /** return the note page from the current page in the presentation,
+ the name for the note page in the user interface note view, and one of the views
+ from a presentation page.
+ */
+ com::sun::star::drawing::XDrawPage getNotesPage();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/presentation/XPresentationSupplier.idl b/offapi/com/sun/star/presentation/XPresentationSupplier.idl
new file mode 100644
index 000000000..81887e3b6
--- /dev/null
+++ b/offapi/com/sun/star/presentation/XPresentationSupplier.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_presentation_XPresentationSupplier_idl__
+#define __com_sun_star_presentation_XPresentationSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/presentation/XPresentation.idl>
+
+
+
+ module com { module sun { module star { module presentation {
+
+
+/** controls a presentation directly. This supplier will do this.
+ */
+published interface XPresentationSupplier: com::sun::star::uno::XInterface
+{
+
+ /**
+ @returns an interface to control a presentation.
+ */
+ com::sun::star::presentation::XPresentation getPresentation();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/presentation/XShapeEventListener.idl b/offapi/com/sun/star/presentation/XShapeEventListener.idl
new file mode 100644
index 000000000..61f7c74b8
--- /dev/null
+++ b/offapi/com/sun/star/presentation/XShapeEventListener.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_presentation_XShapeEventListener_idl__
+#define __com_sun_star_presentation_XShapeEventListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+#include <com/sun/star/awt/XMouseListener.idl>
+#include <com/sun/star/drawing/XShape.idl>
+
+module com { module sun { module star { module presentation {
+
+/** Listener interface to receive shape-specific events.<p>
+
+ @since OOo 2.4
+ */
+interface XShapeEventListener : ::com::sun::star::lang::XEventListener
+{
+ /** Notify a clicked shape.<p>
+
+ This method notifies the listener that a shape was
+ clicked.<p>
+
+ @param xShape
+ The shape that was clicked upon.
+
+ @param aOriginalEvent
+ The original mouse click event that generated this notification.
+ */
+ void click( [in] ::com::sun::star::drawing::XShape xShape,
+ [in] ::com::sun::star::awt::MouseEvent aOriginalEvent );
+};
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/presentation/XSlideShow.idl b/offapi/com/sun/star/presentation/XSlideShow.idl
new file mode 100644
index 000000000..fe232b372
--- /dev/null
+++ b/offapi/com/sun/star/presentation/XSlideShow.idl
@@ -0,0 +1,344 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef _com_sun_star_presentation_XSlideShow_idl
+#define _com_sun_star_presentation_XSlideShow_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/geometry/RealRectangle2D.idl>
+#include <com/sun/star/rendering/XSpriteCanvas.idl>
+#include <com/sun/star/animations/XAnimationNode.idl>
+#include <com/sun/star/lang/XMultiServiceFactory.idl>
+#include <com/sun/star/drawing/XDrawPage.idl>
+#include <com/sun/star/drawing/XDrawPagesSupplier.idl>
+#include <com/sun/star/drawing/XShape.idl>
+#include <com/sun/star/presentation/XSlideShowView.idl>
+#include <com/sun/star/presentation/XSlideShowListener.idl>
+#include <com/sun/star/presentation/XShapeEventListener.idl>
+
+module com { module sun { module star { module presentation {
+
+/** Slide show interface to perform slide show presentations.<p>
+
+ This interface provides the necessary methods to run and control a
+ slide show from a given set of XDrawPage slides. The slide show can
+ be displayed simultaneously on multiple targets.<p>
+
+ Note: To control a running slide show inside a presentation, please
+ use XPresentation2 and XSlideShowController.
+
+ @since OOo 3.0
+ */
+interface XSlideShow : ::com::sun::star::uno::XInterface
+{
+ /** Trigger the next effect of the slide show.<p>
+
+ This method triggers the next effect on the currently
+ displayed slide. If there is currently no slide show running,
+ this method does nothing. If there are no more effects on the
+ current slide, a possible slide transition effect is issued
+ and the next slide is displayed.<p>
+
+ @return `TRUE`, if the next effect was successfully
+ triggered. This method returns `FALSE`, if there is no show
+ running, the last effect on the last slide was already
+ triggered, or the implementation failed to trigger the next
+ effect.
+ */
+ boolean nextEffect();
+
+ /** Undo the last effect in the main sequence of the slide show.<p>
+
+ The current slide is displayed as if the last user-triggered effect
+ has never been triggered. If there is no previous effect on the
+ current slide then slideEnded(true) is called at the registered
+ XSlideShowListener objects, which can then trigger a change to the
+ previous slide. Note that this command is executed asynchronously.
+ Multiple calls to update() may be necessary to complete its execution.
+ If there is currently no slide show running, this method does
+ nothing.<p>
+
+ @return `TRUE`, if the previous effect was successfully
+ triggered. This method returns `FALSE`, if there is no show
+ running, the first effect on the first slide was not yet
+ triggered, or the implementation failed to trigger the previous
+ effect.
+ */
+ boolean previousEffect();
+
+ /** Start a shape-intrinsic animation or activity.<p>
+
+ This method starts an animation or activity intrinsic to the
+ given shape. Shape-intrinsic activities are things like video
+ playback for multimedia shapes, sounds, GIF animations and
+ drawing layer animations (flipping between shapes in a group,
+ or scroll text).<p>
+
+ @param xShape
+ The shape to start the activity for
+ */
+ boolean startShapeActivity( [in] ::com::sun::star::drawing::XShape xShape );
+
+ /** Stop a shape-intrinsic animation or activity.<p>
+
+ This method stops an animation or activity intrinsic to the
+ given shape. Shape-intrinsic activities are things like video
+ playback for multimedia shapes, sounds, GIF animations and
+ drawing layer animations (flipping between shapes in a group,
+ or scroll text).<p>
+
+ @param xShape
+ The shape to stop the activity for
+ */
+ boolean stopShapeActivity( [in] ::com::sun::star::drawing::XShape xShape );
+
+ /** Jump to the given slide.<p>
+
+ This method ends all effects on the current slide, displays a
+ possible slide transition, followed by the given slide. If the
+ current slide is equal to the requested slide here, this
+ method does nothing (this especially means, that any currently
+ active effects will remain running).<p>
+
+ @param xSlide
+ The slide to display.
+
+ @param xDrawPages
+ For future use.
+
+ @param AnimationNode
+ The animation node determine the animations to display.
+
+ @param aProperties
+ Sequence of property values, which influence the way the
+ slide is displayed. Currently, the
+ following values are recognized:
+ <ul>
+ <li>name: Prefetch, value: ::com::sun::star::drawing::XDrawPage. When given,
+ this slide is prepared in the background to be displayed next. The next
+ call to displaySlide() with the given slide may be faster if there was
+ enough time for prefetching. If the next call to displaySlide() uses
+ a different slide, this will still work but will not have any performance
+ improvements
+ </li>
+ <li>name: SkipAllMainSequenceEffects, value: boolean.
+ When `TRUE` then all main sequence effects on the new slide
+ are triggered. This is typically used when going back one
+ effect leads to the previous slide. On that slide all
+ effects have to be shown in order to continue the backward
+ traveling.
+ When `FALSE`, the default, then no main sequence effect is
+ triggered.
+ </li>
+ <li>name: SkipSlideTransition, value: boolean.
+ When `TRUE` then the slide transition animation, if there
+ is any, is not displayed. This is typically used when going
+ back one effect leads to the previous slide. Typically used
+ together with SkipAllMainSequenceEffects also being `TRUE`.
+ When `FALSE`, the default, then the slide transition
+ effect, if it exists, is played.
+ </li>
+ </ul>
+ */
+ void displaySlide(
+ [in] ::com::sun::star::drawing::XDrawPage xSlide,
+ [in] ::com::sun::star::drawing::XDrawPagesSupplier xDrawPages,
+ [in] ::com::sun::star::animations::XAnimationNode AnimationNode,
+ [in] sequence< ::com::sun::star::beans::PropertyValue > aProperties );
+
+ /** Change the pause state of the slide show.<p>
+
+ This method either pauses the slide show (all currently
+ running effects are stopped), or starts a previously stopped
+ show again (all paused effects start again).<p>
+
+ @param bPauseShow
+ When `TRUE`, the show is paused. When `FALSE`, and the show
+ was paused, it starts running at the paused position again.
+
+ @return `TRUE`, if the requested action was successfully
+ performed.
+ */
+ boolean pause( [in] boolean bPauseShow );
+
+ /** Query the currently displayed slide.<p>
+
+ @return the instance of the current slide. If there's no
+ slide show running at the moment, this method returns an
+ empty reference.
+ */
+ ::com::sun::star::drawing::XDrawPage getCurrentSlide();
+
+ /** Register drawn polygons in presentation mode
+
+ @param xDocFactory
+
+ */
+
+ void registerUserPaintPolygons([in] ::com::sun::star::lang::XMultiServiceFactory xDocFactory);
+
+ /** Change a property of the slide show.<p>
+
+ @param aShowProperty
+ Property values, which influence the way the slides are
+ shown. Note that this might possibly be a subset of what is
+ supported on show(). Currently, the following values
+ are recognized:
+ <ul>
+ <li>name: AutomaticAdvancement, value: double. When given, effects
+ and slides are advanced automatically. The double value specifies
+ the timeout between the end of one effect until the start of the
+ next one. Negative values are truncated to zero here. When given,
+ but with empty value, automatic advancement is disabled again.</li>
+ <li>name: UserPaintColor, value: long. When given, the slide show
+ will display a small stylus as the mouse cursor. When pressing the
+ left mouse key, the user can paint a thin line in the given color.</li>
+ </ul>
+ A changed property is effective immediately.
+ */
+ boolean setProperty(
+ [in] ::com::sun::star::beans::PropertyValue aShowProperty );
+
+ /** Add a view to the slide show.<p>
+
+ This method adds a view to the slide show. After successful
+ completion of this method, the slide show will be visible on
+ the added view, scaled according to the view's output area.<p>
+
+ @param xView
+ The view to add
+
+ @return `TRUE`, if the view has been successfully
+ added. Otherwise, `FALSE` is returned (e.g. if the view is
+ already added).
+ */
+ boolean addView( [in] XSlideShowView xView );
+
+ /** Remove view from the slide show.<p>
+
+ This method removes the given view from the slide show. After
+ successful completion of this method, the slide show will
+ cease to display on this view.<p>
+
+ @param xView
+ View to remove
+
+ @return `TRUE`, if the view was successfully removed, `FALSE`
+ otherwise (e.g. if the view was not added in the first place).
+ */
+ boolean removeView( [in] XSlideShowView xView );
+
+ /** Update the animations.<p>
+
+ This method updates all currently active slide animations. The
+ XSlideShow implementations do not render animations
+ automatically, but must be called from their clients. This
+ allows for various update mechanisms to be employed, ranging
+ from a dedicated rendering thread, over timer-based updates,
+ to rendering in an idle function. Either way, the client of
+ this interface decide about the details.<p>
+
+ @param nNextTimeout
+ Via this value, the implementation can return a timeout value,
+ denoting the maximal time span that must not be exceeded from
+ the return of this method to the next update call. Otherwise,
+ the animations might show visible jerks.
+
+ @return `TRUE`, if further update calls are required. If
+ `FALSE` is returned, no further update calls are necessary,
+ until anyone of the other interface methods is called (most
+ notably, the next/previousSlide(), nextEffect() and show()
+ methods will nearly always make further update() calls
+ necessary).
+ */
+ boolean update( [out] double nNextTimeout );
+
+ /** Add a slide show listener.<p>
+
+ This method adds a listener to the slide show, which will get
+ notified when a registered shape is clicked upon, or a new
+ slide is about to be displayed. Note that the listeners will
+ <em>not</em> be notified, when the slide change is directly
+ requested by one of the nextSlide(), previousSlide() or
+ displaySlide() methods.
+
+ @param xListener
+ Listener to add.
+ */
+ void addSlideShowListener( [in] XSlideShowListener xListener );
+
+ /** Revoke a previously registered slide show listener.<p>
+
+ @param xListener
+ Listener interface to revoke from being called.
+ */
+ void removeSlideShowListener( [in] XSlideShowListener xListener );
+
+ /** Add a shape event listener.<p>
+
+ This method adds a listener to the slide show, which will get
+ notified when a mouse click is performed on the given
+ shape. This can be used by clients of the slide show to
+ trigger external actions, such as jumps to different slides.<p>
+
+ @param xListener
+ Listener to add.
+
+ @param xShape
+ Shape to register a listener for.
+ */
+ void addShapeEventListener(
+ [in] XShapeEventListener xListener,
+ [in] ::com::sun::star::drawing::XShape xShape );
+
+ /** Revoke a previously registered shape event listener.<p>
+
+ @param xListener
+ Listener interface to revoke from being called.
+
+ @param xShape
+ Shape for which the listener should be revoked.
+ */
+ void removeShapeEventListener(
+ [in] XShapeEventListener xListener,
+ [in] ::com::sun::star::drawing::XShape xShape );
+
+ /** Set a special mouse cursor for a shape.<p>
+
+ This method requests the slide show to display a special
+ cursor, whenever the mouse is hovering over the given shape.<p>
+
+ @param xShape
+ Shape to display a special mouse cursor.
+
+ @param nPointerShape
+ Type of mouse cursor to display. Must be one of the
+ ::com::sun::star::awt::SystemPointer values.
+ */
+ void setShapeCursor(
+ [in] ::com::sun::star::drawing::XShape xShape,
+ [in] short nPointerShape );
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/presentation/XSlideShowController.idl b/offapi/com/sun/star/presentation/XSlideShowController.idl
new file mode 100644
index 000000000..2d93e33c9
--- /dev/null
+++ b/offapi/com/sun/star/presentation/XSlideShowController.idl
@@ -0,0 +1,267 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_presentation_XSlideShowController_idl__
+#define __com_sun_star_presentation_XSlideShowController_idl__
+
+#include <com/sun/star/drawing/XDrawPage.idl>
+#include <com/sun/star/container/XIndexAccess.idl>
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/presentation/XSlideShow.idl>
+
+
+ module com { module sun { module star { module presentation {
+
+
+/** interface to control a running slide show.
+
+ @see XPresentation2
+ @since OOo 3.0
+*/
+interface XSlideShowController
+{
+
+ /** returns true if the slide show is still running.
+ If this returns false, this component is already disposed.
+ You can start a new slide show and get a new instance
+ of XSlideShowController from XPresentation2
+ */
+ boolean isRunning();
+
+
+ /** @returns
+ the number of slides in this slide show.
+
+ @see getSlideByIndex
+ */
+ long getSlideCount();
+
+
+ /** gives access to the slides that will be shown in this slide show.
+
+ <p>Slides are returned in the order they will be displayed in the
+ presentation which can be different than the orders of slides in
+ the document. Not all slides must be present and each slide can
+ be used more than once.
+
+ @returns
+ the slide at the specified index.
+
+ @param Index
+ specifies the position in the list of slides that are displayed
+ in this slide show. The first index is 0.
+
+ @throws com::sun::star::lang::IndexOutOfBoundsException
+ if the index is not valid.
+
+ */
+ ::com::sun::star::drawing::XDrawPage getSlideByIndex( [in] long Index )
+ raises( com::sun::star::lang::IndexOutOfBoundsException );
+
+
+ /** adds a listener that receives events while the slide show is running. */
+ void addSlideShowListener( [in] XSlideShowListener Listener );
+
+
+ /** removes a listener. */
+ void removeSlideShowListener( [in] XSlideShowListener Listener );
+
+
+ /** start next effects that wait on a generic trigger.
+ <p>If no generic triggers are waiting the next
+ slide will be displayed.
+ */
+ void gotoNextEffect();
+
+
+ /** undo the last effects that were triggered by a generic trigger.
+ <p>If there is no previous effect that can be undone then the
+ previous slide will be displayed.
+ */
+ void gotoPreviousEffect();
+
+
+ /** goto and display first slide */
+ void gotoFirstSlide();
+
+
+ /** goto and display next slide.
+ <p>Remaining effects on the current slide will be skipped.*/
+ void gotoNextSlide();
+
+
+ /** goto and display previous slide.
+ <p>Remaining effects on the current slide will be skipped.*/
+ void gotoPreviousSlide();
+
+
+ /** goto and display last slide.
+ <p>Remaining effects on the current slide will be skipped.*/
+ void gotoLastSlide();
+
+
+ /** goto the given textual bookmark */
+ void gotoBookmark( [in] string Bookmark );
+
+
+ /** jumps to the given slide.
+ <p>The slide can also be a slide that would normally not be shown during
+ the current slide show.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the given page is not a valid slide of the document for
+ which this slide show is started. Also not allowed are master,
+ notes and handout pages.
+ */
+ void gotoSlide( [in] com::sun::star::drawing::XDrawPage Page )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+
+ /** jumps to the slide at the given index.
+ */
+ void gotoSlideIndex( [in] long Index );
+
+
+ /** stop all currently played sounds */
+ void stopSound();
+
+
+ /** pauses the slide show. All effects are paused.
+ <p>The slide show continues on next user input or if
+ resume() is called.
+ */
+ void pause();
+
+
+ /** resumes a paused slide show.
+ */
+ void resume();
+
+
+ /** returns `TRUE` if the slide show is currently paused.
+
+ @see pause()
+ @see resume()
+ */
+ boolean isPaused();
+
+
+ /** pauses the slide show and blanks the screen in the given color.
+ <p>Change attribute Pause to false to unpause
+ the slide show.
+ */
+ void blankScreen( [in] long Color );
+
+
+ /** activates the user interface of this slide show.
+
+ @see deactivate()
+ @see isActive()
+ */
+ void activate();
+
+ /** can be called to deactivate the user interface of this slide show.
+
+ <p>A deactivated
+ @see activate()
+ @see isActive()
+ */
+ void deactivate();
+
+
+ /** determines if the slide show is active.
+
+ @return
+ `TRUE` for UI active slide show
+ <br>
+ `FALSE` otherwise
+ */
+ boolean isActive();
+
+
+ /** returns slide that is currently displayed */
+ com::sun::star::drawing::XDrawPage getCurrentSlide();
+
+
+ /** returns the index of the current slide. */
+ long getCurrentSlideIndex();
+
+
+ /** the index for the slide that is displayed next. */
+ long getNextSlideIndex();
+
+
+ /** returns `TRUE` if the slide show was started to run endlessly.
+ */
+ boolean isEndless();
+
+
+ /** Returns `TRUE` if the slide show was started in full-screen mode.
+ */
+ boolean isFullScreen();
+
+
+ /** If this attribute is set to `TRUE`, the window of the slide show is
+ always on top of all other windows.
+ */
+ [attribute] boolean AlwaysOnTop;
+
+
+ /** If this attribute is `TRUE`, the mouse is visible during the
+ slide show.
+ */
+ [attribute] boolean MouseVisible;
+
+
+ /** If this is `TRUE`, a pen is shown during presentation.
+
+ <p>You can draw on the presentation with this pen.</p>
+ */
+ [attribute] boolean UsePen;
+
+
+ /** This attribute changes the color of the pen. */
+ [attribute] long PenColor;
+
+ /** This attribute changes the width of the pen.
+
+ @since LibreOffice 4.2
+ */
+ [attribute] double PenWidth;
+
+
+ /** This method clears ink drawing from the slideshow being played
+
+ @since LibreOffice 7.2
+ */
+ void setEraseAllInk( [in] boolean EraseAllInk );
+
+ /** returns the actual XSlideShow instance that runs the
+ slide show.
+ <br>Normally all navigation should be done using this controller and
+ not the XSlideShow itself. */
+ XSlideShow getSlideShow();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/presentation/XSlideShowListener.idl b/offapi/com/sun/star/presentation/XSlideShowListener.idl
new file mode 100644
index 000000000..9a4d56568
--- /dev/null
+++ b/offapi/com/sun/star/presentation/XSlideShowListener.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_presentation_XSlideShowListener_idl__
+#define __com_sun_star_presentation_XSlideShowListener_idl__
+
+#include <com/sun/star/animations/XAnimationListener.idl>
+
+module com { module sun { module star { module presentation {
+
+/** Listener interface to receive global slide show events.<p>
+
+ @see XShapeEventListener
+
+ @since OOo 3.0
+ */
+interface XSlideShowListener : ::com::sun::star::animations::XAnimationListener
+{
+ /** Notify that the slide show is paused
+ */
+ void paused();
+
+ /** Notify that the slide show is resumed from a paused state */
+ void resumed();
+
+ /** Notify that a new slide starts to become visible. */
+ void slideTransitionStarted();
+
+ /** Notify that the slide transition of the current slide ended. */
+ void slideTransitionEnded();
+
+ /** Notify that the last animation from the main sequence
+ of the current slide has ended. */
+ void slideAnimationsEnded();
+
+ /** Notify that the current slide has ended,
+ e.g. the user has clicked on the slide.
+ Calling displaySlide() twice will not issue this event.
+ @param reverse
+ For the default order (forward) this flag is `FALSE`.
+ When the main sequence was traversed in reverse order then this
+ flag is `TRUE`.
+ */
+ void slideEnded( [in] boolean reverse );
+
+ /** Notifies that a hyperlink has been clicked.
+ @param hyperLink hyperlink URL
+ */
+ void hyperLinkClicked( [in] string hyperLink );
+};
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/presentation/XSlideShowView.idl b/offapi/com/sun/star/presentation/XSlideShowView.idl
new file mode 100644
index 000000000..eaf25c86b
--- /dev/null
+++ b/offapi/com/sun/star/presentation/XSlideShowView.idl
@@ -0,0 +1,181 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_presentation_XSlideShowView_idl__
+#define __com_sun_star_presentation_XSlideShowView_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/rendering/XSpriteCanvas.idl>
+#include <com/sun/star/util/XModifyListener.idl>
+#include <com/sun/star/awt/XPaintListener.idl>
+#include <com/sun/star/awt/XMouseListener.idl>
+#include <com/sun/star/awt/XMouseMotionListener.idl>
+#include <com/sun/star/awt/Rectangle.idl>
+#include <com/sun/star/geometry/IntegerSize2D.idl>
+
+module com { module sun { module star { module presentation {
+
+/** View interface to display slide show presentations on.<p>
+
+ This interface provides the necessary methods to enable an
+ XSlideShow interface to display a presentation. The slide show can
+ be displayed simultaneously on multiple views<p>
+
+ @since OOo 2.4
+ */
+interface XSlideShowView : ::com::sun::star::uno::XInterface
+{
+ /** Get view canvas.<p>
+
+ This method gets the underlying XCanvas to display on this
+ view.<p>
+
+ @return XSpriteCanvas to display on. Must be valid, and the
+ same object, as long as this view is added to any slide show.
+ */
+ ::com::sun::star::rendering::XSpriteCanvas getCanvas();
+
+ /** This method clears the whole view area.
+
+ The slide show uses this method to fully erase the view
+ content. Since the slide show has no notion of view size, this
+ is the only reliable way to wholly clear the view.
+ */
+ void clear();
+
+ /** Query the current transformation matrix for this view.<p>
+
+ This method returns the transformation matrix of the
+ view. When notified via the transformation change listener,
+ the show will be displayed using the new transformation.<p>
+
+ @return the view transformation matrix. Note that the slide
+ show itself will paint all slides as one-by-one boxes, one
+ therefore has to at least provide a scaling at this matrix to
+ blow this up to the desired device pixel size (640 times 480,
+ or whatever size the output view has). Furthermore, the aspect
+ ratio of the scaling should match that of the slides
+ (otherwise, the slides will be scaled anisotropically).
+ */
+ ::com::sun::star::geometry::AffineMatrix2D getTransformation();
+
+ /** Query the current translation offset used to fill the physical screen while keeping aspect ratio.<p>
+
+ This method returns the translation offset of the view of the
+ view.<p>
+
+ @return the slideshowview will be transformed in order to fill
+ the physical screen while keeping the aspect ratio.
+ In order to do so, we need to add a black border on the side. This method
+ return an IntegerSize2D which represent (x, y) translation.
+ x represents the width of the border on the left, for example.
+ */
+ ::com::sun::star::geometry::IntegerSize2D getTranslationOffset();
+
+ /** Add a listener to get notified when the transformation matrix changes.<p>
+
+ This method registers a listener with the view, which will get
+ called every time the transformation matrix changes.<p>
+
+ @param xListener
+ Listener interface to call when the transformation matrix changes.
+ */
+ void addTransformationChangedListener( [in] ::com::sun::star::util::XModifyListener xListener );
+
+ /** Revoke a previously registered transformation matrix change listener.<p>
+
+ @param xListener
+ Listener interface to revoke from being called.
+ */
+ void removeTransformationChangedListener( [in] ::com::sun::star::util::XModifyListener xListener );
+
+ /** Add a listener to get notified when this view needs a repaint.<p>
+
+ This method registers a listener with the view, which will get
+ called every time the view needs an update of their screen
+ representation.<p>
+
+ @param xListener
+ Listener interface to call when the view needs a repaint.
+ */
+ void addPaintListener( [in] ::com::sun::star::awt::XPaintListener xListener );
+
+ /** Revoke a previously registered paint listener.<p>
+
+ @param xListener
+ Listener interface to revoke from being called.
+ */
+ void removePaintListener( [in] ::com::sun::star::awt::XPaintListener xListener );
+
+ /** Add a mouse listener to the view.<p>
+
+ This method registers a listener with the view, which will get
+ called every time the mouse is clicked on the view.<p>
+
+ @param xListener
+ Listener interface to call when the mouse is clicked on the view.
+ */
+ void addMouseListener( [in] com::sun::star::awt::XMouseListener xListener );
+
+ /** Revoke a previously registered mouse listener.<p>
+
+ @param xListener
+ Listener interface to revoke from being called.
+ */
+ void removeMouseListener( [in] com::sun::star::awt::XMouseListener xListener );
+
+ /** Add a mouse motion listener to the view.<p>
+
+ This method registers a listener with the view, which will get
+ called every time the mouse is moved on the view.<p>
+
+ @param xListener
+ Listener interface to call when the mouse is moved on the view.
+ */
+ void addMouseMotionListener( [in] com::sun::star::awt::XMouseMotionListener xListener );
+
+ /** Revoke a previously registered mouse move listener.<p>
+
+ @param xListener
+ Listener interface to revoke from being called.
+ */
+ void removeMouseMotionListener( [in] com::sun::star::awt::XMouseMotionListener xListener );
+
+ /** Change the mouse cursor currently in effect.<p>
+
+ This method changes the mouse cursor currently in effect, for
+ this view.<p>
+
+ @param nPointerShape
+ New mouse cursor shape to display for this view. Must be from
+ the ::com::sun::star::awt::SystemPointer constant group.
+ */
+ void setMouseCursor( [in] short nPointerShape );
+
+ /** Get rectangle defining area inside of canvas device which
+ this slide show view uses.
+ */
+ ::com::sun::star::awt::Rectangle getCanvasArea();
+};
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/presentation/XTransition.idl b/offapi/com/sun/star/presentation/XTransition.idl
new file mode 100644
index 000000000..e99c2560f
--- /dev/null
+++ b/offapi/com/sun/star/presentation/XTransition.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_presentation_XTransition_idl__
+#define __com_sun_star_presentation_XTransition_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star {
+
+module rendering { interface XBitmap; };
+
+module presentation {
+
+interface XSlideShowView;
+
+/** Transition interface to render custom transitions over time.<p>
+
+ @since OOo 2.4
+ */
+interface XTransition : ::com::sun::star::uno::XInterface
+{
+ /** Update transition on screen to given time state.<p>
+
+ @param t
+ Time on the transition timeline to display. Must be in the
+ [0,1] range.
+ */
+ void update( [in] double t );
+
+ void viewChanged( [in] XSlideShowView view,
+ [in] com::sun::star::rendering::XBitmap leavingBitmap,
+ [in] com::sun::star::rendering::XBitmap enteringBitmap );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/presentation/XTransitionFactory.idl b/offapi/com/sun/star/presentation/XTransitionFactory.idl
new file mode 100644
index 000000000..144556526
--- /dev/null
+++ b/offapi/com/sun/star/presentation/XTransitionFactory.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_presentation_XTransitionFactory_idl__
+#define __com_sun_star_presentation_XTransitionFactory_idl__
+
+#include <com/sun/star/presentation/XTransition.idl>
+#include <com/sun/star/geometry/RealPoint2D.idl>
+
+
+module com { module sun { module star {
+
+module rendering { interface XBitmap; };
+
+module presentation {
+
+interface XTransition;
+interface XSlideShowView;
+
+/** TransitionFactory interface to request optional custom Transition instances for slide show transitions.<p>
+
+ This interface provides the necessary methods to query and create optional transition effects for a SlideShow<p>
+
+ @since OOo 2.4
+ */
+interface XTransitionFactory : ::com::sun::star::uno::XInterface
+{
+ /** Checks whether this instance provides an implementation for given transition id.<p>
+ */
+ boolean hasTransition( [in] short transitionType, [in] short transitionSubType );
+
+ /** Actually create a transition for the given transition id
+
+ @param transitionType
+ Main type of transition (@see ::com::sun::star::animations::TransitionType)
+
+ @param transitionSubType
+ Subtype for the transition (@see ::com::sun::star::animations::TransitionSubType)
+
+ @param transitionFadeColor
+ Color to use (for some transitions)
+
+ @param view
+ Slide show view to display on
+
+ @param leavingBitmap
+ Bitmap of the slide that's going to leave the screen
+
+ @param enteringBitmap
+ Bitmap of the slide that's going to enter the screen
+ */
+ XTransition createTransition( [in] short transitionType,
+ [in] short transitionSubType,
+ [in] long transitionFadeColor,
+ [in] XSlideShowView view,
+ [in] com::sun::star::rendering::XBitmap leavingBitmap,
+ [in] com::sun::star::rendering::XBitmap enteringBitmap );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/presentation/textfield/DateTime.idl b/offapi/com/sun/star/presentation/textfield/DateTime.idl
new file mode 100644
index 000000000..ea1c9e1df
--- /dev/null
+++ b/offapi/com/sun/star/presentation/textfield/DateTime.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_presentation_textfield_DateTime_idl__
+#define __com_sun_star_presentation_textfield_DateTime_idl__
+
+#include <com/sun/star/text/TextField.idl>
+
+
+module com { module sun { module star { module presentation { module textfield {
+
+/** specifies service of a presentation date and time text field.
+ @see com::sun::star::text::TextField
+*/
+service DateTime
+{
+ service com::sun::star::text::TextField;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/presentation/textfield/Footer.idl b/offapi/com/sun/star/presentation/textfield/Footer.idl
new file mode 100644
index 000000000..9439548bb
--- /dev/null
+++ b/offapi/com/sun/star/presentation/textfield/Footer.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_presentation_textfield_Footer_idl__
+#define __com_sun_star_presentation_textfield_Footer_idl__
+
+#include <com/sun/star/text/TextField.idl>
+
+
+module com { module sun { module star { module presentation { module textfield {
+
+/** specifies service of a presentation footer text field.
+ @see com::sun::star::text::TextField
+*/
+service Footer
+{
+ service com::sun::star::text::TextField;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/presentation/textfield/Header.idl b/offapi/com/sun/star/presentation/textfield/Header.idl
new file mode 100644
index 000000000..9d85329a5
--- /dev/null
+++ b/offapi/com/sun/star/presentation/textfield/Header.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_presentation_textfield_Header_idl__
+#define __com_sun_star_presentation_textfield_Header_idl__
+
+#include <com/sun/star/text/TextField.idl>
+
+
+module com { module sun { module star { module presentation { module textfield {
+
+/** specifies service of a presentation header text field.
+ @see com::sun::star::text::TextField
+*/
+service Header
+{
+ service com::sun::star::text::TextField;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/qa/XDumper.idl b/offapi/com/sun/star/qa/XDumper.idl
new file mode 100644
index 000000000..6f14d3e3b
--- /dev/null
+++ b/offapi/com/sun/star/qa/XDumper.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_qa_XDumper_idl
+#define com_sun_star_qa_XDumper_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module qa
+{
+
+/**
+ * Dumps the content into a string.
+ * This is an internal interface and should not be used outside of Libreoffice source code
+ */
+interface XDumper : com::sun::star::uno::XInterface
+{
+ /**
+ * dump the content into a string
+ * @since LibreOffice 3.6
+ */
+
+ string dump();
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rdf/BlankNode.idl b/offapi/com/sun/star/rdf/BlankNode.idl
new file mode 100644
index 000000000..9ab41dd74
--- /dev/null
+++ b/offapi/com/sun/star/rdf/BlankNode.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_rdf_BlankNode_idl__
+#define __com_sun_star_rdf_BlankNode_idl__
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/rdf/XBlankNode.idl>
+
+
+
+module com { module sun { module star { module rdf {
+
+/** represents a blank node that may occur in a RDF graph.
+
+ @since OOo 3.0
+
+ @see XRepository
+ */
+service BlankNode : XBlankNode
+{
+
+ /** create a blank RDF node.
+
+ <p>
+ Be careful! With this constructor you can create a node that aliases
+ another node that already exists in some repository.
+ That may or may not be what you want.
+ If you want to create a new blank node that is guaranteed to be unique,
+ use XRepository::createBlankNode() instead.
+ <p>
+
+ @param NodeID
+ the ID for the blank node.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the argument does not represent a valid blank node ID
+
+ @see XRepository::createBlankNode
+ */
+ create( [in] string NodeID )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rdf/FileFormat.idl b/offapi/com/sun/star/rdf/FileFormat.idl
new file mode 100644
index 000000000..5b48ed2ac
--- /dev/null
+++ b/offapi/com/sun/star/rdf/FileFormat.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_rdf_FileFormat_idl__
+#define __com_sun_star_rdf_FileFormat_idl__
+
+
+
+module com { module sun { module star { module rdf {
+
+/** Constants to specify RDF file formats.
+
+ <p>
+ These constants are mainly for use with
+ XRepository::importGraph()
+ and XRepository::exportGraph().
+ </p>
+
+ <p>
+ Note that these are integers because UNO IDL does not permit
+ `string` constants.
+ </p>
+
+ @since OOo 3.0
+
+ @see XRepository::importGraph
+ @see XRepository::exportGraph
+ */
+constants FileFormat
+{
+
+ /// <a href="http://www.w3.org/TR/rdf-syntax-grammar/">RDF/XML</a>
+ const short RDF_XML = 0; // "application/rdf+xml";
+
+ /// <a href="http://www.w3.org/DesignIssues/Notation3">N3 (Notation-3)</a>
+ const short N3 = 1; // "text/rdf+n3";
+
+ /// <a href="http://www.w3.org/TR/n-triples/">N-Triples</a>
+ const short NTRIPLES = 2; // "text/plain";
+
+ /// <a href="http://www.w3.org/TR/trig/">TriG</a>
+ const short TRIG = 3; // "application/trig";
+
+ /// <a href="https://web.archive.org/web/20110724134923/http://sw.nokia.com/trix/">TriX</a>
+ const short TRIX = 4; // "application/trix";
+
+ /// <a href="http://www.dajobe.org/2004/01/turtle/">Turtle</a>
+ const short TURTLE = 5; // "application/turtle";
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rdf/Literal.idl b/offapi/com/sun/star/rdf/Literal.idl
new file mode 100644
index 000000000..33eb39e00
--- /dev/null
+++ b/offapi/com/sun/star/rdf/Literal.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_rdf_Literal_idl__
+#define __com_sun_star_rdf_Literal_idl__
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/rdf/XLiteral.idl>
+
+
+
+module com { module sun { module star { module rdf {
+
+/** represents a literal that may occur in a RDF graph.
+
+ @since OOo 3.0
+
+ @see XRepository
+ */
+service Literal : XLiteral
+{
+
+ /** creates a plain literal RDF node.
+
+ @param Value
+ the string value of the literal
+ */
+ create( [in] string Value );
+
+ /** creates a typed literal RDF node.
+
+ @param Value
+ the string value of the literal
+
+ @param Type
+ the data type of the literal
+ */
+ createWithType( [in] string Value, [in] XURI Type );
+
+ /** creates a literal RDF node with a language.
+
+ @param Value
+ the string value of the literal
+
+ @param Language
+ the language of the literal
+ */
+ createWithLanguage( [in] string Value, [in] string Language );
+
+ // NOTE: there is no createWithTypeAndLanguage!
+};
+
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rdf/ParseException.idl b/offapi/com/sun/star/rdf/ParseException.idl
new file mode 100644
index 000000000..f8a32930e
--- /dev/null
+++ b/offapi/com/sun/star/rdf/ParseException.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_rdf_ParseException_idl__
+#define __com_sun_star_rdf_ParseException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+module com { module sun { module star { module rdf {
+
+/** represents an error condition that is signaled on parsing an RDF file.
+
+ @since OOo 3.0
+
+ @see XRepository
+ */
+exception ParseException : com::sun::star::uno::Exception
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rdf/QueryException.idl b/offapi/com/sun/star/rdf/QueryException.idl
new file mode 100644
index 000000000..ec59016e8
--- /dev/null
+++ b/offapi/com/sun/star/rdf/QueryException.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_rdf_QueryException_idl__
+#define __com_sun_star_rdf_QueryException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+module com { module sun { module star { module rdf {
+
+/** represents an error condition that is signaled on evaluating a query
+ against an RDF Repository.
+
+ @since OOo 3.0
+
+ @see XRepository
+ */
+exception QueryException : com::sun::star::uno::Exception
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rdf/Repository.idl b/offapi/com/sun/star/rdf/Repository.idl
new file mode 100644
index 000000000..f1945070d
--- /dev/null
+++ b/offapi/com/sun/star/rdf/Repository.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_rdf_Repository_idl__
+#define __com_sun_star_rdf_Repository_idl__
+
+#include <com/sun/star/rdf/XRepository.idl>
+
+
+
+module com { module sun { module star { module rdf {
+
+/** provides access to a set of named RDF graphs.
+
+ @since OOo 3.0
+
+ @see XRepository
+ @see XRepositorySupplier
+ */
+service Repository : XRepository
+{
+ /** constructs repository with in-memory storage.
+ */
+ create();
+ // FIXME: if we want to support HTTP/SQL-based storage, or inference, define more constructors here
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rdf/RepositoryException.idl b/offapi/com/sun/star/rdf/RepositoryException.idl
new file mode 100644
index 000000000..34564ca11
--- /dev/null
+++ b/offapi/com/sun/star/rdf/RepositoryException.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_rdf_RepositoryException_idl__
+#define __com_sun_star_rdf_RepositoryException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+module com { module sun { module star { module rdf {
+
+/** represents an error condition that is signaled on accessing an RDF
+ Repository.
+
+ @since OOo 3.0
+
+ @see XRepository
+ */
+exception RepositoryException : com::sun::star::uno::Exception
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rdf/Statement.idl b/offapi/com/sun/star/rdf/Statement.idl
new file mode 100644
index 000000000..5f6852cfc
--- /dev/null
+++ b/offapi/com/sun/star/rdf/Statement.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_rdf_Statement_idl__
+#define __com_sun_star_rdf_Statement_idl__
+
+#include <com/sun/star/rdf/XURI.idl>
+
+
+
+module com { module sun { module star { module rdf {
+
+/** represents a RDF statement, or triple.
+
+ @since OOo 3.2
+
+ @see XRepository
+ */
+struct Statement
+{
+ /// the subject of the RDF statement.
+ XResource Subject;
+ /// the predicate of the RDF statement.
+ XURI Predicate;
+ /// the object of the RDF statement.
+ XNode Object;
+ /// the named graph that contains this statement, or `NULL`.
+ XURI Graph;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rdf/URI.idl b/offapi/com/sun/star/rdf/URI.idl
new file mode 100644
index 000000000..dbdbc2248
--- /dev/null
+++ b/offapi/com/sun/star/rdf/URI.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_rdf_URI_idl__
+#define __com_sun_star_rdf_URI_idl__
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/rdf/XURI.idl>
+
+
+
+module com { module sun { module star { module rdf {
+
+/** represents a URI node that may occur in a RDF graph.
+
+ @since OOo 3.0
+
+ @see XRepository
+ */
+service URI : XURI
+{
+
+ /** creates a URI RDF node.
+
+ @param Value
+ the URI, represented as `string`.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the argument does not represent a valid URI
+ */
+ create( [in] string Value )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** creates a URI RDF node from namespace prefix and local name.
+
+ @param Namespace
+ the namespace prefix of the URI, represented as
+ `string`.
+
+ @param LocalName
+ the local name of the URI, represented as `string`.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the arguments do not represent a valid URI
+ */
+ createNS( [in] string Namespace, [in] string LocalName )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** creates a URI RDF node for a well-known URI.
+
+ @param Id
+ the URI, represented as a constant from URIs.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the argument is not a valid constant from URIs
+
+ @see URIs
+ */
+ createKnown( [in] short Id )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rdf/URIs.idl b/offapi/com/sun/star/rdf/URIs.idl
new file mode 100644
index 000000000..bfc8672d4
--- /dev/null
+++ b/offapi/com/sun/star/rdf/URIs.idl
@@ -0,0 +1,333 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_rdf_URIs_idl__
+#define __com_sun_star_rdf_URIs_idl__
+
+
+
+module com { module sun { module star { module rdf {
+
+
+/** Constants to specify some well-known URIs.
+
+ <p>
+ These constants are for use with URI::createKnown().
+ </p>
+
+ @since OOo 3.2
+
+ @see URI::createKnown
+ */
+constants URIs
+{
+ /// http://www.w3.org/2001/XMLSchema-datatypes#NCName
+ const short XSD_NCNAME = 1;
+ /// http://www.w3.org/2001/XMLSchema-datatypes#string
+ const short XSD_STRING = 2;
+ /// http://www.w3.org/2001/XMLSchema-datatypes#normalizedString
+ const short XSD_NORMALIZEDSTRING = 3;
+ /// http://www.w3.org/2001/XMLSchema-datatypes#boolean
+ const short XSD_BOOLEAN = 4;
+ /// http://www.w3.org/2001/XMLSchema-datatypes#decimal
+ const short XSD_DECIMAL = 5;
+ /// http://www.w3.org/2001/XMLSchema-datatypes#float
+ const short XSD_FLOAT = 6;
+ /// http://www.w3.org/2001/XMLSchema-datatypes#double
+ const short XSD_DOUBLE = 7;
+ /// http://www.w3.org/2001/XMLSchema-datatypes#integer
+ const short XSD_INTEGER = 8;
+ /// http://www.w3.org/2001/XMLSchema-datatypes#nonNegativeInteger
+ const short XSD_NONNEGATIVEINTEGER = 9;
+ /// http://www.w3.org/2001/XMLSchema-datatypes#positiveInteger
+ const short XSD_POSITIVEINTEGER = 10;
+ /// http://www.w3.org/2001/XMLSchema-datatypes#nonPositiveInteger
+ const short XSD_NONPOSITIVEINTEGER = 11;
+ /// http://www.w3.org/2001/XMLSchema-datatypes#negativeInteger
+ const short XSD_NEGATIVEINTEGER = 12;
+ /// http://www.w3.org/2001/XMLSchema-datatypes#long
+ const short XSD_LONG = 13;
+ /// http://www.w3.org/2001/XMLSchema-datatypes#int
+ const short XSD_INT = 14;
+ /// http://www.w3.org/2001/XMLSchema-datatypes#short
+ const short XSD_SHORT = 15;
+ /// http://www.w3.org/2001/XMLSchema-datatypes#byte
+ const short XSD_BYTE = 16;
+ /// http://www.w3.org/2001/XMLSchema-datatypes#unsignedLong
+ const short XSD_UNSIGNEDLONG = 17;
+ /// http://www.w3.org/2001/XMLSchema-datatypes#unsignedInt
+ const short XSD_UNSIGNEDINT = 18;
+ /// http://www.w3.org/2001/XMLSchema-datatypes#unsignedShort
+ const short XSD_UNSIGNEDSHORT = 19;
+ /// http://www.w3.org/2001/XMLSchema-datatypes#unsignedByte
+ const short XSD_UNSIGNEDBYTE = 20;
+ /// http://www.w3.org/2001/XMLSchema-datatypes#hexBinary
+ const short XSD_HEXBINARY = 21;
+ /// http://www.w3.org/2001/XMLSchema-datatypes#base64Binary
+ const short XSD_BASE64BINARY = 22;
+ /// http://www.w3.org/2001/XMLSchema-datatypes#dateTime
+ const short XSD_DATETIME = 23;
+ /// http://www.w3.org/2001/XMLSchema-datatypes#time
+ const short XSD_TIME = 24;
+ /// http://www.w3.org/2001/XMLSchema-datatypes#date
+ const short XSD_DATE = 25;
+ /// http://www.w3.org/2001/XMLSchema-datatypes#gYearMonth
+ const short XSD_GYEARMONTH = 26;
+ /// http://www.w3.org/2001/XMLSchema-datatypes#gYear
+ const short XSD_GYEAR = 27;
+ /// http://www.w3.org/2001/XMLSchema-datatypes#gMonthDay
+ const short XSD_GMONTHDAY = 28;
+ /// http://www.w3.org/2001/XMLSchema-datatypes#gDay
+ const short XSD_GDAY = 29;
+ /// http://www.w3.org/2001/XMLSchema-datatypes#gMonth
+ const short XSD_GMONTH = 30;
+ /// http://www.w3.org/2001/XMLSchema-datatypes#anyURI
+ const short XSD_ANYURI = 31;
+ /// http://www.w3.org/2001/XMLSchema-datatypes#token
+ const short XSD_TOKEN = 32;
+ /// http://www.w3.org/2001/XMLSchema-datatypes#language
+ const short XSD_LANGUAGE = 33;
+ /// http://www.w3.org/2001/XMLSchema-datatypes#NMTOKEN
+ const short XSD_NMTOKEN = 34;
+ /// http://www.w3.org/2001/XMLSchema-datatypes#Name
+ const short XSD_NAME = 35;
+ /// http://www.w3.org/2001/XMLSchema-datatypes#duration
+ const short XSD_DURATION = 36;
+ /// http://www.w3.org/2001/XMLSchema-datatypes#QName
+ const short XSD_QNAME = 37;
+ /// http://www.w3.org/2001/XMLSchema-datatypes#NOTATION
+ const short XSD_NOTATION = 38;
+ /// http://www.w3.org/2001/XMLSchema-datatypes#NMTOKENS
+ const short XSD_NMTOKENS = 39;
+ /// http://www.w3.org/2001/XMLSchema-datatypes#ID
+ const short XSD_ID = 40;
+ /// http://www.w3.org/2001/XMLSchema-datatypes#IDREF
+ const short XSD_IDREF = 41;
+ /// http://www.w3.org/2001/XMLSchema-datatypes#IDREFS
+ const short XSD_IDREFS = 42;
+ /// http://www.w3.org/2001/XMLSchema-datatypes#ENTITY
+ const short XSD_ENTITY = 43;
+ /// http://www.w3.org/2001/XMLSchema-datatypes#ENTITIES
+ const short XSD_ENTITIES = 44;
+
+ /// http://www.w3.org/1999/02/22-rdf-syntax-ns#type
+ const short RDF_TYPE = 1000;
+ /// http://www.w3.org/1999/02/22-rdf-syntax-ns#subject
+ const short RDF_SUBJECT = 1001;
+ /// http://www.w3.org/1999/02/22-rdf-syntax-ns#predicate
+ const short RDF_PREDICATE = 1002;
+ /// http://www.w3.org/1999/02/22-rdf-syntax-ns#object
+ const short RDF_OBJECT = 1003;
+ /// http://www.w3.org/1999/02/22-rdf-syntax-ns#Property
+ const short RDF_PROPERTY = 1004;
+ /// http://www.w3.org/1999/02/22-rdf-syntax-ns#Statement
+ const short RDF_STATEMENT = 1005;
+ /// http://www.w3.org/1999/02/22-rdf-syntax-ns#value
+ const short RDF_VALUE = 1006;
+ /// http://www.w3.org/1999/02/22-rdf-syntax-ns#first
+ const short RDF_FIRST = 1007;
+ /// http://www.w3.org/1999/02/22-rdf-syntax-ns#rest
+ const short RDF_REST = 1008;
+ /// http://www.w3.org/1999/02/22-rdf-syntax-ns#nil
+ const short RDF_NIL = 1009;
+ /// http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral
+ const short RDF_XMLLITERAL = 1010;
+ /// http://www.w3.org/1999/02/22-rdf-syntax-ns#Alt
+ const short RDF_ALT = 1011;
+ /// http://www.w3.org/1999/02/22-rdf-syntax-ns#Bag
+ const short RDF_BAG = 1012;
+ /// http://www.w3.org/1999/02/22-rdf-syntax-ns#List
+ const short RDF_LIST = 1013;
+ /// http://www.w3.org/1999/02/22-rdf-syntax-ns#Seq
+ const short RDF_SEQ = 1014;
+ /// http://www.w3.org/1999/02/22-rdf-syntax-ns#_1
+ const short RDF_1 = 1015;
+ /* hmm... that's a lot of potential constants:
+ _n where n is a decimal integer greater than zero with no leading zeros.
+ */
+
+ /// http://www.w3.org/2000/01/rdf-schema#comment
+ const short RDFS_COMMENT = 1100;
+ /// http://www.w3.org/2000/01/rdf-schema#label
+ const short RDFS_LABEL = 1101;
+ /// http://www.w3.org/2000/01/rdf-schema#domain
+ const short RDFS_DOMAIN = 1102;
+ /// http://www.w3.org/2000/01/rdf-schema#range
+ const short RDFS_RANGE = 1103;
+ /// http://www.w3.org/2000/01/rdf-schema#subClassOf
+ const short RDFS_SUBCLASSOF = 1104;
+ /// http://www.w3.org/2000/01/rdf-schema#Literal
+ const short RDFS_LITERAL = 1105;
+ /// http://www.w3.org/2000/01/rdf-schema#member
+ const short RDFS_MEMBER = 1106;
+ /// http://www.w3.org/2000/01/rdf-schema#subPropertyOf
+ const short RDFS_SUBPROPERTYOF = 1107;
+ /// http://www.w3.org/2000/01/rdf-schema#isDefinedBy
+ const short RDFS_ISDEFINEDBY = 1108;
+ /// http://www.w3.org/2000/01/rdf-schema#seeAlso
+ const short RDFS_SEEALSO = 1109;
+ /// http://www.w3.org/2000/01/rdf-schema#Resource
+ const short RDFS_RESOURCE = 1110;
+ /// http://www.w3.org/2000/01/rdf-schema#Class
+ const short RDFS_CLASS = 1111;
+ /// http://www.w3.org/2000/01/rdf-schema#Datatype
+ const short RDFS_DATATYPE = 1112;
+ /// http://www.w3.org/2000/01/rdf-schema#Container
+ const short RDFS_CONTAINER = 1113;
+ /// http://www.w3.org/2000/01/rdf-schema#ContainerMembershipProperty
+ const short RDFS_CONTAINERMEMBERSHIPPROPERTY = 1114;
+
+ /// http://www.w3.org/2002/07/owl#Class
+ const short OWL_CLASS = 1200;
+ /// http://www.w3.org/2002/07/owl#ObjectProperty
+ const short OWL_OBJECTPROPERTY = 1201;
+ /// http://www.w3.org/2002/07/owl#DatatypeProperty
+ const short OWL_DATATYPEPROPERTY = 1202;
+ /// http://www.w3.org/2002/07/owl#FunctionalProperty
+ const short OWL_FUNCTIONALPROPERTY = 1203;
+ /// http://www.w3.org/2002/07/owl#Thing
+ const short OWL_THING = 1204;
+ /// http://www.w3.org/2002/07/owl#Nothing
+ const short OWL_NOTHING = 1205;
+ /// http://www.w3.org/2002/07/owl#Individual
+ const short OWL_INDIVIDUAL = 1206;
+ /// http://www.w3.org/2002/07/owl#equivalentClass
+ const short OWL_EQUIVALENTCLASS = 1207;
+ /// http://www.w3.org/2002/07/owl#equivalentProperty
+ const short OWL_EQUIVALENTPROPERTY = 1208;
+ /// http://www.w3.org/2002/07/owl#sameAs
+ const short OWL_SAMEAS = 1209;
+ /// http://www.w3.org/2002/07/owl#differentFrom
+ const short OWL_DIFFERENTFROM = 1210;
+ /// http://www.w3.org/2002/07/owl#AllDifferent
+ const short OWL_ALLDIFFERENT = 1211;
+ /// http://www.w3.org/2002/07/owl#distinctMembers
+ const short OWL_DISTINCTMEMBERS = 1212;
+ /// http://www.w3.org/2002/07/owl#inverseOf
+ const short OWL_INVERSEOF = 1213;
+ /// http://www.w3.org/2002/07/owl#TransitiveProperty
+ const short OWL_TRANSITIVEPROPERTY = 1214;
+ /// http://www.w3.org/2002/07/owl#SymmetricProperty
+ const short OWL_SYMMETRICPROPERTY = 1215;
+ /// http://www.w3.org/2002/07/owl#InverseFunctionalProperty
+ const short OWL_INVERSEFUNCTIONALPROPERTY = 1216;
+ /// http://www.w3.org/2002/07/owl#Restriction
+ const short OWL_RESTRICTION = 1217;
+ /// http://www.w3.org/2002/07/owl#onProperty
+ const short OWL_ONPROPERTY = 1218;
+ /// http://www.w3.org/2002/07/owl#allValuesFrom
+ const short OWL_ALLVALUESFROM = 1219;
+ /// http://www.w3.org/2002/07/owl#someValuesFrom
+ const short OWL_SOMEVALUESFROM = 1220;
+ /// http://www.w3.org/2002/07/owl#minCardinality
+ const short OWL_MINCARDINALITY = 1221;
+ /// http://www.w3.org/2002/07/owl#maxCardinality
+ const short OWL_MAXCARDINALITY = 1222;
+ /// http://www.w3.org/2002/07/owl#cardinality
+ const short OWL_CARDINALITY = 1223;
+ /// http://www.w3.org/2002/07/owl#Ontology
+ const short OWL_ONTOLOGY = 1224;
+ /// http://www.w3.org/2002/07/owl#imports
+ const short OWL_IMPORTS = 1225;
+ /// http://www.w3.org/2002/07/owl#versionInfo
+ const short OWL_VERSIONINFO = 1226;
+ /// http://www.w3.org/2002/07/owl#priorVersion
+ const short OWL_PRIORVERSION = 1227;
+ /// http://www.w3.org/2002/07/owl#backwardCompatibleWith
+ const short OWL_BACKWARDCOMPATIBLEWITH = 1228;
+ /// http://www.w3.org/2002/07/owl#incompatibleWith
+ const short OWL_INCOMPATIBLEWITH = 1229;
+ /// http://www.w3.org/2002/07/owl#DeprecatedClass
+ const short OWL_DEPRECATEDCLASS = 1230;
+ /// http://www.w3.org/2002/07/owl#DeprecatedProperty
+ const short OWL_DEPRECATEDPROPERTY = 1231;
+ /// http://www.w3.org/2002/07/owl#AnnotationProperty
+ const short OWL_ANNOTATIONPROPERTY = 1232;
+ /// http://www.w3.org/2002/07/owl#OntologyProperty
+ const short OWL_ONTOLOGYPROPERTY = 1233;
+ /// http://www.w3.org/2002/07/owl#oneOf
+ const short OWL_ONEOF = 1234;
+ /// http://www.w3.org/2002/07/owl#dataRange
+ const short OWL_DATARANGE = 1235;
+ /// http://www.w3.org/2002/07/owl#disjointWith
+ const short OWL_DISJOINTWITH = 1236;
+ /// http://www.w3.org/2002/07/owl#unionOf
+ const short OWL_UNIONOF = 1237;
+ /// http://www.w3.org/2002/07/owl#complementOf
+ const short OWL_COMPLEMENTOF = 1238;
+ /// http://www.w3.org/2002/07/owl#intersectionOf
+ const short OWL_INTERSECTIONOF = 1239;
+ /// http://www.w3.org/2002/07/owl#hasValue
+ const short OWL_HASVALUE = 1240;
+
+ /// http://docs.oasis-open.org/ns/office/1.2/meta/pkg#hasPart
+ const short PKG_HASPART = 2000;
+/* REMOVED
+ /// http://docs.oasis-open.org/ns/office/1.2/meta/pkg#idref
+ const short PKG_IDREF = 2001;
+ /// http://docs.oasis-open.org/ns/office/1.2/meta/pkg#path
+ const short PKG_PATH = 2002;
+*/
+ /// http://docs.oasis-open.org/ns/office/1.2/meta/pkg#mimeType
+ const short PKG_MIMETYPE = 2003;
+ /// http://docs.oasis-open.org/ns/office/1.2/meta/pkg#Package
+ const short PKG_PACKAGE = 2004;
+ /// http://docs.oasis-open.org/ns/office/1.2/meta/pkg#Element
+ const short PKG_ELEMENT = 2005;
+ /// http://docs.oasis-open.org/ns/office/1.2/meta/pkg#File
+ const short PKG_FILE = 2006;
+ /// http://docs.oasis-open.org/ns/office/1.2/meta/pkg#MetadataFile
+ const short PKG_METADATAFILE = 2007;
+ /// http://docs.oasis-open.org/ns/office/1.2/meta/pkg#Document
+ const short PKG_DOCUMENT = 2008;
+
+ /// http://docs.oasis-open.org/ns/office/1.2/meta/odf#prefix
+ const short ODF_PREFIX = 2100;
+ /// http://docs.oasis-open.org/ns/office/1.2/meta/odf#suffix
+ const short ODF_SUFFIX = 2101;
+ /// http://docs.oasis-open.org/ns/office/1.2/meta/odf#Element
+ const short ODF_ELEMENT = 2102;
+ /// http://docs.oasis-open.org/ns/office/1.2/meta/odf#ContentFile
+ const short ODF_CONTENTFILE = 2103;
+ /// http://docs.oasis-open.org/ns/office/1.2/meta/odf#StylesFile
+ const short ODF_STYLESFILE = 2104;
+/* REMOVED
+ /// http://docs.oasis-open.org/ns/office/1.2/meta/odf#MetadataFile
+ const short ODF_METADATAFILE = 2105;
+*/
+
+ // urn:oasis:names:tc:opendocument:xmlns:text:1.0meta-field
+// const short TEXT_META_FIELD = 3000;
+
+ /** custom shading color of an annotated text range or metadata field
+ (replacement of the default field shading color)
+
+ urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0odf#shading
+
+ @since LibreOffice 7.2
+ */
+ const short LO_EXT_SHADING = 2106;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rdf/XBlankNode.idl b/offapi/com/sun/star/rdf/XBlankNode.idl
new file mode 100644
index 000000000..a945682d8
--- /dev/null
+++ b/offapi/com/sun/star/rdf/XBlankNode.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_rdf_XBlankNode_idl__
+#define __com_sun_star_rdf_XBlankNode_idl__
+
+#include <com/sun/star/rdf/XResource.idl>
+
+
+
+module com { module sun { module star { module rdf {
+
+/** represents a blank node that may occur in a RDF graph.
+
+ <p>
+ Blank nodes are distinct, but have no URI; in other words,
+ they are resources that are anonymous.
+ </p>
+
+ @since OOo 3.0
+
+ @see XRepository
+ */
+interface XBlankNode : XResource
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rdf/XDocumentMetadataAccess.idl b/offapi/com/sun/star/rdf/XDocumentMetadataAccess.idl
new file mode 100644
index 000000000..b7d143555
--- /dev/null
+++ b/offapi/com/sun/star/rdf/XDocumentMetadataAccess.idl
@@ -0,0 +1,397 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_rdf_XDocumentMetadataAccess_idl__
+#define __com_sun_star_rdf_XDocumentMetadataAccess_idl__
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/container/ElementExistException.idl>
+#include <com/sun/star/container/NoSuchElementException.idl>
+#include <com/sun/star/io/IOException.idl>
+#include <com/sun/star/io/XInputStream.idl>
+#include <com/sun/star/datatransfer/UnsupportedFlavorException.idl>
+#include <com/sun/star/embed/XStorage.idl>
+#include <com/sun/star/task/XInteractionHandler.idl>
+#include <com/sun/star/rdf/FileFormat.idl>
+#include <com/sun/star/rdf/ParseException.idl>
+#include <com/sun/star/rdf/XURI.idl>
+#include <com/sun/star/rdf/XMetadatable.idl>
+#include <com/sun/star/rdf/XRepositorySupplier.idl>
+
+
+
+module com { module sun { module star { module rdf {
+
+/** document metadata functionality related to the "manifest.rdf".
+
+ <p>
+ This interface contains some methods that create connections between
+ the content and the RDF metadata of an ODF document.
+ The main idea is to make querying and manipulating the
+ data in the metadata manifest easier.
+ </p>
+
+ <p>
+ Note that this interface inherits from XURI: the
+ base URI of the document is the string value of the RDF node.
+ This is so that you can easily make RDF statements about the document.
+ </p>
+
+ @since OOo 3.2
+
+ @see XDocumentRepository
+ */
+interface XDocumentMetadataAccess
+{
+ interface XURI;
+ interface XRepositorySupplier;
+
+ /** get the unique ODF element with the given metadata reference.
+
+ @param MetadataReference
+ a metadata reference, comprising the stream name and the XML ID
+ For example: Pair("content.xml", "foo-element-1")
+
+ @returns
+ the ODF element with the given metadata references if it exists,
+ else `NULL`
+ */
+ XMetadatable getElementByMetadataReference(
+ [in] com::sun::star::beans::StringPair MetadataReference);
+
+ /** get the ODF element that corresponds to a URI.
+
+ @param URI
+ a URI that may identify an ODF element
+
+ @returns
+ the ODF element that corresponds to the given URI, or `NULL`
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the given URI is `NULL`
+ */
+ XMetadatable getElementByURI([in] XURI URI)
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** get the names of all metadata files with a given type.
+
+ @param Type
+ the <code>rdf:type</code> property of the requested named graphs
+
+ @returns
+ the names of all metadata graphs that have a <code>rdf:type</code>
+ property with the given Type as object
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the given Type is `NULL`
+ */
+ sequence<XURI> getMetadataGraphsWithType([in] XURI Type)
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** add a metadata file to the manifest.
+
+ <p>
+ This convenience method does the following:
+ <ul>
+ <li>create a new graph with the given name in the repository</li>
+ <li>insert statements declaring the new graph to be a
+ metadata file into the manifest graph</li>
+ <li>insert statements declaring <code>rdf:type</code> properties
+ for the new graph into the manifest graph</li>
+ </ul>
+ </p>
+
+ @param FileName
+ the name of the stream in the ODF storage where the graph will
+ be stored
+
+ @param Types
+ a list of types that will be inserted as <code>rdf:type</code>
+ properties for the graph
+
+ @returns
+ the name of the new graph
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the FileName is invalid
+
+ @throws com::sun::star::container::ElementExistException
+ if a stream with the given FileName already exists
+ */
+ XURI addMetadataFile([in] string FileName,
+ [in] sequence<XURI> Types )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::container::ElementExistException );
+
+ /** import a metadata file into the document repository, and add it to the
+ manifest.
+
+ <p>
+ This convenience method does the following:
+ <ol>
+ <li>import the given file into a graph with the given name
+ in the repository</li>
+ <li>insert statements declaring the new graph to be a
+ metadata file into the manifest graph</li>
+ <li>insert statements declaring <code>rdf:type</code> properties
+ for the new graph into the manifest graph</li>
+ </ol>
+ </p>
+
+ @param Format
+ the file format, see FileFormat
+
+ @param InStream
+ the input stream
+
+ @param FileName
+ the name of the stream in the ODF storage where the graph will
+ be stored
+
+ @param BaseURI
+ a base URI to resolve relative URI references
+
+ @param Types
+ a list of types that will be inserted as <code>rdf:type</code>
+ properties for the graph
+
+ @returns
+ the name of the new graph
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the given stream is `NULL`,
+ or BaseURI is `NULL` and the format requires use of a base URI,
+ or the FileName is invalid
+
+ @throws com::sun::star::datatransfer::UnsupportedFlavorException
+ if the format requested is unknown or not supported
+
+ @throws com::sun::star::container::ElementExistException
+ if a stream with the given FileName already exists
+
+ @throws ParseException
+ if the input does not conform to the specified file format.
+
+ @throws com::sun::star::io::IOException
+ if an I/O error occurs.
+
+ @see FileFormat
+ */
+ XURI importMetadataFile( [in] /*FileFormat*/ short Format,
+ [in] com::sun::star::io::XInputStream InStream,
+ [in] string FileName, [in] XURI BaseURI,
+ [in] sequence<XURI> Types )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::datatransfer::UnsupportedFlavorException,
+ com::sun::star::container::ElementExistException,
+ ParseException,
+ com::sun::star::io::IOException );
+
+ /** remove a metadata file from the manifest and the repository.
+
+ <p>
+ This convenience method does the following:
+ <ol>
+ <li>delete the graph with the given GraphName in the repository</li>
+ <li>remove the statements declaring the graph to be a
+ metadata file from the manifest graph</li>
+ </ol>
+ </p>
+
+ @param GraphName
+ the name of the graph that is to be removed
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the given GraphName is `NULL`
+
+ @throws com::sun::star::container::NoSuchElementException
+ if a graph with the given GraphName does not exist
+ */
+ void removeMetadataFile([in] XURI GraphName)
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::container::NoSuchElementException );
+
+ /** add a content or styles file to the manifest.
+
+ <p>
+ This convenience method adds the required statements declaring a
+ content or styles file to the manifest graph.
+ <ul>
+ <li>If the FileName ends in "content.xml",
+ an <code>odf:ContentFile</code> is added.</li>
+ <li>If the FileName ends in "styles.xml" ,
+ an <code>odf:StylesFile</code> is added.</li>
+ <li>Other FileNames are invalid.</li>
+ </ul>
+ </p>
+
+ @param FileName
+ the name of the stream in the ODF storage
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the FileName is invalid
+
+ @throws com::sun::star::container::ElementExistException
+ if a stream with the given FileName already exists
+ */
+ void addContentOrStylesFile([in] string FileName)
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::container::ElementExistException );
+
+ /** remove a content or styles file from the manifest.
+
+ <p>
+ This convenience method removes the statements declaring a
+ content or styles file from the manifest graph.
+ </p>
+
+ @param FileName
+ the name of the stream in the ODF storage
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the FileName is invalid
+
+ @throws com::sun::star::container::NoSuchElementException
+ if a graph with the given GraphName does not exist
+ */
+ void removeContentOrStylesFile([in] string FileName)
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::container::NoSuchElementException );
+
+ /** initialize document metadata from a storage.
+
+ <p>
+ This method re-initializes the document metadata,
+ loads the stream named "manifest.rdf" from the storage, and then
+ loads all metadata streams mentioned in the manifest.
+ </p>
+
+ <p>
+ Note that it is not an error if the storage does not contain
+ a manifest.
+ In this case, the document metadata will be default initialized.
+ </p>
+
+ <p>
+ If an InteractionHandler argument is given, it will be used for
+ error reporting. Otherwise, errors will be reported as exceptions.
+ </p>
+
+ @param Storage
+ a storage, representing e.g. an ODF package file, or sub-document
+
+ @param BaseURI
+ a base URI to resolve relative URI references
+ <p>N.B.: when loading from an ODF package, the base URI is not the
+ URI of the package, but the URI of the directory in the package
+ that contains the metadata.rdf</p>
+
+ @param InteractionHandler
+ an InteractionHandler, used for error reporting
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if any argument is `NULL`
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if an error occurs while loading and no InteractionHandler given
+ */
+ void loadMetadataFromStorage(
+ [in] com::sun::star::embed::XStorage Storage,
+ [in] XURI BaseURI,
+ [in] com::sun::star::task::XInteractionHandler InteractionHandler )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::lang::WrappedTargetException );
+
+ /** store document metadata to a storage.
+
+ <p>
+ This method stores all the graphs in the document metadata repository
+ to the given storage.
+ </p>
+
+ <p>
+ Note that to be stored correctly, a named graph must have a complete
+ entry in the manifest graph.
+ </p>
+
+ @param Storage
+ a storage, representing e.g. an ODF package file, or sub-document
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if Storage argument is `NULL`
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if an error occurs while loading
+ */
+ void storeMetadataToStorage(
+ [in] com::sun::star::embed::XStorage Storage )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::lang::WrappedTargetException );
+
+ /** loads document metadata from a medium.
+
+ <p>If the Medium contains an InteractionHandler, it will be used for
+ error reporting.</p>
+
+ @param Medium
+ the com::sun::star::document::MediaDescriptor
+ representing the source
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the argument does not contain a URL or Stream property
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if an error occurs while loading
+
+ @see com::sun::star::document::MediaDescriptor
+ */
+ void loadMetadataFromMedium(
+ [in] sequence < com::sun::star::beans::PropertyValue > Medium )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::lang::WrappedTargetException );
+
+ /** stores document metadata to a medium.
+
+ @param Medium
+ the com::sun::star::document::MediaDescriptor
+ representing the target
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the argument does not contain a URL or Stream property
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if an error occurs while storing
+
+ @see com::sun::star::document::MediaDescriptor
+ */
+ void storeMetadataToMedium(
+ [in] sequence < com::sun::star::beans::PropertyValue > Medium )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::lang::WrappedTargetException );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rdf/XDocumentRepository.idl b/offapi/com/sun/star/rdf/XDocumentRepository.idl
new file mode 100644
index 000000000..039e37699
--- /dev/null
+++ b/offapi/com/sun/star/rdf/XDocumentRepository.idl
@@ -0,0 +1,222 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_rdf_XDocumentRepository_idl__
+#define __com_sun_star_rdf_XDocumentRepository_idl__
+
+#include <com/sun/star/beans/Pair.idl>
+#include <com/sun/star/rdf/XMetadatable.idl>
+#include <com/sun/star/rdf/XRepository.idl>
+
+
+
+module com { module sun { module star { module rdf {
+
+/** extends XRepository with document-specific functionality.
+
+ <p>
+ This subclass of XRepository provides some methods which
+ only make sense for repositories that are attached to a document.
+ For example, the methods allow for manipulating in-content metadata,
+ which is stored as RDFa.
+ </p>
+
+ @since OOo 3.2
+
+ @see XRepositorySupplier
+ @see XDocumentMetadataAccess
+ */
+interface XDocumentRepository : XRepository
+{
+
+ /** update the RDFa statement(s) that correspond to an ODF element in the
+ repository.
+
+ <p>
+ This method will do the following steps:
+ <ol>
+ <li>Remove all previously set RDFa statements for the Object parameter
+ from the repository</li>
+ <li>If the RDFaContent parameter is the empty `string`,
+ for every Predicate in the given list of Predicates,
+ add the following RDF statement to an unspecified named graph:
+ <ul>
+ <li><code>Subject Predicate
+ XLiteral(Object->getText()^^RDFaDatatype)</code></li>
+ </ul>
+ </li>
+ <li>If the RDFaContent parameter is not the empty `string`,
+ for every Predicate in the given list of Predicates,
+ add the following RDF statement to an unspecified named graph:
+ <ul>
+ <li>
+ <code>Subject Predicate XLiteral(RDFaContent^^RDFaDatatype)</code>
+ </li>
+ </ul>
+ </li>
+ </ol>
+ </p>
+
+ <p>
+ RDFa statements are handled specially because they are not logically
+ part of any named graph in the repository.
+ Also, they have rather unusual semantics;
+ just using XNamedGraph::addStatement() would be
+ ambiguous:
+ if the object is a XMetadatable, do we insert
+ the object itself (URI) or its literal content (RDFa)?
+ </p>
+
+ @param Subject
+ the subject of the RDF triple(s).
+
+ @param Predicates
+ the predicates of the RDF triple(s).
+
+ @param Object
+ the object of the RDF triple(s) is the text content of this
+ parameter.
+
+ @param RDFaContent
+ the <code>rdfa:content</code> attribute (may be the empty
+ `string`).
+
+ @param RDFaDatatype
+ the <code>rdfa:datatype</code> attribute (may be `NULL`)
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if any parameter is `NULL`, Predicates is empty,
+ or Object is of a type that can not have RDFa metadata attached.
+
+ @throws RepositoryException
+ if an error occurs when accessing the repository.
+ */
+ void setStatementRDFa(
+ [in] XResource Subject,
+ [in] sequence<XURI> Predicates,
+ [in] XMetadatable Object,
+ [in] string RDFaContent,
+ [in] XURI RDFaDatatype)
+ raises( com::sun::star::lang::IllegalArgumentException,
+ RepositoryException );
+
+ /** remove the RDFa statement(s) that correspond to an ODF element from the
+ repository.
+
+ <p>
+ RDFa statements are handled specially because they are not logically
+ part of any graph.
+ </p>
+
+ @param Element
+ the element whose RDFa statement(s) should be removed
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the given Element is `NULL`, or of a type that can not have
+ RDFa metadata attached.
+
+ @throws RepositoryException
+ if an error occurs when accessing the repository.
+ */
+ void removeStatementRDFa([in] XMetadatable Element)
+ raises( com::sun::star::lang::IllegalArgumentException,
+ RepositoryException );
+
+ /** find the RDFa statement(s) associated with an ODF element.
+
+ @param Element
+ the ODF element for which RDFa statements should be found
+
+ @returns
+ <ul>
+ <li>if the element has no RDFa meta-data attributes:
+ the empty sequence.</li>
+ <li>if the element has RDFa meta-data attributes:
+ <ul>
+ <li>a sequence with the RDFa-statements corresponding to the
+ attributes.</li>
+ <li>a flag indicating whether there is a xhtml:content
+ attribute.</li>
+ </ul>
+ </li>
+ </ul>
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the given Element is `NULL`, or of a type that can not have
+ RDFa metadata attached.
+
+ @throws RepositoryException
+ if an error occurs when accessing the repository.
+
+ @see Statement
+ */
+ com::sun::star::beans::Pair< sequence<Statement>, boolean >
+ getStatementRDFa([in] XMetadatable Element)
+ raises( com::sun::star::lang::IllegalArgumentException,
+ RepositoryException );
+
+ /** gets matching RDFa statements from the repository.
+
+ <p>
+ This method exists because RDFa statements are not part of any named
+ graph, and thus they cannot be enumerated with
+ XNamedGraph::getStatements().
+ </p>
+
+ <p>
+ Any parameter may be `NULL`, which acts as a wildcard.
+ For example, to get all statements about myURI:
+ <code>getStatementsRDFa(myURI, null, null)</code>
+ </p>
+
+ @param Subject
+ the subject of the RDF triple.
+
+ @param Predicate
+ the predicate of the RDF triple.
+
+ @param Object
+ the object of the RDF triple.
+
+ @returns
+ an iterator over all RDFa statements in the repository that match
+ the parameters, represented as an
+ enumeration of Statement
+
+ @throws RepositoryException
+ if an error occurs when accessing the repository.
+
+ @see Statement
+ @see XRepository::getStatements
+ @see XNamedGraph::getStatements
+ */
+ com::sun::star::container::XEnumeration/*<Statement>*/ getStatementsRDFa(
+ [in] XResource Subject,
+ [in] XURI Predicate,
+ [in] XNode Object)
+ raises( RepositoryException );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rdf/XLiteral.idl b/offapi/com/sun/star/rdf/XLiteral.idl
new file mode 100644
index 000000000..7366d021f
--- /dev/null
+++ b/offapi/com/sun/star/rdf/XLiteral.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_rdf_XLiteral_idl__
+#define __com_sun_star_rdf_XLiteral_idl__
+
+#include <com/sun/star/rdf/XURI.idl>
+
+
+
+module com { module sun { module star { module rdf {
+
+/** represents a literal that may occur in a RDF graph.
+
+ <p>
+ RDF literals may come in three varieties:
+ <ul>
+ <li>just a string Value</li>
+ <li>Value and Language</li>
+ <li>typed literal: Value and Datatype (represented by a URI)</li>
+ </ul>
+ Note that there is no literal with both Language and Datatype.
+ </p>
+
+ @since OOo 3.0
+
+ @see XRepository
+ */
+interface XLiteral : XNode
+{
+ /// the content of the literal
+ [readonly, attribute] string Value;
+ /// the language of the literal; may be the empty `string`
+ [readonly, attribute] string Language;
+ /// the data type of the literal; may be `NULL`
+ [readonly, attribute] XURI Datatype;
+ //FIXME: TODO: have not looked at handling all kinds of types, maybe just have an any attr here...
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rdf/XMetadatable.idl b/offapi/com/sun/star/rdf/XMetadatable.idl
new file mode 100644
index 000000000..fc80bef99
--- /dev/null
+++ b/offapi/com/sun/star/rdf/XMetadatable.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_rdf_XMetadatable_idl__
+#define __com_sun_star_rdf_XMetadatable_idl__
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/beans/StringPair.idl>
+#include <com/sun/star/rdf/XURI.idl>
+
+
+
+module com { module sun { module star { module rdf {
+
+/** marks an object representing an ODF element that may have RDF meta data
+ attached.
+
+ <p>
+ To make using ODF elements as part of RDF statements more convenient,
+ this interface inherits from XURI.
+ The URI is constructed by concatenating the URI of the document, the
+ stream name, a fragment separator, and the XML ID.
+ </p>
+
+ <p>
+ Note that using the XURI interface on an instance of
+ XMetadatable may have the side effect of creating a metadata
+ reference for the instance.
+ </p>
+
+ @since OOo 3.2
+
+ @see XRepository
+ @see XDocumentMetadataAccess
+ */
+interface XMetadatable : XURI
+{
+ /** a metadata reference, comprising the stream name and the XML ID.
+
+ <p>
+ Note that this metadata reference must be unique for the ODF document.
+ This implies that the XML ID part must be unique for every stream.
+ A pair of two empty strings signifies "no metadata reference".
+ For example: Pair("content.xml", "foo-element-1")
+ </p>
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the given metadata reference is invalid, or not unique
+ */
+ [attribute] com::sun::star::beans::StringPair MetadataReference {
+ set raises ( com::sun::star::lang::IllegalArgumentException );
+ };
+
+ /** creates a metadata reference for this object, if necessary.
+
+ <p>
+ If this object already has a metadata reference, do nothing;
+ otherwise, create metadata reference with a fresh, unique XML ID
+ and assign it to the MetadataReference attribute.
+ </p>
+ */
+ void ensureMetadataReference();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rdf/XNamedGraph.idl b/offapi/com/sun/star/rdf/XNamedGraph.idl
new file mode 100644
index 000000000..3de01b476
--- /dev/null
+++ b/offapi/com/sun/star/rdf/XNamedGraph.idl
@@ -0,0 +1,201 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_rdf_XNamedGraph_idl__
+#define __com_sun_star_rdf_XNamedGraph_idl__
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/container/NoSuchElementException.idl>
+#include <com/sun/star/container/XEnumeration.idl>
+#include <com/sun/star/rdf/RepositoryException.idl>
+#include <com/sun/star/rdf/XURI.idl>
+
+
+
+module com { module sun { module star { module rdf {
+
+/** represents an RDF named graph that is stored in an RDF Repository.
+
+ <p>
+ Note that this interface inherits from XResource: the
+ name of the graph is the string value of the RDF node.
+ This is so that you can easily make RDF statements about named graphs.
+ </p>
+
+ <p>
+ Note that instances may be destroyed via
+ XRepository::destroyGraph().
+ If a graph is destroyed, subsequent calls to addStatement(),
+ removeStatements() will fail with an
+ com::sun::star::container::NoSuchElementException.
+ </p>
+
+ @since OOo 3.2
+
+ @see XRepository
+ */
+interface XNamedGraph : XURI
+{
+
+ /** returns the name of the graph.
+
+ <p>
+ The name is unique within the repository.
+ </p>
+
+ @returns
+ the name of the graph
+ */
+ XURI getName();
+
+ /** removes all statements from the graph.
+
+ @throws com::sun::star::container::NoSuchElementException
+ if this graph does not exist in the repository any more
+
+ @throws RepositoryException
+ if an error occurs when accessing the repository.
+ */
+ void clear()
+ raises( com::sun::star::container::NoSuchElementException,
+ RepositoryException );
+
+ /** adds a RDF statement to the graph.
+
+ <p>
+ Note that the ODF elements that can have metadata attached all
+ implement the interface XMetadatable, which inherits
+ from XResource, meaning that you can simply pass them
+ in as arguments here, and it will magically work.
+ </p>
+
+ @param Subject
+ the subject of the RDF triple.
+
+ @param Predicate
+ the predicate of the RDF triple.
+
+ @param Object
+ the object of the RDF triple.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if any parameter is `NULL`
+
+ @throws com::sun::star::container::NoSuchElementException
+ if this graph does not exist in the repository any more
+
+ @throws RepositoryException
+ if an error occurs when accessing the repository.
+ */
+ void addStatement([in] XResource Subject,
+ [in] XURI Predicate,
+ [in] XNode Object)
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::container::NoSuchElementException,
+ RepositoryException );
+
+ /** removes matching RDF statements from the graph.
+
+ <p>
+ Note that the ODF elements that can have metadata attached all
+ implement the interface XMetadatable, which inherits
+ from XResource, meaning that you can simply pass them
+ in as arguments here, and it will magically work.
+ </p>
+
+ <p>
+ Any parameter may be `NULL`, which acts as a wildcard.
+ For example, to remove all statements about myURI:
+ <code>removeStatement(myURI, null, null)</code>
+ </p>
+
+ @param Subject
+ the subject of the RDF triple.
+
+ @param Predicate
+ the predicate of the RDF triple.
+
+ @param Object
+ the object of the RDF triple.
+
+ @throws com::sun::star::container::NoSuchElementException
+ if this graph does not exist in the repository any more
+
+ @throws RepositoryException
+ if an error occurs when accessing the repository.
+ */
+ void removeStatements([in] XResource Subject,
+ [in] XURI Predicate,
+ [in] XNode Object)
+ raises( com::sun::star::container::NoSuchElementException,
+ RepositoryException );
+
+ /** gets matching RDF statements from a graph.
+
+ <p>
+ Note that the ODF elements that can have metadata attached all
+ implement the interface XMetadatable, which inherits
+ from XResource, meaning that you can simply pass them
+ in as arguments here, and it will magically work.
+ </p>
+
+ <p>
+ Any parameter may be `NULL`, which acts as a wildcard.
+ For example, to get all statements about myURI:
+ <code>getStatements(myURI, null, null)</code>
+ </p>
+
+ @param Subject
+ the subject of the RDF triple.
+
+ @param Predicate
+ the predicate of the RDF triple.
+
+ @param Object
+ the object of the RDF triple.
+
+ @returns
+ an iterator over all RDF statements in the graph that match
+ the parameters, represented as an
+ enumeration of Statement
+
+ @throws com::sun::star::container::NoSuchElementException
+ if this graph does not exist in the repository any more
+
+ @throws RepositoryException
+ if an error occurs when accessing the repository.
+
+ @see Statement
+ */
+ com::sun::star::container::XEnumeration/*<Statement>*/ getStatements(
+ [in] XResource Subject,
+ [in] XURI Predicate,
+ [in] XNode Object)
+ raises( com::sun::star::container::NoSuchElementException,
+ RepositoryException );
+
+//FIXME reification: addReifiedStatement(Statement)...
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rdf/XNode.idl b/offapi/com/sun/star/rdf/XNode.idl
new file mode 100644
index 000000000..a954965af
--- /dev/null
+++ b/offapi/com/sun/star/rdf/XNode.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_rdf_XNode_idl__
+#define __com_sun_star_rdf_XNode_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+module com { module sun { module star { module rdf {
+
+/** represents a node that may occur in a RDF graph.
+
+ <p>
+ In the RDF data model, there are three distinct types of nodes:
+ URIs, blank nodes, and literals.
+ </p>
+
+ <pre>
+ XNode
+ |
+ |---XLiteral
+ |
+ XResource
+ |
+ |---XBlankNode
+ |
+ XURI
+ </pre>
+
+ @since OOo 3.0
+
+ @see XRepository
+ @see Statement
+ @see XResource
+ @see XBlankNode
+ @see XURI
+ @see XLiteral
+ */
+interface XNode
+{
+ /// the string value of the node.
+ [readonly, attribute] string StringValue;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rdf/XQuerySelectResult.idl b/offapi/com/sun/star/rdf/XQuerySelectResult.idl
new file mode 100644
index 000000000..52df495be
--- /dev/null
+++ b/offapi/com/sun/star/rdf/XQuerySelectResult.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_rdf_XQuerySelectResult_idl__
+#define __com_sun_star_rdf_XQuerySelectResult_idl__
+
+#include <com/sun/star/container/XEnumeration.idl>
+
+
+
+module com { module sun { module star { module rdf {
+
+/** represents the result of a SPARQL "SELECT" query.
+
+ <p>
+ The result consists of:
+ <ol>
+ <li>a list of query variable names (column labels)</li>
+ <li>an iterator of query results (rows),
+ each being a list of bindings for the above variables</li>
+ </ol>
+ Note that each query result retrieved via
+ com::sun::star::container::XEnumeration::nextElement()
+ has the type XNode[],
+ the length of the sequence being the same as the number of query variables.
+ </p>
+
+ @since OOo 3.0
+
+ @see XRepository::querySelect
+ @see XNode
+ */
+interface XQuerySelectResult : com::sun::star::container::XEnumeration
+{
+ /** get the names of the query variables.
+
+ <p>
+ </p>
+ */
+ sequence<string> getBindingNames();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rdf/XReifiedStatement.idl b/offapi/com/sun/star/rdf/XReifiedStatement.idl
new file mode 100644
index 000000000..37dac62c5
--- /dev/null
+++ b/offapi/com/sun/star/rdf/XReifiedStatement.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_rdf_XReifiedStatement_idl__
+#define __com_sun_star_rdf_XReifiedStatement_idl__
+
+#include <com/sun/star/rdf/Statement.idl>
+
+
+
+module com { module sun { module star { module rdf {
+
+/** represents a reified RDF statement.
+
+ @since OOo 3.0
+
+ @see XRepository
+ */
+interface XReifiedStatement : XResource
+{
+ /// the statement that is reified
+ [readonly, attribute] Statement Statement;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rdf/XRepository.idl b/offapi/com/sun/star/rdf/XRepository.idl
new file mode 100644
index 000000000..a8cf4652c
--- /dev/null
+++ b/offapi/com/sun/star/rdf/XRepository.idl
@@ -0,0 +1,393 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_rdf_XRepository_idl__
+#define __com_sun_star_rdf_XRepository_idl__
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/container/ElementExistException.idl>
+#include <com/sun/star/container/NoSuchElementException.idl>
+#include <com/sun/star/container/XEnumeration.idl>
+#include <com/sun/star/io/IOException.idl>
+#include <com/sun/star/io/XInputStream.idl>
+#include <com/sun/star/io/XOutputStream.idl>
+#include <com/sun/star/datatransfer/UnsupportedFlavorException.idl>
+#include <com/sun/star/rdf/FileFormat.idl>
+#include <com/sun/star/rdf/ParseException.idl>
+#include <com/sun/star/rdf/QueryException.idl>
+#include <com/sun/star/rdf/RepositoryException.idl>
+#include <com/sun/star/rdf/XBlankNode.idl>
+#include <com/sun/star/rdf/XURI.idl>
+#include <com/sun/star/rdf/Statement.idl>
+#include <com/sun/star/rdf/XQuerySelectResult.idl>
+#include <com/sun/star/rdf/XNamedGraph.idl>
+
+
+
+module com { module sun { module star { module rdf {
+
+/** provides access to a set of named RDF graphs.
+
+ <p>
+ A repository for storing information according to the data model of the
+ <a href="http://www.w3.org/RDF/">Resource Description Framework</a>.
+ This interface may be used e.g. for repositories that correspond to a
+ loaded ODF document, or for repositories that are backed by some kind of
+ database.
+ </p>
+ <p>
+ The RDF triples are stored as a set of named RDF graphs.
+ Importing and exporting files in the
+ <a href="http://www.w3.org/TR/rdf-syntax-grammar/">RDF/XML</a>
+ format is supported.
+ Support for other file formats is optional.
+ Support for querying the repository with the
+ <a href="http://www.w3.org/TR/rdf-sparql-query/">SPARQL</a>
+ query language is provided.
+ </p>
+
+
+ @since OOo 3.2
+
+ @see XRepositorySupplier
+ @see XDocumentRepository
+ */
+interface XRepository
+{
+
+ /** creates a fresh unique blank node.
+
+ @returns
+ a newly generated blank node which is unique in this repository
+ */
+ XBlankNode createBlankNode();
+
+
+ /** imports a named graph into the repository.
+
+ <p>
+ Implementations must support RDF/XML format.
+ Support for other RDF formats is optional.
+ If the format is not supported by the implementation, an
+ com::sun::star::datatransfer::UnsupportedFlavorException is raised.
+ If the format requires use of a BaseURI, but none is given, an
+ com::sun::star::lang::IllegalArgumentException
+ is raised.
+ </p>
+
+ @param Format
+ the format of the input file
+
+ @param InStream
+ the input stream, containing an RDF file in the specified format
+
+ @param GraphName
+ the name of the graph that is imported
+
+ @param BaseURI
+ a base URI to resolve relative URI references
+
+ @returns
+ the imported graph
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the given stream or the GraphName is `NULL`,
+ or BaseURI is `NULL` and the format requires use of a base URI
+
+ @throws com::sun::star::datatransfer::UnsupportedFlavorException
+ if the format requested is unknown or not supported
+
+ @throws com::sun::star::container::ElementExistException
+ if a graph with the given GraphName already exists in the
+ repository
+
+ @throws ParseException
+ if the input does not conform to the specified file format.
+
+ @throws RepositoryException
+ if an error occurs when accessing the repository.
+
+ @throws com::sun::star::io::IOException
+ if an I/O error occurs.
+
+ @see FileFormat
+ */
+ XNamedGraph importGraph([in] /*FileFormat*/ short Format,
+ [in] com::sun::star::io::XInputStream InStream,
+ [in] XURI GraphName, [in] XURI BaseURI)
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::datatransfer::UnsupportedFlavorException,
+ com::sun::star::container::ElementExistException,
+ ParseException,
+ RepositoryException,
+ com::sun::star::io::IOException );
+
+ /** exports a named graph from the repository.
+
+ <p>
+ Implementations must support RDF/XML format.
+ Support for other RDF formats is optional.
+ If the format is not supported by the implementation, an
+ com::sun::star::datatransfer::UnsupportedFlavorException is raised.
+ </p>
+
+ @param Format
+ the format of the output file
+
+ @param OutStream
+ the target output stream
+
+ @param GraphName
+ the name of the graph that is to be exported
+
+ @param BaseURI
+ a base URI to resolve relative URI references
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the given stream or the GraphName is `NULL`,
+ or BaseURI is `NULL` and the format requires use of a base URI
+
+ @throws com::sun::star::datatransfer::UnsupportedFlavorException
+ if the format requested is unknown or not supported
+
+ @throws com::sun::star::container::NoSuchElementException
+ if a graph with the given GraphName does not exist
+
+ @throws RepositoryException
+ if an error occurs when accessing the repository.
+
+ @throws com::sun::star::io::IOException
+ if an I/O error occurs.
+
+ @see FileFormat
+ */
+ void exportGraph([in] /*FileFormat*/ short Format,
+ [in] com::sun::star::io::XOutputStream OutStream,
+ [in] XURI GraphName, [in] XURI BaseURI)
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::datatransfer::UnsupportedFlavorException,
+ com::sun::star::container::NoSuchElementException,
+ RepositoryException,
+ com::sun::star::io::IOException );
+
+ /** gets the names of all the graphs in the repository.
+
+ @returns
+ a list containing the names of the graphs in the repository
+
+ @throws RepositoryException
+ if an error occurs when accessing the repository.
+ */
+ sequence<XURI> getGraphNames()
+ raises( RepositoryException );
+
+ /** gets a graph by its name.
+
+ @param GraphName
+ the name of the graph that is to be returned
+
+ @returns
+ the graph with the given name if it exists, else `NULL`
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the given GraphName is invalid
+
+ @throws RepositoryException
+ if an error occurs when accessing the repository.
+ */
+ XNamedGraph getGraph([in] XURI GraphName)
+ raises( com::sun::star::lang::IllegalArgumentException,
+ RepositoryException );
+
+ /** creates a graph with the given name.
+
+ <p>
+ The name must be unique within the repository.
+ </p>
+
+ @param GraphName
+ the name of the graph that is to be created
+
+ @returns
+ the graph with the given name
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the given GraphName is invalid
+
+ @throws com::sun::star::container::ElementExistException
+ if a graph with the given GraphName already exists
+
+ @throws RepositoryException
+ if an error occurs when accessing the repository.
+ */
+ XNamedGraph createGraph([in] XURI GraphName)
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::container::ElementExistException,
+ RepositoryException );
+
+ /** destroys the graph with the given name, and removes it from the
+ repository.
+
+ <p>
+ This invalidates any instances of XNamedGraph
+ for the argument.
+ </p>
+
+ @param GraphName
+ the name of the graph that is to be destroyed
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the given GraphName is invalid
+
+ @throws com::sun::star::container::NoSuchElementException
+ if a graph with the given GraphName does not exist
+
+ @throws RepositoryException
+ if an error occurs when accessing the repository.
+ */
+ void destroyGraph([in] XURI GraphName)
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::container::NoSuchElementException,
+ RepositoryException );
+
+ /** gets matching RDF statements from the repository.
+
+ <p>
+ Any parameter may be `NULL`, which acts as a wildcard.
+ For example, to get all statements about myURI:
+ <code>getStatements(myURI, null, null)</code>
+ </p>
+
+ @param Subject
+ the subject of the RDF triple.
+
+ @param Predicate
+ the predicate of the RDF triple.
+
+ @param Object
+ the object of the RDF triple.
+
+ @returns
+ an iterator over all RDF statements in the repository that match
+ the parameters, represented as an
+ enumeration of Statement
+
+ @throws RepositoryException
+ if an error occurs when accessing the repository.
+
+ @see Statement
+ @see XNamedGraph::getStatements
+ */
+ com::sun::star::container::XEnumeration/*<Statement>*/ getStatements(
+ [in] XResource Subject,
+ [in] XURI Predicate,
+ [in] XNode Object)
+ raises( RepositoryException );
+
+
+ /** executes a SPARQL "SELECT" query.
+
+ <p>
+ This method runs a SPARQL query that returns a list of variable
+ bindings, i.e., a query beginning with "SELECT".
+ The result is basically a (rectangular) table with labeled columns,
+ where individual cells may be `NULL`.
+ </p>
+
+ @param Query
+ the SPARQL query `string`
+
+ @returns
+ an enumeration, containing
+ <ol>
+ <li>a list of query variable names (column labels)</li>
+ <li>the query results (rows),
+ each being a list of bindings for the above variables</li>
+ </ol>
+
+ @throws QueryException
+ if the query is malformed, or evaluation fails
+
+ @throws RepositoryException
+ if an error occurs when accessing the repository.
+
+ @see XQuerySelectResult
+ */
+ XQuerySelectResult querySelect([in] string Query)
+ raises( QueryException,
+ RepositoryException );
+
+ /** executes a SPARQL "CONSTRUCT" query.
+
+ <p>
+ This method runs a SPARQL query that constructs a result graph,
+ i.e., a query beginning with "CONSTRUCT".
+ </p>
+
+ @param Query
+ the SPARQL query `string`
+
+ @returns
+ an iterator over the query result graph, represented as an
+ enumeration of Statement
+
+ @throws QueryException
+ if the query is malformed, or evaluation fails
+
+ @throws RepositoryException
+ if an error occurs when accessing the repository.
+
+ @see Statement
+ */
+ com::sun::star::container::XEnumeration/*<Statement>*/ queryConstruct(
+ [in] string Query)
+ raises( QueryException,
+ RepositoryException );
+
+ /** executes a SPARQL "ASK" query.
+
+ <p>
+ This method runs a SPARQL query that computes a boolean,
+ i.e., a query beginning with "ASK".
+ </p>
+
+ @param Query
+ the SPARQL query `string`
+
+ @returns
+ the boolean query result
+
+ @throws QueryException
+ if the query is malformed, or evaluation fails
+
+ @throws RepositoryException
+ if an error occurs when accessing the repository.
+ */
+ boolean queryAsk([in] string Query)
+ raises( QueryException,
+ RepositoryException );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rdf/XRepositorySupplier.idl b/offapi/com/sun/star/rdf/XRepositorySupplier.idl
new file mode 100644
index 000000000..6218385f8
--- /dev/null
+++ b/offapi/com/sun/star/rdf/XRepositorySupplier.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_rdf_XRepositorySupplier_idl__
+#define __com_sun_star_rdf_XRepositorySupplier_idl__
+
+#include <com/sun/star/rdf/XRepository.idl>
+
+
+
+module com { module sun { module star { module rdf {
+
+/** provides access to an RDF Repository.
+
+ @since OOo 3.0
+
+ @see XRepository
+ */
+interface XRepositorySupplier
+{
+ /** provides the RDF Repository associated with this object.
+
+ @returns
+ an object of type XRepository
+ */
+ XRepository getRDFRepository();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rdf/XResource.idl b/offapi/com/sun/star/rdf/XResource.idl
new file mode 100644
index 000000000..eeb5c638b
--- /dev/null
+++ b/offapi/com/sun/star/rdf/XResource.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_rdf_XResource_idl__
+#define __com_sun_star_rdf_XResource_idl__
+
+#include <com/sun/star/rdf/XNode.idl>
+
+
+
+module com { module sun { module star { module rdf {
+
+/** represents a resource node that may occur in a RDF graph.
+
+ <p>
+ Note that this interface exists only to separate resources from literals.
+ </p>
+
+ @since OOo 3.0
+
+ @see XRepository
+ @see XBlankNode
+ @see XURI
+ */
+interface XResource : XNode
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rdf/XURI.idl b/offapi/com/sun/star/rdf/XURI.idl
new file mode 100644
index 000000000..5386186d9
--- /dev/null
+++ b/offapi/com/sun/star/rdf/XURI.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_rdf_XURI_idl__
+#define __com_sun_star_rdf_XURI_idl__
+
+#include <com/sun/star/rdf/XResource.idl>
+
+
+
+module com { module sun { module star { module rdf {
+
+/** represents a URI node that may occur in a RDF graph.
+
+ <p>
+ Note that this is actually an IRI, but the RDF literature speaks of URIs
+ only, so we chose to use established terminology.
+ </p>
+
+ <p>
+ The URI is split into a Namespace and a LocalName,
+ using the first applicable of the following criteria:
+ <ol>
+ <li>after the first occurrence of the fragment separator: "#"</li>
+ <li>after the last occurrence of the path separator: "/"</li>
+ <li>after the last occurrence of the scheme separator: ":"</li>
+ </ol>
+ A URI without a ":" is invalid.
+ This implies that the Namespace part of a URI must not be empty, while
+ the LocalName part may be empty.
+ </p>
+
+ @since OOo 3.0
+
+ @see XRepository
+ */
+interface XURI : XResource
+{
+ /// prefix
+ [readonly, attribute] string Namespace;
+ /// suffix
+ [readonly, attribute] string LocalName;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/ARGBColor.idl b/offapi/com/sun/star/rendering/ARGBColor.idl
new file mode 100644
index 000000000..04839fec7
--- /dev/null
+++ b/offapi/com/sun/star/rendering/ARGBColor.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_rendering_ARGBColor_idl__
+#define __com_sun_star_rendering_ARGBColor_idl__
+
+#include <com/sun/star/rendering/ColorComponent.idl>
+
+module com { module sun { module star { module rendering {
+
+/// ARGB color quad
+struct ARGBColor
+{
+ /** Alpha component.<p>
+
+ Valid range is [0,1.0], with 0.0 denoting fully transparent,
+ and 1.0 fully opaque.
+ */
+ ColorComponent Alpha;
+ /// Red component. Valid range is [0,1.0]
+ ColorComponent Red;
+ /// Green component. Valid range is [0,1.0]
+ ColorComponent Green;
+ /// Blue component. Valid range is [0,1.0]
+ ColorComponent Blue;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/AnimationAttributes.idl b/offapi/com/sun/star/rendering/AnimationAttributes.idl
new file mode 100644
index 000000000..2aab339b7
--- /dev/null
+++ b/offapi/com/sun/star/rendering/AnimationAttributes.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_rendering_AnimationAttributes_idl__
+#define __com_sun_star_rendering_AnimationAttributes_idl__
+
+#include <com/sun/star/geometry/RealSize2D.idl>
+
+module com { module sun { module star { module rendering {
+
+/** This structure contains attributes needed to run an animation.
+
+ @since OOo 2.0
+ */
+struct AnimationAttributes
+{
+ /// Preferred duration of the animation sequence in seconds.
+ double Duration;
+
+
+ /** Repeat mode of the animation sequence.<p>
+
+ This value determines how the [0,1] parameter space of the animation
+ should be swept through. Permissible values are given in
+ AnimationRepeat.<p>
+
+ @see AnimationRepeat.
+ */
+ byte RepeatMode;
+
+
+ /** Size of the untransformed animation sequence.<p>
+
+ This value specifies the size of the animation when rendered
+ with the identity view transform. This permits
+ e.g. XSprite implementations to cache rendered
+ animation content in finite-sized bitmaps.<p>
+ */
+ ::com::sun::star::geometry::RealSize2D UntransformedSize;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/AnimationRepeat.idl b/offapi/com/sun/star/rendering/AnimationRepeat.idl
new file mode 100644
index 000000000..24eae007c
--- /dev/null
+++ b/offapi/com/sun/star/rendering/AnimationRepeat.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_rendering_AnimationRepeat_idl__
+#define __com_sun_star_rendering_AnimationRepeat_idl__
+
+module com { module sun { module star { module rendering {
+
+/** This are the possible repeat modes for animations.<p>
+
+ These constants determine how the [0,1] parameter range of the
+ animation is driven through, thus defining the possible repeat
+ modes.<p>
+
+ @since OOo 2.0
+ */
+constants AnimationRepeat
+{
+ /** The [0,1] parameter range is swept through exactly once.<p>
+
+ The [0,1] parameter range is swept through exactly once,
+ starting with 0 and ending with 1.<p>
+ */
+ const byte ONE_SHOT=0;
+
+
+ /** The [0,1] parameter range is swept through exactly twice.<p>
+
+ The [0,1] parameter range is swept through exactly twice,
+ starting with 0, going to 1, and going back to 0. When
+ plotting the value over time, this yields a triangle curve.<p>
+ */
+ const byte ONE_SHOT_PINGPONG=1;
+
+
+ /** The [0,1] parameter range is swept through infinitely.<p>
+
+ The [0,1] parameter range is swept through infinitely,
+ starting with 0, going to 1, and going back to 0, and then
+ starting again. When plotting the value over time, this yields
+ a repeated triangle curve.<p>
+ */
+ const byte PINGPONG=2;
+
+
+ /** The [0,1] parameter range is swept through infinitely.<p>
+
+ The [0,1] parameter range is swept through infinitely,
+ starting with 0, going to 1, and starting with 0 again. When
+ plotting the value over time, this yields a repeated saw-tooth
+ curve.<p>
+ */
+ const byte REPEAT=3;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/BitmapCanvas.idl b/offapi/com/sun/star/rendering/BitmapCanvas.idl
new file mode 100644
index 000000000..4d75b2c2b
--- /dev/null
+++ b/offapi/com/sun/star/rendering/BitmapCanvas.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_rendering_BitmapCanvas_idl__
+#define __com_sun_star_rendering_BitmapCanvas_idl__
+
+#include <com/sun/star/rendering/XBitmap.idl>
+#include <com/sun/star/rendering/XBitmapCanvas.idl>
+
+
+module com { module sun { module star { module rendering {
+
+// TODO: Multiple-inheritance interfaces
+
+/** This service provides the interfaces for a XBitmapCanvas
+ */
+service BitmapCanvas
+{
+ /** Canvas interface, to issue rendering operations.
+ */
+ interface XBitmapCanvas;
+
+ /** Bitmap interface, to directly manipulate the pixel.
+ */
+ interface XBitmap;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/BlendMode.idl b/offapi/com/sun/star/rendering/BlendMode.idl
new file mode 100644
index 000000000..664626ef7
--- /dev/null
+++ b/offapi/com/sun/star/rendering/BlendMode.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_rendering_BlendMode_idl__
+#define __com_sun_star_rendering_BlendMode_idl__
+
+module com { module sun { module star { module rendering {
+
+/** These constants determine some extra ways how the primitive color
+ is combined with the background.<p>
+
+ @see CompositeOperation
+
+ Please refer to the PDF specification for explanations of this
+ constants.<p>
+ */
+constants BlendMode
+{
+ const byte NORMAL = 0;
+ const byte MULTIPLY = 1;
+ const byte SCREEN = 2;
+ const byte OVERLAY = 3;
+ const byte DARKEN = 4;
+ const byte LIGHTEN = 5;
+ const byte COLOR_DODGE = 6;
+ const byte COLOR_BURN = 7;
+ const byte HARD_LIGHT = 8;
+ const byte SOFT_LIGHT = 9;
+ const byte DIFFERENCE = 10;
+ const byte EXCLUSION = 11;
+ const byte HUE = 12;
+ const byte SATURATION = 13;
+ const byte COLOR = 14;
+ const byte LUMINOSITY = 15;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/Canvas.idl b/offapi/com/sun/star/rendering/Canvas.idl
new file mode 100644
index 000000000..0fdd03820
--- /dev/null
+++ b/offapi/com/sun/star/rendering/Canvas.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_rendering_Canvas_idl__
+#define __com_sun_star_rendering_Canvas_idl__
+
+#include <com/sun/star/rendering/XCanvas.idl>
+
+
+module com { module sun { module star { module rendering {
+
+/// Service providing an XCanvas interface
+service Canvas: XCanvas;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/CanvasFactory.idl b/offapi/com/sun/star/rendering/CanvasFactory.idl
new file mode 100644
index 000000000..b7144c338
--- /dev/null
+++ b/offapi/com/sun/star/rendering/CanvasFactory.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_rendering_CanvasFactory_idl__
+#define __com_sun_star_rendering_CanvasFactory_idl__
+
+#include <com/sun/star/lang/XMultiComponentFactory.idl>
+
+
+module com { module sun { module star { module rendering {
+
+/** The CanvasFactory is used to create the Canvas
+ objects, evaluating the user's configuration preferences from
+
+ <code>/org.openoffice.VCL/Settings/Canvas/PreferredServices</code>.
+
+ The latter specifies a string list of service names to use.
+
+ <p>
+ Instantiating this service, you can use its
+ com::sun::star::lang::XMultiComponentFactory
+ interface to create Canvas objects, passing an empty string
+ as service specifier (default).
+ If you want to manually override the configured service list, you can pass
+ a service name to try first.
+ </p>
+
+ @since OOo 2.0
+*/
+service CanvasFactory : com::sun::star::lang::XMultiComponentFactory;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/Caret.idl b/offapi/com/sun/star/rendering/Caret.idl
new file mode 100644
index 000000000..5677e798e
--- /dev/null
+++ b/offapi/com/sun/star/rendering/Caret.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_rendering_Caret_idl__
+#define __com_sun_star_rendering_Caret_idl__
+
+module com { module sun { module star { module rendering {
+
+/** This structure contains the caret information.<p>
+
+ This structure is used from the XTextLayout interface
+ to transport information regarding a text caret.<p>
+
+ @since OOo 2.0
+ */
+struct Caret
+{
+ /** This contains the main caret index.<p>
+
+ The main caret index corresponds to the insert position when
+ inserting text in the layout's main text direction.
+ */
+ long MainCaretIndex;
+
+ /** This contains the secondary caret index.<p>
+
+ The secondary caret index, when different from the main caret
+ index, corresponds to the insert position when inserting text
+ at a direction change opposite to the layout's main text
+ direction.
+ */
+ long SecondaryCaretIndex;
+
+ /** The angle of the caret.<p>
+
+ This member contains the rotation angle of the caret in
+ degrees, with 0 denoting an unrotated caret (the unrotated
+ caret orientation depends on the writing mode, horizontally or
+ vertically). The rotation angle is positive for
+ counter-clockwise rotations.<p>
+ */
+ double CaretAngle;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/Color.idl b/offapi/com/sun/star/rendering/Color.idl
new file mode 100644
index 000000000..f7a88a871
--- /dev/null
+++ b/offapi/com/sun/star/rendering/Color.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_rendering_Color_idl__
+#define __com_sun_star_rendering_Color_idl__
+
+#include <com/sun/star/rendering/ColorComponent.idl>
+
+module com { module sun { module star { module rendering {
+
+/// Shorthand for the device-dependent color components, and easier to read
+typedef sequence<ColorComponent> Color;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/ColorComponent.idl b/offapi/com/sun/star/rendering/ColorComponent.idl
new file mode 100644
index 000000000..71a94a702
--- /dev/null
+++ b/offapi/com/sun/star/rendering/ColorComponent.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_rendering_ColorComponent_idl__
+#define __com_sun_star_rendering_ColorComponent_idl__
+
+module com { module sun { module star { module rendering {
+
+/// Shorthand for the device-dependent color components, and easier to read
+typedef double ColorComponent;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/ColorComponentTag.idl b/offapi/com/sun/star/rendering/ColorComponentTag.idl
new file mode 100644
index 000000000..994d2aa1a
--- /dev/null
+++ b/offapi/com/sun/star/rendering/ColorComponentTag.idl
@@ -0,0 +1,134 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_rendering_ColorComponentTag_idl__
+#define __com_sun_star_rendering_ColorComponentTag_idl__
+
+module com { module sun { module star { module rendering {
+
+/** A collection of tags for the individual components of a color.<p>
+
+ Color components usually correspond to physical attributes like the
+ amount of red colorant contained in an output color. This constant
+ field enumerates the most common ones.
+
+ @since OOo 2.3
+ */
+constants ColorComponentTag
+{
+ /// Unspecified device color value
+ const byte DEVICE=0;
+
+ /// Red colorant from RGB color space
+ const byte RGB_RED=1;
+
+ /// Green colorant from RGB color space
+ const byte RGB_GREEN=2;
+
+ /// Blue colorant from RGB color space
+ const byte RGB_BLUE=3;
+
+ /// Cyan colorant from CMYK color space
+ const byte CMYK_CYAN=4;
+
+ /// Magenta colorant from CMYK color space
+ const byte CMYK_MAGENTA=5;
+
+ /// Yellow colorant from CMYK color space
+ const byte CMYK_YELLOW=6;
+
+ /// Black colorant from CMYK color space
+ const byte CMYK_BLACK=7;
+
+ /// Orange colorant from hexachrome color space
+ const byte CMYKOG_ORANGE=8;
+
+ /// Green colorant from hexachrome color space
+ const byte CMYKOG_GREEN=9;
+
+ /// Arbitrary extra spot color, e.g. Pantone
+ const byte SPOT=10;
+
+ /// Index into palette
+ const byte INDEX=11;
+
+ /// Alpha channel
+ const byte ALPHA=12;
+
+ /// Grey value. Used for monochrome color spaces
+ const byte GREY=13;
+
+ /** Premultiplied alpha channel<p>
+
+ Note that this alpha format actually influences the other color
+ components, in that their values are pre-multiplied with the
+ alpha value.<p>
+ */
+ const byte PREMULTIPLIED_ALPHA=14;
+
+ /// CieXYZ X value
+ const byte CIEXYZ_X=15;
+
+ /// CieXYZ Y value
+ const byte CIEXYZ_Y=16;
+
+ /// CieXYZ Z value
+ const byte CIEXYZ_Z=17;
+
+ /// CieLab L value
+ const byte CIELAB_L=18;
+
+ /// CieLab a value
+ const byte CIELAB_A=19;
+
+ /// CieLab b value
+ const byte CIELAB_B=20;
+
+ /// HSV H value
+ const byte HSV_H=21;
+
+ /// HSV S value
+ const byte HSV_S=22;
+
+ /// HSV V value
+ const byte HSV_V=23;
+
+ /// HSL H value
+ const byte HSL_H=24;
+
+ /// HSL S value
+ const byte HSL_S=25;
+
+ /// HSL L value
+ const byte HSL_L=26;
+
+ /// YCbCr Y value
+ const byte YCBCR_Y=27;
+
+ /// YCbCr Cb value
+ const byte YCBCR_CB=28;
+
+ /// YCbCr Cr value
+ const byte YCBCR_CR=29;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/ColorProfile.idl b/offapi/com/sun/star/rendering/ColorProfile.idl
new file mode 100644
index 000000000..ff47fde6a
--- /dev/null
+++ b/offapi/com/sun/star/rendering/ColorProfile.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_rendering_ColorProfile_idl__
+#define __com_sun_star_rendering_ColorProfile_idl__
+
+module com { module sun { module star { module rendering {
+
+/* TODO: There's still a lot open here! */
+
+/// ICC Color profile
+struct ColorProfile
+{
+ // TODO
+ byte dummy;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/ColorSpaceType.idl b/offapi/com/sun/star/rendering/ColorSpaceType.idl
new file mode 100644
index 000000000..88f9c67f8
--- /dev/null
+++ b/offapi/com/sun/star/rendering/ColorSpaceType.idl
@@ -0,0 +1,120 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_rendering_ColorSpaceType_idl__
+#define __com_sun_star_rendering_ColorSpaceType_idl__
+
+module com { module sun { module star { module rendering {
+
+/// Categories for color spaces
+constants ColorSpaceType
+{
+ /** Unspecified device color space - use conversion functions to
+ convert to standard color spaces
+ */
+ const byte DEVICE_COLOR=0;
+
+ /** Grey-value color space.<p>
+
+ Use this for monochrome images.
+ */
+ const byte GREY=1;
+
+ /** RGB color space
+ */
+ const byte RGB=2;
+
+ /** CMYK color space.<p>
+
+ See <a
+ href="http://en.wikipedia.org/wiki/CMYK">Wikipedia</a>
+ for a thorough explanation.
+ */
+ const byte CMYK=3;
+
+ /** CMYKOG color space.<p>
+
+ See <a
+ href="http://en.wikipedia.org/wiki/Hexachrome">Wikipedia</a>
+ for a thorough explanation.
+ */
+ const byte CMYKOG=4;
+
+ /** Standard CieXYZ color space.<p>
+
+ See <a
+ href="http://en.wikipedia.org/wiki/CIE_1931_color_space">Wikipedia</a>
+ for a thorough explanation.
+ */
+ const byte CIEXYZ=5;
+
+ /** Standard CieLab color space.<p>
+
+ See <a
+ href="http://en.wikipedia.org/wiki/Lab_color_space">Wikipedia</a>
+ for a thorough explanation. Preferable over CIEXYZ if
+ perceptual uniformity is an issue.
+ */
+ const byte CIELAB=6;
+
+ /** Standard sRGB color space.<p>
+
+ See <a
+ href="http://en.wikipedia.org/wiki/Srgb">Wikipedia</a>
+ for a thorough explanation.
+ */
+ const byte SRGB=7;
+
+ /** HSV color space.<p>
+
+ Hue saturation value. See <a
+ href="http://en.wikipedia.org/wiki/HSV_color_space">Wikipedia</a>
+ for a thorough explanation.
+ */
+ const byte HSV=8;
+
+ /** HSL color space.<p>
+
+ Hue saturation lightness. See <a
+ href="http://en.wikipedia.org/wiki/HSL_color_space">Wikipedia</a>
+ for a thorough explanation
+ */
+ const byte HSL=9;
+
+ /** YCbCr color space.<p>
+
+ See <a href="http://en.wikipedia.org/wiki/YCbCr">Wikipedia</a>
+ for a thorough explanation. This color space is common for
+ digital video.
+ */
+ const byte YCBCR=10;
+
+ /** Indexed color space.<p>
+
+ The color components of this color space are in fact indices
+ into a color map.
+ */
+ const byte INDEXED=11;
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/CompositeOperation.idl b/offapi/com/sun/star/rendering/CompositeOperation.idl
new file mode 100644
index 000000000..05e6e56e1
--- /dev/null
+++ b/offapi/com/sun/star/rendering/CompositeOperation.idl
@@ -0,0 +1,152 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_rendering_CompositeOperation_idl__
+#define __com_sun_star_rendering_CompositeOperation_idl__
+
+module com { module sun { module star { module rendering {
+
+/** These constants determine how the primitive color is combined with
+ the background.<p>
+
+ When performing these calculations, it is assumed that all color
+ values are premultiplied with the corresponding alpha values (if
+ no alpha is specified, 1.0 is assumed). Then, the following
+ general compositing operation is performed:
+ <p>
+ C = Ca * Fa + Cb * Fb
+ <p>
+ where C is the result color, Ca and Cb are the input colors,
+ premultiplied with alpha, and Fa and Fb are described for the
+ different composite modes (wherein Aa and Ab denote source and
+ destination alpha, respectively).<p>
+
+ @since OOo 2.0
+ */
+constants CompositeOperation
+{
+ /** Clear the destination.<p>
+
+ Clear the destination area. The function values are: Fa = Fb =
+ 0.<p>
+ */
+ const byte CLEAR = 0;
+
+ /** Copy source as-is to the destination.<p>
+
+ Copy source as-is to the destination. The function values are:
+ Fa = 1, Fb = 0.<p>
+ */
+ const byte SOURCE = 1;
+
+ /** Leave the destination as-is.<p>
+
+ Leave the destination as-is. The function values are: Fa = 0,
+ Fb = 1.<p>
+ */
+ const byte DESTINATION = 2;
+
+ /** Copy the source over the destination.<p>
+
+ Copy the source over the destination. The function values are:
+ Fa = 1, Fb = 1-Aa.<p>
+ */
+ const byte OVER = 3;
+
+ /** Copy the source under the destination.<p>
+
+ Copy the source under the destination. The function values
+ are: Fa = 1-Ab, Fb = 1.<p>
+ */
+ const byte UNDER = 4;
+
+ /** Copy the source to the destination.<p>
+
+ Copy the source to the destination, but limited to where the
+ destination is. The function values are: Fa = Ab, Fb = 0.<p>
+ */
+ const byte INSIDE = 5;
+
+ /** Leave the destination as is.<p>
+
+ Leave the destination as is, but only where the source
+ was. The function values are: Fa = 0, Fb = Aa.<p>
+ */
+ const byte INSIDE_REVERSE = 6;
+
+ /** Copy the source to the destination<p>
+
+ Copy the source to the destination, but limited to where the
+ destination is not. The function values are: Fa = 1-Ab, Fb =
+ 0.<p>
+ */
+ const byte OUTSIDE = 7;
+
+ /** Leave the destination as is.<p>
+
+ Leave the destination as is, but only where the source has not
+ been. The function values are: Fa = 0, Fb = 1-Aa.<p>
+ */
+ const byte OUTSIDE_REVERSE = 8;
+
+ /** Copy the source over the destination<p>
+
+ Copy the source over the destination, but only where the
+ destination is. Keep the destination. The function values are:
+ Fa = Ab, Fb = 1-Aa.<p>
+ */
+ const byte ATOP = 9;
+
+ /** Copy the destination over the source.<p>
+
+ Copy the destination over the source, but only where the
+ source is. Keep the source. The function values are: Fa =
+ 1-Ab, Fb = Aa.<p>
+ */
+ const byte ATOP_REVERSE = 10;
+
+ /** Combine source and destination by exclusive or.<p>
+
+ Take only the parts where either source or destination, but
+ not both visible. The function values are: Fa = 1-Ab, Fb =
+ 1-Aa.<p>
+ */
+ const byte XOR = 11;
+
+ /** Add source and destination values.<p>
+
+ Simply add contributions of both source and destination. The
+ resulting color values are limited to the permissible color
+ range, and clipped to the maximal value, if exceeded. The
+ function values are: Fa = 1, Fb = 1.<p>
+ */
+ const byte ADD = 12;
+
+ /** Saturate source and destination.<p>
+
+ Saturate destination with source values. The function values
+ are: Fa = min(1,(1-Ab)/Aa), Fb = 1<p>
+ */
+ const byte SATURATE = 13;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/EmphasisMark.idl b/offapi/com/sun/star/rendering/EmphasisMark.idl
new file mode 100644
index 000000000..ed918a263
--- /dev/null
+++ b/offapi/com/sun/star/rendering/EmphasisMark.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_rendering_EmphasisMark_idl__
+#define __com_sun_star_rendering_EmphasisMark_idl__
+
+module com { module sun { module star { module rendering {
+
+/** These constants control the automatic rendering of emphasis marks.<p>
+
+ These constants control the automatic rendering of emphasis marks
+ for a given font.<p>
+
+ @since OOo 2.0
+ */
+constants EmphasisMark
+{
+ /// No automatic emphasis marks
+ const byte NONE = 0;
+
+
+ /// Automatic emphasis marks as dots above the glyphs
+ const byte DOT_ABOVE = 1;
+
+
+ /// Automatic emphasis marks as dots below the glyphs
+ const byte DOT_BELOW = 2;
+
+
+ /// Automatic emphasis marks as circles (unfilled outlines) above the glyphs
+ const byte CIRCLE_ABOVE = 3;
+
+
+ /// Automatic emphasis marks as circles (unfilled outlines) below the glyphs
+ const byte CIRCLE_BELOW = 4;
+
+
+ /// Automatic emphasis marks as discs (filled circles) above the glyphs
+ const byte DISC_ABOVE = 5;
+
+
+ /// Automatic emphasis marks as discs (filled circles) below the glyphs
+ const byte DISC_BELOW = 6;
+
+
+ /// Automatic emphasis marks as accent marks above the glyphs
+ const byte ACCENT_ABOVE = 7;
+
+
+ /// Automatic emphasis marks as accent marks below the glyphs
+ const byte ACCENT_BELOW = 8;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/FillRule.idl b/offapi/com/sun/star/rendering/FillRule.idl
new file mode 100644
index 000000000..a6933f3a9
--- /dev/null
+++ b/offapi/com/sun/star/rendering/FillRule.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_rendering_FillRule_idl__
+#define __com_sun_star_rendering_FillRule_idl__
+
+module com { module sun { module star { module rendering {
+
+/** Determines which algorithm to use when determining inside and
+ outside of filled poly-polygons.
+
+ @since OOo 2.0
+ */
+enum FillRule
+{
+ /** Fill every area, where, when traveling along a line, the
+ summed winding number (that is, -1 for a
+ counter-clockwise-oriented polygon, and +1 for a
+ clockwise-oriented) is non-zero.<p>
+
+ For example, a poly-polygon consisting of two concentric
+ circles with similar orientation is filled the same way as if
+ only the outer circle would exist. If both have opposite
+ orientation, then the filled representation looks the same as
+ if filled with the EVEN_ODD fill rule.<p>
+ */
+ NON_ZERO,
+
+
+ /** Fill every area, where, when traveling along a line, an
+ uneven number of intersections with polygon edges have
+ happened.<p>
+ */
+ EVEN_ODD
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/FloatingPointBitmapFormat.idl b/offapi/com/sun/star/rendering/FloatingPointBitmapFormat.idl
new file mode 100644
index 000000000..0e61cd329
--- /dev/null
+++ b/offapi/com/sun/star/rendering/FloatingPointBitmapFormat.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_rendering_FloatingPointBitmapFormat_idl__
+#define __com_sun_star_rendering_FloatingPointBitmapFormat_idl__
+
+module com { module sun { module star { module rendering {
+
+/** This structure describes format of a floating point bitmap.<p>
+
+ @since OOo 2.0
+ */
+constants FloatingPointBitmapFormat
+{
+ /** Half-float format.<p>
+
+ The color components are stored in the half-float format,
+ i.e. in a 16 bit value, with 5 bit exponent, 10 bit mantissa
+ and a sign bit. See also <a
+ href="http://www.openexr.com/">OpenEXR</a> for a format
+ employing half-floats.<p>
+ */
+ const byte HALFFLOAT=0;
+
+ /** IEEE float format.<p>
+
+ The color components are stored in the IEEE single-precision
+ floating point format, i.e. in a 32 bit value, with 8 bit
+ exponent, 23 bit mantissa and a sign bit.<p>
+ */
+ const byte FLOAT=1;
+
+ /** IEEE double format.<p>
+
+ The color components are stored in the IEEE double-precision
+ floating point format, i.e. in a 64 bit value, with 16 bit
+ exponent, 47 bit mantissa and a sign bit.<p>
+ */
+ const byte DOUBLE=2;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/FloatingPointBitmapLayout.idl b/offapi/com/sun/star/rendering/FloatingPointBitmapLayout.idl
new file mode 100644
index 000000000..586f141c7
--- /dev/null
+++ b/offapi/com/sun/star/rendering/FloatingPointBitmapLayout.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_rendering_FloatingPointBitmapLayout_idl__
+#define __com_sun_star_rendering_FloatingPointBitmapLayout_idl__
+
+#include <com/sun/star/rendering/FloatingPointBitmapFormat.idl>
+#include <com/sun/star/rendering/XColorSpace.idl>
+
+module com { module sun { module star { module rendering {
+
+/** This structure describes the memory layout of a bitmap having
+ floating point color channels.<p>
+
+ This structure collects all necessary information to describe the
+ memory layout of a bitmap having floating point color channels<p>
+
+ @since OOo 2.0
+ */
+struct FloatingPointBitmapLayout
+{
+ /** Number of scanlines for this bitmap.
+
+ This value must not be negative
+ */
+ long ScanLines;
+
+ /** Number of data bytes per scanline.
+
+ This value must not be negative
+ */
+ long ScanLineBytes;
+
+ /** Byte offset between the start of two consecutive scanlines.
+
+ This value is permitted to be negative, denoting a bitmap
+ whose content is flipped at the x axis.
+ */
+ long ScanLineStride;
+
+ /** Byte offset between the start of two consecutive planes.
+
+ This value is permitted to be negative. If this value is zero,
+ the bitmap is assumed to be in chunky format, otherwise it is
+ assumed to be planar. The difference between chunky and
+ planar layout lies in the way how color channels are
+ interleaved. For a chunky format, all channel data for a
+ single pixel lies consecutively in memory. For a planar
+ layout, the first channel of all pixel is stored consecutive,
+ followed by the second channel, and so forth.<p>
+ */
+ long PlaneStride;
+
+ // TODO(F3): Need some specializations of XColorSpace for float
+ // and half float formats. This maybe translates to the bitmap
+ // layout as well, leading to separate structs for double, float
+ // and half float formats, because of the ColorSpace member. Or
+ // leave it as it is, forcing the client to query for derived
+ // interfaces...
+
+ /// Color space the bitmap colors shall be interpreted within.
+ XColorSpace ColorSpace;
+
+ /** Number of color components per pixel.
+
+ This value must not be negative
+ */
+ long NumComponents;
+
+ /** Endianness of the pixel values.
+
+ This value must be one of the Endianness constants
+ */
+ byte Endianness;
+
+ /** Format type of this bitmap.<p>
+
+ This value must be one of the
+ FloatingPointBitmapFormat constants.<p>
+ */
+ byte Format;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/FontInfo.idl b/offapi/com/sun/star/rendering/FontInfo.idl
new file mode 100644
index 000000000..a7fdb4b01
--- /dev/null
+++ b/offapi/com/sun/star/rendering/FontInfo.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_rendering_FontInfo_idl__
+#define __com_sun_star_rendering_FontInfo_idl__
+
+#include <com/sun/star/util/TriState.idl>
+#include <com/sun/star/rendering/Panose.idl>
+
+
+module com { module sun { module star { module rendering {
+
+/** This structure provides information about a specific font.<p>
+
+ @since OOo 2.0
+ */
+struct FontInfo
+{
+ /** The PANOSE font classification.<p>
+
+ TODO: Document semantics in Panose.idl
+ */
+ Panose FontDescription;
+
+
+ /** The name of the font family.<p>
+
+ The family name is the one normally associated to a font, such
+ as Times New Roman, Thorndale, Andale or Arial.<p>
+
+ Note: outlined fonts are now specified with "outline" as part
+ of the family name.<p>
+ */
+ string FamilyName;
+
+
+ /** The name of the specific font style within its family.<p>
+
+ For example, oblique, italic, or narrow.<p>
+ */
+ string StyleName;
+
+
+ /** This value specifies which Unicode ranges are supported by
+ this font.<p>
+
+ This is to be interpreted as a split-up 128-bit value, see <a
+ href=http://partners.adobe.com/asn/tech/type/opentype/os2.jsp#ur>Adobe's
+ OpenType specification</a> for the specific meaning of each
+ bit. UnicodeRanges0 contains the least significant bits,
+ UnicodeRanges3 the most significant ones.<p>
+
+ const int128 UNICODE_RANGE_BASIC_LATIN = 1;
+ const int128 UNICODE_RANGE_LATIN_SUPPLEMENT = 2;
+ const int128 UNICODE_RANGE_LATIN_EXTENDED_A = 4;
+ const int128 UNICODE_RANGE_LATIN_EXTENDED_B = 4;
+ ...
+ const int128 UNICODE_RANGE_MASK_LATIN = 1;
+ const int128 UNICODE_RANGE_MASK_CJK = (31<<48) + (3<<55) +
+ (1<<59);
+ const int128 UNICODE_RANGE_MASK_CTL = (1<<11) + (1<<13) +
+ (0x3FFF<<15) + (0x0FFF<<70);
+
+ */
+ long UnicodeRanges0;
+ long UnicodeRanges1;
+ long UnicodeRanges2;
+ long UnicodeRanges3;
+
+
+ /** Specifies whether the font is a symbol font.<p>
+
+ If yes, text written in this symbol font does not have a
+ specified meaning.<p>
+ */
+ ::com::sun::star::util::TriState IsSymbolFont;
+
+
+ /** Set to true, if the font is usable for vertical text
+ output.<p>
+
+ Vertical fonts have subtle differences to horizontal ones,
+ e.g. rotated or differently shaped glyphs, or special rotated
+ versions of normally upright glyphs (e.g. brackets).<p>
+ */
+ ::com::sun::star::util::TriState IsVertical;
+
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/FontMetrics.idl b/offapi/com/sun/star/rendering/FontMetrics.idl
new file mode 100644
index 000000000..2aee571f0
--- /dev/null
+++ b/offapi/com/sun/star/rendering/FontMetrics.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_rendering_FontMetrics_idl__
+#define __com_sun_star_rendering_FontMetrics_idl__
+
+module com { module sun { module star { module rendering {
+
+/** Metrics global to the font, i.e. not specific to single
+ glyphs. The font height is defined as
+ ascent+descent+internalLeading, and therefore not explicitly
+ included here.<p>
+
+ Please note that when querying FontMetrics from an XCanvasFont
+ interface, all values here are given relative to the font cell
+ size. That means, the referenceCharWidth and/or
+ ascent+descent+internalLeading will approximately (rounded to
+ integer device resolution, or exactly, if fractional font
+ rendering is enabled) match the referenceAdvancement/cellSize
+ members of the FontRequest for which the XCanvasFont was
+ queried. Please be aware that the values returned in this
+ structure only map one-to-one to device pixel, if the combined
+ rendering transformation for text output equals the identity
+ transformation. Otherwise, the text output (and thus the resulting
+ metrics) will be subject to that transformation. Depending on the
+ underlying font technology, actual device output might be off by
+ up to one device pixel from the transformed metrics.
+
+ @since OOo 2.0
+ */
+struct FontMetrics
+{
+ /// Ascent (above the baseline) part of the font.
+ double Ascent;
+
+
+ /// Descent (below the baseline) part of the font.
+ double Descent;
+
+
+ /// Extra space above ascent
+ double InternalLeading;
+
+
+ /** Extra space outside the font cells.<p>
+
+ It should not contain ink marks and is typically used
+ by the font designer to modify the line distance.<p>
+ */
+ double ExternalLeading;
+
+
+ /** This value specifies the reference character width of the
+ font.<p>
+
+ It's roughly equivalent to the average width of all
+ characters, and if one needs a font with double character
+ width, the referenceCharSize should be doubled.<p>
+ */
+ double ReferenceCharSize;
+
+
+ /** Specifies the offset to be added to the baseline when drawing
+ underlined text.
+ */
+ double UnderlineOffset;
+
+
+ /** Specifies the offset to be added to the baseline when striking
+ through the text.
+ */
+ double StrikeThroughOffset;
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/FontRequest.idl b/offapi/com/sun/star/rendering/FontRequest.idl
new file mode 100644
index 000000000..360607b03
--- /dev/null
+++ b/offapi/com/sun/star/rendering/FontRequest.idl
@@ -0,0 +1,107 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_rendering_FontRequest_idl__
+#define __com_sun_star_rendering_FontRequest_idl__
+
+#include <com/sun/star/rendering/FontInfo.idl>
+#include <com/sun/star/lang/Locale.idl>
+
+module com { module sun { module star { module rendering {
+
+/** This structure contains all information necessary to describe a
+ font to be queried from XCanvas.<p>
+
+ Note: Outline fonts are to be requested as a special family, set
+ FontInfo::FamilyName appropriately. Emboss/relief
+ must be emulated by upper layers.<p>
+
+ Leave the FontInfo::FamilyName and
+ FontInfo::StyleName empty, if font selection
+ should only happen via the PANOSE description.
+
+ @since OOo 2.0
+ */
+struct FontRequest
+{
+ /** The description of the font.<p>
+
+ This member contains the description of the font as returned
+ by the font listing methods.<p>
+ */
+ FontInfo FontDescription;
+
+
+ /** The size of the font in <em>device</em> coordinate space.<p>
+
+ This value corresponds to the font height in Western scripts,
+ but is independent of the writing direction (see
+ FontRequest::IsVertical below). That
+ means, the value specified here is always measured orthogonal
+ to the text advancement (height for horizontal writing, and
+ width for vertical writing).<p>
+
+ When this value is negative, its absolute value is taken as
+ the character size of the font. If this value is positive,
+ it's taken as the cell size of the font.<p>
+
+ This member and the referenceAdvancement member are mutually
+ exclusive, one of them has to be set to 0 (which means don't
+ care).<p>
+
+ For distorted fonts, the render transformation must be
+ used. That is, the size specified here corresponds to device
+ pixel only if the combined render transformation during text
+ output equals the identity transform. This also applies to all
+ query methods, for both XCanvasFont and
+ XTextLayout.<p>
+ */
+ double CellSize;
+
+
+ /** This value specifies the size of the font in the writing
+ direction (i.e. width for horizontal writing, and height for
+ vertical writing).<p>
+
+ It is equivalent to the referenceCharSize of the FontMetrics
+ structure.<p>
+
+ This member and the cellSize member are mutually exclusive,
+ one of them has to be set to 0 (which means don't care). For
+ distorted fonts, the font matrix must be used.<p>
+ */
+ double ReferenceAdvancement;
+
+
+ /** The locale this font should be able to render.<p>
+
+ This member supplements the
+ FontInfo::UnicodeRange0 entry with a specific
+ locale; this is e.g. important when selecting between
+ traditional and simplified Chinese is necessary (since the
+ letters have the same Unicode ranges and character values).<p>
+ */
+ ::com::sun::star::lang::Locale Locale;
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/IntegerBitmapLayout.idl b/offapi/com/sun/star/rendering/IntegerBitmapLayout.idl
new file mode 100644
index 000000000..d1af5ae9c
--- /dev/null
+++ b/offapi/com/sun/star/rendering/IntegerBitmapLayout.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_rendering_IntegerBitmapLayout_idl__
+#define __com_sun_star_rendering_IntegerBitmapLayout_idl__
+
+#include <com/sun/star/rendering/XIntegerBitmapColorSpace.idl>
+#include <com/sun/star/rendering/XBitmapPalette.idl>
+
+module com { module sun { module star { module rendering {
+
+/** This structure describes the memory layout of a bitmap having
+ integer color channels.<p>
+
+ This structure collects all necessary information to describe the
+ memory layout of a bitmap having integer color channels<p>
+
+ @since OOo 2.0
+ */
+struct IntegerBitmapLayout
+{
+ /** Number of scanlines for this bitmap.
+
+ This value must not be negative
+ */
+ long ScanLines;
+
+ /** Number of data bytes per scanline.
+
+ This value must not be negative
+ */
+ long ScanLineBytes;
+
+ /** Byte offset between the start of two consecutive scanlines.
+
+ This value is permitted to be negative, denoting a bitmap
+ whose content is flipped at the x axis.
+ */
+ long ScanLineStride;
+
+ /** Byte offset between the start of two consecutive planes.
+
+ This value is permitted to be negative. If this value is zero,
+ the bitmap is assumed to be in chunky format, otherwise it is
+ assumed to be planar. The difference between chunky and
+ planar layout lies in the way how color channels are
+ interleaved. For a chunky format, all channel data for a
+ single pixel lies consecutively in memory. For a planar
+ layout, the first channel of all pixel is stored consecutive,
+ followed by the second channel, and so forth.<p>
+ */
+ long PlaneStride;
+
+ /** Color space the bitmap colors shall be interpreted within.<p>
+
+ Note that the actual pixel layout is specified at the color
+ space. If this layout describes a palette bitmap format, this
+ color space describes the index format (plus maybe an extra
+ alpha channel). The palette itself references another color
+ space, which describes the layout of the palette entries.
+
+ @see XBitmapPalette
+ */
+ XIntegerBitmapColorSpace ColorSpace;
+
+ /** This member determines whether the bitmap data are actually
+ indices into a color map.<p>
+
+ When set to the nil reference, the bitmap data is assumed to
+ contain direct color values (to be interpreted according to
+ the associated color space). If this member references a valid
+ palette, one of the pixel components as returned by the color
+ space referenced from the #ColorSpace is
+ required to be of type
+ ColorComponentTag::INDEX. That component is
+ then used to index the palette.<p>
+ */
+ XBitmapPalette Palette;
+
+ /** This member determines the bit order (only relevant if a pixel
+ uses less than 8 bits, of course).<p>
+
+ When `TRUE`, this member denotes that the leftmost pixel from
+ an 8 bit amount of pixel data consists of the bits starting
+ with the most significant bit. When `FALSE`, it's starting
+ with the least significant bit.<p>
+
+ Example: for a 1bpp bitmap, each pixel is represented by
+ exactly one bit. If this member is `TRUE`, the first pixel is
+ the MSB of the first byte, and the eighth pixel is the LSB of
+ the first byte. If this member is `FALSE`, it's just the
+ opposite.
+ */
+ boolean IsMsbFirst;
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/InterpolationMode.idl b/offapi/com/sun/star/rendering/InterpolationMode.idl
new file mode 100644
index 000000000..ae635368e
--- /dev/null
+++ b/offapi/com/sun/star/rendering/InterpolationMode.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_rendering_InterpolationMode_idl__
+#define __com_sun_star_rendering_InterpolationMode_idl__
+
+module com { module sun { module star { module rendering {
+
+/** These constants specify the interpolation type for animation
+ frames.<p>
+
+ With this constants, one specifies the way of interpolation that
+ takes place between two consecutive frames of a discrete animation
+ sequence.
+
+ @since OOo 2.0
+ */
+constants InterpolationMode
+{
+ /** Perform a nearest neighbor interpolation.<p>
+
+ That is, when interpolating between two values v0 and v1,
+ positioned at t0 and t1, take the one which has the closest t
+ coordinate.<p>
+ */
+ const byte NEAREST_NEIGHBOR=1;
+
+
+ /** Perform a linear interpolation.<p>
+
+ That is, when interpolating at position t between two values
+ v0 and v1, positioned at t0 and t1, take the sum of v0
+ weighted with (t-t0) and v1 weighted with (t1-t).<p>
+ */
+ const byte LINEAR=2;
+
+
+ /** Perform a cubic interpolation.<p>
+
+ That is, when interpolating at position t, take the four
+ closest data points v0, v1, v2, and v3, fit a cubic curve
+ through them, and take the interpolated value from this cubic
+ curve.<p>
+ */
+ const byte CUBIC=3;
+
+
+ /** Perform a cubic Bezier spline interpolation.<p>
+
+ That is, when interpolating at position t, take the three
+ closest data points v0, v1, and v2, fit a cubic Bezier spline
+ through them, and take the interpolated value from this cubic
+ curve.<p>
+ */
+ const byte BEZIERSPLINE3=4;
+
+
+ /** Perform a quadric Bezier spline interpolation.<p>
+
+ That is, when interpolating at position t, take the four
+ closest data points v0, v1, v2, and v3, fit a quadric Bezier
+ spline through them, and take the interpolated value from this
+ quadric curve.<p>
+ */
+ const byte BEZIERSPLINE4=5;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/MtfRenderer.idl b/offapi/com/sun/star/rendering/MtfRenderer.idl
new file mode 100644
index 000000000..6e4ef4baf
--- /dev/null
+++ b/offapi/com/sun/star/rendering/MtfRenderer.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_rendering_MtfRenderer_idl__
+#define __com_sun_star_rendering_MtfRenderer_idl__
+
+#include <com/sun/star/rendering/XMtfRenderer.idl>
+#include <com/sun/star/rendering/XBitmapCanvas.idl>
+
+module com { module sun { module star { module rendering {
+
+service MtfRenderer : XMtfRenderer
+{
+ createWithBitmapCanvas([in] XBitmapCanvas Canvas);
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/Panose.idl b/offapi/com/sun/star/rendering/Panose.idl
new file mode 100644
index 000000000..cb70fce00
--- /dev/null
+++ b/offapi/com/sun/star/rendering/Panose.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_rendering_Panose_idl__
+#define __com_sun_star_rendering_Panose_idl__
+
+module com { module sun { module star { module rendering {
+
+struct Panose
+{
+ /// PanoseFamilyTypes
+ byte FamilyType;
+
+ /// PanoseSerifStyle
+ byte SerifStyle;
+
+ /// PanoseWeight
+ byte Weight;
+
+ /// PanoseProportion
+ byte Proportion;
+
+ /// PanoseContrast
+ byte Contrast;
+
+ /// PanoseStrokeVariation
+ byte StrokeVariation;
+
+ /// PanoseArmStyle
+ byte ArmStyle;
+
+ /// PanoseLetterForm
+ byte Letterform;
+
+ /// PanoseMidline
+ byte Midline;
+
+ /// PanoseXHeight
+ byte XHeight;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/PanoseArmStyle.idl b/offapi/com/sun/star/rendering/PanoseArmStyle.idl
new file mode 100644
index 000000000..9d5f5e78f
--- /dev/null
+++ b/offapi/com/sun/star/rendering/PanoseArmStyle.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_rendering_PanoseArmStyle_idl__
+#define __com_sun_star_rendering_PanoseArmStyle_idl__
+
+module com { module sun { module star { module rendering {
+
+constants PanoseArmStyle
+{
+ const byte ANYTHING=0;
+ const byte NO_FIT=1;
+ const byte STRAIGHT_HORIZONTAL=2;
+ const byte STRAIGHT_WEDGE=3;
+ const byte STRAIGHT_VERTICAL=4;
+ const byte STRAIGHT_SINGLE_SERIF=5;
+ const byte STRAIGHT_DOUBLE_SERIF=6;
+ const byte BENT_HORIZONTAL=7;
+ const byte BENT_WEDGE=8;
+ const byte BENT_VERTICAL=9;
+ const byte BENT_SINGLE_SERIF=10;
+ const byte BENT_DOUBLE_SERIF=11;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/PanoseContrast.idl b/offapi/com/sun/star/rendering/PanoseContrast.idl
new file mode 100644
index 000000000..facd5b58a
--- /dev/null
+++ b/offapi/com/sun/star/rendering/PanoseContrast.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_rendering_PanoseContrast_idl__
+#define __com_sun_star_rendering_PanoseContrast_idl__
+
+module com { module sun { module star { module rendering {
+
+constants PanoseContrast
+{
+ const byte ANYTHING=0;
+ const byte NO_FIT=1;
+ const byte NONE=2;
+ const byte VERY_LOW=3;
+ const byte LOW=4;
+ const byte MEDIUM_LOW=5;
+ const byte MEDIUM=6;
+ const byte MEDIUM_HIGH=7;
+ const byte HIGH=8;
+ const byte VERY_HIGH=9;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/PanoseFamilyTypes.idl b/offapi/com/sun/star/rendering/PanoseFamilyTypes.idl
new file mode 100644
index 000000000..86cb8d9ad
--- /dev/null
+++ b/offapi/com/sun/star/rendering/PanoseFamilyTypes.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_rendering_PanoseFamilyTypes_idl__
+#define __com_sun_star_rendering_PanoseFamilyTypes_idl__
+
+module com { module sun { module star { module rendering {
+
+constants PanoseFamilyTypes
+{
+ const byte ANYTHING=0;
+ const byte NO_FIT=1;
+ const byte TEXT_DISPLAY=2;
+ const byte SCRIPT=3;
+ const byte DECORATIVE=4;
+ const byte PICTORIAL=5;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/PanoseLetterForm.idl b/offapi/com/sun/star/rendering/PanoseLetterForm.idl
new file mode 100644
index 000000000..00ea706a8
--- /dev/null
+++ b/offapi/com/sun/star/rendering/PanoseLetterForm.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_rendering_PanoseLetterForm_idl__
+#define __com_sun_star_rendering_PanoseLetterForm_idl__
+
+module com { module sun { module star { module rendering {
+
+constants PanoseLetterForm
+{
+ const byte ANYTHING=0;
+ const byte NO_FIT=1;
+ const byte NORMAL_CONTACT=2;
+ const byte NORMAL_WEIGHTED=3;
+ const byte NORMAL_BOXED=4;
+ const byte NORMAL_FLATTENED=5;
+ const byte NORMAL_ROUNDED=6;
+ const byte NORMAL_OFF_CENTER=7;
+ const byte NORMAL_SQUARE=8;
+ const byte OBLIQUE_CONTACT=9;
+ const byte OBLIQUE_WEIGHTED=10;
+ const byte OBLIQUE_BOXED=11;
+ const byte OBLIQUE_FLATTENED=12;
+ const byte OBLIQUE_ROUNDED=13;
+ const byte OBLIQUE_OFF_CENTER=14;
+ const byte OBLIQUE_SQUARE=15;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/PanoseMidline.idl b/offapi/com/sun/star/rendering/PanoseMidline.idl
new file mode 100644
index 000000000..3fc0dafa4
--- /dev/null
+++ b/offapi/com/sun/star/rendering/PanoseMidline.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_rendering_PanoseMidline_idl__
+#define __com_sun_star_rendering_PanoseMidline_idl__
+
+module com { module sun { module star { module rendering {
+
+constants PanoseMidline
+{
+ const byte ANYTHING=0;
+ const byte NO_FIT=1;
+ const byte STANDARD_TRIMMED=2;
+ const byte STANDARD_POINTED=3;
+ const byte STANDARD_SERIFED=4;
+ const byte HIGH_TRIMMER=5;
+ const byte HIGH_POINTED=6;
+ const byte HIGH_SERIFED=7;
+ const byte CONSTANT_TRIMMED=8;
+ const byte CONSTANT_POINTED=9;
+ const byte CONSTANT_SERIFED=10;
+ const byte LOW_TRIMMED=11;
+ const byte LOW_POINTED=12;
+ const byte LOW_SERIFED=13;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/PanoseProportion.idl b/offapi/com/sun/star/rendering/PanoseProportion.idl
new file mode 100644
index 000000000..cf99723e8
--- /dev/null
+++ b/offapi/com/sun/star/rendering/PanoseProportion.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_rendering_PanoseProportion_idl__
+#define __com_sun_star_rendering_PanoseProportion_idl__
+
+module com { module sun { module star { module rendering {
+
+constants PanoseProportion
+{
+ const byte ANYTHING=0;
+ const byte NO_FIT=1;
+ const byte OLD_SKOOL=2;
+ const byte MODERN=3;
+ const byte EVEN_WIDTH=4;
+ const byte EXPANDED=5;
+ const byte CONDENSED=6;
+ const byte VERY_EXPANDED=7;
+ const byte VERY_CONDENSED=8;
+ const byte MONO_SPACED=9;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/PanoseSerifStyle.idl b/offapi/com/sun/star/rendering/PanoseSerifStyle.idl
new file mode 100644
index 000000000..03e3fb765
--- /dev/null
+++ b/offapi/com/sun/star/rendering/PanoseSerifStyle.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_rendering_PanoseSerifStyle_idl__
+#define __com_sun_star_rendering_PanoseSerifStyle_idl__
+
+module com { module sun { module star { module rendering {
+
+constants PanoseSerifStyle
+{
+ const byte ANYTHING=0;
+ const byte NO_FIT=1;
+ const byte COVE=2;
+ const byte OBTUSE_COVE=3;
+ const byte SQUARE_COVE=4;
+ const byte OBTUSE_SQUARE_COVE=5;
+ const byte SQUARE=6;
+ const byte THIN=7;
+ const byte BONE=8;
+ const byte EXAGGERATED=9;
+ const byte TRIANGLE=10;
+ const byte NORMAL_SANS=11;
+ const byte OBTUSE_SANS=12;
+ const byte PERP_SANS=13;
+ const byte FLARED=14;
+ const byte ROUNDED=15;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/PanoseStrokeVariation.idl b/offapi/com/sun/star/rendering/PanoseStrokeVariation.idl
new file mode 100644
index 000000000..860211f4e
--- /dev/null
+++ b/offapi/com/sun/star/rendering/PanoseStrokeVariation.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_rendering_PanoseStrokeVariation_idl__
+#define __com_sun_star_rendering_PanoseStrokeVariation_idl__
+
+module com { module sun { module star { module rendering {
+
+constants PanoseStrokeVariation
+{
+ const byte ANYTHING=0;
+ const byte NO_FIT=1;
+ const byte GRADUAL_DIAGONAL=2;
+ const byte GRADUAL_TRANSITIONAL=3;
+ const byte GRADUAL_VERTICAL=4;
+ const byte GRADUAL_HORIZONTAL=5;
+ const byte RAPID_VERTICAL=6;
+ const byte RAPID_HORIZONTAL=7;
+ const byte INSTANT_VERTICAL=8;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/PanoseWeight.idl b/offapi/com/sun/star/rendering/PanoseWeight.idl
new file mode 100644
index 000000000..4ca497b04
--- /dev/null
+++ b/offapi/com/sun/star/rendering/PanoseWeight.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_rendering_PanoseWeight_idl__
+#define __com_sun_star_rendering_PanoseWeight_idl__
+
+module com { module sun { module star { module rendering {
+
+constants PanoseWeight
+{
+ const byte ANYTHING=0;
+ const byte NO_FIT=1;
+ const byte VERY_LIGHT=2;
+ const byte LIGHT=3;
+ const byte THIN=4;
+ const byte BOOK=5;
+ const byte MEDIUM=6;
+ const byte DEMI_BOLD=7;
+ const byte BOLD=8;
+ const byte HEAVY=9;
+ const byte BLACK=10;
+ const byte NORD=11;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/PanoseXHeight.idl b/offapi/com/sun/star/rendering/PanoseXHeight.idl
new file mode 100644
index 000000000..f2ce5cfcf
--- /dev/null
+++ b/offapi/com/sun/star/rendering/PanoseXHeight.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_rendering_PanoseXHeight_idl__
+#define __com_sun_star_rendering_PanoseXHeight_idl__
+
+module com { module sun { module star { module rendering {
+
+constants PanoseXHeight
+{
+ const byte ANYTHING=0;
+ const byte NO_FIT=1;
+ const byte CONSTANT_SMALL=2;
+ const byte CONSTANT_STANDARD=3;
+ const byte CONSTANT_LARGE=4;
+ const byte DUCKING_SMALL=5;
+ const byte DUCKING_STANDARD=6;
+ const byte DUCKING_LARGE=7;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/PathCapType.idl b/offapi/com/sun/star/rendering/PathCapType.idl
new file mode 100644
index 000000000..65cae117c
--- /dev/null
+++ b/offapi/com/sun/star/rendering/PathCapType.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_rendering_PathCapType_idl__
+#define __com_sun_star_rendering_PathCapType_idl__
+
+module com { module sun { module star { module rendering {
+
+/** These constants determine which shape to use for start or end of a
+ stroked path.<p>
+
+ The start and end of stroked paths can have one out of several
+ different shapes (which are, of course, only visible for strokes
+ wider than one device pixel).<p>
+
+ @since OOo 2.0
+ */
+constants PathCapType
+{
+ /// End the path at its start or end point, without any cap.
+ const byte BUTT=0;
+
+
+ /// Extend the path with a half circle cap, diameter is the line width.
+ const byte ROUND=1;
+
+
+ /// Extend the path with a rectangular cap, half the line width long.
+ const byte SQUARE=2;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/PathJoinType.idl b/offapi/com/sun/star/rendering/PathJoinType.idl
new file mode 100644
index 000000000..2916df4af
--- /dev/null
+++ b/offapi/com/sun/star/rendering/PathJoinType.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_rendering_PathJoinType_idl__
+#define __com_sun_star_rendering_PathJoinType_idl__
+
+module com { module sun { module star { module rendering {
+
+/** Determines which shape to use when joining path segments.<p>
+
+ The joins between different paths segments can be formed out of
+ several different shapes (which are of course only visible for
+ strokes wider than one device pixel).<p>
+
+ @since OOo 2.0
+ */
+constants PathJoinType
+{
+ /** Do not join the path segments at all.<p>
+
+ This join type might lead, depending on the angle between the
+ segments, to visible cracks at the meeting points.<p>
+ */
+ const byte NONE=0;
+
+
+ /** Join the path segment by extending the outer border until they
+ intersect.
+ */
+ const byte MITER=1;
+
+
+ /** Join the path segment with a pie-like patch, such that the
+ outer line of the meeting point is round.
+ */
+ const byte ROUND=2;
+
+
+ /** Join the path segment by connecting the outer ends of the
+ abutting segments with a straight line.
+ */
+ const byte BEVEL=3;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/RGBColor.idl b/offapi/com/sun/star/rendering/RGBColor.idl
new file mode 100644
index 000000000..ba2bc2a70
--- /dev/null
+++ b/offapi/com/sun/star/rendering/RGBColor.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_rendering_RGBColor_idl__
+#define __com_sun_star_rendering_RGBColor_idl__
+
+#include <com/sun/star/rendering/ColorComponent.idl>
+
+module com { module sun { module star { module rendering {
+
+/// RGB color triplet
+struct RGBColor
+{
+ /// Red component. Valid range is [0,1.0]
+ ColorComponent Red;
+ /// Green component. Valid range is [0,1.0]
+ ColorComponent Green;
+ /// Blue component. Valid range is [0,1.0]
+ ColorComponent Blue;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/RenderState.idl b/offapi/com/sun/star/rendering/RenderState.idl
new file mode 100644
index 000000000..1438757e4
--- /dev/null
+++ b/offapi/com/sun/star/rendering/RenderState.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_rendering_RenderState_idl__
+#define __com_sun_star_rendering_RenderState_idl__
+
+#include <com/sun/star/geometry/AffineMatrix2D.idl>
+#include <com/sun/star/rendering/XColorSpace.idl>
+
+module com { module sun { module star { module rendering {
+
+interface XPolyPolygon2D;
+
+/** This structure contains information passed to each
+ XCanvas render operation.<p>
+
+ This structure contains information considered as the render
+ state, i.e. the common setup required to render each individual
+ XCanvas primitive.<p>
+
+ @since OOo 2.0
+ */
+struct RenderState
+{
+ /** The affine transform associated with this render
+ operation.<p>
+
+ This is used to transform coordinates of canvas primitives
+ from user space to view space (from which they are
+ subsequently transformed to device space by the view
+ transform).<p>
+ */
+ ::com::sun::star::geometry::AffineMatrix2D AffineTransform;
+
+
+ /** The clipping area associated with this render operation.<p>
+
+ This clipping is interpreted in the user coordinate system,
+ i.e. subject to the render state transform followed by the
+ view transform before mapped to device coordinate space.<p>
+
+ Specifying an empty interface denotes no clipping,
+ i.e. everything rendered to the canvas will be visible
+ (subject to device-dependent constraints, of
+ course). Specifying an empty XPolyPolygon2D, i.e. a
+ poly-polygon containing zero polygons, or an XPolyPolygon2D
+ with any number of empty sub-polygons, denotes the NULL
+ clip. That means, nothing rendered to the canvas will be
+ visible.<p>
+ */
+ XPolyPolygon2D Clip;
+
+
+ /** The device color associated with this render operation.<p>
+
+ Note that this need not be RGB here, but depends on the active
+ device color space.<p>
+
+ @see XGraphicDevice
+ @see XColorSpace
+ */
+ sequence<ColorComponent> DeviceColor;
+
+
+ /** The composition mode associated with this render
+ operation.<p>
+
+ The composite mode determines in which way the primitive and
+ possibly existing background is combined. The permissible
+ values must be one out of the CompositeOperation
+ constants.<p>
+ */
+ byte CompositeOperation;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/RenderingIntent.idl b/offapi/com/sun/star/rendering/RenderingIntent.idl
new file mode 100644
index 000000000..93af1d5a3
--- /dev/null
+++ b/offapi/com/sun/star/rendering/RenderingIntent.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_rendering_RenderingIntent_idl__
+#define __com_sun_star_rendering_RenderingIntent_idl__
+
+module com { module sun { module star { module rendering {
+
+/** The rendering intent for a color space.<p>
+
+ The rendering intent for a color space mostly determines how
+ out-of-gamut color is treated. See <a
+ href="http://en.wikipedia.org/wiki/Rendering_intent">Wikipedia</a>
+ for a thorough explanation.
+
+ @since OOo 2.0
+ */
+constants RenderingIntent
+{
+ /** Also known as the image intent, this rendering intent
+ aims to preserve the visual relationship between
+ colors in a way that is perceived as natural to the
+ human eye, although the color values themselves may
+ change. This intent is most suitable for photographic
+ images.
+ */
+ const byte PERCEPTUAL=0;
+
+
+ /** The rendering intent for business graphics that
+ maintains vivid color at the expense of accurate
+ color. It scales the source gamut to the destination
+ gamut but preserves relative saturation instead of
+ hue, so when scaling to a smaller gamut, hues may
+ shift. This rendering intent is primarily designed for
+ business graphics, where bright saturated colors are
+ more important than the exact relationship between
+ colors (such as in a photographic image).
+ */
+ const byte SATURATION=1;
+
+ /** The rendering intent almost identical to Absolute
+ Colorimetric except for the following difference:
+ Relative Colorimetric compares the white point
+ (extreme highlight) of the source color space to that
+ of the destination color space and shifts all colors
+ accordingly.
+ */
+ const byte RELATIVE_COLORIMETRIC=2;
+
+ /** The rendering intent that leaves colors that fall
+ inside the destination gamut unchanged. Out of gamut
+ colors are clipped. No scaling of colors to
+ destination white point is performed. This intent aims
+ to maintain color accuracy at the expense of
+ preserving relationships between colors, and is useful
+ for seeing how output will look on a non-neutral
+ substrate.
+ */
+ const byte ABSOLUTE_COLORIMETRIC=3;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/RepaintResult.idl b/offapi/com/sun/star/rendering/RepaintResult.idl
new file mode 100644
index 000000000..d876ba812
--- /dev/null
+++ b/offapi/com/sun/star/rendering/RepaintResult.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_rendering_RepaintResult_idl__
+#define __com_sun_star_rendering_RepaintResult_idl__
+
+module com { module sun { module star { module rendering {
+
+/** These constants specify the result of the
+ XCachedPrimitive render operation.<p>
+
+ @since OOo 2.0
+ */
+constants RepaintResult
+{
+ /** Repaint succeeded, primitive has been exactly reproduced.
+ */
+ const byte REDRAWN=1;
+
+
+ /** Repaint succeeded, primitive has been reproduced in preview quality.
+ */
+ const byte DRAFTED=2;
+
+
+ /** Repaint failed altogether.
+ */
+ const byte FAILED=3;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/StringContext.idl b/offapi/com/sun/star/rendering/StringContext.idl
new file mode 100644
index 000000000..76523e32f
--- /dev/null
+++ b/offapi/com/sun/star/rendering/StringContext.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_rendering_StringContext_idl__
+#define __com_sun_star_rendering_StringContext_idl__
+
+module com { module sun { module star { module rendering {
+
+/** Collection of string-related arguments used on all canvas text
+ interfaces.<p>
+
+ A possibly much larger string than later rendered is necessary
+ here, because in several languages, glyph selection is context
+ dependent.<p>
+
+ @since OOo 2.0
+ */
+struct StringContext
+{
+ /** The complete text, from which a subset is selected by the
+ parameters below.
+ */
+ string Text;
+
+
+ /** Start position within the string.<p>
+
+ The first character has index 0.<p>
+ */
+ long StartPosition;
+
+
+ /** Length of the substring to actually use.<p>
+
+ Must be within the range [0,INTMAX].<p>
+ */
+ long Length;
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/StrokeAttributes.idl b/offapi/com/sun/star/rendering/StrokeAttributes.idl
new file mode 100644
index 000000000..3e551e75b
--- /dev/null
+++ b/offapi/com/sun/star/rendering/StrokeAttributes.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_rendering_StrokeAttributes_idl__
+#define __com_sun_star_rendering_StrokeAttributes_idl__
+
+module com { module sun { module star { module rendering {
+
+/** This structure contains all attributes required for path stroking.<p>
+
+ Path stroking is the process of drawing a polygon with a thick
+ pen. The various attributes contained in this structure can be
+ used to customize that process.<p>
+ */
+struct StrokeAttributes
+{
+ /** Defines the width of the stroke, measured in user
+ coordinate space.
+
+ This value must be positive (or 0.0)
+ */
+ double StrokeWidth;
+
+
+ /** Determines the maximal length of the diagonal in mitered
+ corners.<p>
+
+ This attribute is only used when
+ StrokeAttributes::JoinType is set to
+ PathJoinType::MITER. Should the length of a
+ corner's diagonal exceed this limit, a beveled join is used
+ instead. This value must be positive (or 0.0, which is
+ equivalent to setting
+ StrokeAttributes::JoinType to
+ PathJoinType::BEVEL.<p>
+
+ Before performing the actual comparison, implementations will
+ multiply the MiterLimit with the current StrokeWidth, such
+ that, with phi being the angle between the two joining
+ segments, MiterLimit=1/sin(phi/2.0).<p>
+ */
+ double MiterLimit;
+
+
+ /** Array of ink on and off lengths, measured in user coordinate
+ space.<p>
+
+ The first element specifies the length of the first "on"
+ segment of the dashing, the second element the length of the
+ first "off" segment, and so forth. Give zero elements here for
+ solid strokes. This array always have an even number of
+ elements, with zero, as usual, counting as even
+ here. Furthermore, each entry in this array must have a value
+ that is positive (or 0.0)<p>
+ */
+ sequence<double> DashArray;
+
+
+ /** Array of line widths and spacings for multiple-line
+ strokes.<p>
+
+ The entries here are relative to the
+ StrokeAttributes::StrokeWidth attribute
+ above, i.e. the total width of all lines and spacings will
+ always equal
+ StrokeAttributes::StrokeWidth. The first
+ element specifies the width of the rightmost line, when
+ traveling from the start point of the path to the end
+ point. The second element specifies the space between the
+ first line and the second line, and so forth. If the array
+ ends with a spacing, this spacing is included in the total
+ width of the multiple-line stroke. That is, the stroke becomes
+ asymmetric.<p>
+ */
+ sequence<double> LineArray;
+
+
+ /** The start shape of the stroke.<p>
+
+ The start point is the first point of every polygon of the
+ path poly-polygon.<p>
+
+ @see PathCapType
+ */
+ byte StartCapType;
+
+
+ /** The end shape of the stroke.<p>
+
+ The end point is the last point of every polygon of the path
+ poly-polygon.<p>
+
+ @see PathCapType
+ */
+ byte EndCapType;
+
+
+ /** The join shape of the stroke.<p>
+
+ After every sub-stroke, i.e. after every line or curve segment
+ within a single path polygon, a shape of this type is inserted
+ into the stroke to glue the segments together. Please note
+ that distinct polygons within the path poly-polygon are not
+ connected, and therefore also not joined via the shape
+ specified here.<p>
+
+ @see PathJoinType
+ */
+ byte JoinType;
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/TextDirection.idl b/offapi/com/sun/star/rendering/TextDirection.idl
new file mode 100644
index 000000000..bc3bc9993
--- /dev/null
+++ b/offapi/com/sun/star/rendering/TextDirection.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_rendering_TextDirection_idl__
+#define __com_sun_star_rendering_TextDirection_idl__
+
+module com { module sun { module star { module rendering {
+
+/** Specifies main text direction in a text portion.<p>
+
+ This also changes the interpretation of the start point.<p>
+
+ @since OOo 2.0
+ */
+constants TextDirection
+{
+ /// Reference point is left, main direction is from left to right
+ const byte WEAK_LEFT_TO_RIGHT=0;
+ /// Reference point is left, main direction is from left to right
+ const byte STRONG_LEFT_TO_RIGHT=2;
+
+ /// Reference point is right, main direction is from right to left
+ const byte WEAK_RIGHT_TO_LEFT=1;
+ /// Reference point is right, main direction is from right to left
+ const byte STRONG_RIGHT_TO_LEFT=3;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/TextHit.idl b/offapi/com/sun/star/rendering/TextHit.idl
new file mode 100644
index 000000000..2b5591304
--- /dev/null
+++ b/offapi/com/sun/star/rendering/TextHit.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_rendering_TextHit_idl__
+#define __com_sun_star_rendering_TextHit_idl__
+
+module com { module sun { module star { module rendering {
+
+/** This structure contains hit information for XTextLayout.<p>
+
+ This structure is used from the XTextLayout interface
+ to transport information regarding hit tests.<p>
+
+ @since OOo 2.0
+ */
+struct TextHit
+{
+ /** This contains the entry index.<p>
+
+ The entry index is the index of the insertion point in the
+ character sequence. The insertion point denotes positions
+ <em>between</em> the actual characters in the string, and can
+ thus have values ranging from 0 up to the number of characters
+ in the string. Hereby, an index of 0 denotes an insertion
+ position <em>before</em> the first character, and an index
+ containing the number of characters denotes an insertion
+ <em>behind</em> the last character.<p>
+ */
+ long EntryIndex;
+
+ /** This member denotes whether the hit was on the leading
+ edge.<p>
+
+ Each character is divided in two halves, the leading and the
+ trailing part. The leading edge is the part of the glyph
+ encountered first when reading text of the corresponding
+ language (i.e. the leading edge of an Arabic glyph is the
+ right half of it, whereas it is the left half of a Latin
+ character). If the hit was on the leading edge, this member is
+ set to `TRUE`.
+ */
+ boolean IsLeadingEdge;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/Texture.idl b/offapi/com/sun/star/rendering/Texture.idl
new file mode 100644
index 000000000..78f223dd3
--- /dev/null
+++ b/offapi/com/sun/star/rendering/Texture.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_rendering_Texture_idl__
+#define __com_sun_star_rendering_Texture_idl__
+
+#include <com/sun/star/geometry/AffineMatrix2D.idl>
+#include <com/sun/star/rendering/StrokeAttributes.idl>
+
+module com { module sun { module star { module rendering {
+
+interface XBitmap;
+interface XParametricPolyPolygon2D;
+
+/** Contains all information needed to define a texture.<p>
+
+ This structure contains all information necessary to define a
+ texture. A texture describes the filled area of polygonal shapes,
+ providing its own transformation matrix, repeat mode, and
+ transparency.<p>
+
+ To achieve uniformity, if this texture has a bitmap set, it is
+ scaled in such a way that it will cover the same [0,1]x[0,1] box
+ as the hatch and the gradient. The transformation member can then
+ be used to scale the complete texture as it fits suit.<p>
+
+ @since OOo 2.0
+ */
+struct Texture
+{
+ /** Texture transformation from texture to primitive space.<p>
+
+ This member allows arbitrary transformations of the texture,
+ relative to the textured primitive. Thus, the total
+ transformation from the [0,1]x[0,1] texture space to the
+ device coordinate space is the concatenation of texture,
+ render state, and view state transformation (with only render
+ state and view state transformation being applied to the
+ textured primitive).<p>
+ */
+ ::com::sun::star::geometry::AffineMatrix2D AffineTransform;
+
+
+ /** Overall transparency of the texturing.<p>
+
+ The valid range for this value is [0,1], where 0 denotes
+ complete transparency, and 1 denotes fully opaque.<p>
+ */
+ double Alpha;
+
+
+ /** Specifies the number of parameterized polygons used for the texture.<p>
+
+ This member specifies the number of polygons the parametric
+ polygon interface is queried. The continuous range [0,1] of
+ the XParametricPolyPolygon::getOutline() method is divided up
+ into numberOfHatchPolygons equal parts, and for everyone of
+ these parts, the start of the interval is plugged into the
+ getOutline method. For example, if numberOfHatchPolygons is 2,
+ then getOutline is called twice, once with 0.0 and once with
+ 0.5. Use this parameter to control the density of the
+ hatching.<p>
+ */
+ long NumberOfHatchPolygons;
+
+
+ /** Texture bitmap.<p>
+
+ This member can be used together with gradient and hatching.<p>
+
+ The bitmap is scaled to a one-by-one rectangle, to cover the
+ same area as both the gradient and the hatching.<p>
+ */
+ XBitmap Bitmap;
+
+
+ /** Texture gradient.<p>
+
+ This member can be used together with bitmap and hatching. The
+ parametric polygons color value is used to fill the returned
+ polygonal outlines.<p>
+ */
+ XParametricPolyPolygon2D Gradient;
+
+
+ /** Texture hatching.<p>
+
+ This member can be used together with bitmap and gradient. The
+ parametric polygons color value is used to stroke the returned
+ polygonal outlines.<p>
+ */
+ XParametricPolyPolygon2D Hatching;
+
+
+ /** Specifies the stroke attributes used for hatching.<p>
+
+ Use 0.0 as the strokeWidth here to indicate hair lines.<p>
+ */
+ StrokeAttributes HatchAttributes;
+
+
+ /** Repeat mode of the texture, x direction.<p>
+
+ The repeat mode is separated into x and y direction, this is
+ the x direction part. Permissible values are from the
+ TexturingMode constants.<p>
+ */
+ byte RepeatModeX;
+
+ /** Repeat mode of the texture, y direction.<p>
+
+ The repeat mode is separated into x and y direction, this is
+ the y direction part. Permissible values are from the
+ TexturingMode constants.<p>
+ */
+ byte RepeatModeY;
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/TexturingMode.idl b/offapi/com/sun/star/rendering/TexturingMode.idl
new file mode 100644
index 000000000..fb5c61e7a
--- /dev/null
+++ b/offapi/com/sun/star/rendering/TexturingMode.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_rendering_TexturingMode_idl__
+#define __com_sun_star_rendering_TexturingMode_idl__
+
+module com { module sun { module star { module rendering {
+
+/** Enumeration of possible values to spread a texture across a
+ primitive.
+
+ @since OOo 2.0
+ */
+constants TexturingMode
+{
+ /** Pixel outside the texture area are fully transparent.<p>
+
+ This completely switches off pixel generation outside the
+ texture coordinate range [0,1]. This results in only one
+ instance of the texture generated per textured primitive.<p>
+ */
+ const byte NONE=0;
+
+
+ /** Clamp texture coordinate.<p>
+
+ This value clamps the texture coordinates to the range
+ [0,1]. This results in only one instance of the texture
+ generated per textured primitive, with the remaining area
+ filled with the color of the outermost texels<p>
+ */
+ const byte CLAMP=1;
+
+
+ /** Repeat the texture.<p>
+
+ This value repeats the texture over the textured primitive,
+ for the given texture coordinate.<p>
+ */
+ const byte REPEAT=2;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/ViewState.idl b/offapi/com/sun/star/rendering/ViewState.idl
new file mode 100644
index 000000000..a3c7e6aca
--- /dev/null
+++ b/offapi/com/sun/star/rendering/ViewState.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_rendering_ViewState_idl__
+#define __com_sun_star_rendering_ViewState_idl__
+
+#include <com/sun/star/geometry/AffineMatrix2D.idl>
+
+module com { module sun { module star { module rendering {
+
+interface XPolyPolygon2D;
+
+/** This structure contains information considered the view state.<p>
+
+ This structure contains information considered the view state,
+ i.e. the invariant setup used when painting a whole view of
+ something.<p>
+
+ @since OOo 2.0
+ */
+struct ViewState
+{
+ /** The affine transform associated with the view.<p>
+
+ This member is used to transform coordinates of draw
+ operations from user space to screen space.<p>
+ */
+ ::com::sun::star::geometry::AffineMatrix2D AffineTransform;
+
+
+ /** The clipping area associated with the view.<p>
+
+ This clipping is interpreted in the view coordinate systems,
+ i.e. subject to the view transform before mapping to the
+ device coordinate space.<p>
+
+ Specifying an empty interface denotes no clipping,
+ i.e. everything rendered to the canvas will be visible
+ (subject to device-dependent constraints, of
+ course). Specifying an empty XPolyPolygon2D, i.e. a
+ poly-polygon containing zero polygons, or an XPolyPolygon2D
+ with any number of empty sub-polygons, denotes the NULL
+ clip. That means, nothing rendered to the canvas will be
+ visible.<p>
+ */
+ XPolyPolygon2D Clip;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/VolatileContentDestroyedException.idl b/offapi/com/sun/star/rendering/VolatileContentDestroyedException.idl
new file mode 100644
index 000000000..ad9f85fa4
--- /dev/null
+++ b/offapi/com/sun/star/rendering/VolatileContentDestroyedException.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_rendering_VolatileContentDestroyedException_idl__
+#define __com_sun_star_rendering_VolatileContentDestroyedException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+module com { module sun { module star { module rendering {
+
+ /** This exception indicates an invalid volatile bitmap content.<p>
+
+ When accessing or rendering XVolatileBitmap data, that has
+ been invalidated by the system, this exception will be thrown.<p>
+
+ @since OOo 2.0
+ */
+ exception VolatileContentDestroyedException : ::com::sun::star::uno::Exception
+ {
+ };
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/XAnimatedSprite.idl b/offapi/com/sun/star/rendering/XAnimatedSprite.idl
new file mode 100644
index 000000000..adf9cf3e1
--- /dev/null
+++ b/offapi/com/sun/star/rendering/XAnimatedSprite.idl
@@ -0,0 +1,173 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_rendering_XAnimatedSprite_idl__
+#define __com_sun_star_rendering_XAnimatedSprite_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/geometry/RealPoint2D.idl>
+#include <com/sun/star/rendering/ViewState.idl>
+#include <com/sun/star/rendering/RenderState.idl>
+#include <com/sun/star/rendering/XSprite.idl>
+
+
+module com { module sun { module star { module rendering {
+
+/** This interface can be used to control an animated sprite object.<p>
+
+ This interface can be used to control an animated sprite object on
+ an XSpriteCanvas. Sprites are moving, animated objects.<p>
+
+ @since OOo 2.0
+ */
+interface XAnimatedSprite : XSprite
+{
+ /** Start animation sequence of this sprite.<p>
+
+ The speed of the animation is given in cycles per second
+ (where a cycle is defined as one full animation run, i.e. the
+ full [0,1] range of the XAnimation::render()'s
+ t parameter, or a full sequence of sprite bitmaps drawn). Once
+ an animation is running, the associated
+ XSpriteCanvas handles screen updates
+ automatically. That means, changes to position or alpha are
+ reflected on screen automatically. Please note further that
+ sprite visibility and animation are unrelated, i.e. a hidden
+ sprite can have a running animation, which then displays in
+ the middle of the animation sequence, when a show() is called
+ later on.<p>
+
+ @param nSpeed
+ The speed of the animation in cycles per second (where a cycle
+ is defined as one full animation run, i.e. the full [0,1]
+ range of the XAnimation::render()'s t
+ parameter, or a full sequence of sprite bitmaps drawn).
+ */
+ void startAnimation( [in] double nSpeed );
+
+
+ /** Stop the animation sequence.<p>
+
+ A subsequent XAnimatedSprite::startAnimation()
+ will commence the sequence at the point where it was stopped
+ with here. Once an animation is stopped, the associated
+ XSpriteCanvas does not update changed sprites
+ anymore.<p>
+ */
+ void stopAnimation();
+
+
+ /** Reset the animation sequence to start with the first frame.<p>
+
+ If the animation is currently running, the next frame that is
+ drawn after this method has finished, will be the first
+ one. Please note that if an animation is not started, the
+ associated XSpriteCanvas does not update changed
+ sprites automatically.<p>
+ */
+ void resetAnimation();
+
+
+ /** Issue an additional render call to this sprite's
+ animation.<p>
+
+ This method has no effect when called for a bitmap-sequence
+ sprite. Please note that if an animation is not started, the
+ associated XSpriteCanvas does not update changed
+ sprites automatically, but has to be told to do so via
+ XSpriteCanvas::updateScreen().<p>
+ */
+ void updateAnimation();
+
+
+ /** Changes the view state in place for this sprite's
+ animation.<p>
+
+ The state given here is used when calling the
+ XAnimation::render() method, or when drawing
+ the sprite's bitmaps, respectively. There's no need to call
+ XSpriteCanvas::updateAnimation() after this
+ method, as it automatically rerenders, if necessary. Please
+ note that if an animation is not started, the associated
+ XSpriteCanvas does not update changed sprites
+ automatically, but has to be told to do so via
+ XSpriteCanvas::updateScreen().<p>
+
+ @param aViewState
+ The state given here is used when calling the
+ XAnimation::render() method, or when drawing
+ the sprite's bitmaps, respectively.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the view transformation matrix is singular.
+ */
+ void setViewState( [in] ViewState aViewState )
+ raises (com::sun::star::lang::IllegalArgumentException);
+
+
+ /** Changes all of the sprite's attributes at one atomic
+ instance.<p>
+
+ This is useful at times where one does not want multiple
+ redraws for every state change.<p>
+
+ Please note that if an animation is not started, the
+ associated XSpriteCanvas does not update changed
+ sprites automatically, but has to be told to do so via
+ XSpriteCanvas::updateScreen().<p>
+
+ @param aNewPos
+ New left,top output position of the sprite. This position gets
+ transformed by the view and render state.
+
+ @param aViewState
+ New view state of the sprite, and part of the transformation
+ that is applied to aNewPos. The view transformation matrix
+ must not be singular.
+
+ @param aRenderState
+ New render state of the sprite, and part of the transformation
+ that is applied to aNewPos. The render transformation matrix
+ must not be singular.
+
+ @param nAlpha
+ New alpha value of the sprite. This value must be within the
+ [0,1] range.
+
+ @param bUpdateAnimation
+ Whether this method should implicitly call
+ XSpriteCanvas::updateAnimation() or not.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if one of the passed parameters does not lie in the specified,
+ permissible range.
+ */
+ void setAll( [in] ::com::sun::star::geometry::RealPoint2D aNewPos,
+ [in] ViewState aViewState,
+ [in] RenderState aRenderState,
+ [in] double nAlpha,
+ [in] boolean bUpdateAnimation )
+ raises (com::sun::star::lang::IllegalArgumentException);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/XAnimation.idl b/offapi/com/sun/star/rendering/XAnimation.idl
new file mode 100644
index 000000000..0d92dc5b4
--- /dev/null
+++ b/offapi/com/sun/star/rendering/XAnimation.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_rendering_XAnimation_idl__
+#define __com_sun_star_rendering_XAnimation_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/rendering/ViewState.idl>
+#include <com/sun/star/rendering/AnimationAttributes.idl>
+#include <com/sun/star/rendering/XCanvas.idl>
+
+
+module com { module sun { module star { module rendering {
+
+/* TODO: Have a property set here, to easily extend attributes? Think
+ that's advisable, because animations change the most. Implement
+ that with multiple inheritance interface types, please, not with
+ service description.
+*/
+
+/** This interface defines an animation sequence.<p>
+
+ This interface must be implemented by every animation object. It
+ is used by the XCanvas interface to render generic
+ animations.<p>
+
+ @since OOo 2.0
+ */
+interface XAnimation : ::com::sun::star::uno::XInterface
+{
+ /** Render the animation content at time t into the specified
+ canvas.<p>
+
+ Note that it is perfectly legal to e.g. map t in a nonlinear
+ fashion to internal frames, for example to achieve
+ acceleration or deceleration effects. It is required that the
+ render method has const semantics, i.e. when called with the
+ same parameter set, identical output must be generated. This
+ is because e.g. a Sprite might decide arbitrarily to render an
+ animation once and cache the result, or repaint it via
+ XAnimation::render every time.<p>
+
+ The rendered content, although, must be exactly the same for
+ identical viewState, canvas and t values. Or, for that
+ matters, must call the same canvas methods in the same order
+ with the same parameter sets, for identical viewState and t
+ values. Furthermore, when viewState has the identity
+ transformation set, rendered output must be contained in a
+ rectangle with upper left corner at (0,0) and width and height
+ given by the AnimationAttributes' untransformedSize
+ member. Any content exceeding this box might get clipped off.<p>
+
+ @param canvas
+ The target canvas to render this animation to.
+
+ @param viewState
+ The view state to be used when rendering this animation to the
+ target canvas. The view transformation matrix must not be
+ singular.
+
+ @param t
+ Time instant for which animation content is requested. The
+ range must always be [0,1], where 0 denotes the very beginning, and
+ 1 the end of the animation sequence.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if one of the passed parameters does not lie in the specified,
+ permissible range.
+ */
+ void render( [in] XCanvas canvas, [in] ViewState viewState, [in] double t )
+ raises (com::sun::star::lang::IllegalArgumentException);
+
+
+ /** Request the attribute information for this animation.<p>
+
+ This method returns the AnimationAttributes
+ structure, which defines more closely how to play this
+ animation.<p>
+
+ @returns the requested AnimationAttributes
+ structure.
+ */
+ AnimationAttributes getAnimationAttributes();
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/XBezierPolyPolygon2D.idl b/offapi/com/sun/star/rendering/XBezierPolyPolygon2D.idl
new file mode 100644
index 000000000..fd8ff0eec
--- /dev/null
+++ b/offapi/com/sun/star/rendering/XBezierPolyPolygon2D.idl
@@ -0,0 +1,160 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_rendering_XBezierPolyPolygon2D_idl__
+#define __com_sun_star_rendering_XBezierPolyPolygon2D_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#include <com/sun/star/rendering/XPolyPolygon2D.idl>
+#include <com/sun/star/geometry/RealBezierSegment2D.idl>
+
+module com { module sun { module star { module rendering {
+
+/** This is a specialized interface for a 2D poly-polygon containing
+ straight line and Bezier segments.<p>
+
+ This poly-polygon can contain polygons consisting of a mixture of
+ cubic Bezier curves and straight lines. As the straight line is a
+ special case of a cubic Bezier curve (control points collinear
+ with the line through start and end point), this can be expressed
+ uniformly with a sequence of RealBezierSegment2Ds.<p>
+
+ By convention, a RealBezierSegment2D is a straight
+ line segment, if all three contained points are strictly equal.<p>
+
+ @since OOo 2.0
+ */
+interface XBezierPolyPolygon2D : XPolyPolygon2D
+{
+ /** Query subset of this poly-polygon.<p>
+
+ Query subset of this poly-polygon, starting at the given
+ polygon and the given point within that polygon, and
+ containing the specified number of polygons and points in the
+ last polygon.<p>
+
+ @param nPolygonIndex
+ The index of the polygon to start point retrieval with. This
+ index must be in the range [0,numPolygons-1].
+
+ @param nNumberOfPolygons
+ The number of polygons to extract. This value must not exceed
+ numPolygons-nPolygonIndex.
+
+ @param nPointIndex
+ The index of the first point in the first polygon to
+ extract. This value must not exceed the number of points in
+ this polygon minus one.
+
+ @param nNumberOfPoints
+ The number of points to extract from the last polygon. This
+ value must not exceed the number of points in this last
+ polygon minus one.
+
+ @returns the sequence of extracted points.
+
+ @throws com::sun::star::lang::IndexOutOfBoundsException
+ if one of the given values exceed the permissible range.
+ */
+ sequence< sequence < ::com::sun::star::geometry::RealBezierSegment2D > > getBezierSegments( [in] long nPolygonIndex, [in] long nNumberOfPolygons, [in] long nPointIndex, [in] long nNumberOfPoints )
+ raises (com::sun::star::lang::IndexOutOfBoundsException);
+
+
+ /** Set the specified sequence of Bezier segments to the poly-polygon.
+
+ This method can either set the whole poly-polygon to the new
+ data, or insert the segments at the given index
+
+ @param points the points.
+
+ @param nPolygonIndex
+ The index of the polygon to start segment insertion with. This
+ index must be in the range [0,numPolygons], and the insertion
+ will take place <em>before</em> this position (i.e. when
+ specifying 0 here, the given Bezier sequence will precede all
+ existing polygons already within the poly-polygon). To append
+ to a poly-polygon, call setPoints() with
+ XBezierPolyPolygon2D::getNumberOfPolygons()
+ as the polygon index. If nPolygonIndex is -1, the given
+ Bezier sequence <em>replaces</em> the poly-polygon content,
+ such that after this method completes, it contains exactly the
+ specified Bezier segment data.
+
+ @throws com::sun::star::lang::IndexOutOfBoundsException
+ if one of the given values exceed the permissible range.
+ */
+ void setBezierSegments( [in] sequence< sequence< ::com::sun::star::geometry::RealBezierSegment2D > > points, [in] long nPolygonIndex )
+ raises (com::sun::star::lang::IndexOutOfBoundsException);
+
+
+ /** Get a single point from the poly-polygon.
+
+ @param nPolygonIndex
+ The index of the polygon where the point to be extract is
+ contained within. This index must be in the range
+ [0,numPolygons-1].
+
+ @param nPointIndex
+ The index of the point in the polygon specified by
+ nPolygonIndex, which is to be retrieved. This value must not
+ exceed the number of points in this polygon minus one.
+
+ @returns the requested point.
+
+ @throws com::sun::star::lang::IndexOutOfBoundsException
+ if one of the given values exceed the permissible range.
+
+ */
+ ::com::sun::star::geometry::RealBezierSegment2D getBezierSegment( [in] long nPolygonIndex, [in] long nPointIndex )
+ raises (com::sun::star::lang::IndexOutOfBoundsException);
+
+
+ /** Set a single point on the poly-polygon.<p>
+
+ The remaining points of the poly-polygon will not be changed by
+ this method. Use
+ XBezierPolyPolygon2D::getNumberOfPolygons()
+ or
+ XBezierPolyPolygon2D::getNumberOfPolygonPoints()
+ to append points or polygons, respectively.<p>
+
+ @param point
+ The point to be set at the poly-polygon.
+
+ @param nPolygonIndex
+ The index of the polygon to insert the point in. This index
+ must be in the range [0,numPolygons].
+
+ @param nPointIndex
+ The index of the point in the polygon specified by
+ nPolygonIndex, which is to be set. This value must not
+ exceed the number of points in this polygon.
+
+ @throws com::sun::star::lang::IndexOutOfBoundsException
+ if one of the given values exceed the permissible range.
+ */
+ void setBezierSegment( [in] ::com::sun::star::geometry::RealBezierSegment2D point, [in] long nPolygonIndex, [in] long nPointIndex )
+ raises (com::sun::star::lang::IndexOutOfBoundsException);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/XBitmap.idl b/offapi/com/sun/star/rendering/XBitmap.idl
new file mode 100644
index 000000000..ce6611bdc
--- /dev/null
+++ b/offapi/com/sun/star/rendering/XBitmap.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_rendering_XBitmap_idl__
+#define __com_sun_star_rendering_XBitmap_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/geometry/IntegerSize2D.idl>
+#include <com/sun/star/geometry/RealSize2D.idl>
+#include <com/sun/star/rendering/VolatileContentDestroyedException.idl>
+
+module com { module sun { module star { module rendering {
+
+/** This is a generic interface to a bitmap.<p>
+
+ This interface contains the generic functionality to be used on
+ every XCanvas bitmap object. More format-specific
+ methods can be found at the XIntegerBitmap,
+ XIeeeDoubleBitmap, XIeeeFloatBitmap and
+ XHalfFloatBitmap interfaces.<p>
+
+ @since OOo 2.0
+ */
+interface XBitmap : ::com::sun::star::uno::XInterface
+{
+ /** Query the size of the bitmap.<p>
+
+ This method queries the bitmap size in pixel.<p>
+
+ @return the bitmap size in pixel.
+ */
+ ::com::sun::star::geometry::IntegerSize2D getSize();
+
+
+ /** Query transparency status of the bitmap.<p>
+
+ The method checks, whether the bitmap contains any alpha
+ information. The same information is also available at the
+ XColorSpace associated with this bitmap, though
+ much easier to access here (the color space then has a
+ component flagged
+ ColorComponentTag::ALPHA).<p>
+
+ @return `TRUE`, if the bitmap has alpha data, or `FALSE` if
+ not.
+ */
+ boolean hasAlpha();
+
+
+ /** Query a scaled copy of the original bitmap.
+
+ @param newSize
+ Requested size of the new bitmap. Both of the two size
+ components must be greater than zero.
+
+ @param beFast
+ When set to true, this parameter advises getScaledBitmap to
+ use the fastest available algorithm to scale the bitmap, which
+ might cause visible artifacts.
+
+ @returns the new scaled bitmap.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the size components are outside the specified range.
+
+ @throws VolatileContentDestroyedException
+ if the contents of a volatile bitmap have been destroyed, and
+ thus cannot be read to generate the scaled bitmap.
+ */
+ XBitmap getScaledBitmap( [in] ::com::sun::star::geometry::RealSize2D newSize, [in] boolean beFast )
+ raises (com::sun::star::lang::IllegalArgumentException,
+ VolatileContentDestroyedException);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/XBitmapCanvas.idl b/offapi/com/sun/star/rendering/XBitmapCanvas.idl
new file mode 100644
index 000000000..c30b86a7d
--- /dev/null
+++ b/offapi/com/sun/star/rendering/XBitmapCanvas.idl
@@ -0,0 +1,113 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_rendering_XBitmapCanvas_idl__
+#define __com_sun_star_rendering_XBitmapCanvas_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/geometry/RealRectangle2D.idl>
+#include <com/sun/star/rendering/RenderState.idl>
+#include <com/sun/star/rendering/XCanvas.idl>
+#include <com/sun/star/rendering/VolatileContentDestroyedException.idl>
+
+
+module com { module sun { module star { module rendering {
+
+/** This is a specialization of the canvas interface for bitmapped
+ canvases.<p>
+
+ This interface is a specialization of the canvas interface for
+ bitmapped canvases, where additional methods for accessing and
+ moving of bitmap content are provided.<p>
+
+ @since OOo 2.0
+ */
+interface XBitmapCanvas : XCanvas
+{
+ /** This method copies a rectangular area from a place of one
+ canvas to a place on another.<p>
+
+ This method copies a rectangular area from a place of one
+ canvas to a place on another. Source and destination areas are
+ permitted to overlap. If the source view or render state has a
+ clipping set, the regions clipped away from the source
+ rectangle are regarded fully transparent for the copy
+ operation. The device color for both source and destination
+ render state is ignored, the compositing mode only for the
+ source render state.<p>
+
+ @param sourceCanvas
+ Canvas from which to copy the bitmap data. Can be identical to
+ the canvas this method is called on, but must be valid.
+
+ @param sourceRect
+ Rectangle from which to copy the bitmap data. This rectangle
+ is subject to both view and render transformation, before
+ being applied. Thus, on screen, it does not necessarily
+ resemble a rectangle any more. The rectangle must be
+ non-empty, see
+ ::com::sun::star::geometry::RealRectangle2D
+ for details.
+
+ @param sourceViewState
+ The view state to apply to the source of this copy
+ operation. The view transformation must be non-singular.
+
+ @param sourceRenderState
+ The render state to apply to the source of this copy
+ operation. The render transformation must be non-singular, and
+ the compositing mode must be one of the
+ CompositingOperation values.
+
+ @param destRect
+ Rectangle into which to copy the bitmap data. This rectangle
+ is subject to both view and render transformation, before
+ being applied. Thus, on screen, it does not necessarily
+ resemble a rectangle any more. The rectangle must be
+ non-empty, see
+ ::com::sun::star::geometry::RealRectangle2D
+ for details.
+
+ @param destViewState
+ The view state to apply to the destination of this copy
+ operation. The view transformation must be non-singular.
+
+ @param destRenderState
+
+ The render state to apply to the destination of this copy
+ operation. The render transformation must be non-singular, and
+ the compositing mode must be one of the
+ CompositingOperation values.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if one of the parameters are not within the specified range.
+ */
+ void copyRect( [in] XBitmapCanvas sourceCanvas,
+ [in] ::com::sun::star::geometry::RealRectangle2D sourceRect, [in] ViewState sourceViewState, [in] RenderState sourceRenderState,
+ [in] ::com::sun::star::geometry::RealRectangle2D destRect, [in] ViewState destViewState, [in] RenderState destRenderState )
+ raises (com::sun::star::lang::IllegalArgumentException,
+ VolatileContentDestroyedException);
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/XBitmapPalette.idl b/offapi/com/sun/star/rendering/XBitmapPalette.idl
new file mode 100644
index 000000000..0f67a3500
--- /dev/null
+++ b/offapi/com/sun/star/rendering/XBitmapPalette.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_rendering_XBitmapPalette_idl__
+#define __com_sun_star_rendering_XBitmapPalette_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#include <com/sun/star/rendering/XColorSpace.idl>
+
+
+module com { module sun { module star { module rendering {
+
+/** Interface to access the palette of a color-indexed bitmap.
+
+ @since OOo 2.0
+ */
+interface XBitmapPalette : ::com::sun::star::uno::XInterface
+{
+ /** Request the number of palette entries available.
+
+ @return the number of entries in this palette.
+ */
+ long getNumberOfEntries();
+
+
+ /** Request the color for the given palette entry.
+
+ @param entry
+ Output parameter for the color components at the given palette
+ entry.
+
+ @param nIndex
+ The index of the palette entry to be retrieved. Valid range is
+ [0,getNumberOfEntries()-1].
+
+ @return `TRUE`, if the given palette entry should be displayed
+ opaque, and `FALSE` if the entry should be displayed
+ transparent. This is sometimes used for so-called mask
+ transparency, by flagging certain palette entries to be fully
+ transparent when displaying the bitmap.
+
+ @throws com::sun::star::lang::IndexOutOfBoundsException
+ if the index is smaller than zero or larger than
+ XBitmapPalette::getNumberOfEntries()-1.
+ */
+ boolean getIndex( [out] sequence<ColorComponent> entry, [in] long nIndex )
+ raises (com::sun::star::lang::IndexOutOfBoundsException);
+
+
+ /** Set the color for the given palette entry.
+
+ @param color
+ Sequence of device color values in the associated bitmap's
+ device color format.
+
+ @param transparency
+ When `TRUE`, the specified palette entry is displayed as
+ opaque color. When `FALSE`, the given entry displays as fully
+ transparent during output.
+
+ @param nIndex
+ The index of the palette entry to be changed. Valid range is
+ [0,getNumberOfEntries()-1].
+
+ @return whether the palette entry was changed. For read-only
+ entries, this method always returns `FALSE`.
+
+ @throws com::sun::star::lang::IndexOutOfBoundsException
+ if the index is smaller than zero or larger than
+ XBitmapPalette::getNumberOfEntries()-1.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the given sequence of color components does not match the
+ associated bitmap's device color format.
+ */
+ boolean setIndex( [in] sequence<ColorComponent> color, [in] boolean transparency, [in] long nIndex )
+ raises (com::sun::star::lang::IndexOutOfBoundsException,
+ com::sun::star::lang::IllegalArgumentException);
+
+
+ /** Query associated color space.<p>
+
+ @return the color space that is associated with this palette.
+ */
+ XColorSpace getColorSpace( );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/XBufferController.idl b/offapi/com/sun/star/rendering/XBufferController.idl
new file mode 100644
index 000000000..b9ddcf001
--- /dev/null
+++ b/offapi/com/sun/star/rendering/XBufferController.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_rendering_XBufferController_idl__
+#define __com_sun_star_rendering_XBufferController_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+module com { module sun { module star { module rendering {
+
+/** Interface providing access to double/multi-buffer facilities of
+ screen devices.<p>
+
+ This interface provides methods to enable and control
+ double/multi-buffering facilities on screen devices.<p>
+
+ @since OOo 2.0
+ */
+interface XBufferController : ::com::sun::star::uno::XInterface
+{
+ /** Create the given number of background buffers.<p>
+
+ There's one buffer implicitly available, which is the canvas
+ surface itself. Thus, calling <code>createBuffers(1)</code>
+ creates a double-buffered object.<p>
+
+ @param nBuffers
+ The number of background&lt;buffers requested. Must be greater
+ than 0.
+
+ @return the number of actually generated buffers, which might
+ be between 0 (no double-buffering available) and nBuffers.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if nBuffers is smaller than one.
+ */
+ long createBuffers( [in] long nBuffers )
+ raises (com::sun::star::lang::IllegalArgumentException);
+
+
+ /** Destroy all buffers generated via this object.
+ */
+ void destroyBuffers();
+
+
+ /** Switch the display to show the specified buffer.<p>
+
+ The method returns, when the switch is performed and the
+ selected buffer is shown on screen, or immediately when an
+ error occurs. If the switch was successful, subsequent render
+ operations will be directed to the new backbuffer.<p>
+
+ Use this method if you need your screen display to be in sync
+ with other things, e.g. sound playback.<p>
+
+ @param bUpdateAll
+ When `TRUE`, update the whole screen. When `FALSE`,
+ implementation is permitted to restrict update to areas the
+ canvas itself changed (e.g. because of render operations, or
+ changes on the sprites). The former is useful for updates
+ after window expose events, the latter for animation display.
+
+ @return whether the switch was performed successfully.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if nBuffer is outside the permissible range.
+ */
+ boolean showBuffer( [in] boolean bUpdateAll );
+
+
+ /** Schedule the display of the specified buffer.<p>
+
+ The method returns, when the switching of the buffer is
+ successfully scheduled, or immediately when an error
+ occurs. If the switch was successful, subsequent render
+ operations will be directed to the new backbuffer. Note that,
+ if the buffer switching is exceedingly slow, or the frequency
+ of switchBuffer() is exceedingly high, the buffer scheduled
+ for display here might become the current render target
+ <em>before</em> it is fully displayed on screen. In this case,
+ any rendering operation to this buffer will block, until it is
+ safe to perform the operation without visible cluttering.<p>
+
+ Use this method if you favor maximal render speed, but don't
+ necessarily require your screen display to be in sync with
+ other things, e.g. sound playback.<p>
+
+ @param bUpdateAll
+ When `TRUE`, update the whole screen. When `FALSE`,
+ implementation is permitted to restrict update to areas the
+ canvas itself changed (e.g. because of render operations, or
+ changes on the sprites). The former is useful for updates
+ after window expose events, the latter for animation display.
+
+ @return whether the switch was performed successfully.
+ */
+ boolean switchBuffer( [in] boolean bUpdateAll );
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/XCachedPrimitive.idl b/offapi/com/sun/star/rendering/XCachedPrimitive.idl
new file mode 100644
index 000000000..ace6d7363
--- /dev/null
+++ b/offapi/com/sun/star/rendering/XCachedPrimitive.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_rendering_XCachedPrimitive_idl__
+#define __com_sun_star_rendering_XCachedPrimitive_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/rendering/ViewState.idl>
+
+module com { module sun { module star { module rendering {
+
+/** Interface for cached repaint of already drawn XCanvas
+ primitives.<p>
+
+ This interface provides a method to quickly redraw some
+ XCanvas primitives, using cached data.<p>
+
+ @since OOo 2.0
+ */
+interface XCachedPrimitive : ::com::sun::star::uno::XInterface
+{
+ /** Redraw the cached primitive.<p>
+
+ Redraw the cached primitive, with a possibly new view state.<p>
+
+ @param aState
+ The view state to be used when redrawing the primitive. The
+ view state is of course permitted to differ from the one used
+ for initial rendering.
+
+ @return a value of type RepaintResult, denoting
+ the result of this operation.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the view transformation matrix is singular.
+ */
+ byte redraw( [in] ViewState aState )
+ raises (com::sun::star::lang::IllegalArgumentException);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/XCanvas.idl b/offapi/com/sun/star/rendering/XCanvas.idl
new file mode 100644
index 000000000..e393854b7
--- /dev/null
+++ b/offapi/com/sun/star/rendering/XCanvas.idl
@@ -0,0 +1,666 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_rendering_XCanvas_idl__
+#define __com_sun_star_rendering_XCanvas_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/geometry/RealPoint2D.idl>
+#include <com/sun/star/geometry/RealBezierSegment2D.idl>
+#include <com/sun/star/geometry/RealRectangle2D.idl>
+#include <com/sun/star/geometry/Matrix2D.idl>
+#include <com/sun/star/rendering/ViewState.idl>
+#include <com/sun/star/rendering/RenderState.idl>
+#include <com/sun/star/rendering/FontRequest.idl>
+#include <com/sun/star/rendering/FontInfo.idl>
+#include <com/sun/star/rendering/Texture.idl>
+#include <com/sun/star/rendering/StringContext.idl>
+#include <com/sun/star/rendering/StrokeAttributes.idl>
+#include <com/sun/star/rendering/VolatileContentDestroyedException.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+
+
+module com { module sun { module star { module geometry {
+ interface XMapping2D;
+}; }; }; };
+
+module com { module sun { module star { module rendering {
+
+interface XCanvasFont;
+interface XPolyPolygon2D;
+interface XCachedPrimitive;
+interface XBitmap;
+interface XGraphicDevice;
+interface XTextLayout;
+
+/** Central interface for rendering.<p>
+
+ This is the central interface for graphical output production, and
+ the place where all draw methods are located.<p>
+
+ Some notes are in order to explain the concepts used here. The
+ XCanvas interface is free of client-modifiable state,
+ i.e. it can be used safely and without external synchronization in
+ a multi-threaded environment. On the other hand, this implies that
+ for nearly every canvas operation, external state is
+ required. This is provided by ViewState and
+ RenderState in a unified fashion, supplemented by a
+ few extra state parameters for some methods (e.g. textured
+ polygons or text rendering).<p>
+
+ When used careless, this scheme can be inefficient to some extend,
+ because internally, view, render and other states have to be
+ combined before rendering. This is especially expensive for
+ complex clip polygons, i.e. when both ViewState and
+ RenderState have a complex clip polygon set, which
+ have to be intersected before rendering. It is therefore
+ recommended to combine ViewState and
+ RenderState already at the client side, when objects
+ are organized in a hierarchical way: the classic example are
+ grouped draw shapes, whose parent group object imposes a
+ common clipping and a common transformation on its siblings. The
+ group object would therefore merge the ViewState and
+ the RenderState it is called with into a new
+ ViewState, and call its siblings with a
+ RenderState containing only the local offset (and no
+ extra clipping).<p>
+
+ Further on, this stateless nature provides easy ways for
+ caching. Every non-trivial operation on XCanvas can
+ return a cache object, which, when called to redraw, renders the
+ primitive usually much more quickly than the original method. Note
+ that such caching is a lot more complicated, should the actual
+ rendering a method yields depend on internal state (which is the
+ case e.g. for the
+ ::com::sun::star::awt::XGraphics
+ interface). Please note, though, that deciding whether to return
+ an XCachedPrimitive is completely up to the
+ implementation - don't rely on the methods returning something
+ (this is because there might be cases when returning such a cache
+ object will actually be a pessimization, since it involves memory
+ allocation and comparisons).<p>
+
+ Things that need more than a small, fixed amount of data are
+ encapsulated in own interfaces, e.g. polygons and bitmaps. You
+ can, in principle, roll your own implementations of these
+ interfaces, wrap it around your internal representation of
+ polygons and bitmaps, and render them. It might just not be overly
+ fast, because the XCanvas would need to convert for
+ each render call. It is therefore recommended to create such
+ objects via the XGraphicDevice factory (to be
+ retrieved from every canvas object via the
+ getDevice() call) - they will then internally
+ optimize to the underlying graphics subsystem.<p>
+
+ @since OOo 2.0
+ */
+interface XCanvas : ::com::sun::star::uno::XInterface
+{
+ /** Clear the whole canvas area.<p>
+
+ This method clears the whole canvas area to the device default
+ color (e.g. white for a printer, transparent for an
+ XCustomSprite).
+ */
+ void clear();
+
+ /** Draw a point in device resolution on the device.
+
+ @param aPoint
+ The point to draw.
+
+ @param aViewState
+ The view state to be used when drawing this point.
+
+ @param aRenderState
+ The render state to be used when drawing this point.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if one of the view and render state parameters are outside the
+ specified range.
+ */
+ void drawPoint( [in] ::com::sun::star::geometry::RealPoint2D aPoint, [in] ViewState aViewState, [in] RenderState aRenderState )
+ raises (com::sun::star::lang::IllegalArgumentException);
+
+
+ /** Draw a line in device resolution width (i.e. one device pixel
+ wide).
+
+ @param aStartPoint
+ The start point of the line to draw.
+
+ @param aEndPoint
+ The end point of the line to draw.
+
+ @param aViewState
+ The view state to be used when drawing this line.
+
+ @param aRenderState
+ The render state to be used when drawing this line.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if one of the view and render state parameters are outside the
+ specified range.
+ */
+ void drawLine( [in] ::com::sun::star::geometry::RealPoint2D aStartPoint, [in] ::com::sun::star::geometry::RealPoint2D aEndPoint, [in] ViewState aViewState, [in] RenderState aRenderState )
+ raises (com::sun::star::lang::IllegalArgumentException);
+
+
+ /** Draw a cubic Bezier curve in device resolution width (i.e. one
+ device pixel wide).
+
+ @param aBezierSegment
+ The start and the two control points of the Bezier curve.
+
+ @param aEndPoint
+ The end point of the Bezier curve.
+
+ @param aViewState
+ The view state to be used when drawing this curve.
+
+ @param aRenderState
+ The render state to be used when drawing this curve.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if one of the view and render state parameters are outside the
+ specified range.
+ */
+ void drawBezier( [in] ::com::sun::star::geometry::RealBezierSegment2D aBezierSegment, [in] ::com::sun::star::geometry::RealPoint2D aEndPoint, [in] ViewState aViewState, [in] RenderState aRenderState )
+ raises (com::sun::star::lang::IllegalArgumentException);
+
+
+ /** Draw a poly-polygon in device resolution line width (i.e. the
+ lines are one device pixel wide).
+
+ @param xPolyPolygon
+ The poly-polygon to draw.
+
+ @param aViewState
+ The view state to be used when drawing this polygon.
+
+ @param aRenderState
+ The render state to be used when drawing this polygon.
+
+ @return a handle to the cached rendering output.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if one of the view and render state parameters are outside the
+ specified range.
+ */
+ XCachedPrimitive drawPolyPolygon( [in] XPolyPolygon2D xPolyPolygon, [in] ViewState aViewState, [in] RenderState aRenderState )
+ raises (com::sun::star::lang::IllegalArgumentException);
+
+
+ /** Stroke each polygon of the provided poly-polygon with the
+ specified stroke attributes.<p>
+
+ This method considers the stroking of all polygons as an
+ atomic operation in relation to the RenderState's
+ CompositeOperationy operation. That means,
+ overlapping strokes from distinct polygons will look exactly
+ as overlapping segments of the same polygon, even with
+ transparency.<p>
+
+ @param xPolyPolygon
+ The poly-polygon to render.
+
+ @param aViewState
+ The view state to be used when stroking this polygon.
+
+ @param aRenderState
+ The render state to be used when stroking this polygon.
+
+ @param aStrokeAttributes
+ Further attributes used to parameterize the stroking.
+
+ @return a handle to the cached rendering output.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if one of the view and render state parameters are outside the
+ specified range.
+ */
+ XCachedPrimitive strokePolyPolygon( [in] XPolyPolygon2D xPolyPolygon, [in] ViewState aViewState, [in] RenderState aRenderState, [in] StrokeAttributes aStrokeAttributes )
+ raises (com::sun::star::lang::IllegalArgumentException);
+
+
+ /** Stroke each polygon of the provided poly-polygon with the
+ specified stroke attributes, fill the stroked outline
+ with the specified texture graphics.<p>
+
+ This method considers the stroking of all polygons as an
+ atomic operation in relation to the RenderState's
+ CompositeOp operation. That means, overlapping
+ strokes from distinct polygons will look exactly as
+ overlapping segments of the same polygon, even with
+ transparency.<p>
+
+ @param xPolyPolygon
+ The poly-polygon to render.
+
+ @param aViewState
+ The view state to be used when strokes this polygon.
+
+ @param aRenderState
+ The render state to be used when stroking this polygon.
+
+ @param aTextures
+ A sequence of texture definitions, with which to fill the
+ stroked area.
+
+ @param aStrokeAttributes
+ Further attributes used to parameterize the stroking.
+
+ @return a handle to the cached rendering output.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if one of the view and render state parameters are outside the
+ specified range.
+
+ @throws VolatileContentDestroyedException
+ if a texture bitmap was volatile, and the content was
+ destroyed before the rendering could take place.
+ */
+ XCachedPrimitive strokeTexturedPolyPolygon( [in] XPolyPolygon2D xPolyPolygon, [in] ViewState aViewState, [in] RenderState aRenderState, [in] sequence<Texture> aTextures, [in] StrokeAttributes aStrokeAttributes )
+ raises (com::sun::star::lang::IllegalArgumentException,
+ VolatileContentDestroyedException);
+
+
+ /** Stroke each polygon of the provided poly-polygon with the
+ specified stroke attributes, fill the stroked outline
+ with the specified texture graphics, map the texture to the
+ outline via the specified texture mapping.<p>
+
+ This method considers the stroking of all polygons as an
+ atomic operation in relation to the RenderState's
+ CompositeOp operation. That means, overlapping
+ strokes from distinct polygons will look exactly as
+ overlapping segments of the same polygon, even with
+ transparency.
+
+ @param xPolyPolygon
+ The poly-polygon to render.
+
+ @param aViewState
+ The view state to be used when stroking this polygon.
+
+ @param aRenderState
+ The render state to be used when stroking this polygon.
+
+ @param aTextures
+ A sequence of texture definitions, with which to fill the
+ stroked area.
+
+ @param xMapping
+ A bilinear mapping function which defines the warping of the
+ textures on the output area.
+
+ @param aStrokeAttributes
+ Further attributes used to parameterize the stroking.
+
+ @return a handle to the cached rendering output.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if one of the view and render state parameters are outside the
+ specified range.
+
+ @throws VolatileContentDestroyedException
+ if a texture bitmap was volatile, and the content was
+ destroyed before the rendering could take place.
+ */
+ XCachedPrimitive strokeTextureMappedPolyPolygon( [in] XPolyPolygon2D xPolyPolygon, [in] ViewState aViewState, [in] RenderState aRenderState, [in] sequence<Texture> aTextures, [in] ::com::sun::star::geometry::XMapping2D xMapping, [in] StrokeAttributes aStrokeAttributes )
+ raises (com::sun::star::lang::IllegalArgumentException,
+ VolatileContentDestroyedException);
+
+
+ // [TODO: Method misplaced at this interface?]
+
+ /** Query the polygonal representation of the stroke outlines, as
+ it would be generated by the strokePolyPolygon methods.<p>
+
+ This method can be used to e.g. set a clipping which covers the same
+ area as a stroke.<p>
+
+ @param xPolyPolygon
+ The poly-polygon to render.
+
+ @param aViewState
+ The view state to be used when generating the outline.
+
+ @param aRenderState
+ The render state to be used when generating the outline.
+
+ @param aStrokeAttributes
+ Further attributes used to parameterize the stroking.
+
+ @return a poly-polygon describing the outline of the stroked
+ area.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if one of the view and render state parameters are outside the
+ specified range.
+ */
+ XPolyPolygon2D queryStrokeShapes( [in] XPolyPolygon2D xPolyPolygon, [in] ViewState aViewState, [in] RenderState aRenderState, [in] StrokeAttributes aStrokeAttributes )
+ raises (com::sun::star::lang::IllegalArgumentException);
+
+
+ /** Fill the given poly-polygon.<p>
+
+ This method fills the given poly-polygon according to the
+ RenderState's color and the poly-polygon's fill
+ rule.<p>
+
+ @param xPolyPolygon
+ The poly-polygon to render.
+
+ @param aViewState
+ The view state to be used when filling this polygon.
+
+ @param aRenderState
+ The render state to be used when filling this polygon.
+
+ @return a handle to the cached rendering output.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if one of the view and render state parameters are outside the
+ specified range.
+ */
+ XCachedPrimitive fillPolyPolygon( [in] XPolyPolygon2D xPolyPolygon, [in] ViewState aViewState, [in] RenderState aRenderState )
+ raises (com::sun::star::lang::IllegalArgumentException);
+
+
+ /** Fill the given poly-polygon with a texture.<p>
+
+ This method fills the given poly-polygon according to the
+ RenderState's color, the given textures and
+ poly-polygon's fill rule.<p>
+
+ @param xPolyPolygon
+ The poly-polygon to render.
+
+ @param aViewState
+ The view state to be used when filling this polygon.
+
+ @param aRenderState
+ The render state to be used when filling this polygon.
+
+ @param xTextures
+ A sequence of texture definitions, with which to fill the
+ polygonal area.
+
+ @return a handle to the cached rendering output.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if one of the view and render state parameters are outside the
+ specified range.
+
+ @throws VolatileContentDestroyedException
+ if a texture bitmap was volatile, and the content was
+ destroyed before the rendering could take place.
+ */
+ XCachedPrimitive fillTexturedPolyPolygon( [in] XPolyPolygon2D xPolyPolygon, [in] ViewState aViewState, [in] RenderState aRenderState, [in] sequence<Texture> xTextures )
+ raises (com::sun::star::lang::IllegalArgumentException,
+ VolatileContentDestroyedException);
+
+
+ /** Fill the given poly-polygon with a mapped texture.<p>
+
+ This method fills the given poly-polygon according to the
+ RenderState's color, the given textures and
+ poly-polygon's fill rule. The texture is mapped to the
+ poly-polygon's interior via the given texture mapping.<p>
+
+ @param xPolyPolygon
+ The poly-polygon to render.
+
+ @param aViewState
+ The view state to be used when filling this polygon.
+
+ @param aRenderState
+ The render state to be used when filling this polygon.
+
+ @param xTextures
+ A sequence of texture definitions, with which to fill the
+ polygonal area.
+
+ @param xMapping
+ A bilinear mapping function which defines the warping of the
+ textures on the output area.
+
+ @return a handle to the cached rendering output.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if one of the view and render state parameters are outside the
+ specified range.
+
+ @throws VolatileContentDestroyedException
+ if a texture bitmap was volatile, and the content was
+ destroyed before the rendering could take place.
+ */
+ XCachedPrimitive fillTextureMappedPolyPolygon( [in] XPolyPolygon2D xPolyPolygon, [in] ViewState aViewState, [in] RenderState aRenderState, [in] sequence<Texture> xTextures, [in] ::com::sun::star::geometry::XMapping2D xMapping )
+ raises (com::sun::star::lang::IllegalArgumentException,
+ VolatileContentDestroyedException);
+
+
+ /** Create a suitable font for the specified font description.
+
+ @param aFontRequest
+
+ @param aExtraFontProperties
+ Additional font properties to be applied when selecting this
+ font. Normally, you should not need this parameter. Currently,
+ the following property is recognized:
+
+ - EmphasisMark: long integer that represents the emphasis mark.
+ @see ::com::sun::star::awt::FontEmphasisMark
+
+ @param aFontMatrix
+ Font-specific transformation matrix, which affects both the
+ glyphs as well as the advancement.
+
+ @returns the requested font, or an invalid reference, if the
+ request failed.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if one of the parameters is not within the allowed range.
+ */
+ XCanvasFont createFont( [in] FontRequest aFontRequest, [in] sequence< ::com::sun::star::beans::PropertyValue > aExtraFontProperties, [in] ::com::sun::star::geometry::Matrix2D aFontMatrix )
+ raises (com::sun::star::lang::IllegalArgumentException);
+
+
+ /** Query font information, specific to this canvas.<p>
+
+ @param aFilter
+ Filter parameter to reduce the list of returned fonts. Every
+ member of FontInfo that is not the empty string
+ or the "don't care" value restricts the list of returned fonts
+ to contain only those that have the specified attribute.
+
+ @param aFontProperties
+ This interface can provide additional font properties to
+ filter the list of available fonts against.
+
+ @returns the list of fonts matching the filter set.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if one of the font properties are invalid or not recognized,
+ or if one of the FontInfo members is not within
+ the permitted range.
+ */
+ sequence< FontInfo > queryAvailableFonts( [in] FontInfo aFilter, [in] sequence< ::com::sun::star::beans::PropertyValue > aFontProperties )
+ raises (com::sun::star::lang::IllegalArgumentException);
+
+
+ /** Draw the text given by the substring of the specified string
+ with the given font.<p>
+
+ The local origin of this output operation is either the left
+ end of the text baseline, for textDirection equal
+ LEFT_TO_RIGHT, or the right end of the baseline, for
+ textDirection equal to RIGHT_TO_LEFT, respectively.<p>
+
+ @param aText
+ The text to output.
+
+ @param xFont
+ The font retrieved from this canvas to be used when drawing
+ the text.
+
+ @param aViewState
+ The view state to be used when drawing this text.
+
+ @param aRenderState
+ The render state to be used when drawing this text.
+
+ @param nTextDirection
+ A value from the TextDirection collection,
+ denoting the main writing direction for this string. The main
+ writing direction determines the origin of the text output,
+ i.e. the left edge for left-to-right and the right edge for
+ right-to-left text.
+
+ @return a handle to the cached rendering output.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if one of the view and render state parameters are outside the
+ specified range.
+ */
+ XCachedPrimitive drawText( [in] StringContext aText, [in] XCanvasFont xFont, [in] ViewState aViewState, [in] RenderState aRenderState, [in] byte nTextDirection )
+ raises (com::sun::star::lang::IllegalArgumentException);
+
+
+ /** Draw the formatted text given by the text layout.<p>
+
+ The glyphs as represented by the text layout are always output
+ with the reference position being the leftmost edge of the
+ layout object's baseline. If the layout contains more than one
+ baseline, the baseline of the first strong character in
+ logical order is used here (strong in this context means that
+ the character can be unambiguously assigned to a Unicode
+ script).<p>
+
+ @param xLayoutetText
+ An interface to the readily layouted text, obtained from a
+ XCanvasFont created at this canvas. The text
+ layout already carries intrinsic font information.
+
+ @param aViewState
+ The view state to be used when drawing this text.
+
+ @param aRenderState
+ The render state to be used when drawing this text.
+
+ @return a handle to the cached rendering output.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if one of the view and render state parameters are outside the
+ specified range.
+ */
+ XCachedPrimitive drawTextLayout( [in] XTextLayout xLayoutetText, [in] ViewState aViewState, [in] RenderState aRenderState )
+ raises (com::sun::star::lang::IllegalArgumentException);
+
+
+ /** Render the given bitmap.<p>
+
+ This method renders the bitmap, at a position and shape as
+ specified by the combined view and render transformations. For
+ fast render speed, the bitmap should be created by the
+ corresponding XGraphicDevice's
+ XGraphicDevice::createCompatibleBitmap()
+ method.<p>
+
+ @param xBitmap
+ The bitmap to render.
+
+ @param aViewState
+ The view state to be used when drawing this text.
+
+ @param aRenderState
+ The render state to be used when drawing this text.
+
+ @return a handle to the cached rendering output.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if one of the view and render state parameters are outside the
+ specified range.
+
+ @throws VolatileContentDestroyedException
+ if a texture bitmap was volatile, and the content was
+ destroyed before the rendering could take place.
+ */
+ XCachedPrimitive drawBitmap( [in] XBitmap xBitmap, [in] ViewState aViewState, [in] RenderState aRenderState )
+ raises (com::sun::star::lang::IllegalArgumentException,
+ VolatileContentDestroyedException);
+
+ /** Render the given bitmap, with a global color modulation.<p>
+
+ This method renders the bitmap, at a position and shape as
+ specified by the combined view and render transformations. For
+ fast render speed, the bitmap should be created by the
+ corresponding XGraphicDevice's
+ XGraphicDevice::createCompatibleBitmap()
+ method. The bitmap's color channel values are multiplied with
+ the device color values as specified in the render state.<p>
+
+ @param xBitmap
+ The bitmap to render.
+
+ @param aViewState
+ The view state to be used when drawing this text.
+
+ @param aRenderState
+ The render state to be used when drawing this text. The device
+ color entry in the render state is multiplied with every pixel
+ color value, and only the result is rendered into the
+ canvas. If, for example, the bitmap should be rendered with
+ increased global transparency, set all device color channels
+ to 1.0, except for the alpha channel, which should be set to
+ the desired transparency.
+
+ @return a handle to the cached rendering output.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if one of the view and render state parameters are outside the
+ specified range.
+
+ @throws VolatileContentDestroyedException
+ if a texture bitmap was volatile, and the content was
+ destroyed before the rendering could take place.
+ */
+ XCachedPrimitive drawBitmapModulated( [in] XBitmap xBitmap, [in] ViewState aViewState, [in] RenderState aRenderState )
+ raises (com::sun::star::lang::IllegalArgumentException,
+ VolatileContentDestroyedException);
+
+
+ /** Request the associated graphic device for this canvas.<p>
+
+ A graphic device provides methods specific to the underlying
+ output device capabilities, which are common for all canvases
+ rendering to such a device. This includes device resolution,
+ color space, or bitmap formats.
+
+ @return the associated XGraphicDevice.
+ */
+ XGraphicDevice getDevice();
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/XCanvasFont.idl b/offapi/com/sun/star/rendering/XCanvasFont.idl
new file mode 100644
index 000000000..d8b62f424
--- /dev/null
+++ b/offapi/com/sun/star/rendering/XCanvasFont.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_rendering_XCanvasFont_idl__
+#define __com_sun_star_rendering_XCanvasFont_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/geometry/RealRectangle2D.idl>
+#include <com/sun/star/rendering/FontRequest.idl>
+#include <com/sun/star/rendering/FontMetrics.idl>
+#include <com/sun/star/rendering/RenderState.idl>
+#include <com/sun/star/rendering/ViewState.idl>
+#include <com/sun/star/rendering/StringContext.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+
+
+module com { module sun { module star { module rendering {
+
+interface XCanvas;
+interface XTextLayout;
+interface XPolyPolygon2D;
+
+/** This interface provides access to a specific, XCanvas-dependent
+ font incarnation. This font is not universally usable, but belongs
+ to the XCanvas it was queried from.
+ */
+interface XCanvasFont : ::com::sun::star::uno::XInterface
+{
+ /** Create a text layout interface.<p>
+
+ Create a text layout interface for the given string, using
+ this font to generate the glyphs from.<p>
+
+ @param aText
+ The text to layout.
+
+ @param nDirection
+ Main text direction for the string specified. The main text
+ direction is e.g. important for characters that are not
+ strong, i.e. that change affinity according to the current
+ writing direction. Make sure that across text portions and
+ lines, the direction is set consistently.
+
+ @param nRandomSeed
+ Optional random seed for OpenType glyph variations.
+ */
+ XTextLayout createTextLayout( [in] StringContext aText, [in] byte nDirection, [in] hyper nRandomSeed );
+
+
+ /** Query the FontRequest that was used to generate this object.
+ */
+ FontRequest getFontRequest();
+
+
+ /** Query metric information about the font, that is generic to
+ all its glyphs.<p>
+
+ Note that the metric values in the returned result are in the
+ font coordinate system, i.e. relative to the corresponding
+ size of this font. That is, when this font was created with a
+ cell size of 20 units, the metrics returned are calculated
+ relative to this size.
+ */
+ FontMetrics getFontMetrics();
+
+
+ /** Query the list of available font sizes.<p>
+
+ This method queries the list of available font sizes (in
+ device units) for this font. For scalable fonts that are not
+ restricted to discrete sizes, this list is <em>empty</em>,
+ meaning that every size is possible. Fonts that <em>do</em>
+ restrict the device size to certain discrete values, setting
+ an overall transformation that scales the
+ FontRequest::CellSize to something not
+ contained in the list returned by this method can lead to
+ visible disturbances.<p>
+ */
+ sequence< double > getAvailableSizes();
+
+
+ /** Query the list of additional font properties.<p>
+ */
+ sequence< ::com::sun::star::beans::PropertyValue > getExtraFontProperties();
+
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/XColorSpace.idl b/offapi/com/sun/star/rendering/XColorSpace.idl
new file mode 100644
index 000000000..12d9c2705
--- /dev/null
+++ b/offapi/com/sun/star/rendering/XColorSpace.idl
@@ -0,0 +1,244 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_rendering_XColorSpace_idl__
+#define __com_sun_star_rendering_XColorSpace_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/rendering/ColorProfile.idl>
+#include <com/sun/star/rendering/ColorComponent.idl>
+#include <com/sun/star/rendering/RGBColor.idl>
+#include <com/sun/star/rendering/ARGBColor.idl>
+
+module com { module sun { module star { module rendering {
+
+/** Information how to interpret certain color data.<p>
+
+ This interface encapsulates all information that is necessary to
+ interpret color data, by defining a describing color space, like
+ for example CMYK or sRGB. You can either convert between this and
+ an arbitrary other color space, or into the standard RGB or ARGB
+ formats (because those are so overwhelmingly common in computer
+ graphics).<p>
+
+ All canvas interfaces standardize to sequences of IEEE doubles for
+ color representation. As this is overly verbose when used for
+ bitmap data, derived interfaces exist,
+ e.g. XIntegerBitmapColorSpace, which use sequences of
+ integers for color representation.<p>
+ */
+interface XColorSpace
+{
+ /** Query type of this color space.<p>
+
+ @return a value from the ColorSpaceType constant
+ group.
+ */
+ byte getType();
+
+ /** Query the kind for each color component.<p>
+
+ Color space components tend to correspond to physical
+ attributes like the amount of one specific colorant contained
+ in the final output color. This method returns a sequence of
+ tags, specifying for each component of a color value, to what
+ color attribute (if any) it corresponds. The values must be
+ one of the ColorComponentTag constants.<p>
+
+ At the same time, the number of elements in this sequence
+ corresponds to the number of color channels for this color
+ space.<p>
+
+ @remark For the standard RGB color space, ComponentTags
+ consists of three elements, containing RGB_RED, RGB_GREEN and
+ RGB_BLUE tags, respectively
+ */
+ sequence<byte> getComponentTags();
+
+ /** Query rendering intent of this color space.<p>
+
+ @return a value from the RenderingIntent constant
+ group.
+ */
+ byte getRenderingIntent();
+
+ /** Query various optional properties from the color space.<p>
+
+ If this color space has an ICC color profile, the sequence
+ contains an element named ICCProfile. Some color spaces also
+ have properties Gamma, Whitepoint and Blackpoint. Background
+ information for these is available <a
+ href="http://en.wikipedia.org/wiki/Color_temperature">here</a>.
+ */
+ sequence< ::com::sun::star::beans::PropertyValue > getProperties();
+
+
+
+ /** Convert to color of another color space.<p>
+
+ @param deviceColor Sequence of device color components. Is
+ permitted to contain more than one device color element,
+ therefore, batch conversion of multiple color values is
+ possible.
+
+ @param targetColorSpace the color space to convert to.
+
+ @return the corresponding sequence of device colors in the
+ target color space (e.g. `sequence<double>` or
+ `sequence<byte>`).
+
+ @throws a
+ com::sun::star::lang::IllegalArgumentException,
+ if the input sequence does not match the device color format
+ (e.g. if the number of components is wrong)
+ */
+ sequence<ColorComponent> convertColorSpace( [in] sequence<ColorComponent> deviceColor, [in] XColorSpace targetColorSpace )
+ raises (com::sun::star::lang::IllegalArgumentException);
+
+ /** Convert color value in this color space to sRGB color values.<p>
+
+ Any information not representable in the RGBColor
+ struct is discarded during the conversion. This includes alpha
+ information.
+
+ @param deviceColor Sequence of device color components. Is
+ permitted to contain more than one device color element,
+ therefore, batch conversion of multiple color values is
+ possible.
+
+ @return the corresponding sequence of colors in the sRGB color
+ space.
+
+ @throws a
+ com::sun::star::lang::IllegalArgumentException,
+ if the input sequence does not match the device color format.
+
+ @see convertToARGB()
+ */
+ sequence<RGBColor> convertToRGB( [in] sequence<ColorComponent> deviceColor )
+ raises (com::sun::star::lang::IllegalArgumentException);
+
+ /** Convert color value in this color space to sRGB color values, with linear alpha.<p>
+
+ If the given input color does not carry alpha information, an
+ alpha value of 1.0 (fully opaque) is assumed.
+
+ @param deviceColor Sequence of device color components. Is
+ permitted to contain more than one device color element,
+ therefore, batch conversion of multiple color values is
+ possible.
+
+ @return the corresponding sequence of colors in the sRGB color
+ space.
+
+ @throws a
+ com::sun::star::lang::IllegalArgumentException,
+ if the input sequence does not match the device color format.
+ */
+ sequence<ARGBColor> convertToARGB( [in] sequence<ColorComponent> deviceColor )
+ raises (com::sun::star::lang::IllegalArgumentException);
+
+ /** Convert color value in this color space to premultiplied sRGB
+ color values, with linear alpha.<p>
+
+ If the given input color does not carry alpha information, an
+ alpha value of 1.0 (fully opaque) is assumed. The resulting
+ individual RGB color values are premultiplied by the alpha
+ value (e.g. if alpha is 0.5, each color value has only half of
+ the original intensity).<p>
+
+ @param deviceColor Sequence of device color components. Is
+ permitted to contain more than one device color element,
+ therefore, batch conversion of multiple color values is
+ possible.
+
+ @return the corresponding sequence of colors in the sRGB color
+ space.
+
+ @throws a
+ com::sun::star::lang::IllegalArgumentException,
+ if the input sequence does not match the device color format.
+ */
+ sequence<ARGBColor> convertToPARGB( [in] sequence<ColorComponent> deviceColor )
+ raises (com::sun::star::lang::IllegalArgumentException);
+
+ /** Convert sRGB color to a representation in this color space.<p>
+
+ If this color space conveys alpha information, it is assumed
+ be fully opaque for the given RGB color value.
+
+ @param rgbColor Sequence of sRGB color components. Is
+ permitted to contain more than one color element, therefore,
+ batch conversion of multiple color values is possible.
+
+ @return the corresponding sequence of device colors.
+
+ @throws a
+ com::sun::star::lang::IllegalArgumentException,
+ if the input sequence does not match the device color format.
+ */
+ sequence<ColorComponent> convertFromRGB( [in] sequence<RGBColor> rgbColor )
+ raises (com::sun::star::lang::IllegalArgumentException);
+
+ /** Convert sRGB color with linear alpha into this color space.<p>
+
+ If this color space does not convey alpha information, the
+ specified alpha value is silently ignored.
+
+ @param rgbColor Sequence of sRGB color components. Is
+ permitted to contain more than one color element, therefore,
+ batch conversion of multiple color values is possible.
+
+ @return the corresponding sequence of device colors.
+
+ @throws a
+ com::sun::star::lang::IllegalArgumentException,
+ if the input sequence does not match the device color format.
+ */
+ sequence<ColorComponent> convertFromARGB( [in] sequence<ARGBColor> rgbColor )
+ raises (com::sun::star::lang::IllegalArgumentException);
+
+ /** Convert premultiplied sRGB color with linear alpha into this
+ color space.<p>
+
+ If this color space does not convey alpha information, the
+ specified alpha value is silently ignored.
+
+ @param rgbColor Sequence of sRGB color components. Is
+ permitted to contain more than one color element, therefore,
+ batch conversion of multiple color values is possible. The
+ individual color values are assumed to be premultiplied by the
+ alpha value.
+
+ @return the corresponding sequence of device colors.
+
+ @throws a
+ com::sun::star::lang::IllegalArgumentException,
+ if the input sequence does not match the device color format.
+ */
+ sequence<ColorComponent> convertFromPARGB( [in] sequence<ARGBColor> rgbColor )
+ raises (com::sun::star::lang::IllegalArgumentException);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/XCustomSprite.idl b/offapi/com/sun/star/rendering/XCustomSprite.idl
new file mode 100644
index 000000000..75b9bfa78
--- /dev/null
+++ b/offapi/com/sun/star/rendering/XCustomSprite.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_rendering_XCustomSprite_idl__
+#define __com_sun_star_rendering_XCustomSprite_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/rendering/ViewState.idl>
+#include <com/sun/star/rendering/RenderState.idl>
+#include <com/sun/star/rendering/XSprite.idl>
+
+module com { module sun { module star { module rendering {
+
+interface XCanvas;
+
+/** Interface to control a custom sprite object on a XSpriteCanvas.<p>
+
+ Every change performed on XCustomSprite objects is only visible
+ after a XSpriteCanvas::updateScreen() call, to facilitate
+ synchronized screen updates.
+
+ TODO: Maybe more than alpha has to be overridden from render state.
+ TODO: Provide means to change the output area
+ */
+interface XCustomSprite : XSprite
+{
+
+ /** Query a render canvas for this sprite's content.<p>
+
+ Whatever is rendered to this canvas will become visible on the
+ screen only after a XSpriteCanvas::updateScreen() call at the
+ associated sprite canvas. This canvas is not equivalent to the
+ host canvas of the sprite. At the very least, all output
+ happens relative to the sprite's upper left corner, i.e. the
+ origin of the sprite's canvas device coordinate system will
+ move with the sprite across the screen.
+
+ @return the canvas the sprite content can be rendered into.
+ */
+ XCanvas getContentCanvas();
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/XGraphicDevice.idl b/offapi/com/sun/star/rendering/XGraphicDevice.idl
new file mode 100644
index 000000000..a91becfe2
--- /dev/null
+++ b/offapi/com/sun/star/rendering/XGraphicDevice.idl
@@ -0,0 +1,267 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_rendering_XGraphicDevice_idl__
+#define __com_sun_star_rendering_XGraphicDevice_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/geometry/IntegerSize2D.idl>
+#include <com/sun/star/geometry/RealSize2D.idl>
+#include <com/sun/star/rendering/XLinePolyPolygon2D.idl>
+#include <com/sun/star/rendering/XBezierPolyPolygon2D.idl>
+#include <com/sun/star/rendering/XColorSpace.idl>
+#include <com/sun/star/lang/XMultiServiceFactory.idl>
+
+module com { module sun { module star { module rendering {
+
+interface XBitmap;
+interface XVolatileBitmap;
+interface XBufferController;
+
+/* TODO: There's obviously a concept called window missing here, where
+ methods such as bufferController, fullscreen mode etc . belong
+ to. But see below
+ */
+
+/** This interface provides access to a graphic device, such as a
+ printer, or a screen device. Every canvas (@see XCanvas) has
+ exactly one associated graphic device, into which its output is
+ rendered.
+
+ For a typical windowing system, the graphic device is equivalent
+ to a distinct OS window, with its own clipped output area,
+ fullscreen and double-buffering attributes. That is, even if one
+ can have multiple canvases per system window, they all share the
+ same graphic device and thus e.g. fullscreen state. If the OS
+ restrictions are in such a way that fullscreen or double-buffering
+ is screen-exclusive, i.e. that per screen, only one object can
+ have this state, it might even be that all windows on the screen
+ share a common graphic device.
+ */
+interface XGraphicDevice : ::com::sun::star::uno::XInterface
+{
+ /** Query the controller for multi buffering functionality on this
+ graphic device.
+
+ If there is no such functionality available, the NULL
+ reference is returned.
+ */
+ XBufferController getBufferController();
+
+
+ /** Query the color space interface for this graphic device.
+
+ This is to be used when interpreting or setting device color
+ values.
+ */
+ XColorSpace getDeviceColorSpace();
+
+
+ /** Query the physical resolution of the device in pixel per
+ millimeter.
+
+ A special floating point value of +infinity here indicates
+ "unknown", i.e. at the time of rendering undetermined or
+ possibly infinite resolution along the corresponding
+ direction.
+ */
+ ::com::sun::star::geometry::RealSize2D getPhysicalResolution();
+
+
+ /** Query the physical dimensions of the device in millimeter.
+
+ A special floating point value of +infinity here indicates
+ "unknown", i.e. at the time of rendering undetermined or
+ possibly infinite resolution along the corresponding
+ direction.
+
+ @see XBitmap::getSize()
+ */
+ ::com::sun::star::geometry::RealSize2D getPhysicalSize();
+
+
+ /** Create a line poly-polygon which can internally use
+ device-optimized representations already.
+
+ @param points
+ The points of the poly-polygon, in a separate array for every polygon.
+ */
+ XLinePolyPolygon2D createCompatibleLinePolyPolygon( [in] sequence< sequence< ::com::sun::star::geometry::RealPoint2D > > points );
+
+
+ /** Create a Bezier poly-polygon which can internally use
+ device-optimized representations already.
+
+ @param points
+ The points of the poly-polygon, in a separate array for every polygon.
+ */
+ XBezierPolyPolygon2D createCompatibleBezierPolyPolygon( [in] sequence< sequence< ::com::sun::star::geometry::RealBezierSegment2D > > points );
+
+
+ /** Create a bitmap whose memory layout and sample model is
+ compatible to the graphic device.
+
+ @param size
+ Size of the requested bitmap in pixel. Both components of the
+ size must be greater than 0
+ */
+ XBitmap createCompatibleBitmap( [in] ::com::sun::star::geometry::IntegerSize2D size )
+ raises (com::sun::star::lang::IllegalArgumentException);
+
+
+ /** Create a volatile bitmap that is usable with this graphic device.
+
+ A volatile bitmap's difference in comparison to a plain bitmap
+ (e.g. generated via createCompatibleBitmap()) is the fact that
+ its content might vanish at any point in time (making any
+ operation with them produce a
+ VolatileContentDestroyedException). The benefit,
+ on the other hand, is that they might be easy to
+ hardware-accelerate on certain platforms, without the need to
+ keep a safety copy of the content internally.
+
+ @param size
+ Size of the requested bitmap in pixel. Both components of the
+ size must be greater than 0
+ */
+ XVolatileBitmap createVolatileBitmap( [in] ::com::sun::star::geometry::IntegerSize2D size )
+ raises (com::sun::star::lang::IllegalArgumentException);
+
+
+ /** Create a bitmap with alpha channel whose memory layout and
+ sample model is compatible to the graphic device.
+
+ @param size
+ Size of the requested bitmap in pixel. Both components of the
+ size must be greater than 0
+ */
+ XBitmap createCompatibleAlphaBitmap( [in] ::com::sun::star::geometry::IntegerSize2D size )
+ raises (com::sun::star::lang::IllegalArgumentException);
+
+
+ /** Create a volatile bitmap with alpha channel that is usable
+ with this graphic device.
+
+ A volatile bitmap's difference in comparison to a plain bitmap
+ (e.g. generated via createCompatibleBitmap()) is the fact that
+ its content might vanish at any point in time (making any
+ operation with them produce a
+ VolatileContentDestroyedException). The benefit,
+ on the other hand, is that they might be easy to
+ hardware-accelerate on certain platforms, without the need to
+ keep a safety copy of the content internally.
+
+ @param size
+ Size of the requested bitmap in pixel. Both components of the
+ size must be greater than 0
+ */
+ XVolatileBitmap createVolatileAlphaBitmap( [in] ::com::sun::star::geometry::IntegerSize2D size )
+ raises (com::sun::star::lang::IllegalArgumentException);
+
+
+ /** Get a reference to this device's parametric polygon factory.
+
+ @return a reference to this device's parametric polygon
+ factory. Although it is possible to use parametric polygons on
+ all canvases, regardless of the associated graphic device,
+ this is not advisable: each canvas implementation is free to
+ internally generate optimized parametric polygons, which can
+ be used more directly for e.g. texturing operations.
+
+ Available services (all canvas implementations should provide
+ this minimal set, though are free to add more; just check the
+ getAvailableServiceNames() on the returned interface):
+
+ - Gradients - all gradients need to support two construction
+ parameters, "Colors" being a `sequence&lt; Color &gt;`
+ and "Stops" being a `sequence&lt; double &gt;`. Both must
+ have the same length, and at least two elements. See
+ http://www.w3.org/TR/SVG11/pservers.html#GradientStops for
+ the semantics of gradient stops and colors.
+ Required gradient services:
+
+ - "LinearGradient" - the gradient varies linearly between
+ the given colors. without coordinate system
+ transformation, the color interpolation happens in
+ increasing x direction, and is constant in y
+ direction. Equivalent to svg linear gradient
+ http://www.w3.org/TR/SVG11/pservers.html#LinearGradients
+
+ - "EllipticalGradient" - this gradient has zeroth color
+ index in the middle, and varies linearly between center
+ and final color. The services takes an additional
+ parameter named "AspectRatio" of double
+ (width divided by height), if this aspect ratio is 1, the
+ gradient is circular. If it's not 1, the gradient is
+ elliptical, with the special twist that the aspect ratio
+ is maintained also for the center color: the gradient will
+ not collapse into a single point, but become a line of
+ center color. If "AspectRatio" is missing, or equal to 1,
+ this gradient yields similar results as the svg radial
+ gradient
+ http://www.w3.org/TR/SVG11/pservers.html#RadialGradients
+
+ - "RectangularGradient" - this gradient has zeroth color
+ index in the middle, and varies linearly between center
+ and final color via rectangular boxes
+ around the center point. The services takes an additional
+ parameter named "AspectRatio" of double
+ (width divided by height), if this aspect ratio is 1, the
+ gradient is quadratic. If it's not 1, the gradient is
+ rectangular, with the special twist that the aspect ratio
+ is maintained also for the center color: the gradient will
+ not collapse into a single point, but become a line of
+ center color.
+
+ - Hatch patterns - Required hatch services:
+
+ - "VerticalLineHatch" - this hatching consists of vertical lines
+ - "OrthogonalLinesHatch" - this hatching consists of
+ crossing vertical and horizontal lines
+ - "ThreeCrossingLinesHatch" - this hatching consists of
+ vertical and horizontal lines plus diagonal lines from
+ left, top to bottom, right.
+ - "FourCrossingLinesHatch" - this hatching consists of
+ vertical and horizontal lines plus diagonal lines in both
+ directions.
+ */
+ com::sun::star::lang::XMultiServiceFactory getParametricPolyPolygonFactory();
+
+
+ /** Tells whether this graphic device has a full screen mode,
+ i.e. whether a window can cover the whole screen exclusively.
+ */
+ boolean hasFullScreenMode();
+
+
+ /** Enter or leave the fullscreen mode, if possible. The return
+ value denotes the success of the operation.
+
+ @attention depending on the underlying operating system,
+ fullscreen mode can be left without an enterFullScreenMode(
+ false ) call.
+ */
+ boolean enterFullScreenMode( [in] boolean bEnter );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/XHalfFloatBitmap.idl b/offapi/com/sun/star/rendering/XHalfFloatBitmap.idl
new file mode 100644
index 000000000..b3583a3c1
--- /dev/null
+++ b/offapi/com/sun/star/rendering/XHalfFloatBitmap.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_rendering_XHalfFloatBitmap_idl__
+#define __com_sun_star_rendering_XHalfFloatBitmap_idl__
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#include <com/sun/star/rendering/FloatingPointBitmapLayout.idl>
+#include <com/sun/star/geometry/IntegerPoint2D.idl>
+#include <com/sun/star/geometry/IntegerRectangle2D.idl>
+#include <com/sun/star/rendering/XHalfFloatReadOnlyBitmap.idl>
+#include <com/sun/star/rendering/VolatileContentDestroyedException.idl>
+
+module com { module sun { module star { module rendering {
+
+/** Specialized interface for bitmaps containing half floats as their
+ color components.<p>
+
+ Half floats are 16 bit wide, and newer GPUs already have them as
+ supported frame buffer format.
+ */
+interface XHalfFloatBitmap : XHalfFloatReadOnlyBitmap
+{
+
+ /** Set raw data of a bitmap.<p>
+
+ Set raw data of a bitmap, in the format as defined by
+ getMemoryLayout(). With the given rectangle, a subset of the
+ bitmap can be changed. When setting subsets of the bitmap, the
+ same scanline padding takes place as when the whole bitmap is
+ changed.<p>
+
+ */
+ void setData( [in] sequence<short> data, [in] FloatingPointBitmapLayout bitmapLayout, [in] ::com::sun::star::geometry::IntegerRectangle2D rect )
+ raises (com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::lang::IndexOutOfBoundsException);
+
+
+ /** Set a single pixel of the bitmap with the given color
+ value.<p>
+
+ When setting data on volatile bitmaps, always call isValid()
+ before, and retrieve a new memory layout via
+ getMemoryLayout(). At least under Windows, the memory layout
+ can change for the same bitmap, if the user e.g. switches the
+ screen resolution. Thus, this method will throw an
+ IllegalArgumentException, if the memory layout changed between
+ a call to getMemoryLayout() and setData().<p>
+ */
+ void setPixel( [in] sequence<short> color, [in] FloatingPointBitmapLayout bitmapLayout, [in] ::com::sun::star::geometry::IntegerPoint2D pos )
+ 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/rendering/XHalfFloatReadOnlyBitmap.idl b/offapi/com/sun/star/rendering/XHalfFloatReadOnlyBitmap.idl
new file mode 100644
index 000000000..0e107574c
--- /dev/null
+++ b/offapi/com/sun/star/rendering/XHalfFloatReadOnlyBitmap.idl
@@ -0,0 +1,91 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_rendering_XHalfFloatReadOnlyBitmap_idl__
+#define __com_sun_star_rendering_XHalfFloatReadOnlyBitmap_idl__
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#include <com/sun/star/rendering/FloatingPointBitmapLayout.idl>
+#include <com/sun/star/geometry/IntegerPoint2D.idl>
+#include <com/sun/star/geometry/IntegerRectangle2D.idl>
+#include <com/sun/star/rendering/XBitmap.idl>
+#include <com/sun/star/rendering/VolatileContentDestroyedException.idl>
+
+module com { module sun { module star { module rendering {
+
+/** Specialized interface for bitmaps containing half floats as their
+ color components. Half floats are 16 bit wide, and some high-end
+ GPUs already have them as supported frame buffer format. In
+ contrast to XHalfFloatBitmap, this interface only
+ permits read-only access.<p>
+
+ Use this interface for e.g. bitmaps that are calculated
+ on-the-fly, or that are pure functional, and thus cannot be
+ modified.<p>
+
+ If you get passed an instance of
+ XHalfFloatReadOnlyBitmap that also supports the
+ XVolatileBitmap interface, things become a bit more
+ complicated. When reading data, one has to check for both
+ VolatileContentDestroyedException and mismatching
+ FloatingPointBitmapLayout return values. If either of them
+ occurs, the whole bitmap read operation should be repeated.<p>
+ */
+interface XHalfFloatReadOnlyBitmap : XBitmap
+{
+ /** Query the raw data of this bitmap.<p>
+
+ Query the raw data of this bitmap, in the format as defined by
+ getMemoryLayout(). With the given rectangle, a subset of the
+ whole bitmap can be queried. When querying subsets of the
+ bitmap, the same scanline padding takes place as when the
+ whole bitmap is requested. Note: as we currently have no 16
+ bit float UNO data type, the values are transported as 16 bit
+ integers across the API (which requires casting on both
+ sides).<p>
+
+ @throws VolatileContentDestroyedException
+ if the bitmap is volatile, and the content has been destroyed by the system.
+ */
+ sequence<short> getData( [in] ::com::sun::star::geometry::IntegerRectangle2D rect )
+ raises (com::sun::star::lang::IndexOutOfBoundsException,
+ VolatileContentDestroyedException);
+
+
+ /** Get a single pixel of the bitmap, returning its color
+ value.<p>
+
+ @throws VolatileContentDestroyedException
+ if the bitmap is volatile, and the content has been destroyed by the system.
+ */
+ sequence<short> getPixel( [in] ::com::sun::star::geometry::IntegerPoint2D pos )
+ raises (com::sun::star::lang::IndexOutOfBoundsException,
+ VolatileContentDestroyedException);
+
+
+ /** Query the memory layout for this bitmap.<p>
+ */
+ FloatingPointBitmapLayout getMemoryLayout();
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/XIeeeDoubleBitmap.idl b/offapi/com/sun/star/rendering/XIeeeDoubleBitmap.idl
new file mode 100644
index 000000000..6c938d1b9
--- /dev/null
+++ b/offapi/com/sun/star/rendering/XIeeeDoubleBitmap.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_rendering_XIeeeDoubleBitmap_idl__
+#define __com_sun_star_rendering_XIeeeDoubleBitmap_idl__
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#include <com/sun/star/rendering/FloatingPointBitmapLayout.idl>
+#include <com/sun/star/geometry/IntegerPoint2D.idl>
+#include <com/sun/star/geometry/IntegerRectangle2D.idl>
+#include <com/sun/star/rendering/XIeeeDoubleReadOnlyBitmap.idl>
+#include <com/sun/star/rendering/VolatileContentDestroyedException.idl>
+
+
+module com { module sun { module star { module rendering {
+
+/** This is a specialized interface for bitmaps containing IEEE
+ doubles for their color components.<p>
+ */
+interface XIeeeDoubleBitmap : XIeeeDoubleReadOnlyBitmap
+{
+
+ /** Set raw data of a bitmap.<p>
+
+ Set raw data of a bitmap, in the format as defined by
+ getMemoryLayout(). With the given rectangle, a subset of the
+ bitmap can be changed. When setting subsets of the bitmap, the
+ same scanline padding takes place as when the whole bitmap is
+ changed.<p>
+
+ When setting data on volatile bitmaps, always call isValid()
+ before, and retrieve a new memory layout via
+ getMemoryLayout(). At least under Windows, the memory layout
+ can change for the same bitmap, if the user e.g. switches the
+ screen resolution. Thus, this method will throw an
+ IllegalArgumentException, if the memory layout changed between
+ a call to getMemoryLayout() and setData().<p>
+
+ @param data
+ Data to set
+
+ @param bitmapLayout
+ Layout of the data to set. Must match this bitmap's current
+ layout.
+
+ @param rect
+ Destination rectangle, within the bounds of the bitmap, to set
+ the data in.
+
+ @throws com::sun::star::lang::IndexOutOfBoundsException
+ if parts of the given rectangle are outside the permissible
+ bitmap area.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the given memory layout does not match this bitmap's
+ layout, or if the given data sequence has too few or too much
+ elements.
+ */
+ void setData( [in] sequence<double> data, [in] FloatingPointBitmapLayout bitmapLayout, [in] ::com::sun::star::geometry::IntegerRectangle2D rect )
+ raises (com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::lang::IndexOutOfBoundsException);
+
+
+ /** Set a single pixel of the bitmap with the given color
+ value.<p>
+
+ When setting data on volatile bitmaps, always call isValid()
+ before, and retrieve a new memory layout via
+ getMemoryLayout(). At least under Windows, the memory layout
+ can change for the same bitmap, if the user e.g. switches the
+ screen resolution. Thus, this method will throw an
+ IllegalArgumentException, if the memory layout changed between
+ a call to getMemoryLayout() and setPixel().<p>
+
+ @param color
+ The color value(s) to set
+
+ @param bitmapLayout
+ Layout of the color elements to set. Must match this bitmap's
+ current layout.
+
+ @param pos
+ Pixel position with the bounds of the bitmap to set.
+
+ @throws com::sun::star::lang::IndexOutOfBoundsException
+ if the given point is outside the permissible bitmap area.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the given memory layout does not match this bitmap's
+ layout, or if the given data sequence has too few or too much
+ elements.
+ */
+ void setPixel( [in] sequence<double> color, [in] FloatingPointBitmapLayout bitmapLayout, [in] ::com::sun::star::geometry::IntegerPoint2D pos )
+ 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/rendering/XIeeeDoubleReadOnlyBitmap.idl b/offapi/com/sun/star/rendering/XIeeeDoubleReadOnlyBitmap.idl
new file mode 100644
index 000000000..6df739bce
--- /dev/null
+++ b/offapi/com/sun/star/rendering/XIeeeDoubleReadOnlyBitmap.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_rendering_XIeeeDoubleReadOnlyBitmap_idl__
+#define __com_sun_star_rendering_XIeeeDoubleReadOnlyBitmap_idl__
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#include <com/sun/star/rendering/FloatingPointBitmapLayout.idl>
+#include <com/sun/star/geometry/IntegerPoint2D.idl>
+#include <com/sun/star/geometry/IntegerRectangle2D.idl>
+#include <com/sun/star/rendering/XBitmap.idl>
+#include <com/sun/star/rendering/VolatileContentDestroyedException.idl>
+
+
+module com { module sun { module star { module rendering {
+
+/** This is a specialized interface for bitmaps containing IEEE
+ doubles for their color components. In contrast to
+ XIeeeDoubleBitmap, this interface only permits
+ read-only access.<p>
+
+ Use this interface for e.g. bitmaps that are calculated
+ on-the-fly, or that are pure functional, and thus cannot be
+ modified.<p>
+
+ If you get passed an instance of
+ XHalfFloatReadOnlyBitmap that also supports the
+ XVolatileBitmap interface, things become a bit more
+ complicated. When reading data, one has to check for both
+ VolatileContentDestroyedException and mismatching
+ FloatingPointBitmapLayout return values. If either of them
+ occurs, the whole bitmap read operation should be repeated.<p>
+ */
+interface XIeeeDoubleReadOnlyBitmap : XBitmap
+{
+ /** Query the raw data of this bitmap.<p>
+
+ Query the raw data of this bitmap, in the format as defined by
+ getMemoryLayout(). With the given rectangle, a subset of the
+ whole bitmap can be queried. When querying subsets of the
+ bitmap, the same scanline padding takes place as when the
+ whole bitmap is requested.<p>
+
+ Note that the bitmap memory layout might change for volatile
+ bitmaps.<p>
+
+ @param bitmapLayout
+ The memory layout the returned data is in.
+
+ @param rect
+ A rectangle, within the bounds of the bitmap, to retrieve the
+ consent from.
+
+ @throws VolatileContentDestroyedException
+ if the bitmap is volatile, and the content has been destroyed by the system.
+
+ @throws com::sun::star::lang::IndexOutOfBoundsException
+ if parts of the given rectangle are outside the permissible
+ bitmap area.
+ */
+ sequence<double> getData( [out] FloatingPointBitmapLayout bitmapLayout, [in] ::com::sun::star::geometry::IntegerRectangle2D rect )
+ raises (com::sun::star::lang::IndexOutOfBoundsException,
+ VolatileContentDestroyedException);
+
+
+ /** Get a single pixel of the bitmap, returning its color
+ value.<p>
+
+ Note that the bitmap memory layout might change for volatile
+ bitmaps.<p>
+
+ @param bitmapLayout
+ The memory layout the returned data is in.
+
+ @param pos
+ A position, within the bounds of the bitmap, to retrieve the
+ color from.
+
+ @throws VolatileContentDestroyedException
+ if the bitmap is volatile, and the content has been destroyed by the system.
+
+ @throws com::sun::star::lang::IndexOutOfBoundsException
+ if the given position is outside the permissible bitmap area.
+ */
+ sequence<double> getPixel( [out] FloatingPointBitmapLayout bitmapLayout, [in] ::com::sun::star::geometry::IntegerPoint2D pos )
+ raises (com::sun::star::lang::IndexOutOfBoundsException,
+ VolatileContentDestroyedException);
+
+
+ /** Query the memory layout for this bitmap.<p>
+
+ Please note that for volatile bitmaps, the memory layout might
+ change between subsequent calls.<p>
+ */
+ FloatingPointBitmapLayout getMemoryLayout();
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/XIeeeFloatBitmap.idl b/offapi/com/sun/star/rendering/XIeeeFloatBitmap.idl
new file mode 100644
index 000000000..92a1547f1
--- /dev/null
+++ b/offapi/com/sun/star/rendering/XIeeeFloatBitmap.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_rendering_XIeeeFloatBitmap_idl__
+#define __com_sun_star_rendering_XIeeeFloatBitmap_idl__
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#include <com/sun/star/rendering/FloatingPointBitmapLayout.idl>
+#include <com/sun/star/geometry/IntegerPoint2D.idl>
+#include <com/sun/star/geometry/IntegerRectangle2D.idl>
+#include <com/sun/star/rendering/XIeeeFloatReadOnlyBitmap.idl>
+#include <com/sun/star/rendering/VolatileContentDestroyedException.idl>
+
+
+module com { module sun { module star { module rendering {
+
+/** Specialized interface for bitmaps containing IEEE floats as their
+ color components.<p>
+ */
+interface XIeeeFloatBitmap : XIeeeFloatReadOnlyBitmap
+{
+
+ /** Set raw data of a bitmap.<p>
+
+ Set raw data of a bitmap, in the format as defined by
+ getMemoryLayout(). With the given rectangle, a subset of the
+ bitmap can be changed. When setting subsets of the bitmap, the
+ same scanline padding takes place as when the whole bitmap is
+ changed.<p>
+
+ When setting data on volatile bitmaps, always call isValid()
+ before, and retrieve a new memory layout via
+ getMemoryLayout(). At least under Windows, the memory layout
+ can change for the same bitmap, if the user e.g. switches the
+ screen resolution. Thus, this method will throw an
+ IllegalArgumentException, if the memory layout changed between
+ a call to getMemoryLayout() and setData().<p>
+
+ @param data
+ Data to set
+
+ @param bitmapLayout
+ Layout of the data to set. Must match this bitmap's current
+ layout.
+
+ @param rect
+ Destination rectangle, within the bounds of the bitmap, to set
+ the data in.
+
+ @throws com::sun::star::lang::IndexOutOfBoundsException
+ if parts of the given rectangle are outside the permissible
+ bitmap area.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the given memory layout does not match this bitmap's
+ layout, or if the given data sequence has too few or too much
+ elements.
+ */
+ void setData( [in] sequence<float> data, [in] FloatingPointBitmapLayout bitmapLayout, [in] ::com::sun::star::geometry::IntegerRectangle2D rect )
+ raises (com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::lang::IndexOutOfBoundsException);
+
+
+ /** Set a single pixel of the bitmap with the given color
+ value.<p>
+
+ When setting data on volatile bitmaps, always call isValid()
+ before, and retrieve a new memory layout via
+ getMemoryLayout(). At least under Windows, the memory layout
+ can change for the same bitmap, if the user e.g. switches the
+ screen resolution. Thus, this method will throw an
+ IllegalArgumentException, if the memory layout changed between
+ a call to getMemoryLayout() and setPixel().<p>
+
+ @param color
+ The color value(s) to set
+
+ @param bitmapLayout
+ Layout of the color elements to set. Must match this bitmap's
+ current layout.
+
+ @param pos
+ Pixel position with the bounds of the bitmap to set.
+
+ @throws com::sun::star::lang::IndexOutOfBoundsException
+ if the given point is outside the permissible bitmap area.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the given memory layout does not match this bitmap's
+ layout, or if the given data sequence has too few or too much
+ elements.
+ */
+ void setPixel( [in] sequence<float> color, [in] FloatingPointBitmapLayout bitmapLayout, [in] ::com::sun::star::geometry::IntegerPoint2D pos )
+ 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/rendering/XIeeeFloatReadOnlyBitmap.idl b/offapi/com/sun/star/rendering/XIeeeFloatReadOnlyBitmap.idl
new file mode 100644
index 000000000..c010d4326
--- /dev/null
+++ b/offapi/com/sun/star/rendering/XIeeeFloatReadOnlyBitmap.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_rendering_XIeeeFloatReadOnlyBitmap_idl__
+#define __com_sun_star_rendering_XIeeeFloatReadOnlyBitmap_idl__
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#include <com/sun/star/rendering/FloatingPointBitmapLayout.idl>
+#include <com/sun/star/geometry/IntegerPoint2D.idl>
+#include <com/sun/star/geometry/IntegerRectangle2D.idl>
+#include <com/sun/star/rendering/XBitmap.idl>
+#include <com/sun/star/rendering/VolatileContentDestroyedException.idl>
+
+
+module com { module sun { module star { module rendering {
+
+/** Specialized interface for bitmaps containing IEEE floats as their
+ color components. In contrast to XIeeeFloatBitmap,
+ this interface only permits read-only access.<p>
+
+ Use this interface for e.g. bitmaps that are calculated
+ on-the-fly, or that are pure functional, and thus cannot be
+ modified.<p>
+
+ If you get passed an instance of
+ XHalfFloatReadOnlyBitmap that also supports the
+ XVolatileBitmap interface, things become a bit more
+ complicated. When reading data, one has to check for both
+ VolatileContentDestroyedException and mismatching
+ FloatingPointBitmapLayout return values. If either of them
+ occurs, the whole bitmap read operation should be repeated.<p>
+ */
+interface XIeeeFloatReadOnlyBitmap : XBitmap
+{
+ /** Query the raw data of this bitmap.<p>
+
+ Query the raw data of this bitmap, in the format as defined by
+ getMemoryLayout(). With the given rectangle, a subset of the
+ whole bitmap can be queried. When querying subsets of the
+ bitmap, the same scanline padding takes place as when the
+ whole bitmap is requested.<p>
+
+ Note that the bitmap memory layout might change for volatile
+ bitmaps.<p>
+
+ @param bitmapLayout
+ The memory layout the returned data is in.
+
+ @param rect
+ A rectangle, within the bounds of the bitmap, to retrieve the
+ consent from.
+
+ @throws VolatileContentDestroyedException
+ if the bitmap is volatile, and the content has been destroyed by the system.
+
+ @throws com::sun::star::lang::IndexOutOfBoundsException
+ if parts of the given rectangle are outside the permissible
+ bitmap area.
+ */
+ sequence<float> getData( [out] FloatingPointBitmapLayout bitmapLayout, [in] ::com::sun::star::geometry::IntegerRectangle2D rect )
+ raises (com::sun::star::lang::IndexOutOfBoundsException,
+ VolatileContentDestroyedException);
+
+
+ /** Get a single pixel of the bitmap, returning its color
+ value.<p>
+
+ Note that the bitmap memory layout might change for volatile
+ bitmaps.<p>
+
+ @param bitmapLayout
+ The memory layout the returned data is in.
+
+ @param pos
+ A position, within the bounds of the bitmap, to retrieve the
+ color from.
+
+ @throws VolatileContentDestroyedException
+ if the bitmap is volatile, and the content has been destroyed by the system.
+
+ @throws com::sun::star::lang::IndexOutOfBoundsException
+ if the given position is outside the permissible bitmap area.
+ */
+ sequence<float> getPixel( [out] FloatingPointBitmapLayout bitmapLayout, [in] ::com::sun::star::geometry::IntegerPoint2D pos )
+ raises (com::sun::star::lang::IndexOutOfBoundsException,
+ VolatileContentDestroyedException);
+
+
+ /** Query the memory layout for this bitmap.<p>
+
+ Please note that for volatile bitmaps, the memory layout might
+ change between subsequent calls.<p>
+ */
+ FloatingPointBitmapLayout getMemoryLayout();
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/XIntegerBitmap.idl b/offapi/com/sun/star/rendering/XIntegerBitmap.idl
new file mode 100644
index 000000000..2f4c6ae92
--- /dev/null
+++ b/offapi/com/sun/star/rendering/XIntegerBitmap.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_rendering_XIntegerBitmap_idl__
+#define __com_sun_star_rendering_XIntegerBitmap_idl__
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#include <com/sun/star/geometry/IntegerPoint2D.idl>
+#include <com/sun/star/geometry/IntegerRectangle2D.idl>
+#include <com/sun/star/rendering/IntegerBitmapLayout.idl>
+#include <com/sun/star/rendering/XIntegerReadOnlyBitmap.idl>
+
+
+module com { module sun { module star { module rendering {
+
+/** This is a specialized interface for bitmaps having integer color
+ channels.<p>
+
+ @since OOo 2.0
+ */
+interface XIntegerBitmap : XIntegerReadOnlyBitmap
+{
+
+ /** Set raw data of a bitmap.<p>
+
+ Set raw data of a bitmap, in the format as defined by
+ getMemoryLayout(). With the given rectangle, a subset of the
+ bitmap can be changed. If the internal data format's pixel are
+ not integer multiples of bytes (i.e. if one pixel occupies
+ less than a byte), the leftover content of the bytes at the
+ right of each scanline is ignored and left unchanged in the
+ bitmap. When setting subsets of the bitmap, the same scanline
+ padding takes place as when the whole bitmap is changed.<p>
+
+ When setting data on volatile bitmaps, always call isValid()
+ before, and retrieve a new memory layout via
+ getMemoryLayout(). At least under Windows, the memory layout
+ can change for the same bitmap, if the user e.g. switches the
+ screen resolution. Thus, this method will throw an
+ IllegalArgumentException, if the memory layout changed between
+ a call to getMemoryLayout() and setData().
+
+ @param data
+ Data to set
+
+ @param bitmapLayout
+ Layout of the data to set. Must match this bitmap's current
+ layout.
+
+ @param rect
+ Destination rectangle, within the bounds of the bitmap, to set
+ the data in.
+
+ @throws com::sun::star::lang::IndexOutOfBoundsException
+ if parts of the given rectangle are outside the permissible
+ bitmap area.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the given memory layout does not match this bitmap's
+ layout, or if the given data sequence has too few or too many
+ elements.
+ */
+ void setData( [in] sequence<byte> data, [in] IntegerBitmapLayout bitmapLayout, [in] ::com::sun::star::geometry::IntegerRectangle2D rect )
+ raises (com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::lang::IndexOutOfBoundsException);
+
+
+ /** Set a single pixel of the bitmap with the given color
+ value.<p>
+
+ If the internal data format's pixel are not integer multiples
+ of bytes (i.e. if one pixel occupies less than a byte), the
+ color value is expected in the least significant bits of the
+ single byte given as the color.<p>
+
+ When setting data on volatile bitmaps, always call isValid()
+ before, and retrieve a new memory layout via
+ getMemoryLayout(). At least under Windows, the memory layout
+ can change for the same bitmap, if the user e.g. switches the
+ screen resolution. Thus, this method will throw an
+ IllegalArgumentException, if the memory layout changed between
+ a call to getMemoryLayout() and setPixel().
+
+ @param color
+ The color value(s) to set
+
+ @param bitmapLayout
+ Layout of the color elements to set. Must match this bitmap's
+ current layout.
+
+ @param pos
+ Pixel position with the bounds of the bitmap to set.
+
+ @throws com::sun::star::lang::IndexOutOfBoundsException
+ if the given point is outside the permissible bitmap area.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the given memory layout does not match this bitmap's
+ layout, or if the given data sequence has too few or too many
+ elements.
+ */
+ void setPixel( [in] sequence<byte> color, [in] IntegerBitmapLayout bitmapLayout, [in] ::com::sun::star::geometry::IntegerPoint2D pos )
+ 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/rendering/XIntegerBitmapColorSpace.idl b/offapi/com/sun/star/rendering/XIntegerBitmapColorSpace.idl
new file mode 100644
index 000000000..cf7fa97b2
--- /dev/null
+++ b/offapi/com/sun/star/rendering/XIntegerBitmapColorSpace.idl
@@ -0,0 +1,272 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_rendering_XIntegerBitmapColorSpace_idl__
+#define __com_sun_star_rendering_XIntegerBitmapColorSpace_idl__
+
+#include <com/sun/star/rendering/XColorSpace.idl>
+
+module com { module sun { module star { module rendering {
+
+/** A color space for integer bitmap formats<p>
+
+ This interface encapsulates all information specific to a certain
+ integer bitmap color space, like for example 1555 ARGB. Note that
+ the individual elements of the integer color representation
+ sequence need not correspond to the color space's components -
+ instead, the color components might be packed back-to-back into
+ those bytes, as they appear in the raw bitmap data.<p>
+ */
+interface XIntegerBitmapColorSpace : XColorSpace
+{
+ /** Query number of bits used per bitmap pixel.<p>
+
+ This method yields the total number of bits used for a color
+ value. At the associated XIntegerBitmap, the
+ XIntegerBitmap::setPixel() method will expect
+ a sequence of ceil(BitsPerPixel/8) bytes, and the
+ XIntegerReadOnlyBitmap::getPixel() will
+ return that number of bytes. Similarly, the color conversion
+ expect input data in multiples of ceil(BitsPerPixel/8), and
+ also return converted data in chunks of this.<p>
+ */
+ long getBitsPerPixel();
+
+ /** Query the number of bits used for each component.<p>
+
+ This method returns a sequence of integers, each denoting the
+ number of bits occupied by the respective component. The sum
+ of all component bits must be less or equal than the value
+ returned from getBitsPerPixel(). If the sum is
+ less, excess bits are always kept in the most significant bits
+ of a pixel. Color components will appear in the byte sequences
+ returned from the XIntegerBitmap methods in the
+ order defined here, with the first element starting from the
+ least significant bits of the pixel, etc.<p>
+
+ @remark For the typical 32 bit RGBA color data, the four
+ values would all contain the value eight. For a 16 bit 1555
+ ARGB format, with mask values 0x8000 for alpha, 0x7C for red,
+ 0x3E for green and 0x1F for blue, the values would be 5, 5, 5,
+ 1, in that order.
+ */
+ sequence<long> getComponentBitCounts();
+
+ /** Query whether color data bytes need to be swapped.<p>
+
+ @return `TRUE`, This method returns the endianness of the color
+ data. The value is one of the Endianness
+ constants. If color data is represented using more than one
+ byte, the actual channel positions are specified using bit
+ positions. Therefore, depending on the architecture, the
+ actual color data bytes might need to get swapped, for the
+ bits to align properly.<p>
+
+ @remark with a 16 bit 565 RGB format, written on a big endian
+ architecture, a destination machine using little endian CPU
+ will need to swap the bytes, in order to keep the green
+ channel bits together.
+ */
+ byte getEndianness();
+
+
+ /** Convert integer bitmap color to generic IEEE double device
+ color of another color space.<p>
+
+ Color values are properly rounded and clipped, to be valid in
+ the target color space.<p>
+
+ @param deviceColor Sequence of device color components. Is
+ permitted to contain more than one device color element,
+ therefore, batch conversion of multiple color values is
+ possible.<p>
+
+ @param targetColorSpace the color space to convert to.
+
+ @return the corresponding sequence of device colors in the
+ target color space
+
+ @throws a
+ com::sun::star::lang::IllegalArgumentException,
+ if the input sequence does not match the device color format.
+ */
+ sequence<ColorComponent> convertFromIntegerColorSpace( [in] sequence<byte> deviceColor, [in] XColorSpace targetColorSpace )
+ raises (com::sun::star::lang::IllegalArgumentException);
+
+ /** Convert integer bitmap color to integer bitmap color of
+ another integer bitmap color space.<p>
+
+ Color values are properly rounded and clipped, to be valid in
+ the target color space.<p>
+
+ @param deviceColor Sequence of device color components. Is
+ permitted to contain more than one device color element,
+ therefore, batch conversion of multiple color values is
+ possible.<p>
+
+ @param targetColorSpace the color space to convert to.
+
+ @return the corresponding sequence of device colors in the
+ target color space
+
+ @throws a
+ com::sun::star::lang::IllegalArgumentException,
+ if the input sequence does not match the device color format.
+ */
+ sequence<byte> convertToIntegerColorSpace( [in] sequence<byte> deviceColor, [in] XIntegerBitmapColorSpace targetColorSpace )
+ raises (com::sun::star::lang::IllegalArgumentException);
+
+ /** Convert color value in this color space to sRGB color values.<p>
+
+ Any information not representable in the RGBColor
+ struct is discarded during the conversion. This includes alpha
+ information. Color values are properly rounded and clipped,
+ to be valid in the target color space.<p>
+
+ @param deviceColor Sequence of device color components. Is
+ permitted to contain more than one device color element,
+ therefore, batch conversion of multiple color values is
+ possible.
+
+ @return the corresponding sequence of sRGB colors.
+
+ @see XIntegerBitmapColorSpace::convertIntegerToARGB()
+
+ @throws a
+ com::sun::star::lang::IllegalArgumentException,
+ if the input sequence does not match the device color format.
+ */
+ sequence<RGBColor> convertIntegerToRGB( [in] sequence<byte> deviceColor )
+ raises (com::sun::star::lang::IllegalArgumentException);
+
+ /** Convert color value in this color space to sRGB color values,
+ with linear alpha.<p>
+
+ If the given input color does not carry alpha information, an
+ alpha value of 1.0 (fully opaque) is assumed. Color values
+ are properly rounded and clipped, to be valid in the target
+ color space.<p>
+
+ @param deviceColor Sequence of device color components. Is
+ permitted to contain more than one device color element,
+ therefore, batch conversion of multiple color values is
+ possible.
+
+ @return the corresponding sequence of sRGB colors.
+
+ @throws a
+ com::sun::star::lang::IllegalArgumentException,
+ if the input sequence does not match the device color format.
+ */
+ sequence<ARGBColor> convertIntegerToARGB( [in] sequence<byte> deviceColor )
+ raises (com::sun::star::lang::IllegalArgumentException);
+
+ /** Convert color value in this color space to premultiplied sRGB
+ color values, with linear alpha.<p>
+
+ If the given input color does not carry alpha information, an
+ alpha value of 1.0 (fully opaque) is assumed. Color values
+ are properly rounded and clipped, to be valid in the target
+ color space. The resulting individual RGB color values are
+ premultiplied by the alpha value (e.g. if alpha is 0.5, each
+ color value has only half of the original intensity).<p>
+
+ @param deviceColor Sequence of device color components. Is
+ permitted to contain more than one device color element,
+ therefore, batch conversion of multiple color values is
+ possible.
+
+ @return the corresponding sequence of sRGB colors.
+
+ @throws a
+ com::sun::star::lang::IllegalArgumentException,
+ if the input sequence does not match the device color format.
+ */
+ sequence<ARGBColor> convertIntegerToPARGB( [in] sequence<byte> deviceColor )
+ raises (com::sun::star::lang::IllegalArgumentException);
+
+ /** Convert sRGB color to an integer representation in this color
+ space.<p>
+
+ If this color space conveys alpha information, it is assumed
+ be fully opaque for the given RGB color value. Color values
+ are properly rounded and clipped, to be valid in the target
+ color space.<p>
+
+ @param rgbColor Sequence of sRGB color components. Is
+ permitted to contain more than one color element, therefore,
+ batch conversion of multiple color values is possible.
+
+ @return the corresponding sequence of device colors.
+
+ @throws a
+ com::sun::star::lang::IllegalArgumentException,
+ if the input sequence does not match the device color format.
+ */
+ sequence<byte> convertIntegerFromRGB( [in] sequence<RGBColor> rgbColor )
+ raises (com::sun::star::lang::IllegalArgumentException);
+
+ /** Convert sRGB color with linear alpha into this color space.<p>
+
+ If this color space does not convey alpha information, the
+ specified alpha value is silently ignored. Color values are
+ properly rounded and clipped, to be valid in the target color
+ space.<p>
+
+ @param rgbColor Sequence of sRGB color components. Is
+ permitted to contain more than one color element, therefore,
+ batch conversion of multiple color values is possible.
+
+ @return the corresponding sequence of device colors.
+
+ @throws a
+ com::sun::star::lang::IllegalArgumentException,
+ if the input sequence does not match the device color format.
+ */
+ sequence<byte> convertIntegerFromARGB( [in] sequence<ARGBColor> rgbColor )
+ raises (com::sun::star::lang::IllegalArgumentException);
+
+ /** Convert premultiplied sRGB color with linear alpha into this
+ color space.<p>
+
+ If this color space does not convey alpha information, the
+ specified alpha value is silently ignored. Color values are
+ properly rounded and clipped, to be valid in the target color
+ space.<p>
+
+ @param rgbColor Sequence of sRGB color components. Is
+ permitted to contain more than one color element, therefore,
+ batch conversion of multiple color values is possible. The
+ individual RGB color values are assumed to be premultiplied by
+ the alpha value already.
+
+ @return the corresponding sequence of device colors.
+
+ @throws a
+ com::sun::star::lang::IllegalArgumentException,
+ if the input sequence does not match the device color format.
+ */
+ sequence<byte> convertIntegerFromPARGB( [in] sequence<ARGBColor> rgbColor )
+ raises (com::sun::star::lang::IllegalArgumentException);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/XIntegerReadOnlyBitmap.idl b/offapi/com/sun/star/rendering/XIntegerReadOnlyBitmap.idl
new file mode 100644
index 000000000..616389f39
--- /dev/null
+++ b/offapi/com/sun/star/rendering/XIntegerReadOnlyBitmap.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_rendering_XIntegerReadOnlyBitmap_idl__
+#define __com_sun_star_rendering_XIntegerReadOnlyBitmap_idl__
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#include <com/sun/star/geometry/IntegerPoint2D.idl>
+#include <com/sun/star/geometry/IntegerRectangle2D.idl>
+#include <com/sun/star/rendering/IntegerBitmapLayout.idl>
+#include <com/sun/star/rendering/XBitmap.idl>
+#include <com/sun/star/rendering/VolatileContentDestroyedException.idl>
+
+
+module com { module sun { module star { module rendering {
+
+interface XBitmapPalette;
+
+/** This is a specialized interface for bitmaps having integer color
+ channels. In contrast to XIntegerBitmap, this
+ interface only permits read-only access.<p>
+
+ Use this interface for e.g. bitmaps that are calculated
+ on-the-fly, or that are pure functional, and thus cannot be
+ modified.<p>
+
+ If you get passed an instance of
+ XIntegerReadOnlyBitmap that also supports the
+ XVolatileBitmap interface, things become a bit more
+ complicated. When reading data, one has to check for both
+ VolatileContentDestroyedException and mismatching
+ IntegerBitmapLayout return values. If either of them
+ occurs, the whole bitmap read operation should be repeated, if you
+ need consistent information.<p>
+ */
+interface XIntegerReadOnlyBitmap : XBitmap
+{
+ /** Query the raw data of this bitmap.<p>
+
+ Query the raw data of this bitmap, in the format as defined by
+ getMemoryLayout(). With the given rectangle, a subset of the
+ whole bitmap can be queried. If the internal data format's
+ pixel are not integer multiples of bytes (i.e. if one pixel
+ occupies less than a byte), the leftover content of the bytes
+ at the right of each scanline is filled with zeros. The
+ details of the scanline padding are to be retrieved from the
+ passed bitmap layout.<p>
+
+ Note that the bitmap memory layout might change over time for
+ volatile bitmaps.<p>
+
+ @param bitmapLayout
+ The memory layout the returned data is in. Note that the color
+ space returned therein needs to always match the current color
+ space as would have been returned by getMemoryLayout(). This
+ is necessary to ensure correct operation under changing
+ XVolatileBitmap.
+
+ @param rect
+ A rectangle, within the bounds of the bitmap, to retrieve the
+ consent from.
+
+ @throws VolatileContentDestroyedException
+ if the bitmap is volatile, and the content has been destroyed by the system.
+
+ @throws com::sun::star::lang::IndexOutOfBoundsException
+ if parts of the given rectangle are outside the permissible
+ bitmap area.
+ */
+ sequence<byte> getData( [out] IntegerBitmapLayout bitmapLayout, [in] ::com::sun::star::geometry::IntegerRectangle2D rect )
+ raises (com::sun::star::lang::IndexOutOfBoundsException,
+ VolatileContentDestroyedException);
+
+
+ /** Get a single pixel of the bitmap, returning its color
+ value.<p>
+
+ If the internal data format's pixel are not integer multiples
+ of bytes (i.e. if one pixel occupies less than a byte - the
+ case of more than one byte per pixel is not specified), the
+ color value is returned in the least significant bits of the
+ single byte returned as the color. The details of the returned
+ pixel data are to be retrieved from the passed bitmap layout.<p>
+
+ Note that the bitmap memory layout might change for volatile
+ bitmaps.<p>
+
+ @param bitmapLayout
+ The memory layout the returned data is in. Note that the color
+ space returned therein needs to always match the current color
+ space as would have been returned by getMemoryLayout(). This
+ is necessary to ensure correct operation under changing
+ XVolatileBitmap.
+
+ @param pos
+ A position, within the bounds of the bitmap, to retrieve the
+ color from.
+
+ @throws VolatileContentDestroyedException
+ if the bitmap is volatile, and the content has been destroyed by the system.
+
+ @throws com::sun::star::lang::IndexOutOfBoundsException
+ if the given position is outside the permissible bitmap area.
+ */
+ sequence<byte> getPixel( [out] IntegerBitmapLayout bitmapLayout, [in] ::com::sun::star::geometry::IntegerPoint2D pos )
+ raises (com::sun::star::lang::IndexOutOfBoundsException,
+ VolatileContentDestroyedException);
+
+
+ /** Query the memory layout for this bitmap.<p>
+
+ Please note that for volatile bitmaps, the memory layout might
+ change between subsequent calls.<p>
+ */
+ IntegerBitmapLayout getMemoryLayout();
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/XLinePolyPolygon2D.idl b/offapi/com/sun/star/rendering/XLinePolyPolygon2D.idl
new file mode 100644
index 000000000..578747949
--- /dev/null
+++ b/offapi/com/sun/star/rendering/XLinePolyPolygon2D.idl
@@ -0,0 +1,108 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_rendering_XLinePolyPolygon2D_idl__
+#define __com_sun_star_rendering_XLinePolyPolygon2D_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#include <com/sun/star/geometry/RealPoint2D.idl>
+#include <com/sun/star/rendering/XPolyPolygon2D.idl>
+
+module com { module sun { module star { module rendering {
+
+/** Specialized interface for a 2D poly-polygon containing only straight line segments.
+
+ @since OOo 2.0
+ */
+interface XLinePolyPolygon2D : XPolyPolygon2D
+{
+ /** Query subset of this poly-polygon, starting at the given
+ polygon and the given point within that polygon, and
+ containing the specified number of polygons and points in the
+ last polygon.
+
+ @param nPolygonIndex
+ The index number of the polygon to start with extracting
+ points. Set to 0 to start with the first polygon.
+
+ @param nNumberOfPolygons
+ The number of polygons, starting with nPolygonIndex, to
+ extract points from. Set to -1 to extract all polygons,
+ starting with nPolygonIndex (i.e. a total of
+ getNumberOfPolygons() - nPolygonIndex polygons is extracted).
+
+ @param nPointIndex
+ The index of the point within the first polygon (that with the
+ index number nPolygonIndex) to start extraction with. Set to 0
+ to start with the first point in this polygon.
+
+ @param nNumberOfPoints
+ The number of points in the last polygon of the extraction
+ sequence, to be extracted. Set to -1 to extract all points
+ from the last polygon.
+ */
+ sequence< sequence< ::com::sun::star::geometry::RealPoint2D > > getPoints( [in] long nPolygonIndex, [in] long nNumberOfPolygons, [in] long nPointIndex, [in] long nNumberOfPoints )
+ raises (com::sun::star::lang::IndexOutOfBoundsException);
+
+
+ /** Set the specified sequence of points to the poly-polygon.
+
+ This method can either set the whole poly-polygon to the new
+ data, or insert the points at the given index
+
+ @param points the points.
+
+ @param nPolygonIndex
+ The index of the polygon to start point insertion with. This
+ index must be in the range [0,numPolygons], and the insertion
+ will take place <em>before</em> this position (i.e. when
+ specifying 0 here, the given point sequence will precede all
+ existing polygons already within the poly-polygon). To append
+ to a poly-polygon, call setPoints() with
+ XLinePolyPolygon2D::getNumberOfPolygons()
+ as the polygon index. If nPolygonIndex is -1, the given
+ sequence of points <em>replaces</em> the poly-polygon content,
+ such that after this method completes, it contains exactly the
+ specified point data.
+
+ @throws com::sun::star::lang::IndexOutOfBoundsException
+ if one of the given values exceed the permissible range.
+ */
+ void setPoints( [in] sequence< sequence< ::com::sun::star::geometry::RealPoint2D > > points, [in] long nPolygonIndex )
+ raises (com::sun::star::lang::IndexOutOfBoundsException);
+
+
+ /** Get a single point from the poly-polygon
+ */
+ ::com::sun::star::geometry::RealPoint2D getPoint( [in] long nPolygonIndex, [in] long nPointIndex )
+ raises (com::sun::star::lang::IndexOutOfBoundsException);
+
+
+ /** Set a single point on the poly-polygon. The remaining points of
+ the poly-polygon will not be changed by this method.
+ */
+ void setPoint( [in] ::com::sun::star::geometry::RealPoint2D point, [in] long nPolygonIndex, [in] long nPointIndex )
+ raises (com::sun::star::lang::IndexOutOfBoundsException);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/XMtfRenderer.idl b/offapi/com/sun/star/rendering/XMtfRenderer.idl
new file mode 100644
index 000000000..1cd0c22be
--- /dev/null
+++ b/offapi/com/sun/star/rendering/XMtfRenderer.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_rendering_XMtfRenderer_idl__
+#define __com_sun_star_rendering_XMtfRenderer_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module rendering {
+
+ interface XMtfRenderer : ::com::sun::star::uno::XInterface
+ {
+ void setMetafile( [in] sequence< byte > aMtf );
+ void draw( [in] double fScaleX, [in] double fScaleY );
+ };
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/XParametricPolyPolygon2D.idl b/offapi/com/sun/star/rendering/XParametricPolyPolygon2D.idl
new file mode 100644
index 000000000..97b8190b8
--- /dev/null
+++ b/offapi/com/sun/star/rendering/XParametricPolyPolygon2D.idl
@@ -0,0 +1,89 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_rendering_XParametricPolyPolygon2D_idl__
+#define __com_sun_star_rendering_XParametricPolyPolygon2D_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/geometry/RealPoint2D.idl>
+#include <com/sun/star/rendering/XPolyPolygon2D.idl>
+#include <com/sun/star/rendering/XColorSpace.idl>
+
+module com { module sun { module star { module rendering {
+
+/** Interface to a dynamic poly-polygon generator, that generates
+ poly-polygons depending on a given parameter value.<p>
+
+ The returned poly-polygon should normally be contained in the
+ [0,1]x[0,1] rectangle. At least that is the dimension expected at
+ other places. e.g. Texture.
+ */
+interface XParametricPolyPolygon2D : ::com::sun::star::uno::XInterface
+{
+ /** Query the polygonal outline at the specified value.
+
+ The returned outline should be clipped to the [0,1]x[0,1]
+ rectangle.
+
+ @param t
+ Parameter value in the range [0,1]. During painting, this
+ range is swept through starting from 0. When using such a
+ parametric poly-polygon for gradients, the area covered by the
+ returned XPolyPolygon2D should be monotonically decreasing
+ with t (unless singularities in e.g. the resulting gradient
+ are desired).
+ */
+ XPolyPolygon2D getOutline( [in] double t )
+ raises (com::sun::star::lang::IllegalArgumentException);
+
+
+ /** Query the color value for the polygonal area at the specified
+ parameter value.
+
+ @param t
+ Parameter value in the range [0,1]. During painting, this
+ range is swept through starting from 0.
+ */
+ sequence<ColorComponent> getColor( [in] double t )
+ raises (com::sun::star::lang::IllegalArgumentException);
+
+
+ /** Query the color for a dedicated point in the plane.
+
+ @param point
+ The permissible parameter range for point is [0,1]x[0,1]
+ */
+ sequence<ColorComponent> getPointColor( [in] ::com::sun::star::geometry::RealPoint2D point )
+ raises (com::sun::star::lang::IllegalArgumentException);
+
+
+ /** Query the color space employed by this object
+
+ @return the color space the colors generated by this object
+ are to be interpreted in.
+ */
+ XColorSpace getColorSpace();
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/XPolyPolygon2D.idl b/offapi/com/sun/star/rendering/XPolyPolygon2D.idl
new file mode 100644
index 000000000..c286a1648
--- /dev/null
+++ b/offapi/com/sun/star/rendering/XPolyPolygon2D.idl
@@ -0,0 +1,114 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_rendering_XPolyPolygon2D_idl__
+#define __com_sun_star_rendering_XPolyPolygon2D_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/rendering/FillRule.idl>
+#include <com/sun/star/geometry/RealPoint2D.idl>
+
+module com { module sun { module star { module rendering {
+
+/** Generic interface for poly-polygons in 2D.
+
+ @since OOo 2.0
+ */
+interface XPolyPolygon2D : ::com::sun::star::uno::XInterface
+{
+ /** Add the specified poly-polygon at the given position.
+
+ One can do symbolic path construction with this method. The
+ poly-polygons added by this method are not joined in the sense
+ that they participate in mutual fill rule calculations like
+ the polygons inside a single poly-polygon do. When rendering
+ such a poly-polygon without transparency, it will look like the
+ constituting poly-polygons rendered separately on top of
+ another. Alas, when rendering with transparency, separate
+ rendering will combine the alpha of overlapping areas, whereas
+ addPolyPolygon results in constant alpha, regardless how many
+ internal poly-polygons overlap at a single place.
+
+ @param position
+ The poly-polygon will be added at the given position, i.e. the
+ upper, left edge of the referenced poly-polygon will be at
+ this position relative to the target poly-polygon.
+
+ @param polyPolygon
+ The poly-polygon to add. Note that the content of this
+ poly-polygon is copied, later changes to polyPolygon will have
+ no effect on the poly-polygon it was added to.
+
+ @throws a
+ com::sun::star::lang::IllegalArgumentException,
+ if the XPolyPolygon2D parameter does not support one of the
+ data-providing derivative interfaces
+ (XBezierPolyPolygon2D,
+ XLinePolyPolygon2D).
+ */
+ void addPolyPolygon( [in] ::com::sun::star::geometry::RealPoint2D position, [in] XPolyPolygon2D polyPolygon )
+ raises (com::sun::star::lang::IllegalArgumentException);
+
+
+ /** Query number of polygons inside this poly-polygon
+ */
+ long getNumberOfPolygons();
+
+
+ /** Query number of points inside given polygon
+
+ @param polygon
+ The index of the polygon to query the number of points
+ for. Must be in the range [0,getNumberOfPolygons()-1].
+ */
+ long getNumberOfPolygonPoints( [in] long polygon )
+ raises (com::sun::star::lang::IndexOutOfBoundsException);
+
+
+ /** Query the rule used to determine inside and outside of the
+ poly-polygon.
+ */
+ FillRule getFillRule();
+
+
+ /** Set the rule used to determine inside and outside of the
+ poly-polygon.
+ */
+ void setFillRule( [in] FillRule fillRule );
+
+
+ /** Query whether the specified polygon outline is closed.
+ */
+ boolean isClosed( [in] long index )
+ raises (com::sun::star::lang::IndexOutOfBoundsException);
+
+
+ /** Set the close state of the specified polygon outline. Use -1
+ as the index to affect all polygons of this poly-polygon.
+ */
+ void setClosed( [in] long index, [in] boolean closedState )
+ raises (com::sun::star::lang::IndexOutOfBoundsException);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/XSimpleCanvas.idl b/offapi/com/sun/star/rendering/XSimpleCanvas.idl
new file mode 100644
index 000000000..0e81b7f8c
--- /dev/null
+++ b/offapi/com/sun/star/rendering/XSimpleCanvas.idl
@@ -0,0 +1,246 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_rendering_XSimpleCanvas_idl__
+#define __com_sun_star_rendering_XSimpleCanvas_idl__
+
+#include <com/sun/star/util/Color.idl>
+#include <com/sun/star/geometry/RealPoint2D.idl>
+#include <com/sun/star/geometry/RealRectangle2D.idl>
+#include <com/sun/star/geometry/AffineMatrix2D.idl>
+#include <com/sun/star/rendering/StringContext.idl>
+#include <com/sun/star/rendering/ViewState.idl>
+#include <com/sun/star/rendering/RenderState.idl>
+#include <com/sun/star/rendering/FontMetrics.idl>
+
+
+module com { module sun { module star { module rendering {
+
+interface XCanvas;
+interface XCanvasFont;
+interface XBitmap;
+interface XGraphicDevice;
+interface XPolyPolygon2D;
+
+/** Provides the basic graphical output operations for a canvas.<p>
+
+ This interface is a simplified version of the XCanvas
+ interface. It holds explicit state, i.e. the pen and fill color,
+ the current transformation, clip and font are persistently
+ remembered.<p>
+
+ In contrast to the XCanvas interface, XSimpleCanvas
+ does not distinguish between stroke and fill operations; instead,
+ switching between stroke and fill (or taking both) works by
+ setting appropriate pen and fill colors.<p>
+ */
+interface XSimpleCanvas: com::sun::star::uno::XInterface
+{
+ /** Select a font.<p>
+
+ This method selects the specified font (or a close substitute)
+ as the current font for text output.<p>
+
+ @param sFontName
+ The name of the font (like e.g. Arial)
+
+ @param size
+ The size of the font (note that this is not the usual points
+ unit, but in the same coordinate system as the other rendering
+ operations - usually, device pixel).
+
+ @param bold
+ When true, selected font is bold.
+
+ @param italic
+ When true, selected font is italic
+ */
+ void selectFont( [in] string sFontName, [in]double size, [in] boolean bold, [in] boolean italic );
+
+
+ /** Sets the color used by line and text operations.<p>
+
+ To disable stroking, simply set this color to something with
+ zero alpha (i.e. fully transparent).<p>
+
+ @param nsRgbaColor
+ RGBA color tuple, interpreted in the sRGB color space.
+ */
+ void setPenColor( [in] com::sun::star::util::Color nsRgbaColor );
+
+
+ /** Sets the fill color.<p>
+
+ To disable filling, simply set this color to something with
+ zero alpha (i.e. fully transparent).<p>
+
+ @param nsRgbaColor
+ RGBA color tuple, interpreted in the sRGB color space.
+ */
+ void setFillColor( [in] com::sun::star::util::Color nsRgbaColor );
+
+
+ /** Sets the clip to the specified rectangle.<p>
+ */
+ void setRectClip( [in] ::com::sun::star::geometry::RealRectangle2D aRect );
+
+
+ /** Set the current transform matrix.<p>
+ */
+ void setTransformation( [in] ::com::sun::star::geometry::AffineMatrix2D aTransform );
+
+
+ /** Sets a single pixel on the canvas.<p>
+ */
+ void drawPixel( [in] ::com::sun::star::geometry::RealPoint2D aPoint );
+
+
+ /** Draws a line on the canvas.<p>
+ */
+ void drawLine( [in] ::com::sun::star::geometry::RealPoint2D aStartPoint,
+ [in] ::com::sun::star::geometry::RealPoint2D aEndPoint );
+
+
+ /** Draws a rectangle on the canvas.<p>
+ */
+ void drawRect( [in] ::com::sun::star::geometry::RealRectangle2D aRect );
+
+
+ /** Draws a poly-polygon on the canvas.<p>
+ */
+ void drawPolyPolygon( [in] XPolyPolygon2D xPolyPolygon );
+
+
+ /** Draws text on the canvas.<p>
+
+ @param aText
+ Text to render. The text color is the current pen color.
+
+ @param aOutPos
+ Output position of the text. This is the left or right edge,
+ depending on nTextDirection. Output position is always
+ relative to the font baseline.
+
+ @param nTextDirection
+ A value from the TextDirection collection,
+ denoting the main writing direction for this string. The main
+ writing direction determines the origin of the text output,
+ i.e. the left edge for left-to-right and the right edge for
+ right-to-left text.
+ */
+ void drawText( [in] StringContext aText,
+ [in] ::com::sun::star::geometry::RealPoint2D aOutPos,
+ [in] byte nTextDirection );
+
+
+ /** Draws the bitmap on the canvas.<p>
+
+ @param xBitmap
+ Bitmap to render
+
+ @param aLeftTop
+ Left, top position of the bitmap on the destination canvas.
+ */
+ void drawBitmap( [in] XBitmap xBitmap,
+ [in] ::com::sun::star::geometry::RealPoint2D aLeftTop );
+
+
+ /** Request the associated graphic device for this canvas.<p>
+
+ A graphic device provides methods specific to the underlying
+ output device capabilities, which are common for all canvases
+ rendering to such a device. This includes device resolution,
+ color space, or bitmap formats.<p>
+
+ @return the associated XGraphicDevice.
+ */
+ XGraphicDevice getDevice();
+
+
+ /** Query the underlying XCanvas.<p>
+
+ @return the canvas interface this object is internally based
+ on.
+ */
+ XCanvas getCanvas();
+
+
+ /** Request the font metrics of the current font.<p>
+
+ @return the font metrics of the currently selected font.
+ */
+ FontMetrics getFontMetrics();
+
+
+ /** Retrieve currently selected font.<p>
+
+ @return the font instance that's currently used for rendering
+ text.
+ */
+ XCanvasFont getCurrentFont();
+
+
+ /** Retrieve color currently used for lines.
+ */
+ com::sun::star::util::Color getCurrentPenColor();
+
+
+ /** Retrieve color currently used for fills
+ */
+ com::sun::star::util::Color getCurrentFillColor();
+
+
+ /** Retrieve current clip rect
+ */
+ com::sun::star::geometry::RealRectangle2D getCurrentClipRect();
+
+
+ /** Retrieve current transformation matrix
+ */
+ com::sun::star::geometry::AffineMatrix2D getCurrentTransformation();
+
+
+ /** Retrieve view state.<p>
+
+ @return the view state, that would generate matching output,
+ when rendering to an XCanvas instead.
+ */
+ ViewState getCurrentViewState();
+
+
+ /** Retrieve render state.<p>
+
+ @param bUseFillColor
+ When true, the Color member of the RenderState is initialized
+ with the current fill color; when false, the current pen color
+ is used.
+
+ @return the render state, that would generate matching output,
+ when rendering to an XCanvas instead.
+ */
+ RenderState getCurrentRenderState( [in] boolean bUseFillColor );
+
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/XSprite.idl b/offapi/com/sun/star/rendering/XSprite.idl
new file mode 100644
index 000000000..3186fc1ff
--- /dev/null
+++ b/offapi/com/sun/star/rendering/XSprite.idl
@@ -0,0 +1,190 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_rendering_XSprite_idl__
+#define __com_sun_star_rendering_XSprite_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/geometry/RealPoint2D.idl>
+#include <com/sun/star/geometry/AffineMatrix2D.idl>
+#include <com/sun/star/rendering/ViewState.idl>
+#include <com/sun/star/rendering/RenderState.idl>
+
+module com { module sun { module star { module rendering {
+
+/** Interface to control a sprite object.<p>
+
+ This is the basic interface to control a sprite object on a
+ XSpriteCanvas. Sprites are moving, back-buffered
+ objects.<p>
+ */
+interface XSprite : ::com::sun::star::uno::XInterface
+{
+ /** Set overall transparency of the sprite.<p>
+
+ This method is useful for e.g. fading in/out of animations.<p>
+
+ Please note that if this sprite is not animated, the
+ associated XSpriteCanvas does not update changed
+ sprites automatically, but has to be told to do so via
+ XSpriteCanvas::updateScreen().<p>
+
+ @param nAlpha
+ New global alpha value to composite this sprite with the
+ background. Valid range is [0,1].
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if nAlpha is not within the permissible range.
+ */
+ void setAlpha( [in] double nAlpha )
+ raises (com::sun::star::lang::IllegalArgumentException);
+
+
+ /** Move sprite to the specified position.<p>
+
+ The position specified here is first transformed by the
+ combined view and render transformation. The resulting
+ position is then used as the output position (also in device
+ coordinates) of the rendered sprite content.<p>
+
+ Please note that if this sprite is not animated, the
+ associated XSpriteCanvas does not update changed sprites
+ automatically, but has to be told to do so via
+ XSpriteCanvas::updateScreen().<p>
+
+ @param aNewPos
+ The new position, in user coordinate space, to move the sprite to.
+
+ @param aViewState
+ The view state to be used when interpreting aNewPos.
+
+ @param aRenderState
+ The render state to be used when interpreting aNewPos.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if one of the view and render state parameters are outside the
+ specified range.
+ */
+ void move( [in] ::com::sun::star::geometry::RealPoint2D aNewPos, [in] ViewState aViewState, [in] RenderState aRenderState )
+ raises (com::sun::star::lang::IllegalArgumentException);
+
+
+ /** Apply a local transformation to the sprite.<p>
+
+ The given transformation matrix locally transforms the sprite
+ shape. If this transformation contains translational
+ components, be aware that sprite content moved beyond the
+ sprite area (a box from (0,0) to (spriteWidth,spriteHeight))
+ might (but need not) be clipped. Use
+ XSprite::move() to change the sprite location
+ on screen. The canvas implementations are free, if they have a
+ cached representation of the sprite at hand, to transform only
+ this cached representation (e.g. a bitmap), instead of
+ re-rendering the sprite from first principles. This is usually
+ the case for an implementation of a XCustomSprite
+ interface, since it typically has no other cached pictorial
+ information at hand.<p>
+
+ Please note that if this sprite is not animated, the
+ associated XSpriteCanvas does not update changed
+ sprites automatically, but has to be told to do so via
+ XSpriteCanvas::updateScreen().<p>
+
+ @param aTransformation
+ The transformation to apply to the sprite shape.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the given transformation matrix is singular.
+ */
+ void transform( [in] com::sun::star::geometry::AffineMatrix2D aTransformation )
+ raises (com::sun::star::lang::IllegalArgumentException);
+
+
+ /** Apply a clipping to the shape output.<p>
+
+ The given clip poly-polygon is always interpreted in device
+ coordinate space. As the sprite has its own local coordinate
+ system, with its origin on screen being equal to its current
+ position, the clip poly-polygon's origin will always coincide
+ with the sprite's origin. Furthermore, if any sprite
+ transformation is set via transform(), the clip is subject to
+ this transformation, too. The implementation is free, if it
+ has a cached representation of the sprite at hand, to
+ clip-output only this cached representation (e.g. a bitmap),
+ instead of re-rendering the sprite from first principles. This
+ is usually the case for an implementation of a
+ XCustomSprite interface, since it typically has
+ no other cached pictorial information at hand.<p>
+
+ Please note that if this sprite is not animated, the
+ associated XSpriteCanvas does not update changed
+ sprites automatically, but has to be told to do so via
+ XSpriteCanvas::updateScreen().<p>
+
+ Specifying an empty interface denotes no clipping,
+ i.e. everything contained in the sprite will be visible
+ (subject to device-dependent constraints, of
+ course). Specifying an empty XPolyPolygon2D, i.e. a
+ poly-polygon containing zero polygons, or an XPolyPolygon2D
+ with any number of empty sub-polygons, denotes the NULL
+ clip. That means, nothing from the sprite will be visible.<p>
+
+ @param aClip
+ The clip poly-polygon to apply.
+ */
+ void clip( [in] XPolyPolygon2D aClip );
+
+
+ /** Set sprite priority.<p>
+
+ The sprite priority determines the order of rendering relative
+ to all other sprites of the associated canvas. The higher the
+ priority, the later will the sprite be rendered, or, in other
+ words, the closer to the screen surface the sprite is shown.<p>
+
+ @param nPriority
+ New sprite priority value to serve as the sort key when
+ determining sprite rendering order. Avoid NaNs and other
+ irregular floating point values here, the order position for
+ sprites with such a priority value is undefined.
+ */
+ void setPriority( [in] double nPriority );
+
+
+ /** Make the sprite visible.<p>
+
+ This method makes the sprite visible on the canvas it was
+ created on.<p>
+ */
+ void show();
+
+
+ /** Make the sprite invisible.<p>
+
+ This method makes the sprite invisible.<p>
+ */
+ void hide();
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/XSpriteCanvas.idl b/offapi/com/sun/star/rendering/XSpriteCanvas.idl
new file mode 100644
index 000000000..f15b02b8e
--- /dev/null
+++ b/offapi/com/sun/star/rendering/XSpriteCanvas.idl
@@ -0,0 +1,145 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_rendering_XSpriteCanvas_idl__
+#define __com_sun_star_rendering_XSpriteCanvas_idl__
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/rendering/XBitmapCanvas.idl>
+#include <com/sun/star/rendering/XAnimation.idl>
+#include <com/sun/star/rendering/VolatileContentDestroyedException.idl>
+
+module com { module sun { module star { module rendering {
+
+interface XSprite;
+interface XAnimatedSprite;
+interface XCustomSprite;
+
+/** Specialization of a XCanvas, where moving, animated objects
+ (called sprites) are supported.<p>
+
+ @attention The screen output of canvas drawing operations is
+ undefined, unless XSpriteCanvas::updateScreen() is called. This is
+ because a sprite canvas might choose to employ double buffering to
+ reduce animation flicker, and cannot know the instant suitable to
+ display the newly rendered canvas content. When using external
+ double-buffering via XBufferController on a sprite canvas, the
+ implementation takes care of this issue, and in this case is able
+ to render correctly even without explicit updateScreen() calls
+ (because there's a defined moment in time where content display
+ can happen, namely the XBufferController::showBuffer()) call. If
+ you don't need sprite functionality, and don't want the
+ updateScreen hassle, simply use the XCanvas.
+ */
+interface XSpriteCanvas : XCanvas
+{
+ /** Create a sprite object from the specified animation
+ sequence. A sprite is a back-buffered object with its own,
+ independent animation.
+ */
+ XAnimatedSprite createSpriteFromAnimation( [in] XAnimation animation )
+ raises (com::sun::star::lang::IllegalArgumentException);
+
+ /** Create a sprite object from the specified animation
+ sequence.
+
+ A sprite is a back-buffered object with its own,
+ independent animation.
+
+ @param animationBitmaps
+ Sequence of bitmaps. The bitmaps don't need to have the same
+ size, but they are all rendered with their left, top edges
+ aligned.
+
+ @param interpolationMode
+ Value of InterpolationMode, to determine whether
+ and how to interpolate between the provided bitmaps, if
+ animation runs fast enough.
+
+ @throws VolatileContentDestroyedException
+ if at least one of the bitmap is volatile, and its content has been destroyed by the system.
+ */
+ XAnimatedSprite createSpriteFromBitmaps( [in] sequence<XBitmap> animationBitmaps, [in] byte interpolationMode )
+ raises (com::sun::star::lang::IllegalArgumentException,
+ VolatileContentDestroyedException);
+
+ /** Create a custom, user-handles-it-all sprite object.
+
+ A sprite is a back-buffered object with its own, independent
+ animation.
+
+ @param spriteSize
+ The required size of the sprite in device
+ coordinates. Everything that is rendered outside this area
+ might be clipped on output. Both components of the size must
+ be greater than zero.
+
+ @return an interface to a custom sprite object.
+ */
+ XCustomSprite createCustomSprite( [in] ::com::sun::star::geometry::RealSize2D spriteSize )
+ raises (com::sun::star::lang::IllegalArgumentException);
+
+ /** Create a cloned version of an already existing sprite
+ object.
+
+ The cloned sprite always shows the same content as its
+ original, but of course the sprite position, visibility, alpha
+ etc. can be modified independently.
+
+ @param original
+ The original sprite to copy the content from. This sprite must
+ have been created by the same XSpriteCanvas instance as this
+ method is called on. Other sprite instances will generate an
+ IllegalArgumentException.
+
+ @return an interface to a sprite object.
+ */
+ XSprite createClonedSprite( [in] XSprite original )
+ raises (com::sun::star::lang::IllegalArgumentException);
+
+ /** Tells the sprite canvas to now update the screen
+ representation.
+
+ Required to display rendered changes to the canvas, and
+ updates to stopped animations and XCustomSprites in
+ general. This method will return only after the screen update
+ is done, or earlier if an error happened.<p>
+
+ If double buffering is enabled via XBufferController, no
+ explicit call of updateScreen() is necessary, since the
+ XBufferController methods will automatically notify all
+ associated XSpriteCanvas instances.<p>
+
+ @param bUpdateAll
+ When `TRUE`, update the whole screen. When `FALSE`,
+ implementation is permitted to restrict update to areas the
+ canvas itself changed (e.g. because of render operations, or
+ changes on the sprites). The former is useful for updates
+ after window expose events. the latter for animation display.
+
+ @return `TRUE`, if the screen update was successfully
+ performed
+ */
+ boolean updateScreen( [in] boolean bUpdateAll );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/XTextLayout.idl b/offapi/com/sun/star/rendering/XTextLayout.idl
new file mode 100644
index 000000000..dc71f857e
--- /dev/null
+++ b/offapi/com/sun/star/rendering/XTextLayout.idl
@@ -0,0 +1,396 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_rendering_XTextLayout_idl__
+#define __com_sun_star_rendering_XTextLayout_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#include <com/sun/star/geometry/RealPoint2D.idl>
+#include <com/sun/star/geometry/RealBezierSegment2D.idl>
+#include <com/sun/star/geometry/RealRectangle2D.idl>
+#include <com/sun/star/rendering/ViewState.idl>
+#include <com/sun/star/rendering/RenderState.idl>
+#include <com/sun/star/rendering/StringContext.idl>
+#include <com/sun/star/rendering/TextHit.idl>
+#include <com/sun/star/rendering/Caret.idl>
+
+
+module com { module sun { module star { module rendering {
+
+interface XCanvas;
+interface XCanvasFont;
+interface XPolyPolygon2D;
+
+/** This is the central interface for text layouting.<p>
+
+ This is the central interface for text-related tasks more
+ complicated than simple string rendering. Note that all query
+ methods are subject to the current layout state of this
+ object. That is, calls to XTextLayout::justify()
+ or XTextLayout::applyLogicalAdvancements() are
+ likely to change subsequent output of those query methods.<p>
+
+ Similar to XCanvasFont, all measurements and
+ coordinates accepted and returned by this interface are relative
+ to the font's local coordinate system (which only equals device
+ coordinate space, if the combined render transformation used
+ during text output is the identity transformation). Conversely, if
+ the combined transformation used during text output is
+ <em>not</em> the identity transformation, all measurements
+ returned by this interface should be subjected to that
+ transformation, to yield values in device coordinate space.
+ Depending on the underlying font technology, actual device output
+ might be off by up to one device pixel from the transformed
+ metrics.<p>
+
+ @since OOo 2.0
+ */
+interface XTextLayout : ::com::sun::star::uno::XInterface
+{
+ /** Extract the polygonal shapes of the layouted text.<p>
+
+ Each glyph is represented by a separate
+ XPolyPolygon2D in the returned sequence.<p>
+
+ @returns a sequence of XPolyPolygon2D in font
+ coordinate space, one for every glyph.
+ */
+ sequence<XPolyPolygon2D> queryTextShapes();
+
+
+ /** Query the ink bounding boxes for every glyph in the layouted
+ text.<p>
+
+ Ink, or tight bounding boxes in this case means that for
+ e.g. an "a", the bounding box for the
+ XPolyPolygon2D describing the glyph "a" is
+ returned, not the logical dimensions of the character in the
+ font.<p>
+
+ @returns a sequence of rectangles in font coordinate space,
+ specifying the bounds, one for every glyph.
+
+ @see XTextLayout::queryMeasures()
+ */
+ sequence<::com::sun::star::geometry::RealRectangle2D > queryInkMeasures();
+
+
+ /** Query the logical bounding boxes of every character in the
+ given text string.<p>
+
+ Logical bounding boxes means the space that the font allocates
+ for the given character, which, e.g. for a ".", might be
+ significantly broader than the bounds returned via
+ XTextLayout::queryInkMeasures().
+
+ @returns a sequence of rectangles specifying the bounds in
+ font coordinate space, one for every glyph.
+
+ @see XTextLayout::queryInkMeasures()
+ */
+ sequence<::com::sun::star::geometry::RealRectangle2D> queryMeasures();
+
+
+ /** Query the advancements for every character in the input string.<p>
+
+ This method returns a sequence of advancements, one for each
+ character in the input string (<em>not</em> for every
+ glyph. There might be multiple glyphs per input character, or
+ multiple input characters per glyph).
+
+ An advancement value is the distance of the glyph to the beginning
+ edge, which is left for LTR text and is right for RTL text. The
+ maximum of the advancements can be deemed as the width of the whole
+ text layout.
+
+ This method can be used to query for the layout's default
+ advancements, which can subsequently be changed and applied to
+ the layout via
+ XTextLayout::applyLogicalAdvancements().<p>
+
+ @returns a sequence of double specifying the
+ advancements per character in font coordinate space.
+
+ @see XTextLayout::applyLogicalAdvancements()
+ */
+ sequence<double> queryLogicalAdvancements();
+
+
+ /** Apply explicit advancements for every character in the layout
+ string.<p>
+
+ This method applies the specified advancements to every
+ logical character in the input string (<em>not</em> for every
+ glyph. There might be multiple glyphs per input character, or
+ multiple input characters per glyph). This is useful to
+ explicitly manipulate the exact output positions of
+ characters, e.g. relative to a reference output device.<p>
+
+ @param aAdvancements
+ A sequence of character advancements, in font coordinate
+ space.
+
+ @see XTextLayout::queryLogicalAdvancements()
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the size of aAdvancements does not match the number of
+ characters in the text.
+ */
+ void applyLogicalAdvancements( [in] sequence< double > aAdvancements )
+ raises (com::sun::star::lang::IllegalArgumentException);
+
+
+ /** Query the overall bounding box of the text.<p>
+
+ This method is similar to
+ XTextLayout::queryTextMeasures(), only that the
+ overall bounds are returned by this method.<p>
+
+ @return the overall bounding box for the given layout, in font
+ coordinate space.
+ */
+ ::com::sun::star::geometry::RealRectangle2D queryTextBounds();
+
+
+ /** Justify the text to the given size.<p>
+
+ This method is the core of the XTextLayout
+ interface, because it layouts the text in a typographically
+ correct way into the available space.<p>
+
+ @param nSize
+ The requested size of the text after justification (either
+ width or height, depending on the writing mode). This
+ parameter is interpreted in font coordinate space.
+
+ @return the actual size of the text after the justification in
+ the font coordinate space. Depending on the font and the
+ script type, this might be somewhat different from the size
+ requested. If the requested size was smaller than the
+ justification algorithm could compress the text, this value
+ might even be significantly larger than nSize.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if nSize is 0 or negative.
+ */
+ double justify( [in] double nSize )
+ raises (com::sun::star::lang::IllegalArgumentException);
+
+
+ /** Justify a number of text layouts to the given size.<p>
+
+ This method can be used to combine the layout of a text line
+ into a single justification run. This is e.g. useful if the
+ line consists of several text portions (e.g. because of
+ different fonts or colors), but it is desirable to spread the
+ available space more globally across the different layout
+ objects. If, for example, one layout object contains
+ significantly more whitespace or Kashidas than the rest, this
+ method can assign proportionally more space to this layout
+ object.<p>
+
+ @param aNextLayouts
+ A sequence of layouts following this one in logical text
+ order.
+
+ @param nSize
+ The requested size of the text for <em>all</em>
+ XTextLayouts after justification in font
+ coordinate space (either width or height, depending on the
+ writing mode).
+
+ @return the actual size of the text after the justification,
+ in font coordinate space. Depending on the font and the
+ script type, this might be somewhat different from the size
+ requested. If the requested size was smaller than the
+ justification algorithm could compress the text, this value
+ might even be significantly larger than nSize.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if one of the parameters are not in the valid range.
+ */
+ double combinedJustify( [in] sequence< XTextLayout > aNextLayouts, [in] double nSize )
+ raises (com::sun::star::lang::IllegalArgumentException);
+
+
+ /** This method determines the hit position in the text.<p>
+
+ This method determines the index of the character hit at the
+ specified position (in font coordinate space).<p>
+
+ @param aHitPoint
+ The position in font coordinate space to determine the
+ underlying character index for.
+
+ */
+ TextHit getTextHit( [in] ::com::sun::star::geometry::RealPoint2D aHitPoint );
+
+
+ /** This method converts an insertion index to a caret.<p>
+
+ This method generates caret information for a given insertion
+ point in the layout text.<p>
+
+ @param nInsertionIndex
+ The insertion index, as e.g. returned by
+ XTextLayout::getTextHit(). This value must be
+ in the range 0 up to the number of characters in the string.
+
+ @param bExcludeLigatures
+ Set this to `TRUE` to skip the positions inside ligatures as
+ valid caret placements. For example, this would avoid setting
+ the caret between the "f" and the "i" in a "fi" ligature.
+
+ @returns the generated Caret structure.
+
+ @throws com::sun::star::lang::IndexOutOfBoundsException
+ if nInsertionIndex is outside the permissible range.
+ */
+ Caret getCaret( [in] long nInsertionIndex,
+ [in] boolean bExcludeLigatures )
+ raises (com::sun::star::lang::IndexOutOfBoundsException);
+
+
+ /** This method calculates a new insertion index.<p>
+
+ This method calculates a new insertion index, given a start
+ index and the number of characters to skip. This is most
+ useful for caret traveling.<p>
+
+ @param nStartIndex
+ The insertion index to start from.
+
+ @param nCaretAdvancement
+ For values greater than 0, the caret is visually moved to the
+ right. For values smaller than 0, the caret is visually moved
+ to the left.
+
+ @param bExcludeLigatures
+ Set this to `TRUE` to skip the positions inside ligatures as
+ valid caret placements. For example, this would avoid setting
+ the caret between the "f" and the "i" in a "fi" ligature.
+
+ @returns the new insertion index.
+
+ @throws com::sun::star::lang::IndexOutOfBoundsException
+ if nStartIndex or nCaretAdvancement is outside the permissible
+ range.
+ */
+ long getNextInsertionIndex( [in] long nStartIndex,
+ [in] long nCaretAdvancement,
+ [in] boolean bExcludeLigatures )
+ raises (com::sun::star::lang::IndexOutOfBoundsException);
+
+
+ /** This method generates a highlight polygon.<p>
+
+ This method generates a highlighting polygon from two
+ insertion indices. This polygon will be visually continuous,
+ i.e. will not have non-highlighted text in between.<p>
+
+ @param nStartIndex
+ Start of the selection range.
+
+ @param nEndIndex
+ End of the selection range.
+
+ @return the highlight polygon in the font coordinate space.
+
+ @throws com::sun::star::lang::IndexOutOfBoundsException
+ if nStartIndex or nEndIndex are outside the permissible
+ range.
+ */
+ XPolyPolygon2D queryVisualHighlighting( [in] long nStartIndex,
+ [in] long nEndIndex )
+ raises (com::sun::star::lang::IndexOutOfBoundsException);
+
+
+ /** This method generates a highlight polygon.<p>
+
+ This method generates a highlighting polygon from two
+ insertion indices. This polygon will not always be visually
+ continuous, if e.g. the text direction changes in the middle
+ of the selection, the might be parts visually between start
+ and end position that are not selected.<p>
+
+ @param nStartIndex
+ Start of the selection range.
+
+ @param nEndIndex
+ End of the selection range.
+
+ @return the highlight polygon in the font coordinate space.
+
+ @throws com::sun::star::lang::IndexOutOfBoundsException
+ if nStartIndex or nEndIndex are outside the permissible
+ range.
+ */
+ XPolyPolygon2D queryLogicalHighlighting( [in] long nStartIndex,
+ [in] long nEndIndex )
+ raises (com::sun::star::lang::IndexOutOfBoundsException);
+
+
+ /** This method yields the baseline offset.<p>
+
+ This method returns the baseline offset for this layout
+ object, either measured from the top or the left edge,
+ depending on the writing direction (horizontally or
+ vertically). Since rendering this layout via
+ XCanvas::drawTextLayout() outputs relative to
+ the layout object's baseline, this method can be used to
+ e.g. output relative to the left, top edge.<p>
+
+ @returns the distance of the main baseline from the top or the
+ left edge of this object, depending on the writing direction.
+ */
+ double getBaselineOffset();
+
+
+ /** This method returns the main writing direction.<p>
+
+ This method returns the main writing direction of this layout,
+ i.e. either LEFT_TO_RIGHT or RIGHT_TO_LEFT.<p>
+
+ @returns the main text direction of this layout.
+ */
+ byte getMainTextDirection();
+
+
+ /** Request the associated font for this layout.
+
+ @returns the associated font for this layout.
+ */
+ XCanvasFont getFont();
+
+
+ /** Request the text this layout contains.
+
+ @returns the text this layout contains.
+ */
+ StringContext getText();
+
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/rendering/XVolatileBitmap.idl b/offapi/com/sun/star/rendering/XVolatileBitmap.idl
new file mode 100644
index 000000000..7924ccf1f
--- /dev/null
+++ b/offapi/com/sun/star/rendering/XVolatileBitmap.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_rendering_XVolatileBitmap_idl__
+#define __com_sun_star_rendering_XVolatileBitmap_idl__
+
+#include <com/sun/star/rendering/XBitmap.idl>
+
+module com { module sun { module star { module rendering {
+
+/** This is a specialized interface to a volatile bitmap (which can
+ become invalid at any point in time).
+ */
+interface XVolatileBitmap : XBitmap
+{
+ /** Query whether this volatile bitmap still has valid content.
+
+ As the video RAM allocated to this bitmap can be reclaimed at
+ any time, a return value of true here does not imply that the
+ next draw operation with this bitmap will succeed. Instead,
+ the exception VolatileContentDestroyed might then be thrown,
+ if lost bitmap data is accessed.
+ */
+ boolean isValid();
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/report/Calculation.idl b/offapi/com/sun/star/report/Calculation.idl
new file mode 100644
index 000000000..fc8259df4
--- /dev/null
+++ b/offapi/com/sun/star/report/Calculation.idl
@@ -0,0 +1,123 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_report_Calculation_idl__
+#define __com_sun_star_report_Calculation_idl__
+
+
+
+ module com { module sun { module star { module report {
+
+
+/** Specifies how to calculate a value.
+ @see XFormattedField
+ */
+constants Calculation
+{
+
+ /** returns the average of a field.
+ */
+ const short NONE = 0;
+
+ /** returns the average of a field.
+ */
+ const short AVERAGE = 1;
+
+ /** returns the correlation of two fields.
+ */
+ const short CORRELATION = 2;
+
+ /** counts the number of values, from the field.
+ */
+ const short COUNT = 3;
+
+ /** returns the measure of the linear relation between paired variables.
+ */
+ const short COVARIANCE = 4;
+
+ /** returns the number of none repeating values, from the field.
+ */
+ const short DISTINCTCOUNT = 5;
+
+ /** returns the largest value from the field.
+ */
+ const short MAXIMUM = 6;
+
+ /** returns the middle value in a sequence of numeric values.
+ */
+ const short MEDIAN = 7;
+
+ /** returns the smallest value from the field.
+ */
+ const short MINIMUM = 8;
+
+ /** returns the most frequently returning value from the field.
+ */
+ const short MODE = 9;
+
+ /** returns the Nth largest value from the field.
+ */
+ const short NTHLARGEST = 10;
+
+ /** returns the Nth most commonly occurring value from the field.
+ */
+ const short NTHMOSTFREQUENT = 11;
+
+ /** returns the Nth smallest value from the field.
+ */
+ const short NTHSMALLEST = 12;
+
+ /** returns as a percentage of the grand total summary.
+ */
+ const short PERCENTAGE = 13;
+
+ /** returns the value for a specified percentile in a Number or Currency field.
+ */
+ const short PERCENTILE = 14;
+
+ /** returns how much each value in the field deviate from the mean or average value for that field.
+ */
+ const short POPSTANDARDDEVIATION = 15;
+
+ /** returns the square of the standard deviation.
+ */
+ const short POPVARIANCE = 16;
+
+ /** returns the sample standard deviation for the field.
+ */
+ const short SAMPLESTANDARDDEVIATION = 17;
+
+ /** returns the sample variance for the field.
+ */
+ const short SAMPLEVARIANCE = 18;
+
+ /** returns the total of all the values for the field.
+ */
+ const short SUM = 19;
+
+ /** returns the weighted average for the field.
+ */
+ const short WEIGHTEDAVG = 20;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/report/FixedLine.idl b/offapi/com/sun/star/report/FixedLine.idl
new file mode 100644
index 000000000..260068621
--- /dev/null
+++ b/offapi/com/sun/star/report/FixedLine.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_report_FixedLine_idl__
+#define __com_sun_star_report_FixedLine_idl__
+
+#include <com/sun/star/report/XFixedLine.idl>
+
+
+ module com { module sun { module star { module report {
+
+service FixedLine : XFixedLine;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/report/FixedText.idl b/offapi/com/sun/star/report/FixedText.idl
new file mode 100644
index 000000000..a6c983964
--- /dev/null
+++ b/offapi/com/sun/star/report/FixedText.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_report_FixedText_idl__
+#define __com_sun_star_report_FixedText_idl__
+
+
+#include <com/sun/star/report/XFixedText.idl>
+
+ module com { module sun { module star { module report {
+
+
+service FixedText : XFixedText;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/report/ForceNewPage.idl b/offapi/com/sun/star/report/ForceNewPage.idl
new file mode 100644
index 000000000..76dd0e4a9
--- /dev/null
+++ b/offapi/com/sun/star/report/ForceNewPage.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_report_ForceNewPage_idl__
+#define __com_sun_star_report_ForceNewPage_idl__
+
+
+
+ module com { module sun { module star { module report {
+
+
+/** Specifies if the section will be printed on a separate page.
+ <p>This does not apply to page header or page footer.</p>
+ @see XSection
+ */
+constants ForceNewPage
+{
+
+ /** The current section is printed on the current page.
+ */
+ const short NONE = 0;
+
+ /** The current section is printed at the top of a new page.
+ */
+ const short BEFORE_SECTION = 1;
+
+ /** The next section following the current section is printed at the top of a new page.
+ */
+ const short AFTER_SECTION = 2;
+
+ /** The current section is printed at the top of a new page as well as the next section.
+ */
+ const short BEFORE_AFTER_SECTION = 3;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/report/FormatCondition.idl b/offapi/com/sun/star/report/FormatCondition.idl
new file mode 100644
index 000000000..44b53dda5
--- /dev/null
+++ b/offapi/com/sun/star/report/FormatCondition.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_report_FormatCondition_idl__
+#define __com_sun_star_report_FormatCondition_idl__
+
+#include <com/sun/star/report/XFormatCondition.idl>
+
+ module com { module sun { module star { module report {
+
+service FormatCondition : XFormatCondition;
+
+}; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/report/FormattedField.idl b/offapi/com/sun/star/report/FormattedField.idl
new file mode 100644
index 000000000..ba378edfe
--- /dev/null
+++ b/offapi/com/sun/star/report/FormattedField.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_report_FormattedField_idl__
+#define __com_sun_star_report_FormattedField_idl__
+
+#include <com/sun/star/report/XFormattedField.idl>
+
+
+ module com { module sun { module star { module report {
+
+
+service FormattedField : XFormattedField;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/report/Function.idl b/offapi/com/sun/star/report/Function.idl
new file mode 100644
index 000000000..4a463f323
--- /dev/null
+++ b/offapi/com/sun/star/report/Function.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_report_Function_idl__
+#define __com_sun_star_report_Function_idl__
+
+#include <com/sun/star/report/XFunction.idl>
+
+ module com { module sun { module star { module report {
+
+service Function : XFunction
+{
+ create();
+};
+
+}; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/report/Group.idl b/offapi/com/sun/star/report/Group.idl
new file mode 100644
index 000000000..5cf13a619
--- /dev/null
+++ b/offapi/com/sun/star/report/Group.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_report_Group_idl__
+#define __com_sun_star_report_Group_idl__
+
+#include <com/sun/star/report/XGroup.idl>
+
+
+ module com { module sun { module star { module report {
+
+service Group : XGroup;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/report/GroupKeepTogether.idl b/offapi/com/sun/star/report/GroupKeepTogether.idl
new file mode 100644
index 000000000..ff52a8a48
--- /dev/null
+++ b/offapi/com/sun/star/report/GroupKeepTogether.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_report_GroupKeepTogether_idl__
+#define __com_sun_star_report_GroupKeepTogether_idl__
+
+
+
+ module com { module sun { module star { module report {
+
+
+/** Specifies if groups in a multi column report where the group has the property
+ XGroup::KeepTogether set to WHOLE_GROUP or WITH_FIRST_DETAIL will keep together by page or column.
+ @see XGroup
+ */
+constants GroupKeepTogether
+{
+
+ /** Groups are kept together by page.
+ */
+ const short PER_PAGE = 0;
+
+ /** Groups are kept together by column.
+ */
+ const short PER_COLUMN = 1;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/report/GroupOn.idl b/offapi/com/sun/star/report/GroupOn.idl
new file mode 100644
index 000000000..5ddf96187
--- /dev/null
+++ b/offapi/com/sun/star/report/GroupOn.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_report_GroupOn_idl__
+#define __com_sun_star_report_GroupOn_idl__
+
+
+
+ module com { module sun { module star { module report {
+
+
+/** Specifies how to group data.
+ @see XGroup
+ */
+constants GroupOn
+{
+
+ /** The same value in the column value or expression.
+ */
+ const short DEFAULT = 0;
+
+ /** The same first nth of characters in the column value or expression.
+ */
+ const short PREFIX_CHARACTERS = 1;
+
+ /** Dates in the same calendar year.
+ */
+ const short YEAR= 2;
+
+ /** Dates in the same calendar quarter.
+ */
+ const short QUARTAL = 3;
+
+ /** Dates in the same month.
+ */
+ const short MONTH = 4;
+
+ /** Dates in the same week.
+ */
+ const short WEEK = 5;
+
+ /** Dates on the same date.
+ */
+ const short DAY = 6;
+
+ /** Times in the same hour.
+ */
+ const short HOUR = 7;
+
+ /** Times in the same minute.
+ */
+ const short MINUTE = 8;
+
+ /** Values within an interval you specify.
+ */
+ const short INTERVAL = 9;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/report/Groups.idl b/offapi/com/sun/star/report/Groups.idl
new file mode 100644
index 000000000..7c142a3d1
--- /dev/null
+++ b/offapi/com/sun/star/report/Groups.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_report_Groups_idl__
+#define __com_sun_star_report_Groups_idl__
+
+#include <com/sun/star/report/XGroups.idl>
+
+
+ module com { module sun { module star { module report {
+
+service Groups : XGroups;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/report/ImageControl.idl b/offapi/com/sun/star/report/ImageControl.idl
new file mode 100644
index 000000000..29045e671
--- /dev/null
+++ b/offapi/com/sun/star/report/ImageControl.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_report_ImageControl_idl__
+#define __com_sun_star_report_ImageControl_idl__
+
+#include <com/sun/star/report/XImageControl.idl>
+
+
+ module com { module sun { module star { module report {
+
+
+service ImageControl : XImageControl;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/report/KeepTogether.idl b/offapi/com/sun/star/report/KeepTogether.idl
new file mode 100644
index 000000000..05b75b034
--- /dev/null
+++ b/offapi/com/sun/star/report/KeepTogether.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_report_KeepTogether_idl__
+#define __com_sun_star_report_KeepTogether_idl__
+
+
+
+ module com { module sun { module star { module report {
+
+
+/** Specifies that a group header, detail, and footer section is printed on the same page.
+ @see XGroup
+ */
+constants KeepTogether
+{
+
+ /** Prints the group without keeping the header, detail, and footer together on the same page.
+ */
+ const short NO = 0;
+
+ /** Prints the group header, detail, and footer together on the same page.
+ */
+ const short WHOLE_GROUP = 1;
+
+ /** Prints the group header on a page when the first detail record can fit on the same page.
+ */
+ const short WITH_FIRST_DETAIL = 2;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/report/ReportControlFormat.idl b/offapi/com/sun/star/report/ReportControlFormat.idl
new file mode 100644
index 000000000..7d41c11b8
--- /dev/null
+++ b/offapi/com/sun/star/report/ReportControlFormat.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_report_ReportControlFormat_idl__
+#define __com_sun_star_report_ReportControlFormat_idl__
+
+#include <com/sun/star/report/XReportControlFormat.idl>
+
+
+ module com { module sun { module star { module report {
+
+
+service ReportControlFormat : XReportControlFormat;
+
+}; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/report/ReportControlModel.idl b/offapi/com/sun/star/report/ReportControlModel.idl
new file mode 100644
index 000000000..27314fa46
--- /dev/null
+++ b/offapi/com/sun/star/report/ReportControlModel.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_report_ReportControlModel_idl__
+#define __com_sun_star_report_ReportControlModel_idl__
+
+#include <com/sun/star/report/XReportControlModel.idl>
+
+
+ module com { module sun { module star { module report {
+
+
+service ReportControlModel : XReportControlModel;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/report/ReportDefinition.idl b/offapi/com/sun/star/report/ReportDefinition.idl
new file mode 100644
index 000000000..bc01c0551
--- /dev/null
+++ b/offapi/com/sun/star/report/ReportDefinition.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_report_ReportDefinition_idl__
+#define __com_sun_star_report_ReportDefinition_idl__
+
+#include <com/sun/star/report/XReportDefinition.idl>
+
+
+ module com { module sun { module star { module report {
+
+
+service ReportDefinition : XReportDefinition;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/report/ReportEngine.idl b/offapi/com/sun/star/report/ReportEngine.idl
new file mode 100644
index 000000000..4d58b6f84
--- /dev/null
+++ b/offapi/com/sun/star/report/ReportEngine.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_report_ReportEngine_idl__
+#define __com_sun_star_report_ReportEngine_idl__
+
+#include <com/sun/star/report/XReportEngine.idl>
+
+module com { module sun { module star { module report {
+
+/**
+ @since LibreOffice 4.1
+*/
+
+service ReportEngine : XReportEngine;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/report/ReportPrintOption.idl b/offapi/com/sun/star/report/ReportPrintOption.idl
new file mode 100644
index 000000000..4a8d867c8
--- /dev/null
+++ b/offapi/com/sun/star/report/ReportPrintOption.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_report_ReportPrintOption_idl__
+#define __com_sun_star_report_ReportPrintOption_idl__
+
+
+
+ module com { module sun { module star { module report {
+
+
+/** Specifies whether a page header or footer is printed on the same page as the report header or report footer.
+ */
+constants ReportPrintOption
+{
+
+ /** The page header/footer is printed on all pages.
+ */
+ const short ALL_PAGES = 0;
+
+ /** The page header/footer is not printed on the same page as the report header.
+ */
+ const short NOT_WITH_REPORT_HEADER = 1;
+
+ /** The page header/footer is not printed on the same page as the report footer.
+ */
+ const short NOT_WITH_REPORT_FOOTER = 2;
+
+ /** The page header/footer is not printed on the same page as the report header or footer.
+ */
+ const short NOT_WITH_REPORT_HEADER_FOOTER = 3;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/report/Section.idl b/offapi/com/sun/star/report/Section.idl
new file mode 100644
index 000000000..8afb8faf6
--- /dev/null
+++ b/offapi/com/sun/star/report/Section.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_report_Section_idl__
+#define __com_sun_star_report_Section_idl__
+
+#include <com/sun/star/report/XSection.idl>
+
+
+ module com { module sun { module star { module report {
+ interface XGroup;
+
+
+
+service Section : XSection;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/report/SectionPageBreak.idl b/offapi/com/sun/star/report/SectionPageBreak.idl
new file mode 100644
index 000000000..019027f1b
--- /dev/null
+++ b/offapi/com/sun/star/report/SectionPageBreak.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_report_SectionPageBreak_idl__
+#define __com_sun_star_report_SectionPageBreak_idl__
+
+
+
+ module com { module sun { module star { module report {
+
+
+/** Specifies that page breaks are allowed inside this section.
+ @see XSection
+ */
+constants SectionPageBreak
+{
+
+ /** Page breaks will never be inserted. If the section doesn't fit on a page than the content will be cut.
+ */
+ const short NONE = 0;
+
+ /** If the section doesn't fit on page than a page break will be inserted as long as the section fits. Inner sections will doesn't contain further page breaks.
+ */
+ const short SECTION = 1;
+
+ /** If the section doesn't fit on page than a page break will be inserted as long as the section fits.
+ */
+ const short AUTO = 2;
+};
+}; }; }; };
+/*=============================================================================
+=============================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/report/Shape.idl b/offapi/com/sun/star/report/Shape.idl
new file mode 100644
index 000000000..e4512ac26
--- /dev/null
+++ b/offapi/com/sun/star/report/Shape.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_report_Shape_idl__
+#define __com_sun_star_report_Shape_idl__
+
+#include <com/sun/star/report/XShape.idl>
+
+
+ module com { module sun { module star { module report {
+
+
+service Shape : XShape;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/report/XFixedLine.idl b/offapi/com/sun/star/report/XFixedLine.idl
new file mode 100644
index 000000000..a6141d5a9
--- /dev/null
+++ b/offapi/com/sun/star/report/XFixedLine.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_report_XFixedLine_idl__
+#define __com_sun_star_report_XFixedLine_idl__
+
+#include <com/sun/star/report/XReportControlModel.idl>
+#include <com/sun/star/drawing/CircleKind.idl>
+#include <com/sun/star/drawing/LineStyle.idl>
+
+#include <com/sun/star/util/Color.idl>
+#include <com/sun/star/drawing/LineDash.idl>
+
+ module com { module sun { module star { module report {
+
+interface XFixedLine
+{
+ interface XReportControlModel;
+
+ /** specifies the orientation of the control.
+
+ <pre>
+ 0: horizontal
+ 1: vertical (default)
+ </pre>
+ */
+ [attribute,bound] long Orientation
+ {
+ set raises ( com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+
+ /** This property contains the type of the line.
+ */
+ [attribute,bound] com::sun::star::drawing::LineStyle LineStyle;
+
+
+ /** This property contains the dash of the line.
+ */
+ [attribute,bound] com::sun::star::drawing::LineDash LineDash;
+
+
+ /** This property contains the line color.
+ */
+ [attribute,bound] com::sun::star::util::Color LineColor;
+
+
+ /** This property contains the extent of transparency.
+ */
+ [attribute,bound] short LineTransparence;
+
+
+ /** This property contains the width of the line in 1/100th mm.
+ */
+ [attribute,bound] long LineWidth;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/report/XFixedText.idl b/offapi/com/sun/star/report/XFixedText.idl
new file mode 100644
index 000000000..d9658fde2
--- /dev/null
+++ b/offapi/com/sun/star/report/XFixedText.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_report_XFixedText_idl__
+#define __com_sun_star_report_XFixedText_idl__
+
+#include <com/sun/star/report/XReportControlModel.idl>
+
+ module com { module sun { module star { module report {
+
+interface XFixedText
+{
+ interface XReportControlModel;
+
+ /** specifies the label of the control.
+ */
+ [attribute,bound] string Label;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/report/XFormatCondition.idl b/offapi/com/sun/star/report/XFormatCondition.idl
new file mode 100644
index 000000000..bc6383310
--- /dev/null
+++ b/offapi/com/sun/star/report/XFormatCondition.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_report_XFormatCondition_idl__
+#define __com_sun_star_report_XFormatCondition_idl__
+
+#include <com/sun/star/report/XReportControlFormat.idl>
+
+ module com { module sun { module star { module report {
+/** specifies a format condition for a control.
+*/
+interface XFormatCondition
+{
+ interface XReportControlFormat;
+
+ /** gives access to the properties.
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+ /** specifies if the condition is enabled or not.
+ */
+ [attribute,bound] boolean Enabled;
+
+ /** defines the formula of the format condition.
+ If the formula evaluates to `TRUE` then the format will be applied.
+ */
+ [attribute,bound] string Formula;
+};
+
+
+}; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/report/XFormattedField.idl b/offapi/com/sun/star/report/XFormattedField.idl
new file mode 100644
index 000000000..7e3d51cf3
--- /dev/null
+++ b/offapi/com/sun/star/report/XFormattedField.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_report_XFormattedField_idl__
+#define __com_sun_star_report_XFormattedField_idl__
+
+#include <com/sun/star/report/XReportControlModel.idl>
+#include <com/sun/star/util/XNumberFormatsSupplier.idl>
+
+
+ module com { module sun { module star { module report {
+
+/** describes a control which can be used for displaying values with an arbitrary formatting.
+
+ @see com::sun::star::report::XReportControlModel
+ @see com::sun::star::util::XNumberFormatsSupplier
+*/
+interface XFormattedField
+{
+ interface XReportControlModel;
+
+ /** specifies the format to be used when formatting the field input
+ and output.
+
+ <p>This value is meaningful relative to the FormatsSupplier attribute
+ only.</p>
+ */
+ [attribute,bound] long FormatKey;
+
+ /** supplies the formats the field should work with.
+ */
+ [attribute,bound] com::sun::star::util::XNumberFormatsSupplier FormatsSupplier;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/report/XFunction.idl b/offapi/com/sun/star/report/XFunction.idl
new file mode 100644
index 000000000..8c961f5c1
--- /dev/null
+++ b/offapi/com/sun/star/report/XFunction.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_report_XFunction_idl__
+#define __com_sun_star_report_XFunction_idl__
+
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/beans/Optional.idl>
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/container/XChild.idl>
+ module com { module sun { module star { module report {
+/** specifies a format condition for a control.
+*/
+interface XFunction
+{
+ /** gives access to the properties.
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+ /** allows life-time control of function instances.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ /** allows the navigation to the functions object.
+ The method setParent from XChild is not supported and will throw an exception when called.
+ */
+ interface com::sun::star::container::XChild;
+
+ /** specifies if the function should be evaluated before the report element will be executed.
+ */
+ [attribute,bound] boolean PreEvaluated;
+
+ /** specifies if sub reports should be traversed as well.
+ */
+ [attribute,bound] boolean DeepTraversing;
+
+ /** defines the name of the function
+ */
+ [attribute,bound] string Name;
+
+ /** defines the formula of this function
+ */
+ [attribute,bound] string Formula;
+
+ /** defines the formula for the initial value
+ */
+ [attribute,bound] com::sun::star::beans::Optional<string> InitialFormula;
+};
+
+
+}; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/report/XFunctions.idl b/offapi/com/sun/star/report/XFunctions.idl
new file mode 100644
index 000000000..cc299cbe9
--- /dev/null
+++ b/offapi/com/sun/star/report/XFunctions.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_report_XFunctions_idl__
+#define __com_sun_star_report_XFunctions_idl__
+
+#include <com/sun/star/container/XChild.idl>
+#include <com/sun/star/container/XContainer.idl>
+#include <com/sun/star/container/XIndexContainer.idl>
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/report/XFunction.idl>
+
+module com { module sun { module star { module report {
+
+interface XReportDefinition;
+
+/** This interface specifies the functions collections of the report definition or a group.
+ @see XFunction
+ @see XReportDefinition
+ */
+interface XFunctions
+{
+ /** allows to register listeners to be notified of changes in the container.
+ */
+ interface com::sun::star::container::XContainer;
+ /** gives access to the group elements.
+ The elements are of type XFunction.
+ */
+ interface com::sun::star::container::XIndexContainer;
+
+ /** allows the navigation to the report or group object.
+ The method setParent from XChild is not supported and will throw an exception when called.
+ */
+ interface com::sun::star::container::XChild;
+
+ /** allows life-time control of the functions instance.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ /** factory method for XFunction.
+ */
+ com::sun::star::report::XFunction createFunction();
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/report/XFunctionsSupplier.idl b/offapi/com/sun/star/report/XFunctionsSupplier.idl
new file mode 100644
index 000000000..7909ff710
--- /dev/null
+++ b/offapi/com/sun/star/report/XFunctionsSupplier.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_report_XFunctionsSupplier_idl__
+#define __com_sun_star_report_XFunctionsSupplier_idl__
+
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/container/XNameContainer.idl>
+ module com { module sun { module star { module report {
+
+interface XFunctions;
+/** specifies the functions supplier which are located in a report definition or a group.
+*/
+interface XFunctionsSupplier
+{
+ /** access to the functions
+ */
+ [attribute,readonly] com::sun::star::report::XFunctions Functions;
+};
+
+}; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/report/XGroup.idl b/offapi/com/sun/star/report/XGroup.idl
new file mode 100644
index 000000000..790f9a3cc
--- /dev/null
+++ b/offapi/com/sun/star/report/XGroup.idl
@@ -0,0 +1,130 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_report_XGroup_idl__
+#define __com_sun_star_report_XGroup_idl__
+
+#include <com/sun/star/container/NoSuchElementException.idl>
+#include <com/sun/star/report/XSection.idl>
+#include <com/sun/star/report/XGroups.idl>
+#include <com/sun/star/report/XFunctions.idl>
+
+ module com { module sun { module star { module report {
+
+
+/** identifies a XGroup.
+ A group is always a child of the groups collection in the report.
+ @see XReportDefinition
+ @see XGroups
+ */
+interface XGroup
+{
+ /** allows access to the groups collection of the report.
+ */
+ interface com::sun::star::container::XChild;
+
+ /** allows access to the properties of the instance.
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+ /** allows life-time control of group instances.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ /** gives access to functions defined in the group definition.
+ */
+ interface XFunctionsSupplier;
+
+ /** Defines if the group is sorted ascending or descending.
+ The default is `TRUE`.
+ */
+ [attribute,bound] boolean SortAscending;
+
+ /** Defines if a group has a header.
+ */
+ [attribute,bound] boolean HeaderOn;
+
+ /** Defines if a group has a footer.
+ */
+ [attribute,bound] boolean FooterOn;
+
+ /** returns the group header.
+ @throws com::sun::star::container::NoSuchElementException
+ If the group has the header disabled.
+ @see XSection
+ */
+
+ [attribute,readonly] XSection Header
+ {
+ get raises (com::sun::star::container::NoSuchElementException);
+ };
+
+ /** returns the group footer.
+ @throws com::sun::star::container::NoSuchElementException
+ If the group has the footer disabled.
+ @see XSection
+ */
+ [attribute,readonly,bound] XSection Footer
+ {
+ get raises (com::sun::star::container::NoSuchElementException);
+ };
+
+ /** Specifies how to group data.
+ @see GroupOn
+ */
+ [attribute,bound] short GroupOn
+ {
+ set raises (com::sun::star::lang::IllegalArgumentException);
+ };
+
+ /** Defines an interval value that rows are grouped by.
+ */
+ [attribute,bound] long GroupInterval;
+
+ /** Specifies if a group header, detail, and footer section is printed on the same page.
+ @see KeepTogether
+ */
+ [attribute,bound] short KeepTogether
+ {
+ set raises (com::sun::star::lang::IllegalArgumentException);
+ };
+
+ /** Specifies the parent of the group.
+ @see XChild
+ */
+ [attribute,readonly] com::sun::star::report::XGroups Groups;
+
+ /** Defines either a column name or an expression.
+ */
+ [attribute,bound] string Expression;
+
+ /** Specifies that the group header should always be printed on a new column.
+ */
+ [attribute,bound] boolean StartNewColumn;
+
+ /** Specifies that the group header should always be printed on a new page and the reset of the page number to zero.
+ */
+ [attribute,bound] boolean ResetPageNumber;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/report/XGroups.idl b/offapi/com/sun/star/report/XGroups.idl
new file mode 100644
index 000000000..02784eeea
--- /dev/null
+++ b/offapi/com/sun/star/report/XGroups.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_report_XGroups_idl__
+#define __com_sun_star_report_XGroups_idl__
+
+#include <com/sun/star/container/XChild.idl>
+#include <com/sun/star/container/XContainer.idl>
+#include <com/sun/star/container/XIndexContainer.idl>
+#include <com/sun/star/lang/XComponent.idl>
+
+ module com { module sun { module star { module report {
+interface XReportDefinition;
+interface XGroup;
+
+/** This interface specifies the groups collections of the report definition.
+ @see XGroup
+ @see XReportDefinition
+ */
+interface XGroups
+{
+ /** allows to register listeners to be notified of changes in the container.
+ */
+ interface com::sun::star::container::XContainer;
+ /** gives access to the group elements.
+ The elements are of type XGroup.
+ */
+ interface com::sun::star::container::XIndexContainer;
+
+ /** allows the navigation to the report object.
+ */
+ interface com::sun::star::container::XChild;
+
+ /** allows life-time control of the groups instance.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ /** factory method for XGroup.
+ */
+ com::sun::star::report::XGroup createGroup();
+
+ [attribute,readonly] com::sun::star::report::XReportDefinition ReportDefinition;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/report/XImageControl.idl b/offapi/com/sun/star/report/XImageControl.idl
new file mode 100644
index 000000000..6701aa86b
--- /dev/null
+++ b/offapi/com/sun/star/report/XImageControl.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_report_XImageControl_idl__
+#define __com_sun_star_report_XImageControl_idl__
+
+#include <com/sun/star/report/XReportControlModel.idl>
+#include <com/sun/star/form/XImageProducerSupplier.idl>
+
+
+ module com { module sun { module star { module report {
+
+interface XImageControl
+{
+ interface XReportControlModel;
+
+ /** supplies the caller with a com::sun::star::awt::XImageProducer.
+
+ <p>Other components can register as com::sun::star::awt::XImageConsumer
+ at this producer. Then they will be notified of any change in the image to be displayed.</p>
+
+ <p>Whenever the com::sun::star::awt::UnoControlImageControlModel::ImageURL
+ property is changed, the model loads the specified image, and sets it as image source
+ at its com::sun::star::awt::XImageProducer. Then, all
+ com::sun::star::awt::XImageConsumers are notified and supplied with
+ the binary data of the image.<br/>
+ Usually, controls acting for an ImageControl model are consumers, and use the
+ data stream to display the image</p>
+ */
+ interface com::sun::star::form::XImageProducerSupplier;
+
+ /** specifies a URL to an image to use for the control.
+ */
+ [attribute,bound] string ImageURL;
+
+ /** defines how to scale the image
+
+ <p>If this property is present, it supersedes the ScaleImage property.</p>
+
+ <p>The value of this property is one of the com::sun::star::awt::ImageScaleMode constants.</p>
+
+ @since OOo 3.2
+ */
+ [attribute,bound] short ScaleMode
+ {
+ set raises (com::sun::star::lang::IllegalArgumentException);
+ };
+
+ /** Specifies that the IRI given in the data field should be preserved, otherwise the content will be inserted in the resulting report document.
+ If the data field contains something different as string then this attribute will be ignored.
+ */
+ [attribute,bound] boolean PreserveIRI;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/report/XReportComponent.idl b/offapi/com/sun/star/report/XReportComponent.idl
new file mode 100644
index 000000000..fd48f3d5c
--- /dev/null
+++ b/offapi/com/sun/star/report/XReportComponent.idl
@@ -0,0 +1,189 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_report_XReportComponent_idl__
+#define __com_sun_star_report_XReportComponent_idl__
+
+#include <com/sun/star/container/XChild.idl>
+
+#include <com/sun/star/lang/XComponent.idl>
+
+#include <com/sun/star/container/XNamed.idl>
+
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/util/XCloneable.idl>
+#include <com/sun/star/awt/XControlModel.idl>
+#include <com/sun/star/drawing/XShape.idl>
+
+
+ module com { module sun { module star { module report {
+ interface XSection;
+/** describes a component which may be part of a report.
+
+ @see XReportDefinition
+ */
+interface XReportComponent
+{
+ interface com::sun::star::util::XCloneable;
+ /** identifies the component as a candidate for being part of a report.
+ <p>This interface also provides the access to the component's parent.</p>
+ */
+ interface com::sun::star::container::XChild;
+
+ /** allows life-time control of report components.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ interface com::sun::star::drawing::XShape;
+
+ /** gives access to the properties.
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+ /** the name of the component.
+ */
+ [attribute,bound] string Name
+ {
+ set raises ( com::sun::star::beans::PropertyVetoException );
+ };
+
+ /** specifies the height of the control.
+ */
+ [attribute,bound] long Height
+ {
+ set raises ( com::sun::star::beans::PropertyVetoException );
+ };
+
+ /** specifies the horizontal position of the control.
+ */
+ [attribute,bound] long PositionX;
+
+ /** specifies the vertical position of the control.
+ */
+ [attribute,bound] long PositionY;
+
+ /** specifies the width of the control.
+ */
+ [attribute,bound] long Width
+ {
+ set raises ( com::sun::star::beans::PropertyVetoException );
+ };
+
+ /** Specifies that the control containing data shall automatically grow to the optimal height
+ to show the data without wasting space.
+ */
+
+ [attribute, bound] boolean AutoGrow
+ {
+ set raises(com::sun::star::beans::UnknownPropertyException);
+ get raises(com::sun::star::beans::UnknownPropertyException);
+ };
+
+ /** specifies the border style of the control.
+
+ <pre>
+ 0: No border
+ 2: simple border
+ </pre>
+ */
+ [attribute,bound] short ControlBorder
+ {
+ set raises ( com::sun::star::lang::IllegalArgumentException,com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+
+
+ /** specifies the color of the border, if present
+
+ <p>Not every border style (see Border) may support coloring.
+ For instance, usually a border with 3D effect will ignore the BorderColor setting.</p>
+ */
+ [attribute,bound] long ControlBorderColor
+ {
+ set raises ( com::sun::star::lang::IllegalArgumentException,com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+
+ /** Specifies that recurring values are printed.
+ If set to `TRUE` then the value will be printed every time. If set to `FALSE` then the value will only be printed once.
+ The default value is `TRUE`.
+ */
+ [attribute,bound] boolean PrintRepeatedValues
+ {
+ set raises ( com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+
+ /** is used for subreports and contains the names of columns of the parent report.
+ <p> These columns are typically the foreign key fields of the parent report.
+ The values of these columns are used to identify the data for the subreport.
+ Each time the parent report changes its current row, the subreport requeries
+ it's data based on the values of the master fields.</p>
+ <p>If the report is no sub report (e.g. its parent is not a report itself), this
+ property is not evaluated.</p>
+
+ */
+ [attribute,bound] sequence<string> MasterFields
+ {
+ set raises ( com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+
+ /**is used for subreports and contains the names of the columns of the subreport
+ which are related to the master fields of the parent report.
+ <p>Entries in this sequence can either denote column names in the sub report,
+ or parameter names.<br/>
+ For instance, you could base the report on the SQL statement
+ <code>SELECT * FROM invoices WHERE cust_ref = :cid</code>, and add <code>cid</code>
+ to the DetailFields property. In this case, the parameter will be filled from
+ the corresponding master field.<br/>
+ Alternatively, you could simply base your report on the table <code>invoices</code>,
+ and add the column name <code>cust_ref</code> to the DetailFields. In this case,
+ and implicit filter clause <code>WHERE cust_ref = :&lt;new_param_name&gt;</code> will
+ be created, and the artificial parameter will be filled from the corresponding
+ master field.<br/>
+ If a string in this property denotes both a column name and a parameter name, it
+ is undefined which way it is interpreted, but implementations of the service are required
+ to either decide for the parameter or the column, and proceed as usual.
+ </p>
+ <p>The columns specified herein typically represent a part of the primary key
+ fields or their aliases of the detail report.</p>
+ <p>If the report is no sub report (e.g. its parent is not a report itself), this
+ property is not evaluated.</p>
+ *
+ */
+ [attribute,bound] sequence<string> DetailFields
+ {
+ set raises ( com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+
+
+ /** Specifies the section where the control belongs to.
+ This is a shortcut to get control hierarchy up.
+ This value is `NULL` when the control was not inserted in any section.
+ */
+ [attribute,readonly] com::sun::star::report::XSection Section;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/report/XReportControlFormat.idl b/offapi/com/sun/star/report/XReportControlFormat.idl
new file mode 100644
index 000000000..767addd5b
--- /dev/null
+++ b/offapi/com/sun/star/report/XReportControlFormat.idl
@@ -0,0 +1,566 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_report_XReportControlFormat_idl__
+#define __com_sun_star_report_XReportControlFormat_idl__
+
+#include <com/sun/star/awt/FontDescriptor.idl>
+#include <com/sun/star/awt/FontSlant.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/lang/Locale.idl>
+#include <com/sun/star/style/ParagraphAdjust.idl>
+#include <com/sun/star/style/VerticalAlignment.idl>
+#include <com/sun/star/util/Color.idl>
+
+ module com { module sun { module star { module report {
+
+/** specifies a format condition for a control.
+*/
+interface XReportControlFormat
+{
+ /** specifies the background color (RGB) of the control.
+ */
+ [attribute,bound] com::sun::star::util::Color ControlBackground
+ {
+ set raises ( com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+
+ /** determines if the background color is set to transparent.
+ */
+ [attribute,bound] boolean ControlBackgroundTransparent
+ {
+ set raises ( com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+
+ /** specifies the horizontal alignment of the text.
+ @see ::com::sun::star::style::ParagraphAdjust
+ */
+ [attribute,bound] short ParaAdjust
+ {
+ set raises ( com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+
+
+ /** specifies the font attributes of the text in the control.
+ */
+ [attribute,bound] com::sun::star::awt::FontDescriptor FontDescriptor
+ {
+ set raises ( com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+
+ /** specifies the font attributes of the text in the control.
+ */
+ [attribute,bound] com::sun::star::awt::FontDescriptor FontDescriptorAsian
+ {
+ set raises ( com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+
+ /** specifies the font attributes of the text in the control.
+ */
+ [attribute,bound] com::sun::star::awt::FontDescriptor FontDescriptorComplex
+ {
+ set raises ( com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+
+
+ /** specifies the com::sun::star::text::FontEmphasis
+ value of the text in the control.
+ */
+ [attribute,bound] short ControlTextEmphasis
+ {
+ set raises ( com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+
+ /** contains the font emphasis value as com::sun::star::text::FontEmphasis.
+ */
+ [attribute,bound] short CharEmphasis
+ {
+ set raises ( com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+
+ /** determines whether text is formatted in two lines.
+ <p>It is linked to the properties CharCombinePrefix and CharCombineSuffix.</p>
+ */
+ [attribute,bound] boolean CharCombineIsOn
+ {
+ set raises ( com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+ /** contains the prefix (usually parenthesis) before text that is formatted in two lines.
+ <p>It is linked to the properties CharCombineIsOn and CharCombineSuffix.</p>
+ */
+ [attribute,bound] string CharCombinePrefix
+ {
+ set raises ( com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+ /** contains the suffix (usually parenthesis) after text that is formatted in two lines.
+ <p>It is linked to the properties CharCombineIsOn and CharCombinePrefix.</p>
+ */
+ [attribute,bound] string CharCombineSuffix
+ {
+ set raises ( com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+
+ /** If this optional property is `TRUE`, then the characters are invisible.
+
+ @since OOo 2.0
+ */
+ [attribute,bound] boolean CharHidden
+ {
+ set raises ( com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+
+ /** specifies if the characters are formatted and
+ displayed with a shadow effect.
+ */
+ [attribute,bound] boolean CharShadowed
+ {
+ set raises ( com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+
+ /** specifies if the characters are formatted and
+ displayed with a contour effect.
+ */
+ [attribute,bound] boolean CharContoured
+ {
+ set raises ( com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+
+ /** optional property which contains the value of the case-mapping of the
+ text for formatting and displaying.
+
+ @see CaseMap
+ */
+ [attribute,bound] short CharCaseMap
+ {
+ set raises ( com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+
+ /** contains the value of the locale.
+ */
+ [attribute,bound] com::sun::star::lang::Locale CharLocale
+ {
+ set raises ( com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+
+ /** specifies the percentage by which to raise/lower superscript/subscript
+ characters.
+
+ <p>Negative values denote subscripts and positive values superscripts.</p>
+ */
+ [attribute,bound] short CharEscapement
+ {
+ set raises ( com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+
+ /** This is the additional height used for subscript or superscript
+ characters in units of percent.
+ For subscript characters the value is negative and for
+ superscript characters positive.
+ */
+ [attribute,bound] byte CharEscapementHeight
+ {
+ set raises ( com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+
+ /** optional property to determine whether the kerning tables from the current font are used.
+ <p>Automatic <em>kerning</em> applies a spacing in between certain
+ pairs of characters to make the text look better.</p>
+ */
+ [attribute,bound] boolean CharAutoKerning
+ {
+ set raises ( com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+
+ /** optional property which contains the value of the kerning of the characters.
+ */
+ [attribute,bound] short CharKerning
+ {
+ set raises ( com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+
+ /** If this optional property is `TRUE`, then the characters are flashing.
+ */
+ [attribute,bound] boolean CharFlash
+ {
+ set raises ( com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+
+ /** specifies the com::sun::star::text::FontRelief
+ value of the text in the control.
+ */
+ [attribute,bound] short CharRelief
+ {
+ set raises ( com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+
+ /** This attribute specifies the name of the font style.
+
+
+
+ <p>It may contain more than one name separated by comma.</p>
+ */
+ [attribute,bound] string CharFontName
+ {
+ set raises ( com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+
+ /** This attribute contains the name of the font style.
+
+ <p>This attribute may be empty.</p>
+ */
+ [attribute,bound] string CharFontStyleName
+ {
+ set raises ( com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+
+ /** This attribute contains font family as specified in
+ com.sun.star.awt.FontFamily .
+ */
+ [attribute,bound] short CharFontFamily
+ {
+ set raises ( com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+
+ /** This attribute contains the text encoding of the font as specified in
+ com.sun.star.awt.CharSet.
+ */
+ [attribute,bound] short CharFontCharSet
+ {
+ set raises ( com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+
+ /** This attribute contains the font pitch as specified in com.sun.star.awt.FontPitch.
+ */
+ [attribute,bound] short CharFontPitch
+ {
+ set raises ( com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+
+ /** specifies the text color (RGB) of the control.
+ */
+ [attribute,bound] com::sun::star::util::Color CharColor
+ {
+ set raises ( com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+
+
+ /** specifies the text line color (RGB) of the control.
+ */
+ [attribute,bound] com::sun::star::util::Color CharUnderlineColor
+ {
+ set raises ( com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+
+ /** This value contains the height of the characters in point.
+ */
+ [attribute,bound] float CharHeight
+ {
+ set raises ( com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+
+
+ /** This attribute contains the value for the character underline.@see com::sun::star::awt::FontUnderline
+ */
+ [attribute,bound] short CharUnderline
+ {
+ set raises ( com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+
+
+ /** This attribute contains the value of the font weight.@see com::sun::star::awt::FontWeight
+ */
+ [attribute,bound] float CharWeight
+ {
+ set raises ( com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+
+
+ /** This attribute contains the value of the posture of the document.@see com::sun::star::awt::FontSlant
+ */
+ [attribute,bound] com::sun::star::awt::FontSlant CharPosture
+ {
+ set raises ( com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+
+ /** determines the type of the strike out of the character.
+ @see com::sun::star::awt::FontStrikeout
+ */
+ [attribute,bound] short CharStrikeout
+ {
+ set raises ( com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+
+ /** If this attribute is `TRUE`, the underline and strike-through
+ properties are not applied to white spaces.
+ */
+ [attribute,bound] boolean CharWordMode
+ {
+ set raises ( com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+
+ /** determines the rotation of a character in degree.
+ <p>Depending on the implementation only certain values may be allowed.
+ </p>
+ */
+ [attribute,bound] short CharRotation
+ {
+ set raises ( com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+
+ /** determines the percentage value for scaling the width of characters.
+
+ <p>The value refers to the original width which is denoted by 100,
+ and it has to be greater than 0.</p>
+
+ */
+ [attribute,bound] short CharScaleWidth
+ {
+ set raises ( com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+
+ /** specifies the vertical alignment of the text in the control.
+ @see com::sun::star::style::VerticalAlignment
+ */
+ [attribute,bound] com::sun::star::style::VerticalAlignment VerticalAlign
+ {
+ set raises ( com::sun::star::lang::IllegalArgumentException,com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+
+ /** contains the URL of a hyperlink (if set).
+ */
+ [attribute,bound] string HyperLinkURL
+ {
+ set raises ( com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+
+ /** contains the name of the target for a hyperlink (if set).
+ */
+ [attribute,bound] string HyperLinkTarget
+ {
+ set raises ( com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+
+ /** contains the name of the hyperlink (if set).
+ */
+ [attribute,bound] string HyperLinkName
+ {
+ set raises ( com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+
+ /** contains the character style name for visited hyperlinks.
+ */
+ [attribute,bound] string VisitedCharStyleName
+ {
+ set raises ( com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+
+ /** contains the character style name for unvisited hyperlinks.
+ */
+ [attribute,bound] string UnvisitedCharStyleName
+ {
+ set raises ( com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+ /** This value contains the height of the characters in point.
+ */
+ [attribute,bound] float CharHeightAsian
+ {
+ set raises ( com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+ /** This property contains the value of the font weight.@see com::sun::star::awt::FontWeight
+ */
+ [attribute,bound] float CharWeightAsian
+ {
+ set raises ( com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+ /** This property specifies the name of the font style.
+ <p>It may contain more than one name separated by comma.</p>
+ */
+ [attribute,bound] string CharFontNameAsian
+ {
+ set raises ( com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+ /** This property contains the name of the font style.
+ <p>This property may be empty.</p>
+ */
+ [attribute,bound] string CharFontStyleNameAsian
+ {
+ set raises ( com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+ /** This property contains font family as specified in
+ com.sun.star.awt.FontFamily .
+ */
+ [attribute,bound] short CharFontFamilyAsian
+ {
+ set raises ( com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+ /** This property contains the text encoding of the font as specified in
+ com.sun.star.awt.CharSet.
+ */
+ [attribute,bound] short CharFontCharSetAsian
+ {
+ set raises ( com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+ /** This property contains the font pitch as specified in com.sun.star.awt.FontPitch.
+ */
+ [attribute,bound] short CharFontPitchAsian
+ {
+ set raises ( com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+ /** This property contains the value of the posture of the document.@see com::sun::star::awt::FontSlant
+ */
+ [attribute,bound] com::sun::star::awt::FontSlant CharPostureAsian
+ {
+ set raises ( com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+
+ /** contains the value of the locale.
+ */
+ [attribute,bound] com::sun::star::lang::Locale CharLocaleAsian
+ {
+ set raises ( com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+
+ /** This value contains the height of the characters in point.
+ */
+ [attribute,bound] float CharHeightComplex
+ {
+ set raises ( com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+ /** This property contains the value of the font weight.@see com::sun::star::awt::FontWeight
+ */
+ [attribute,bound] float CharWeightComplex
+ {
+ set raises ( com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+ /** This property specifies the name of the font style.
+ <p>It may contain more than one name separated by comma.</p>
+ */
+ [attribute,bound] string CharFontNameComplex
+ {
+ set raises ( com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+ /** This property contains the name of the font style.
+ <p>This property may be empty.</p>
+ */
+ [attribute,bound] string CharFontStyleNameComplex
+
+ {
+ set raises ( com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+ /** This property contains font family as specified in
+ com.sun.star.awt.FontFamily .
+ */
+ [attribute,bound] short CharFontFamilyComplex
+ {
+ set raises ( com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+ /** This property contains the text encoding of the font as specified in
+ com.sun.star.awt.CharSet.
+ */
+ [attribute,bound] short CharFontCharSetComplex
+ {
+ set raises ( com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+ /** This property contains the font pitch as specified in com.sun.star.awt.FontPitch.
+ */
+ [attribute,bound] short CharFontPitchComplex
+ {
+ set raises ( com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+ /** This property contains the value of the posture of the document.@see com::sun::star::awt::FontSlant
+ */
+ [attribute,bound] com::sun::star::awt::FontSlant CharPostureComplex
+ {
+ set raises ( com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+
+ /** contains the value of the locale.
+ */
+ [attribute,bound] com::sun::star::lang::Locale CharLocaleComplex
+ {
+ set raises ( com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+};
+
+
+}; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/report/XReportControlModel.idl b/offapi/com/sun/star/report/XReportControlModel.idl
new file mode 100644
index 000000000..319b4817c
--- /dev/null
+++ b/offapi/com/sun/star/report/XReportControlModel.idl
@@ -0,0 +1,97 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_report_XReportControlModel_idl__
+#define __com_sun_star_report_XReportControlModel_idl__
+
+#include <com/sun/star/report/XReportComponent.idl>
+#include <com/sun/star/report/XReportControlFormat.idl>
+#include <com/sun/star/container/XContainer.idl>
+#include <com/sun/star/container/XIndexContainer.idl>
+#include <com/sun/star/report/XFormatCondition.idl>
+
+ module com { module sun { module star { module report {
+
+interface XReportControlModel
+{
+ /** allows the creation of sub reports.
+ */
+ interface XReportComponent;
+
+ interface XReportControlFormat;
+
+ /** allows to register listeners to be notified of changes in the container.
+ */
+ interface com::sun::star::container::XContainer;
+
+ /** gives access to the com::sun::star::report::XFormatCondition elements by index.
+ */
+ interface com::sun::star::container::XIndexContainer;
+
+ /** Creates a format condition.
+ @return
+ report component
+ */
+ XFormatCondition createFormatCondition() raises( com::sun::star::uno::Exception );
+
+
+ /** Specifies which content should be shown.
+
+ The value can be
+
+ - the name of a database column.
+ The format to use is <code>field:[name]</code>
+ - the name of a function defined in the report or a group.
+ The format to use is <code>rpt:[functionName]</code>
+ - an expression like <code>rpt:24+24-47</code>
+
+ @see http://wiki.openoffice.org/wiki/SUN_Report_Builder
+ @see http://wiki.openoffice.org/wiki/SUN_Report_Builder#Syntax
+ @see http://wiki.openoffice.org/wiki/Base/Reports/Functions
+ */
+ [attribute,bound] string DataField
+ {
+ set raises ( com::sun::star::lang::IllegalArgumentException,com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+
+ /** Specifies that the element gets printed when the group changes.
+ The default value is `TRUE`.
+ */
+ [attribute,bound] boolean PrintWhenGroupChange
+ {
+ set raises ( com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+
+ /** Describes the print expression of the report control model.
+ If the expression evaluates to true than the report control model will be printed otherwise not.
+ */
+ [attribute,bound] string ConditionalPrintExpression
+ {
+ set raises ( com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/report/XReportDefinition.idl b/offapi/com/sun/star/report/XReportDefinition.idl
new file mode 100644
index 000000000..cf412e96e
--- /dev/null
+++ b/offapi/com/sun/star/report/XReportDefinition.idl
@@ -0,0 +1,309 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_report_XReportDefinition_idl__
+#define __com_sun_star_report_XReportDefinition_idl__
+
+#include <com/sun/star/report/XReportComponent.idl>
+#include <com/sun/star/report/XFunctionsSupplier.idl>
+#include <com/sun/star/view/PaperOrientation.idl>
+#include <com/sun/star/container/NoSuchElementException.idl>
+#include <com/sun/star/style/GraphicLocation.idl>
+#include <com/sun/star/view/PaperFormat.idl>
+#include <com/sun/star/util/XCloseable.idl>
+#include <com/sun/star/ui/XUIConfigurationManagerSupplier.idl>
+#include <com/sun/star/document/XDocumentSubStorageSupplier.idl>
+#include <com/sun/star/frame/XModel.idl>
+#include <com/sun/star/document/XViewDataSupplier.idl>
+#include <com/sun/star/frame/XLoadable.idl>
+#include <com/sun/star/embed/XVisualObject.idl>
+#include <com/sun/star/document/XStorageBasedDocument.idl>
+#include <com/sun/star/awt/Size.idl>
+#include <com/sun/star/util/XModifiable2.idl>
+#include <com/sun/star/document/XEventBroadcaster.idl>
+#include <com/sun/star/lang/DisposedException.idl>
+#include <com/sun/star/style/XStyleFamiliesSupplier.idl>
+
+module com { module sun { module star { module sdbc {
+published interface XConnection;
+};};};};
+
+ module com { module sun { module star { module report {
+
+ interface XSection;
+ interface XGroups;
+
+/** identifies a XReportComponent as being a (sub-) report.
+
+ <p>This interface does not really provide an own functionality, it is only for easier
+ runtime identification of report components.</p>
+
+ <p>A report fulfills several tasks, like storing the structure of its
+ report components and it provides the
+ event environment for its contained elements.</p>
+
+ @see XReportComponent
+ */
+interface XReportDefinition
+{
+ /** allows the access to the model embedded in the database storage.
+ */
+ interface com::sun::star::frame::XModel;
+
+ /** offers a simple way to initialize a component.
+ */
+ interface com::sun::star::frame::XLoadable;
+
+ /** represents common visualization functionality for the embedded report.
+ */
+ interface com::sun::star::embed::XVisualObject;
+
+ /** allows to initialize the document with a storage.
+ */
+ interface com::sun::star::document::XStorageBasedDocument;
+
+ /** gives access to some properties describing all open views to a document.
+ */
+ interface com::sun::star::document::XViewDataSupplier;
+
+ /** allows to close the document.
+ */
+ interface com::sun::star::util::XCloseable;
+
+ /** allows to retrieve the user interface configuration manager related to an object.
+ */
+ interface com::sun::star::ui::XUIConfigurationManagerSupplier;
+
+ interface com::sun::star::document::XDocumentSubStorageSupplier;
+
+ /** 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;
+
+ /** a storable document should provide information about his modify state
+
+ <p>
+ With this interface it's possible too, to reset the modify state.
+ That can be necessary to prevent code against problem during closing
+ of the document without saving any changes.
+ </p>
+ */
+ interface com::sun::star::util::XModifiable2;
+
+ /** allows the creation of sub reports.
+ */
+ interface XReportComponent;
+
+ /** gives access to functions defined in the report definition.
+ */
+ interface XFunctionsSupplier;
+
+ /** makes it possible to register listeners which are called whenever
+ a document event occurs.
+ This is a workaround due to the fact that this interface can not be directly inherited from com::sun::star::document::XEventBroadcaster
+ because the methods addEventListener and removeEventListener are already defined in com::sun::star::lang::XComponent.
+ A queryInterface call is still supported to the com::sun::star::document::XEventBroadcaster interface.
+ */
+ com::sun::star::document::XEventBroadcaster getEventBroadcaster()
+ raises( ::com::sun::star::lang::DisposedException,
+ ::com::sun::star::uno::Exception );
+
+ /** returns a sequence of the currently supported output formats.
+ */
+ sequence<string> getAvailableMimeTypes()
+ raises( ::com::sun::star::lang::DisposedException,
+ ::com::sun::star::uno::Exception );
+
+
+ /** Represents the output format (media (mime) type) of the resulting document when executing this report.
+ */
+ [attribute,bound] string MimeType
+ {
+ set raises (com::sun::star::lang::IllegalArgumentException);
+ };
+
+ /** Represents the title of the report in print preview.
+ */
+ [attribute,bound] string Caption;
+
+ /** Specifies whether groups in a multi column report are kept together.
+ @see com::sun::star::report::GroupKeepTogether
+ */
+ [attribute,bound] short GroupKeepTogether
+ {
+ set raises (com::sun::star::lang::IllegalArgumentException);
+ };
+
+ /** Represents the location of the page header.
+ @see ReportPrintOption
+ */
+ [attribute,bound] short PageHeaderOption;
+
+ /** Represents the location of the page footer.
+ @see ReportPrintOption
+ */
+ [attribute,bound] short PageFooterOption;
+
+
+ /** is the command which should be executed, the type of command depends
+ on the CommandType.
+ <p>In case of a #CommandType of CommandType::COMMAND,
+ means in case the #Command specifies an SQL statement, the inherited
+ com::sun::star::sdbc::RowSet::EscapeProcessing
+ becomes relevant:<br/>
+ It then can be to used to specify whether the SQL statement should be analyzed on the
+ client side before sending it to the database server.<br/>
+ The default value for com::sun::star::sdbc::RowSet::EscapeProcessing
+ is `TRUE`. By switching it to `FALSE`, you can pass backend-specific SQL statements,
+ which are not standard SQL, to your database.</p>
+
+
+ @see com::sun::star::sdb::CommandType
+ */
+ [attribute,bound] string Command;
+
+ /** specifies the type of the command to be executed to retrieve a result set.
+
+ <p>#Command needs to be interpreted depending on the value of this property.</p>
+
+ <p>This property is only meaningful together with the #Command
+ property, thus either <em>both</em> or <em>none</em> of them are present.</p>
+
+ @see com::sun::star::sdb::CommandType
+ */
+ [attribute,bound] long CommandType;
+
+ /** specifies an additional filter to optionally use.
+
+ <p>The Filter string has to form a SQL WHERE-clause, <em>without</em> the WHERE-string itself.</p>
+
+ <p>If a #DataSourceName, #Command and #CommandType
+ are specified, a RowSet can be created with this information. If the results provided by the
+ row set are to be additionally filtered, the Filter property can be used.</p>
+
+ <p>Note that the Filter property does not make sense if a ResultSet has been specified
+ in the DataAccessDescriptor.</p>
+
+ @see com::sun::star::sdb::RowSet
+ @see ResultSet
+ */
+ [attribute,bound] string Filter;
+
+ /** specifies if the #Command should be analyzed on the client side before sending it
+ to the database server.
+
+ <p>The default value of this property is `TRUE`. By switching it to `FALSE`, you can pass
+ backend-specific SQL statements, which are not standard SQL, to your database.</p>
+
+ <p>This property is usually present together with the #Command and
+ #CommandType properties, and is evaluated if and only if #CommandType
+ equals CommandType::COMMAND.</p>
+ */
+ [attribute,bound] boolean EscapeProcessing;
+
+ /** specifies the active connection which is used to create the resulting report.
+ */
+ [attribute,bound] com::sun::star::sdbc::XConnection ActiveConnection
+ {
+ set raises (com::sun::star::lang::IllegalArgumentException);
+ };
+
+ /** is the name of the datasource to use, this could be a named datasource
+ or the URL of a data access component.
+ */
+ [attribute,bound] string DataSourceName;
+
+ /** Defines that the report header is on.
+ Default is `FALSE`.
+ */
+ [attribute,bound] boolean ReportHeaderOn;
+
+ /** Defines that the report footer is on.
+ Default is `FALSE`.
+ */
+ [attribute,bound] boolean ReportFooterOn;
+
+ /** Defines that the page header is on.
+ Default is `TRUE`.
+ */
+ [attribute,bound] boolean PageHeaderOn;
+
+ /** Defines that the page footer is on.
+ Default is `TRUE`.
+ */
+ [attribute,bound] boolean PageFooterOn;
+
+ /** Represents the groups of the report.
+ */
+ [attribute,readonly] com::sun::star::report::XGroups Groups;
+
+ /** returns the report header if the #ReportHeaderOn is `TRUE`.
+ @throws com::sun::star::container::NoSuchElementException
+ If the report has the report header disabled.
+ @see XSection
+ */
+ [attribute,readonly] com::sun::star::report::XSection ReportHeader
+ {
+ get raises (com::sun::star::container::NoSuchElementException);
+ };
+
+ /** returns the page header if the #PageHeaderOn is `TRUE`.
+ @throws com::sun::star::container::NoSuchElementException
+ If the report has the page header disabled.
+ @see XSection
+ */
+ [attribute,readonly] com::sun::star::report::XSection PageHeader
+ {
+ get raises (com::sun::star::container::NoSuchElementException);
+ };
+
+ /** returns the detail section.
+ @see XSection
+ */
+ [attribute,readonly] com::sun::star::report::XSection Detail;
+
+ /** returns the page footer if the #PageFooterOn is `TRUE`.
+ @throws com::sun::star::container::NoSuchElementException
+ If the report has the page footer disabled.
+ @see XSection
+ */
+ [attribute,readonly] com::sun::star::report::XSection PageFooter
+ {
+ get raises (com::sun::star::container::NoSuchElementException);
+ };
+
+ /** returns the report footer if the #ReportFooterOn is `TRUE`.
+ @throws com::sun::star::container::NullPointerException
+ If the report has the report footer disabled.
+ @see XSection
+ */
+ [attribute,readonly] com::sun::star::report::XSection ReportFooter
+ {
+ get raises (com::sun::star::container::NoSuchElementException);
+ };
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/report/XReportEngine.idl b/offapi/com/sun/star/report/XReportEngine.idl
new file mode 100644
index 000000000..de92bd8b2
--- /dev/null
+++ b/offapi/com/sun/star/report/XReportEngine.idl
@@ -0,0 +1,136 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_report_XReportEngine_idl__
+#define __com_sun_star_report_XReportEngine_idl__
+
+#include <com/sun/star/report/XReportDefinition.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/util/URL.idl>
+#include <com/sun/star/frame/XModel.idl>
+#include <com/sun/star/task/XStatusIndicator.idl>
+#include <com/sun/star/frame/XFrame.idl>
+#include <com/sun/star/sdbc/XConnection.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/lang/DisposedException.idl>
+#include <com/sun/star/uno/Exception.idl>
+
+module com { module sun { module star { module report {
+/** identifies a XReportEngine which allows the creation of OpenDocument files.
+
+ <p>The following events are supported by the report engine.
+ OnPageStarted Is fired when a new page started.
+ OnReportStarted Is fired when a new report started.
+ OnGroupStarted Is fired when a new group started.
+ OnGroupEnded Is fired when the group ended.
+ OnReportEnded Is fired when the report ended.
+ OnPageEnded Is fired when the page ended.
+
+ @see com::sun::star::document::OfficeDocument
+*/
+
+interface XReportEngine
+{
+ /** allows life-time control of report engine.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ /** gives access to the properties.
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+ /** creates a report document.
+ @throws com::sun::star::lang::DisposedException
+ If the report engine is already disposed.
+ @throws com::sun::star::lang::IllegalArgumentException
+ If the report definition was not set or is `NULL`.
+ */
+ com::sun::star::frame::XModel createDocumentModel()
+ raises( ::com::sun::star::lang::DisposedException,
+ com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::uno::Exception );
+
+ /** creates a report document.
+ @param frame
+ The frame must have a controller set. This controller will be set at the model.
+ @throws com::sun::star::lang::DisposedException
+ If the report engine is already disposed.
+ @throws com::sun::star::lang::IllegalArgumentException
+ If the report definition was not set or is `NULL`.
+
+ OJ: Has to be discussed if this method is useful.
+ */
+ com::sun::star::frame::XModel createDocumentAlive([in] com::sun::star::frame::XFrame frame)
+ raises( ::com::sun::star::lang::DisposedException,
+ com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::uno::Exception );
+
+ /** creates a report document.
+ @return
+ The URL where the new document is located.
+ @throws com::sun::star::lang::DisposedException
+ If the report engine is already disposed.
+ @throws com::sun::star::lang::IllegalArgumentException
+ If the report definition was not set or is `NULL`.
+ */
+ com::sun::star::util::URL createDocument()
+ raises( ::com::sun::star::lang::DisposedException,
+ com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::uno::Exception );
+
+ /** allows to interrupt the creation process of the report document.
+ @throws com::sun::star::lang::DisposedException
+ If the report engine is already disposed.
+ */
+ void interrupt()
+ raises( ::com::sun::star::lang::DisposedException,
+ ::com::sun::star::uno::Exception );
+
+ /** specifies the report definition object which is used to create the resulting report.
+ */
+ [attribute,bound] XReportDefinition ReportDefinition
+ {
+ set raises (com::sun::star::lang::IllegalArgumentException);
+ };
+
+ /** specifies the active connection which is used to create the resulting report.
+ */
+ [attribute,bound] com::sun::star::sdbc::XConnection ActiveConnection
+ {
+ set raises (com::sun::star::lang::IllegalArgumentException);
+ };
+
+ /** specifies the status indicator which shows the progress of the report generation process.
+ */
+ [attribute] com::sun::star::task::XStatusIndicator StatusIndicator;
+
+ /** defines the maximum number of rows which should be fetched for the report.
+ If the limit is exceeded, the excess rows are silently dropped.
+ <br/>
+ There is no limitation, if set to zero.
+ */
+ [attribute,bound] long MaxRows;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/report/XSection.idl b/offapi/com/sun/star/report/XSection.idl
new file mode 100644
index 000000000..ae10e2dd8
--- /dev/null
+++ b/offapi/com/sun/star/report/XSection.idl
@@ -0,0 +1,165 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_report_XSection_idl__
+#define __com_sun_star_report_XSection_idl__
+
+#include <com/sun/star/container/XChild.idl>
+#include <com/sun/star/drawing/XShapes.idl>
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#include <com/sun/star/container/XContainer.idl>
+#include <com/sun/star/util/Color.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/report/XReportDefinition.idl>
+#include <com/sun/star/report/XReportComponent.idl>
+
+ module com { module sun { module star { module report {
+ interface XGroup;
+
+/** identifies a XSection inside a report.
+
+ <p>A section acts like a container of report components. This generic
+ construction allows the definition of hierarchies of reports and their
+ dependent subreports.</p>
+
+ @see XReportDefinition
+ @see XGroup
+ */
+interface XSection
+{
+ /** allows to navigate to group or report definition.
+ */
+ interface com::sun::star::container::XChild;
+ /** allows to register listeners to be notified of changes in the container.
+ */
+ interface com::sun::star::container::XContainer;
+
+ /** gives access to the elements by index.
+ */
+ interface com::sun::star::drawing::XShapes;
+
+ /** creates an enumeration of the elements.
+ */
+ interface com::sun::star::container::XEnumerationAccess;
+
+ /** provides generic access to the instance properties
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+ /** allows life-time control of sections.
+ */
+ interface com::sun::star::lang::XComponent;
+
+
+ /** Defines if the section should be visible in report.
+ */
+ [attribute,bound] boolean Visible;
+
+ /** Defines the name of the section.
+ */
+ [attribute,bound] string Name;
+
+ /** Defines the height of the section.
+ */
+ [attribute,bound] unsigned long Height;
+
+ /** Defines the background color of the section.
+ */
+ [attribute,bound] com::sun::star::util::Color BackColor;
+
+ /** determines if the background color is set to transparent.
+ */
+ [attribute,bound] boolean BackTransparent;
+
+ /** Defines the expression which is executed before printing the section.
+ If the return value of the expression is `TRUE` then the section will be printed.
+ */
+ [attribute,bound] string ConditionalPrintExpression;
+
+ /** Specifies whether the section is printed on a separate page.
+ <p>Not valid for page header or page footer.</p>
+ @see ForceNewPage
+ */
+ [attribute,bound] short ForceNewPage
+ {
+ set raises ( com::sun::star::lang::IllegalArgumentException,com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+
+ /** Specifies whether the section is printed in a new row or column within a multi column report.
+ <p>Not valid for page header or page footer.</p>
+ @see ForceNewPage
+ */
+ [attribute,bound] short NewRowOrCol
+ {
+ set raises ( com::sun::star::lang::IllegalArgumentException,com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+
+ /** Specifies that the section is printed on one page.
+ <p>Not valid for page header or page footer.</p>
+ */
+ [attribute,bound] boolean KeepTogether
+ {
+ set raises ( com::sun::star::lang::IllegalArgumentException,com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+
+ /** Specifies that elements with dynamic state will be expanded vertically when then content of the element is larger than it's container.
+ If this property is disabled the content will be truncated when its size is larger than the container.
+ */
+ [attribute,bound] boolean CanGrow
+ {
+ set raises ( com::sun::star::lang::IllegalArgumentException,com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+
+/**
+ <p>Represents ...</p>
+
+ */
+ [attribute,bound] boolean CanShrink
+ {
+ set raises ( com::sun::star::lang::IllegalArgumentException,com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+
+ /** Defines that the group header should be repeated on the next page when a group spans more than one page.
+ It only applies to group headers.
+ */
+ [attribute,bound] boolean RepeatSection
+ {
+ set raises ( com::sun::star::lang::IllegalArgumentException,com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+
+ /** Specifies the parent of the section if it is a group header or group footer.
+ */
+ [attribute,readonly] com::sun::star::report::XGroup Group;
+
+ /** Specifies the parent of the section if it is a page header or page footer.
+ */
+ [attribute,readonly] com::sun::star::report::XReportDefinition ReportDefinition;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/report/XShape.idl b/offapi/com/sun/star/report/XShape.idl
new file mode 100644
index 000000000..edcfe8871
--- /dev/null
+++ b/offapi/com/sun/star/report/XShape.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_report_XShape_idl__
+#define __com_sun_star_report_XShape_idl__
+
+#include <com/sun/star/report/XReportControlModel.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/drawing/XShape.idl>
+#include <com/sun/star/drawing/HomogenMatrix3.idl>
+
+ module com { module sun { module star { module report {
+
+interface XShape
+{
+ interface XReportControlModel;
+
+ /** is used to query or change the ZOrder of this Shape. */
+ [attribute,bound] long ZOrder;
+
+ /** this property lets you get and set the transformation matrix
+ for this shape.
+
+ The transformation is a 3x3 homogeneous matrix and can contain
+ translation, rotation, shearing and scaling.
+ */
+ [attribute,bound] com::sun::star::drawing::HomogenMatrix3 Transformation;
+
+ /** This property contains the CustomShapeEngine service name that has to
+ be used for rendering.
+ */
+ [attribute] string CustomShapeEngine;
+
+ /** This property can be used to store data that the CustomShapeEngine may
+ use for rendering
+ */
+ [attribute] string CustomShapeData;
+
+ /** This property describes the geometry of the CustomShape. The CustomShapeEngine
+ that is used should be able to get on with the content of this property.
+
+ If the CustomShapeEngine property is "com.sun.star.drawing.EnhancedCustomShapeEngine",
+ then this property is containing properties as they are specified in the service
+ com.sun.star.drawing.EnhancedCustomShapeGeometry
+ */
+ [attribute,bound] sequence<::com::sun::star::beans::PropertyValue> CustomShapeGeometry;
+
+ /** determines if the object is opaque or transparent for text.
+ */
+ [attribute,bound] boolean Opaque;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/report/inspection/DataProviderHandler.idl b/offapi/com/sun/star/report/inspection/DataProviderHandler.idl
new file mode 100644
index 000000000..ad2b2877a
--- /dev/null
+++ b/offapi/com/sun/star/report/inspection/DataProviderHandler.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_report_inspection_DataProviderHandler_idl__
+#define __com_sun_star_report_inspection_DataProviderHandler_idl__
+
+#include <com/sun/star/inspection/XPropertyHandler.idl>
+
+
+module com { module sun { module star { module report { module inspection {
+
+
+/** implements the default property handler for all known types of com::sun::star::chart2::data::XDataProviders.
+
+ @see com::sun::star::inspection::XPropertyHandler
+*/
+service DataProviderHandler
+{
+ interface com::sun::star::inspection::XPropertyHandler;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/report/inspection/DefaultComponentInspectorModel.idl b/offapi/com/sun/star/report/inspection/DefaultComponentInspectorModel.idl
new file mode 100644
index 000000000..ed6c9ca72
--- /dev/null
+++ b/offapi/com/sun/star/report/inspection/DefaultComponentInspectorModel.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_report_inspection_DefaultComponentInspectorModel_idl__
+#define __com_sun_star_report_inspection_DefaultComponentInspectorModel_idl__
+
+#include <com/sun/star/inspection/XObjectInspectorModel.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+module com { module sun { module star { module report { module inspection {
+
+
+/** implements a com::sun::star::inspection::XObjectInspectorModel for
+ inspecting form components, in particular all components implementing the ReportComponent
+ service.
+
+ <p>A DefaultComponentInspectorModel provides the following handlers by default:
+ <ul><li>GeometryHandler</li>
+ <li>ReportComponentHandler</li>
+ <li>com::sun::star::form::inspection::EditPropertyHandler</li>
+ </ul></p>
+
+ @see com::sun::star::inspection::XObjectInspectorModel::HandlerFactories
+*/
+service DefaultComponentInspectorModel : com::sun::star::inspection::XObjectInspectorModel
+{
+ /** creates a default DefaultComponentInspectorModel, providing factories for all
+ handlers listed above.
+
+ @since OOo 2.2
+ */
+ createDefault();
+
+ /** creates a default DefaultComponentInspectorModel, providing factories for all
+ handlers listed above, and describing an ObjectInspector which has a help section.
+
+ @param minHelpTextLines
+ denotes the minimum number of lines of text to be reserved for the help
+ section.
+
+ @param maxHelpTextLines
+ denotes the maximum number of lines of text to be reserved for the help
+ section.
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if minHelpTextLines or maxHelpTextLines are negative,
+ or if minHelpTextLines is greater than maxHelpTextLines.
+
+ @see XObjectInspectorModel::HasHelpSection
+ @see XObjectInspectorModel::MinHelpTextLines
+ @see XObjectInspectorModel::MaxHelpTextLines
+
+ @since OOo 2.2
+ */
+ createWithHelpSection(
+ [in] long minHelpTextLines,
+ [in] long maxHelpTextLines
+ )
+ raises ( ::com::sun::star::lang::IllegalArgumentException );
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/report/inspection/ReportComponentHandler.idl b/offapi/com/sun/star/report/inspection/ReportComponentHandler.idl
new file mode 100644
index 000000000..0f51fdfeb
--- /dev/null
+++ b/offapi/com/sun/star/report/inspection/ReportComponentHandler.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_report_inspection_ReportComponentHandler_idl__
+#define __com_sun_star_report_inspection_ReportComponentHandler_idl__
+
+#include <com/sun/star/inspection/XPropertyHandler.idl>
+
+
+module com { module sun { module star { module report { module inspection {
+
+
+/** implements the default property handler for all known types of com::sun::star::report::XReportComponents.
+
+ @see com::sun::star::inspection::XPropertyHandler
+*/
+service ReportComponentHandler
+{
+ interface com::sun::star::inspection::XPropertyHandler;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/report/meta/XFormulaParser.idl b/offapi/com/sun/star/report/meta/XFormulaParser.idl
new file mode 100644
index 000000000..e8c756975
--- /dev/null
+++ b/offapi/com/sun/star/report/meta/XFormulaParser.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_report_meta_XFormulaParser_idl__
+#define __com_sun_star_report_meta_XFormulaParser_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/lang/DisposedException.idl>
+#include <com/sun/star/sheet/XFormulaParser.idl>
+#include <com/sun/star/sheet/FormulaOpCodeMapEntry.idl>
+#include <com/sun/star/sheet/XFormulaOpCodeMapper.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+module com { module sun { module star { module report { module meta {
+/** identifies a XFormulaParser which allows to retrieve the meta data of all supported functions.
+
+*/
+interface XFormulaParser
+{
+ /** allows life-time control of report engine.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ interface com::sun::star::sheet::XFormulaParser;
+
+ /** gives access to the properties.
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+ /** The complete mapping of Names to OpCodes.
+
+ Names and symbols not defined here lead to a parser/print error.
+ */
+ [attribute] sequence< com::sun::star::sheet::FormulaOpCodeMapEntry > OpCodeMap;
+
+ /** return the mapper for op codes.
+ */
+ [attribute,readonly] com::sun::star::sheet::XFormulaOpCodeMapper FormulaOpCodeMapper;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/report/meta/XFunctionCategory.idl b/offapi/com/sun/star/report/meta/XFunctionCategory.idl
new file mode 100644
index 000000000..d01029cf0
--- /dev/null
+++ b/offapi/com/sun/star/report/meta/XFunctionCategory.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_report_meta_XFunctionCategory_idl__
+#define __com_sun_star_report_meta_XFunctionCategory_idl__
+
+#include <com/sun/star/container/XIndexAccess.idl>
+#include <com/sun/star/lang/DisposedException.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+
+module com { module sun { module star { module report { module meta {
+
+interface XFunctionDescription;
+/** identifies a XFunctionCategory which allows to retrieve the meta data of all supported functions.
+
+*/
+
+interface XFunctionCategory
+{
+ /** gives access to the properties.
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+ /** gives access to all categories
+ */
+ interface com::sun::star::container::XIndexAccess;
+
+ /** same as getByIndex.
+ @see com.sun.star.container.XIndexAccess
+ */
+ XFunctionDescription getFunction([in] long position)
+ raises( com::sun::star::lang::IndexOutOfBoundsException,
+ com::sun::star::lang::WrappedTargetException );
+
+ /** returns the localized category's name.
+ */
+ [attribute,readonly] string Name;
+
+ /** specifies the category number.
+ */
+ [attribute,readonly] long Number;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/report/meta/XFunctionDescription.idl b/offapi/com/sun/star/report/meta/XFunctionDescription.idl
new file mode 100644
index 000000000..30b2f89f7
--- /dev/null
+++ b/offapi/com/sun/star/report/meta/XFunctionDescription.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_report_meta_XFunctionDescription_idl__
+#define __com_sun_star_report_meta_XFunctionDescription_idl__
+
+#include <com/sun/star/lang/DisposedException.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/sheet/FunctionArgument.idl>
+module com { module sun { module star { module report { module meta {
+
+interface XFunctionCategory;
+
+/** identifies a XFunctionDescription which allows to retrieve the meta data of all supported functions.
+
+*/
+interface XFunctionDescription
+{
+ /** gives access to the properties.
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+ string createFormula([in] sequence< string > arguments )
+ raises( ::com::sun::star::lang::DisposedException,
+ com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::uno::Exception );
+
+ /** specifies the category number.
+ */
+ [attribute,readonly] XFunctionCategory Category;
+
+ /** returns the localized function's name.
+ */
+ [attribute,readonly] string Name;
+
+
+ /** returns a localized description of the function.
+ */
+ [attribute,readonly] string Description;
+
+ /** returns the signature of the function.
+ */
+ [attribute,readonly] string Signature;
+
+
+ /** returns a sequence of localized descriptions of the function's
+ arguments (in the order specified by the function).
+ */
+ [attribute,readonly] sequence< com::sun::star::sheet::FunctionArgument > Arguments;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/report/meta/XFunctionManager.idl b/offapi/com/sun/star/report/meta/XFunctionManager.idl
new file mode 100644
index 000000000..ccfa752c8
--- /dev/null
+++ b/offapi/com/sun/star/report/meta/XFunctionManager.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_report_meta_XFunctionManager_idl__
+#define __com_sun_star_report_meta_XFunctionManager_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/container/XIndexAccess.idl>
+#include <com/sun/star/container/NoSuchElementException.idl>
+#include <com/sun/star/lang/DisposedException.idl>
+#include <com/sun/star/report/meta/XFunctionCategory.idl>
+#include <com/sun/star/report/meta/XFunctionDescription.idl>
+
+module com { module sun { module star { module report { module meta {
+/** identifies a XFunctionManager which allows to retrieve the meta data of all supported functions.
+
+*/
+interface XFunctionManager
+{
+ /** allows life-time control of report engine.
+ */
+ interface com::sun::star::lang::XComponent;
+ /** gives access to all categories
+ */
+ interface com::sun::star::container::XIndexAccess;
+
+ /** same as getByIndex.
+ @param position The position.
+ @see com.sun.star.container.XIndexAccess
+ */
+ XFunctionCategory getCategory([in] long position)
+ raises( com::sun::star::lang::IndexOutOfBoundsException,
+ com::sun::star::lang::WrappedTargetException );
+
+ /** get the function description by name
+ @param name the name of the function
+ */
+ XFunctionDescription getFunctionByName([in] string name)
+ raises( com::sun::star::container::NoSuchElementException);
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/report/modules.idl b/offapi/com/sun/star/report/modules.idl
new file mode 100644
index 000000000..d7929fc04
--- /dev/null
+++ b/offapi/com/sun/star/report/modules.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_modules_report_idl__
+#define __com_sun_star_modules_report_idl__
+
+module com { module sun { module star { module report {
+
+ /** collects services for inspecting report/components
+ @see com::sun::star::inspection::ObjectInspector
+ @see com::sun::star::inspection
+ */
+ module inspection { };
+
+ /** collects services for inspecting the function repository.
+ */
+ module meta { };
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/resource/MissingResourceException.idl b/offapi/com/sun/star/resource/MissingResourceException.idl
new file mode 100644
index 000000000..9650d57ab
--- /dev/null
+++ b/offapi/com/sun/star/resource/MissingResourceException.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_resource_MissingResourceException_idl__
+#define __com_sun_star_resource_MissingResourceException_idl__
+
+#include <com/sun/star/uno/RuntimeException.idl>
+
+
+
+module com { module sun { module star { module resource {
+
+
+/** is used to signal that a resource is missing.
+
+ @see XStringResourceResolver
+ */
+published exception MissingResourceException: com::sun::star::uno::RuntimeException
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/resource/StringResource.idl b/offapi/com/sun/star/resource/StringResource.idl
new file mode 100644
index 000000000..f60cf1a3c
--- /dev/null
+++ b/offapi/com/sun/star/resource/StringResource.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_resource_StringResource_idl__
+#define __com_sun_star_resource_StringResource_idl__
+
+#include <com/sun/star/resource/XStringResourcePersistence.idl>
+
+
+
+module com { module sun { module star { module resource {
+
+
+/** specifies a service providing access to a resource string table implementing the
+ com::sun::star::awt::XDialog interface.
+ */
+service StringResource : com::sun::star::resource::XStringResourcePersistence;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/resource/StringResourceWithLocation.idl b/offapi/com/sun/star/resource/StringResourceWithLocation.idl
new file mode 100644
index 000000000..a3eced0d4
--- /dev/null
+++ b/offapi/com/sun/star/resource/StringResourceWithLocation.idl
@@ -0,0 +1,86 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_resource_StringResourceWithLocation_idl__
+#define __com_sun_star_resource_StringResourceWithLocation_idl__
+
+#include <com/sun/star/resource/XStringResourceWithLocation.idl>
+
+
+
+module com { module sun { module star { module resource {
+
+
+/** specifies a service providing access to a resource string table implementing the
+ com::sun::star::resource::XStringResourceWithLocation interface.
+ */
+service StringResourceWithLocation : com::sun::star::resource::XStringResourceWithLocation
+{
+ /** is used to initialize the object on its creation.
+
+ @param URL
+ Specifies the location used to load and store - if
+ the ReadOnly state allows it - the string table data.
+
+ @param ReadOnly
+ Specifies if the resource should be read only,
+ see <code>XStringResourceManager::isReadOnly</code>
+
+ @param locale
+ Specifies if the locale first to be used as current locale. Internally
+ the <code>XStringResourceManager::setCurrentLocale</code> method is
+ called with FindClosestMatch=true.
+ see <code>XStringResourceManager::setCurrentLocale</code>
+
+ @param BaseName
+ Base string for the file names used to store the locale data.
+ The locale data is stored in Java properties files also following
+ the corresponding naming scheme. The files will be named like this:
+ "[BaseName]_[Language]_[Country].properties",
+ e.g. "MyBaseName_en_US.properties"
+ If an empty string is passed for BaseName, "strings" will be used
+ as BaseName.
+
+ @param Comment
+ Comment stored first in each properties file followed by a line
+ feed character. The line feed character is added automatically
+ and hasn't to be part of the comment string. The caller is
+ responsible that the passed string is a valid comment in a Java
+ properties file, e.g. "# My strings". The string may be empty.
+
+ @param Handler
+ a com::sun::star::task::XInteractionHandler
+ to be passed to ucb. This may be a null interface.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if no string or an empty string is passed as URL
+ */
+ create( [in] string URL, [in] boolean ReadOnly,
+ [in] com::sun::star::lang::Locale locale,
+ [in] string BaseName, [in] string Comment,
+ [in] com::sun::star::task::XInteractionHandler Handler )
+ raises( ::com::sun::star::lang::IllegalArgumentException );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/resource/StringResourceWithStorage.idl b/offapi/com/sun/star/resource/StringResourceWithStorage.idl
new file mode 100644
index 000000000..e99a70409
--- /dev/null
+++ b/offapi/com/sun/star/resource/StringResourceWithStorage.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_resource_StringResourceWithStorage_idl__
+#define __com_sun_star_resource_StringResourceWithStorage_idl__
+
+#include <com/sun/star/resource/XStringResourceWithStorage.idl>
+
+
+
+module com { module sun { module star { module resource {
+
+
+/** specifies a service providing access to a resource string table implementing the
+ com::sun::star::resource::XStringResourceWithStorage interface.
+ */
+service StringResourceWithStorage : com::sun::star::resource::XStringResourceWithStorage
+{
+ /** is used to initialize the object on its creation.
+
+ @param Storage
+ Specifies the storage used to load and store - if
+ the ReadOnly state allows it - the string table data.
+
+ @param ReadOnly
+ Specifies if the resource should be read only,
+ see <code>XStringResourceManager::isReadOnly</code>
+
+ @param locale
+ Specifies if the locale first to be used as current locale. Internally
+ the <code>XStringResourceManager::setCurrentLocale</code> method is
+ called with FindClosestMatch=true.
+ see <code>XStringResourceManager::setCurrentLocale</code>
+
+ @param BaseName
+ Base string for the file names used to store the locale data.
+ The locale data is stored in Java properties files also following
+ the corresponding naming scheme. The files will be named like this:
+ "[BaseName]_[Language]_[Country].properties",
+ e.g. "MyBaseName_en_US.properties"
+ If an empty string is passed for BaseName, "strings" will be used
+ as BaseName.
+
+ @param Comment
+ Comment stored first in each properties file followed by a line
+ feed character. The line feed character is added automatically
+ and hasn't to be part of the comment string. The caller is
+ responsible that the passed string is a valid comment in a Java
+ properties file, e.g. "# My strings". The string may be empty.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if a null interface is passed as Storage
+ */
+ create( [in] ::com::sun::star::embed::XStorage Storage,
+ [in] boolean ReadOnly, [in] com::sun::star::lang::Locale locale,
+ [in] string BaseName, [in] string Comment )
+ raises( ::com::sun::star::lang::IllegalArgumentException );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/resource/XStringResourceManager.idl b/offapi/com/sun/star/resource/XStringResourceManager.idl
new file mode 100644
index 000000000..c602c7d7b
--- /dev/null
+++ b/offapi/com/sun/star/resource/XStringResourceManager.idl
@@ -0,0 +1,291 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_resource_XStringResourceManager_idl__
+#define __com_sun_star_resource_XStringResourceManager_idl__
+
+#include <com/sun/star/resource/MissingResourceException.idl>
+#include <com/sun/star/resource/XStringResourceResolver.idl>
+#include <com/sun/star/container/ElementExistException.idl>
+#include <com/sun/star/lang/Locale.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/lang/NoSupportException.idl>
+
+
+
+module com { module sun { module star { module resource {
+
+/**
+ Interface to manage a resource string table containing a set of
+ strings for different locales.
+
+ The interface is derived from
+ com::sun::star::resource::XStringResourceResolver
+ that allows to access the string table but not to modify it. This
+ interface also allows to modify the string table.
+
+ It's designed to be used in the context of creating a string table,
+ e.g. from a string table editor or from a Dialog Editor designing
+ localized dialogs.
+
+*/
+interface XStringResourceManager: com::sun::star::resource::XStringResourceResolver
+{
+ /**
+ Returns the resource's read only state
+
+ @return `TRUE` if the resource is read only, otherwise `FALSE`
+ */
+ boolean isReadOnly();
+
+
+ /** Sets the locale to be used
+
+ @param Locale
+ Specifies the current locale to be used.
+
+ @param FindClosestMatch
+ <p>If true: If the exact locale that should be set is not available
+ the method tries to find the closest match. E.g. if en_US is re-
+ quired but not available, en would be the next choice. Finally
+ the default locale will be used `TRUE`.
+
+ <p>If false: If the exact locale that should be set is not available
+ a com::sun::star::lang::IllegalArgumentException
+ is thrown.
+
+ <p>If false: If the exact locale that should be set is not available
+ a com::sun::star::lang::IllegalArgumentException
+ is thrown.
+ */
+ void setCurrentLocale
+ (
+ [in] com::sun::star::lang::Locale Locale,
+ [in] boolean FindClosestMatch
+ )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+
+ /** Sets the default locale to be used
+
+ @param Locale
+ Specifies the default locale to be used.
+ If this locale is not available a
+ com::sun::star::lang::IllegalArgumentException
+ is thrown.
+
+ @throws com::sun::star::lang::NoSupportException
+ if the resource is read only, see isReadOnly()
+ */
+ void setDefaultLocale( [in] com::sun::star::lang::Locale Locale )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::lang::NoSupportException );
+
+
+ /**
+ Associates a String to a Resource ID for the current locale.
+ If an entry for the Resource ID already exists, the string
+ associated with it will be overwritten, otherwise a new
+ entry will be created.
+
+ @param ResourceID
+ ID to address the string inside the resource for the current locale.
+
+ @param Str
+ String to be associated with the Resource ID.
+
+ @throws com::sun::star::lang::NoSupportException
+ if the resource is read only, see isReadOnly()
+ */
+ void setString
+ (
+ [in] string ResourceID,
+ [in] string Str
+ )
+ raises( com::sun::star::lang::NoSupportException );
+
+
+ /**
+ Associates a String to a Resource ID for a specific locale.
+ If an entry for the Resource ID already exists, the string
+ associated with it will be overwritten, otherwise a new
+ entry will be created.
+
+ It's not recommended to use this method to get the best
+ performance as the implementation may be optimized for
+ the use of the current locale.
+
+ @param ResourceID
+ ID to address the string inside the resource.
+
+ @param Str
+ String to be associated with the Resource ID.
+
+ @param locale
+ The locale the string should be set for.
+ The locale has to match exactly with one of the locales provided by
+ getLocales(). A closest match search is not supported.
+
+ @throws com::sun::star::lang::NoSupportException
+ if the resource is read only, see isReadOnly()
+ */
+ void setStringForLocale
+ (
+ [in] string ResourceID,
+ [in] string Str,
+ [in] com::sun::star::lang::Locale locale
+ )
+ raises( com::sun::star::lang::NoSupportException );
+
+
+ /**
+ Removes a Resource ID including the corresponding string for
+ the current locale.
+
+ @param ResourceID
+ The Resource ID to be removed for the current locale.
+
+ @throws
+ com::sun::star::resource::MissingResourceException
+ if the Resource ID is not valid.
+
+ @throws
+ com::sun::star::lang::NoSupportException
+ if the resource is read only, see isReadOnly()
+ */
+ void removeId( [in] string ResourceID )
+ raises( com::sun::star::resource::MissingResourceException,
+ com::sun::star::lang::NoSupportException );
+
+
+ /**
+ Removes a Resource ID including the corresponding string for
+ s specific locale.
+
+ @param ResourceID
+ The Resource ID to be removed.
+
+ @param locale
+ The locale the Resource ID should be removed for.
+ The locale has to match exactly with one of the locales provided by
+ getLocales(). A closest match search is not supported.
+
+ @throws
+ com::sun::star::resource::MissingResourceException
+ if the Resource ID is not valid.
+
+ @throws
+ com::sun::star::lang::NoSupportException
+ if the resource is read only, see isReadOnly()
+ */
+ void removeIdForLocale( [in] string ResourceID, [in] com::sun::star::lang::Locale locale )
+ raises( com::sun::star::resource::MissingResourceException,
+ com::sun::star::lang::NoSupportException );
+
+
+ /**
+ Creates a new locale.
+
+ <p>For each existing ResourceID an empty string
+ will be created. The first locale created will
+ automatically be the first default locale.
+ Otherwise strings for all already created IDs
+ will be copied from the default locale.</p>
+
+ @throws
+ com::sun::star::container::ElementExistException
+ if the Locale already has been created.
+
+ @throws
+ com::sun::star::lang::IllegalArgumentException
+ if the Locale is not valid.
+
+ @throws
+ com::sun::star::lang::NoSupportException
+ if the resource is read only, see isReadOnly()
+ */
+ void newLocale( [in] com::sun::star::lang::Locale locale )
+ raises( com::sun::star::container::ElementExistException,
+ com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::lang::NoSupportException );
+
+
+ /**
+ Removes a locale completely including the corresponding
+ strings for each locale.
+
+ @throws
+ com::sun::star::lang::IllegalArgumentException
+ if the Locale to be removed is not supported.
+
+ @throws
+ com::sun::star::lang::NoSupportException
+ if the resource is read only, see isReadOnly()
+ */
+ void removeLocale( [in] com::sun::star::lang::Locale locale )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::lang::NoSupportException );
+
+
+ /**
+ Provides a numeric id that is unique within all Resource IDs
+ used in the string table.
+
+ This method takes into account all Resource IDs starting with
+ a decimal number and only evaluates the ID until the first non
+ digit character is reached. This allows to extend unique IDs
+ with individual identifiers without breaking the mechanism of
+ this method.
+
+ Examples:
+ ID "42" -> numeric id 42
+ ID "0foo" -> numeric id 0
+ ID "111.MyId.Something.Else" -> numeric id 111
+ ID "No Digits" -> not considered for numeric id
+
+ The id returned will be 0 for an empty string table and it will
+ be reset to 0 if all locales are removed. In all other cases
+ this method returns the maximum numeric id used so far at the
+ beginning of a Resource ID incremented by 1. When calling this
+ method more than once always the same number will be returned
+ until this number is really used at the beginning of a new
+ Resource ID passed to setString() or
+ setStringForLocale().
+
+ As the numeric id is guaranteed to be unique for the complete
+ string table all locales are taken into account. So using this
+ methods will force the implementation to load all locale data
+ that may not have been loaded so far.
+
+ @throws
+ com::sun::star::lang::NoSupportException
+ if the next available id exceeds the range of type long.
+ So it's not recommended to use own Resource IDs starting
+ with a decimal number near to the maximum long value if
+ this methods should be used.
+ */
+ long getUniqueNumericId()
+ raises( com::sun::star::lang::NoSupportException );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/resource/XStringResourcePersistence.idl b/offapi/com/sun/star/resource/XStringResourcePersistence.idl
new file mode 100644
index 000000000..496ec3456
--- /dev/null
+++ b/offapi/com/sun/star/resource/XStringResourcePersistence.idl
@@ -0,0 +1,230 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_resource_XStringResourcePersistence_idl__
+#define __com_sun_star_resource_XStringResourcePersistence_idl__
+
+#include <com/sun/star/resource/XStringResourceManager.idl>
+#include <com/sun/star/embed/XStorage.idl>
+#include <com/sun/star/task/XInteractionHandler.idl>
+
+
+
+module com { module sun { module star { module resource {
+
+/**
+ Interface derived from XStringResourceManager containing
+ basic persistence functionality limited to operations that
+ are independent from an associated location or storage.
+
+ @see XStringResourceManager.
+*/
+interface XStringResourcePersistence: com::sun::star::resource::XStringResourceManager
+{
+ /**
+ Stores all string table data respectively all data modified since
+ the last call to store() to the location or storage
+ associated with the StringResourceManager. Each locale is stored
+ in a single file following the format of Java properties files.
+
+ This interface is supported by the services
+ StringResourceWithLocation and
+ StringResourceWithStorage
+
+ The StringResourceWithLocation is initialized with a URL
+ specifying a location used to load data from and store data to,
+ see StringResourceWithLocation.
+
+ The StringResourceWithStorage is initialized with an instance
+ of com::sun::star::embed::XStorage
+ used to load data from and store data to,
+ see StringResourceWithStorage.
+
+ If the string table isn't modified (see isModified())
+ this method does nothing.
+
+ This method can throw all exceptions thrown by the methods of
+ com::sun::star::embed::XStorage respectively
+ a com::sun::star::ucb::CommandAbortedException in
+ case of a StringResourceWithLocation for all exceptions that are
+ not handled by a previously specified
+ com::sun::star::task::XInteractionHandler.
+ The handler to be used for the store operation can be specified
+ during initialization of StringResourceWithLocation.
+
+ @throws com::sun::star::lang::NoSupportException
+ if no URL or no valid storage are provided.
+ */
+ void store()
+ raises( com::sun::star::lang::NoSupportException,
+ com::sun::star::uno::Exception );
+
+
+ /**
+ provides the current modify state of the StringResourceManager instance.
+
+ @return
+ `TRUE` if the string table has changed since the last call to
+ store() or, if supported
+ <code>XStringResourceWithStorage::storeAsStorage</code>.
+ `FALSE` if the table hasn't changed.
+ */
+ boolean isModified();
+
+
+ /**
+ Sets the comment stored first in each locale data file.
+
+ This interface method can be used to overwrite the comment used
+ during initialization of the services
+ StringResourceWithLocation or
+ StringResourceWithStorage
+
+ @param Comment
+ Comment stored first in each properties file followed by a line
+ feed character. The line feed character is added automatically
+ and hasn't to be part of the comment string. The caller is
+ responsible that the passed string is a valid comment in a Java
+ properties file, e.g. "# My strings". The string may be empty.
+ */
+ void setComment( [in] string Comment );
+
+
+ /**
+ Stores all string table data to the provided storage.
+
+ Calling this method does not affect the association with a location
+ (in case of a StringResourceWithLocation instance)
+ respectively with a storage (in case of a
+ StringResourceWithStorage instance).
+ The modified state isn't affected either.
+
+ This method can be used to make a copy of the current string
+ table data to a storage. This method can throw all exceptions
+ thrown by the methods of com::sun::star::embed::XStorage
+
+ @param Storage
+ all string table data will be stored to this storage.
+
+ @param BaseName
+ Base string for the file names used to store the locale data.
+ The locale data is stored in Java properties files also following
+ the corresponding naming scheme. The files will be named like this:
+ "[BaseName]_[Language]_[Country].properties",
+ e.g. "MyBaseName_en_US.properties"
+ If an empty string is passed for BaseName, "strings" will be used
+ as BaseName.
+
+ @param Comment
+ Comment stored first in each properties file,
+ for a detailed description see setComment().
+
+ This method can throw all exceptions thrown by the methods of
+ com::sun::star::embed::XStorage
+ */
+ void storeToStorage( [in] ::com::sun::star::embed::XStorage Storage,
+ [in] string BaseName, [in] string Comment )
+ raises ( com::sun::star::uno::Exception );
+
+
+ /**
+ Stores all string table data to the location specified by the
+ passed URL string.
+
+ Calling this method does not affect the association with a location
+ (in case of a StringResourceWithLocation instance)
+ respectively with a storage (in case of a
+ StringResourceWithStorage instance).
+ The modified state isn't affected either.
+
+ This method can be used to make a copy of the current string
+ table data to a location.
+
+ @param URL
+ the location the string table data should be stored to.
+
+ @param BaseName
+ Base string for the file names used to store the locale data.
+ The locale data is stored in Java properties files also following
+ the corresponding naming scheme. The files will be named like this:
+ "[BaseName]_[Language]_[Country].properties",
+ e.g. "MyBaseName_en_US.properties"
+ If an empty string is passed for BaseName, "strings" will be used
+ as BaseName.
+
+ @param Comment
+ Comment stored first in each properties file,
+ for a detailed description see setComment().
+
+ @param Handler
+ a com::sun::star::task::XInteractionHandler.
+ It will be passed to ucb handle exceptions. Exceptions not processed
+ by this handler will be passed as com::sun::star::uno::Exception. If
+ this parameter is null this applies to all exceptions thrown by ucb.
+
+ @see com::sun::star::task::InteractionHandler
+ */
+ void storeToURL( [in] string URL, [in] string BaseName, [in] string Comment,
+ [in] com::sun::star::task::XInteractionHandler Handler )
+ raises( com::sun::star::uno::Exception );
+
+
+ /**
+ Returns a sequence of byte representing the complete string resource
+ in a binary format.
+
+ This method is intended to support datatransfer functionality, e.g. provided
+ by com::sun::star::datatransfer::XTransferable and
+ related interfaces.
+
+ See importBinary()).
+
+ @return a sequence of byte representing the string resource.
+ */
+ sequence<byte> exportBinary();
+
+
+ /**
+ Initializes the string resource with binary data. This method
+ expects the data format returned by exportBinary().
+
+ All locales and strings previously added to the string resource
+ will be deleted. So after calling this method the string resource
+ only contains the locales and strings specified in the binary data.
+
+ This method is intended to support datatransfer functionality, e.g. provided
+ by com::sun::star::datatransfer::XTransferable and
+ related interfaces.
+
+ See importBinary()).
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if Data is empty or does not meet the binary format returned by
+ the current or earlier version of exportBinary()).
+ */
+ void importBinary( [in] sequence<byte> Data )
+ raises ( com::sun::star::lang::IllegalArgumentException );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/resource/XStringResourceResolver.idl b/offapi/com/sun/star/resource/XStringResourceResolver.idl
new file mode 100644
index 000000000..f56605987
--- /dev/null
+++ b/offapi/com/sun/star/resource/XStringResourceResolver.idl
@@ -0,0 +1,184 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_resource_XStringResourceResolver_idl__
+#define __com_sun_star_resource_XStringResourceResolver_idl__
+
+#include <com/sun/star/resource/MissingResourceException.idl>
+#include <com/sun/star/util/XModifyBroadcaster.idl>
+#include <com/sun/star/lang/Locale.idl>
+
+
+
+module com { module sun { module star { module resource {
+
+/**
+ Interface to access strings in a resource.
+
+ The interface is derived from
+ com::sun::star::util::XModifyBroadcaster
+
+ All registered com::sun::star::util::XModifyListener
+ interfaces will be notified if either the current locale changes or if
+ a string is added, changed or removed. This usually will only happen if
+ the implementing object also supports the interface
+ com::sun::star::resource::XStringResourceManager
+ and is used in the design mode of a Dialog or String table editor.
+ But also changing the locale at runtime can be supported in this way.
+
+*/
+interface XStringResourceResolver: com::sun::star::util::XModifyBroadcaster
+{
+ /**
+ Resolves the passed ResourceID for the current locale. This
+ locale is set during initialization of the object implementing
+ this interface or - in case that also the interface
+ com::sun::star::resource::XStringResourceManager
+ is supported - by using the <code>XStringResourceManager::setLocale</code>
+ method.
+
+ @param ResourceID
+ ID to specify the string inside the resource.
+ The ID can - but not needs to - be a hierarchical
+ name like "foo.nothing.invalid".
+
+ @return the localized string for the specified ID
+
+ @throws ::com::sun::star::resource::MissingResourceException
+ if no entry exists for the given ResourceID
+ */
+ string resolveString( [in] string ResourceID )
+ raises( com::sun::star::resource::MissingResourceException );
+
+
+ /** Resolves the passed ResourceID for a specific locale.
+
+ It's not recommended to use this method to get the best
+ performance as the implementation may be optimized for
+ the use of the current locale.
+
+ @param ResourceID
+ ID to specify the string inside the resource.
+ The ID can - but not needs to - be a hierarchical
+ name like "foo.nothing.invalid".
+
+ @param locale
+ The locale the string should be resolved for.
+ The locale has to match exactly with one of the locales provided by
+ getLocales(). A closest match search is not supported.
+
+ @return the localized string for the specified ID and Locale
+
+ @throws com::sun::star::resource::MissingResourceException
+ if no entry exists for the given ResourceID or locale
+ */
+ string resolveStringForLocale( [in] string ResourceID, [in] com::sun::star::lang::Locale locale )
+ raises( com::sun::star::resource::MissingResourceException );
+
+
+ /**
+ Checks if the resource contains an entry for the given ResourceID
+ and current locale.
+
+ @param ResourceID
+ ID to specify the string inside the resource.
+
+ @return `TRUE` if an entry exists, otherwise `FALSE`
+
+ */
+ boolean hasEntryForId( [in] string ResourceID );
+
+
+ /**
+ Checks if the resource contains an entry for the given ResourceID and locale.
+
+ It's not recommended to use this method to get the best
+ performance as the implementation may be optimized for
+ the use of the current locale.
+
+ @param ResourceID
+ ID to specify the string inside the resource.
+
+ @param locale
+ The locale the entry should be checked for.
+ The locale has to match exactly with one of the locales provided by
+ getLocales(). A closest match search is not supported.
+
+ @return `TRUE` if an entry exists, otherwise `FALSE`
+ */
+ boolean hasEntryForIdAndLocale( [in] string ResourceID, [in] com::sun::star::lang::Locale locale );
+
+
+ /**
+ Returns a sequence of all valid Resource IDs for the current locale
+
+ @return a sequence of all valid Resource IDs
+ */
+ sequence<string> getResourceIDs();
+
+
+ /**
+ Returns a sequence of all valid Resource IDs for a specific locale
+
+ It's not recommended to use this method to get the best
+ performance as the implementation may be optimized for
+ the use of the current locale.
+
+ @param locale
+ The locale the ResourceIDs should be returned for.
+ The locale has to match exactly with one of the locales provided by
+ getLocales(). A closest match search is not supported.
+
+ @return a sequence of all valid Resource IDs
+ */
+ sequence<string> getResourceIDsForLocale( [in] com::sun::star::lang::Locale locale );
+
+
+ /** Returns the current locale specified in the accessed resource.
+
+ If no locale is available, the returned Locale structure
+ only contains empty strings.
+
+ @returns the used locale
+ */
+ com::sun::star::lang::Locale getCurrentLocale();
+
+
+ /** Returns the default locale of the accessed resource. In many
+ cases this will be the locale of the Office initially used
+ to create the resource.
+
+ @return the used locale
+ */
+ com::sun::star::lang::Locale getDefaultLocale();
+
+
+ /**
+ Returns a sequence of all supported locales
+
+ @return a sequence of all supported locales
+ */
+ sequence<com::sun::star::lang::Locale> getLocales();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/resource/XStringResourceSupplier.idl b/offapi/com/sun/star/resource/XStringResourceSupplier.idl
new file mode 100644
index 000000000..5889dee83
--- /dev/null
+++ b/offapi/com/sun/star/resource/XStringResourceSupplier.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_resource_XStringResourceSupplier_idl__
+#define __com_sun_star_resource_XStringResourceSupplier_idl__
+
+#include <com/sun/star/resource/XStringResourceResolver.idl>
+
+
+
+module com { module sun { module star { module resource {
+
+
+/**
+ Provides access to a string resource represented by a
+ com::sun::star::resource::XStringResourceResolver.
+ */
+interface XStringResourceSupplier: com::sun::star::uno::XInterface
+{
+
+ /**
+ Provides access to a string resource.
+ Depending on the context the returned object may also support
+ com::sun::star::resource::XStringResourceManager or
+ com::sun::star::resource::XStringResourcePersistence or
+ com::sun::star::resource::XStringResourceWithStorage
+
+ @returns an interface
+ com::sun::star::resource::XStringResourceResolver
+ */
+ com::sun::star::resource::XStringResourceResolver getStringResource();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/resource/XStringResourceWithLocation.idl b/offapi/com/sun/star/resource/XStringResourceWithLocation.idl
new file mode 100644
index 000000000..3a5a215ba
--- /dev/null
+++ b/offapi/com/sun/star/resource/XStringResourceWithLocation.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_resource_XStringResourceWithLocation_idl__
+#define __com_sun_star_resource_XStringResourceWithLocation_idl__
+
+#include <com/sun/star/resource/XStringResourcePersistence.idl>
+
+
+module com { module sun { module star { module resource {
+
+/**
+ Extends XStringResourcePersistence by methods to handle an
+ associated location.
+
+ @see XStringResourcePersistence.
+*/
+interface XStringResourceWithLocation: com::sun::star::resource::XStringResourcePersistence
+{
+ /**
+ Stores all string table data to a location and associates this location
+ to this instance as if setLocation() was called with this
+ location. The modified state will be unmodified after the call.
+
+ @param URL
+ the location the string table data should be stored to.
+ */
+ void storeAsURL( [in] string URL )
+ raises( com::sun::star::uno::Exception );
+
+
+ /**
+ Associates a location to the StringResourceWithStorage instance
+ which is used on subsequent calls of store().
+
+ @param URL
+ the location to be associated to the StringResourceManager
+
+ <p>
+ This call has to be used carefully as it removes the location
+ previously connected to the StringResourceWithStorage. It may
+ force the implementation to reload data from the previous
+ location before releasing it. The StringResourceManager will
+ be modified after calling this method as the data isn't stored
+ to the new location yet. storeAsURL() should
+ be preferred as it directly stores the data to the new location
+ and afterwards this location is in sync with the resource data.
+ </p>
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if an empty string is passed as URL
+
+ @throws com::sun::star::lang::NoSupportException
+ if the location is readonly
+ */
+ void setURL( [in] string URL )
+ raises( ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::lang::NoSupportException );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/resource/XStringResourceWithStorage.idl b/offapi/com/sun/star/resource/XStringResourceWithStorage.idl
new file mode 100644
index 000000000..41f1f2c31
--- /dev/null
+++ b/offapi/com/sun/star/resource/XStringResourceWithStorage.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_resource_XStringResourceWithStorage_idl__
+#define __com_sun_star_resource_XStringResourceWithStorage_idl__
+
+#include <com/sun/star/resource/XStringResourcePersistence.idl>
+
+
+
+module com { module sun { module star { module resource {
+
+/**
+ Extends XStringResourcePersistence by methods to handle an
+ associated com::sun::star::embed::XStorage instance.
+
+ @see XStringResourcePersistence.
+*/
+interface XStringResourceWithStorage: com::sun::star::resource::XStringResourcePersistence
+{
+ /**
+ Stores all string table data to a storage and associates this storage
+ to this instance as if setStorage() was called with
+ this storage. The modified state will be unmodified after the call.
+
+ This method can throw all exceptions thrown by the methods of
+ com::sun::star::embed::XStorage
+ */
+ void storeAsStorage( [in] ::com::sun::star::embed::XStorage Storage )
+ raises( com::sun::star::uno::Exception );
+
+
+ /**
+ Associates a storage to the StringResourceWithStorage instance
+ which is used on subsequent calls of store().
+
+ @param Storage
+ the storage to be associated to the StringResourceManager
+
+ <p>
+ This call has to be used carefully as it removes the storage
+ previously connected to the StringResourceWithStorage. It may
+ force the implementation to reload data from the previous storage
+ before releasing it. The StringResourceManager will be modified
+ after calling this method as the data isn't stored to the new
+ storage yet. storeAsStorage() should be preferred
+ as it directly stores the data to the new storage and afterwards
+ this storage is in sync with the resource data.
+ </p>
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if a null interface is passed as Storage
+ */
+ void setStorage( [in] ::com::sun::star::embed::XStorage Storage )
+ raises( ::com::sun::star::lang::IllegalArgumentException );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/scanner/ScanError.idl b/offapi/com/sun/star/scanner/ScanError.idl
new file mode 100644
index 000000000..614cffe9a
--- /dev/null
+++ b/offapi/com/sun/star/scanner/ScanError.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_scanner_ScanError_idl__
+#define __com_sun_star_scanner_ScanError_idl__
+
+
+
+module com { module sun { module star { module scanner {
+
+/** enum ScanError describes error codes of scanner component
+*/
+published enum ScanError
+{
+ // DOCUMENTATION CHANGED FOR ScanError:: ScanErrorNone,
+ /** ScanErrorNone: no error occurred
+ */
+ ScanErrorNone,
+
+ // DOCUMENTATION CHANGED FOR ScanError:: ScannerNotAvailable,
+ /** ScannerNotAvailable: the requested device could not be opened
+ */
+ ScannerNotAvailable,
+
+ // DOCUMENTATION CHANGED FOR ScanError:: ScanFailed,
+ /** ScanFailed: an error occurred during scanning
+ */
+ ScanFailed,
+
+ // DOCUMENTATION CHANGED FOR ScanError:: ScanInProgress,
+ /** ScanInProgress: a scan is already in progress on this device that has
+ to end before a new one can be started
+ */
+ ScanInProgress,
+
+ // DOCUMENTATION CHANGED FOR ScanError:: ScanCanceled,
+ /** ScanCanceled: the scan was canceled by the user
+ */
+ ScanCanceled,
+
+ // DOCUMENTATION CHANGED FOR ScanError:: InvalidContext
+ /** InvalidContext: a device was requested that does not exist
+ */
+ InvalidContext
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/scanner/ScannerContext.idl b/offapi/com/sun/star/scanner/ScannerContext.idl
new file mode 100644
index 000000000..1104e8c0b
--- /dev/null
+++ b/offapi/com/sun/star/scanner/ScannerContext.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_scanner_ScannerContext_idl__
+#define __com_sun_star_scanner_ScannerContext_idl__
+
+
+
+module com { module sun { module star { module scanner {
+
+/** a scanner context is an identifier for a specific scanner device
+*/
+published struct ScannerContext
+{
+ // DOCUMENTATION CHANGED FOR ScannerContext::ScannerName
+ /** ScannerName contains a user readable identification
+ */
+ string ScannerName;
+
+ // DOCUMENTATION CHANGED FOR ScannerContext::InternalData
+ /** InternalData contains service private data and must not be changed
+ */
+ long InternalData;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/scanner/ScannerException.idl b/offapi/com/sun/star/scanner/ScannerException.idl
new file mode 100644
index 000000000..8f1a8d836
--- /dev/null
+++ b/offapi/com/sun/star/scanner/ScannerException.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_scanner_ScannerException_idl__
+#define __com_sun_star_scanner_ScannerException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+#include <com/sun/star/scanner/ScanError.idl>
+
+
+
+module com { module sun { module star { module scanner {
+
+/** A ScannerException gets thrown if an object of type XScannerManager
+ could not complete a specific action.
+*/
+published exception ScannerException: com::sun::star::uno::Exception
+{
+ // DOCUMENTATION CHANGED FOR ScannerException::Error
+ /** Error: contains the specific reason for failure
+ */
+ com::sun::star::scanner::ScanError Error;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/scanner/ScannerManager.idl b/offapi/com/sun/star/scanner/ScannerManager.idl
new file mode 100644
index 000000000..c774ea674
--- /dev/null
+++ b/offapi/com/sun/star/scanner/ScannerManager.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_scanner_ScannerManager_idl__
+#define __com_sun_star_scanner_ScannerManager_idl__
+
+#include <com/sun/star/scanner/XScannerManager2.idl>
+
+
+
+module com { module sun { module star { module scanner {
+
+/** ScannerManager provides a simple method to access scanner devices
+ (or other image producing devices)
+*/
+published service ScannerManager : XScannerManager2;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/scanner/XScannerManager.idl b/offapi/com/sun/star/scanner/XScannerManager.idl
new file mode 100644
index 000000000..c261b345a
--- /dev/null
+++ b/offapi/com/sun/star/scanner/XScannerManager.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_scanner_XScannerManager_idl__
+#define __com_sun_star_scanner_XScannerManager_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/scanner/ScannerContext.idl>
+#include <com/sun/star/scanner/ScannerException.idl>
+#include <com/sun/star/lang/XEventListener.idl>
+#include <com/sun/star/scanner/ScanError.idl>
+#include <com/sun/star/awt/XBitmap.idl>
+
+
+
+module com { module sun { module star { module scanner {
+
+published interface XScannerManager: com::sun::star::uno::XInterface
+{
+ // DOCUMENTATION CHANGED FOR XScannerManager::getAvailableScanners
+ /** returns all available scanner devices
+ */
+ sequence<com::sun::star::scanner::ScannerContext> getAvailableScanners();
+
+ /** produce some kind of User Interface to let the user have a preview,
+ configure the scan area, etc., it
+ returns FALSE if user cancelled this process
+ */
+ boolean configureScanner( [inout] com::sun::star::scanner::ScannerContext scannerContext )
+ raises( com::sun::star::scanner::ScannerException );
+
+ /**start the scanning process
+ listener will be called when scan is complete
+ the EventObject of the disposing call will contain
+ the ScannerManager if the scan was successful,
+ an empty interface otherwise
+ */
+ void startScan( [in] com::sun::star::scanner::ScannerContext scannerContext,
+ [in] com::sun::star::lang::XEventListener listener )
+ raises( com::sun::star::scanner::ScannerException );
+
+ /**get the state of scanning after completion of scan
+ */
+ com::sun::star::scanner::ScanError getError( [in] com::sun::star::scanner::ScannerContext scannerContext )
+ raises( com::sun::star::scanner::ScannerException );
+
+ /**get the image after completion of scan
+ */
+ com::sun::star::awt::XBitmap getBitmap( [in] com::sun::star::scanner::ScannerContext scannerContext )
+ raises( com::sun::star::scanner::ScannerException );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/scanner/XScannerManager2.idl b/offapi/com/sun/star/scanner/XScannerManager2.idl
new file mode 100644
index 000000000..8272b461a
--- /dev/null
+++ b/offapi/com/sun/star/scanner/XScannerManager2.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.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_scanner_XScannerManager2_idl__
+#define __com_sun_star_scanner_XScannerManager2_idl__
+
+#include <com/sun/star/scanner/XScannerManager.idl>
+
+
+module com { module sun { module star { module scanner {
+
+
+/**
+ Extension of XScannerManager.
+
+ @since LibreOffice 3.5
+*/
+published interface XScannerManager2: com::sun::star::scanner::XScannerManager
+{
+ /** produce some kind of User Interface to let the user have a preview,
+ configure the scan area, etc., it, and scan it
+ returns FALSE if user cancelled this process
+ */
+ boolean configureScannerAndScan( [inout] com::sun::star::scanner::ScannerContext scannerContext,
+ [in] com::sun::star::lang::XEventListener listener )
+ raises( com::sun::star::scanner::ScannerException );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/DocumentDialogLibraryContainer.idl b/offapi/com/sun/star/script/DocumentDialogLibraryContainer.idl
new file mode 100644
index 000000000..3ee68bf4b
--- /dev/null
+++ b/offapi/com/sun/star/script/DocumentDialogLibraryContainer.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_script_DocumentDialogLibraryContainer_idl__
+#define __com_sun_star_script_DocumentDialogLibraryContainer_idl__
+
+#include <com/sun/star/script/XStorageBasedLibraryContainer.idl>
+#include <com/sun/star/document/XStorageBasedDocument.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+
+module com { module sun { module star { module script {
+
+
+/** defines a container of dialog libraries, which is to be made
+ persistent in a sub storage of a document storage.
+
+ @since OOo 2.3
+ */
+service DocumentDialogLibraryContainer : XStorageBasedLibraryContainer
+{
+ /** creates an instance of the <code>DocumentDialogLibraryContainer</code>, belonging to a document
+
+ <p>The current storage of the document will be set as initial root storage
+ (see XPersistentLibraryContainer::RootStorage) of the container.</p>
+
+ <p>Usually, you will only create a <code>DocumentDialogLibraryContainer</code> within
+ the implementation of the document to which the container should belong.</p>
+
+ @param Document
+ The document to which the container should belong to. Must not be
+ `NULL`.
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if <code>Document</code> does not denote a valid
+ com::sun::star::document::OfficeDocument.
+ */
+ create( [in] ::com::sun::star::document::XStorageBasedDocument Document )
+ raises( ::com::sun::star::lang::IllegalArgumentException );
+
+ createWithURL( [in] string URL );
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/DocumentScriptLibraryContainer.idl b/offapi/com/sun/star/script/DocumentScriptLibraryContainer.idl
new file mode 100644
index 000000000..1c09688d2
--- /dev/null
+++ b/offapi/com/sun/star/script/DocumentScriptLibraryContainer.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_script_DocumentScriptLibraryContainer_idl__
+#define __com_sun_star_script_DocumentScriptLibraryContainer_idl__
+
+#include <com/sun/star/script/XStorageBasedLibraryContainer.idl>
+#include <com/sun/star/document/XStorageBasedDocument.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+
+module com { module sun { module star { module script {
+
+
+/** defines a container of StarBasic script libraries, which is to be made
+ persistent in a sub storage of a document storage.
+
+ @since OOo 2.3
+ */
+service DocumentScriptLibraryContainer : XStorageBasedLibraryContainer
+{
+ /** creates an instance of the <code>DocumentScriptLibraryContainer</code>, belonging to a document
+
+ <p>The current storage of the document will be set as initial root storage
+ (see XPersistentLibraryContainer::RootStorage) of the container.</p>
+
+ <p>Usually, you will only create a <code>DocumentScriptLibraryContainer</code> within
+ the implementation of the document to which the container should belong.</p>
+
+ @param Document
+ The document to which the container should belong to. Must not be
+ `NULL`.
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if <code>Document</code> does not denote a valid
+ com::sun::star::document::OfficeDocument.
+ */
+ create( [in] ::com::sun::star::document::XStorageBasedDocument Document )
+ raises( ::com::sun::star::lang::IllegalArgumentException );
+
+ createWithURL( [in] string URL );
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/LibraryNotLoadedException.idl b/offapi/com/sun/star/script/LibraryNotLoadedException.idl
new file mode 100644
index 000000000..538433328
--- /dev/null
+++ b/offapi/com/sun/star/script/LibraryNotLoadedException.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_script_LibraryNotLoadedException_idl__
+#define __com_sun_star_script_LibraryNotLoadedException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+module com { module sun { module star { module script {
+
+
+/** is thrown when an operation on a unloaded library is attempted which requires the library
+ being loaded.
+
+ @since OOo 3.0
+*/
+exception LibraryNotLoadedException : com::sun::star::uno::Exception
+{
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/ModuleInfo.idl b/offapi/com/sun/star/script/ModuleInfo.idl
new file mode 100644
index 000000000..cbbae8689
--- /dev/null
+++ b/offapi/com/sun/star/script/ModuleInfo.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_script_ModuleInfo_idl__
+#define __com_sun_star_script_ModuleInfo_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module script {
+struct ModuleInfo
+{
+ com::sun::star::uno::XInterface ModuleObject;
+ long ModuleType;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/ModuleSizeExceededRequest.idl b/offapi/com/sun/star/script/ModuleSizeExceededRequest.idl
new file mode 100644
index 000000000..21e9beeaf
--- /dev/null
+++ b/offapi/com/sun/star/script/ModuleSizeExceededRequest.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_script_ModuleSizeExceededRequest_idl__
+#define __com_sun_star_script_ModuleSizeExceededRequest_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+module com { module sun { module star { module script {
+
+/** Is used for interaction handle in case password protected modules exceed the size that can be stored in OpenOffice 2.x, 1.x formats
+
+*/
+exception ModuleSizeExceededRequest : ::com::sun::star::uno::Exception
+{
+ /** The name of the modules that exceed size that can be stored
+ */
+ sequence< string > Names;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/ModuleType.idl b/offapi/com/sun/star/script/ModuleType.idl
new file mode 100644
index 000000000..2f31ca019
--- /dev/null
+++ b/offapi/com/sun/star/script/ModuleType.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_script_ModuleType_idl__
+#define __com_sun_star_script_ModuleType_idl__
+
+
+module com { module sun { module star { module script {
+
+published constants ModuleType
+{
+ const long UNKNOWN = 0;
+ const long NORMAL = 1;
+ const long CLASS = 2;
+ const long FORM = 3;
+ const long DOCUMENT = 4;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/NativeObjectWrapper.idl b/offapi/com/sun/star/script/NativeObjectWrapper.idl
new file mode 100644
index 000000000..d8db91a4e
--- /dev/null
+++ b/offapi/com/sun/star/script/NativeObjectWrapper.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_script_NativeObjectWrapper_idl__
+#define __com_sun_star_script_NativeObjectWrapper_idl__
+
+module com { module sun { module star { module script {
+struct NativeObjectWrapper
+{
+ any ObjectId;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/XLibraryContainer.idl b/offapi/com/sun/star/script/XLibraryContainer.idl
new file mode 100644
index 000000000..9b768fe89
--- /dev/null
+++ b/offapi/com/sun/star/script/XLibraryContainer.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_script_XLibraryContainer_idl__
+#define __com_sun_star_script_XLibraryContainer_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/container/XNameContainer.idl>
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+#include <com/sun/star/container/NoSuchElementException.idl>
+
+#include <com/sun/star/container/ElementExistException.idl>
+
+#include <com/sun/star/lang/WrappedTargetException.idl>
+
+
+
+module com { module sun { module star { module script {
+
+
+/**
+ Provides access to a library system.
+ */
+published interface XLibraryContainer: com::sun::star::container::XNameAccess
+{
+ /**
+ Creates a new library
+ */
+ com::sun::star::container::XNameContainer createLibrary( [in] string Name )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::container::ElementExistException );
+
+ /**
+ Creates a link to an "external" library that then can be
+ accessed using this library manager. The format of the
+ StorageURL is a matter of the implementation. If the read
+ only flag is set, the linked library cannot be modified.
+ In this case, the returned interface really is only an
+ XNameAccess. If ReadOnly is false (and the referenced
+ storage allows write access) the returned interface also
+ can be a com::sun::star::container::XNameContainer.
+ */
+ com::sun::star::container::XNameAccess createLibraryLink( [in] string Name, [in] string StorageURL, [in] boolean ReadOnly )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::container::ElementExistException );
+
+ /** removes the library item with the specified name. If the accessed
+ library item is a link only the link is removed, not the target library.
+ */
+ void removeLibrary( [in] string Name )
+ raises( com::sun::star::container::NoSuchElementException,
+ com::sun::star::lang::WrappedTargetException );
+
+ /**
+ returns true if the accessed library is already loaded from
+ the storage, otherwise false.
+ */
+ boolean isLibraryLoaded( [in] string Name )
+ raises( com::sun::star::container::NoSuchElementException );
+
+ /**
+ Causes the accessed library to be loaded from its storage
+ if it hasn't already been loaded.
+ */
+ void loadLibrary( [in] string Name )
+ raises( com::sun::star::container::NoSuchElementException,
+ com::sun::star::lang::WrappedTargetException );
+
+};
+
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/XLibraryContainer2.idl b/offapi/com/sun/star/script/XLibraryContainer2.idl
new file mode 100644
index 000000000..1b0a9ac9e
--- /dev/null
+++ b/offapi/com/sun/star/script/XLibraryContainer2.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_script_XLibraryContainer2_idl__
+#define __com_sun_star_script_XLibraryContainer2_idl__
+
+#include <com/sun/star/script/XLibraryContainer.idl>
+
+
+
+ module com { module sun { module star { module script {
+
+
+/**
+ Extension of XLibraryContainer to provide additional information
+ about the libraries contained in a library container
+ */
+published interface XLibraryContainer2: com::sun::star::script::XLibraryContainer
+{
+ /**
+ returns true if the accessed library item is a link,
+ e.g., created by createLibraryLink, otherwise false.
+ */
+ boolean isLibraryLink( [in] string Name )
+ raises( com::sun::star::container::NoSuchElementException );
+
+ /**
+ returns the location of the library link target.
+ Should return the same URL that was passed to
+ createLibraryLink in the StorageURL parameter.
+
+ If the accessed library item exists but isn't a
+ link, an IllegalArgumentException is thrown
+ */
+ string getLibraryLinkURL( [in] string Name )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::container::NoSuchElementException );
+
+ /**
+ returns true if the accessed library item (library or library
+ link) is read only. A library can be read only because it was
+ set to read only using the methods provided by this interface
+ or because of other reasons depending on the implementation
+ (e.g., file system write protection)
+ */
+ boolean isLibraryReadOnly( [in] string Name )
+ raises( com::sun::star::container::NoSuchElementException );
+
+ /**
+ Sets the accessed library item (library or library link) to
+ read only according to the flag bReadOnly (true means read only)
+ */
+ void setLibraryReadOnly( [in] string Name, [in] boolean bReadOnly )
+ raises( com::sun::star::container::NoSuchElementException );
+
+ /** renames the library item with the specified name. If the accessed
+ library item is a link only the link is renamed, not the target library.
+ If a library with the new name exists already a
+ com::sun::star::container::ElementExistException is thrown.
+ */
+ void renameLibrary( [in] string Name, [in] string NewName )
+ raises( com::sun::star::container::NoSuchElementException,
+ com::sun::star::container::ElementExistException );
+
+};
+
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/XLibraryContainer3.idl b/offapi/com/sun/star/script/XLibraryContainer3.idl
new file mode 100644
index 000000000..55b38a2d0
--- /dev/null
+++ b/offapi/com/sun/star/script/XLibraryContainer3.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_script_XLibraryContainer3_idl__
+#define __com_sun_star_script_XLibraryContainer3_idl__
+
+#include <com/sun/star/script/XLibraryContainer2.idl>
+
+
+
+ module com { module sun { module star { module script {
+
+
+/**
+ Extension of XLibraryContainer2.
+ */
+published interface XLibraryContainer3: com::sun::star::script::XLibraryContainer2
+{
+
+ /**
+ returns the location of the library link target.
+
+ The returned URL is literally the same as the one provided in
+ XLibraryContainer::createLibraryLink(). Otherwise the behavior
+ is the same as XLibraryContainer2::getLibraryLinkURL()
+ */
+ string getOriginalLibraryLinkURL( [in] string Name )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::container::NoSuchElementException );
+
+
+};
+
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/XLibraryContainerExport.idl b/offapi/com/sun/star/script/XLibraryContainerExport.idl
new file mode 100644
index 000000000..2e68eefb1
--- /dev/null
+++ b/offapi/com/sun/star/script/XLibraryContainerExport.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_script_XLibraryContainerExport_idl__
+#define __com_sun_star_script_XLibraryContainerExport_idl__
+
+#include <com/sun/star/task/XInteractionHandler.idl>
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/container/NoSuchElementException.idl>
+
+
+
+ module com { module sun { module star { module script {
+
+
+/**
+ Extension of XLibraryContainer to provide functionality to
+ store a library to a location represented by a URL.
+ */
+interface XLibraryContainerExport : com::sun::star::uno::XInterface
+{
+ /**
+ Exports a library specified by Name to the location
+ specified by the passed URL string.
+
+ An interaction handler can be passed to be used for internal
+ ucb operations. Exceptions not processed by this handler will
+ be passed as com::sun::star::uno::Exception. If this parameter
+ is null this applies to all exceptions thrown by ucb.
+
+ @see com::sun::star::task::InteractionHandler
+
+ If a library with the this name doesn't exist a
+ com::sun::star::container::NoSuchElementException is thrown.
+ */
+ void exportLibrary( [in] string Name, [in] string URL,
+ [in] com::sun::star::task::XInteractionHandler Handler )
+ raises( com::sun::star::uno::Exception,
+ com::sun::star::container::NoSuchElementException );
+};
+
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/XLibraryContainerPassword.idl b/offapi/com/sun/star/script/XLibraryContainerPassword.idl
new file mode 100644
index 000000000..9fa1b962e
--- /dev/null
+++ b/offapi/com/sun/star/script/XLibraryContainerPassword.idl
@@ -0,0 +1,128 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_script_XLibraryContainerPassword_idl__
+#define __com_sun_star_script_XLibraryContainerPassword_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+#include <com/sun/star/container/NoSuchElementException.idl>
+
+
+
+ module com { module sun { module star { module script {
+
+
+/**
+ Extension of XLibraryContainer to provide password functionality.
+ This interface should be implemented together with XLibraryContainer2
+ </p>
+ */
+published interface XLibraryContainerPassword: com::sun::star::uno::XInterface
+{
+ /**
+ Returns true if the accessed library item is protected
+ by a password.
+
+ If a library with the this name doesn't exist a
+ com::sun::star::container::NoSuchElementException is thrown.
+ */
+ boolean isLibraryPasswordProtected( [in] string Name )
+ raises( com::sun::star::container::NoSuchElementException );
+
+ /**
+ Returns true if the accessed library item is protected by a
+ password (see isLibraryPasswordProtected) and the password
+ was already verified with verifyLibraryPassword or if an
+ initial password was set with changeLibraryPassword.
+
+ If a library with the this name doesn't exist a
+ com::sun::star::container::NoSuchElementException is thrown.
+
+ If the library exists but isn't password protected a
+ com::sun::star::lang::IllegalArgumentException is thrown.
+ */
+ boolean isLibraryPasswordVerified( [in] string Name )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::container::NoSuchElementException );
+
+ /**
+ Verifies the library's password. If the correct password
+ was passed, the method returns true and further calls to
+ isLibraryPasswordVerified will also return true.
+
+ If a library with the this name doesn't exist a
+ com::sun::star::container::NoSuchElementException is thrown.
+
+ If the library exists but isn't password protected a
+ com::sun::star::lang::IllegalArgumentException is thrown.
+
+ If the library password is already verified a
+ com::sun::star::lang::IllegalArgumentException is thrown.
+ */
+ boolean verifyLibraryPassword( [in] string Name, [in] string Password )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::container::NoSuchElementException );
+
+ /**
+ Changes the library's password.
+
+ If the library wasn't password protected before:
+ The OldPassword parameter has to be an empty string.
+ Afterwards calls to isLibraryPasswordProtected and
+ isLibraryPasswordVerified for this library will
+ return true.
+
+ If the library already was password protected:
+ The OldPassword parameter has to be set to the
+ previous defined password. If then the NewPassword
+ parameter is an empty string the library password
+ protection will be disabled afterwards (afterwards
+ calls to isLibraryPasswordProtected for this library
+ will return false). If the NewPassword parameter is
+ not an empty string it will accepted as the new
+ password for the library.
+
+ If a library with the this name doesn't exist but isn't
+ com::sun::star::container::NoSuchElementException is thrown.
+
+ If the library exists and is password protected and a
+ wrong OldPassword is passed to the method a
+ com::sun::star::lang::IllegalArgumentException is thrown.
+
+ If the library exists and isn't password protected and
+ the OldPassword isn't an empty string or the library is
+ read only a
+ com::sun::star::lang::IllegalArgumentException is thrown.
+ */
+ void changeLibraryPassword( [in] string Name,
+ [in] string OldPassword, [in] string NewPassword )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::container::NoSuchElementException );
+
+};
+
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/XLibraryQueryExecutable.idl b/offapi/com/sun/star/script/XLibraryQueryExecutable.idl
new file mode 100644
index 000000000..a008272a8
--- /dev/null
+++ b/offapi/com/sun/star/script/XLibraryQueryExecutable.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_script_XLibraryQueryExecutable_idl__
+#define __com_sun_star_script_XLibraryQueryExecutable_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module script {
+
+interface XLibraryQueryExecutable: com::sun::star::uno::XInterface
+{
+ boolean HasExecutableCode( [in] string name );
+};
+
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/XPersistentLibraryContainer.idl b/offapi/com/sun/star/script/XPersistentLibraryContainer.idl
new file mode 100644
index 000000000..12dea5a98
--- /dev/null
+++ b/offapi/com/sun/star/script/XPersistentLibraryContainer.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_script_XPersistentLibraryContainer_idl__
+#define __com_sun_star_script_XPersistentLibraryContainer_idl__
+
+#include <com/sun/star/util/XModifiable.idl>
+#include <com/sun/star/script/XLibraryContainer2.idl>
+#include <com/sun/star/lang/WrappedTargetException.idl>
+
+
+module com { module sun { module star { module script {
+
+
+/** describes a container of script libraries which is persistent.
+
+ <p>The type of persistence of the container elements is not defined here,
+ but in derived interfaces or services using
+ <code>XPersistentLibraryContainer</code>.</p>
+
+ <p>The actual libraries are stored in some object - a sub folder, or a sub storage,
+ for example - below the root location.</p>
+
+ @since OOo 2.3
+ */
+interface XPersistentLibraryContainer
+{
+ interface ::com::sun::star::util::XModifiable;
+ interface XLibraryContainer2;
+
+ /** denotes the root location associated with the container.
+
+ <p>The type of this location - it might be a folder in a file system,
+ a storage, or anything else - is not specified here, but in derived interfaces
+ or services implementing <code>XPersistentLibraryContainer</code>.</p>
+
+ <p>All operations of the library container take place in a location below
+ the root location, the so-called container location, whose
+ name is exposed as #ContainerLocationName.</p>
+
+ @see ContainerLocationName
+ */
+ [attribute, readonly] any RootLocation;
+
+ /** denotes the name of the sub location where the container elements are
+ actually stored.
+
+ @see RootLocation
+ */
+ [attribute, readonly] string ContainerLocationName;
+
+ /** stores the libraries to the current location.
+
+ @throws ::com::sun::star::lang::WrappedTargetException
+ if an error occurs during storing.
+
+ @see RootLocation
+ @see ContainerLocationName
+ */
+ void storeLibraries()
+ raises ( ::com::sun::star::lang::WrappedTargetException );
+
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/XServiceDocumenter.idl b/offapi/com/sun/star/script/XServiceDocumenter.idl
new file mode 100644
index 000000000..32c86ea17
--- /dev/null
+++ b/offapi/com/sun/star/script/XServiceDocumenter.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_script_XServiceDocumenter_idl__
+#define __com_sun_star_script_XServiceDocumenter_idl__
+
+module com { module sun { module star { module script {
+
+/** provides documentation for UNO services
+ @since LibreOffice 5.1
+ */
+interface XServiceDocumenter
+{
+ [attribute] string ServiceBaseUrl;
+ [attribute] string CoreBaseUrl;
+ void showServiceDocs( [in] com::sun::star::lang::XServiceInfo xService );
+ void showInterfaceDocs( [in] com::sun::star::lang::XTypeProvider xTypeProvider );
+ void showCoreDocs( [in] com::sun::star::lang::XServiceInfo xService );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/XStorageBasedLibraryContainer.idl b/offapi/com/sun/star/script/XStorageBasedLibraryContainer.idl
new file mode 100644
index 000000000..4a531f587
--- /dev/null
+++ b/offapi/com/sun/star/script/XStorageBasedLibraryContainer.idl
@@ -0,0 +1,91 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+#ifndef __com_sun_star_script_XStorageBasedLibraryContainer_idl__
+#define __com_sun_star_script_XStorageBasedLibraryContainer_idl__
+
+#include <com/sun/star/embed/XStorage.idl>
+#include <com/sun/star/script/XPersistentLibraryContainer.idl>
+
+
+module com { module sun { module star { module script {
+
+
+/** is the interface for an XLibraryContainer which can be made
+ persistent in a com::sun::star::embed::XStorage.
+
+ <p>A persistent library container is associated with a root storage. The
+ container is responsible for a particular sub storage of the root storage,
+ the container storage.</p>
+
+ @since OOo 2.3
+ */
+interface XStorageBasedLibraryContainer
+{
+ interface XPersistentLibraryContainer;
+
+ /** denotes the root storage associated with the container.
+
+ <p>Effectively, this attribute is a typed version of
+ XPersistentLibraryContainer::RootLocation, it's guaranteed
+ that at every time, <code>XPersistentLibraryContainer::RootLocation</code> and
+ <code>RootStorage</code> have the same value.</p>
+
+ <p>You should only <em>set</em> this attribute to a new value if you previously
+ called storeLibrariesToStorage with the same storage. Setting this attribute
+ to a storage into which the container has not been stored previously might
+ result in unexpected behavior.</p>
+ */
+ [attribute] ::com::sun::star::embed::XStorage RootStorage
+ {
+ set raises ( ::com::sun::star::lang::IllegalArgumentException );
+ };
+
+ /** stores the libraries to a storage other than the current container storage
+
+ <p>Note that the library container is not automatically associated with the
+ new root storage. Instead, you need to manually set the RootStorage
+ attribute afterwards. This separation allows for Save-To as well Save-As
+ operations.</p>
+
+ @param RootStorage
+ denotes the root storage into which the libraries should be written, which
+ must not be `NULL`.<br/>
+ Note that the actual libraries are written into a sub storage of this
+ root storage, as usual.
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if the <code>RootStorage</code> parameter is `NULL`, or equals
+ #RootStorage.
+
+ @throws ::com::sun::star::lang::WrappedTargetException
+ if an error occurs during storing.
+ */
+ void storeLibrariesToStorage( [in] ::com::sun::star::embed::XStorage RootStorage )
+ raises ( ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::WrappedTargetException );
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/browse/BrowseNode.idl b/offapi/com/sun/star/script/browse/BrowseNode.idl
new file mode 100644
index 000000000..390e11e4f
--- /dev/null
+++ b/offapi/com/sun/star/script/browse/BrowseNode.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_script_browse_BrowseNode_idl__
+#define __com_sun_star_script_browse_BrowseNode_idl__
+
+#include <com/sun/star/script/browse/XBrowseNode.idl>
+#include <com/sun/star/script/XInvocation.idl>
+
+module com {
+ module sun {
+ module star {
+ module script {
+ module browse {
+
+/**
+ This service provides access to the Macros and Macro containers via the
+ XBrowseNode interface. XInvocation is an optional interface that is used
+ to execute macros, or to create/delete/rename macros or macro containers.
+
+ @since OOo 2.0
+*/
+service BrowseNode
+{
+ interface ::com::sun::star::script::browse::XBrowseNode;
+ [ optional ] interface ::com::sun::star::script::XInvocation;
+};
+
+ };
+ };
+ };
+ };
+};
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/browse/BrowseNodeFactory.idl b/offapi/com/sun/star/script/browse/BrowseNodeFactory.idl
new file mode 100644
index 000000000..a600b6a23
--- /dev/null
+++ b/offapi/com/sun/star/script/browse/BrowseNodeFactory.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_script_browse_BrowseNodeFactory_idl__
+#define __com_sun_star_script_browse_BrowseNodeFactory_idl__
+
+#include <com/sun/star/script/browse/XBrowseNodeFactory.idl>
+
+module com { module sun { module star { module script { module browse {
+
+/**
+ This service is used to create Root XBrowseNodes.
+
+ @since OOo 2.0
+ @deprecated use the singleton theBrowseNodeFactory
+*/
+service BrowseNodeFactory
+{
+ interface XBrowseNodeFactory;
+};
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/browse/BrowseNodeFactoryViewTypes.idl b/offapi/com/sun/star/script/browse/BrowseNodeFactoryViewTypes.idl
new file mode 100644
index 000000000..79323bd2a
--- /dev/null
+++ b/offapi/com/sun/star/script/browse/BrowseNodeFactoryViewTypes.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_script_browse_BrowseNodeFactoryViewTypes_idl__
+#define __com_sun_star_script_browse_BrowseNodeFactoryViewTypes_idl__
+
+
+module com { module sun { module star { module script { module browse {
+/**
+ These constants define the three different types of views available from
+ BrowseNodeFactory.
+*/
+constants BrowseNodeFactoryViewTypes
+{
+ /**
+ Indicates view is a script selector
+ */
+ const short MACROSELECTOR = 0;
+ /**
+ Indicates view is script organizer
+ */
+ const short MACROORGANIZER = 1;
+};
+
+}; }; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/browse/BrowseNodeTypes.idl b/offapi/com/sun/star/script/browse/BrowseNodeTypes.idl
new file mode 100644
index 000000000..114884019
--- /dev/null
+++ b/offapi/com/sun/star/script/browse/BrowseNodeTypes.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_script_browse_BrowseNodeTypes_idl__
+#define __com_sun_star_script_browse_BrowseNodeTypes_idl__
+
+
+module com { module sun { module star { module script { module browse {
+/**
+ These constants define the three different types of nodes in the BrowseNode
+ hierarchy.
+*/
+constants BrowseNodeTypes
+{
+ /**
+ Indicates node is a script
+ */
+ const short SCRIPT = 0;
+ /**
+ Indicates node is a container
+ */
+ const short CONTAINER = 1;
+ /**
+ Indicates node is root of the tree.
+ */
+ const short ROOT = 2;
+
+};
+
+}; }; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/browse/XBrowseNode.idl b/offapi/com/sun/star/script/browse/XBrowseNode.idl
new file mode 100644
index 000000000..64467b920
--- /dev/null
+++ b/offapi/com/sun/star/script/browse/XBrowseNode.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_script_browse_XBrowseNode_idl__
+#define __com_sun_star_script_browse_XBrowseNode_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module script { module browse {
+/**
+ This interface represents a node in the hierarchy used to browse
+ available scripts.
+ Objects implementing this interface are expected to also implement
+ com.sun.star.beans.XPropertySet and, optionally,
+ com.sun.star.script.XInvocation (see the Developer's Guide for
+ more details).
+*/
+interface XBrowseNode : ::com::sun::star::uno::XInterface
+{
+ /**
+ Get the name of the node
+
+ @return
+ The `string` name of this node
+ */
+ string getName();
+
+ /**
+ Get the children of this node
+
+ @returns
+ ::com::sun::star::script::browse::XBrowseNode sequence of child nodes
+ */
+ sequence < XBrowseNode > getChildNodes();
+
+ /**
+ Indicates if this node contains any children
+
+ @returns
+ ` boolean ` true if there are child nodes.
+ */
+ boolean hasChildNodes();
+
+ /** the type of the node.
+ @returns A `short` representing the type of this node.
+ */
+ short getType();
+
+};
+
+}; }; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/browse/XBrowseNodeFactory.idl b/offapi/com/sun/star/script/browse/XBrowseNodeFactory.idl
new file mode 100644
index 000000000..efa3eb875
--- /dev/null
+++ b/offapi/com/sun/star/script/browse/XBrowseNodeFactory.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_script_browse_XBrowseNodeFactory_idl__
+#define __com_sun_star_script_browse_XBrowseNodeFactory_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/script/browse/XBrowseNode.idl>
+#include <com/sun/star/script/browse/BrowseNodeFactoryViewTypes.idl>
+
+
+module com { module sun { module star { module script { module browse {
+
+/**
+ This interface provides a factory for obtaining objects implementing the
+ XBrowseNode interface.
+*/
+interface XBrowseNodeFactory : ::com::sun::star::uno::XInterface {
+
+ /** a factory method for the creation of XBrowseNodes
+ ( view ) ::com::sun::star::script::browse::BrowseNodeFactoryViewTypes specifies the type of view to be returned
+
+ @returns
+ an object implementing ::com::sun::star::script::browse::XBrowseNode
+
+ */
+ com::sun::star::script::browse::XBrowseNode createView( [in] short viewType );
+};
+
+}; }; }; }; }; // com::sun::star::script::provider
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/browse/theBrowseNodeFactory.idl b/offapi/com/sun/star/script/browse/theBrowseNodeFactory.idl
new file mode 100644
index 000000000..e07cc1157
--- /dev/null
+++ b/offapi/com/sun/star/script/browse/theBrowseNodeFactory.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_script_browse_theBrowseNodeFactory_idl__
+#define __com_sun_star_script_browse_theBrowseNodeFactory_idl__
+
+#include <com/sun/star/script/browse/XBrowseNodeFactory.idl>
+
+module com { module sun { module star { module script { module browse {
+
+/**
+ The one and only BrowseNodeFactory.
+
+ To get the singleton call getValueByName on the component context
+ <pre>
+ /singletons/com.sun.star.script.theBrowseNodeFactory
+ </pre>
+
+ @since OOo 2.0
+*/
+singleton theBrowseNodeFactory : XBrowseNodeFactory;
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/provider/LanguageScriptProvider.idl b/offapi/com/sun/star/script/provider/LanguageScriptProvider.idl
new file mode 100644
index 000000000..13eea5191
--- /dev/null
+++ b/offapi/com/sun/star/script/provider/LanguageScriptProvider.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_script_provider_LanguageScriptProvider_idl__
+#define __com_sun_star_script_provider_LanguageScriptProvider_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/script/provider/ScriptProvider.idl>
+
+
+module com { module sun { module star { module script { module provider {
+
+/**
+ This service provides a means of browsing and invoking scripts in
+ a single language.
+*/
+service LanguageScriptProvider {
+ service ::com::sun::star::script::provider::ScriptProvider;
+};
+
+}; }; }; }; }; // ::com::sun::star::script::provider
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/provider/MasterScriptProvider.idl b/offapi/com/sun/star/script/provider/MasterScriptProvider.idl
new file mode 100644
index 000000000..f38684eb3
--- /dev/null
+++ b/offapi/com/sun/star/script/provider/MasterScriptProvider.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_script_provider_MasterScriptProvider_idl__
+#define __com_sun_star_script_provider_MasterScriptProvider_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/script/provider/ScriptProvider.idl>
+
+
+module com { module sun { module star { module script { module provider {
+
+/**
+ This service acts as a wrapper around the various language specific
+ ScriptProviders.
+*/
+service MasterScriptProvider {
+ service ::com::sun::star::script::provider::ScriptProvider;
+};
+
+}; }; }; }; }; // ::com::sun::star::script::provider
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/provider/MasterScriptProviderFactory.idl b/offapi/com/sun/star/script/provider/MasterScriptProviderFactory.idl
new file mode 100644
index 000000000..1d5e0391f
--- /dev/null
+++ b/offapi/com/sun/star/script/provider/MasterScriptProviderFactory.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_script_provider_MasterScriptProviderFactory_idl__
+#define __com_sun_star_script_provider_MasterScriptProviderFactory_idl__
+
+
+#include <com/sun/star/script/provider/XScriptProviderFactory.idl>
+
+module com { module sun { module star { module script { module provider {
+
+/**
+ This service is used to create MasterScriptProviders.
+ Note: You shouldn't ever instantiate the MasterScriptProvider
+ service directly, you should always use this service.
+
+ @deprecated rather use the singleton service theMasterScriptProviderFactory
+*/
+service MasterScriptProviderFactory : XScriptProviderFactory;
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/provider/ScriptErrorRaisedException.idl b/offapi/com/sun/star/script/provider/ScriptErrorRaisedException.idl
new file mode 100644
index 000000000..aafdf79b8
--- /dev/null
+++ b/offapi/com/sun/star/script/provider/ScriptErrorRaisedException.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_script_provider_ScriptErrorRaisedException_idl__
+#define __com_sun_star_script_provider_ScriptErrorRaisedException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+module com { module sun { module star { module script { module provider {
+
+/**
+ is a checked exception that represents an error encountered
+ by a LanguageScriptProvider whilst executing a script
+*/
+exception ScriptErrorRaisedException : com::sun::star::uno::Exception {
+ /** Name of script where error occurred
+ */
+ string scriptName;
+ /** Scripting language of script that generated exception
+ */
+ string language;
+ /** line number where error occurred.
+ */
+ long lineNum;
+};
+
+}; }; }; }; }; // ::com::sun::star::script::provider
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/provider/ScriptExceptionRaisedException.idl b/offapi/com/sun/star/script/provider/ScriptExceptionRaisedException.idl
new file mode 100644
index 000000000..c1d5f4ddb
--- /dev/null
+++ b/offapi/com/sun/star/script/provider/ScriptExceptionRaisedException.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_script_provider_ScriptExceptionRaisedException_idl__
+#define __com_sun_star_script_provider_ScriptExceptionRaisedException_idl__
+
+#include <com/sun/star/script/provider/ScriptErrorRaisedException.idl>
+
+
+module com { module sun { module star { module script { module provider {
+
+/**
+ is a checked exception that represents the detail of an exception
+ thrown by a LanguageScriptProvider whilst executing a script
+*/
+exception ScriptExceptionRaisedException : ::com::sun::star::script::provider::ScriptErrorRaisedException {
+ /** Name of script where error occurred
+ */
+ string exceptionType;
+};
+
+}; }; }; }; }; // ::com::sun::star::script::provider
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/provider/ScriptFrameworkErrorException.idl b/offapi/com/sun/star/script/provider/ScriptFrameworkErrorException.idl
new file mode 100644
index 000000000..871dfde6f
--- /dev/null
+++ b/offapi/com/sun/star/script/provider/ScriptFrameworkErrorException.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_script_provider_ScriptFrameworkErrorException_idl__
+#define __com_sun_star_script_provider_ScriptFrameworkErrorException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+module com { module sun { module star { module script { module provider {
+
+/**
+ is a checked exception that represents an error encountered
+ by the Scripting Framework whilst executing a script
+*/
+exception ScriptFrameworkErrorException : com::sun::star::uno::Exception {
+ /** Name of script where error occurred
+ */
+ string scriptName;
+ /** Scripting language of script that generated exception
+ */
+ string language;
+ /** error type ::com::sun::star::script::provider::ScriptFrameworkErrorType
+ */
+ long errorType;
+};
+
+}; }; }; }; }; // ::com::sun::star::script::provider
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/provider/ScriptFrameworkErrorType.idl b/offapi/com/sun/star/script/provider/ScriptFrameworkErrorType.idl
new file mode 100644
index 000000000..07d3009b9
--- /dev/null
+++ b/offapi/com/sun/star/script/provider/ScriptFrameworkErrorType.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_script_provider_ScriptFrameworkErrorType_idl__
+#define __com_sun_star_script_provider_ScriptFrameworkErrorType_idl__
+
+
+module com { module sun { module star { module script { module provider {
+
+/**
+ is a checked exception that represents an error encountered
+ by the Scripting Framework whilst executing a script
+*/
+constants ScriptFrameworkErrorType
+{
+ /** Unknown
+ */
+ const long UNKNOWN = 0;
+
+ /** ProviderNotSupported
+ */
+ const long NOTSUPPORTED = 1;
+
+ /** the requested method, and/or with the requested signature, does not exist
+ */
+ const long NO_SUCH_SCRIPT = 2;
+
+ /** the requested method, with the requested signature, does not exist
+ */
+ const long MALFORMED_URL = 3;
+};
+
+}; }; }; }; }; // com::sun::star::script::provider
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/provider/ScriptProvider.idl b/offapi/com/sun/star/script/provider/ScriptProvider.idl
new file mode 100644
index 000000000..c58645b82
--- /dev/null
+++ b/offapi/com/sun/star/script/provider/ScriptProvider.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_script_provider_ScriptProvider_idl__
+#define __com_sun_star_script_provider_ScriptProvider_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/script/provider/XScriptProvider.idl>
+#include <com/sun/star/script/browse/BrowseNode.idl>
+
+
+module com { module sun { module star { module script { module provider {
+
+/**
+ This service providers a means to browse and execute scripts.
+*/
+service ScriptProvider {
+ service ::com::sun::star::script::browse::BrowseNode;
+
+ interface ::com::sun::star::script::provider::XScriptProvider;
+
+};
+
+}; }; }; }; }; // ::com::sun::star::script::provider
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/provider/ScriptProviderForBasic.idl b/offapi/com/sun/star/script/provider/ScriptProviderForBasic.idl
new file mode 100644
index 000000000..4192a823b
--- /dev/null
+++ b/offapi/com/sun/star/script/provider/ScriptProviderForBasic.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_script_provider_ScriptProviderForBasic_idl__
+#define __com_sun_star_script_provider_ScriptProviderForBasic_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/script/provider/LanguageScriptProvider.idl>
+
+
+module com { module sun { module star { module script { module provider {
+
+/**
+ This service is a Basic-specific LanguageScriptProvider.
+*/
+service ScriptProviderForBasic {
+ service ::com::sun::star::script::provider::LanguageScriptProvider;
+};
+
+}; }; }; }; }; // ::com::sun::star::script::provider
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/provider/ScriptProviderForBeanShell.idl b/offapi/com/sun/star/script/provider/ScriptProviderForBeanShell.idl
new file mode 100644
index 000000000..720ff911c
--- /dev/null
+++ b/offapi/com/sun/star/script/provider/ScriptProviderForBeanShell.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_script_provider_ScriptProviderForBeanShell_idl__
+#define __com_sun_star_script_provider_ScriptProviderForBeanShell_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/script/provider/LanguageScriptProvider.idl>
+
+
+module com { module sun { module star { module script { module provider {
+
+/**
+ This service is a BeanShell-specific LanguageScriptProvider.
+*/
+service ScriptProviderForBeanShell {
+ service ::com::sun::star::script::provider::LanguageScriptProvider;
+};
+
+}; }; }; }; }; // ::com::sun::star::script::provider
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/provider/ScriptProviderForJava.idl b/offapi/com/sun/star/script/provider/ScriptProviderForJava.idl
new file mode 100644
index 000000000..0e88d89a9
--- /dev/null
+++ b/offapi/com/sun/star/script/provider/ScriptProviderForJava.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_script_provider_ScriptProviderForJava_idl__
+#define __com_sun_star_script_provider_ScriptProviderForJava_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/script/provider/LanguageScriptProvider.idl>
+
+
+module com { module sun { module star { module script { module provider {
+
+/**
+ This service is a Java-specific LanguageScriptProvider.
+*/
+service ScriptProviderForJava {
+ service ::com::sun::star::script::provider::LanguageScriptProvider;
+};
+
+}; }; }; }; }; // ::com::sun::star::script::provider
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/provider/ScriptProviderForJavaScript.idl b/offapi/com/sun/star/script/provider/ScriptProviderForJavaScript.idl
new file mode 100644
index 000000000..b2612c4ac
--- /dev/null
+++ b/offapi/com/sun/star/script/provider/ScriptProviderForJavaScript.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_script_provider_ScriptProviderForJavaScript_idl__
+#define __com_sun_star_script_provider_ScriptProviderForJavaScript_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/script/provider/LanguageScriptProvider.idl>
+
+
+module com { module sun { module star { module script { module provider {
+
+/**
+ This service is a Java-specific LanguageScriptProvider.
+*/
+service ScriptProviderForJavaScript {
+ service ::com::sun::star::script::provider::LanguageScriptProvider;
+};
+
+}; }; }; }; }; // ::com::sun::star::script::provider
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/provider/ScriptURIHelper.idl b/offapi/com/sun/star/script/provider/ScriptURIHelper.idl
new file mode 100644
index 000000000..e0d22ea93
--- /dev/null
+++ b/offapi/com/sun/star/script/provider/ScriptURIHelper.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_script_provider_ScriptURIHelper_idl__
+#define __com_sun_star_script_provider_ScriptURIHelper_idl__
+
+#include <com/sun/star/script/provider/XScriptURIHelper.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+module com { module sun { module star { module script { module provider {
+
+/**
+ This service is used to help transform Scripting Framework storage
+ locations to Scripting Framework script URIs and vice versa.
+*/
+service ScriptURIHelper : XScriptURIHelper {
+
+ /**
+ create a new ScriptURIHelper
+
+ @param language
+ The name of the scripting language for which this ScriptURIHelper
+ is being created. It should be the same as the language name
+ used for the service that inherits from the LanguageScriptProvider
+ service
+
+ @param location
+ This location which was passed to the LanguageScriptProvider
+ by the Scripting Framework on its creation
+
+ @throws
+ ::com::sun::star::lang::IllegalArgumentException
+ */
+ create( [in] string language, [in] string location )
+ raises ( ::com::sun::star::lang::IllegalArgumentException );
+};
+
+}; }; }; }; }; // ::com::sun::star::script::provider
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/provider/XScript.idl b/offapi/com/sun/star/script/provider/XScript.idl
new file mode 100644
index 000000000..d7538bc43
--- /dev/null
+++ b/offapi/com/sun/star/script/provider/XScript.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_script_provider_XScript_idl__
+#define __com_sun_star_script_provider_XScript_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/script/CannotConvertException.idl>
+#include <com/sun/star/reflection/InvocationTargetException.idl>
+#include <com/sun/star/script/provider/ScriptFrameworkErrorException.idl>
+
+
+module com { module sun { module star { module script { module provider {
+
+/**
+ This interface represents an invocable script or UNO function.
+*/
+interface XScript : ::com::sun::star::uno::XInterface {
+
+ /**
+ invoke the script or function represented by the implementing
+ object
+
+ @param aParams
+ all parameters; pure, out parameters are undefined in sequence,
+ i.e., the value has to be ignored by the callee
+ @param aOutParamIndex
+ out indices, indicating the position of the out or inout
+ parameters in the list of arguments to the script
+ @param aOutParam
+ out parameters<p>
+ For example, if the script had the signature<br>
+ <code>long foo( [inout] string a, [in] string b, [out] string c )</code>
+ <br> the call would look like<br>
+ <code>bar.invoke( {"foo", "foo2", "this-is-ignored" }, aOutParamIndex, aOutParam);</code>
+ <br> and after the call the out sequences would contain<br>
+ @code{.py}
+ aOutParamIndex={0,2};
+ aOutParam={"string from a", "string from c"};
+ @endcode
+
+ @returns
+ the value returned from the function being invoked
+
+ @throws ::com::sun::star::reflection::InvocationTargetException
+ if an error occurs while attempting to invoke a script the information is captured. If the error or exception is generated by the script itself it is wrapped as either ScriptErrorRaisedException or ScriptExceptionRaisedException or ScriptFrameworkErrorException are wrapped as ScriptFrameworkErrorExceptions.
+ */
+ any invoke(
+ [in] sequence<any> aParams,
+ [out] sequence<short> aOutParamIndex,
+ [out] sequence<any> aOutParam ) raises(
+ ::com::sun::star::script::provider::ScriptFrameworkErrorException ,
+ ::com::sun::star::reflection::InvocationTargetException);
+
+};
+
+}; }; }; }; }; // ::com::sun::star::script::provider
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/provider/XScriptContext.idl b/offapi/com/sun/star/script/provider/XScriptContext.idl
new file mode 100644
index 000000000..096c7f12e
--- /dev/null
+++ b/offapi/com/sun/star/script/provider/XScriptContext.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_script_provider_XScriptContext_idl__
+#define __com_sun_star_script_provider_XScriptContext_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/frame/XDesktop.idl>
+#include <com/sun/star/frame/XModel.idl>
+#include <com/sun/star/uno/XComponentContext.idl>
+
+
+module com { module sun { module star { module document {
+ interface XScriptInvocationContext;
+}; }; }; };
+
+
+module com { module sun { module star { module script { module provider {
+
+/**
+ This interface is provided to scripts, and provides a means of access to
+ the various interfaces which they might need to perform some action on
+ a document. It is required to be passed as the first argument for any
+ Java scripts.
+*/
+interface XScriptContext : ::com::sun::star::uno::XInterface {
+
+ /**
+ Obtain the document reference on which the script can operate
+
+ @returns
+ com::sun::star::frame::XModel interface
+ */
+ ::com::sun::star::frame::XModel getDocument();
+
+ /** provides access to the context where the script was invoked
+
+ <p>In some cases, it is possible that scripts, embedded in a document,
+ are executed from within a context which is <em>not</em> the document
+ itself. In this case, the <code>getInvocationContext</code> member allows
+ to access this context.</p>
+
+ <p>Note that the returned context is allowed to be `NULL`, in this case,
+ the document as returned by <code>getDocument</code> is the invocation context.</p>
+
+ <p>If the returned context is not `NULL`, its <code>ScriptContainer</code> attribute
+ equals the document as returned by <code>XScriptContext::getDocument</code>.</p>
+
+ @since OOo 3.0
+ */
+ ::com::sun::star::document::XScriptInvocationContext getInvocationContext();
+
+ /**
+ Obtain the desktop reference on which the script can operate
+
+ @returns
+ com::sun::star::frame::XDesktop interface
+ */
+ ::com::sun::star::frame::XDesktop getDesktop();
+
+ /**
+ Obtain the component context which the script can use to create
+ other uno components
+
+ @returns
+ com::sun::star::uno::XComponentContext interface
+ */
+ ::com::sun::star::uno::XComponentContext getComponentContext();
+
+
+};
+
+}; }; }; }; }; // ::com::sun::star::script::provider
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/provider/XScriptProvider.idl b/offapi/com/sun/star/script/provider/XScriptProvider.idl
new file mode 100644
index 000000000..fe3f94a62
--- /dev/null
+++ b/offapi/com/sun/star/script/provider/XScriptProvider.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_script_provider_XScriptProvider_idl__
+#define __com_sun_star_script_provider_XScriptProvider_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/script/provider/XScript.idl>
+#include <com/sun/star/script/provider/ScriptFrameworkErrorException.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+module com { module sun { module star { module script { module provider {
+
+/**
+ This interface provides a factory for obtaining objects implementing the
+ XScript interface.
+*/
+interface XScriptProvider : ::com::sun::star::uno::XInterface {
+
+ /** a factory method for the creation of XScript
+ implementations.
+
+ @param sScriptURI
+ is the logical or language-dependent script URI
+
+ @returns
+ an object implementing ::com::sun::star::script::provider::XScript representing the script
+
+ @throws ::com::sun::star::script::provider::ScriptFrameworkErrorException
+ Framework error getting script for URI.
+ */
+ XScript getScript( [in] string sScriptURI ) raises ( ::com::sun::star::script::provider::ScriptFrameworkErrorException );
+};
+
+}; }; }; }; }; // ::com::sun::star::script::provider
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/provider/XScriptProviderFactory.idl b/offapi/com/sun/star/script/provider/XScriptProviderFactory.idl
new file mode 100644
index 000000000..3bf4c8fbe
--- /dev/null
+++ b/offapi/com/sun/star/script/provider/XScriptProviderFactory.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_script_provider_XScriptProviderFactory_idl__
+#define __com_sun_star_script_provider_XScriptProviderFactory_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/script/provider/XScriptProvider.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+module com { module sun { module star { module script { module provider {
+
+/**
+ This interface provides a factory for obtaining objects implementing the
+ XScriptProvider interface.
+*/
+interface XScriptProviderFactory : ::com::sun::star::uno::XInterface {
+
+ /** a factory method for the creation of XScriptProviders
+ implementations.
+
+ @param Context
+ is context for which the ScriptProvider is to be created for
+
+ @returns
+ an object implementing ::com::sun::star::script::provider::XScriptProvider
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if illegal or unknown context is passed
+ */
+ XScriptProvider createScriptProvider( [in] any Context ) raises (
+ ::com::sun::star::lang::IllegalArgumentException );
+};
+
+}; }; }; }; }; // ::com::sun::star::script::provider
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/provider/XScriptProviderSupplier.idl b/offapi/com/sun/star/script/provider/XScriptProviderSupplier.idl
new file mode 100644
index 000000000..25a7c6be7
--- /dev/null
+++ b/offapi/com/sun/star/script/provider/XScriptProviderSupplier.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_script_provider_XScriptProviderSupplier_idl__
+#define __com_sun_star_script_provider_XScriptProviderSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/script/provider/XScriptProvider.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+module com { module sun { module star { module script { module provider {
+
+/**
+ This interface allows to get the scripting provider related to the object.
+*/
+interface XScriptProviderSupplier : ::com::sun::star::uno::XInterface {
+
+ /** returns scripting provider related to the object.
+
+ @returns
+ an object implementing ::com::sun::star::script::provider::XScriptProvider representing the script provider
+ */
+ XScriptProvider getScriptProvider();
+};
+
+}; }; }; }; }; // ::com::sun::star::script::provider
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/provider/XScriptURIHelper.idl b/offapi/com/sun/star/script/provider/XScriptURIHelper.idl
new file mode 100644
index 000000000..a1ace6059
--- /dev/null
+++ b/offapi/com/sun/star/script/provider/XScriptURIHelper.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_script_provider_XScriptURIHelper_idl__
+#define __com_sun_star_script_provider_XScriptURIHelper_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+
+module com { module sun { module star { module script { module provider {
+
+/**
+ This interface is used to help transform Scripting Framework storage
+ locations to Scripting Framework script URIs and vice versa.
+*/
+interface XScriptURIHelper : ::com::sun::star::uno::XInterface {
+
+ /**
+ Obtain the root storage URI for this ScriptURIHelper. The
+ resulting string can be used to access the storage for this
+ using the Universal Content Broker
+
+ @returns a URI to the storage as a `string`
+ */
+ string getRootStorageURI();
+
+ /**
+ Obtain the storage URI for a specific Scripting Framework
+ script URI.
+
+ @returns a URI to the storage as a `string`
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if the storageURI is not a valid
+ */
+ string getStorageURI( [in] string scriptURI ) raises
+ ( ::com::sun::star::lang::IllegalArgumentException );
+
+ /**
+ Obtain the Scripting Framework script URI for a specific UCB URI
+
+ @returns the URI as a `string`
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if the storageURI is not a valid
+ */
+ string getScriptURI( [in] string storageURI ) raises
+ ( ::com::sun::star::lang::IllegalArgumentException );
+};
+
+}; }; }; }; }; // ::com::sun::star::script::provider
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/provider/theMasterScriptProviderFactory.idl b/offapi/com/sun/star/script/provider/theMasterScriptProviderFactory.idl
new file mode 100644
index 000000000..abf17375c
--- /dev/null
+++ b/offapi/com/sun/star/script/provider/theMasterScriptProviderFactory.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_script_provider_theMasterScriptProviderFactory_idl__
+#define __com_sun_star_script_provider_theMasterScriptProviderFactory_idl__
+
+
+#include <com/sun/star/script/provider/XScriptProviderFactory.idl>
+
+module com { module sun { module star { module script { module provider {
+
+/**
+ The one and only MasterScriptProviderFactory
+
+ To get the singleton call getValueByName on the component context
+ <pre>
+ /singletons/com.sun.star.script.provider.theMasterScriptProviderFactory
+ </pre>
+
+*/
+singleton theMasterScriptProviderFactory : XScriptProviderFactory;
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/theServiceDocumenter.idl b/offapi/com/sun/star/script/theServiceDocumenter.idl
new file mode 100644
index 000000000..871bdbde9
--- /dev/null
+++ b/offapi/com/sun/star/script/theServiceDocumenter.idl
@@ -0,0 +1,26 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.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_script_theServiceDocumenter_idl__
+#define __com_sun_star_script_theServiceDocumenter_idl__
+
+#include <com/sun/star/script/XServiceDocumenter.idl>
+
+module com { module sun { module star { module script {
+
+/** Provides documentation for UNO services
+ @since LibreOffice 5.1
+ */
+singleton theServiceDocumenter : XServiceDocumenter;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/vba/VBAEventId.idl b/offapi/com/sun/star/script/vba/VBAEventId.idl
new file mode 100644
index 000000000..f01cf84ad
--- /dev/null
+++ b/offapi/com/sun/star/script/vba/VBAEventId.idl
@@ -0,0 +1,123 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_script_vba_VBAEventId_idl__
+#define __com_sun_star_script_vba_VBAEventId_idl__
+
+
+module com { module sun { module star { module script { module vba {
+
+
+/** Constants used to identify VBA document events.
+
+ <p>If one of these events is fired, a specific VBA macro in a specific
+ document code module will be executed.</p>
+
+ <p>Each event expects some specific arguments to be passed to
+ XVBAEventProcessor::processVbaEvent().</p>
+
+ @see XVBAEventProcessor
+ */
+constants VBAEventId
+{
+
+ /** An identifier not corresponding to any VBA document event. */
+ const long NO_EVENT = -1;
+
+ // Global events (identifiers from 1 to 999)
+
+ /** New document opened from template. No arguments. */
+ const long AUTO_NEW = 1;
+ /** Document opened (loaded). No arguments. */
+ const long AUTO_OPEN = 2;
+ /** Document about to be closed. No arguments. */
+ const long AUTO_CLOSE = 3;
+ /** Application start. No arguments. */
+ const long AUTO_EXEC = 4;
+ /** Application exit. No arguments. */
+ const long AUTO_EXIT = 5;
+
+ // MS Word (identifiers from 1001 to 1999)
+
+ /** New text document opened from template. No arguments. */
+ const long DOCUMENT_NEW = 1001;
+ /** Text document opened (loaded). No arguments. */
+ const long DOCUMENT_OPEN = 1002;
+ /** Document about to be closed. No arguments. */
+ const long DOCUMENT_CLOSE = 1003;
+
+ // MS Excel (identifiers from 2001 to 2999)
+
+ // document events (2001-2099)
+
+ /** Document activated. No arguments. */
+ const long WORKBOOK_ACTIVATE = 2001;
+ /** Document deactivated. No arguments. */
+ const long WORKBOOK_DEACTIVATE = 2002;
+ /** Document opened (loaded). No arguments. */
+ const long WORKBOOK_OPEN = 2003;
+ /** Document about to be closed. Arguments: [out] boolean bCancel. */
+ const long WORKBOOK_BEFORECLOSE = 2004;
+ /** Document about to be printed. Arguments: [out] boolean bCancel. */
+ const long WORKBOOK_BEFOREPRINT = 2005;
+ /** Document about to be saved. Arguments: boolean bSaveAs, [out] boolean bCancel. */
+ const long WORKBOOK_BEFORESAVE = 2006;
+ /** Document has been saved. Arguments: boolean bSuccess. */
+ const long WORKBOOK_AFTERSAVE = 2007;
+ /** New sheet inserted. Arguments: short nSheet. */
+ const long WORKBOOK_NEWSHEET = 2008;
+ /** Document window has been activated. Arguments: XController aController. */
+ const long WORKBOOK_WINDOWACTIVATE = 2009;
+ /** Document window has been deactivated. Arguments: XController aController. */
+ const long WORKBOOK_WINDOWDEACTIVATE = 2010;
+ /** Document window has been resized. Arguments: XController aController. */
+ const long WORKBOOK_WINDOWRESIZE = 2011;
+
+ // sheet events (2101-2199)
+
+ /** Worksheet has been activated (made visible). Arguments: short nSheet. */
+ const long WORKSHEET_ACTIVATE = 2101;
+ /** Worksheet has been activated (made visible). Arguments: short nSheet. */
+ const long WORKSHEET_DEACTIVATE = 2102;
+ /** Double click in the sheet. Arguments: XRange/XSheetCellRangeContainer aRange, [out] boolean bCancel. */
+ const long WORKSHEET_BEFOREDOUBLECLICK = 2103;
+ /** Right click in the sheet. Arguments: XRange/XSheetCellRangeContainer aRange, [out] boolean bCancel. */
+ const long WORKSHEET_BEFORERIGHTCLICK = 2104;
+ /** Cells in sheet have been recalculated. Arguments: short nSheet. */
+ const long WORKSHEET_CALCULATE = 2105;
+ /** Cells in sheet have been changed. Arguments: XRange/XSheetCellRangeContainer aRange. */
+ const long WORKSHEET_CHANGE = 2106;
+ /** Selection in sheet has been changed. Arguments: XRange/XSheetCellRangeContainer aRange. */
+ const long WORKSHEET_SELECTIONCHANGE = 2107;
+ /** Hyperlink has been clicked. Arguments: XCell aCell. */
+ const long WORKSHEET_FOLLOWHYPERLINK = 2108;
+
+
+ /** Implementations are allowed to use identifiers above this value for any
+ internal purpose. */
+ const long USERDEFINED_START = 1000000;
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/vba/VBAEventProcessor.idl b/offapi/com/sun/star/script/vba/VBAEventProcessor.idl
new file mode 100644
index 000000000..0053eda2e
--- /dev/null
+++ b/offapi/com/sun/star/script/vba/VBAEventProcessor.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_script_vba_VBAEventProcessor_idl__
+#define __com_sun_star_script_vba_VBAEventProcessor_idl__
+
+#include <com/sun/star/script/vba/XVBAEventProcessor.idl>
+
+
+module com { module sun { module star { module script { module vba {
+
+
+service VBAEventProcessor : XVBAEventProcessor
+{
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/vba/VBAMacroResolver.idl b/offapi/com/sun/star/script/vba/VBAMacroResolver.idl
new file mode 100644
index 000000000..4f587ef91
--- /dev/null
+++ b/offapi/com/sun/star/script/vba/VBAMacroResolver.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_script_vba_VBAMacroResolver_idl__
+#define __com_sun_star_script_vba_VBAMacroResolver_idl__
+
+#include <com/sun/star/script/vba/XVBAMacroResolver.idl>
+
+
+module com { module sun { module star { module script { module vba {
+
+
+service VBAMacroResolver : XVBAMacroResolver
+{
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/vba/VBAScriptEvent.idl b/offapi/com/sun/star/script/vba/VBAScriptEvent.idl
new file mode 100644
index 000000000..4576ec2fe
--- /dev/null
+++ b/offapi/com/sun/star/script/vba/VBAScriptEvent.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_script_vba_VBAScriptEvent_idl__
+#define __com_sun_star_script_vba_VBAScriptEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+
+
+module com { module sun { module star { module script { module vba {
+
+
+/** Describes a VBA script event fired via
+ XVBACompatibility::broadcastVBAScriptEvent(), and received by
+ XVBAScriptListener::notifyVBAScriptEvent().
+
+ @see XVBACompatibility
+ @see XVBAScriptListener
+ */
+struct VBAScriptEvent : ::com::sun::star::lang::EventObject
+{
+
+ /** Identifies the type of the event.
+
+ @see VBAScriptEventId
+ */
+ long Identifier;
+
+
+ /** Contains the name of the involved VBA module.
+
+ @see VBAScriptEventId
+ */
+ string ModuleName;
+
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/vba/VBAScriptEventId.idl b/offapi/com/sun/star/script/vba/VBAScriptEventId.idl
new file mode 100644
index 000000000..faeea8a32
--- /dev/null
+++ b/offapi/com/sun/star/script/vba/VBAScriptEventId.idl
@@ -0,0 +1,86 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_script_vba_VBAScriptEventId_idl__
+#define __com_sun_star_script_vba_VBAScriptEventId_idl__
+
+
+module com { module sun { module star { module script { module vba {
+
+
+/** Identifies a VBA script event fired via
+ XVBACompatibility::broadcastVBAScriptEvent(), and received by
+ XVBAScriptListener::notifyVBAScriptEvent().
+
+ @see VBAScriptEvent
+ @see XVBACompatibility
+ @see XVBAScriptListener
+ */
+constants VBAScriptEventId
+{
+ /** This event is fired when a VBA script in the current document has been
+ started.
+
+ <p>Several scripts may run simultaneously, e.g. when a running script
+ triggers a document event that starts another script.</p>
+
+ <p>The number of running scripts can be obtained via
+ XVBACompatibility::RunningVBAScripts. The number returned
+ there will already contain the new script notified with this event.</p>
+
+ <p>The member VBAScriptEvent::ModuleName of the event
+ object will contain the name of the code module that contains the
+ started script.</p>
+ */
+ const long SCRIPT_STARTED = 0;
+
+ /** This event is fired when a VBA script in the current document stops
+ running.
+
+ <p>Several scripts may run simultaneously, e.g. when a running script
+ triggers a document event that starts another script.</p>
+
+ <p>The number of scripts still running can be obtained via
+ XVBACompatibility::RunningVBAScripts. The number returned
+ there will not contain the stopped script notified with this event
+ anymore.</p>
+
+ <p>The member VBAScriptEvent::ModuleName of the event
+ object will contain the name of the code module that contains the
+ script that has been stopped.</p>
+ */
+ const long SCRIPT_STOPPED = 1;
+
+ /** This event is fired when a VBA script in the current document tries to
+ instantiate a userform.
+
+ <p>The member VBAScriptEvent::ModuleName of the event
+ object will contain the name of the userform module.</p>
+ */
+ const long INITIALIZE_USERFORM = 2;
+
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/vba/VBASpreadsheetEventProcessor.idl b/offapi/com/sun/star/script/vba/VBASpreadsheetEventProcessor.idl
new file mode 100644
index 000000000..ac306b042
--- /dev/null
+++ b/offapi/com/sun/star/script/vba/VBASpreadsheetEventProcessor.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_script_vba_VBASpreadsheetEventProcessor_idl__
+#define __com_sun_star_script_vba_VBASpreadsheetEventProcessor_idl__
+
+#include <com/sun/star/script/vba/XVBAEventProcessor.idl>
+
+
+module com { module sun { module star { module script { module vba {
+
+
+service VBASpreadsheetEventProcessor
+{
+ interface XVBAEventProcessor;
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/vba/VBATextEventProcessor.idl b/offapi/com/sun/star/script/vba/VBATextEventProcessor.idl
new file mode 100644
index 000000000..816163fbb
--- /dev/null
+++ b/offapi/com/sun/star/script/vba/VBATextEventProcessor.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_script_vba_VBATextEventProcessor_idl__
+#define __com_sun_star_script_vba_VBATextEventProcessor_idl__
+
+#include <com/sun/star/script/vba/XVBAEventProcessor.idl>
+
+
+module com { module sun { module star { module script { module vba {
+
+
+service VBATextEventProcessor
+{
+ interface XVBAEventProcessor;
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/vba/XVBACompatibility.idl b/offapi/com/sun/star/script/vba/XVBACompatibility.idl
new file mode 100644
index 000000000..072bd045a
--- /dev/null
+++ b/offapi/com/sun/star/script/vba/XVBACompatibility.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_script_vba_XVBACompatibility_idl__
+#define __com_sun_star_script_vba_XVBACompatibility_idl__
+
+#include <com/sun/star/frame/XModel.idl>
+#include <com/sun/star/script/vba/XVBAScriptListener.idl>
+
+
+module com { module sun { module star { module script { module vba {
+
+interface XVBACompatibility
+{
+
+ [attribute] boolean VBACompatibilityMode;
+ [attribute ] string ProjectName;
+
+
+ [attribute, readonly] long RunningVBAScripts;
+
+
+ void addVBAScriptListener( [in] XVBAScriptListener Listener );
+
+
+ void removeVBAScriptListener( [in] XVBAScriptListener Listener );
+
+
+ void broadcastVBAScriptEvent( [in] long Identifier, [in] string ModuleName );
+
+};
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/vba/XVBAEventProcessor.idl b/offapi/com/sun/star/script/vba/XVBAEventProcessor.idl
new file mode 100644
index 000000000..1fbf75d65
--- /dev/null
+++ b/offapi/com/sun/star/script/vba/XVBAEventProcessor.idl
@@ -0,0 +1,86 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_script_vba_XVBAEventProcessor_idl__
+#define __com_sun_star_script_vba_XVBAEventProcessor_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/util/VetoException.idl>
+
+
+module com { module sun { module star { module script { module vba {
+
+
+/** Executes VBA event handlers.
+ */
+interface XVBAEventProcessor
+{
+
+ /** Returns whether a VBA event handler exists.
+
+ @param nEventId
+ The identifier of the event. Must be a constant from VBAEventId.
+
+ @param aArgs
+ Additional arguments needed to identify some event handlers, e.g. a
+ sheet index for spreadsheet events.
+
+ @return
+ `TRUE`, if the VBA event handler exists.
+ `FALSE`, for all other cases.
+ **/
+ boolean hasVbaEventHandler( [in] long nEventId, [in] sequence< any > aArgs )
+ raises (::com::sun::star::lang::IllegalArgumentException);
+
+
+ /** Executes a VBA event handler.
+
+ @param nEventId
+ The identifier of the event. Must be a constant from VBAEventId.
+
+ @param aArgs
+ The input arguments needed to create the argument list of the VBA
+ event handler.
+
+ @return
+ `TRUE`, if event handing is enabled, and the event handler macro
+ exists and has been invoked.
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if the passed event identifier is not supported, or if the passed
+ arguments do not conform to the arguments expected by the specified
+ event.
+
+ @throws ::com::sun::star::util::VetoException
+ if the VBA event handler has indicated to veto the event.
+ **/
+ boolean processVbaEvent( [in] long nEventId, [in] sequence< any > aArgs )
+ raises (::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::util::VetoException);
+
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/vba/XVBAMacroResolver.idl b/offapi/com/sun/star/script/vba/XVBAMacroResolver.idl
new file mode 100644
index 000000000..da6f0e8d2
--- /dev/null
+++ b/offapi/com/sun/star/script/vba/XVBAMacroResolver.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_script_vba_XVBAMacroResolver_idl__
+#define __com_sun_star_script_vba_XVBAMacroResolver_idl__
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+module com { module sun { module star { module script { module vba {
+
+
+/** Converts VBA macro names to script URLs and vice versa.
+ */
+interface XVBAMacroResolver
+{
+
+ /** Returns the script URL representing the passed VBA macro name.
+
+ @param aVBAMacroName
+ The VBA macro name to be resolved to a script URL. The macro name
+ may consist of up to three parts, divided by periods. The first two
+ parts are optional. The first part represents the VBA project name.
+ The second part represents the module name. The third part
+ represents the procedure name. Example: All the VBA macro names
+ "VBAProject.Module1.TestMacro", "Module1.TestMacro",
+ "VBAProject.TestMacro", and "TestMacro" may refer to the same VBA
+ procedure located in "Module" of the project "VBAProject". If the
+ module name is missing, then all modules are searched for a macro
+ with the specified name.
+
+ @return
+ The script URL referring to the passed VBA macro.
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if a macro with the passed name does not exist.
+ **/
+ string resolveVBAMacroToScriptURL( [in] string aVBAMacroName )
+ raises (::com::sun::star::lang::IllegalArgumentException);
+
+
+ /** Returns the VBA macro name for a macro with the passed script URL.
+
+ @param aScriptURL
+ The script URL to be resolved to a VBA macro name. Must be a
+ document-local script.
+
+ @return
+ The VBA macro name referring to a macro with the passed script URL.
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if a macro with the passed name does not exist.
+ **/
+ string resolveScriptURLtoVBAMacro( [in] string aScriptURL )
+ raises (::com::sun::star::lang::IllegalArgumentException);
+
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/vba/XVBAModuleInfo.idl b/offapi/com/sun/star/script/vba/XVBAModuleInfo.idl
new file mode 100644
index 000000000..5c1bd8b14
--- /dev/null
+++ b/offapi/com/sun/star/script/vba/XVBAModuleInfo.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_script_vba_XVBAModuleInfo_idl__
+#define __com_sun_star_script_vba_XVBAModuleInfo_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/script/ModuleInfo.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/container/ElementExistException.idl>
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#include <com/sun/star/container/NoSuchElementException.idl>
+
+
+module com { module sun { module star { module script { module vba {
+
+interface XVBAModuleInfo
+{
+
+ com::sun::star::script::ModuleInfo getModuleInfo( [in] string ModuleName )
+ raises( com::sun::star::container::NoSuchElementException,
+ com::sun::star::lang::WrappedTargetException );
+
+
+ boolean hasModuleInfo( [in] string ModuleName );
+
+
+ void insertModuleInfo( [in] string ModuleName,
+ [in] com::sun::star::script::ModuleInfo ModuleInfo )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::container::ElementExistException,
+ com::sun::star::lang::WrappedTargetException );
+
+
+ void removeModuleInfo( [in] string ModuleName )
+ raises( com::sun::star::container::NoSuchElementException,
+ com::sun::star::lang::WrappedTargetException );
+
+};
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/vba/XVBAScriptListener.idl b/offapi/com/sun/star/script/vba/XVBAScriptListener.idl
new file mode 100644
index 000000000..3113aa920
--- /dev/null
+++ b/offapi/com/sun/star/script/vba/XVBAScriptListener.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_script_vba_XVBAScriptListener_idl__
+#define __com_sun_star_script_vba_XVBAScriptListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+#include <com/sun/star/script/vba/VBAScriptEvent.idl>
+
+
+module com { module sun { module star { module script { module vba {
+
+
+interface XVBAScriptListener : ::com::sun::star::lang::XEventListener
+{
+ void notifyVBAScriptEvent( [in] VBAScriptEvent Event );
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/BooleanComparisonMode.idl b/offapi/com/sun/star/sdb/BooleanComparisonMode.idl
new file mode 100644
index 000000000..0234e736e
--- /dev/null
+++ b/offapi/com/sun/star/sdb/BooleanComparisonMode.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_sdb_BooleanComparisonMode_idl__
+#define __com_sun_star_sdb_BooleanComparisonMode_idl__
+
+
+module com { module sun { module star { module sdb {
+
+
+/** specifies different mode how boolean comparison predicates are to be generated
+ by a SingleSelectQueryComposer.
+ */
+constants BooleanComparisonMode
+{
+ /** denotes the default comparison
+
+ <p>Most databases support comparing boolean expressions or column values directly with
+ integer values: <code><em>column</em> = 0</code> respectively <code><em>column</em> = 1</code>.</p>
+ */
+ const long EQUAL_INTEGER = 0;
+
+ /** requires to use <code>IS <em>boolean_literal</em></code> for boolean comparison.
+
+ <p>That is, the generated comparison predicates will be <code><em>column</em> IS TRUE</code> resp.
+ <code><em>column</em> IS FALSE</code>.</p>
+ */
+ const long IS_LITERAL = 1;
+
+ /** requires to use <code>= <em>boolean_literal</em></code> for boolean comparison.
+
+ <p>That is, the generated comparison predicates will be <code><em>column</em> = TRUE</code> resp.
+ <code><em>column</em> = FALSE</code>.</p>
+ */
+ const long EQUAL_LITERAL = 2;
+
+ /** requires to use an Microsoft Access compatible syntax for boolean comparison.
+ */
+ const long ACCESS_COMPAT = 3;
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/CallableStatement.idl b/offapi/com/sun/star/sdb/CallableStatement.idl
new file mode 100644
index 000000000..1769b61c3
--- /dev/null
+++ b/offapi/com/sun/star/sdb/CallableStatement.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_sdb_CallableStatement_idl__
+#define __com_sun_star_sdb_CallableStatement_idl__
+
+#include <com/sun/star/sdbc/CallableStatement.idl>
+
+#include <com/sun/star/sdb/PreparedStatement.idl>
+
+ module com { module sun { module star { module sdb {
+
+
+/** represents a procedure call. The service differs only in the access
+ of the columns and parameters to the service
+ com::sun::star::sdbc::CallableStatement.
+*/
+published service CallableStatement
+{
+ service com::sun::star::sdbc::CallableStatement;
+
+ service com::sun::star::sdb::PreparedStatement;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/Column.idl b/offapi/com/sun/star/sdb/Column.idl
new file mode 100644
index 000000000..42fe706a9
--- /dev/null
+++ b/offapi/com/sun/star/sdb/Column.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_sdb_Column_idl__
+#define __com_sun_star_sdb_Column_idl__
+
+#include <com/sun/star/sdbcx/Column.idl>
+
+#include <com/sun/star/sdb/ColumnSettings.idl>
+
+ module com { module sun { module star { module sdb {
+
+
+/** describes the common properties of a database column.
+ */
+published service Column
+{
+ service com::sun::star::sdbcx::Column;
+
+
+ /** is used for customization of data appearance.
+ */
+ service com::sun::star::sdb::ColumnSettings;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/ColumnDescriptorControl.idl b/offapi/com/sun/star/sdb/ColumnDescriptorControl.idl
new file mode 100644
index 000000000..b12645563
--- /dev/null
+++ b/offapi/com/sun/star/sdb/ColumnDescriptorControl.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_sdb_ColumnDescriptorControl_idl__
+#define __com_sun_star_sdb_ColumnDescriptorControl_idl__
+
+#include <com/sun/star/awt/UnoControl.idl>
+
+
+ module com { module sun { module star { module sdb {
+
+
+/** specifies a column descriptor control.
+ */
+service ColumnDescriptorControl
+{
+ service com::sun::star::awt::UnoControl;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/ColumnDescriptorControlModel.idl b/offapi/com/sun/star/sdb/ColumnDescriptorControlModel.idl
new file mode 100644
index 000000000..079646ab2
--- /dev/null
+++ b/offapi/com/sun/star/sdb/ColumnDescriptorControlModel.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_sdb_ColumnDescriptorControlModel_idl__
+#define __com_sun_star_sdb_ColumnDescriptorControlModel_idl__
+
+#include <com/sun/star/awt/UnoControlModel.idl>
+
+
+ module com { module sun { module star {
+ module sdbc {
+ interface XConnection;
+ };
+ module beans {
+ interface XPropertySet;
+ };};};};
+
+ module com { module sun { module star { module sdb {
+
+
+/** specifies the standard model of a ColumnDescriptorControl.
+ */
+service ColumnDescriptorControlModel
+{
+ service com::sun::star::awt::UnoControlModel;
+
+
+ /** specifies the border style of the control.
+
+ <pre>
+ 0: No border
+ 1: 3D border
+ 2: simple border
+ </pre>
+ */
+ [property] short Border;
+
+
+ /** determines whether the control is enabled or disabled.
+ */
+ [property] boolean Enabled;
+
+
+
+ /** specifies that the control can be reached with the TAB key.
+ */
+ [property] boolean Tabstop;
+
+ /** specifies the column descriptor where the values will be stored in.
+ */
+ [property] ::com::sun::star::beans::XPropertySet Column;
+
+ /** specifies the connection to a database.
+ */
+ [property] ::com::sun::star::sdbc::XConnection ActiveConnection;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/ColumnSettings.idl b/offapi/com/sun/star/sdb/ColumnSettings.idl
new file mode 100644
index 000000000..38d60e5c2
--- /dev/null
+++ b/offapi/com/sun/star/sdb/ColumnSettings.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_sdb_ColumnSettings_idl__
+#define __com_sun_star_sdb_ColumnSettings_idl__
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+ module com { module sun { module star { module sdb {
+
+
+/** describes the common properties of a database column.
+ */
+published service ColumnSettings
+{
+ interface com::sun::star::beans::XPropertySet;
+
+
+ /** contains the index of the number format that is used for the
+ column.
+
+ <p>The proper value can be determined by using the
+ com::sun::star::util::XNumberFormatter
+ interface.
+ </p>
+ <p>
+ If the value is
+ `VOID`
+ , a default number format should be used according to the datatype of the column.
+ </p>
+
+ */
+ [property] long FormatKey;
+
+
+ /** specifies the alignment of columns text.
+
+ <pre>
+ 0: left
+ 1: center
+ 2: right
+ </pre>
+ <p>
+ If the value is
+ `VOID`
+ , a default alignment should be used according
+ to the datatype of the column.
+ </p>
+ */
+ [property] long Align;
+
+
+ /** specifies the width of the column displayed in a grid, the unit is 10THMM.
+
+ <p>
+ If the value is
+ `VOID`
+ , a default width should be used according to the label of the column.
+ </p>
+ */
+ [property] long Width;
+
+
+ /** Position of the column within a grid.
+
+ <p>
+ If the value is
+ `VOID`
+ , the default position should be taken according.
+ </p>
+ */
+ [property] long Position;
+
+
+ /** determines whether the column should be displayed or not.
+ */
+ [property] boolean Hidden;
+
+
+ /** indicates a control model which defines the settings for layouting.
+ The default is `NULL`.
+ */
+ [optional, property] com::sun::star::beans::XPropertySet ControlModel;
+
+ /** describes an optional help text which can be used by UI components
+ when representing this column.
+ The default is `NULL`.
+ */
+ [optional, property] string HelpText;
+
+ /** describes the default value which should be displayed by a control when moving to a new row.
+ The default is `NULL`.
+ */
+ [optional, property] string ControlDefault;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/CommandDefinition.idl b/offapi/com/sun/star/sdb/CommandDefinition.idl
new file mode 100644
index 000000000..0a27a049d
--- /dev/null
+++ b/offapi/com/sun/star/sdb/CommandDefinition.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_sdb_CommandDefinition_idl__
+#define __com_sun_star_sdb_CommandDefinition_idl__
+
+#include <com/sun/star/sdbcx/XRename.idl>
+
+ module com { module sun { module star { module sdb {
+
+/**
+ @since LibreOffice 4.1
+ */
+service CommandDefinition : com::sun::star::sdbcx::XRename;
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/CommandType.idl b/offapi/com/sun/star/sdb/CommandType.idl
new file mode 100644
index 000000000..60a32b584
--- /dev/null
+++ b/offapi/com/sun/star/sdb/CommandType.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_sdb_CommandType_idl__
+#define __com_sun_star_sdb_CommandType_idl__
+
+ module com { module sun { module star { module sdb {
+
+
+/** indicates the type of a command.
+ */
+published constants CommandType
+{
+
+ /** indicates that a command contains a table name, which can be used to
+ process a command like "select * from tablename".
+ */
+ const long TABLE = 0;
+
+ /** indicates that a command contains a name of a query component, which
+ contains a certain statement.
+ */
+ const long QUERY = 1;
+
+ /** indicates that the command is an SQL-Statement.
+ */
+ const long COMMAND = 2;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/Connection.idl b/offapi/com/sun/star/sdb/Connection.idl
new file mode 100644
index 000000000..e4232d28b
--- /dev/null
+++ b/offapi/com/sun/star/sdb/Connection.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_sdb_Connection_idl__
+#define __com_sun_star_sdb_Connection_idl__
+
+#include <com/sun/star/container/XChild.idl>
+
+#include <com/sun/star/sdbc/Connection.idl>
+
+#include <com/sun/star/sdbcx/DatabaseDefinition.idl>
+
+module com { module sun { module star { module lang {
+ published interface XMultiServiceFactory;
+};};};};
+
+ module com { module sun { module star { module sdb {
+
+ published interface XSQLQueryComposerFactory;
+ published interface XQueriesSupplier;
+ published interface XCommandPreparation;
+
+ module application { interface XTableUIProvider; };
+
+/** extends the
+ com::sun::star::sdbc::Connection
+ of SDBC by providing the data definitions of a connected database.
+ */
+published service Connection
+{
+ service com::sun::star::sdbc::Connection;
+
+ /** access to the owning data source.
+ */
+ interface com::sun::star::container::XChild;
+
+ /** interface for complex command execution.
+ */
+ interface XCommandPreparation;
+
+ /** access to the database definition information of the connection.
+ */
+ service com::sun::star::sdbcx::DatabaseDefinition;
+
+ /** returns a container of associated queries.
+ */
+ interface XQueriesSupplier;
+
+ /** returns a tool for composing queries.
+ */
+ interface XSQLQueryComposerFactory;
+
+ /** allows the creation of different services which can only exists with a connection.
+ */
+ [optional] interface com::sun::star::lang::XMultiServiceFactory;
+
+ /** allows the connection to overrule the database application's default
+ user interface for tables.
+ */
+// [optional] interface com::sun::star::sdb::application::XTableUIProvider;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/ContentLoader.idl b/offapi/com/sun/star/sdb/ContentLoader.idl
new file mode 100644
index 000000000..85cb69e66
--- /dev/null
+++ b/offapi/com/sun/star/sdb/ContentLoader.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_sdb_ContentLoader_idl__
+#define __com_sun_star_sdb_ContentLoader_idl__
+
+#include <com/sun/star/frame/FrameLoader.idl>
+
+module com { module sun { module star { module sdb {
+
+/** implements a loader for various datasource-related user interface components.
+
+ <p>Usually, you don't deal with this loader directly. Instead, use an instance with
+ the com::sun::star::frame::XComponentLoader interface, and pass
+ one of the below-mentioned URLs to it.</p>
+
+ @see com::sun::star::frame::XComponentLoader
+ @see com::sun::star::frame::Desktop
+*/
+published service ContentLoader
+{
+ /** ensures the basic functionality.
+
+ <p>
+ Supporting this service ensures that you can plug any of the components
+ the loader can create into an arbitrary frame.
+ </p>
+
+ The loader should be registered for the URL scheme
+ <b>
+ .component:DB/ *
+ </b>
+ , the concrete URLs supported are:
+ <ul>
+ <li><b>.component:DB/DataSourceBrowser</b><br/>
+ Using this URL creates an instance of the
+ com::sun::star::sdb::DataSourceBrowser
+ service and plugs it into the frame passed to the loader.
+ </li>
+ <li><b>.component:DB/FormGridView</b><br/>
+ Using this URL creates an instance of the
+ com::sun::star::sdb::ExternalSourceBrowser
+ service and plugs it into the frame passed to the loader.
+ </li>
+ <li><b>.component:DB/QueryDesign</b><br/>
+ Using this URL creates an instance of the
+ com::sun::star::sdb::QueryDesign
+ service and plugs it into the frame passed to the loader.
+ </li>
+ <li><b>.component:DB/TableDesign</b><br/>
+ Using this URL creates an instance of the
+ com::sun::star::sdb::TableDesign
+ service and plugs it into the frame passed to the loader.
+ </li>
+ <li><b>.component:DB/RelationDesign</b><br/>
+ Using this URL creates an instance of the
+ com::sun::star::sdb::RelationDesign
+ service and plugs it into the frame passed to the loader.
+ </li>
+ </ul>
+
+ The parameters passed to the
+ com::sun::star::frame::XFrameLoader::load()
+ are forwarded to the object being created,
+ in particular to its
+ com::sun::star::lang::XInitialization
+ interface.
+ **/
+ service com::sun::star::frame::FrameLoader;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/DataAccessDescriptor.idl b/offapi/com/sun/star/sdb/DataAccessDescriptor.idl
new file mode 100644
index 000000000..d3734b764
--- /dev/null
+++ b/offapi/com/sun/star/sdb/DataAccessDescriptor.idl
@@ -0,0 +1,253 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sdb_DataAccessDescriptor_idl__
+#define __com_sun_star_sdb_DataAccessDescriptor_idl__
+
+#include <com/sun/star/sdbc/Connection.idl>
+#include <com/sun/star/sdbc/ResultSet.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+
+module com { module sun { module star { module sdb {
+
+/** descriptor for accessing basic data access objects.
+
+ <p>Various components interacting with the database access world require to specify (or provide themselves) an object
+ such as a query, a table, a result set, a connection to a data source, a column within a table, and so on.<br/>
+ All of these objects are usually not specified with a single property, but with a set of properties, and for
+ various objects, various (but not always different) properties are needed.<br/>
+ The <code>DataAccessDescriptor</code> describes the super set of the properties for the most common
+ data access objects.</p>
+
+ <p>Every component providing or requiring a DataAccessDescriptor for some functionality
+ is urged to specify which properties are mandatory, and which ones optional. Additionally,
+ it's free to specify any additional requirements about the relations of properties.</p>
+
+ @since OOo 1.1.2
+*/
+published service DataAccessDescriptor
+{
+ /** specifies the name of the datasource to access.
+
+ <p>This data source is usually used to create a Connection. If no DataSourceName is given
+ and the #DatabaseLocation and the #ConnectionResource are empty, then an #ActiveConnection
+ is required.</p>
+
+ @see com::sun::star::sdb::DatabaseContext
+ @see ActiveConnection
+ */
+ [optional, property] string DataSourceName;
+
+ /** specifies the URL of the database file.
+
+ <p>This database location is usually used to create a Connection. If no DatabaseLocation is given
+ and the #ConnectionResource is empty, then an #ActiveConnection is required.</p>
+
+ @see com::sun::star::sdb::DatabaseContext
+ @see ActiveConnection
+ */
+ [optional, property] string DatabaseLocation;
+
+ /** specifies the database URL which locates a database driver.
+
+ <p>This database URL is usually used to create a Connection. If no ConnectionResource is given,
+ then an #ActiveConnection is required.</p>
+
+ @see com::sun::star::sdb::DatabaseContext
+ @see ActiveConnection
+ */
+ [optional, property] string ConnectionResource;
+
+ /** specifies additional info to use when creating a connection from a <code>ConnectionResource</code>
+
+ <p>This member is evaluated only when <code>ConnectionResource</code> is used: In this case,
+ com::sun::star::sdbc::XDriverManager::getConnectionWithInfo() is used
+ to create a connection for the given connection resource, instead of
+ com::sun::star::sdbc::XDriverManager::getConnection().</p>
+
+ <p>If the sequence is empty, it is ignored.</p>
+ */
+ [optional, property] sequence< ::com::sun::star::beans::PropertyValue > ConnectionInfo;
+
+ /** is a connection to use.
+
+ <p>This object is guaranteed to be a com::sun::star::sdbc::Connection, but usually
+ it will be a Connection from the module com::sun::star::sdb.<br/>
+ Especially in the case where no #DataSourceName is given, but
+ #CommandType is CommandType::QUERY, the ActiveConnection needs
+ to fully support the Connection service, to actually retrieve the query specified by
+ #Command</p>
+
+ <p>If no ActiveConnection is given, then a #DataSourceName is required.</p>
+
+ @see DataSourceName
+ */
+ [optional, property] com::sun::star::sdbc::XConnection ActiveConnection;
+
+ /** specifies the command to execute to retrieve a result set.
+
+ <p>This property is only meaningful together with the #CommandType
+ property, thus either <em>both</em> or <em>none</em> of them are present.</p>
+
+ @see CommandType
+ */
+ [optional, property] string Command;
+
+
+ /** specifies the type of the command to be executed to retrieve a result set.
+
+ <p>#Command needs to be interpreted depending on the value of this property.</p>
+
+ <p>This property is only meaningful together with the #Command
+ property, thus either <em>both</em> or <em>none</em> of them are present.</p>
+
+ @see com::sun::star::sdb::CommandType
+ */
+ [optional, property] long CommandType;
+
+ /** specifies an additional filter to optionally use.
+
+ <p>The Filter string has to form a <code>WHERE</code>-clause, <em>without</em> the
+ <code>WHERE</code>-string itself.</p>
+
+ <p>If a #DataSourceName, #Command and #CommandType
+ are specified, a RowSet can be created with this information. If the results provided by the
+ row set are to be additionally filtered, the Filter property can be used.</p>
+
+ <p>Note that the Filter property does not make sense if a #ResultSet has been specified
+ in the DataAccessDescriptor.</p>
+
+ @see com::sun::star::sdb::RowSet
+ @see ResultSet
+ */
+ [optional, property] string Filter;
+
+ /** specifies an additional <code>ORDER BY</code> clause which should be applied on top of
+ the given #Command.
+
+ <p>The keyword <code>ORDER BY</code> itself is not part of this property.</p>
+ */
+ [optional, property] string Order;
+
+ /** specifies an additional <code>HAVING</code> clause which should be applied on top of
+ the given #Command.
+
+ <p>The keyword <code>HAVING</code> itself is not part of this property.</p>
+ */
+ [optional, property] string HavingClause;
+
+ /** specifies an additional <code>GROUP BY</code> clause which should be applied on top of
+ the given #Command.
+
+ <p>The keyword <code>GROUP BY</code> itself is not part of this property.</p>
+ */
+ [optional, property] string GroupBy;
+
+ /** specifies if the #Command should be analyzed on the client side before sending it
+ to the database server.
+
+ <p>The default value of this property is `TRUE`. By switching it to `FALSE`, you can pass
+ backend-specific SQL statements, which are not standard SQL, to your database.</p>
+
+ <p>This property is usually present together with the #Command and
+ #CommandType properties, and is evaluated if and only if #CommandType
+ equals CommandType::COMMAND.</p>
+ */
+ [optional, property] boolean EscapeProcessing;
+
+ /** specifies an already existent result set to use.
+
+ <p>Usually, you use the properties #DataSourceName (alternatively
+ #ActiveConnection), #Command and #CommandType to specify
+ how to <em>obtain</em> a result set. However, in scenarios where the provider of a DataAccessDescriptor
+ has access to an already existent result set, it can pass it along for reusage. This is encouraged
+ to increase performance.</p>
+
+ <p>The object will at least support the com::sun::star::sdbc::ResultSet service.</p>
+
+ <p>Note that any superservices of com::sun::star::sdbc::ResultSet
+ are also allowed. Especially, this member can denote an instance of the
+ com::sun::star::sdb::RowSet, or an instance obtained
+ by calling com::sun::star::sdb::XResultSetAccess::createResultSet()
+ on such a com::sun::star::sdb::RowSet. This becomes important in
+ conjunction with the #Selection property.</p>
+
+ @see com::sun::star::sdb::XResultSetAccess
+ */
+ [optional, property] com::sun::star::sdbc::XResultSet ResultSet;
+
+ /** specifies a selection to confine the records in a result set.
+
+ <p>When you specify a result set either implicitly (#DataSourceName, #Command,
+ #CommandType) or explicitly (#ResultSet), the set of results can be
+ additionally refined with this property.</p>
+
+ <p>The single elements of the #Selection are either record numbers (see
+ com::sun::star::sdbc::XResultSet::getRow()), or bookmarks (see
+ com::sun::star::sdbcx::XRowLocate::getBookmark()).<br/>
+ It is up to the component which provides or requires a DataAccessDescriptor to specify which of the
+ two alternatives it expects. If it does <em>not</em> specify this, then the property
+ #BookmarkSelection becomes mandatory.</p>
+
+ <p>If the elements specify bookmarks, and a #ResultSet has been specified, then
+ this result set is required to support the com::sun::star::sdbcx::XRowLocate interface.</p>
+ */
+ [optional, property] sequence< any > Selection;
+
+ /** specifies how to interpret #Selection
+
+ <p>If present, #BookmarkSelection specifies the semantics of #Selection. If
+ not present, it's up to the implementing component to specify this semantics.</p>
+
+ <p>If `TRUE`, then the single elements of the array specified by #Selection are
+ bookmarks relative to the result set, if `FALSE`, they're record numbers.</p>
+
+ @see com::sun::star::sdbcx::XRowLocate
+ @see com::sun::star::sdbc::XResultSet
+ @see com::sun::star::sdb::XResultSetAccess
+ */
+ [optional, property] boolean BookmarkSelection;
+
+ /** specifies a column name.
+
+ <p>This property is usually used together with the #Command and
+ #CommandType properties.</p>
+
+ @see Column
+ */
+ [optional, property] string ColumnName;
+
+ /** specifies a column object
+
+ <p>For reasons of performance and saving resources, a supplier of an DataAccessDescriptor which is
+ used to describe a column object can pass this object directly, instead of specifying it only implicitly
+ with the #ColumnName property.</p>
+
+ <p>The object will at least support the com::sun::star::sdbcx::Column service, but more
+ often it will even be a Column from the com::sun::star::sdb module.</p>
+ */
+ [optional, property] com::sun::star::beans::XPropertySet Column;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/DataAccessDescriptorFactory.idl b/offapi/com/sun/star/sdb/DataAccessDescriptorFactory.idl
new file mode 100644
index 000000000..61e01b2df
--- /dev/null
+++ b/offapi/com/sun/star/sdb/DataAccessDescriptorFactory.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sdb_DataAccessDescriptorFactory_idl__
+#define __com_sun_star_sdb_DataAccessDescriptorFactory_idl__
+
+#include <com/sun/star/sdb/XDataAccessDescriptorFactory.idl>
+
+
+module com { module sun { module star { module sdb {
+
+
+/** allows creating instances of the DataAccessDescriptor service.
+*/
+singleton DataAccessDescriptorFactory : XDataAccessDescriptorFactory;
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/DataColumn.idl b/offapi/com/sun/star/sdb/DataColumn.idl
new file mode 100644
index 000000000..46d28e3b5
--- /dev/null
+++ b/offapi/com/sun/star/sdb/DataColumn.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_sdb_DataColumn_idl__
+#define __com_sun_star_sdb_DataColumn_idl__
+
+#include <com/sun/star/sdb/ResultColumn.idl>
+
+ module com { module sun { module star { module sdb {
+
+ published interface XColumn;
+ published interface XColumnUpdate;
+
+
+/** defines a column used for a result set which contains the data definition
+ and the data of the column of the current row of a result set.
+ */
+published service DataColumn
+{
+ service com::sun::star::sdb::ResultColumn;
+
+
+ /** is used to retrieve the columns value.
+ */
+ interface XColumn;
+
+
+ /** is used to update the columns value.
+ */
+ interface XColumnUpdate;
+
+
+ /** contains the column's value. This could be a constraint property, to
+ veto modifications, if a new value does not fit into rules
+ defined for the column.
+ */
+ [optional, property] any Value;
+
+
+ /** contains the original value of the column.
+ */
+ [optional, readonly, property] any OriginalValue;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/DataSettings.idl b/offapi/com/sun/star/sdb/DataSettings.idl
new file mode 100644
index 000000000..6fd16d175
--- /dev/null
+++ b/offapi/com/sun/star/sdb/DataSettings.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_sdb_DataSettings_idl__
+#define __com_sun_star_sdb_DataSettings_idl__
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+#include <com/sun/star/util/Color.idl>
+#include <com/sun/star/awt/FontDescriptor.idl>
+
+ module com { module sun { module star { module sdb {
+
+
+/** extends the
+ com::sun::star::sdbcx::Table
+ with additional display information, sorting and filtering criteria.
+
+ */
+published service DataSettings
+{
+
+ /** additional filter for the data object.
+ */
+ [property] string Filter;
+
+
+ /** indicates whether the filter should be applied or not,
+ default is `FALSE`.
+ */
+ [property] boolean ApplyFilter;
+
+
+ /** is an additional sort order definition.
+ */
+ [property] string Order;
+
+
+ /** specifies the font attributes for data displaying.
+ */
+ [property] com::sun::star::awt::FontDescriptor FontDescriptor;
+
+
+ /** specifies the height of a data row.
+ */
+ [property] long RowHeight;
+
+
+ /** specifies the text color (RGB) for displaying text.
+ */
+ [property] com::sun::star::util::Color TextColor;
+
+ /** additional having clause for the data object.
+ */
+ [optional,property] string HavingClause;
+
+ /** additional group by for the data object.
+ */
+ [optional,property] string GroupBy;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/DataSource.idl b/offapi/com/sun/star/sdb/DataSource.idl
new file mode 100644
index 000000000..663595081
--- /dev/null
+++ b/offapi/com/sun/star/sdb/DataSource.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_sdb_DataSource_idl__
+#define __com_sun_star_sdb_DataSource_idl__
+
+#include <com/sun/star/io/XPersistObject.idl>
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+#include <com/sun/star/beans/PropertyValue.idl>
+
+#include <com/sun/star/util/XFlushable.idl>
+
+#include <com/sun/star/util/XNumberFormatsSupplier.idl>
+
+
+ module com { module sun { module star { module sdbc {
+ published interface XIsolatedConnection;
+ published interface XDataSource;
+ };};};};
+
+
+ module com { module sun { module star { module sdb {
+
+ published interface XCompletedConnection;
+ published interface XQueryDefinitionsSupplier;
+ published interface XBookmarksSupplier;
+
+
+/** is a factory to establish database connections. It should be registered at
+ a com::sun::star::uno::NamingService.
+ @see com::sun::star::sdb::DatabaseContext
+ */
+published service DataSource
+{
+ interface com::sun::star::beans::XPropertySet;
+
+
+ /** useful for establishing connections with the completion of connection parameters
+ provided during user interaction.
+ */
+ interface XCompletedConnection;
+
+ /** useful for establishing isolated connections which are not shared among others
+ as it is the case when using XCompletedConnection or com::sun::star::sdbc::XDataSource.
+ @see XCompletedConnection
+ @see com::sun::star::sdbc::XDataSource
+ @since OOo 1.1.2
+ */
+ interface com::sun::star::sdbc::XIsolatedConnection;
+
+
+ /** is provided to flush a DataSource within to a Database Context.
+ */
+ interface com::sun::star::util::XFlushable;
+
+
+ /** provides the access to DataSource related queries.
+ <p>
+ The object returned by the
+ com::sun::star::sdb::XQueryDefinitionsSupplier::getQueryDefinitions()
+ supports the
+ com::sun::star::sdb::DefinitionContainer
+ service.
+ </p>
+ */
+ interface XQueryDefinitionsSupplier;
+
+ /* useful for establishing connections and to get and set the login timeout.
+ */
+ interface com::sun::star::sdbc::XDataSource;
+
+ /** provides access to bookmarks to documents associated with the data source
+ <p>
+ The object returned by the
+ com::sun::star::sdb::XBookmarksSupplier::getBookmarks()
+ supports the
+ com::sun::star::sdb::DefinitionContainer
+ service.
+ </p>
+ */
+ [optional] interface XBookmarksSupplier;
+
+ /** is the name of the data source.
+
+ <p>If the data source is registered at the database context, then the <code>Name</code> property
+ denotes the registration name. Otherwise, the name property contains the URL of the file which the
+ database document associated with the data source is based on.</p>
+
+ <p>If the same data source is registered under different names, the value of the <code>Name</code>
+ property is not defined.</p>
+ */
+ [readonly, property] string Name;
+
+
+ /** indicates a database url of the form <br>
+ <code> jdbc:<em>subprotocol</em>:<em>subname</em></code>
+ or
+ <code>sdbc:<em>subprotocol</em>:<em>subname</em></code>
+ */
+ [property] string URL;
+
+
+ /** is a list of arbitrary string tag/value pairs as connection arguments
+
+ <p>The DataSource itself does not attempt to interpret any of those values.</p>
+
+ <p>Instead, the values in this property have two use cases:
+ <ul><li>Upon creating a connection, for every value in this sequence it's checked
+ whether the com::sun::star::sdbc::XDriver which is to provide
+ the connection supports a setting with the respective name, using its
+ com::sun::star::sdbc::XDriver::getPropertyInfo() method.br/>
+ If so, the settings is passed to the driver's
+ com::sun::star::sdbc::XDriver::connect() method. If not,
+ the setting is ignored.</li>
+ <li>External components may use the settings to carry arbitrary information with
+ the data source. Usually, this is used to control the behavior of components
+ working with the data source.</li>
+ </ul>
+ */
+ [property] sequence<com::sun::star::beans::PropertyValue> Info;
+
+ /** is a convenience wrapper around the #Info property.
+
+ <p>Since fiddling around with a sequence of property values is somewhat uncomfortable
+ in all known UNO language bindings (especially for tasks like simply changing the value
+ of an existing value), the #Settings property wraps the #Info
+ property for easier single-value access.</p>
+
+ <p>You should use the #Settings property if you need to access a few properties only,
+ and the #Info property if you need access to all existent settings at once.</p>
+
+ <p>The object represented by this property supports the com::sun::star::beans::PropertyBag
+ service. That is, you can at runtime add arbitrary new properties to the bag.</p>
+
+ <p>Additionally, the property bag supports default values of properties, and thus the
+ com::sun::star::beans::XPropertyState interface. If you add an own property to
+ the bag using com::sun::star::beans::XPropertyContainer::addProperty(), you need
+ to specify an initial value, which is also used as default value (exceptions see below).</p>
+
+ <p>Effectively, the property bag represented by <code>Settings</code> contains two classes of properties:
+ Pre-defined ones and user-defined ones.</p>
+
+ <p><em>Pre-defined</em> properties are properties which are potentially used by the data source, the
+ application UI for the data source, or a particular backend driver employed by the data source. There's
+ a large set of such properties, no all of them are effectively used for a concrete data source, nonetheless,
+ they're all present in the <code>Settings</code>.<br/>
+ Such properties are not removable from the bag, that is, their
+ com::sun::star::beans::PropertyAttribute::REMOVABLE attribute is <em>not</em> set.<br/>
+ Usually, you'll find that all of this properties have the
+ com::sun::star::beans::PropertyState::PropertyState_DEFAULT_VALUE state.</p>
+
+ <p><em>User-defined</em> properties are the ones which are added at runtime by any instance. They might or might
+ not be removable, this depends on whether or not the code adding them specifies the
+ com::sun::star::beans::PropertyAttribute::REMOVABLE attribute. Also, they might
+ or might not have a default value, determined by the
+ com::sun::star::beans::PropertyAttribute::MAYBEDEFAULT attribute at the time they're added
+ to the bag.</p>
+
+ <p>When a data source is made persistent, then properties which are not removable (which are assumed to be the
+ pre-defined properties) are ignored when they are in <code>DEFAULT</code> state. All other properties are
+ always made persistent, except when an explicit
+ com::sun::star::beans::PropertyAttribute::TRANSIENT attribute prohibits this.</p>
+
+ <p>Similar, when you obtain the #Info property of a <code>DataSource</code>, the
+ <code>Settings</code> bag is asked for all its property values, and the ones which are removable and
+ in state default are stripped, and <em>not</em> returned in the <code>Info</code> sequence.</p>
+ */
+ [property, readonly, optional] com::sun::star::beans::XPropertySet Settings;
+
+ /** determines a users login name.
+ */
+ [property] string User;
+
+
+ /** determines a users password. The password is not persistent.
+ */
+ [property] string Password;
+
+
+ /** indicates that a password is always necessary.
+ */
+ [property] boolean IsPasswordRequired;
+
+
+ /** indicates that components displaying data obtained from this
+ data source should suppress columns used for versioning.
+ */
+ [property] boolean SuppressVersionColumns;
+
+
+ /** determines whether modifications on the data source are allowed or not.
+ */
+ [readonly, property] boolean IsReadOnly;
+
+
+ /** provides an object for formatting numbers.
+ */
+ [readonly, property] com::sun::star::util::XNumberFormatsSupplier
+ NumberFormatsSupplier;
+
+
+ /** defines a list of tables, on which the DataSource should have it's focus.
+ If empty, all tables are rejected.
+
+ */
+ [property] sequence<string> TableFilter;
+
+
+ /** defines a list of table types, on which the DataSource should have it's focus.
+ If empty, all table types are rejected.
+
+ */
+ [property] sequence<string> TableTypeFilter;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/DataSourceBrowser.idl b/offapi/com/sun/star/sdb/DataSourceBrowser.idl
new file mode 100644
index 000000000..615fc0639
--- /dev/null
+++ b/offapi/com/sun/star/sdb/DataSourceBrowser.idl
@@ -0,0 +1,268 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+#ifndef __com_sun_star_sdb_DataSourceBrowser_idl__
+#define __com_sun_star_sdb_DataSourceBrowser_idl__
+
+#include <com/sun/star/frame/XController.idl>
+#include <com/sun/star/lang/XInitialization.idl>
+#include <com/sun/star/frame/XDispatchProvider.idl>
+#include <com/sun/star/form/FormController.idl>
+#include <com/sun/star/ui/XContextMenuInterception.idl>
+
+module com { module sun { module star { module sdb {
+
+/** implements a component which allows browsing the data sources registered on the system.
+
+ <p>
+ This service implements a user interface for browsing data sources registered on the
+ com::sun::star::sdb::DatabaseContext
+ instance of the system.
+ </p>
+
+ <p>
+ It is possible to navigate through all the data sources, it's queries and it's tables.
+ The queries/tables can be displayed in a grid-like view, where functionality for searching,
+ sorting, filtering, and such is provided.
+ </p>
+
+ <p>
+ Usually, you won't instantiate this service directly, instead you use the dispatch mechanisms
+ of the application framework to load the URL <b>.component:DB/DataSourceBrowser</b> into an arbitrary
+ frame. This should involve a
+ com::sun::star::sdb::ContentLoader
+ service, which creates and initializes
+ the browser.
+ </p>
+
+ <p>
+ Some aspects of the browser can be controlled from outside, e.g.,
+ it is possible to dispatch a sort or filter
+ request, if a table or query is being displayed.
+ </p>
+
+ <p
+ >The communication between the browser and external instances works in two ways.
+ <br/>
+ The way <em>in</em> is provided by the
+ com::sun::star::frame::XDispatchProvider
+ interface the service exports (Please see below for more details on this).
+ <br/>
+ The way <em>out</em> works in another way. There are several URLs which an external
+ instance can provide dispatches for (usually by implementing a
+ com::sun::star::frame::XDispatchProviderInterceptor
+ for the parent frame of the browser), thus indicating that the browser should provide special functionality.
+ <br/>
+ In this case, the browser displays and maintains some additional slots (to be more concrete: toolbox items), which,
+ upon triggering, call the
+ com::sun::star::frame::XDispatch::dispatch() method of the object
+ provided by the external instance.
+ </p>
+
+ <p>
+ In particular, the supported URLs for communicating to an external instance are:
+ <ul>
+ <li><b>.uno:DataSourceBrowser/InsertColumns</b>
+ <br/>
+ Available whenever an external instance provides a dispatcher (
+ com::sun::star::frame::XDispatch)
+ for this URL.
+ <br/>
+ Enabled, if at least one row in the grid view of a table or query is selected.
+ <br/>
+ It is the task of the external instance to provide functionality for this URL, but usually it is used
+ to implement some kind of "Data To Text" functionality.
+ <br/>
+ </li>
+ <li><b>.uno:DataSourceBrowser/InsertContent</b>
+ <br/>
+ Available whenever an external instance provides a dispatcher(
+ com::sun::star::frame::XDispatch
+ ) for this URL.
+ <br/>
+ Enabled, if at least one row in the grid view of a table or query is selected.
+ <br/>
+ It is the task of the external instance to provide functionality for this URL, but usually it is used
+ to implement some kind of "Data To Fields" functionality.
+ <br/>
+ </li>
+ <li><b>.uno:DataSourceBrowser/FormLetter</b>
+ <br/>
+ Available whenever an external instance provides a dispatcher (
+ com::sun::star::frame::XDispatch) for this URL.
+ <br/>
+ It is the task of the external instance to provide functionality for this URL, but usually it is used
+ to implement some kind of "Form Letter" functionality.
+ <br/>
+ </li>
+ </ul>
+ </p>
+ <p>For all kinds of URLs, the parameters supplied during dispatching build up a DataAccessDescriptor,
+ where the following properties are present:
+ <ul>
+ <li>DataAccessDescriptor::DataSourceName</li>
+ <li>DataAccessDescriptor::Command</li>
+ <li>DataAccessDescriptor::CommandType</li>
+ <li><em>optional</em> DataAccessDescriptor::Selection</li>
+ <li><em>optional</em> DataAccessDescriptor::BookmarkSelection</li>
+ <li><em>optional</em> DataAccessDescriptor::ResultSet</li>
+ </ul>
+ </p>
+ <p>The default for DataAccessDescriptor::Selection is to contain bookmarks, if not specified
+ otherwise by DataAccessDescriptor::BookmarkSelection.
+ </p>
+
+ @see com::sun::star::sdb::ContentLoader
+ @see com::sun::star::sdb::DatabaseContext
+ @see com::sun::star::sdb::DataSource
+ @see com::sun::star::frame::XDispatch
+ @see com::sun::star::frame::XDispatchProvider
+ @see com::sun::star::frame::XDispatchProviderInterceptor
+*/
+published service DataSourceBrowser
+{
+ /** implements basic form controller functionality.
+ <p>
+ With a data source browser implementing this interface, external components have access to
+ <ul><li>the grid control which is used to display the currently selected table/query
+ (see com::sun::star::awt::XTabController::getControls())
+ </li>
+ <li>the data form used for displaying objects. As always for components implementing this service,
+ the object returned by
+ com::sun::star::awt::XTabController::getModel() is a dataform.
+ </li>
+ </ul>
+ </p>
+ */
+ [optional] service com::sun::star::form::FormController;
+
+ /** allows the component to be plugged into frames.
+ */
+ interface com::sun::star::frame::XController;
+
+ /** is used to initialize the browser.
+
+ <p>
+ Parameters (passed to the method com::sun::star::lang::XInitialization::initialize())
+ have to be instances of com::sun::star::beans::PropertyValue, or
+ instances of com::sun::star::beans::NamedValue, where the <code>Name</code> member
+ specifies what the parameter controls, with the <code>Value</code> member containing the value to be used.
+ <br/>
+ Recognized parameters are:
+ <ul>
+ <li><b>Frame</b><br/>
+ has to be an com::sun::star::frame::XFrame interface specifying the frame to
+ plug the browser component into.</li>
+
+ <li><b>DataSourceName</b><br/>
+ The name of the globally registered DataSource to be used for initial display. It is only
+ meaningful together with the other parameters specifying the object to display.</li>
+
+ <li><b>CommandType</b><br/>
+ This has to be a CommandType value, specifying the type of the object to display initially.
+ It is only meaningful together with the <em>DataSourceName</em> and the <em>Command</em> parameters.</li>
+
+ <li><b>Command</b><br/>
+ This is a string giving the name of the object to display initially. Whether it is table name, a query
+ name or a SQL string is controller by the <em>CommandType</em> parameter.</li>
+
+ <li><b>EnableBrowser</b><br/>
+ is a boolean value (defaulting to `TRUE`), which specifies whether to enable the data source browser
+ control. This is a tree control on the left hand side of the view, which allows to browse all registered
+ data sources, including their tables and queries.</li>
+
+ <li><b>ShowBrowser</b><br/>
+ is a boolean value (defaulting to `TRUE`), which specifies whether to initially show the data source
+ browser control. If <code>EnableBrowser</code> is `FALSE`, then this parameter is ignored. If
+ <code>EnableBrowser</code> is `TRUE`, and <code>ShowBrowser</code> is `FALSE`, then the control
+ is initially hidden, but can be toggled by a toolbar button.</p>
+
+ <li><b>ShowMenu</b><br/>
+ is a boolean value (defaulting to `TRUE`), specifying whether or not to show a menu in the frame
+ where the component is plugged.</li>
+ </ul>
+ </p>
+ */
+ interface com::sun::star::lang::XInitialization;
+
+ /** is used to control the browser from outside.
+
+ <p>
+ You may use the
+ com::sun::star::frame::XDispatchProvider::queryDispatch()
+ method
+ to query for objects which implement the
+ com::sun::star::frame::XDispatch
+ interface,
+ and which allow you to be notified on status changes and to dispatch special requests.
+ </p>
+ <p>
+ The recognized URLs are:
+ <ul>
+ <li><b>.uno:Copy</b>
+ <br/>
+ implements the usual <em>Copy</em> command. Enabled if the grid view has the focus and text in any cell
+ is selected.
+ </li>
+ <li><b>.uno:Cut</b>
+ <br/>
+ implements the usual <em>Cut</em> command. Enabled if the grid view has the focus and text in any cell
+ is selected.
+ </li>
+ <li><b>.uno:Paste</b>
+ <br/>
+ implements the usual <em>Paste</em> command. Enabled if the grid view has the focus and a cell which
+ allows text input is being edited.
+ </li>
+ <li><b>.uno:EditDoc</b>
+ <br/>
+ allows switching the edit mode of the grid view. Enabled if editing the data is allowed in general.
+ </li>
+ <li><b>.uno:Undo</b>
+ <br/>
+ revokes any changes done in the current row.
+ </li>
+ <li><b>.uno:Save</b><br/>
+ saves the changes done in the current row.
+ </li>
+ </ul>
+ </p>
+ */
+ interface com::sun::star::frame::XDispatchProvider;
+
+ /** allows to intercept user-triggered context menus in the data source browser
+
+ <p>Context menu interception is currently supported only for the browser control where the registered
+ data sources and all their tables and queries are displayed in a tree view.</p>
+
+ <p>The selection supplied by com::sun::star::ui::ContextMenuExecuteEvent::Selection,
+ in the event structure passed to the context menu interceptors, actually is a value from the
+ com::sun::star::sdb::application::NamedDatabaseObject group.</p>
+
+ @since OOo 3.0
+ */
+ [optional] interface ::com::sun::star::ui::XContextMenuInterception;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/DatabaseAccess.idl b/offapi/com/sun/star/sdb/DatabaseAccess.idl
new file mode 100644
index 000000000..22ab69c96
--- /dev/null
+++ b/offapi/com/sun/star/sdb/DatabaseAccess.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_sdb_DatabaseAccess_idl__
+#define __com_sun_star_sdb_DatabaseAccess_idl__
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+#include <com/sun/star/beans/PropertyValue.idl>
+
+#include <com/sun/star/util/XNumberFormatsSupplier.idl>
+
+
+ module com { module sun { module star { module sdb {
+
+ published interface XDatabaseAccess;
+ published interface XCompletedConnection;
+
+
+/** specifies a component, which controls DatabaseAccessConnections and acts like a
+ shared DataSource.
+
+ @deprecated
+ */
+published service DatabaseAccess
+{
+ // gives access to the properties.
+ interface com::sun::star::beans::XPropertySet;
+
+ /** controls the establishing of the connections.
+ */
+ interface XDatabaseAccess;
+
+ /** establishing a connection with user interaction, the implementation
+ is optional.
+ */
+ [optional] interface XCompletedConnection;
+
+ /** is the URL of the bean.
+ */
+ [readonly, property] string URL;
+
+ /** is the title of the bean.
+ */
+ [property] string Title;
+
+ /** indicates a database url of the form <br>
+ <code> jdbc:<em>subprotocol</em>:<em>subname</em></code> or
+ <code> sdbc:<em>subprotocol</em>:<em>subname</em></code>
+ */
+ [property] string ConnectURL;
+
+ /** is a list of arbitrary string tag/value pairs as
+ connection arguments; normally at least a "user" and
+ "password" property should be included.
+ */
+ [property] sequence<com::sun::star::beans::PropertyValue> ConnectInfo;
+
+ /** determines whether modifications on the data access bean are allowed
+ or not.
+ */
+ [readonly, property] boolean IsReadOnly;
+
+ /** provides an object for formatting numbers.
+ */
+ [property] com::sun::star::util::XNumberFormatsSupplier
+ NumberFormatsSupplier;
+
+ /** indicates that a password is always necessary.
+ */
+ [optional, property] boolean IsPasswordRequired;
+
+ /** defines a list of tables, on which the bean should have it's focus.
+ If empty, all tables are rejected.
+ */
+ [optional, property] sequence<string> TableFilter;
+
+ /** defines a list of table types, on which the bean should have it's focus.
+ If empty, all tables types are rejected.
+ */
+ [optional, property] sequence<string> TableTypeFilter;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/DatabaseAccessConnection.idl b/offapi/com/sun/star/sdb/DatabaseAccessConnection.idl
new file mode 100644
index 000000000..a5af742fa
--- /dev/null
+++ b/offapi/com/sun/star/sdb/DatabaseAccessConnection.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_sdb_DatabaseAccessConnection_idl__
+#define __com_sun_star_sdb_DatabaseAccessConnection_idl__
+
+#include <com/sun/star/container/XChild.idl>
+
+#include <com/sun/star/sdbcx/DatabaseDefinition.idl>
+
+#include <com/sun/star/sdbc/Connection.idl>
+
+ module com { module sun { module star { module sdb {
+
+ published interface XQueriesSupplier;
+ published interface XFormDocumentsSupplier;
+ published interface XReportDocumentsSupplier;
+ published interface XSQLQueryComposerFactory;
+
+
+/** specifies a component, which supplies and stores additional information related
+ to a certain database connection, such as, DatabaseQueries, FormDocuments, and ReportDocuments.
+ Objects for data definition are supplied as well, for instance, Tables, Views, etc.
+
+ <p>
+ Implements the service com::sun::star::sdbc::Connection.
+ It is possible to open more than one connection at the same time, but the method
+ com::sun::star::sdb::DatabaseAccessConnection::dispose()
+ will close only one of these connections. You have to close all connections in order
+ to close the connection to the database.
+ </p>
+
+ @deprecated
+*/
+published service DatabaseAccessConnection
+{
+ /** supporting of the base connection service.
+ <p><B>Note:</B><br/>
+ Don't use the "dispose" method of the XComponent interface, as the DataAccess
+ uses a more sophisticated interface for closing a connection.
+ @see XDatabaseAccess
+ </p>
+ */
+ service com::sun::star::sdbc::Connection;
+
+ /** access to the DatabaseDefinition beans of the connection.
+ */
+ service com::sun::star::sdbcx::DatabaseDefinition;
+
+ /** access to the owning data access bean.
+ */
+ interface com::sun::star::container::XChild;
+
+ /** returns a tool for composing queries.
+ */
+ interface XSQLQueryComposerFactory;
+
+ /** provides access to the queries.
+ */
+ interface XQueriesSupplier;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/DatabaseAccessContext.idl b/offapi/com/sun/star/sdb/DatabaseAccessContext.idl
new file mode 100644
index 000000000..af68e71ea
--- /dev/null
+++ b/offapi/com/sun/star/sdb/DatabaseAccessContext.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_sdb_DatabaseAccessContext_idl__
+#define __com_sun_star_sdb_DatabaseAccessContext_idl__
+
+#include <com/sun/star/container/XEnumerationAccess.idl>
+
+#include <com/sun/star/container/XNameAccess.idl>
+
+#include <com/sun/star/util/XLocalizedAliases.idl>
+
+#include <com/sun/star/lang/XLocalizable.idl>
+
+ module com { module sun { module star { module sdb {
+
+/** is the context for data access beans. It allows to register aliases for database
+ access beans. It is possible to have different aliases for different locales.
+
+
+ <p>
+ A DatabaseContext stores an alias for the URL of a database access component
+ for a given locale. It is also allowed to work with a default locale. This is useful
+ in connection with Enumeration or NameAccess to the context. In common use, the
+ default language is set during the initialization of the component.
+ </p>
+ <p>
+ The service also provides a default handling for locales, where an alias isn't
+ set. The first time an alias is registered for a programmatic name, the alias
+ becomes the default for all other known locales.
+
+ </p>@see com::sun::star::util::XLocalizedAliases
+
+ @deprecated
+ */
+published service DatabaseAccessContext
+{
+ /** Enumeration on all registered data sources for a default locale.
+ */
+ interface com::sun::star::container::XEnumerationAccess;
+
+ /** NameAccess on all registered data sources for a default locale.
+ */
+ interface com::sun::star::container::XNameAccess;
+
+ /** Interface for registering aliases for data sources.
+ */
+ interface com::sun::star::util::XLocalizedAliases;
+
+ /** Interface for setting and retrieving the default language.
+ */
+ interface com::sun::star::lang::XLocalizable;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/DatabaseAccessDataSource.idl b/offapi/com/sun/star/sdb/DatabaseAccessDataSource.idl
new file mode 100644
index 000000000..fec0bdc84
--- /dev/null
+++ b/offapi/com/sun/star/sdb/DatabaseAccessDataSource.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_sdb_DatabaseAccessDataSource_idl__
+#define __com_sun_star_sdb_DatabaseAccessDataSource_idl__
+
+#include <com/sun/star/io/XPersistObject.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/ucb/RememberAuthentication.idl>
+#include <com/sun/star/sdbc/XDataSource.idl>
+
+module com { module sun { module star { module sdb {
+
+ published interface XCompletedConnection;
+
+/** is a factory to create data access beans. Data access beans are shared among
+ components, so if an already existing bean is requested, the existing one is returned.
+
+ @deprecated
+ */
+published service DatabaseAccessDataSource
+{
+ interface com::sun::star::beans::XPropertySet;
+ interface com::sun::star::sdbc::XDataSource;
+
+ /** is optional for implementation.
+ */
+ [optional] interface XCompletedConnection;
+
+ /** locates the database access bean.
+ */
+ [property] string URL;
+
+ /** determines the password handling.
+ */
+ [optional, property] com::sun::star::ucb::RememberAuthentication PasswordMode;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/DatabaseContext.idl b/offapi/com/sun/star/sdb/DatabaseContext.idl
new file mode 100644
index 000000000..fee353634
--- /dev/null
+++ b/offapi/com/sun/star/sdb/DatabaseContext.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_sdb_DatabaseContext_idl__
+#define __com_sun_star_sdb_DatabaseContext_idl__
+
+#include <com/sun/star/sdb/XDatabaseContext.idl>
+
+module com { module sun { module star { module sdb {
+
+/** is the context for accessing datasource.
+
+ <p>
+ A datasource contains information how to create a connection to a database, such as,
+ which database driver should be used, for which user should a connection be established, etc.
+ <br/>
+ The context stores datasources under a given name.
+
+ </p>
+ @see com::sun::star::sdb::DataSource
+ */
+published service DatabaseContext : XDatabaseContext;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/DatabaseDocument.idl b/offapi/com/sun/star/sdb/DatabaseDocument.idl
new file mode 100644
index 000000000..9f094684a
--- /dev/null
+++ b/offapi/com/sun/star/sdb/DatabaseDocument.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_sdb_DatabaseDocument_idl__
+#define __com_sun_star_sdb_DatabaseDocument_idl__
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+#include <com/sun/star/util/XProtectable.idl>
+
+ module com { module sun { module star { module sdbcx {
+ published interface XDataDescriptorFactory;
+ published interface XRename;
+};};};};
+
+ module com { module sun { module star { module sdb {
+
+/** specifies a link to a document associated with a database document
+ @since OOo 2.0
+ @deprecated
+ */
+published service DatabaseDocument
+{
+ // gives access to the properties.
+ interface com::sun::star::beans::XPropertySet;
+
+ // allows to create new DatabaseDocument objects
+ interface com::sun::star::sdbcx::XDataDescriptorFactory;
+
+ // allows to rename the object.
+ interface com::sun::star::sdbcx::XRename;
+
+ /** is the name of the document.
+ */
+ [readonly, property] string Name;
+
+
+ /** is the URL of the document.
+ */
+ [readonly, property] string URL;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/DatabaseEnvironment.idl b/offapi/com/sun/star/sdb/DatabaseEnvironment.idl
new file mode 100644
index 000000000..3e1b48f33
--- /dev/null
+++ b/offapi/com/sun/star/sdb/DatabaseEnvironment.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_sdb_DatabaseEnvironment_idl__
+#define __com_sun_star_sdb_DatabaseEnvironment_idl__
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+#include <com/sun/star/util/XNumberFormatsSupplier.idl>
+
+
+ module com { module sun { module star { module sdb {
+
+ published interface XDatabaseEnvironment;
+
+
+/** @deprecated
+ is the top level service for accessing database components.
+
+
+
+ <p>It enables the service user to establish connections to databases
+ or to use database access beans to gain access to database components.
+ This service takes control over all other database services.</p>
+ */
+published service DatabaseEnvironment
+{
+ interface XDatabaseEnvironment;
+
+ interface com::sun::star::beans::XPropertySet;
+
+
+ /** provides an object for formatting numbers.
+ */
+ [readonly, property] com::sun::star::util::XNumberFormatsSupplier
+ NumberFormatsSupplier;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/DatabaseInteractionHandler.idl b/offapi/com/sun/star/sdb/DatabaseInteractionHandler.idl
new file mode 100644
index 000000000..79f617452
--- /dev/null
+++ b/offapi/com/sun/star/sdb/DatabaseInteractionHandler.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_sdb_DatabaseInteractionHandler_idl__
+#define __com_sun_star_sdb_DatabaseInteractionHandler_idl__
+
+module com { module sun { module star { module task {
+ interface XInteractionHandler2;
+}; }; }; };
+
+module com { module sun { module star { module sdb {
+
+/** describes a service which is able to handle database-related interactions.
+
+ <p>Usually, you will not instantiate this service directly. Instead, you'll instantiate a generic
+ com::sun::star::task::InteractionHandler service, and pass it your request. Based on
+ configuration data, this implementation will decide where to forward the request to.</p>
+
+ <p>By default, the <code>DatabaseInteractionHandler</code> feels responsible (as per configuration) for the
+ following interaction types:
+ <ul>
+ <li><b>database related errors</b><br/>
+ The general structure to transport such errors is the com::sun::star::sdbc::SQLException,
+ and if your interaction request supplies such a <code>SQLException</code> (or an instance of any derived class),
+ the handler will display a generic error dialog, which is able to travel the object chain which may be contained
+ in the exception.
+ </li>
+ <li><b>parameter requests</b><br/>
+ If your interaction request supplies a com::sun::star::sdb::ParametersRequest,
+ the handler will open a standard dialog asking the user to fill in parameter values.
+ <br/>
+ In the case you want to use this feature of the handler, you should supply a special continuation
+ (com::sun::star::sdb::XInteractionSupplyParameters) as well, so the
+ handler can return the entered information.
+ </li>
+ </ul>
+ </p>
+*/
+service DatabaseInteractionHandler: com::sun::star::task::XInteractionHandler2;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/DatabaseRegistrationEvent.idl b/offapi/com/sun/star/sdb/DatabaseRegistrationEvent.idl
new file mode 100644
index 000000000..95e9f606e
--- /dev/null
+++ b/offapi/com/sun/star/sdb/DatabaseRegistrationEvent.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_sdb_DatabaseRegistrationEvent_idl__
+#define __com_sun_star_sdb_DatabaseRegistrationEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+
+
+module com { module sun { module star { module sdb {
+
+
+/** describes a change in a database registration
+
+ @see XDatabaseRegistrations
+ @see XDatabaseRegistrationsListener
+
+ @since LibreOffice 3.3
+ */
+published struct DatabaseRegistrationEvent : ::com::sun::star::lang::EventObject
+{
+ /// is the name of the database registration affected by the event
+ string Name;
+ /// is the old location of the database which is affected by the event
+ string OldLocation;
+ /// is the new location of the database which is affected by the event
+ string NewLocation;
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/DatasourceAdministrationDialog.idl b/offapi/com/sun/star/sdb/DatasourceAdministrationDialog.idl
new file mode 100644
index 000000000..c4e105be6
--- /dev/null
+++ b/offapi/com/sun/star/sdb/DatasourceAdministrationDialog.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_sdb_DatasourceAdministrationDialog_idl__
+#define __com_sun_star_sdb_DatasourceAdministrationDialog_idl__
+
+#include <com/sun/star/ui/dialogs/XExecutableDialog.idl>
+#include <com/sun/star/awt/XWindow.idl>
+#include <com/sun/star/lang/XInitialization.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+
+
+module com { module sun { module star { module sdb {
+
+
+/** provides a user interface for administrating the system wide registered data sources.
+ <p>
+ Here, <em>system wide registered</em> means registered on the (one and only) instance
+ of the
+ com::sun::star::sdb::DatabaseContext
+ service.
+ </p>
+*/
+published service DatasourceAdministrationDialog
+{
+ /** the title of the (dialog) window
+ */
+ [property] string Title;
+
+ /** parent window to use for the administration dialog
+ <p>
+ This property can't be set while the dialog is being displayed.
+ </p>
+ */
+ [property] com::sun::star::awt::XWindow ParentWindow;
+
+ /** allows access to the properties of the object
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+ /** allows starting execution of the administration dialog
+ */
+ interface com::sun::star::ui::dialogs::XExecutableDialog;
+
+ /** allows initializing the dialog
+ <p>
+ You do not need to call the initialize method directly, instead you may use the createInstanceWithArguments
+ method of your com::sun::star::lang::XMultiServiceFactory.
+ </p>
+
+ <p>
+ You specify a parameter by passing one (or more)
+ com::sun::star::beans::PropertyValue
+ object(s) to the initialize method, where the <em>Name</em> field contains a string describing which aspect
+ you want to affect, and the <em>Value</em> field containing a value.
+ <br/>
+ Imagine the initialization values as if you use setPropertyValue of the
+ com::sun::star::beans::XPropertySet
+ interface ...
+ <br/>
+ allowed parameters are
+ <ul>
+ <li><b>Title</b><br/>
+ String describing the initial title of the dialog.
+ If not specified, a default title is used.
+ </li>
+ <li><b>ParentWindow</b><br/>
+ com::sun::star::awt::XWindow
+ describing the parent window to use for the dialog.
+ </li>
+ <li><b>InitialSelection</b><br/>
+ String or XDataSource describing which data source should be selected initially.
+ This String name must be known to the
+ com::sun::star::sdb::DatabaseContext.
+ </li>
+ </ul>
+ </p>
+ */
+ interface com::sun::star::lang::XInitialization;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/DefinitionContainer.idl b/offapi/com/sun/star/sdb/DefinitionContainer.idl
new file mode 100644
index 000000000..7ae204bf2
--- /dev/null
+++ b/offapi/com/sun/star/sdb/DefinitionContainer.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_sdb_DefinitionContainer_idl__
+#define __com_sun_star_sdb_DefinitionContainer_idl__
+
+ module com { module sun { module star { module container {
+ published interface XNameAccess;
+ published interface XNameContainer;
+ published interface XIndexAccess;
+ published interface XEnumerationAccess;
+};};};};
+
+ module com { module sun { module star { module util {
+ published interface XRefreshable;
+};};};};
+ module com { module sun { module star { module lang {
+ published interface XSingleServiceFactory;
+};};};};
+
+ module com { module sun { module star { module sdb {
+
+
+/** describes a container which provides access to database related definitions like
+ commands, forms, and reports.
+
+ <p>
+ The container supports access to its elements by the elements name or
+ by the elements position.
+ </p>
+ <p>
+ Simple enumeration must be supported as well.
+ </p>
+ <p>
+ To reflect the changes with the underlying database, a refresh mechanism
+ needs to be supported.
+ </p>
+ */
+published service DefinitionContainer
+{
+ // gives access to the elements by name.
+ interface com::sun::star::container::XNameAccess;
+
+ // allows to insert and remove by name.
+ interface com::sun::star::container::XNameContainer;
+
+ // gives access to the elements by index.
+ interface com::sun::star::container::XIndexAccess;
+
+ // allows to create an enumeration of the elements.
+ interface com::sun::star::container::XEnumerationAccess;
+
+
+ /** is used to refresh the container, to reflect changes in the underlying database.
+ */
+ [optional] interface com::sun::star::util::XRefreshable;
+
+ /** can be used to create container elements.
+ <p>
+ If this interface is supported, the object created using it (e.g., the object returned by
+ com.sun.star.lang::XSingleServiceFactory::createInstance()
+ ) can be used as container elements.
+ </p>
+ */
+ [optional] interface com::sun::star::lang::XSingleServiceFactory;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/DefinitionContent.idl b/offapi/com/sun/star/sdb/DefinitionContent.idl
new file mode 100644
index 000000000..1cc7dfa32
--- /dev/null
+++ b/offapi/com/sun/star/sdb/DefinitionContent.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_sdb_DefinitionContent_idl__
+#define __com_sun_star_sdb_DefinitionContent_idl__
+
+#include <com/sun/star/ucb/Content.idl>
+#include <com/sun/star/container/XHierarchicalName.idl>
+
+
+module com { module sun { module star { module sdb {
+
+
+/** defines the basic functionality for an object in the hierarchy of sub documents
+ of an OfficeDatabaseDocument.
+
+ @see DocumentDefinition
+ @see DocumentContainer
+ */
+service DefinitionContent
+{
+ /** provides the functionality for treating the object as part of a hierarchy
+ of objects.
+
+ <p>The following commands are commonly supported by the com::sun::star::ucb::XCommandProcessor
+ implementation of a <code>DefinitionContent</code>:
+ <ul>
+ <li><strong>getPropertyValues</strong></li>
+ <li><strong>setPropertyValues</strong></li>
+ <li><strong>getPropertySetInfo</strong></li>
+ </ul>
+ </p>
+
+ <p>Additional commands might be supported by derived services.</p>
+ */
+ service ::com::sun::star::ucb::Content;
+
+ /** provides access to the complete name of the content within its hierarchy
+ @since OOo 3.3
+ */
+ interface ::com::sun::star::container::XHierarchicalName;
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/Document.idl b/offapi/com/sun/star/sdb/Document.idl
new file mode 100644
index 000000000..6e5720860
--- /dev/null
+++ b/offapi/com/sun/star/sdb/Document.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_sdb_Document_idl__
+#define __com_sun_star_sdb_Document_idl__
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+module com { module sun { module star { module sdb {
+
+/** specifies documents which belong to a database source.
+
+ <p>
+ These documents typically process information from a connected
+ data source. A Document could be a form or a report.
+
+@deprecated
+*/
+published service Document
+{
+ interface com::sun::star::beans::XPropertySet;
+
+ /** is the name of the document. If the document is part of the container,
+ it is not possible to alter the name.*/
+ [readonly, property] string Name;
+
+ /** is the URL of the document. */
+ [property] string DocumentLocation;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/DocumentContainer.idl b/offapi/com/sun/star/sdb/DocumentContainer.idl
new file mode 100644
index 000000000..911cb0b3c
--- /dev/null
+++ b/offapi/com/sun/star/sdb/DocumentContainer.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_sdb_DocumentContainer_idl__
+#define __com_sun_star_sdb_DocumentContainer_idl__
+
+#include <com/sun/star/sdb/DefinitionContainer.idl>
+#include <com/sun/star/sdb/DefinitionContent.idl>
+
+
+ module com { module sun { module star { module lang {
+ published interface XMultiServiceFactory;
+};};};};
+
+ module com { module sun { module star { module frame {
+ published interface XComponentLoader;
+};};};};
+
+ module com { module sun { module star { module container {
+ published interface XHierarchicalNameContainer;
+};};};};
+
+
+ module com { module sun { module star { module sdb {
+
+
+/** describes a container which provides access to documents embedded into a database document,
+ usually forms and reports.
+
+ <p>The com::sun::star::lang::XMultiServiceFactory::createInstanceWithArguments()
+ should be used to create sub document container or form, or report objects.</p>
+
+ <p>The embedded documents do not support any particular database related service, instead, they're
+ usual com::sun::star::document::OfficeDocuments.<br/>
+ The only thing worth mentioning here is that they support the
+ com::sun::star::container::XChild interface, whose
+ com::sun::star::container::XChild::getParent() method can be used to
+ obtain the database document which the embedded document belongs to.
+ </p>
+
+ @see DocumentDefinition
+ @see OfficeDatabaseDocument
+ */
+service DocumentContainer
+{
+ service DefinitionContainer;
+
+ /** provides functionality for treating the container as part of a hierarchy
+ of a database document's sub documents.
+
+ <p>The com::sun::star::ucb::XCommandProcessor::execute() method
+ of a <code>DocumentDefinition</code> supports at least the following commands, additionally to
+ the ones already supported by the DefinitionContent:
+ <ul>
+ <li><strong>open</strong>: provides a com::sun::star::ucb::XDynamicResultSet
+ to enumerate the content of the document container.</li>
+ <li><strong>delete</strong>: deletes the document container, including all contained documents.</li>
+ </ul>
+ */
+ service DefinitionContent;
+
+ /** can be used to load the document inside.
+ <p>
+ URL: describes the name of the document definition to load,
+ TargetFrameName: isn't used.
+ SearchFlags: isn't used.
+ Arguments:
+ <ol>
+ <li>PropertyValue</li>
+ Name = ActiveConnection
+ Value = The connection which should be used when opening the text document.
+ <li>PropertyValue</li>
+ Name = OpenMode
+ Value = string, "open" if the document should be opened in live mode (editing is not possible),
+ "openDesign" if the document should be open in design mode (editing is possible)
+ </ol>
+ @see com::sun::star::sdbc::XConnection
+ </p>
+ */
+ interface com::sun::star::frame::XComponentLoader;
+
+ /** can be used to create container elements.
+ <p>
+ If this interface is supported, the object created using it (e.g., the object returned by
+ com.sun.star.lang::XMultiServiceFactory::createInstanceWithArguments()
+ ) can be used as container elements.
+ </p>
+ */
+ interface com::sun::star::lang::XMultiServiceFactory;
+
+ /** can be used to create folder hierarchies and to organize forms or reports in different sub folders.
+ */
+ interface com::sun::star::container::XHierarchicalNameContainer;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/DocumentDataSource.idl b/offapi/com/sun/star/sdb/DocumentDataSource.idl
new file mode 100644
index 000000000..c8de0f0f4
--- /dev/null
+++ b/offapi/com/sun/star/sdb/DocumentDataSource.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_sdb_DocumentDataSource_idl__
+#define __com_sun_star_sdb_DocumentDataSource_idl__
+
+#include <com/sun/star/sdbc/SQLException.idl>
+#include <com/sun/star/sdb/XDocumentDataSource.idl>
+#include <com/sun/star/sdb/DataSource.idl>
+
+ module com { module sun { module star { module sdb {
+
+
+/** simplifies the accessing of data sources and it's corresponding database document.
+
+ @see DataSource
+ @see XDocumentDataSource
+ */
+
+service DocumentDataSource
+{
+ service DataSource;
+ interface XDocumentDataSource;
+};
+
+}; }; }; };
+
+#endif
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/DocumentDefinition.idl b/offapi/com/sun/star/sdb/DocumentDefinition.idl
new file mode 100644
index 000000000..e2b266e89
--- /dev/null
+++ b/offapi/com/sun/star/sdb/DocumentDefinition.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_sdb_DocumentDefinition_idl__
+#define __com_sun_star_sdb_DocumentDefinition_idl__
+
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/sdb/DefinitionContent.idl>
+
+module com { module sun { module star { module sdb {
+
+ interface XSubDocument;
+
+/** specifies a sub document of an OfficeDatabaseDocument.
+
+ <p>Usual instances of a <code>DocumentDefinition</code> are forms and reports.</p>
+
+ <p>Note that the <code>DocumentDefinition</code> does not denote the actual document
+ (i.e. an object supporting the com::sun::star::frame::XModel interface),
+ but only a shortcut to access and load those actual documents.</p>
+*/
+service DocumentDefinition
+{
+ /** provides functionality for treating the object as part of a hierarchy
+ of a database document's sub documents.
+
+ <p>The com::sun::star::ucb::XCommandProcessor::execute() method
+ of a <code>DocumentDefinition</code> supports at least the following commands, additionally to
+ the ones already supported by the DefinitionContent:
+ <ul>
+ <li><strong>open</strong>: loads the sub document in an own frame. The return value of
+ the <code>execute</code> method is the model of the loaded document.</li>
+ <li><strong>store</strong>: stores the document.</li>
+ <li><strong>openDesign</strong>: opens the sub document in an own frame, in design mode.
+ The user can make changes to the document, and save those changes. The return value of
+ the <code>execute</code> method is the model of the loaded document.</li>
+ <li><strong>preview</strong>: retrieves an image showing a preview of the sub document.</li>
+ <li><strong>getDocumentInfo</strong>: retrieves the document information, as
+ com::sun::star::document::XDocumentProperties
+ instance, of the sub document.</li>
+ <li><strong>delete</strong>: deletes the sub document from the database document.</li>
+ <li><strong>close</strong>: closes the sub document, if it had previously been opened
+ using either the <code>open</code> or <code>openDesign</code> command. The return value
+ of the <code>execute</code> command is a <code>boolean</code> value indicating whether
+ the sub document could be closed. Reasons for not closing the document include vetoes by
+ third parties, for instance, because the user opened a dialog modal to the sub document,
+ or a long-running task such as printing is currently running.</li>
+ <li><strong>show</strong>: shows the sub document. This is useful if you previously opened the
+ document hidden, or if you previously hide it using the <em>hide</em> command.<br/>
+ The <em>open</em> command is not available if the sub document has not been loaded, yet.</li>
+ <li><strong>hide</strong>: hides the sub document. In opposite to the <em>close</em> command,
+ only the document window is hidden, but the document is kept loaded. A subsequent execution
+ of the <em>show</em> command will show the window, again.</li>
+ </ul>
+ */
+ service DefinitionContent;
+
+ interface ::com::sun::star::beans::XPropertySet;
+
+ interface ::com::sun::star::sdb::XSubDocument;
+
+ /** is the name of the document. If the document is part of the container,
+ it is not possible to alter the name.*/
+ [readonly, property] string Name;
+
+ /** Indicates if the document is to be used as template, for example, if a report is to be filled with data. */
+ [readonly, property] boolean AsTemplate;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/DocumentSaveRequest.idl b/offapi/com/sun/star/sdb/DocumentSaveRequest.idl
new file mode 100644
index 000000000..1fef69912
--- /dev/null
+++ b/offapi/com/sun/star/sdb/DocumentSaveRequest.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_sdb_DocumentSaveRequest_idl__
+#define __com_sun_star_sdb_DocumentSaveRequest_idl__
+
+#include <com/sun/star/task/ClassifiedInteractionRequest.idl>
+#include <com/sun/star/ucb/XContent.idl>
+
+
+ module com { module sun { module star { module sdb {
+
+
+/** an error specifying the lack of a document name
+ <p>
+ Usually thrown if someone tries to save a document which hasn't a name yet.
+ </p>
+ @since OOo 2.0
+*/
+exception DocumentSaveRequest: com::sun::star::task::ClassifiedInteractionRequest
+{
+ /** specifies the content where the document should save inside.
+ Somebody handling the request could, e.g., use the content as root content
+ to display the hierarchy of the sub contents.
+ */
+ com::sun::star::ucb::XContent Content;
+
+ /** The default name of the document, may be empty.
+ */
+ string Name;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/ErrorCondition.idl b/offapi/com/sun/star/sdb/ErrorCondition.idl
new file mode 100644
index 000000000..d70aed387
--- /dev/null
+++ b/offapi/com/sun/star/sdb/ErrorCondition.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_sdb_ErrorCondition_idl__
+#define __com_sun_star_sdb_ErrorCondition_idl__
+
+
+module com { module sun { module star { module sdb {
+
+
+/** defines error conditions for OpenOffice.org Base core components
+
+ <p>Core components of OpenOffice.org will use those error conditions
+ as error codes (com::sun::star::sdbc::SQLException::ErrorCode)
+ wherever possible.<br/>
+ That is, if an <code>SQLException</code> is raised by
+ such a component, caused by an error condition which is included in the
+ ErrorCondition group, then the respective <em>negative</em> value
+ will be used as <code>ErrorCode</code>.</p>
+
+ <p>This allows to determine specific error conditions in your client code, and
+ to handle it appropriately.</p>
+
+ <p>Note that before you examine the <code>ErrorCode</code> member of a caught
+ <code>SQLException</code>, you need to make sure that the exception
+ is really thrown by an OpenOffice.org Base core component. To do so, check
+ whether the error message (<code>Exception::Message</code>) starts with the
+ vendor string <code>[OOoBase]</code>.</p>
+
+ <p>The list of defined error conditions, by nature, is expected to permanently grow,
+ so never assume it being finalized.</p>
+
+ @code{.java}
+ catch ( SQLException e )
+ {
+ if (e.Message.startsWith( "[OOoBase]" ))
+ if (e.ErrorCode + ErrorCondition.SOME_ERROR_CONDITION == 0)
+ handleSomeErrorCondition();
+ }
+ @endcode
+ */
+constants ErrorCondition
+{
+ // = section ROW_SET - css.sdb.RowSet related error conditions
+
+ /** is used by and RowSet to indicate that an operation has been vetoed
+ by one of its approval listeners
+
+ <p>This error condition results in raising a RowSetVetoException.</p>
+ @see RowSet
+ @see XRowSetApproveBroadcaster
+ @see XRowSetApproveListener
+ */
+ const long ROW_SET_OPERATION_VETOED = 100;
+
+ // = section PARSER - parsing related error conditions
+
+ /** indicates that while parsing an SQL statement, cyclic sub queries have been detected.
+
+ <p>Imagine you have a client-side query <code>SELECT * FROM table</code>, which is
+ saved as &quot;query1&quot;. Additionally, there is a query &quot;query2&quot; defined
+ as <code>SELECT * FROM query1</code>. Now if you try to change the statement of
+ query1 to <code>SELECT * FROM query2</code>, this is prohibited, because
+ it would lead to a cyclic sub query.
+ */
+ const long PARSER_CYCLIC_SUB_QUERIES = 200;
+
+ // = section DB - application-level error conditions
+ // = next section should start with 500
+
+ /** indicates that the name of a client side database object - a query, a form,
+ or a report - contains one or more slashes, which is forbidden.
+ */
+ const long DB_OBJECT_NAME_WITH_SLASHES = 300;
+
+ /** indicates that an identifier is not SQL conform.
+ */
+ const long DB_INVALID_SQL_NAME = 301;
+
+ /** indicates that the name of a query contains quote characters.
+
+ <p>This error condition is met when the user attempts to save a query
+ with a name which contains one of the possible database quote characters.
+ This is an error since query names can potentially be used in
+ <code>SELECT</code> statements, where quote identifiers would render the statement invalid.</p>
+
+ @see com::sun::star::sdb::tools::XDataSourceMetaData::supportsQueriesInFrom
+ */
+ const long DB_QUERY_NAME_WITH_QUOTES = 302;
+
+ /** indicates that an attempt was made to save a database object under a name
+ which is already used in the database.
+
+ <p>In databases which support query names to appear in <code>SELECT</code>
+ statements, this could mean that a table was attempted to be saved with the
+ name of an existing query, or vice versa.</p>
+
+ <p>Otherwise, it means an object was attempted to be saved with the
+ name of an already existing object of the same type.</p>
+
+ @see com::sun::star::sdb::application::DatabaseObject
+ @see com::sun::star::sdb::tools::XDataSourceMetaData::supportsQueriesInFrom
+ */
+ const long DB_OBJECT_NAME_IS_USED = 303;
+
+ /** indicates an operation was attempted which needs a connection to the
+ database, which did not exist at that time.
+ */
+ const long DB_NOT_CONNECTED = 304;
+
+ // = section AB - address book access related error conditions
+ // = next section should start with 550
+
+ /** used by the component implementing address book access to indicate that a requested address book could
+ not be accessed.
+
+ <p>For instance, this error code is used when you try to access the address book
+ in a Thunderbird profile named <i>MyProfile</i>, but there does not exist a profile
+ with this name.</p>
+ */
+ const long AB_ADDRESSBOOK_NOT_FOUND = 500;
+
+ // = section DATA - data retrieval related error conditions
+ // = next section should start with 600
+
+ /** used to indicate that a <code>SELECT</code> operation on a table needs a filter.
+
+ <p>Some database drivers are not able to <code>SELECT</code> from a table if the
+ statement does not contain a <code>WHERE</code> clause. In this case, a statement
+ like <code>SELECT * FROM "table"</code> will fail with the error code
+ <code>DATA_CANNOT_SELECT_UNFILTERED</code>.</p>
+
+ <p>It is also legitimate for the driver to report this error condition as warning, and provide
+ an empty result set, instead of ungraceful failing.</p>
+ */
+ const long DATA_CANNOT_SELECT_UNFILTERED = 550;
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/ErrorMessageDialog.idl b/offapi/com/sun/star/sdb/ErrorMessageDialog.idl
new file mode 100644
index 000000000..158017b87
--- /dev/null
+++ b/offapi/com/sun/star/sdb/ErrorMessageDialog.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_sdb_ErrorMessageDialog_idl__
+#define __com_sun_star_sdb_ErrorMessageDialog_idl__
+
+#include <com/sun/star/awt/XWindow.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/ui/dialogs/XExecutableDialog.idl>
+
+module com { module sun { module star { module sdb {
+
+/** provides a dialog for displaying database related exceptions.
+ <p>
+ If applications use any of the functionality provided in the modules
+ com.sun.star::sdbc, com.sun.star::sdbcx and com.sun.star::sdb,
+ they will - sooner or later - encounter
+ com::sun::star::sdbc::SQLException
+ 's.
+ <br/>
+ These exceptions can be chained, so the information wrapped in one single
+ com::sun::star::sdbc::SQLException
+ can be rather complex (e.g., every instance where such an exception is passing before it is finally caught, could
+ append a
+ com::sun::star::sdb::SQLContext
+ to explain what it was doing), and they should be
+ presented to the user in a consistent way.
+ <br/>
+ This can be reached by using this service.
+ @see com::sun::star::sdb::InteractionHandler
+ </p>
+*/
+published service ErrorMessageDialog : com::sun::star::ui::dialogs::XExecutableDialog
+{
+ /** allows initializing the dialog
+ <p>
+ You do not need to call the initialize method directly, instead you may use the createInstanceWithArguments
+ method of your com::sun::star::lang::XMultiServiceFactory.
+ </p>
+ <p>
+ You specify a parameter by passing one (or more)
+ com::sun::star::beans::PropertyValue
+ object(s) to the initialize method, where the <em>Name</em> field contains a string describing which aspect
+ you want to affect, and the <em>Value</em> field containing a value.
+ <br/>
+ Imagine the initialization values, as if you use
+ com::sun::star::beans">XPropertySet::setPropertyValue()
+ of the
+ com::sun::star::beans::XPropertySet
+ interface ...
+ <br/>
+ allowed parameters are
+ <ul>
+ <li><b>title</b><br/>
+ String describing the initial title of the dialog. If not specified, a default title is used.
+ </li>
+ <li><b>parentWindow</b><br/>
+ com::sun::star::awt::XWindow
+ describing the parent window to use for the dialog.
+ </li>
+ <li><b>sqlException</b><br/>
+ com::sun::star::sdbc::SQLException
+ describing the error which is being displayed.<br/>
+ When initializing this value, you may use any derivative of
+ com::sun::star::sdbc::SQLException.
+ </li>
+ </ul>
+ </p>
+ */
+ create([in] string initialTitle, [in] com::sun::star::awt::XWindow parentWindow, [in] any sqlException);
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/FilterDialog.idl b/offapi/com/sun/star/sdb/FilterDialog.idl
new file mode 100644
index 000000000..a9c031ad6
--- /dev/null
+++ b/offapi/com/sun/star/sdb/FilterDialog.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_sdb_FilterDialog_idl__
+#define __com_sun_star_sdb_FilterDialog_idl__
+
+#include <com/sun/star/awt/XWindow.idl>
+#include <com/sun/star/sdb/XSingleSelectQueryComposer.idl>
+#include <com/sun/star/sdbc/XRowSet.idl>
+#include <com/sun/star/ui/dialogs/XExecutableDialog.idl>
+
+
+module com { module sun { module star { module sdb {
+
+/**
+ This interface could be incomplete since I derived it from its places of use.
+
+ @since LibreOffice 4.1
+*/
+service FilterDialog : com::sun::star::ui::dialogs::XExecutableDialog
+{
+ createDefault();
+
+ createWithQuery([in] com::sun::star::sdb::XSingleSelectQueryComposer QueryComposer,
+ [in] com::sun::star::sdbc::XRowSet RowSet,
+ [in] com::sun::star::awt::XWindow ParentWindow);
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/Forms.idl b/offapi/com/sun/star/sdb/Forms.idl
new file mode 100644
index 000000000..bd1f98da7
--- /dev/null
+++ b/offapi/com/sun/star/sdb/Forms.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_sdb_Forms_idl__
+#define __com_sun_star_sdb_Forms_idl__
+
+#include <com/sun/star/sdb/DocumentContainer.idl>
+
+
+
+ module com { module sun { module star { module sdb {
+
+
+/** describes a container which provides access to database forms.
+
+
+ @see com::sun::star::sdb::DocumentDefinition
+ */
+service Forms
+{
+ service DocumentContainer;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/InteractionHandler.idl b/offapi/com/sun/star/sdb/InteractionHandler.idl
new file mode 100644
index 000000000..4b93b778a
--- /dev/null
+++ b/offapi/com/sun/star/sdb/InteractionHandler.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_sdb_InteractionHandler_idl__
+#define __com_sun_star_sdb_InteractionHandler_idl__
+
+module com { module sun { module star { module task {
+ published interface XInteractionHandler;
+}; }; }; };
+
+module com { module sun { module star { module sdb {
+
+/** is a service for user interaction for databases.
+ @deprecated
+ Do not use this service anymore. Instead, create a generic com::sun::star::task::InteractionHandler
+ instance, and pass it your request. It will determine, based on configuration data, which concrete interaction
+ handler implementation to use for a specific request. In particular, requests formerly server by this service here
+ are by default passed to a DatabaseInteractionHandler.
+*/
+published service InteractionHandler: com::sun::star::task::XInteractionHandler;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/OfficeDatabaseDocument.idl b/offapi/com/sun/star/sdb/OfficeDatabaseDocument.idl
new file mode 100644
index 000000000..90f1edc0f
--- /dev/null
+++ b/offapi/com/sun/star/sdb/OfficeDatabaseDocument.idl
@@ -0,0 +1,226 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_sdb_OfficeDatabaseDocument_idl__
+#define __com_sun_star_sdb_OfficeDatabaseDocument_idl__
+
+#include <com/sun/star/document/OfficeDocument.idl>
+#include <com/sun/star/sdb/XOfficeDatabaseDocument.idl>
+#include <com/sun/star/document/XDocumentEventBroadcaster.idl>
+#include <com/sun/star/script/provider/XScriptProviderSupplier.idl>
+#include <com/sun/star/frame/XLoadable.idl>
+#include <com/sun/star/util/XCloseable.idl>
+
+module com { module sun { module star { module sdb {
+
+/** specifies an office database document which is a storable document.
+
+ <p>These documents contain information about forms, and reports, and the properties of a data source.</p>
+
+ <p>The database document contains no data per default. The following is stored inside the document:
+ <ul>
+ <li>forms</li>
+ <li>reports</li>
+ <li>The table settings defined in DataSettings</li>
+ <li>The query settings defined in DataSettings</li>
+ <li>All properties of the service DataSource</li>
+ </ul></p>
+
+ @see com::sun::star::sdb::XOfficeDatabaseDocument
+ @see com::sun::star::document::OfficeDocument
+ @since OOo 2.0
+ */
+service OfficeDatabaseDocument
+{
+ /** specifies basic functionality of a document in OpenOffice.org
+
+ <p>Note that a database document actually does not support the com::sun::star::view::XPrintable interface.
+ The non-optional requirement of this interface in the com::sun::star::document::OfficeDocument
+ service is considered a documentation error.</p>
+ */
+ service com::sun::star::document::OfficeDocument;
+
+ interface XOfficeDatabaseDocument;
+
+ /** allows access to the Basic macros and dialogs possibly embedded in the document
+ @since OOo 3.1
+ */
+ interface ::com::sun::star::document::XEmbeddedScripts;
+
+ /** supplies a script provider which can be used to execute macros and scripts
+ embedded in the document
+ @since OOo 3.1
+ */
+ interface ::com::sun::star::script::provider::XScriptProviderSupplier;
+
+ /** allows to initialize the document, either from scratch, or from a stored
+ database document.
+
+ <p>A newly instantiated database document cannot be operated until it is fully
+ initialized. There are three possible means to do this initialization:
+ <ul><li>calling <code>XLoadable::initNew</code></li>
+ <li>calling <code>XLoadable::load</code></li>
+ <li>calling <code>XStorable::storeAsURL</code></li>
+ </ul>
+ The third option was added for compatibility reasons, since a DatabaseDocument
+ in earlier versions of OpenOffice.org did not support the <code>XLoadable</code> interface,
+ so the usual way of creating a document from scratch was to create it, set properties as
+ needed, and store it.</p>
+
+ @since OOo 3.1
+ */
+ interface ::com::sun::star::frame::XLoadable;
+
+ /** allows to register for notifications happening in the document
+
+ <p>The following events are broadcasted by a database document
+ <table border="1" frame="all">
+ <tr><td><strong>Event Name</strong></td>
+ <td><strong>broadcasted when</strong></td>
+ <td align="center"><strong>broadcasted synchronously</strong></td>
+ </tr>
+ <tr><td valign="top"><em>OnCreate</em></td>
+ <td>the document has been newly created. This does not imply that the document has
+ been loaded into a frame, it just means the initialization has been finished.</td>
+ <td align="center">yes</td>
+ </tr>
+ <tr><td valign="top"><em>OnLoadFinished</em></td>
+ <td>the document has been completely loaded. This does not imply that the document
+ has been loaded into a frame, it just means the load process has been finished.</td>
+ <td align="center">yes</td>
+ </tr>
+ <tr><td valign="top"><em>OnNew</em></td>
+ <td>the document has been initialized from scratch, including plugging it into a frame.</td>
+ <td align="center">no</td>
+ </tr>
+ <tr><td valign="top"><em>OnLoad</em></td>
+ <td>the document has been completely loaded, including plugging it into a frame.</td>
+ <td align="center">no</td>
+ </tr>
+ <tr><td valign="top"><em>OnSave</em></td>
+ <td>the document is about to be saved.</td>
+ <td align="center">yes</td>
+ </tr>
+ <tr><td valign="top"><em>OnSaveDone</em></td>
+ <td>saving the document succeeded.</td>
+ <td align="center">no</td>
+ </tr>
+ <tr><td valign="top"><em>OnSaveFailed</em></td>
+ <td>saving the document failed.</td>
+ <td align="center">no</td>
+ </tr>
+ <tr><td valign="top"><em>OnSaveAs</em></td>
+ <td>the document is about to be saved under a new name.</td>
+ <td align="center">yes</td>
+ </tr>
+ <tr><td valign="top"><em>OnSaveAsDone</em></td>
+ <td>saving the document under a new name succeeded.</td>
+ <td align="center">no</td>
+ </tr>
+ <tr><td valign="top"><em>OnSaveAsFailed</em></td>
+ <td>saving the document under a new name failed.</td>
+ <td align="center">no</td>
+ </tr>
+ <tr><td valign="top"><em>OnSaveTo</em></td>
+ <td>the document is about to be saved to a location different from its
+ current location, but without adjusting the current location.</td>
+ <td align="center">yes</td>
+ </tr>
+ <tr><td valign="top"><em>OnSaveToDone</em></td>
+ <td>saving the document to a different location succeeded.</td>
+ <td align="center">no</td>
+ </tr>
+ <tr><td valign="top"><em>OnSaveToFailed</em></td>
+ <td>saving the document to a different location failed.</td>
+ <td align="center">no</td>
+ </tr>
+ <tr><td valign="top"><em>OnPrepareUnload</em></td>
+ <td>the document is about to be closed.</td>
+ <td align="center">yes</td>
+ </tr>
+ <tr><td valign="top"><em>OnUnload</em></td>
+ <td>the document is being closed.</td>
+ <td align="center">yes</td>
+ </tr>
+ <tr><td valign="top"><em>OnFocus</em></td>
+ <td>a view to the document obtained the focus.</td>
+ <td align="center">no</td>
+ </tr>
+ <tr><td valign="top"><em>OnUnfocus</em></td>
+ <td>a view to the document lost the focus.</td>
+ <td align="center">no</td>
+ </tr>
+ <tr><td valign="top"><em>OnModifyChanged</em></td>
+ <td>the <em>modified</em> state of the document changed.</td>
+ <td align="center">no</td>
+ </tr>
+ <tr><td valign="top"><em>OnViewCreated</em></td>
+ <td>a view to the document has been created, and attached to the document.</td>
+ <td align="center">no</td>
+ </tr>
+ <tr><td valign="top"><em>OnPrepareViewClosing</em></td>
+ <td>a view to the document is about to be closed.</td>
+ <td align="center">yes</td>
+ </tr>
+ <tr><td valign="top"><em>OnViewClosed</em></td>
+ <td>a view to the document has been closed.</td>
+ <td align="center">no</td>
+ </tr>
+ <tr><td valign="top"><em>OnTitleChanged</em></td>
+ <td>the title of the document changed.</td>
+ <td align="center">no</td>
+ </tr>
+ <tr><td valign="top"><em>OnSubComponentOpened</em></td>
+ <td>From with a view to the document, a view to a sub component (e.g. a table or a report) has been opened.</td>
+ <td align="center">no</td>
+ </tr>
+ <tr><td valign="top"><em>OnSubComponentClosed</em></td>
+ <td>From with a view to the document, a view to a sub component (e.g. a table or a report) has been closed.</td>
+ <td align="center">no</td>
+ </tr>
+ </table>
+ </p>
+
+ @since OOo 3.1
+ */
+ interface ::com::sun::star::document::XDocumentEventBroadcaster;
+
+ /** implements life time control
+
+ <p>Whoever retrieves an OfficeDatabaseDocument should be aware of
+ life time issues, since a document needs to be closed when nobody needs it anymore.</p>
+
+ <p>This implies that clients of a document need to ensure that as soon as they don't
+ need, they invoke com::sun::star::util::XCloseable::close().</p>
+
+ <p>Since this can be done by multiple clients, every client is additionally required
+ to register itself as com::sun::star::util::XCloseListener at
+ the document, to prevent some other client closing the model while it's still needed
+ by the first client.</p>
+ */
+ interface com::sun::star::util::XCloseable;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/OrderColumn.idl b/offapi/com/sun/star/sdb/OrderColumn.idl
new file mode 100644
index 000000000..6d264c031
--- /dev/null
+++ b/offapi/com/sun/star/sdb/OrderColumn.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_sdb_OrderColumn_idl__
+#define __com_sun_star_sdb_OrderColumn_idl__
+
+#include <com/sun/star/sdbcx/Column.idl>
+
+module com { module sun { module star { module sdb {
+
+/** describes a column which is part of the ORDER clause.
+
+ @see com::sun::star::sdb::XSingleSelectQueryComposer
+*/
+service OrderColumn
+{
+ service com::sun::star::sdbcx::Column;
+
+ /** describes which sort order this column has.
+ The default is `TRUE`.
+ */
+ [property] boolean IsAscending;
+};
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/OrderDialog.idl b/offapi/com/sun/star/sdb/OrderDialog.idl
new file mode 100644
index 000000000..456e70f69
--- /dev/null
+++ b/offapi/com/sun/star/sdb/OrderDialog.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_sdb_OrderDialog_idl__
+#define __com_sun_star_sdb_OrderDialog_idl__
+
+#include <com/sun/star/awt/XWindow.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/sdb/XSingleSelectQueryComposer.idl>
+#include <com/sun/star/ui/dialogs/XExecutableDialog.idl>
+
+
+module com { module sun { module star { module sdb {
+
+/**
+ This interface could be incomplete since I derived it from its places of use.
+
+ @since LibreOffice 4.1
+*/
+service OrderDialog : com::sun::star::ui::dialogs::XExecutableDialog
+{
+ createDefault();
+
+ createWithQuery([in] com::sun::star::sdb::XSingleSelectQueryComposer QueryComposer,
+ [in] com::sun::star::beans::XPropertySet RowSet,
+ [in] com::sun::star::awt::XWindow ParentWindow);
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/ParametersRequest.idl b/offapi/com/sun/star/sdb/ParametersRequest.idl
new file mode 100644
index 000000000..9e44f9c50
--- /dev/null
+++ b/offapi/com/sun/star/sdb/ParametersRequest.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_sdb_ParametersRequest_idl__
+#define __com_sun_star_sdb_ParametersRequest_idl__
+
+#include <com/sun/star/task/ClassifiedInteractionRequest.idl>
+
+#include <com/sun/star/container/XIndexAccess.idl>
+#include <com/sun/star/sdbc/XConnection.idl>
+
+
+ module com { module sun { module star { module sdb {
+
+
+/** an error specifying the lack of parameters values
+ <p>
+ Usually thrown if someone tries to execute an SQL statement containing
+ parameters which can't be filled by the executing instance.
+ </p>
+*/
+published exception ParametersRequest: com::sun::star::task::ClassifiedInteractionRequest
+{
+ /** is the list of parameters requested.
+ The objects returned by the
+ com::sun::star::container::XIndexAccess
+ have to
+ be property sets describing the respective parameter. For this, the objects have to support the
+ service com::sun::star::sdbcx::Column.
+ */
+ com::sun::star::container::XIndexAccess Parameters;
+
+ /** specifies the connection on which the statement is to be executed.
+ Somebody handling the request could, e.g., use the connection for determining
+ the identifier quote string, etc.
+ */
+ com::sun::star::sdbc::XConnection Connection;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/PreparedStatement.idl b/offapi/com/sun/star/sdb/PreparedStatement.idl
new file mode 100644
index 000000000..89c36d297
--- /dev/null
+++ b/offapi/com/sun/star/sdb/PreparedStatement.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_sdb_PreparedStatement_idl__
+#define __com_sun_star_sdb_PreparedStatement_idl__
+
+#include <com/sun/star/sdbc/PreparedStatement.idl>
+
+ module com { module sun { module star { module sdbcx {
+ published interface XColumnsSupplier;
+};};};};
+
+ module com { module sun { module star { module sdb {
+
+
+/** represents a precompiled SQL statement. The service differs only in the access
+ of the columns and parameters to the service
+ com::sun::star::sdbc::PreparedStatement.
+ */
+published service PreparedStatement
+{
+ service com::sun::star::sdbc::PreparedStatement;
+
+
+ /** access to the resulting columns of the statement.
+ */
+ interface com::sun::star::sdbcx::XColumnsSupplier;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/Query.idl b/offapi/com/sun/star/sdb/Query.idl
new file mode 100644
index 000000000..13cc93592
--- /dev/null
+++ b/offapi/com/sun/star/sdb/Query.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_sdb_Query_idl__
+#define __com_sun_star_sdb_Query_idl__
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+ module com { module sun { module star { module sdbcx {
+ published interface XDataDescriptorFactory;
+ published interface XColumnsSupplier;
+ published interface XRename;
+};};};};
+
+#include <com/sun/star/sdb/DataSettings.idl>
+
+#include <com/sun/star/sdb/XQueryDefinition.idl>
+
+ module com { module sun { module star { module sdb {
+
+
+/** is a stored definition of a SQL query.
+
+ <p>
+ It can be used if there is a need to execute SQL statements more than once, or
+ if you want to format the query result fields differently from the
+ underlying table definitions.
+ </p>
+ */
+published service Query
+{
+
+ /** defines the command of the query.
+ */
+ interface com::sun::star::sdb::XQueryDefinition;
+
+
+ /** is used for customization of data appearance.
+ */
+ service com::sun::star::sdb::DataSettings;
+
+
+ /** is provided for creation of a new query descriptor based on the current information.
+ */
+ interface com::sun::star::sdbcx::XDataDescriptorFactory;
+
+ // allows to rename the object.
+ interface com::sun::star::sdbcx::XRename;
+
+
+ /** access to the columns of the results sets query.
+ */
+ interface com::sun::star::sdbcx::XColumnsSupplier;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/QueryDefinition.idl b/offapi/com/sun/star/sdb/QueryDefinition.idl
new file mode 100644
index 000000000..2f0f7fe35
--- /dev/null
+++ b/offapi/com/sun/star/sdb/QueryDefinition.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_sdb_QueryDefinition_idl__
+#define __com_sun_star_sdb_QueryDefinition_idl__
+
+#include <com/sun/star/sdb/XQueryDefinition.idl>
+
+ module com { module sun { module star { module sdb {
+
+
+/** is a stored definition of a SQL "Select statement".
+
+ <p>
+ It can be used, if there is a need to execute SQL statement more than once.
+ </p>
+ */
+published service QueryDefinition : XQueryDefinition;
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/QueryDescriptor.idl b/offapi/com/sun/star/sdb/QueryDescriptor.idl
new file mode 100644
index 000000000..00ce6cd50
--- /dev/null
+++ b/offapi/com/sun/star/sdb/QueryDescriptor.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_sdb_QueryDescriptor_idl__
+#define __com_sun_star_sdb_QueryDescriptor_idl__
+
+#include <com/sun/star/sdbcx/Descriptor.idl>
+
+ module com { module sun { module star { module sdbcx {
+ published interface XDataDescriptorFactory;
+ published interface XColumnsSupplier;
+};};};};
+
+#include <com/sun/star/sdb/DataSettings.idl>
+
+ module com { module sun { module star { module sdb {
+
+
+/** is a stored definition of a SQL "Select statement".
+
+ <p>
+ It can be used, if there is a need to execute SQL statement more than once or
+ if you want to format the query result fields different from the
+ underlying table definitions.
+ </p>
+ */
+published service QueryDescriptor
+{
+ service com::sun::star::sdbcx::Descriptor;
+
+
+ /** is provided for creation of a new query descriptor based on the current information.
+ */
+ interface com::sun::star::sdbcx::XDataDescriptorFactory;
+
+
+ /** is used for customization of data appearance.
+ */
+ service com::sun::star::sdb::DataSettings;
+
+
+ /** access to the columns of the results sets query.
+ */
+ interface com::sun::star::sdbcx::XColumnsSupplier;
+
+
+ /** is the command of the query, this is typically a select statement.
+ */
+ [property] string Command;
+
+
+ /** should we use escape processing for the query.
+ */
+ [property] boolean EscapeProcessing;
+
+
+ /** is the name of the table which should be updated. This is usually used
+ for queries which relate on more than one table.
+ */
+ [property] string UpdateTableName;
+
+
+ /** is the name of the update table catalog.
+ */
+ [property] string UpdateCatalogName;
+
+
+ /** is the name of the update table schema.
+ */
+ [property] string UpdateSchemaName;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/QueryDesign.idl b/offapi/com/sun/star/sdb/QueryDesign.idl
new file mode 100644
index 000000000..2dd2fd6eb
--- /dev/null
+++ b/offapi/com/sun/star/sdb/QueryDesign.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_sdb_QueryDesign_idl__
+#define __com_sun_star_sdb_QueryDesign_idl__
+
+#include <com/sun/star/frame/XController.idl>
+#include <com/sun/star/lang/XInitialization.idl>
+#include <com/sun/star/frame/XDispatchProvider.idl>
+#include <com/sun/star/form/FormController.idl>
+
+module com { module sun { module star { module sdb {
+
+/** implements a component which allows the creation of SQL statements.
+
+ <p>This service implements a user interface for creating SQL statements either through a graphical design
+ interface or simply to enter the SQL statement directly.</p>
+
+ <p>The design view of the QueryDesign is divided into two parts. The first part contains the table windows
+ where columns can be selected for the SQL statement. The second part contains the columns which should appear
+ in the selection of the SQL statement or criteria which narrow the query.</p>
+
+ <h3>Operation Modes</h3>
+
+ <p>A <code>QueryDesign</code> component has 3 operation modes, which control what kind of object is edited:
+ <ul><li><a name="query_mode"></a><b>Query Mode</b>
+ <p>In <code>Query Mode</code>, the designer is used to modify an existing or create a new client-side
+ query.</p></li>
+
+ <li><a name="view_mode"</a><b>View Mode</b>
+ <p>In <code>View Mode</code>, the designer is used to modify an existing or create a new server-side
+ view.</p>
+ <p>The view which is being designed must support the com::sun::star::sdbcx::XAlterView
+ interface, except when a new view is being designed. In the latter case, the designer closes itself
+ automatically when <code>XAlterView</code> is not supported, and the view has been saved.</p></li>
+
+ <li><a name="command_mode"</a><b>Command Mode</b>
+ <p>In <code>Command Mode</code>, the designer is used to design an standalone SQL command.</p>
+ <p>The client of the designer is then responsible to listen at changes in the
+ #ActiveCommand and #EscapeProcessing members, which are updated
+ every time the user saves the command.</p></li>
+ </ul></p>
+
+ <h3><a name="initialization"></a>Initialization</h3>
+
+ <p>Initialization is done using the com::sun::star::lang::XInitialization interface,
+ which expects a sequence of objects being either com::sun::star::beans::NamedValues or
+ com::sun::star::beans::PropertyValues. The following parameters are supported at
+ initialization time:
+ <ul>
+ <li><b>Frame</b><br/>
+ has to be a com::sun::star::frame::XFrame interface specifying the frame to plug the
+ QueryDesign component into.<br/>
+ This parameter is mandatory.
+ </li>
+
+ <li><a name="data_source"></a><b>DataSourceName</b><br/>
+ specifies the name of the globally registered DataSource for which a query, view, or SQL
+ command is to be designed.<br/>
+ The DataSourceName may be omitted if and only if a valid <a href="#active_connection">ActiveConnection</a>
+ parameter is present.<br/>
+ If both <code>DataSourceName</code> and <code>ActiveConnection</code> are present, the former
+ is ignored.
+ </li>
+
+ <li><a name="active_connection"></a><b>ActiveConnection</b><br/>
+ specifies the connection to work with.<br/>
+ May be omitted if and only if a valid <a href="#data_source">DataSourceName</a> parameter is supplied.
+ </li>
+
+ <li><a name="command"></a><b>Command</b><br/>
+ specifies the name of the query or view to design, or, in case of the <a href="#command_type">CommandType</a>
+ being CommandType::COMMAND, the initial SQL command.<br/>
+ If this parameter is not present, a new query/view will be designed, respectively the initial
+ command will be empty.
+ </li>
+
+ <li><a name="command_type"></a><b>CommandType</b><br/>
+ specifies the type of object which should be designed. The following options are
+ supported:
+ <ul><li>CommandType::QUERY specifies the designer should operate in
+ <a href="#query_mode">query mode</a>, that is, an existing client-side query should be
+ designed, or a new query should be created, depending on the presence of the
+ <a href="#command">Command</a> parameter.<br/>
+ If the <a href="#data_source">DataSourceName</a> parameter is present, the query is
+ looked up in the specified data source. Otherwise, the designer tries to determine
+ the data source which the <a href="#active_connection">ActiveConnection</a> belongs
+ to, and looks up the query there.</li>
+
+ <li>CommandType::COMMAND specifies the designer should operate in
+ <a href="#command_mode">command mode</a>, that is, a standalone SQL command
+ should be designed. When the user attempts to save the designed SQL statement,
+ the #ActiveCommand and #EscapeProcessing properties
+ of the designer are updated.</li>
+
+ <li>CommandType::TABLE specifies the designer should operate in
+ <a href="#view_mode">view mode</a>, that is, an existing or a new
+ server-side view should be designed, depending on the presence of the
+ <a href="#command">Command</a> parameter.<br/>
+ If the <a href="#data_source">DataSourceName</a> parameter is present, the view is
+ looked up in a newly created connection for the specified data source. Otherwise,
+ it is looked up in the connection given as <a href="#active_connection">ActiveConnection</a>.</li>
+ </ul>
+ If not present, this parameter defaults to CommandType::QUERY.
+ </li>
+
+ <li><b>EscapeProcessing</b><br/>
+ Specifies whether or not escape processing should be initially enabled in the query designer. If set
+ to `FALSE`, then the designer can operate in text view only (as opposed to the graphical view). The
+ <a href="#graphical_design">GraphicalDesign</a> parameter will be ignored then, and assumed to be `FALSE`.<br/>
+ If not present, `TRUE` is assumed for this parameter.</li>
+
+ <li><a name="graphical_design"></a><b>GraphicalDesign</b><br/>
+ This value indicates whether the designer should be opened in the graphical design view
+ (`TRUE`) or in the text view (`FALSE`).<br/>
+ If not present, `FALSE` is assumed for this parameter.
+ </li>
+ </ul>
+ </p>
+
+ <p>There's a number of legacy settings which are recognized for compatibility reasons, though
+ you're discouraged from using them:
+ <ul>
+ <li><b>CurrentQuery</b><br/>
+ is the same as Command, and implies a <a href="#command_type">CommandType</a> of
+ CommandType::QUERY</li>
+
+ <li><b>QueryDesignView</b><br/>
+ is the same as <a href="#graphical_design">GraphicalDesign</a>.</li>
+
+ <li><b>IndependentSQLCommand</b><br/>
+ is the same as Command, and implies a <a href="#command_type">CommandType</a> of
+ CommandType::COMMAND</li>
+
+ <li><b>CreateView</b><br/>
+ implies a <a href="#command_type">CommandType</a> of CommandType::TABLE</li>
+ </ul>
+
+ @see com::sun::star::sdb::ContentLoader
+*/
+
+published service QueryDesign
+{
+ /** allows the component to be plugged into frames.
+ */
+ interface com::sun::star::frame::XController;
+
+ /** is used to initialize the QueryDesign.
+
+ <p>See chapter <a href="#initialization">Initialization</a> for details.</p>
+ */
+ interface com::sun::star::lang::XInitialization;
+
+ /** reflects the designed SQL command at the moment it was last saved by the user.
+ */
+ [readonly, property] string ActiveCommand;
+
+ /** specifies whether the user enabled escape processing for the statement being designed.
+
+ @see DataAccessDescriptor::EscapeProcessing
+ @since OOo 2.4
+ */
+ [readonly, property, optional] boolean EscapeProcessing;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/RelationDesign.idl b/offapi/com/sun/star/sdb/RelationDesign.idl
new file mode 100644
index 000000000..e394917d4
--- /dev/null
+++ b/offapi/com/sun/star/sdb/RelationDesign.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_sdb_RelationDesign_idl__
+#define __com_sun_star_sdb_RelationDesign_idl__
+
+#include <com/sun/star/frame/XController.idl>
+#include <com/sun/star/lang/XInitialization.idl>
+#include <com/sun/star/frame/XDispatchProvider.idl>
+#include <com/sun/star/form/FormController.idl>
+
+module com { module sun { module star { module sdb {
+
+/** implements a component which allows the creation of relation.
+
+ <p>This service implements a user interface for relations through a graphical design interface.</p>
+
+ <p>The design view of the RelationDesign is identical to the first part of @see QueryDesign. It contains all tables
+ which are already connected through a relation.</p>
+
+ @see com::sun::star::sdb::ContentLoader
+ @see com::sun::star::frame::XDispatch
+ @see com::sun::star::frame::XDispatchProviderInterceptor
+
+ @since OOo 1.1.2
+*/
+
+published service RelationDesign
+{
+ /** allows the component to be plugged into frames.
+ */
+ interface com::sun::star::frame::XController;
+
+ /** is used to initialize the RelationDesign.
+
+ <p>Parameters (passed to the method
+ com::sun::star::lang::XInitialization::initialize())
+ have to be instances of com::sun::star::beans::PropertyValue, where the
+ com::sun::star::beans::PropertyValue::Name member specifies what the parameter controls,
+ with the com::sun::star::beans::PropertyValue::Value member containing the value
+ to be used.<br>
+ Recognized parameters are:
+ <ul>
+ <li><b>Frame</b><br>
+ has to be a com::sun::star::frame::XFrame interface specifying the frame to plug the
+ RelationDesign component into.
+ </li>
+ <li><b>DataSourceName</b><br>
+ The name of the globally registered DataSource to be used for initial display. It is only
+ meaningful together with the other parameters specifying the object to display.
+ </li>
+ </ul>
+ </p>
+ */
+ interface com::sun::star::lang::XInitialization;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/ReportDesign.idl b/offapi/com/sun/star/sdb/ReportDesign.idl
new file mode 100644
index 000000000..bf7426cf5
--- /dev/null
+++ b/offapi/com/sun/star/sdb/ReportDesign.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_sdb_ReportDesign_idl__
+#define __com_sun_star_sdb_ReportDesign_idl__
+
+#include <com/sun/star/frame/XController2.idl>
+
+
+module com { module sun { module star { module sdb {
+
+
+/**
+ This interface could be incomplete since I derived it from its sole place of use.
+
+ @since LibreOffice 4.1
+*/
+service ReportDesign : com::sun::star::frame::XController2;
+
+
+}; }; }; };
+
+#endif
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/Reports.idl b/offapi/com/sun/star/sdb/Reports.idl
new file mode 100644
index 000000000..27dbbf093
--- /dev/null
+++ b/offapi/com/sun/star/sdb/Reports.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_sdb_Reports_idl__
+#define __com_sun_star_sdb_Reports_idl__
+
+#include <com/sun/star/sdb/DocumentContainer.idl>
+
+
+
+ module com { module sun { module star { module sdb {
+
+
+/** describes a container which provides access to database reports.
+
+
+ @see com::sun::star::sdb::DocumentDefinition
+ */
+service Reports
+{
+ service DocumentContainer;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/ResultColumn.idl b/offapi/com/sun/star/sdb/ResultColumn.idl
new file mode 100644
index 000000000..f3a8c2c8e
--- /dev/null
+++ b/offapi/com/sun/star/sdb/ResultColumn.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_sdb_ResultColumn_idl__
+#define __com_sun_star_sdb_ResultColumn_idl__
+
+#include <com/sun/star/sdbcx/Column.idl>
+
+#include <com/sun/star/sdb/ColumnSettings.idl>
+
+ module com { module sun { module star { module sdb {
+
+
+/** describes a column of a result set.
+ */
+published service ResultColumn
+{
+ service com::sun::star::sdbcx::Column;
+
+
+ /** [optional], access to layout settings for a column.
+ */
+ service com::sun::star::sdb::ColumnSettings;
+
+
+ /** indicates whether the column can be used in a Where clause.
+ */
+ [readonly, property] boolean IsSearchable;
+
+
+ /** indicates whether values in the column are signed numbers.
+ */
+ [readonly, property] boolean IsSigned;
+
+
+ /** indicates that a column is case sensitive.
+ */
+ [readonly, property] boolean IsCaseSensitive;
+
+
+ /** indicates the column's normal max width in chars.
+ */
+ [readonly, property] long DisplaySize;
+
+
+ /** gets the suggested column title for use in printouts and
+ displays.
+ */
+ [readonly, property] string Label;
+
+
+ /** indicates whether a column is definitely, not writable.
+ */
+ [readonly, property] boolean IsReadOnly;
+
+
+ /** indicates whether it is possible for a write on the column to succeed.
+ */
+ [readonly, property] boolean IsWritable;
+
+
+ /** indicates whether a write on the column will definitely succeed.
+ */
+ [readonly, property] boolean IsDefinitelyWritable;
+
+
+ /** returns the fully-qualified name of the service whose instances
+ are manufactured if the method
+ com::sun::star::sdbc::XRow::getObject)=
+ is called to retrieve a value from the column.
+ */
+ [readonly, property] string ServiceName;
+
+
+ /** gets a column's table name.
+ */
+ [readonly, property] string TableName;
+
+
+ /** gets a column's schema name.
+ */
+ [readonly, property] string SchemaName;
+
+
+ /** gets a column's table's catalog name.
+ */
+ [readonly, property] string CatalogName;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/ResultSet.idl b/offapi/com/sun/star/sdb/ResultSet.idl
new file mode 100644
index 000000000..07b9318b4
--- /dev/null
+++ b/offapi/com/sun/star/sdb/ResultSet.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_sdb_ResultSet_idl__
+#define __com_sun_star_sdb_ResultSet_idl__
+
+#include <com/sun/star/sdbcx/ResultSet.idl>
+
+ module com { module sun { module star { module sdbcx {
+ published interface XColumnsSupplier;
+};};};};
+
+ module com { module sun { module star { module sdb {
+
+
+/** extends the
+ com::sun::star::sdbcx::ResultSet
+ by a more sophisticated access to the result sets
+ data.
+ */
+published service ResultSet
+{
+ service com::sun::star::sdbcx::ResultSet;
+
+
+ /** access to the description and data.
+ */
+ interface com::sun::star::sdbcx::XColumnsSupplier;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/RowChangeAction.idl b/offapi/com/sun/star/sdb/RowChangeAction.idl
new file mode 100644
index 000000000..c38da1d92
--- /dev/null
+++ b/offapi/com/sun/star/sdb/RowChangeAction.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_sdb_RowChangeAction_idl__
+#define __com_sun_star_sdb_RowChangeAction_idl__
+
+ module com { module sun { module star { module sdb {
+
+
+/** determines the type of change which is going to be performed.
+ */
+published constants RowChangeAction
+{
+
+ /** indicates that an insert will be performed.
+ */
+ const long INSERT = 1;
+
+ /** indicates that an update will be performed.
+ */
+ const long UPDATE = 2;
+
+ /** indicates that a delete will be performed.
+ */
+ const long DELETE = 3;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/RowChangeEvent.idl b/offapi/com/sun/star/sdb/RowChangeEvent.idl
new file mode 100644
index 000000000..d6e6a292b
--- /dev/null
+++ b/offapi/com/sun/star/sdb/RowChangeEvent.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_sdb_RowChangeEvent_idl__
+#define __com_sun_star_sdb_RowChangeEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+
+ module com { module sun { module star { module sdb {
+
+
+/** indicates the type of change action on the data source.
+ */
+published struct RowChangeEvent: com::sun::star::lang::EventObject
+{
+
+ /** indicates the type of change.
+ @see com::sun::star::sdb::RowChangeAction
+ */
+ long Action;
+
+
+ /** indicates the number of rows affected by the change.
+ */
+ long Rows;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/RowSet.idl b/offapi/com/sun/star/sdb/RowSet.idl
new file mode 100644
index 000000000..69ecef300
--- /dev/null
+++ b/offapi/com/sun/star/sdb/RowSet.idl
@@ -0,0 +1,385 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_sdb_RowSet_idl__
+#define __com_sun_star_sdb_RowSet_idl__
+
+#include <com/sun/star/sdbc/RowSet.idl>
+
+module com { module sun { module star { module sdbc {
+published interface XConnection;
+};};};};
+#include <com/sun/star/sdb/ResultSet.idl>
+#include <com/sun/star/sdb/XCompletedExecution.idl>
+
+ module com { module sun { module star { module sdbcx {
+published interface XDeleteRows;
+};};};};
+
+ module com { module sun { module star { module sdb {
+
+published interface XRowSetApproveBroadcaster;
+published interface XResultSetAccess;
+published interface XParametersSupplier;
+
+
+/** is a client side RowSet, which use retrieves is data based on a database table,
+ a query or a SQL command or by a row set reader, who mustn't support SQL.
+ The connection of the row set is typically a named DataSource or a DataAccess component
+ or a previous instantiated connection.
+ <p>
+ Depending on the
+ com::sun::star::sdbc::ResultSetConcurrency
+ , the RowSet caches all data or uses
+ an optimized way for retrieving the data, such as, refetching rows by their keys or
+ if provided, by their bookmarks.
+ </p>
+ <p>
+ In addition, it provides events for RowSet navigation and RowSet modifications
+ to approve the actions and to react on them.
+ @see com::sun::star::sdb::RowChangeAction
+ @see com::sun::star::sdb::RowChangeEvent
+ @see com::sun::star::sdb::RowsChangeEvent
+ </p>
+
+ <h3>Notifications</h3>
+ <p>A row set is able to be operated in various ways, and additionally it notifies various changes in its
+ state. Clients of this service can rely on a fixed order of notifications, depending on how they operate
+ on the component.<br>
+ The following describes the general order of all possible notifications which you can encounter when
+ working with a row set:
+ <table>
+ <tr><td valign="top"><em>approving</em></td>
+ <td valign="top">Before anything really happens, any veto listeners are called to approve the operation
+ which is just being done. This may be either a
+ XRowSetApproveListener::approveCursorMove() or
+ XRowSetApproveListener::approveRowChange() call.
+ @see XRowSetApproveListener
+ </td>
+ </tr>
+ <tr><td valign="top"><em>column values</em></td>
+ <td valign="top">If the operation includes changes in the values of the columns of the row set, then these are
+ notified before anything else (except requests for approval).
+ @see ResultSet
+ @see com::sun::star::sdbcx::XColumnsSupplier
+ </td>
+ </tr>
+ <tr><td valign="top"><em>operation done</em></td>
+ <td valign="top">When the operation is done, you get a notification about this. It may be a
+ com::sun::star::sdbc::XRowSetListener::cursorMoved() or a
+ com::sun::star::sdbc::XRowSetListener::rowChanged() call or a
+ XRowsChangeListener::rowsChanged() call.
+ </td>
+ </tr>
+ <tr><td valign="top"><em>row state</em></td>
+ <td valign="top">If the operation leads to a change in the state of the #IsModified
+ and/or #IsNew property, this is notified next (in this order).
+ </td>
+ </tr>
+ <tr><td valign="top"><em>row count</em></td>
+ <td valign="top">If the operation leads to new knowledge about the number of rows in the result set,
+ the respective changes in the #RowCount and #IsRowCountFinal
+ are notified last (in this order).
+ </td>
+ </tr>
+ </table>
+ </p>
+
+ <br>
+
+ <p>The following matrix shows the notifications which apply to the different operations:
+ <table border="1" frame="all">
+ <tr><td></td><td><strong>approveCursorMove</strong></td><td><strong>approveRowChange</strong></td>
+ <td><strong>column values</strong></td>
+ <td><strong>cursorMoved</strong></td><td><strong>rowChanged</strong></td>
+ <td><strong>rowsChanged</strong></td>
+ <td><strong>IsModified</strong></td><td><strong>IsNew</strong></td>
+ <td><strong>RowCount</strong></td><td><strong>IsRowCountFinal</strong></td>
+ </tr>
+
+ <tr><td>com::sun::star::sdbc::XResultSet</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
+
+ <tr><td align="right"><em>next</em></td><td align="center">X</td><td></td><td align="center">X</td><td align="center">X</td><td></td><td></td><td align="center">X</td><td align="center">X</td><td align="center">X</td><td align="center">X</td>
+ <tr><td align="right"><em>beforeFirst</em></td><td align="center">X</td><td></td><td align="center">X</td><td align="center">X</td><td></td><td></td><td align="center">X</td><td align="center">X</td><td></td><td></td></tr>
+ <tr><td align="right"><em>afterLast</em></td><td align="center">X</td><td></td><td align="center">X</td><td align="center">X</td><td></td><td></td><td align="center">X</td><td align="center">X</td><td align="center">X</td><td align="center">X</td></tr>
+ <tr><td align="right"><em>first</em></td><td align="center">X</td><td></td><td align="center">X</td><td align="center">X</td><td></td><td></td><td align="center">X</td><td align="center">X</td><td align="center">X</td><td align="center">X</td></tr>
+ <tr><td align="right"><em>last</em></td><td align="center">X</td><td></td><td align="center">X</td><td align="center">X</td><td></td><td></td><td align="center">X</td><td align="center">X</td><td align="center">X</td><td align="center">X</td></tr>
+ <tr><td align="right"><em>absolute</em></td><td align="center">X</td><td></td><td align="center">X</td><td align="center">X</td><td></td><td></td><td align="center">X</td><td align="center">X</td><td align="center">X</td><td align="center">X</td></tr>
+ <tr><td align="right"><em>relative</em></td><td align="center">X</td><td></td><td align="center">X</td><td align="center">X</td><td></td><td></td><td align="center">X</td><td align="center">X</td><td align="center">X</td><td align="center">X</td></tr>
+ <tr><td align="right"><em>previous</em></td><td align="center">X</td><td></td><td align="center">X</td><td align="center">X</td><td></td><td></td><td align="center">X</td><td align="center">X</td><td align="center">X</td><td align="center">X</td></tr>
+ <tr><td align="right"><em>refreshRow</em></td><td></td><td></td><td align="center">X</td><td></td><td></td><td></td><td align="center">X</td><td align="center">X</td><td></td><td></td></tr>
+ <tr><td align="right"><em>cancelRowUpdates</em></td><td></td><td></td><td align="center">X</td><td></td><td></td><td></td><td align="center">X</td><td></td><td></td><td></td></tr>
+
+ <tr><td>com::sun::star::sdbc::XResultSetUpdate</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
+
+ <tr><td align="right"><em>insertRow</em></td><td></td><td align="center">X</td><td align="center">X</td><td></td><td align="center">X</td><td align="center">X</td><td align="center">X</td><td align="center">X</td><td align="center">X</td><td align="center">X</td></tr>
+ <tr><td align="right"><em>updateRow</em></td><td></td><td align="center">X</td><td align="center">X</td><td></td><td align="center">X</td><td align="center">X</td><td align="center">X</td><td></td><td></td><td></td></tr>
+ <tr><td align="right"><em>deleteRow</em></td><td></td><td align="center">X</td><td></td><td></td><td align="center">X</td><td align="center">X</td><td align="center">X</td><td align="center">X</td><td align="center">X</td><td align="center">X</td></tr>
+ <tr><td align="right"><em>moveToInsertRow</em></td><td align="center">X</td><td></td><td align="center">X</td><td align="center">X</td><td></td><td></td><td></td><td align="center">X</td><td align="center">X</td></tr>
+ <tr><td align="right"><em>moveToCurrentRow</em></td><td align="center">X</td><td></td><td></td><td align="center">X</td><td></td><td></td><td align="center">X</td><td align="center">X</td><td></td><td></td></tr>
+
+ <tr><td>com::sun::star::sdbcx::XDeleteRows</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
+
+ <tr><td align="right"><em>deleteRows</em></td><td></td><td align="center">X</td><td></td><td></td><td align="center">X</td><td align="center">X</td><td align="center">X</td><td align="center">X</td><td align="center">X</td><td align="center">X</td></tr>
+
+ <tr><td>com::sun::star::sdbcx::XRowLocate</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
+
+ <tr><td align="right"><em>moveToBookmark</em></td><td align="center">X</td><td></td><td align="center">X</td><td align="center">X</td><td></td><td></td><td align="center">X</td><td align="center">X</td><td></td><td></td></tr>
+ <tr><td align="right"><em>moveRelativeToBookmark</em></td><td align="center">X</td><td></td><td align="center">X</td><td align="center">X</td><td></td><td></td><td align="center">X</td><td align="center">X</td><td align="center">X</td><td align="center">X</td></tr>
+
+ </tr>
+ </table>
+ </p>
+
+ <h3>Deletions</h3>
+ <p>Via com::sun::star::sdbc::XResultSetUpdate::deleteRow(), you can delete the current row of a
+ RowSet. This deleted row then doesn't vanish immediately, but is still present, and subsequent calls to
+ com::sun::star::sdbc::XResultSet::rowDeleted() will return `TRUE`. The deleted row "vanishes" from
+ the RowSet as soon as the cursor is moved away from it.<br>
+ As a consequence, the behavior of several other methods is affected:<br>
+ <dl>
+ <dt>com::sun::star::sdbc::XResultSet::getRow()</dt>
+ <dd>returns the position of the cursor, which has not been changed by the deletion.</dd>
+
+ <dt>com::sun::star::sdbc::XResultSet: <code>next</code>, <code>first</code>, <code>last</code>, <code>absolute</code>,
+ <code>relative</code>, <code>previous</code>, <code>beforeFirst</code>, <code>afterLast</code></dt>
+ <dd>will let the deleted row vanish from the result set. As a consequence, the #RowCount
+ will decrease when you do such a move operation after deleting a row.<br>
+ A special case to note is the <code>next</code> call: When you delete row, say,
+ <code>15</code>, followed by <code>next</code>, then your RowSet afterwards
+ still is on row 15, since the deleted row vanished with the move operation.</dd>
+
+ <dt>com::sun::star::sdbc::XResultSet::refreshRow()</dt>
+ <dd>will throw an exception when the cursor is on a deleted row.</dd>
+
+ <dt>com::sun::star::sdbc::XRow: <code>getFoo</code></dt>
+ <dd>will return an empty value when the cursor is on a deleted row.</dd>
+
+ <dt>com::sun::star::sdbcx::XRowLocate::getBookmark()</dt>
+ <dd>will throw an exception when the cursor is on a deleted row.</dd>
+
+ <dt>com::sun::star::sdbc::XRowUpdate: <code>updateFoo</code></dt>
+ <dd>will throw an exception when the cursor is on a deleted row.</dd>
+
+ <dt>com::sun::star::sdbc::XResultSetUpdate::deleteRow()</dt>
+ <dd>will throw an exception when the cursor is on a deleted row.</dd>
+
+ <dt>com::sun::star::sdbc::XResultSetUpdate::moveToInsertRow()</dt>
+ <dd>will let the deleted row vanish from the result set. As a consequence, the #RowCount
+ will decrease. Also, subsequent calls to
+ com::sun::star::sdbc::XResultSetUpdate::moveToCurrentRow() will not
+ be able to move back to the deleted row (since it vanished), but only to the
+ row after the deleted row.</dd>
+ </dl>
+ </p>
+ */
+published service RowSet
+{
+ service com::sun::star::sdbc::RowSet;
+
+ service com::sun::star::sdb::ResultSet;
+
+ /** can be used to allow an interaction handler to supply missing data during an execute process.
+
+ <p>If you want a row set to be based on a parametrized query, you will usually use
+ the com::sun::star::sdbc::XParameters interface.<br>
+ However, you can also choose to let an interaction handler supply such data. For this, you may
+ for instance instantiate an InteractionHandler, which asks the user for the
+ data, or you may write your own one, which supplies the data from somewhere else.
+ The default implementation will only ask for parameters which aren't set before through the com::sun::star::sdbc::XParameters interface.</p>
+
+ @see com::sun::star::sdb::InteractionHandler
+ */
+ interface com::sun::star::sdb::XCompletedExecution;
+
+ /** approving of actions performed on the row set.
+
+ <p>The support of this interface implies a semantical extension to the com::sun::star::sdbc::XResultSetUpdate
+ interface which is supported via the com::sun::star::sdbc::ResultSet.</p>
+
+ @see XResultSetUpdate
+ */
+ interface XRowSetApproveBroadcaster;
+
+ /** is the interface for updating row data to the database.
+
+ <p>The optional support of this interface is already implied with the support of the com::sun::star::sdbc::ResultSet service.</p>
+
+ <p>However, note that the additional support of the XRowSetApproveBroadcaster interface results
+ in a semantical extension: the methods com::sun::star::sdbc::XResultSetUpdate::insertRow(),
+ com::sun::star::sdbc::XResultSetUpdate::updateRow() and com::sun::star::sdbc::XResultSetUpdate::deleteRow()
+ will now throw the RowSetVetoException if the action which is to be performed was vetoed
+ by one of the XRowSetApproveListener's.</p>
+ */
+ [optional] interface com::sun::star::sdbc::XResultSetUpdate;
+
+ /** is the interface for deleting more than one row, identified by its bookmark.
+
+ <p>The optional support of this interface is already implied with the support of the com::sun::star::sdbcx::ResultSet service.</p>
+
+ <p>However, note that the additional support of the XRowSetApproveBroadcaster interface results
+ in a semantical extension: the method com::sun::star::sdbcx::XDeleteRows::deleteRows()
+ will now throw the RowSetVetoException if the deletion was vetoed
+ by one of the XRowSetApproveListener's.</p>
+ */
+ [optional] interface com::sun::star::sdbcx::XDeleteRows;
+
+ /** creates a second result set which is based on the same data.
+ <p>
+ The new result set is interoperable with the row set which created it,
+ e.g., you can exchange bookmarks between both sets.
+ </p>
+ <p>
+ If the row set is not alive (i.e., it was not executed before),
+ `NULL`
+ is returned.
+ </p>
+ */
+ interface XResultSetAccess;
+
+ /** gives access to the parameters contained in the SQL statement represented by the component.
+
+ <p>If your <code>RowSet</code> is bound to an SQL command or query which contains parameters, or has
+ a #Filter or #Order which contains parameters, then those can be accessed
+ using the <code>XParametersSupplier</code> interface.</p>
+
+ <p>The returned container contains parameter objects which do allow write access to the parameters (which
+ is equivalent to using the com::sun::star::sdbc::XParameters interface inherited from
+ com::sun::star::sdbc::RowSet). Additionally, they provide information about the parameters,
+ such as their name (if they have one), their type, and the like.</p>
+ */
+ [optional] interface XParametersSupplier;
+
+ /** is the connection generated by a DataSource or by a URL. It could
+ also be set from outside. When set from outside the RowSet is not responsible for the closing of the connection.
+ */
+ [property] com::sun::star::sdbc::XConnection ActiveConnection;
+
+
+ /** is the name of the datasource to use, this could be a named datasource
+ or the URL of a data access component.
+ */
+ [property] string DataSourceName;
+
+
+ /** is the command which should be executed, the type of command depends
+ on the CommandType.
+
+ <p>In case of a #CommandType of CommandType::COMMAND,
+ means in case the #Command specifies an SQL statement, the inherited
+ com::sun::star::sdbc::RowSet::EscapeProcessing
+ becomes relevant:<br>
+ It then can be to used to specify whether the SQL statement should be analyzed on the
+ client side before sending it to the database server.<br>
+ The default value for com::sun::star::sdbc::RowSet::EscapeProcessing
+ is `TRUE`. By switching it to `FALSE`, you can pass backend-specific SQL statements,
+ which are not standard SQL, to your database.</p>
+
+ @see com::sun::star::sdb::CommandType
+ @see com::sun::star::sdbc::RowSet::EscapeProcessing
+ */
+ [property] string Command;
+
+ /** is the type of the command.
+ @see com::sun::star::sdb::CommandType
+ */
+ [property] long CommandType;
+
+ /** is the command which is currently used.
+ @see com::sun::star::sdb::CommandType
+ */
+ [readonly, property] string ActiveCommand;
+
+
+ /** indicates whether all results should be discarded or not.
+ */
+ [property] boolean IgnoreResult;
+
+
+ /** additional filter for a row set.
+ */
+ [property] string Filter;
+
+
+ /** indicates whether the filter should be applied or not,
+ default is `FALSE`.
+ */
+ [property] boolean ApplyFilter;
+
+ /** additional having clause for the row set
+ */
+ [optional,property] string HavingClause;
+
+ /** additional group by for the row set
+ */
+ [optional,property] string GroupBy;
+
+ /** is an additional sort order definition for a row set.
+ */
+ [property] string Order;
+
+
+ /** indicates the privileges for insert, update, and delete.
+ @see com::sun::star::sdbcx::Privilege
+ */
+ [readonly, property] long Privileges;
+
+
+ /** indicates that the current row is modified.
+ */
+ [readonly, property] boolean IsModified;
+
+
+ /** indicates that the current row is going to be inserted to the database.
+ */
+ [readonly, property] boolean IsNew;
+
+
+ /** contains the number of rows accessed in the data source.
+ */
+ [readonly, property] long RowCount;
+
+
+ /** indicates that all rows of the row set have been counted.
+ */
+ [readonly, property] boolean IsRowCountFinal;
+
+
+ /** is the name of the table which should be updated, this is usually used
+ for queries which relate to more than one table.
+ */
+ [optional, property] string UpdateTableName;
+
+ /** is the name of the table catalog
+ */
+ [optional, property] string UpdateCatalogName;
+
+
+ /** is the name of the table schema.
+ */
+ [optional, property] string UpdateSchemaName;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/RowSetVetoException.idl b/offapi/com/sun/star/sdb/RowSetVetoException.idl
new file mode 100644
index 000000000..0ee35ba89
--- /dev/null
+++ b/offapi/com/sun/star/sdb/RowSetVetoException.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_sdb_RowSetVetoException_idl__
+#define __com_sun_star_sdb_RowSetVetoException_idl__
+
+#include <com/sun/star/sdbc/SQLException.idl>
+
+ module com { module sun { module star { module sdb {
+
+
+/** is an exception fired whenever a row set operation was cancelled because of
+ of a veto of an approved listener.
+ @see com::sun::star::sdb::XRowSetApproveListener
+ */
+published exception RowSetVetoException: com::sun::star::sdbc::SQLException
+{
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/RowsChangeEvent.idl b/offapi/com/sun/star/sdb/RowsChangeEvent.idl
new file mode 100644
index 000000000..7757ce410
--- /dev/null
+++ b/offapi/com/sun/star/sdb/RowsChangeEvent.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_sdb_RowsChangeEvent_idl__
+#define __com_sun_star_sdb_RowsChangeEvent_idl__
+
+#include <com/sun/star/sdb/RowChangeEvent.idl>
+
+ module com { module sun { module star { module sdb {
+
+
+/** indicates which rows have changed and the type of change action on the row set.
+ */
+struct RowsChangeEvent: com::sun::star::sdb::RowChangeEvent
+{
+
+ sequence< any > Bookmarks;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/SQLContext.idl b/offapi/com/sun/star/sdb/SQLContext.idl
new file mode 100644
index 000000000..02f868a14
--- /dev/null
+++ b/offapi/com/sun/star/sdb/SQLContext.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_sdb_SQLContext_idl__
+#define __com_sun_star_sdb_SQLContext_idl__
+
+#include <com/sun/star/sdbc/SQLWarning.idl>
+
+ module com { module sun { module star { module sdb {
+
+
+/** provides special information about the context where a
+ com::sun::star::sdbc::SQLException
+ occurred. As usual
+ for SQLExceptions, several SQLContext-objects may be chained, then the
+ most recent context is appended to the list's tail.
+
+ @see com::sun::star::sdbc::XConnection::getWarnings
+ @see com::sun::star::sdbc::XResultSet::getWarnings
+ @see com::sun::star::sdbc::XStatement::getWarnings
+ */
+published exception SQLContext: com::sun::star::sdbc::SQLWarning
+{
+ /** provides special info about the details where a
+ com::sun::star::sdbc::SQLException
+ occurred.
+ As usual for SQLExceptions, several SQLContext-objects may be chained, then the
+ most recent context is appended to the list's tail
+ */
+ string Details;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/SQLErrorEvent.idl b/offapi/com/sun/star/sdb/SQLErrorEvent.idl
new file mode 100644
index 000000000..ae00ab16a
--- /dev/null
+++ b/offapi/com/sun/star/sdb/SQLErrorEvent.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_sdb_SQLErrorEvent_idl__
+#define __com_sun_star_sdb_SQLErrorEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+
+
+ module com { module sun { module star { module sdb {
+
+
+/** is invoked in case of fired database exception triggered by
+ a database object.
+ */
+published struct SQLErrorEvent: com::sun::star::lang::EventObject
+{
+
+ /** contains the exception that is going to be fired.
+ */
+ any Reason;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/SQLFilterOperator.idl b/offapi/com/sun/star/sdb/SQLFilterOperator.idl
new file mode 100644
index 000000000..af1a93e39
--- /dev/null
+++ b/offapi/com/sun/star/sdb/SQLFilterOperator.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_sdb_SQLFilterOperator_idl__
+#define __com_sun_star_sdb_SQLFilterOperator_idl__
+
+module com { module sun { module star { module sdb {
+
+
+/** These constants are used to specify the filter operator
+ which should be applied when creating a filter
+ with the method XSingleSelectQueryComposer::setStructuredFilter().
+
+ @see com::sun::star::sdb::SingleSelectQueryComposer
+ @see com::sun::star::sdb::XSingleSelectQueryComposer
+*/
+constants SQLFilterOperator
+{
+ /// equal to
+ const long EQUAL = 1;
+
+ /// not equal to
+ const long NOT_EQUAL = 2;
+
+ /// less than
+ const long LESS = 3;
+
+ /// greater than
+ const long GREATER = 4;
+
+ /// less or equal than
+ const long LESS_EQUAL = 5;
+
+ /// greater or equal than
+ const long GREATER_EQUAL = 6;
+
+ /// like
+ const long LIKE = 7;
+
+ /// not like
+ const long NOT_LIKE = 8;
+
+ /// is null
+ const long SQLNULL = 9;
+
+ /// is not null
+ const long NOT_SQLNULL = 10;
+};
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/SQLQueryComposer.idl b/offapi/com/sun/star/sdb/SQLQueryComposer.idl
new file mode 100644
index 000000000..a3346c532
--- /dev/null
+++ b/offapi/com/sun/star/sdb/SQLQueryComposer.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_sdb_SQLQueryComposer_idl__
+#define __com_sun_star_sdb_SQLQueryComposer_idl__
+
+#include <com/sun/star/sdb/XSQLQueryComposer.idl>
+
+ module com { module sun { module star { module sdbcx {
+ published interface XTablesSupplier;
+ published interface XColumnsSupplier;
+};};};};
+
+ module com { module sun { module star { module sdb {
+
+
+/** represents a tool for composing SQL select statements.
+
+
+ <p>
+ It hides the complexity of parsing and evaluating SQL Statements and provides
+ sophisticated methods for expanding a SQL-Statement with filter and order
+ criteria.
+ </p>
+ */
+published service SQLQueryComposer
+{
+
+ /** access to the composer interface.
+ */
+ interface XSQLQueryComposer;
+
+
+ /** access to the selected tables.
+ */
+ interface com::sun::star::sdbcx::XTablesSupplier;
+
+
+ /** access the selected columns.
+ */
+ interface com::sun::star::sdbcx::XColumnsSupplier;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/SingleSelectQueryAnalyzer.idl b/offapi/com/sun/star/sdb/SingleSelectQueryAnalyzer.idl
new file mode 100644
index 000000000..4b701c9ff
--- /dev/null
+++ b/offapi/com/sun/star/sdb/SingleSelectQueryAnalyzer.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_sdb_SingleSelectQueryAnalyzer_idl__
+#define __com_sun_star_sdb_SingleSelectQueryAnalyzer_idl__
+
+#include <com/sun/star/sdb/XSingleSelectQueryAnalyzer.idl>
+
+ module com { module sun { module star { module sdbcx {
+interface XTablesSupplier;
+interface XColumnsSupplier;
+};};};};
+
+ module com { module sun { module star { module sdb {
+
+ interface XParametersSupplier;
+/** represents a service for analyzing a single select statement.
+
+ <p>
+ It hides the complexity of parsing and evaluating a single select statement and provides
+ sophisticated methods for accessing a statements filter, group by, having and order
+ criteria, as well as the corresponding select columns and tables.
+ If supported, it even gives access to the parameters.
+ </p>
+
+ @see com::sun::star::sdb::SingleSelectQueryComposer
+ */
+service SingleSelectQueryAnalyzer
+{
+ interface XSingleSelectQueryAnalyzer;
+
+ /** access to the selected tables.
+
+ <p>The selected tables are those present in the <code>FROM</code> part
+ of a <code>SELECT</code> statement.</p>
+
+ <p>Note that OpenOffice.org since version 2.0.4 also supports queries which are
+ based on other queries. For example, given that you have a database containing
+ a query named <code>All Orders</code>, the SQL statement <code>SELECT * FROM "All Orders"</code>
+ is perfectly valid when used with a SingleSelectQueryAnalyzer.</p>
+
+ <p>In this case, the name container returned by com::sun::star::sdbcx::XTablesSupplier::getTables()
+ will in fact not return a Table, but a Query object. Semantically, however,
+ this object still acts as a table in the SQL statement.</p>
+
+ @see XSingleSelectQueryAnalyzer::getQueryWithSubstitution
+ */
+ interface com::sun::star::sdbcx::XTablesSupplier;
+
+ /** access the selected columns.
+ */
+ interface com::sun::star::sdbcx::XColumnsSupplier;
+
+ /** access to the parameters which are used in the where clause.
+ */
+ [optional] interface com::sun::star::sdb::XParametersSupplier;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/SingleSelectQueryComposer.idl b/offapi/com/sun/star/sdb/SingleSelectQueryComposer.idl
new file mode 100644
index 000000000..bfea134fb
--- /dev/null
+++ b/offapi/com/sun/star/sdb/SingleSelectQueryComposer.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_sdb_SingleSelectQueryComposer_idl__
+#define __com_sun_star_sdb_SingleSelectQueryComposer_idl__
+
+#include <com/sun/star/sdb/SingleSelectQueryAnalyzer.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+
+module com { module sun { module star { module sdb {
+
+interface XSingleSelectQueryComposer;
+/** represents a service for composing a single select statement.
+
+ <p>
+ It hides the complexity of parsing and evaluating a single select statement and provides
+ sophisticated methods for expanding a statement with filter, group by, having and order
+ criteria. To get the new extended statement use the methods from com::sun::star::sdb::SingleSelectQueryAnalyzer.
+ </p>
+
+ <p>A SingleSelectQueryComposer is usually obtained from a Connection
+ using the com::sun::star::lang::XMultiServiceFactory interface.</p>
+ */
+service SingleSelectQueryComposer
+{
+ // gives access to the properties.
+ interface com::sun::star::beans::XPropertySet;
+
+ /** access to the analyzer service.
+ */
+ service SingleSelectQueryAnalyzer;
+
+ interface XSingleSelectQueryComposer;
+
+ /** is the original SQL statement set with the interface com::sun::star::sdb::XSingleSelectQueryAnalyzer.
+ */
+ [readonly, property] string Original;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/Table.idl b/offapi/com/sun/star/sdb/Table.idl
new file mode 100644
index 000000000..c65702fdd
--- /dev/null
+++ b/offapi/com/sun/star/sdb/Table.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_sdb_Table_idl__
+#define __com_sun_star_sdb_Table_idl__
+
+#include <com/sun/star/sdbcx/Table.idl>
+
+#include <com/sun/star/sdb/DataSettings.idl>
+
+ module com { module sun { module star { module sdb {
+
+
+/** extends the service
+ com::sun::star::sdbcx::Table
+ with additional display information, sorting, and filtering criteria.
+ */
+published service Table
+{
+ service com::sun::star::sdbcx::Table;
+
+
+ /** is used for customization of data appearance.
+ */
+ service com::sun::star::sdb::DataSettings;
+
+
+ /** indicates the privileges for the table.
+ @see com::sun::star::sdbcx::Privilege
+ */
+ [readonly, property] long Privileges;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/TableDefinition.idl b/offapi/com/sun/star/sdb/TableDefinition.idl
new file mode 100644
index 000000000..e1ee4f44d
--- /dev/null
+++ b/offapi/com/sun/star/sdb/TableDefinition.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_sdb_TableDefinition_idl__
+#define __com_sun_star_sdb_TableDefinition_idl__
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+module com { module sun { module star { module sdb {
+
+/**
+ This IDL was created from the service's places of use, so it is probably incomplete.
+
+ @since LibreOffice 4.1
+ */
+service TableDefinition : com::sun::star::beans::XPropertySet
+{
+ createDefault();
+
+ createWithName([in] string Name);
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/TableDescriptor.idl b/offapi/com/sun/star/sdb/TableDescriptor.idl
new file mode 100644
index 000000000..03f6a1fde
--- /dev/null
+++ b/offapi/com/sun/star/sdb/TableDescriptor.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_sdb_TableDescriptor_idl__
+#define __com_sun_star_sdb_TableDescriptor_idl__
+
+#include <com/sun/star/sdbcx/TableDescriptor.idl>
+
+#include <com/sun/star/sdb/DataSettings.idl>
+
+ module com { module sun { module star { module sdb {
+
+
+/** extends the service
+ com::sun::star::sdbcx::TableDescriptor
+ with additional display information, sorting, and filtering criteria.
+ */
+published service TableDescriptor
+{
+ service com::sun::star::sdbcx::TableDescriptor;
+
+
+ /** is used for customization of data appearance.
+ */
+ service com::sun::star::sdb::DataSettings;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/TableDesign.idl b/offapi/com/sun/star/sdb/TableDesign.idl
new file mode 100644
index 000000000..c084e6ee2
--- /dev/null
+++ b/offapi/com/sun/star/sdb/TableDesign.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_sdb_TableDesign_idl__
+#define __com_sun_star_sdb_TableDesign_idl__
+
+#include <com/sun/star/frame/XController.idl>
+#include <com/sun/star/lang/XInitialization.idl>
+#include <com/sun/star/frame/XDispatchProvider.idl>
+#include <com/sun/star/form/FormController.idl>
+
+module com { module sun { module star { module sdb {
+
+/** implements a component which allows the creation of tables.
+
+ <p>This service implements a user interface for creating tables through a graphical design interface.</p>
+
+ <p>The design view of the TableDesign is divided into two parts. The first part contains the rows
+ where columns can be defined for the table. The second part contains the properties of the selected column.</p>
+
+ @see com::sun::star::sdb::ContentLoader
+ @see com::sun::star::frame::XDispatch
+ @see com::sun::star::frame::XDispatchProviderInterceptor
+
+ @since OOo 1.1.2
+*/
+
+published service TableDesign
+{
+ /** allows the component to be plugged into frames.
+ */
+ interface com::sun::star::frame::XController;
+
+ /** is used to initialize the TableDesign.
+
+ <p>Parameters (passed to the method
+ com::sun::star::lang::XInitialization::initialize())
+ have to be instances of com::sun::star::beans::PropertyValue, where the
+ com::sun::star::beans::PropertyValue::Name member specifies what the parameter controls,
+ with the com::sun::star::beans::PropertyValue::Value member containing the value
+ to be used.<br>
+ Recognized parameters are:
+ <ul>
+ <li><b>Frame</b><br>
+ has to be a com::sun::star::frame::XFrame interface specifying the frame to plug the
+ TableDesign component into.
+ </li>
+ <li><b>DataSourceName</b><br>
+ The name of the globally registered DataSource to be used for initial display. It is only
+ meaningful together with the other parameters specifying the object to display.
+ </li>
+ <li><b>CurrentTable</b><br>
+ This is a string giving the name of the object to display initially.
+ </li>
+ </ul>
+ </p>
+ */
+ interface com::sun::star::lang::XInitialization;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/TextConnectionSettings.idl b/offapi/com/sun/star/sdb/TextConnectionSettings.idl
new file mode 100644
index 000000000..fecb15005
--- /dev/null
+++ b/offapi/com/sun/star/sdb/TextConnectionSettings.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_sdb_TextConnectionSettings_idl__
+#define __com_sun_star_sdb_TextConnectionSettings_idl__
+
+#include <com/sun/star/sdb/XTextConnectionSettings.idl>
+
+module com { module sun { module star { module sdb {
+
+/**
+ @since LibreOffice 4.1
+*/
+service TextConnectionSettings : XTextConnectionSettings;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XAlterQuery.idl b/offapi/com/sun/star/sdb/XAlterQuery.idl
new file mode 100644
index 000000000..924ddd7fe
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XAlterQuery.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_sdb_XAlterQuery_idl__
+#define __com_sun_star_sdb_XAlterQuery_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/sdbc/SQLException.idl>
+
+ module com { module sun { module star { module sdb {
+
+/** is used to alter the command of a query.
+ */
+published interface XAlterQuery: com::sun::star::uno::XInterface
+{
+
+ /** is intended to alter the command of a query object.
+ @param command
+ the SQL statement
+ @param useEscapeProcessing
+ `TRUE` when escape processing should be used
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void alterCommand([in]string command, [in]boolean useEscapeProcessing)
+ raises (com::sun::star::sdbc::SQLException);
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XBookmarksSupplier.idl b/offapi/com/sun/star/sdb/XBookmarksSupplier.idl
new file mode 100644
index 000000000..a91fd9abf
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XBookmarksSupplier.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_sdb_XBookmarksSupplier_idl__
+#define __com_sun_star_sdb_XBookmarksSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/container/XNameAccess.idl>
+
+
+
+ module com { module sun { module star { module sdb {
+
+
+/** provides access to the collection of all bookmarks associated with a data source.
+ */
+published interface XBookmarksSupplier: com::sun::star::uno::XInterface
+{
+
+ /** @returns the collection of all bookmarks associated with a data source
+ <p>
+ A bookmark is simply a string specifying the location of the
+ bookmarked document.
+ </p>
+ */
+ com::sun::star::container::XNameAccess getBookmarks();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XColumn.idl b/offapi/com/sun/star/sdb/XColumn.idl
new file mode 100644
index 000000000..1ac46d827
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XColumn.idl
@@ -0,0 +1,267 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_sdb_XColumn_idl__
+#define __com_sun_star_sdb_XColumn_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/sdbc/SQLException.idl>
+
+#include <com/sun/star/util/Date.idl>
+
+#include <com/sun/star/util/DateTime.idl>
+
+#include <com/sun/star/util/Time.idl>
+
+ module com { module sun { module star { module io {
+ published interface XInputStream;
+};};};};
+
+ module com { module sun { module star { module container {
+ published interface XNameAccess;
+};};};};
+
+ module com { module sun { module star { module sdbc {
+ published interface XRef;
+ published interface XArray;
+ published interface XBlob;
+ published interface XClob;
+};};};};
+
+ module com { module sun { module star { module sdb {
+
+
+/** is used to access data which is collected in a row.
+ */
+published interface XColumn: com::sun::star::uno::XInterface
+{
+
+ /** reports whether the last column read had a value of SQL NULL.
+ Note that you must first call getXXX on a column to try to read
+ its value and then call
+ <code>wasNull()</code>
+ to see if the value read was SQL NULL.
+ @returns
+ `TRUE` if so
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ boolean wasNull() raises (com::sun::star::sdbc::SQLException);
+
+ /** gets the value of a column in the current row as a String.
+ @returns
+ the column value
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ string getString() raises (com::sun::star::sdbc::SQLException);
+
+ /** gets the value of a column in the current row as boolean.
+ @returns
+ the column value
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ boolean getBoolean() raises (com::sun::star::sdbc::SQLException);
+
+ /** gets the value of a column in the current row as a byte.
+ @returns
+ the column value
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ byte getByte() raises (com::sun::star::sdbc::SQLException);
+
+ /** gets the value of a column in the current row as a short.
+ @returns
+ the column value
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ short getShort() raises (com::sun::star::sdbc::SQLException);
+
+ /** gets the value of a column in the current row as a long.
+ @returns
+ the column value
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ long getInt() raises (com::sun::star::sdbc::SQLException);
+
+ /** gets the value of a column in the current row as a hyper.
+ @returns
+ the column value
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ hyper getLong() raises (com::sun::star::sdbc::SQLException);
+
+ /** gets the value of a column in the current row as a float.
+ @returns
+ the column value
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ float getFloat() raises (com::sun::star::sdbc::SQLException);
+
+ /** gets the value of a column in the current row as a double.
+ @returns
+ the column value
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ double getDouble() raises (com::sun::star::sdbc::SQLException);
+
+ /** gets the value of a column in the current row as a byte array.
+ The bytes represent the raw values returned by the driver.
+ @returns the column value;
+ if the value is SQL NULL, the result is empty.
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ sequence<byte> getBytes() raises (com::sun::star::sdbc::SQLException);
+
+ /** gets the value of a column in the current row as a date object.
+ @returns
+ the column value
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ com::sun::star::util::Date getDate()
+ raises (com::sun::star::sdbc::SQLException);
+
+ /** gets the value of a column in the current row as a time object.
+ @returns
+ the column value
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ com::sun::star::util::Time getTime()
+ raises (com::sun::star::sdbc::SQLException);
+
+ /** gets the value of a column in the current row as a datetime object.
+ @returns
+ the column value
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ com::sun::star::util::DateTime getTimestamp()
+ raises (com::sun::star::sdbc::SQLException);
+
+ /** gets the value of a column in the current row as a stream of
+ uninterpreted bytes. The value can then be read in chunks from the
+ stream. This method is particularly suitable for retrieving large
+ LONGVARBINARY or LONGVARCHAR values.
+
+
+ <p>
+ <b>Note:</b> All the data in the returned stream must be
+ read prior to getting the value of any other column. The next
+ call to a get method implicitly closes the stream. Also, a
+ stream may return 0 when the method
+ com::sun::star::io::XInputStream::available()
+ is called whether there is data available or not.
+ </p>
+ @returns
+ the column value
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ com::sun::star::io::XInputStream getBinaryStream()
+ raises (com::sun::star::sdbc::SQLException);
+
+ /** gets the value of a column in the current row as a stream of
+ uninterpreted bytes. The value can then be read in chunks from the
+ stream. This method is particularly suitable for retrieving large
+ LONGVARCHAR values.
+
+ <p>
+ <b>Note:</b> All the data in the returned stream must be
+ read prior to getting the value of any other column. The next
+ call to a get method implicitly closes the stream. Also, a
+ stream may return 0 when the method
+ com::sun::star::io::XInputStream::available()
+ is called whether there is data available or not.
+ </p>
+ @returns
+ the column value
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ com::sun::star::io::XInputStream getCharacterStream()
+ raises (com::sun::star::sdbc::SQLException);
+
+ /** @returns the value of a column in the current row as an object.
+ This method uses the given
+ <code>Map</code>
+ object
+ for the custom mapping of the SQL structure or distinct type
+ that is being retrieved.
+ @param typeMap
+ the type map is used to fetch the correct type
+ @returns
+ the column value
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ any getObject([in]com::sun::star::container::XNameAccess typeMap)
+ raises (com::sun::star::sdbc::SQLException);
+
+ /** gets a REF(&lt;structured-type&gt) column value from the current row.
+
+ @returns
+ the column value
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ com::sun::star::sdbc::XRef getRef() raises (com::sun::star::sdbc::SQLException);
+
+ /** gets a BLOB (Binary Large OBject) value in the current row.
+ @returns
+ the column value
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ com::sun::star::sdbc::XBlob getBlob() raises (com::sun::star::sdbc::SQLException);
+
+ /** gets a CLOB value in the current row of this <code>ResultSet</code> object.
+ @returns
+ the column value
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ com::sun::star::sdbc::XClob getClob() raises (com::sun::star::sdbc::SQLException);
+
+ /** gets a SQL ARRAY value from the current row.
+ @returns
+ the column value
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ com::sun::star::sdbc::XArray getArray() raises (com::sun::star::sdbc::SQLException);
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XColumnUpdate.idl b/offapi/com/sun/star/sdb/XColumnUpdate.idl
new file mode 100644
index 000000000..784f6c75c
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XColumnUpdate.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_sdb_XColumnUpdate_idl__
+#define __com_sun_star_sdb_XColumnUpdate_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/sdbc/SQLException.idl>
+
+#include <com/sun/star/util/Date.idl>
+
+#include <com/sun/star/util/DateTime.idl>
+
+#include <com/sun/star/util/Time.idl>
+
+ module com { module sun { module star { module io {
+ published interface XInputStream;
+};};};};
+
+ module com { module sun { module star { module sdb {
+
+
+/** is used to update data which is collected in a row.
+ */
+published interface XColumnUpdate: com::sun::star::uno::XInterface
+{
+
+ /** gives a nullable column a null value.
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void updateNull() raises (com::sun::star::sdbc::SQLException);
+
+ /** updates a column with a boolean value.
+ @param x
+ the new column value
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void updateBoolean([in]boolean x) raises (com::sun::star::sdbc::SQLException);
+
+ /** updates a column with a byte value.
+ @param x
+ the new column value
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void updateByte([in]byte x) raises (com::sun::star::sdbc::SQLException);
+
+ /** updates a column with a short value.
+ @param x
+ the new column value
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void updateShort([in]short x) raises (com::sun::star::sdbc::SQLException);
+
+ /** updates a column with a long value.
+ @param x
+ the new column value
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void updateInt([in]long x) raises (com::sun::star::sdbc::SQLException);
+
+ /** updates a column with a hyper value.
+ @param x
+ the new column value
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void updateLong([in]hyper x) raises (com::sun::star::sdbc::SQLException);
+
+ /** updates a column with a float value.
+ @param x
+ the new column value
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void updateFloat([in]float x) raises (com::sun::star::sdbc::SQLException);
+
+ /** updates a column with a double value.
+ @param x
+ the new column value
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void updateDouble([in]double x) raises (com::sun::star::sdbc::SQLException);
+
+ /** updates a column with a string value.
+ @param x
+ the new column value
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void updateString([in]string x) raises (com::sun::star::sdbc::SQLException);
+
+ /** updates a column with a byte array value.
+ @param x
+ the new column value
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void updateBytes([in]sequence<byte> x) raises (com::sun::star::sdbc::SQLException);
+
+ /** updates a column with a Date value.
+ @param x
+ the new column value
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void updateDate([in]com::sun::star::util::Date x)
+ raises (com::sun::star::sdbc::SQLException);
+
+ /** updates a column with a Time value.
+ @param x
+ the new column value
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void updateTime([in]com::sun::star::util::Time x)
+ raises (com::sun::star::sdbc::SQLException);
+
+ /** updates a column with a Timestamp value.
+ @param x
+ the new column value
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void updateTimestamp([in]com::sun::star::util::DateTime x)
+ raises (com::sun::star::sdbc::SQLException);
+
+ /** updates a column with a stream value.
+ @param x
+ the new column value
+ @param length
+ the length of the stream
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void updateBinaryStream([in]com::sun::star::io::XInputStream x,
+ [in]long length) raises (com::sun::star::sdbc::SQLException);
+
+ /** updates a column with a stream value.
+ @param x
+ the new column value
+ @param length
+ the length of the stream
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void updateCharacterStream([in]com::sun::star::io::XInputStream x,
+ [in]long length) raises (com::sun::star::sdbc::SQLException);
+
+ /** updates a column with an Object value.
+ @param x
+ the new column value
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void updateObject([in]any x)
+ raises (com::sun::star::sdbc::SQLException);
+
+ /** updates a column with an Object value.
+ @param x
+ the new column value
+ @param scale
+ the scale
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void updateNumericObject([in]any x, [in]long scale)
+ raises (com::sun::star::sdbc::SQLException);
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XCommandPreparation.idl b/offapi/com/sun/star/sdb/XCommandPreparation.idl
new file mode 100644
index 000000000..918e5aae7
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XCommandPreparation.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_sdb_XCommandPreparation_idl__
+#define __com_sun_star_sdb_XCommandPreparation_idl__
+
+#include <com/sun/star/sdbc/SQLException.idl>
+
+ module com { module sun { module star { module sdbc {
+ published interface XPreparedStatement;
+};};};};
+
+ module com { module sun { module star { module sdb {
+
+
+/** is used for preparation of commands.
+
+ <p>
+ A command could be a table, query, or any kind of SQL statement
+ prepared by the user.
+ </p>
+ */
+published interface XCommandPreparation: com::sun::star::uno::XInterface
+{
+
+ /** creates a
+ com::sun::star::sdbc::PreparedStatement
+ object for sending parameterized SQL statements to the database.
+
+ <p>
+ A SQL statement with or without IN parameters can be
+ pre-compiled and stored in a PreparedStatement object. This
+ object can then be used to efficiently execute this statement
+ multiple times.
+ </p>
+ @param command
+ the command to be prepared. Any SQL statement.
+ @param commandType
+ kind of the command
+ com::sun::star::sdb::CommandType
+ @returns
+ the PreparedStatement object
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ com::sun::star::sdbc::XPreparedStatement prepareCommand([in]string command, [in] long commandType)
+ raises (com::sun::star::sdbc::SQLException);
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XCompletedConnection.idl b/offapi/com/sun/star/sdb/XCompletedConnection.idl
new file mode 100644
index 000000000..1e29db206
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XCompletedConnection.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_sdb_XCompletedConnection_idl__
+#define __com_sun_star_sdb_XCompletedConnection_idl__
+
+#include <com/sun/star/task/XInteractionHandler.idl>
+
+#include <com/sun/star/sdbc/SQLException.idl>
+
+ module com { module sun { module star { module sdbc {
+ published interface XConnection;
+};};};};
+
+ module com { module sun { module star { module sdb {
+
+
+/** is used for establishing connections via a factory which is identified
+ by its name. To complete the information needed for establishing a connection
+ an interaction handler is used.
+ */
+published interface XCompletedConnection: com::sun::star::uno::XInterface
+{
+
+ /** attempts to establish a database connection. If information is missing, such as
+ a user's password, they are completed by user interaction.
+ @param handler
+ will be asked when more information is needed
+ @returns
+ the Connection object
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ com::sun::star::sdbc::XConnection
+ connectWithCompletion([in]com::sun::star::task::XInteractionHandler handler)
+ raises (com::sun::star::sdbc::SQLException);
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XCompletedExecution.idl b/offapi/com/sun/star/sdb/XCompletedExecution.idl
new file mode 100644
index 000000000..7a7553a38
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XCompletedExecution.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_sdb_XCompletedExecution_idl__
+#define __com_sun_star_sdb_XCompletedExecution_idl__
+
+#include <com/sun/star/task/XInteractionHandler.idl>
+
+#include <com/sun/star/sdbc/SQLException.idl>
+
+ module com { module sun { module star { module sdb {
+
+
+/** is used for execution where information for execution may be required from
+ the user.
+ */
+published interface XCompletedExecution: com::sun::star::uno::XInterface
+{
+
+ /** completes necessary information before execution, for example parameter values.
+ @param handler
+ will be asked when more information is needed
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void executeWithCompletion([in]com::sun::star::task::XInteractionHandler handler)
+ raises (com::sun::star::sdbc::SQLException);
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XDataAccessDescriptorFactory.idl b/offapi/com/sun/star/sdb/XDataAccessDescriptorFactory.idl
new file mode 100644
index 000000000..8c43f8fb0
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XDataAccessDescriptorFactory.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_sdb_XDataAccessDescriptorFactory_idl__
+#define __com_sun_star_sdb_XDataAccessDescriptorFactory_idl__
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+
+module com { module sun { module star { module sdb {
+
+
+/** allows creating instances of the DataAccessDescriptor service.
+
+ <p>Data access descriptors are finally only bags of properties with a defined
+ semantics. Depending on the context in which you use them, certain of their
+ properties are needed or unneeded.<br/>
+ The descriptor factory allows you to create instances which offer
+ all properties potentially needed at a descriptor.</p>
+ */
+interface XDataAccessDescriptorFactory
+{
+ /** creates a DataAccessDescriptor which supports all properties
+ defined for this service, even if they're normally optional only.
+ */
+ ::com::sun::star::beans::XPropertySet
+ createDataAccessDescriptor();
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XDatabaseAccess.idl b/offapi/com/sun/star/sdb/XDatabaseAccess.idl
new file mode 100644
index 000000000..65bff201d
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XDatabaseAccess.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_sdb_XDatabaseAccess_idl__
+#define __com_sun_star_sdb_XDatabaseAccess_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/sdbc/XDataSource.idl>
+
+#include <com/sun/star/sdbc/SQLException.idl>
+
+ module com { module sun { module star { module task {
+ published interface XInteractionHandler;
+};};};};
+
+
+ module com { module sun { module star { module sdb {
+
+ published interface XDatabaseAccessListener;
+
+
+/** is not to be used anymore
+ @deprecated
+ */
+published interface XDatabaseAccess: com::sun::star::sdbc::XDataSource
+{
+ boolean hasConnections();
+ com::sun::star::sdbc::XConnection getIsolatedConnection([in]string user, [in]string password)
+ raises (com::sun::star::sdbc::SQLException);
+ boolean suspendConnections() raises (com::sun::star::sdbc::SQLException);
+ void addDatabaseAccessListener([in]XDatabaseAccessListener listener);
+ void removeDatabaseAccessListener([in]XDatabaseAccessListener listener);
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XDatabaseAccessListener.idl b/offapi/com/sun/star/sdb/XDatabaseAccessListener.idl
new file mode 100644
index 000000000..604ec2174
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XDatabaseAccessListener.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_sdb_XDatabaseAccessListener_idl__
+#define __com_sun_star_sdb_XDatabaseAccessListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+
+ module com { module sun { module star { module sdb {
+
+
+/** is not to be used anymore
+ @deprecated
+ */
+published interface XDatabaseAccessListener: com::sun::star::lang::XEventListener
+{
+ void connectionChanged([in]com::sun::star::lang::EventObject event);
+ boolean approveConnectionClosing([in]com::sun::star::lang::EventObject event);
+ void connectionClosing([in]com::sun::star::lang::EventObject event);
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XDatabaseContext.idl b/offapi/com/sun/star/sdb/XDatabaseContext.idl
new file mode 100644
index 000000000..b16334275
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XDatabaseContext.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_sdb_XDatabaseContext_idl__
+#define __com_sun_star_sdb_XDatabaseContext_idl__
+
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#include <com/sun/star/container/XContainer.idl>
+#include <com/sun/star/lang/XSingleServiceFactory.idl>
+#include <com/sun/star/container/XNameAccess.idl>
+#include <com/sun/star/uno/XNamingService.idl>
+#include <com/sun/star/sdb/XDatabaseRegistrations.idl>
+
+module com { module sun { module star { module sdb {
+
+/**
+ Provides an interface for the new-style DatabaseContext service to implement.
+
+ @since LibreOffice 4.0
+ */
+published interface XDatabaseContext
+{
+ /** Enumeration on all registered data sources.
+ */
+ interface com::sun::star::container::XEnumerationAccess;
+
+ /** NameAccess on all registered data sources.
+ <p>One exception is the com.sun.star.container.XNameAccess::getByName().
+ This method also allows to ask
+ for a DataAccessDescriptor::DatabaseLocation.
+ </p>
+ */
+ interface com::sun::star::container::XNameAccess;
+
+ /** Interface for registering new datasources.
+ */
+ interface com::sun::star::uno::XNamingService;
+
+ /** Interface for registering listener to get notified when new datasources are created or removed.
+ */
+ interface com::sun::star::container::XContainer;
+
+ /** Interface for creation of new datasources.
+ */
+ interface com::sun::star::lang::XSingleServiceFactory;
+
+ /** allows to access and modify the configuration data for registered data source.
+
+ <p>The main purpose of this interface is to allow you to register data sources which you know
+ by URL only, and have not yet loaded.</p>
+
+ <p>Also, it hides the details of the configuration data where the data source registrations
+ are maintained, so if possible at all, you should use this interface, instead of modifying or
+ querying the configuration data directly.</p>
+
+ @since OOo 3.3
+ */
+ interface XDatabaseRegistrations;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XDatabaseEnvironment.idl b/offapi/com/sun/star/sdb/XDatabaseEnvironment.idl
new file mode 100644
index 000000000..29d9bc187
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XDatabaseEnvironment.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_sdb_XDatabaseEnvironment_idl__
+#define __com_sun_star_sdb_XDatabaseEnvironment_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/sdbc/SQLException.idl>
+
+#include <com/sun/star/sdbc/XDriverManager.idl>
+
+#include <com/sun/star/beans/PropertyValue.idl>
+
+
+ module com { module sun { module star { module sdb {
+
+ published interface XDatabaseAccess;
+
+
+/** is not to be used anymore.
+
+ @deprecated
+ */
+published interface XDatabaseEnvironment: com::sun::star::sdbc::XDriverManager
+{
+ XDatabaseAccess getDatabaseAccess([in]string URL)
+ raises (com::sun::star::sdbc::SQLException);
+ XDatabaseAccess createDatabaseAccess([in]string URL, [in]string title)
+ raises (com::sun::star::sdbc::SQLException);
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XDatabaseRegistrations.idl b/offapi/com/sun/star/sdb/XDatabaseRegistrations.idl
new file mode 100644
index 000000000..105264277
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XDatabaseRegistrations.idl
@@ -0,0 +1,150 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sdb_XDatabaseRegistrations_idl__
+#define __com_sun_star_sdb_XDatabaseRegistrations_idl__
+
+#include <com/sun/star/container/NoSuchElementException.idl>
+#include <com/sun/star/container/ElementExistException.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/lang/IllegalAccessException.idl>
+
+
+module com { module sun { module star { module sdb {
+
+published interface XDatabaseRegistrationsListener;
+
+
+/** provides access to the application-wide registered databases.
+
+ <p>This interface provides a mere wrapper around the respective configuration data,
+ this way hiding the concrete configuration structure from its clients. You should,
+ if possible at all, use this interface, instead of modifying or querying the configuration
+ data directly.</p>
+
+ @since OOo 3.3
+ */
+published interface XDatabaseRegistrations
+{
+ /** determines whether a database is registered under the given name.
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if the given name is empty
+ */
+ boolean hasRegisteredDatabase( [in] string Name )
+ raises ( ::com::sun::star::lang::IllegalArgumentException
+ );
+
+ /** returns the names of all registered databases
+ */
+ sequence< string >
+ getRegistrationNames();
+
+ /** returns the location of the database registered under the given name
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if the given name is empty
+
+ @throws ::com::sun::star::container::NoSuchElementException
+ if there is no database registered under this name
+ */
+ string getDatabaseLocation( [in] string Name )
+ raises ( ::com::sun::star::lang::IllegalArgumentException
+ , ::com::sun::star::container::NoSuchElementException
+ );
+
+ /** registers a database, given by location, under a given name
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if the given name is empty, or the given location is invalid.
+
+ @throws ::com::sun::star::container::ElementExistException
+ if there already is a databases registered under the given name.
+ */
+ void registerDatabaseLocation( [in] string Name, [in] string Location )
+ raises ( ::com::sun::star::lang::IllegalArgumentException
+ , ::com::sun::star::container::ElementExistException
+ );
+
+ /** revokes the registration of a database, given by name
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if the given name is empty
+
+ @throws ::com::sun::star::container::NoSuchElementException
+ if there is no database registered under this name
+
+ @throws ::com::sun::star::lang::IllegalAccessException
+ if the registration data for this database is read-only
+ */
+ void revokeDatabaseLocation( [in] string Name )
+ raises ( ::com::sun::star::lang::IllegalArgumentException
+ , ::com::sun::star::container::NoSuchElementException
+ , ::com::sun::star::lang::IllegalAccessException
+ );
+
+ /** changes the location of a given database registration
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if the given name is empty, or the given location is invalid.
+
+ @throws ::com::sun::star::container::NoSuchElementException
+ if there is no database registered under this name
+
+ @throws ::com::sun::star::lang::IllegalAccessException
+ if the registration data for this database is read-only
+ */
+ void changeDatabaseLocation( [in] string Name, [in] string NewLocation )
+ raises ( ::com::sun::star::lang::IllegalArgumentException
+ , ::com::sun::star::container::NoSuchElementException
+ , ::com::sun::star::lang::IllegalAccessException
+ );
+
+ /** determines whether the registration data for a database given by name is
+ read-only.
+
+ <p>In this case, attempts to revoke this registration will fail.</p>
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if the given name is empty
+
+ @throws ::com::sun::star::container::NoSuchElementException
+ if there is no database registered under this name
+ */
+ boolean isDatabaseRegistrationReadOnly( [in] string Name )
+ raises ( ::com::sun::star::lang::IllegalArgumentException
+ , ::com::sun::star::container::NoSuchElementException
+ );
+
+ /** registers a listener which is notified of changes in the registered databases
+ */
+ void addDatabaseRegistrationsListener( [in] XDatabaseRegistrationsListener Listener );
+
+ /** revokes a previously registered listener
+ */
+ void removeDatabaseRegistrationsListener( [in] XDatabaseRegistrationsListener Listener );
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XDatabaseRegistrationsListener.idl b/offapi/com/sun/star/sdb/XDatabaseRegistrationsListener.idl
new file mode 100644
index 000000000..80c9b9307
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XDatabaseRegistrationsListener.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_sdb_XDatabaseRegistrationsListener_idl__
+#define __com_sun_star_sdb_XDatabaseRegistrationsListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+#include <com/sun/star/sdb/DatabaseRegistrationEvent.idl>
+
+
+module com { module sun { module star { module sdb {
+
+
+/** implemented by components which want to be notified of changes in the application-wide registered
+ databases.
+
+ @see XDatabaseRegistrations
+
+ @since OOo 3.3
+ */
+published interface XDatabaseRegistrationsListener : ::com::sun::star::lang::XEventListener
+{
+ /** called when a database has been registered
+ */
+ void registeredDatabaseLocation( [in] DatabaseRegistrationEvent Event );
+
+ /** called when a database registration has been revoked
+ */
+ void revokedDatabaseLocation( [in] DatabaseRegistrationEvent Event );
+
+ /** called when the location of a registered database changed
+
+ <p>Note that this talks about registration data only. That is, if the actual file denoted by the database
+ registration is moved, this is in no way monitored or reported. Only (successful) calls to
+ XDatabaseRegistrations::changeDatabaseLocation() are reported here.</p>
+ */
+ void changedDatabaseLocation( [in] DatabaseRegistrationEvent Event );
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XDocumentDataSource.idl b/offapi/com/sun/star/sdb/XDocumentDataSource.idl
new file mode 100644
index 000000000..33dbcdb4c
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XDocumentDataSource.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_sdb_XDocumentDataSource_idl__
+#define __com_sun_star_sdb_XDocumentDataSource_idl__
+
+#include <com/sun/star/sdb/XOfficeDatabaseDocument.idl>
+
+
+ module com { module sun { module star { module sdb {
+
+/** simplifies the accessing of data sources and their corresponding database document.
+
+ <p>
+ The interface can be used to access the data source of the database document.
+ </p>
+ @see OfficeDatabaseDocument
+ */
+interface XDocumentDataSource
+{
+ /** provides access to the one and only OfficeDatabaseDocument
+ which the data source is based on.
+
+ <p>The component returned by this attribute is an OfficeDatabaseDocument.</p>
+
+ <p>Though there is a 1-to-1 relationship between database documents and data sources,
+ each of the two can exist without its counterpart, but create this counterpart on request
+ only. As a consequence, the document obtained via this attribute might be newly created,
+ which implies that the caller is now responsible for it. In particular, the caller is
+ responsible for calling com::sun::star::util::XCloseable::close()
+ on the document as soon as it's not needed anymore.</p>
+
+ <p>Additionally, if the caller does long-lasting processing on the document, it's advised
+ to add itself as com::sun::star::util::XCloseListener to the document,
+ to prevent closing as long as the processing lasts.</p>
+ */
+ [readonly, attribute] XOfficeDatabaseDocument DatabaseDocument;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XFormDocumentsSupplier.idl b/offapi/com/sun/star/sdb/XFormDocumentsSupplier.idl
new file mode 100644
index 000000000..4ce5cb266
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XFormDocumentsSupplier.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_sdb_XFormDocumentsSupplier_idl__
+#define __com_sun_star_sdb_XFormDocumentsSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/container/XNameAccess.idl>
+
+ module com { module sun { module star { module sdb {
+
+
+/** provides the access to a container of database forms.
+ @see Forms
+ */
+interface XFormDocumentsSupplier: com::sun::star::uno::XInterface
+{
+
+ /** returns the container of forms.
+ @returns
+ the form documents
+ @see Forms
+ */
+ com::sun::star::container::XNameAccess getFormDocuments();
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XInteractionDocumentSave.idl b/offapi/com/sun/star/sdb/XInteractionDocumentSave.idl
new file mode 100644
index 000000000..0d9b7a20d
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XInteractionDocumentSave.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_sdb_XInteractionDocumentSave_idl__
+#define __com_sun_star_sdb_XInteractionDocumentSave_idl__
+
+#include <com/sun/star/task/XInteractionContinuation.idl>
+#include <com/sun/star/ucb/XContent.idl>
+
+module com { module sun { module star { module sdb {
+
+
+/** An interaction continuation handing back a document name.
+
+ <p>
+ This continuation is typically used in conjunction with a
+ com::sun::star::sdb::DocumentSaveRequest.
+ </p>
+ @since OOo 2.0
+*/
+interface XInteractionDocumentSave: com::sun::star::task::XInteractionContinuation
+{
+ /** set the document name chosen by the interaction handler
+ @param Name
+ the name of the document
+ @param Content
+ the content where the document should store itself
+ */
+ void setName( [in] string Name, [in] com::sun::star::ucb::XContent Content);
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XInteractionSupplyParameters.idl b/offapi/com/sun/star/sdb/XInteractionSupplyParameters.idl
new file mode 100644
index 000000000..1d28ea2d7
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XInteractionSupplyParameters.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_sdb_XInteractionSupplyParameters_idl__
+#define __com_sun_star_sdb_XInteractionSupplyParameters_idl__
+
+#include <com/sun/star/task/XInteractionContinuation.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+
+module com { module sun { module star { module sdb {
+
+
+/** An interaction continuation handing back parameter data.
+
+ <p>
+ This continuation is typically used in conjunction with a
+ com::sun::star::sdb::ParametersRequest.
+ </p>
+*/
+published interface XInteractionSupplyParameters: com::sun::star::task::XInteractionContinuation
+{
+ /** set the parameters chosen by the interaction handler
+ @param Values
+ the parameters to set
+ */
+ void setParameters( [in] sequence< com::sun::star::beans::PropertyValue > Values);
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XOfficeDatabaseDocument.idl b/offapi/com/sun/star/sdb/XOfficeDatabaseDocument.idl
new file mode 100644
index 000000000..3f94aeaed
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XOfficeDatabaseDocument.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_sdb_XOfficeDatabaseDocument_idl__
+#define __com_sun_star_sdb_XOfficeDatabaseDocument_idl__
+
+#include <com/sun/star/sdb/XFormDocumentsSupplier.idl>
+#include <com/sun/star/sdb/XReportDocumentsSupplier.idl>
+#include <com/sun/star/sdbc/XDataSource.idl>
+#include <com/sun/star/document/XDocumentSubStorageSupplier.idl>
+
+
+module com { module sun { module star { module sdb {
+
+/** simplifies the accessing of data sources, and it's corresponding database document and forms, and reports.
+*/
+interface XOfficeDatabaseDocument
+{
+ /** allows to access the supplier for forms.
+ @see com::sun::star::sdb::Forms
+ */
+ interface com::sun::star::sdb::XFormDocumentsSupplier;
+
+ /** allows to access the supplier for reports.
+ @see com::sun::star::sdb::Reports
+ */
+ interface com::sun::star::sdb::XReportDocumentsSupplier;
+
+ /** allows the access to all sub storages in the office database document.
+ */
+ interface com::sun::star::document::XDocumentSubStorageSupplier;
+
+ /** provides access to the one and only DataSource
+ associated with this document
+ */
+ [readonly, attribute] com::sun::star::sdbc::XDataSource DataSource;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XParametersSupplier.idl b/offapi/com/sun/star/sdb/XParametersSupplier.idl
new file mode 100644
index 000000000..acaf1428e
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XParametersSupplier.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_sdb_XParametersSupplier_idl__
+#define __com_sun_star_sdb_XParametersSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/container/XIndexAccess.idl>
+
+ module com { module sun { module star { module sdb {
+
+
+/** provides the access to a container of parameters, typically used for a prepared
+ statement.
+ */
+published interface XParametersSupplier: com::sun::star::uno::XInterface
+{
+
+ /** returns the container of parameters.
+ @returns
+ the parameters
+ */
+ com::sun::star::container::XIndexAccess getParameters();
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XQueriesSupplier.idl b/offapi/com/sun/star/sdb/XQueriesSupplier.idl
new file mode 100644
index 000000000..509a5e924
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XQueriesSupplier.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_sdb_XQueriesSupplier_idl__
+#define __com_sun_star_sdb_XQueriesSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/container/XNameAccess.idl>
+
+ module com { module sun { module star { module sdb {
+
+
+/** provides the access to a container of database queries.
+ */
+published interface XQueriesSupplier: com::sun::star::uno::XInterface
+{
+
+ /** returns the container of queries.
+
+ <p>The single elements of the container support the Query service.</p>
+
+ @return
+ the queries belonging to database connection at which the XQueriesSupplier interface
+ is exposed.
+ */
+ com::sun::star::container::XNameAccess getQueries();
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XQueryDefinition.idl b/offapi/com/sun/star/sdb/XQueryDefinition.idl
new file mode 100644
index 000000000..064a7bba8
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XQueryDefinition.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_sdb_XQueryDefinition_idl__
+#define __com_sun_star_sdb_XQueryDefinition_idl__
+
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/ucb/XContent.idl>
+#include <com/sun/star/lang/XComponent.idl>
+
+ module com { module sun { module star { module sdb {
+
+
+/**
+ @since LibreOffice 4.1
+ */
+published interface XQueryDefinition
+{
+
+ /** access to the owning database definition object.
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+ interface com::sun::star::ucb::XContent;
+
+ interface com::sun::star::lang::XComponent;
+
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XQueryDefinitionsSupplier.idl b/offapi/com/sun/star/sdb/XQueryDefinitionsSupplier.idl
new file mode 100644
index 000000000..1a838ad68
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XQueryDefinitionsSupplier.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_sdb_XQueryDefinitionsSupplier_idl__
+#define __com_sun_star_sdb_XQueryDefinitionsSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/container/XNameAccess.idl>
+
+ module com { module sun { module star { module sdb {
+
+
+/** provides the access to a container of database command definitions.
+ */
+published interface XQueryDefinitionsSupplier: com::sun::star::uno::XInterface
+{
+
+ /** returns the container of commands.
+ @returns
+ the query definitions
+ */
+ com::sun::star::container::XNameAccess getQueryDefinitions();
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XReportDocumentsSupplier.idl b/offapi/com/sun/star/sdb/XReportDocumentsSupplier.idl
new file mode 100644
index 000000000..550f18c7d
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XReportDocumentsSupplier.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_sdb_XReportDocumentsSupplier_idl__
+#define __com_sun_star_sdb_XReportDocumentsSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/container/XNameAccess.idl>
+
+ module com { module sun { module star { module sdb {
+
+
+/** provides the access to a container of database reports.
+ @see Reports
+ */
+interface XReportDocumentsSupplier: com::sun::star::uno::XInterface
+{
+
+ /** returns the container of reports.
+ @returns
+ the report documents
+ @see Reports
+ */
+ com::sun::star::container::XNameAccess getReportDocuments();
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XResultSetAccess.idl b/offapi/com/sun/star/sdb/XResultSetAccess.idl
new file mode 100644
index 000000000..825b904e9
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XResultSetAccess.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_sdb_XResultSetAccess_idl__
+#define __com_sun_star_sdb_XResultSetAccess_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/sdbc/SQLException.idl>
+
+ module com { module sun { module star { module sdbc {
+
+ published interface XResultSet;
+}; }; }; };
+
+
+
+ module com { module sun { module star { module sdb {
+
+
+/** is the interface to create a
+ com::sun::star::sdbc::ResultSet
+ based on the object providing the interface.
+ */
+published interface XResultSetAccess: com::sun::star::uno::XInterface
+{
+
+ /** returns a new
+ com::sun::star::sdbc::ResultSet
+ based on the object.
+ @returns
+ the new created ResultSet object
+ */
+ com::sun::star::sdbc::XResultSet createResultSet() raises (com::sun::star::sdbc::SQLException);
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XRowSetApproveBroadcaster.idl b/offapi/com/sun/star/sdb/XRowSetApproveBroadcaster.idl
new file mode 100644
index 000000000..39da40083
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XRowSetApproveBroadcaster.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_sdb_XRowSetApproveBroadcaster_idl__
+#define __com_sun_star_sdb_XRowSetApproveBroadcaster_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+ module com { module sun { module star { module sdb {
+
+ published interface XRowSetApproveListener;
+
+
+/** provides the possibility of reviving an event before changing the content
+ of a row set.
+ */
+published interface XRowSetApproveBroadcaster: com::sun::star::uno::XInterface
+{
+
+ /** adds the specified listener to receive the events "approveCursorMove",
+ "approveRowChange", and "approveRowSetChange".
+ */
+ void addRowSetApproveListener(
+ [in]XRowSetApproveListener listener );
+
+ /** removes the specified listener.
+ */
+ void removeRowSetApproveListener(
+ [in]XRowSetApproveListener listener );
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XRowSetApproveListener.idl b/offapi/com/sun/star/sdb/XRowSetApproveListener.idl
new file mode 100644
index 000000000..70955901e
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XRowSetApproveListener.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_sdb_XRowSetApproveListener_idl__
+#define __com_sun_star_sdb_XRowSetApproveListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+
+#include <com/sun/star/sdb/RowChangeEvent.idl>
+
+ module com { module sun { module star { module sdb {
+
+
+/** is used for approving the moving and changing of row set actions.
+ */
+published interface XRowSetApproveListener: com::sun::star::lang::XEventListener
+{
+
+ /** is called before a row set's cursor is moved.
+ @param event
+ the event which happened
+ @returns `TRUE` when moving is allowed, otherwise `FALSE`
+ */
+ boolean approveCursorMove([in]com::sun::star::lang::EventObject event);
+
+ /** is called before a row is inserted, updated, or deleted.
+ @param event
+ the event which happened
+ @returns `TRUE` when changing is allowed, otherwise `FALSE`
+ */
+ boolean approveRowChange([in]RowChangeEvent event);
+
+ /** is called before a row set is changed, or in other words
+ before a row set is reexecuted.
+ @param event
+ the event which happened
+ @returns `TRUE` when changing is allowed, otherwise `FALSE`
+ */
+ boolean approveRowSetChange([in]com::sun::star::lang::EventObject event);
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XRowSetChangeBroadcaster.idl b/offapi/com/sun/star/sdb/XRowSetChangeBroadcaster.idl
new file mode 100644
index 000000000..632c4ce48
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XRowSetChangeBroadcaster.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_sdb_XRowSetChangeBroadcaster_idl__
+#define __com_sun_star_sdb_XRowSetChangeBroadcaster_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module sdb {
+
+interface XRowSetChangeListener;
+
+
+/** broadcasts changes in the <code>RowSet</code> supplied by a component
+
+ @see XRowSetSupplier
+ @see XRowSetChangeListener
+ @since OOo 3.2
+ */
+interface XRowSetChangeBroadcaster
+{
+ /** adds a listener to be notified when the <code>RowSet</code> supplied by the component changes.
+ */
+ void addRowSetChangeListener( [in] XRowSetChangeListener iListener );
+
+ /** removes a previously added listener.
+ */
+ void removeRowSetChangeListener( [in] XRowSetChangeListener iListener );
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XRowSetChangeListener.idl b/offapi/com/sun/star/sdb/XRowSetChangeListener.idl
new file mode 100644
index 000000000..8e178b962
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XRowSetChangeListener.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_sdb_XRowSetChangeListener_idl__
+#define __com_sun_star_sdb_XRowSetChangeListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+
+
+module com { module sun { module star { module sdb {
+
+
+/** is implemented by components which want to be notified when the <code>RowSet</code> supplied
+ by a XRowSetSupplier changes.
+
+ @see XRowSetChangeBroadcaster
+ @see XRowSetSupplier
+ @since OOo 3.2
+ */
+ interface XRowSetChangeListener : ::com::sun::star::lang::XEventListener
+{
+ /** notifies the listener that the <code>RowSet</code> associated with a XRowSetSupplier
+ has changed.
+ */
+ void onRowSetChanged( [in] ::com::sun::star::lang::EventObject iEvent );
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XRowSetSupplier.idl b/offapi/com/sun/star/sdb/XRowSetSupplier.idl
new file mode 100644
index 000000000..8b3950420
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XRowSetSupplier.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_sdb_XRowSetSupplier_idl__
+#define __com_sun_star_sdb_XRowSetSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/sdbc/XRowSet.idl>
+
+ module com { module sun { module star { module sdb {
+
+
+/** uses a row set as datasource.
+
+ @see XRowSetChangeBroadcaster
+ */
+published interface XRowSetSupplier: com::sun::star::uno::XInterface
+{
+
+ /** provides access to the data source.
+ @returns
+ the RowSet object
+ */
+ com::sun::star::sdbc::XRowSet getRowSet();
+
+
+ /** sets the data source.
+ @param xDataSource
+ the RowSet object to set
+ */
+ void setRowSet( [in] com::sun::star::sdbc::XRowSet xDataSource );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/*===========================================================================
+===========================================================================*/
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XRowsChangeBroadcaster.idl b/offapi/com/sun/star/sdb/XRowsChangeBroadcaster.idl
new file mode 100644
index 000000000..06ab89cd3
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XRowsChangeBroadcaster.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_sdb_XRowsChangeBroadcaster_idl__
+#define __com_sun_star_sdb_XRowsChangeBroadcaster_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module sdb {
+
+interface XRowsChangeListener;
+
+
+/** broadcasts changes in the <code>RowSet</code> supplied by a component
+
+ @see XRowSetSupplier
+ @see XRowsChangeListener
+ @since OOo 3.3
+ */
+interface XRowsChangeBroadcaster
+{
+ /** adds a listener to be notified when the <code>RowSet</code> supplied by the component changes.
+ */
+ void addRowsChangeListener( [in] XRowsChangeListener listener );
+
+ /** removes a previously added listener.
+ */
+ void removeRowsChangeListener( [in] XRowsChangeListener listener );
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XRowsChangeListener.idl b/offapi/com/sun/star/sdb/XRowsChangeListener.idl
new file mode 100644
index 000000000..fe25ec431
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XRowsChangeListener.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_sdb_XRowsChangeListener_idl__
+#define __com_sun_star_sdb_XRowsChangeListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+#include <com/sun/star/sdb/RowsChangeEvent.idl>
+
+ module com { module sun { module star { module sdb {
+
+
+/** is used for receiving "rowsChanged" events
+ posted by, for example, a row set.
+ */
+interface XRowsChangeListener: com::sun::star::lang::XEventListener
+{
+
+ /** is called when rows are inserted, updated, or deleted.
+ @param event
+ contains information about the event
+ */
+ void rowsChanged([in]com::sun::star::sdb::RowsChangeEvent event);
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XSQLErrorBroadcaster.idl b/offapi/com/sun/star/sdb/XSQLErrorBroadcaster.idl
new file mode 100644
index 000000000..e820eb805
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XSQLErrorBroadcaster.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_sdb_XSQLErrorBroadcaster_idl__
+#define __com_sun_star_sdb_XSQLErrorBroadcaster_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/sdb/XSQLErrorListener.idl>
+
+ module com { module sun { module star { module sdb {
+
+
+/** interface for notifying potential listeners
+ of
+ com::sun::star::sdbc::SQLException
+ s posted by any database object.
+ */
+published interface XSQLErrorBroadcaster: com::sun::star::uno::XInterface
+{
+
+ /** adds the specified listener to receive the event "errorOccurred"
+ */
+ void addSQLErrorListener(
+ [in]XSQLErrorListener Listener );
+
+ /** removes the specified listener.
+ */
+ void removeSQLErrorListener(
+ [in]XSQLErrorListener Listener );
+};
+
+
+}; }; }; };
+
+
+#endif
+/*===========================================================================
+===========================================================================*/
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XSQLErrorListener.idl b/offapi/com/sun/star/sdb/XSQLErrorListener.idl
new file mode 100644
index 000000000..542c8f23a
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XSQLErrorListener.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_sdb_XSQLErrorListener_idl__
+#define __com_sun_star_sdb_XSQLErrorListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+
+#include <com/sun/star/sdb/SQLErrorEvent.idl>
+
+ module com { module sun { module star { module sdb {
+
+
+/** the listener interface for receiving "errorOccured" events
+ posted by any database object.
+ */
+published interface XSQLErrorListener: com::sun::star::lang::XEventListener
+{
+
+ /** invoked when a database error occurs, just before a
+ com::sun::star::sdbc::SQLException
+ is thrown to the application.
+ @param aEvent
+ the event which occurred
+ */
+ void errorOccured([in]com::sun::star::sdb::SQLErrorEvent aEvent);
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XSQLQueryComposer.idl b/offapi/com/sun/star/sdb/XSQLQueryComposer.idl
new file mode 100644
index 000000000..630e947a2
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XSQLQueryComposer.idl
@@ -0,0 +1,148 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_sdb_XSQLQueryComposer_idl__
+#define __com_sun_star_sdb_XSQLQueryComposer_idl__
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+#include <com/sun/star/beans/PropertyValue.idl>
+
+#include <com/sun/star/sdbc/SQLException.idl>
+
+
+ module com { module sun { module star { module sdb {
+
+
+/** should be provided by a tool which simplifies the handling with SQL select statements.
+
+ <p>
+ The interface can be used for composing SELECT statements without knowing the
+ structure of the used query.
+ </p>
+ */
+published interface XSQLQueryComposer: com::sun::star::uno::XInterface
+{
+
+ /** returns the query used for composing.
+ @returns
+ the query
+ */
+ string getQuery();
+
+ /** sets a new query for the composer, which may be expanded by filters
+ and sort criteria.
+ @param command
+ the command to set
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void setQuery([in] string command )
+ raises (com::sun::star::sdbc::SQLException);
+
+ /** returns the query composed with filters and sort criteria.
+ @returns
+ the composed query
+ */
+ string getComposedQuery();
+
+ /** returns the currently used filter.
+
+ <p>
+ The filter criteria returned is part of the where condition of the
+ select command, but it does not contain the where token.
+ </p>
+ @returns
+ the filter
+ */
+ string getFilter();
+
+ /** returns the currently used filter.
+ <p>
+ The filter criteria is split into levels. Each level represents the
+ OR criteria. Within each level, the filters are provided as an AND criteria
+ with the name of the column and the filter condition. The filter condition
+ is of type string.
+ </p>
+ @returns
+ the structured filter
+ */
+ sequence< sequence<com::sun::star::beans::PropertyValue> >
+ getStructuredFilter();
+
+ /** returns the currently used sort order.
+
+
+ <p>
+ The order criteria returned is part of the ORDER BY clause of the
+ select command, but it does not contain the ORDER BY keyword .
+ </p>
+ @returns
+ the order
+ */
+ string getOrder();
+
+ /** appends a new filter condition by a
+ com::sun::star::sdb::DataColumn
+ providing the name and the value for the filter.
+ @param column
+ the column which is used to create a filter
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void appendFilterByColumn([in] com::sun::star::beans::XPropertySet column)
+ raises (com::sun::star::sdbc::SQLException);
+
+ /** appends an additional part to the sort order criteria of the select
+ statement.
+ @param column
+ the column which is used to create an order part
+ @param ascending
+ `TRUE` when the order should be ascending, otherwise `FALSE`
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void appendOrderByColumn([in] com::sun::star::beans::XPropertySet column,
+ [in] boolean ascending)
+ raises (com::sun::star::sdbc::SQLException);
+
+ /** makes it possible to set a filter condition for the query.
+ @param filter
+ the filter to set
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void setFilter([in] string filter)
+ raises (com::sun::star::sdbc::SQLException);
+
+ /** makes it possible to set a sort condition for the query.
+ @param order
+ the order part to set
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void setOrder([in] string order)
+ raises (com::sun::star::sdbc::SQLException);
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XSQLQueryComposerFactory.idl b/offapi/com/sun/star/sdb/XSQLQueryComposerFactory.idl
new file mode 100644
index 000000000..67332fcb1
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XSQLQueryComposerFactory.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_sdb_XSQLQueryComposerFactory_idl__
+#define __com_sun_star_sdb_XSQLQueryComposerFactory_idl__
+
+#include <com/sun/star/sdb/XSQLQueryComposer.idl>
+
+ module com { module sun { module star { module sdb {
+
+
+/** is a factory for instances of service com::sun::star::sdb::SQLQueryComposer.
+ */
+published interface XSQLQueryComposerFactory: com::sun::star::uno::XInterface
+{
+
+ /** creates a new query composer.
+ @returns
+ the SQLQueryComposer object
+ */
+ com::sun::star::sdb::XSQLQueryComposer createQueryComposer();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XSingleSelectQueryAnalyzer.idl b/offapi/com/sun/star/sdb/XSingleSelectQueryAnalyzer.idl
new file mode 100644
index 000000000..df6e33d73
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XSingleSelectQueryAnalyzer.idl
@@ -0,0 +1,227 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_sdb_XSingleSelectQueryAnalyzer_idl__
+#define __com_sun_star_sdb_XSingleSelectQueryAnalyzer_idl__
+
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/sdbc/SQLException.idl>
+
+module com { module sun { module star { module container {
+published interface XIndexAccess;
+};};};};
+
+ module com { module sun { module star { module sdb {
+
+
+/** simplifies the analyzing of single select statements.
+
+ <p>
+ The interface can be used for analyzing single SELECT statements without knowing the
+ structure of the used query.
+ </p>
+ */
+interface XSingleSelectQueryAnalyzer : com::sun::star::uno::XInterface
+{
+
+ /** returns the query.
+ @returns
+ the query
+ */
+ string getQuery();
+
+ /** sets a new query for the composer, which may be expanded by filters, group by, having
+ and sort criteria.
+ @param command
+ the single select statement to set
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs
+ or the statement isn't a single select statement
+ or the statement isn't valid
+ or the statement can not be parsed.
+ */
+ void setQuery([in] string command )
+ raises (com::sun::star::sdbc::SQLException);
+ // FILTER
+
+ /** returns the used filter.
+ <p>
+ The filter criteria returned is part of the where condition of the
+ select command, but it does not contain the where token.
+ </p>
+ @returns
+ the filter
+ */
+ string getFilter();
+
+ /** returns the currently used filter.
+ <p>
+ The filter criteria is split into levels. Each level represents the
+ OR criteria. Within each level, the filters are provided as an AND criteria
+ with the name of the column and the filter condition. The filter condition
+ is of type string. The operator used, is defined by com::sun::star::sdb::SQLFilterOperator.
+ </p>
+ @returns
+ the structured filter
+ */
+ sequence< sequence<com::sun::star::beans::PropertyValue> >
+ getStructuredFilter();
+
+ // GROUP BY
+
+ /** returns the currently used GROUP BY.
+ <p>
+ The group criteria returned is part of the GROUP BY clause of the
+ select command, but it does not contain the GROUP BY keyword .
+ </p>
+ @returns
+ the group
+ */
+ string getGroup();
+
+ /** returns the currently used group.
+ <p>
+ The columns returned from the GROUP BY clause.
+ </p>
+ @returns
+ a collection of com::sun::star::sdb::GroupColumn which form the GROUP BY.
+ */
+ com::sun::star::container::XIndexAccess getGroupColumns();
+
+ // HAVING
+
+ /** returns the used HAVING filter.
+ <p>
+ The HAVING filter criteria returned is part of the HAVING condition of the
+ select command, but it does not contain the HAVING token.
+ </p>
+ @returns
+ the filter
+ */
+ string getHavingClause();
+
+ /** returns the currently used HAVING filter.
+ <p>
+ The HAVING filter criteria is split into levels. Each level represents the
+ OR criteria. Within each level, the filters are provided as an AND criteria
+ with the name of the column and the filter condition. The filter condition
+ is of type string. The operator used, is defined by com::sun::star::sdb::SQLFilterOperator.
+ </p>
+ @returns
+ the structured HAVING filter
+ */
+ sequence< sequence<com::sun::star::beans::PropertyValue> >
+ getStructuredHavingClause();
+
+ // ORDER BY
+ /** returns the currently used sort order.
+ <p>
+ The order criteria returned is part of the ORDER BY clause of the
+ select command, but it does not contain the ORDER BY keyword .
+ </p>
+ @returns
+ the order
+ */
+ string getOrder();
+
+ /** returns the currently used sort order.
+ <p>
+ The order criteria returned is part of the ORDER BY clause of the
+ select command, but it does not contain the ORDER BY keyword .
+ </p>
+ @returns
+ a collection of com::sun::star::sdb::OrderColumn which form the ORDER BY.
+ */
+ com::sun::star::container::XIndexAccess getOrderColumns();
+
+ /** returns the query previously set at the analyzer, with all application-level
+ features being substituted by their database-level counterparts.
+
+ <p>The XSingleSelectQueryAnalyzer is an application-level component,
+ which in some respect understands SQL features usually not present at the database
+ level. As a prominent example, you might pass a <code>SELECT</code> statement to the analyzer
+ which is based on another query.</p>
+
+ <p>While all other methods will handle those additional features transparently - e.g.
+ the query in the <code>FROM</code> part of a <code>SELECT</code> statement will be handled
+ as if it really is a table -, <code>getQueryWithSubstitution</code> gives you the SQL statement
+ where all those features have been stripped, and replaced with appropriate standard SQL.</p>
+
+ <p>For example, consider a database document which contains a client-side query named <code>All Orders</code>.
+ This query is not known to the underlying database, so an SQL statement like
+ <code>SELECT * from "All Orders"</code> would be rejected by the database. However, instantiating
+ a SingleSelectQueryAnalyzer at the Connection object, and passing it the above query,
+ you can then use <code>getQueryWithSubstitution</code> to retrieve a statement where <code>"All Orders"</code>
+ has been replaced with the <code>SELECT</code> statement which actually constitutes the <code>"All Orders"</code>
+ query.</p>
+
+ @throws com::sun::star::sdbc::SQLException
+ if the query represented cannot be completely substituted. A usual case for this is a recursion in
+ the sub queries: Consider a query named <code>foo</code>, which is defined as <code>SELECT * FROM "bar"</code>.
+ Now assume that <code>bar</code> is a query defined as <code>SELECT * FROM "foo"</code>. Passing either
+ of those statements to an analyzer, and calling getQueryWithSubstitution(), would result
+ in an exception being thrown, since it's impossible to substitute the sub queries with their
+ constituting statements.
+
+ @see Connection
+ @see XQueriesSupplier
+ @see DatabaseDocument
+
+ @since OOo 2.0.4
+ */
+ string getQueryWithSubstitution()
+ raises (com::sun::star::sdbc::SQLException);
+
+ /** sets a new query for the composer, which may be expanded by filters, group by, having
+ and sort criteria.
+ @param Command
+ is the command which should be executed, the type of command depends
+ on the CommandType.
+
+ <p>In case of a \p CommandType of com::sun::star::sdb::CommandType::COMMAND,
+ means in case the \p Command specifies an SQL statement, the inherited
+ com::sun::star::sdbc::RowSet::EscapeProcessing
+ becomes relevant:<br/>
+ It then can be to used to specify whether the SQL statement should be analyzed on the
+ client side before sending it to the database server.<br/>
+ The default value for com::sun::star::sdbc::RowSet::EscapeProcessing
+ is `TRUE`. By switching it to `FALSE`, you can pass backend-specific SQL statements,
+ which are not standard SQL, to your database.</p>
+
+ @see com::sun::star::sdb::CommandType
+ @see com::sun::star::sdbc::RowSet::EscapeProcessing
+ @param CommandType
+ is the type of the command.
+ @see com::sun::star::sdb::CommandType
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs
+ or the statement isn't a single select statement
+ or the statement isn't valid
+ or the statement can not be parsed.
+ */
+ void setCommand([in] string Command ,[in] long CommandType)
+ raises (com::sun::star::sdbc::SQLException);
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XSingleSelectQueryComposer.idl b/offapi/com/sun/star/sdb/XSingleSelectQueryComposer.idl
new file mode 100644
index 000000000..2a5369602
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XSingleSelectQueryComposer.idl
@@ -0,0 +1,235 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_sdb_XSingleSelectQueryComposer_idl__
+#define __com_sun_star_sdb_XSingleSelectQueryComposer_idl__
+
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#include <com/sun/star/sdbc/SQLException.idl>
+#include <com/sun/star/sdb/XSingleSelectQueryAnalyzer.idl>
+
+
+ module com { module sun { module star { module sdb {
+
+
+/** simplifies the composing of single select statements.
+
+ <p>
+ The interface can be used for composing single SELECT statements without knowing the
+ structure of the used query.
+ </p>
+
+ @see com::sun::star::sdb::SingleSelectQueryComposer
+ */
+interface XSingleSelectQueryComposer: XSingleSelectQueryAnalyzer
+{
+ // FILTER
+
+ /** makes it possible to set a filter condition for the query.
+ @param filter
+ the filter to set
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs
+ or the statement isn't valid
+ or the statement isn't parsable.
+ */
+ void setFilter([in] string filter)
+ raises (com::sun::star::sdbc::SQLException);
+
+ /** appends a new set of filter criteria which is split into levels.
+ @param filter
+ The filter criteria is split into levels. Each level represents the
+ OR criteria. Within each level, the filters are provided as an AND criteria
+ with the name of the column and the filter condition. The filter condition
+ is of type string. The operator used, is defined by com::sun::star::sdb::SQLFilterOperator.
+
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void setStructuredFilter([in] sequence< sequence<com::sun::star::beans::PropertyValue> > filter)
+ raises (com::sun::star::sdbc::SQLException,com::sun::star::lang::IllegalArgumentException);
+
+ /** appends a new filter condition by a
+ com::sun::star::sdb::DataColumn
+ providing the name and the value for the filter.
+ The value property must be supported by the com::sun::star::sdb::DataColumn.
+ @param column
+ the column which is used to create a filter
+ @param andCriteria
+ If `TRUE` the filter condition will be appended as an AND condition, otherwise
+ the new filter condition will be appended as OR criteria.
+ E.g. (xx AND bb AND cc) OR newCriteria
+ @param filterOperator
+ The operator used, is defined by com::sun::star::sdb::SQLFilterOperator.
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void appendFilterByColumn([in] com::sun::star::beans::XPropertySet column,[in] boolean andCriteria,[in] long filterOperator)
+ raises (com::sun::star::sdbc::SQLException, com::sun::star::lang::WrappedTargetException);
+
+ // GROUP BY
+
+
+ /** makes it possible to set a group for the query.
+ @param group
+ the group part to set
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs
+ or the statement isn't valid
+ or the statement isn't parsable.
+ */
+ void setGroup([in] string group)
+ raises (com::sun::star::sdbc::SQLException);
+
+
+ /** appends an additional part to the group criteria of the select
+ statement. The column must be a com::sun::star::sdbcx::Column.
+ @param column
+ the column which is used to create a group part
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void appendGroupByColumn([in] com::sun::star::beans::XPropertySet column)
+ raises (com::sun::star::sdbc::SQLException);
+
+ // HAVING
+
+ /** makes it possible to set a HAVING filter condition for the query.
+ @param filter
+ the filter to set
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs
+ or the statement isn't valid
+ or the statement isn't parsable.
+ */
+ void setHavingClause([in] string filter)
+ raises (com::sun::star::sdbc::SQLException);
+
+
+ /** appends a new set of HAVING filter criteria which is split into levels.
+ @param filter
+ The HAVING filter criteria is split into levels. Each level represents the
+ OR criteria. Within each level, the filters are provided as an AND criteria
+ with the name of the column and the filter condition. The filter condition
+ is of type string. The operator used, is defined by com::sun::star::sdb::SQLFilterOperator.
+
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void setStructuredHavingClause([in] sequence< sequence<com::sun::star::beans::PropertyValue> > filter)
+ raises (com::sun::star::sdbc::SQLException);
+
+ /** appends a new HAVING filter condition by a
+ com::sun::star::sdb::DataColumn
+ providing the name and the value for the filter.
+ @param column
+ the column which is used to create a filter
+ @param andCriteria
+ If `TRUE` the filter condition will be appended as an AND condition, otherwise
+ the new filter condition will be appended as OR criteria.
+ E.g. (xx AND bb AND cc) OR newCriteria
+ @param filterOperator
+ The operator used, is defined by com::sun::star::sdb::SQLFilterOperator.
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void appendHavingClauseByColumn([in] com::sun::star::beans::XPropertySet column,[in] boolean andCriteria,[in] long filterOperator)
+ raises (com::sun::star::sdbc::SQLException, com::sun::star::lang::WrappedTargetException);
+
+ // ORDER BY
+
+ /** makes it possible to set a sort condition for the query.
+ @param order
+ the order part to set
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs
+ or the order isn't valid
+ or the statement isn't parsable.
+ */
+ void setOrder([in] string order)
+ raises (com::sun::star::sdbc::SQLException);
+
+
+ /** appends an additional part to the sort order criteria of the select
+ statement. The column must be a com::sun::star::sdbcx::Column.
+ @param column
+ the column which is used to create an order part
+ @param ascending
+ `TRUE` when the order should be ascending, otherwise if `FALSE` descending.
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void appendOrderByColumn([in] com::sun::star::beans::XPropertySet column,
+ [in] boolean ascending)
+ raises (com::sun::star::sdbc::SQLException);
+
+ // cumulative composing
+
+ /** sets a new elementary query for the composer
+
+ <p>An elementary query or statement is a (single select) statement whose parts are
+ not covered by the various set and get methods of the composer. That is, if the
+ elementary statement contains a filter clause, a call to
+ XSingleSelectQueryAnalyzer::getFilter() will not return you this
+ filter. Instead, only filters which have been set using for instance setFilter()
+ are covered by the get methods.</p>
+
+ <p>The only methods which take all parts of the elementary statement into account are
+ XSingleSelectQueryAnalyzer::getQuery() and
+ XSingleSelectQueryAnalyzer::getQueryWithSubstitution(), which always returns
+ the complete composed query.</p>
+
+ <p>As a result, you can use the composer to build cumulative filter expressions. That
+ is, you can set #ElementaryQuery to a statement already containing
+ filters, and then use setFilter() to append additional filters.</p>
+
+ <p>The very same holds for sort orders, <code>HAVING</code> and <code>GROUP BY</code>
+ clauses.</p>
+
+ <p>There are various use cases for this. For instance, you might want to use the
+ statement represented by a QueryDefinition, and extend it with additional
+ filters or sort orders, while not touching the respective parts already present
+ in QueryDefinition::Command. This can be achieved by setting the
+ QueryDefinition::Command as #ElementaryQuery of a
+ SingleSelectQueryComposer.</p>
+
+ <p>If, in such a scenario, you would be interested in the filter part of the
+ QueryDefinition::Command, you would set it via
+ XSingleSelectQueryAnalyzer::setQuery(), and retrieve the filter
+ part via XSingleSelectQueryAnalyzer::getFilter().</p>
+
+ <p>If you'd be interested in the composed filter, you would set the
+ QueryDefinition::Command as #ElementaryQuery, add your
+ filter, and propagate the resulting query (XSingleSelectQueryAnalyzer::getQuery())
+ to an SingleSelectQueryAnalyzer instance via
+ XSingleSelectQueryAnalyzer::setQuery().</p>
+ */
+ [attribute] string ElementaryQuery
+ {
+ set raises (com::sun::star::sdbc::SQLException);
+ };
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XSubDocument.idl b/offapi/com/sun/star/sdb/XSubDocument.idl
new file mode 100644
index 000000000..89c072140
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XSubDocument.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_sdb_XSubDocument_idl__
+#define __com_sun_star_sdb_XSubDocument_idl__
+
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#include <com/sun/star/lang/XComponent.idl>
+
+
+module com { module sun { module star { module sdb {
+
+
+/** allows operating on a sub document of an OfficeDatabaseDocument
+
+ @since OOo 3.1
+ */
+interface XSubDocument
+{
+ /** opens the sub document
+
+ <p>Note that opening the document means it is displayed in an own top-level frame
+ on the desktop.</p>
+
+ @return
+ the sub document, usually a com::sun::star::frame::XModel,
+ or a com::sun::star::frame::XController if the sub document
+ does not have an own model.
+
+ @throws ::com::sun::star::lang::WrappedTargetException
+ if an error occurs during opening the document
+ */
+ ::com::sun::star::lang::XComponent
+ open()
+ raises( ::com::sun::star::lang::WrappedTargetException );
+
+ /** opens the sub document in design mode
+
+ @return
+ the sub document, usually a com::sun::star::frame::XModel,
+ or a com::sun::star::frame::XController if the sub document
+ does not have an own model.
+
+ @throws ::com::sun::star::lang::WrappedTargetException
+ if an error occurs during opening the document
+ */
+ ::com::sun::star::lang::XComponent
+ openDesign()
+ raises( ::com::sun::star::lang::WrappedTargetException );
+
+ /** stores the sub document, if it had previously been opened in either mode
+
+ @throws ::com::sun::star::lang::WrappedTargetException
+ if an error occurs during storing the document
+ */
+ void store()
+ raises( ::com::sun::star::lang::WrappedTargetException );
+
+ /** closes the sub document, if it had previously been opened in either mode
+
+ @return `TRUE` if and only if the document could be closed, `FALSE` otherwise,
+ e.g. if the closing has been vetoed by the user.
+
+ @throws ::com::sun::star::lang::WrappedTargetException
+ if an error occurs during closing the document
+ */
+ boolean close()
+ raises( ::com::sun::star::lang::WrappedTargetException );
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XTextConnectionSettings.idl b/offapi/com/sun/star/sdb/XTextConnectionSettings.idl
new file mode 100644
index 000000000..89645ec0f
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XTextConnectionSettings.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+#ifndef __com_sun_star_sdb_XTextConnectionSettings_idl__
+#define __com_sun_star_sdb_XTextConnectionSettings_idl__
+
+#include <com/sun/star/ui/dialogs/XExecutableDialog.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+
+module com { module sun { module star { module sdb {
+
+/**
+ @since LibreOffice 4.1
+*/
+interface XTextConnectionSettings {
+
+ interface com::sun::star::ui::dialogs::XExecutableDialog;
+
+ interface com::sun::star::beans::XPropertySet;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/application/CopyTableContinuation.idl b/offapi/com/sun/star/sdb/application/CopyTableContinuation.idl
new file mode 100644
index 000000000..dfc3423c0
--- /dev/null
+++ b/offapi/com/sun/star/sdb/application/CopyTableContinuation.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_sdb_application_CopyTableContinuation_idl__
+#define __com_sun_star_sdb_application_CopyTableContinuation_idl__
+
+
+module com { module sun { module star { module sdb { module application {
+
+
+/** specifies the possible continuations when copying a table row via a
+ CopyTableWizard failed.
+ */
+constants CopyTableContinuation
+{
+ /** indicates the error should be ignored, and copying should be continued.
+ */
+ const short Proceed = 0;
+
+ /** is used to indicate the next registered XCopyTableListener should be
+ called.
+ */
+ const short CallNextHandler = 1;
+
+ /** cancels the whole copying process
+ */
+ const short Cancel = 2;
+
+ /** asks the user how the handle the error.
+
+ <p>The user can choose between ignoring the error and canceling the copy
+ operation.</p>
+ */
+ const short AskUser = 3;
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/application/CopyTableOperation.idl b/offapi/com/sun/star/sdb/application/CopyTableOperation.idl
new file mode 100644
index 000000000..0a5587439
--- /dev/null
+++ b/offapi/com/sun/star/sdb/application/CopyTableOperation.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_sdb_application_CopyTableOperation_idl__
+#define __com_sun_star_sdb_application_CopyTableOperation_idl__
+
+
+module com { module sun { module star { module sdb { module application {
+
+
+/** specifies the different basic operations a CopyTableWizard
+ can do.
+
+ @since OOo 2.4
+*/
+constants CopyTableOperation
+{
+ /** specifies that the wizard should copy the source table to the target database,
+ by creating a new table and copying all data.
+ */
+ const short CopyDefinitionAndData = 0;
+
+ /** specifies that the wizard should copy the source table to the target database,
+ by only creating a new table with the same structure as the source table.
+ */
+ const short CopyDefinitionOnly = 1;
+
+ /** specifies the wizard should create the source table as view
+
+ <p>This option is not available if the target database does not support views.</p>
+ */
+ const short CreateAsView = 2;
+
+ /** specifies the wizard should append the source table's data to an existing
+ table in the target database.
+ */
+ const short AppendData = 3;
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/application/CopyTableRowEvent.idl b/offapi/com/sun/star/sdb/application/CopyTableRowEvent.idl
new file mode 100644
index 000000000..b0935ea66
--- /dev/null
+++ b/offapi/com/sun/star/sdb/application/CopyTableRowEvent.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_sdb_application_CopyTableRowEvent_idl__
+#define __com_sun_star_sdb_application_CopyTableRowEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+#include <com/sun/star/sdbc/XResultSet.idl>
+
+
+module com { module sun { module star { module sdb { module application {
+
+
+/** specifies an event happening while copying table data between databases.
+
+ <p>Whenever this event is fired to an XCopyTableListener,
+ com::sun::star::lang::EventObject::Source contains the
+ wizard instance which actually does the copying.</p>
+
+ @see CopyTableWizard
+ */
+struct CopyTableRowEvent : ::com::sun::star::lang::EventObject
+{
+ /** contains the result set which is being copied by the wizard currently.
+ */
+ ::com::sun::star::sdbc::XResultSet SourceData;
+
+ /** denotes the error which happened while copying the data.
+
+ <p>Usually, this contains an instance of com::sun::star::sdbc::SQLException.</p>
+ */
+ any Error;
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/application/CopyTableWizard.idl b/offapi/com/sun/star/sdb/application/CopyTableWizard.idl
new file mode 100644
index 000000000..eb7e4b689
--- /dev/null
+++ b/offapi/com/sun/star/sdb/application/CopyTableWizard.idl
@@ -0,0 +1,219 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sdb_application_CopyTableWizard_idl__
+#define __com_sun_star_sdb_application_CopyTableWizard_idl__
+
+#include <com/sun/star/sdb/application/XCopyTableWizard.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#include <com/sun/star/task/XInteractionHandler.idl>
+#include <com/sun/star/sdbc/SQLException.idl>
+
+
+module com { module sun { module star { module sdb { module application {
+
+
+/** describes a wizard which can be used to copy table like data from one
+ database to another.
+
+ <dl>
+ <dt><b><a name="interaction"></a>Interactions</b></dt>
+ <dd>
+ <p>There are various cases where the wizard needs to interact with the user (except of
+ course the obvious case to display and operate the wizard dialog itself). For those cases,
+ an interaction handler is needed, which is used for
+ <ul>
+ <li>fulfilling parameter requests. This might become necessary if the copy source
+ describes a parametrized query.</li>
+ <li>user interaction in case copying a row fails. If no copy table listener is
+ registered at the wizard, or none of the registered listener handles an error during
+ copying a row, or a registered listeners explicitly tells the wizard to ask the user
+ how to handle the error, then the interaction handler is used together with the
+ error (an <code>SQLException</code>, usually) that happened.</li>
+ <li>displaying other errors which happen during copying, in particular errors in
+ creating the target table or view.</li>
+ </ul></p>
+
+ <p>When you do not specify an interaction handler by using the
+ createWithInteractionHandler() constructor, the wizard will use the interaction
+ handler associated with the copy target, i.e. the interaction handler specified when loading
+ the document which the copy target refers to. If the copy target cannot be associated with
+ a database document (e.g. because it is a mere <code>ConnectionResource</code>, or a connection
+ not obtained from a data source), or if the copy target's database document cannot provide
+ an interaction handler, a newly-created instance of an interaction handler is used.</p>
+
+ <p>There's one exception to the above, however: Upon creating the copy table wizard,
+ the copy source and the copy target descriptors are used to create a Connection. For any
+ interaction during this phase - including, for instance, necessary authentication -, the
+ interaction handler of the respective data source is used, no matter what you specified
+ in createWithInteractionHandler(). Only if there is no such interaction
+ handler, the processing described above, to find another handler, is applied.</p>
+ </dd>
+ </dl>
+
+ @see ::com::sun::star::sdb::ParametersRequest
+ @see XCopyTableWizard::addCopyTableListener
+ @see CopyTableContinuation
+ @see ::com::sun::star::document::MediaDescriptor::InteractionHandler
+ @see ::com::sun::star::sdb::DatabaseDocument
+ @see ::com::sun::star::sdb::DataSource
+ @see ::com::sun::star::sdb::DataAccessDescriptor::ConnectionResource
+ @see ::com::sun::star::sdb::InteractionHandler
+
+ @since OOo 2.4
+ */
+service CopyTableWizard : XCopyTableWizard
+{
+ /** creates an executable wizard dialog, which is to guide the user through copying
+ a table from one database to another.
+
+ <p>At creation time, an attempt will be made to obtain the connections described
+ by Source resp. Dest. Failing to do so will result in an
+ exception.</p>
+
+ <p>If the connection has been newly created by the wizard (e.g. because the
+ data access descriptor specified a <code>DataSource</code> instead of an <code>ActiveConnection</code>),
+ then this connection will be disposed upon disposal of the wizard.</p>
+
+ @param Source
+ the com::sun::star::sdb::DataAccessDescriptor describing the
+ data to copy.
+
+ <p>The following members of the <code>DataAccessDescriptor</code> are supported, and evaluated
+ in the given order:
+ <ol><li><code>ActiveConnection</code></li>
+ <li><code>DataSourceName</code></li>
+ <li><code>DatabaseLocation</code></li>
+ <li><code>ConnectionResource</code></li>
+ <li><code>ConnectionInfo</code></li>
+ <li><code>Command</code></li>
+ <li><code>CommandType</code></li>
+ </ol>
+ The first 5 items are used to obtain the connection, the last two to determine which
+ of the connection's objects is to be copied. Note that <code>Command</code> and <code>CommandType</code>
+ are required.</p>
+
+ <p>Additionally to the obvious restrictions (such as that creating a view is not possible
+ if the copy source and the copy destination denote different databases), the following restrictions
+ apply to the settings, and possible combinations:
+ <ul><li>Only com::sun::star::sdb::CommandType::TABLE and
+ com::sun::star::sdb::CommandType::QUERY are supported.</li>
+
+ <li>If you specify a <code>ConnectionResource</code>, or an
+ <code>ActiveConnection</code> which implements a com::sun::star::sdbc::Connection only
+ (as opposed to a com::sun::star::sdb::Connection), then the resulting connection is
+ not able to provide queries, thus a command type <code>QUERY</code> will be rejected.</li>
+
+ <li><code>Filter</code>, <code>Order</code>, <code>HavingClause</code> and <code>GroupBy</code>
+ are unsupported at the moment.</li>
+ </ul>
+ Violating any of the above restrictions will result in an error at creation time.</p>
+
+ @param Destination
+ the com::sun::star::sdb::DataAccessDescriptor describing the
+ target for the copy operation.
+
+ <p>Only <code>DataSourceName</code>, <code>DatabaseLocation</code>, <code>ActiveConnection</code>
+ are supported, effectively describing the target connection to copy the data to. They're evaluated
+ in the order mentioned here, so if multiple of the are present, only the first one is evaluated.</p>
+
+ <p>Also, at the moment the connection which is implied by either of the settings above
+ must support the com::sun::star::sdb::Connection service. In particular,
+ it is not sufficient to pass an SDBC-level connection.</p>
+
+ <p>Note that creating a view (see CopyTableOperation::CreateAsView) is
+ not supported if the target connection is an SDBC-level connection only.</p>
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if
+ <ul><li>either <code>Source</code> or <code>Destination</code> is `NULL`</li>
+ <li>either <code>Source</code> or <code>Destination</code> are not sufficient
+ to describe a database connection.</li>
+ <li><code>Source</code> is not sufficient to describe the to-be-copied data</li>
+ <li>either <code>Source</code> or <code>Destination</code> contain unsupported settings.</li>
+ </ul>
+
+ @throws ::com::sun::star::sdbc::SQLException
+ if an error occurs during obtaining the source or destination connection. Those errors
+ are passed unchanged to the creator of the wizard.
+
+ @throws ::com::sun::star::lang::WrappedTargetException
+ if an error other than the ones mentioned above occurs while extracting the necessary
+ information from any of the data access descriptors. For instance, this might
+ be a com::sun::star::sdbc::SQLException thrown upon connecting
+ to a data source described by the descriptor's <code>DataSourceName</code> member.
+
+ @see ::com::sun::star::sdb::DataAccessDescriptor
+ */
+ create(
+ [in] ::com::sun::star::beans::XPropertySet Source,
+ [in] ::com::sun::star::beans::XPropertySet Destination
+ )
+ raises ( ::com::sun::star::lang::IllegalArgumentException
+ , ::com::sun::star::sdbc::SQLException
+ , ::com::sun::star::lang::WrappedTargetException
+ );
+
+ /** creates an executable wizard dialog, which is to guide the user through copying
+ a table from one database to another.
+
+ <p>The only difference to the create() constructor is that
+ <code>createWithInteractionHandler</code> takes an additional argument, which
+ can be used to intercept interactions (such as error messages) during the wizard
+ run.</p>
+
+ @param Source
+ the com::sun::star::sdb::DataAccessDescriptor describing the
+ source for the copy operation.
+
+ @param Destination
+ the com::sun::star::sdb::DataAccessDescriptor describing the
+ target for the copy operation.
+
+ @param InteractionHandler
+ specifies an interaction handler to use when user input is required.
+
+ <p>When specifying this parameter, you should use an implementation
+ supporting the com::sun::star::sdb::InteractionHandler, since
+ the general-purpose com::sun::star::task::InteractionHandler cannot
+ handle all requests described <a href="#interaction">above</a>.</p>
+
+ @see ::com::sun::star::sdb::InteractionHandler
+ */
+ createWithInteractionHandler(
+ [in] ::com::sun::star::beans::XPropertySet Source,
+ [in] ::com::sun::star::beans::XPropertySet Destination,
+ [in] ::com::sun::star::task::XInteractionHandler InteractionHandler
+ )
+ raises ( ::com::sun::star::lang::IllegalArgumentException
+ , ::com::sun::star::sdbc::SQLException
+ , ::com::sun::star::lang::WrappedTargetException
+ );
+
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/application/DatabaseObject.idl b/offapi/com/sun/star/sdb/application/DatabaseObject.idl
new file mode 100644
index 000000000..366be5002
--- /dev/null
+++ b/offapi/com/sun/star/sdb/application/DatabaseObject.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_sdb_application_DatabaseObject_idl__
+#define __com_sun_star_sdb_application_DatabaseObject_idl__
+
+#include <com/sun/star/sdb/CommandType.idl>
+
+
+module com { module sun { module star { module sdb { module application {
+
+
+/** denotes different objects within a database document
+
+ @since OOo 2.2
+
+ @see DatabaseObjectContainer
+ */
+constants DatabaseObject
+{
+ /** denotes a table in a database
+
+ <p>Note that <em>table</em> here is a more general term. In OpenOffice.org Base,
+ views are also represented as tables, since to the user, the behave pretty much
+ as tables do.</p>
+ */
+ const long TABLE = com::sun::star::sdb::CommandType::TABLE;
+
+ /** denotes a query in a database document
+ */
+ const long QUERY = com::sun::star::sdb::CommandType::QUERY;
+
+ /** denotes a form in a database document
+ */
+ const long FORM = 2;
+
+ /** denotes a report in a database document
+ */
+ const long REPORT = 3;
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/application/DatabaseObjectContainer.idl b/offapi/com/sun/star/sdb/application/DatabaseObjectContainer.idl
new file mode 100644
index 000000000..a4e714cdc
--- /dev/null
+++ b/offapi/com/sun/star/sdb/application/DatabaseObjectContainer.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_sdb_application_DatabaseObjectContainer_idl__
+#define __com_sun_star_sdb_application_DatabaseObjectContainer_idl__
+
+
+module com { module sun { module star { module sdb { module application {
+
+
+/** denotes different types of (maybe virtual) containers of database objects
+
+ <p>In the database application of OpenOffice.org, database objects (such as
+ tables, queries, forms, reports) can be organized in folders. This hierarchy can
+ be imposed externally, or internally.
+
+ <p>For example, when you connect to a database which supports catalogs and/or schemas,
+ then those impose a natural order on the tables, in that a catalog or a schema
+ is a folder of tables.</p>
+
+ <p>On the other hand, for forms and reports, OpenOffice.org Base itself allows the
+ user to create folders to organize the documents - in this case, the hierarchy is
+ defined in the database document itself.</p>
+
+ @see DatabaseObject
+
+ @since OOo 3.0
+ */
+constants DatabaseObjectContainer
+{
+ /** denotes the virtual folder containing all tables of a database, in a context where such a
+ folder is displayed to the user.
+ */
+ const long TABLES = 1000;
+
+ /** denotes the virtual folder containing all queries of a database, in a context where such a
+ folder is displayed to the user.
+ */
+ const long QUERIES = 1001;
+
+ /** denotes the virtual folder containing all forms of a database document, in a context where such a
+ folder is displayed to the user.
+ */
+ const long FORMS = 1002;
+
+ /** denotes the virtual folder containing all reports of a database, in a context where such a
+ folder is displayed to the user.
+ */
+ const long REPORTS = 1003;
+
+ /** denotes the data source itself, which effectively is the root container for all other
+ kind of database objects, including other container types.
+ */
+ const long DATA_SOURCE = 1004;
+
+ /** denotes a catalog in a database which supports catalogs
+ */
+ const long CATALOG = 1005;
+
+ /** denotes a schema in a database which supports schemas
+ */
+ const long SCHEMA = 1006;
+
+ /** denotes a folder which is used to organize forms in a database document
+ */
+ const long FORMS_FOLDER = 1007;
+
+ /** denotes a folder which is used to organize reports in a database document
+ */
+ const long REPORTS_FOLDER = 1008;
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/application/DefaultViewController.idl b/offapi/com/sun/star/sdb/application/DefaultViewController.idl
new file mode 100644
index 000000000..c41879e57
--- /dev/null
+++ b/offapi/com/sun/star/sdb/application/DefaultViewController.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_sdb_application_DefaultViewController_idl__
+#define __com_sun_star_sdb_application_DefaultViewController_idl__
+
+#include <com/sun/star/frame/Controller.idl>
+#include <com/sun/star/ui/XContextMenuInterception.idl>
+#include <com/sun/star/awt/XUserInputInterception.idl>
+#include <com/sun/star/view/XSelectionSupplier.idl>
+#include <com/sun/star/frame/XTitle.idl>
+#include <com/sun/star/frame/XTitleChangeBroadcaster.idl>
+#include <com/sun/star/sdb/application/XDatabaseDocumentUI.idl>
+
+
+module com { module sun { module star { module sdb { module application {
+
+
+/** is the default controller implementation for OpenOffice.org's database application.
+ */
+service DefaultViewController
+{
+ /** defines basic controller functionality
+ */
+ service ::com::sun::star::frame::Controller;
+
+ /** allows intercepting context menu requests done by the user
+
+ <p>The ::com::sun::star::ui::ContextMenuExecuteEvent::Selection member
+ of the event passed to an interceptor will <em>not</em> be the controller itself
+ (though the controller also supports the <a href="#XSelectionSupplier"><code>XSelectionSupplier</code></a>
+ interface), but a component which describes the current selection of the very window where the context
+ menu was requested.</p>
+
+ <p>In OpenOffice.org's database application, database objects such as tables, queries, forms,
+ reports are displayed in a tree-like fashion. Currently, only context menu requests on this tree view
+ can be intercepted using the <code>XContextMenuInterception</code> interface. Context menu requests
+ in other places cannot be intercepted.</p>
+
+ <p>For the aforementioned tree view, the selection supplied by the <code>ContextMenuEvent::Selection</code>
+ component is an array of NamedDatabaseObject instances.</p>
+ */
+ interface ::com::sun::star::ui::XContextMenuInterception;
+
+ /** allows intercepting user input done by the user
+ */
+ interface ::com::sun::star::awt::XUserInputInterception;
+
+ /** <a name="XSelectionSupplier"></a>
+ provides access to the current selection inside the application window, and allows to change it
+ programmatically
+
+ <p>The selection is an array of NamedDatabaseObject instances.</p>
+ */
+ interface ::com::sun::star::view::XSelectionSupplier;
+
+ /** allows to retrieve and set the title which of the component
+ */
+ interface ::com::sun::star::frame::XTitle;
+
+ /** allows being notified about changes in the component's title
+ */
+ interface ::com::sun::star::frame::XTitleChangeBroadcaster;
+
+ /** allows programmatic access to aspects of the application's user interface.
+ */
+ interface XDatabaseDocumentUI;
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/application/NamedDatabaseObject.idl b/offapi/com/sun/star/sdb/application/NamedDatabaseObject.idl
new file mode 100644
index 000000000..99f239596
--- /dev/null
+++ b/offapi/com/sun/star/sdb/application/NamedDatabaseObject.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_sdb_application_NamedDatabaseObject_idl__
+#define __com_sun_star_sdb_application_NamedDatabaseObject_idl__
+
+
+module com { module sun { module star { module sdb { module application {
+
+
+/** denotes a named database object, or a named folder of database objects
+
+ @since OOo 3.0
+*/
+struct NamedDatabaseObject
+{
+ /** denotes the type of the object.
+
+ <p>This member is one of the DatabaseObject or DatabaseObjectContainer constants.</p>
+ */
+ long Type;
+
+ /** denotes the name of the object
+
+ <p>In case of forms, reports, form folders and report folders, this is the hierarchical
+ path to the object, where the path elements are separated by a slash (<code>/</code>).</p>
+
+ <p>In case of tables, this is the fully qualified name of the table, as required
+ by the database's table name composition rules.</p>
+
+ <p>In case of queries, this is the name of the query.</p>
+
+ <p>In case of virtual folders denoted by DatabaseObjectContainer::CATALOG and
+ DatabaseObjectContainer::SCHEMA, it is
+ <ul><li><code>&lt;schema&gt;</code>, if the database supports schemas only</li>
+ <li><code>&lt;catalog&gt;</code>, if the database supports catalogs only</li>
+ <li><code>&lt;catalog&gt;.&lt;schema&gt;</code>, if the database supports both
+ catalogs and schemas, and catalogs are to appear at the beginning of an identifier.</li>
+ <li><code>&lt;schema&gt;.&lt;catalog&gt;</code>, if the database supports both
+ catalogs and schemas, and catalogs are to appear at the end of an identifier.</li>
+ </ul>
+ </p>
+
+ <p>In case of the virtual folders denoted by DatabaseObjectContainer::TABLES,
+ DatabaseObjectContainer::QUERIES, DatabaseObjectContainer::DATA_SOURCE,
+ DatabaseObjectContainer::FORMS or DatabaseObjectContainer::REPORTS,
+ this denotes the name of the data source (as denoted by
+ com::sun::star::sdb::DataSource::Name)</p>
+
+ @see XDatabaseMetaData::isCatalogAtStart
+ @see DatabaseObjectContainer
+ */
+ string Name;
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/application/XCopyTableListener.idl b/offapi/com/sun/star/sdb/application/XCopyTableListener.idl
new file mode 100644
index 000000000..72613157e
--- /dev/null
+++ b/offapi/com/sun/star/sdb/application/XCopyTableListener.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_sdb_application_XCopyTableListener_idl__
+#define __com_sun_star_sdb_application_XCopyTableListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+#include <com/sun/star/sdb/application/CopyTableRowEvent.idl>
+
+
+module com { module sun { module star { module sdb { module application {
+
+
+/** specifies the interface required to listen for progress in copying
+ table rows via a <code>CopyTableWizard</code>.
+
+ @see CopyTableRowEvent
+ @see CopyTableWizard
+ */
+interface XCopyTableListener : ::com::sun::star::lang::XEventListener
+{
+ /** is called when a row is about to be copied.
+
+ <p>This method is called immediately before a row is copied. It might be used, for instance,
+ to update a progress indicator.</p>
+
+ @param Event
+ describes the current state of the copy operation.
+ CopyTableRowEvent::SourceData is positioned at the row
+ which is about to be copied.
+ */
+ void copyingRow( [in] CopyTableRowEvent Event );
+
+ /** is called when a row was successfully copied.
+
+ <p>This method is called right after a row has been successfully copied. It might be used,
+ for instance, to update a progress indicator.</p>
+
+ @param Event
+ describes the current state of the copy operation.
+ CopyTableRowEvent::SourceData is positioned at the row
+ which was just copied to the target database.
+ */
+ void copiedRow( [in] CopyTableRowEvent Event );
+
+ /** is called when copying a row failed.
+
+ @param Event
+ describes the current state of the copy operation.
+ CopyTableRowEvent::SourceData is positioned at the row
+ which was attempted to be copied to the target database.
+ CopyTableRowEvent::Error will contain the actual error which
+ happened.
+
+ @return
+ how to continue with copying. Must be one of the CopyTableContinuation
+ constants.
+ */
+ short copyRowError( [in] CopyTableRowEvent Event );
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/application/XCopyTableWizard.idl b/offapi/com/sun/star/sdb/application/XCopyTableWizard.idl
new file mode 100644
index 000000000..18b312f4f
--- /dev/null
+++ b/offapi/com/sun/star/sdb/application/XCopyTableWizard.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_sdb_application_XCopyTableWizard_idl__
+#define __com_sun_star_sdb_application_XCopyTableWizard_idl__
+
+#include <com/sun/star/ui/dialogs/XExecutableDialog.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/sdbc/SQLException.idl>
+#include <com/sun/star/beans/Optional.idl>
+
+module com { module sun { module star { module sdb { module application {
+
+interface XCopyTableListener;
+
+
+/** describes a wizard which can be used to copy table like data from one
+ database to another.
+
+ <p>Copying table data between databases can be a complex task. Especially when
+ it comes to matching field types in the source and in the target database,
+ some heuristics, and sometimes support from the user doing the operation,
+ are required.</p>
+
+ <p>The <code>copy table wizard</code> described by this interfaces cares for those,
+ and other, settings.</p>
+
+ @since OOo 2.4
+ */
+interface XCopyTableWizard : ::com::sun::star::ui::dialogs::XExecutableDialog
+{
+ /** specifies the basic operation for the wizard to execute.
+
+ <p>This must be one of the CopyTableOperation constants.</p>
+
+ <p>At initialization time, you can use this attribute to control the
+ initial operation in the wizard.</p>
+
+ <p>After the wizard has finished, you can use this attribute to determine
+ what operation was actually executed.</p>
+
+ <p>Changing this attribute while the dialog is running is not supported, the
+ result of such an attempt is undefined.</p>
+
+ @throws IllegalArgumentException
+ if you attempt to set an invalid operation, or if the given operation is
+ not supported by the target database type, e.g. if you specified
+ CopyTableOperation::CreateAsView where the database
+ does not support views.
+ */
+ [attribute] short Operation
+ {
+ set raises ( ::com::sun::star::lang::IllegalArgumentException );
+ };
+
+ /** specifies the name of the table in the destination database.
+
+ <p>At initialization time, you can use this attribute to control the
+ initial table name as suggested to the user.</p>
+
+ <p>After the wizard has finished, you can use this attribute to determine
+ what table was actually created resp. to which existing table the source
+ table's data was appended.</p>
+
+ <p>Changing this attribute while the dialog is running is not supported, the
+ result of such an attempt is undefined.</p>
+ */
+ [attribute] string DestinationTableName;
+
+ /** specifies that a new primary key is to be created in the target database
+
+ <p>At initialization time, you can specify the initial settings for the primary
+ key in the UI.</p>
+
+ <p>You cannot use this attribute to determine the primary key, possibly created
+ by the wizard, after it finished. The reason is that during the wizard run, the
+ user can define an arbitrarily complex primary key, e.g. including multiple columns,
+ which cannot be represented in this simple attribute anymore.</p>
+
+ <p>This attribute is ignored if #Operation is
+ CopyTableOperation::AppendData.</p>
+
+ <p>Changing this attribute while the dialog is running is not supported, the
+ result of such an attempt is undefined.</p>
+
+ <p>When a primary key is to be created by the wizard, it will be an auto-increment
+ column, if possible.</p>
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if the target database does not support primary keys
+ */
+ [attribute] ::com::sun::star::beans::Optional< string >
+ CreatePrimaryKey
+ {
+ set raises ( ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::sdbc::SQLException );
+ };
+
+ /** specifies that the first row should be used to identify column names.
+
+ <p>This attribute is ignored when the source defines the column names which isn't the case when only a part of a table should be copied
+ e.g. in the RTF format or in the HTML format.
+ </p>
+ */
+ [attribute] boolean UseHeaderLineAsColumnNames;
+
+ /** adds a listener which is to be notified of progress in the copy operation
+ */
+ void addCopyTableListener( [in] XCopyTableListener Listener );
+
+ /** removes a listener
+ */
+ void removeCopyTableListener( [in] XCopyTableListener Listener );
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/application/XDatabaseDocumentUI.idl b/offapi/com/sun/star/sdb/application/XDatabaseDocumentUI.idl
new file mode 100644
index 000000000..a8f54d4f7
--- /dev/null
+++ b/offapi/com/sun/star/sdb/application/XDatabaseDocumentUI.idl
@@ -0,0 +1,322 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sdb_application_XDatabaseDocumentUI_idl__
+#define __com_sun_star_sdb_application_XDatabaseDocumentUI_idl__
+
+#include <com/sun/star/sdbc/XDataSource.idl>
+#include <com/sun/star/sdbc/SQLException.idl>
+#include <com/sun/star/sdbc/XConnection.idl>
+#include <com/sun/star/awt/XWindow.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/container/NoSuchElementException.idl>
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/beans/Pair.idl>
+
+
+module com { module sun { module star { module sdb { module application {
+
+
+/** provides access to the user interface of a database document
+
+ <p>This interface is available when a database document has been loaded into
+ a frame, at the controller of this frame.</p>
+
+ @see com::sun::star::frame::Controller
+ @see com::sun::star::sdb::DatabaseDocument
+
+ @since OOo 2.2
+ */
+interface XDatabaseDocumentUI
+{
+ /** provides access to the data source belong to the database document
+ */
+ [attribute, readonly] com::sun::star::sdbc::XDataSource DataSource;
+
+ /** provides access to the application's main window
+
+ <p>Note that reading this attribute is equivalent to querying the component
+ for the com::sun::star::frame::XController interface,
+ asking the controller for its frame, and asking this frame for its
+ container window.</p>
+
+ @see ::com::sun::star::frame::XController
+ @see ::com::sun::star::frame::XFrame
+ */
+ [attribute, readonly] com::sun::star::awt::XWindow ApplicationMainWindow;
+
+ /** provides access to the current connection of the application
+
+ <p>Note that the connection returned here is really the working connection
+ of the application. Clients should not misuse it, in particular, closing
+ the connection can yield unexpected results and should definitely be
+ avoided. If you need a separate connection to the data source, use
+ com::sun::star::sdbc::XDataSource::getConnection().</p>
+ */
+ [attribute, readonly] com::sun::star::sdbc::XConnection ActiveConnection;
+
+ /** determines whether the application is currently connected to the database
+ */
+ boolean isConnected();
+
+ /** lets the application connect to the database
+
+ <p>If the application is already connected, nothing happens. If it is not
+ connected, the application will try to establish a connection by using
+ com::sun::star::sdbc::XDataSource::getConnection()
+ with the current settings, as specified in the
+ com::sun::star::sdb::DataSource::Settings member.</p>
+
+ <p>If the connection cannot be established, the respective error message is shown
+ in the application window.</p>
+
+ @throws ::com::sun::star::sdbc::SQLException
+ if the connection cannot be established
+ */
+ void connect()
+ raises ( ::com::sun::star::sdbc::SQLException );
+
+ /** contains all sub components of the database document
+
+ <p>During working with the database, the user might open different sub components:
+ forms, reports, tables, queries. Those components are tracked by the application,
+ and provided in this attribute.</p>
+
+ <p>The components here might either be documents (com::sun::star::frame::XModel),
+ controllers (com::sun::star::frame::XController), or frames
+ (com::sun::star::frame::XFrame).
+
+ @since OOo 3.0
+ */
+ [attribute, readonly] sequence< ::com::sun::star::lang::XComponent >
+ SubComponents;
+
+ /** identifies the given sub component
+
+ @param SubComponent
+ the component to identify. Must be one of the components in #SubComponents.
+
+ @return
+ a record describing the sub component. The first element of the returned pair is the type
+ of the component, denoted by one of the DatabaseObject constants. The second
+ element is the name of the component. For object types which support nested structures (forms
+ and reports, actually), this might be a hierarchical name. If the sub component has been newly created,
+ and not yet saved, this name is empty.
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if the given component is not one of the controller's sub components
+ */
+ ::com::sun::star::beans::Pair< long, string >
+ identifySubComponent(
+ [in] ::com::sun::star::lang::XComponent SubComponent
+ )
+ raises (
+ ::com::sun::star::lang::IllegalArgumentException
+ );
+
+ /** closes all sub components of the database document.
+
+ <p>During working with the database, the user might open different sub components:
+ forms, reports, tables, queries. If you need to close all those documents, use
+ <code>closeSubComponents</code>, which will gracefully do this.</p>
+
+ <p>In a first step, the sub components will be suspended
+ (com::sun::star::frame::XController::suspend()). There
+ are basically two reasons why suspending a single sub component can fail: The
+ user might veto it (she's asked if the document is currently modified), and
+ the component might be uncloseable currently, e.g. due to an open modal
+ dialog, or a long-lasting operation running currently (e.g. printing).</p>
+
+ <p>Once all sub components have been suspended, they will, in a second step,
+ be closed. Again, closing might be vetoed by other instances, e.g. by a close
+ listener registered at the component.</p>
+
+ @return
+ `TRUE` if and only if both suspending and closing all sub components succeeds.
+
+ @since OOo 3.0
+ */
+ boolean closeSubComponents();
+
+ /** loads the given sub component of the database document
+
+ <p>This method allows programmatic access to the functionality which is present in the UI:
+ it allows opening a table, query, form, or report for either editing or viewing.</p>
+
+ <p>This method is a convenience wrapper for API which is also available otherwise. For instance,
+ for loading forms and reports, you could use the com::sun::star::frame::XComponentLoader
+ interface of the ::com::sun::star::sdb::Forms resp. ::com::sun::star::sdb::Reports
+ collections.</p>
+
+ <p>Note there must exist a connection to the database before you can call this method.</p>
+
+ <p>If an error occurs opening the given object, then this is reported to the user via an error dialog.</p>
+
+ @see isConnected
+ @see connect
+
+ @param ObjectType
+ specifies the type of the object, must be one of the DatabaseObject
+ constants.
+
+ @param ObjectName
+ specifies the name of the object. In case hierarchical objects are supported
+ (as is the case form forms and reports), hierarchical names are supported here, too.
+
+ @param ForEditing
+ specifies whether the object should be opened for editing (`TRUE`) or viewing (`FALSE`).
+
+ <p>For the different object types, this means the following
+ <a name="component_types"></a>
+ <table style="width:100%;" border="1 solid black" cellpadding="2" cellspacing="2">
+ <tr style="vertical-align: top;">
+ <td></td>
+ <td><code>ForEditing</code> = `TRUE`</td>
+ <td><code>ForEditing</code> = `FALSE`</td>
+ </tr>
+
+ <tr style="vertical-align: top;">
+ <td><em>Tables</em></td>
+ <td>A table designer is opened, and allows to edit the structure of the table.
+ See also ::com::sun::star::sdb::TableDesign</td>
+ <td>A table data view is opened, and allows to view and edit the data contained in the table.
+ See also ::com::sun::star::sdb::DataSourceBrowser</td>
+ </tr>
+
+ <tr style="vertical-align: top;">
+ <td><em>Queries</em></td>
+ <td>A query designer is opened, and allows to edit the statement constituting the query.
+ See also ::com::sun::star::sdb::QueryDesign</td>
+ <td>A table data view is opened, and allows to view and edit the data contained in the query.
+ See also ::com::sun::star::sdb::DataSourceBrowser</td>
+ </tr>
+
+ <tr style="vertical-align: top;">
+ <td><em>Forms</em></td>
+ <td>The form document is opened in design mode, that is, you can modify it.</td>
+ <td>The form document is opened in read-only mode, allowing you to view and enter the data
+ which the form is based on, but not the form design.</td>
+ </tr>
+
+ <tr style="vertical-align: top;">
+ <td><em>Reports</em></td>
+ <td>The report document is opened in design mode, that is, you can modify it.</td>
+ <td>The report is executed, and the results will be displayed.</td>
+ </tr>
+
+ </table>
+ </p>
+
+ @return
+ the component which has been loaded. This is either a com::sun::star::frame::XModel,
+ or a com::sun::star::frame::XController if the component does is model-less.
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if ObjectType denotes an invalid object type
+
+ @throws ::com::sun::star::container::NoSuchElementException
+ if an object with the given name and of the given type does not exist
+
+ @throws ::com::sun::star::sdbc::SQLException
+ if there is no connection to the database at the time the method is called.
+ */
+ ::com::sun::star::lang::XComponent loadComponent(
+ [in] long ObjectType,
+ [in] string ObjectName,
+ [in] boolean ForEditing )
+ raises ( ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::container::NoSuchElementException,
+ ::com::sun::star::sdbc::SQLException );
+
+ /** loads the given sub component of the database document
+
+ <p>In opposite to loadComponent(), this method allows you to specify
+ additional arguments which are passed to the to-be-loaded component.</p>
+
+ <p>The meaning of the arguments is defined at the service which is effectively
+ created. See the <a href="#component_types">above table</a> for a list of those
+ services.</p>
+ */
+ ::com::sun::star::lang::XComponent loadComponentWithArguments(
+ [in] long ObjectType,
+ [in] string ObjectName,
+ [in] boolean ForEditing,
+ [in] sequence< ::com::sun::star::beans::PropertyValue > Arguments )
+ raises ( ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::container::NoSuchElementException,
+ ::com::sun::star::sdbc::SQLException );
+
+ /** creates a new sub component of the given type
+
+ @param ObjectType
+ specifies the type of the object, must be one of the DatabaseObject
+ constants.
+
+ @param DocumentDefinition
+ Upon successful return, and if and only if ObjectType equals DatabaseObject::FORM
+ or DatabaseObject::REPORT, this will contain the com::sun::star::sdb::DocumentDefinition
+ object which controls the sub component.
+ */
+ ::com::sun::star::lang::XComponent createComponent(
+ [in] long ObjectType,
+ [out] ::com::sun::star::lang::XComponent DocumentDefinition )
+ raises ( ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::sdbc::SQLException );
+
+ /** creates a new sub component of the given type
+
+ <p>In opposite to createComponent(), this method allows you to specify
+ additional arguments which are passed to the to-be-loaded component.</p>
+
+
+ @param ObjectType
+ specifies the type of the object, must be one of the DatabaseObject
+ constants.
+
+ @param Arguments
+ The meaning of the arguments is defined at the service which is
+ effectively created. See the <a href="#component_types">above
+ table</a> for a list of those services.
+
+ @param DocumentDefinition
+ Upon successful return, and if and only if ObjectType equals DatabaseObject::FORM
+ or DatabaseObject::REPORT, this will contain the com::sun::star::sdb::DocumentDefinition
+ object which controls the sub component.<br/>
+ You can use this object to control various aspects of the sub component. For instance, you could decide
+ to create the component hidden, by passing a <code>Hidden</code> flag (set to `TRUE`) in Arguments,
+ manipulate the component, and then finally show it by invoking the <code>show</code> command at the
+ definition object.
+ */
+ ::com::sun::star::lang::XComponent createComponentWithArguments(
+ [in] long ObjectType,
+ [in] sequence< ::com::sun::star::beans::PropertyValue > Arguments,
+ [out] ::com::sun::star::lang::XComponent DocumentDefinition )
+ raises ( ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::container::NoSuchElementException,
+ ::com::sun::star::sdbc::SQLException );
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/application/XTableUIProvider.idl b/offapi/com/sun/star/sdb/application/XTableUIProvider.idl
new file mode 100644
index 000000000..e9bb5b53e
--- /dev/null
+++ b/offapi/com/sun/star/sdb/application/XTableUIProvider.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_sdb_application_XTableUIProvider_idl__
+#define __com_sun_star_sdb_application_XTableUIProvider_idl__
+
+#include <com/sun/star/graphic/XGraphic.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/lang/WrappedTargetException.idl>
+
+
+module com { module sun { module star { module sdb { module application {
+
+interface XDatabaseDocumentUI;
+
+
+/** is used by the database application to obtain non-default user
+ interface information and/or components for database tables.
+
+ @see com::sun::star::sdb::Connection
+
+ @since OOo 2.2
+ */
+interface XTableUIProvider
+{
+ /** provides the icon which should be used to represent the table in the
+ database application window.
+
+ <p>The icon will usually be requested once per table, and cached. It
+ might be requested again if the application settings change, for instance,
+ if another desktop theme has been activated.</p>
+
+ @param TableName
+ denotes the fully qualified name of the database table.
+
+ @param ColorMode
+ denotes the color mode of the graphic to retrieve, being one of the
+ com::sun::star::graphic::GraphicColorMode constants.
+ @return
+ the icon which should be used to represent the table in the
+ database application window, or `NULL` if the default icon
+ should be used.
+ */
+ com::sun::star::graphic::XGraphic getTableIcon(
+ [in] string TableName, [in] long ColorMode );
+
+ /** returns a component which can be used to edit the definition of an
+ existing table.
+
+ @param DocumentUI
+ provides access to the UI in which the database document is
+ currently displayed.<br/>
+ In particular, this parameter provides access to the application's main
+ window, which is needed in case the table editor should be a dialog.
+
+ @param TableName
+ denotes the fully qualified name of an existing table.
+
+ @return
+ a component which can be used to edit the definition of an
+ existing table, or `NULL` if the default component should
+ be used.<br/>
+ Two component types are supported so far
+ <ul><li>modal dialogs<br/>
+ If the returned component supports the
+ com::sun::star::ui::dialogs::XExecutableDialog
+ interface, the dialog will be executed modally.</li>
+ <li>modeless frames<br/>
+ If the returned component supports the
+ com::sun::star::frame::XController
+ interface, it is assumed that it represents a controller,
+ loaded into a new frame, which is a modeless and, in its lifetime,
+ depends on the application main window.</li>
+ </ul>
+ If the returned component does not support any of the above-mentioned
+ interfaces, it's discarded.
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if the given TableName does not denote an existing table
+
+ @throws ::com::sun::star::lang::WrappedTargetException
+ if an error occurs while creating the table editor component.
+ */
+ com::sun::star::uno::XInterface getTableEditor(
+ [in] XDatabaseDocumentUI DocumentUI,
+ [in] string TableName )
+ raises (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::WrappedTargetException);
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/tools/CompositionType.idl b/offapi/com/sun/star/sdb/tools/CompositionType.idl
new file mode 100644
index 000000000..868bfd064
--- /dev/null
+++ b/offapi/com/sun/star/sdb/tools/CompositionType.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_sdb_tools_CompositionType_idl__
+#define __com_sun_star_sdb_tools_CompositionType_idl__
+
+module com { module sun { module star { module sdb { module tools {
+
+/** specifies which composition should be used when composing a table
+ name.
+
+ @see XTableName
+
+ @since OOo 2.0.4
+*/
+constants CompositionType
+{
+ /** specifies composition of a name to be used in table definitions
+
+ @see XDatabaseMetaData::supportsCatalogsInTableDefinitions
+ @see XDatabaseMetaData::supportsSchemasInTableDefinitions
+ */
+ const long ForTableDefinitions = 0;
+
+ /** specifies composition of a name to be used in index definitions
+
+ @see XDatabaseMetaData::supportsCatalogsInIndexDefinitions
+ @see XDatabaseMetaData::supportsSchemasInIndexDefinitions
+ */
+ const long ForIndexDefinitions = 1;
+
+ /** specifies composition of a name to be used in data manipulation
+
+ @see XDatabaseMetaData::supportsCatalogsInDataManipulation
+ @see XDatabaseMetaData::supportsSchemasInDataManipulation
+ */
+ const long ForDataManipulation = 2;
+
+ /** specifies composition of a name to be used in procedure calls
+
+ @see XDatabaseMetaData::supportsCatalogsInProcedureCalls
+ @see XDatabaseMetaData::supportsSchemasInProcedureCalls
+ */
+ const long ForProcedureCalls = 3;
+
+ /** specifies composition of a name to be used in privilege definitions
+
+ @see XDatabaseMetaData::supportsCatalogsInPrivilegeDefinitions
+ @see XDatabaseMetaData::supportsSchemasInPrivilegeDefinitions
+ */
+ const long ForPrivilegeDefinitions = 4;
+
+ /** specifies complete composition of a table name, including catalog and schema (if present),
+ disregarding any database support for catalog and schema in any particular statements
+ */
+ const long Complete = 5;
+};
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/tools/ConnectionTools.idl b/offapi/com/sun/star/sdb/tools/ConnectionTools.idl
new file mode 100644
index 000000000..3fc03a133
--- /dev/null
+++ b/offapi/com/sun/star/sdb/tools/ConnectionTools.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sdb_tools_ConnectionTools_idl__
+#define __com_sun_star_sdb_tools_ConnectionTools_idl__
+
+#include <com/sun/star/sdb/tools/XConnectionTools.idl>
+
+module com { module sun { module star { module sdbc {
+ published interface XConnection;
+};};};};
+
+module com { module sun { module star { module sdb { module tools {
+
+/**
+ @since LibreOffice 4.1
+*/
+service ConnectionTools : XConnectionTools
+{
+ createWithConnection([in] com::sun::star::sdbc::XConnection Connection);
+};
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/tools/XConnectionSupplier.idl b/offapi/com/sun/star/sdb/tools/XConnectionSupplier.idl
new file mode 100644
index 000000000..8e54488d9
--- /dev/null
+++ b/offapi/com/sun/star/sdb/tools/XConnectionSupplier.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_sdb_tools_XConnectionSupplier_idl__
+#define __com_sun_star_sdb_tools_XConnectionSupplier_idl__
+
+#include <com/sun/star/sdbc/XConnection.idl>
+#include <com/sun/star/lang/XInitialization.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+
+module com { module sun { module star { module sdb { module tools {
+
+/** allows to access the active connection
+
+ @see com::sun::star::sdbcx::XConnection
+
+ @since OOo 3.3
+*/
+interface XConnectionSupplier
+{
+ /** returns the source connection.
+ */
+ [attribute, readonly] com::sun::star::sdbc::XConnection ActiveConnection;
+
+ interface com::sun::star::lang::XInitialization;
+
+};
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/tools/XConnectionTools.idl b/offapi/com/sun/star/sdb/tools/XConnectionTools.idl
new file mode 100644
index 000000000..feb085e6a
--- /dev/null
+++ b/offapi/com/sun/star/sdb/tools/XConnectionTools.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_sdb_tools_XConnectionTools_idl__
+#define __com_sun_star_sdb_tools_XConnectionTools_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/sdbc/SQLException.idl>
+
+module com { module sun { module star {
+ module container {
+ interface XNameAccess;
+ };
+ module lang {
+ interface XComponent;
+ };
+};};};
+module com { module sun { module star { module sdb {
+ interface XSingleSelectQueryComposer;
+ module tools {
+
+interface XTableName;
+interface XObjectNames;
+interface XDataSourceMetaData;
+
+/** encapsulates various useful functionality around a
+ com::sun::star::sdb::Connection
+
+ <p>Most of the functionality provided here is meaningful only relative to
+ a given database connection. For instance, for quoting table names, you need
+ the meta data instance of the connection. Thus, the entry point for obtaining
+ a XConnectionTools instance is the
+ com::sun::star::sdb::Connection service.</p>
+
+ <p>Note that nearly all functionality provided by this interface is also
+ available by other means, it's only provided here for convenience purposes.</p>
+
+ @since OOo 2.0.4
+*/
+interface XConnectionTools
+{
+ /** creates an instance supporting the XTableName interface,
+ which can be used to manipulate table names for various purposes.
+
+ <p>The returned object is guaranteed to not be `NULL`.</p>
+ */
+ XTableName createTableName();
+
+ /** returns an instance supporting the XObjectNames interface,
+ which provides access to functionality around table and query names.
+
+ <p>The returned object is guaranteed to not be `NULL`.</p>
+ */
+ XObjectNames getObjectNames();
+
+ /** provides access to the application-level data source meta data
+ */
+ XDataSourceMetaData
+ getDataSourceMetaData();
+
+ /** get fields for a result set given by a "command descriptor"
+
+ <p>A command descriptor here means:
+ <ul><li>a SDB-level connection (com.sun.star.sdb::Connection</li>
+ <li>a string specifying the name of an object relative to the connection</li>
+ <li>a com.sun.star.sdb::CommandType value specifying the type
+ of the object</li>
+ </ul>
+ </p>
+
+ @param commandType
+ the type of the object
+
+ @param command
+ the object. This may be a table name, a query name, or an SQL statement, depending on the value
+ of _nCommandType
+
+ @param keepFieldsAlive
+ If (and only if) CommandType is CommandType.COMMAND, the fields collection which is returned
+ by this function here is a temporary object. It is kept alive by another object, which is to be
+ created temporarily, too. To ensure that the fields you get are valid as long as you need them,
+ the owner which controls their life time is transferred to this parameter upon return.<br/>
+ Your fields live as long as this component lives.<br/>
+ Additionally, you are encouraged to dispose this component as soon as you don't need the fields anymore.
+ It depends on the connection's implementation if this is necessary, but the is no guarantee, so to
+ be on the safe side with respect to resource leaks, you should dispose the component.
+
+ @return
+ the container of the columns (aka fields) of the object
+ */
+ ::com::sun::star::container::XNameAccess getFieldsByCommandDescriptor( [in] long commandType,
+ [in] string command,
+ [out] ::com::sun::star::lang::XComponent keepFieldsAlive
+ ) raises( com::sun::star::sdbc::SQLException );
+
+ /** get the composer initialized with a command and command type.
+ @param commandType
+ the type of the object
+
+ @param command
+ the object. This may be a table name, a query name, or an SQL statement, depending on the value
+ of _nCommandType
+ @return
+ the composer filled with command and command type.
+ */
+ ::com::sun::star::sdb::XSingleSelectQueryComposer getComposer([in] long commandType,[in] string command);
+};
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/tools/XDataSourceMetaData.idl b/offapi/com/sun/star/sdb/tools/XDataSourceMetaData.idl
new file mode 100644
index 000000000..eb7f48159
--- /dev/null
+++ b/offapi/com/sun/star/sdb/tools/XDataSourceMetaData.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sdb_tools_XDataSourceMetaData_idl__
+#define __com_sun_star_sdb_tools_XDataSourceMetaData_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/sdbc/SQLException.idl>
+
+module com { module sun { module star { module sdb { module tools {
+
+interface XDataSourceMetaData
+{
+ /** determines whether the data source supports queries in the <code>FROM</code>
+ part of a <code>SELECT</code> statement.
+ */
+ boolean supportsQueriesInFrom() raises ( com::sun::star::sdbc::SQLException );
+};
+
+}; }; }; }; };
+
+#endif
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/tools/XIndexAlteration.idl b/offapi/com/sun/star/sdb/tools/XIndexAlteration.idl
new file mode 100644
index 000000000..7cd7b240f
--- /dev/null
+++ b/offapi/com/sun/star/sdb/tools/XIndexAlteration.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_sdb_tools_XIndexAlteration_idl__
+#define __com_sun_star_sdb_tools_XIndexAlteration_idl__
+
+#include <com/sun/star/sdbc/SQLException.idl>
+#include <com/sun/star/sdb/tools/XConnectionSupplier.idl>
+#include <com/sun/star/lang/XInitialization.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+
+module com { module sun { module star { module sdb { module tools {
+
+/** allows to alter the indexes of a table.
+
+ @see com::sun::star::sdb::DataSource::Settings
+ @see com::sun::star::sdbcx::XAppend
+ @see com::sun::star::sdbcx::XDrop
+
+ @since OOo 3.3
+*/
+interface XIndexAlteration
+{
+ interface XConnectionSupplier;
+
+ /** drops an object of the related container identified by its name.
+ @param table
+ the table to be altered
+ @param index
+ the name of the column to be dropped
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void dropIndex([in] com::sun::star::beans::XPropertySet table,[in] string index)
+ raises ( com::sun::star::sdbc::SQLException);
+
+ /** creates a new object using the given descriptor and appends it
+ to the related container.
+ <b>
+ Note:
+ </b>
+ The descriptor will not be changed and can be used again to append another object.
+ @param table
+ the table to be altered
+ @param descriptor
+ the descriptor which should be serve to append a new object
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void addIndex([in] com::sun::star::beans::XPropertySet table,[in]com::sun::star::beans::XPropertySet descriptor)
+ raises (com::sun::star::sdbc::SQLException);
+
+
+};
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/tools/XKeyAlteration.idl b/offapi/com/sun/star/sdb/tools/XKeyAlteration.idl
new file mode 100644
index 000000000..961ec8c94
--- /dev/null
+++ b/offapi/com/sun/star/sdb/tools/XKeyAlteration.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_sdb_tools_XKeyAlteration_idl__
+#define __com_sun_star_sdb_tools_XKeyAlteration_idl__
+
+#include <com/sun/star/sdbc/SQLException.idl>
+#include <com/sun/star/sdb/tools/XConnectionSupplier.idl>
+#include <com/sun/star/lang/XInitialization.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+
+module com { module sun { module star { module sdb { module tools {
+
+/** allows to alter the keys of a table.
+
+ @see com::sun::star::sdb::DataSource::Settings
+ @see com::sun::star::sdbcx::XAppend
+ @see com::sun::star::sdbcx::XDrop
+
+ @since OOo 3.3
+*/
+interface XKeyAlteration
+{
+ interface XConnectionSupplier;
+
+ /** drops an object of the related container identified by its name.
+ @param table
+ the table to be altered
+ @param key
+ the key to be dropped
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void dropKey([in] com::sun::star::beans::XPropertySet table,[in] com::sun::star::beans::XPropertySet key)
+ raises ( com::sun::star::sdbc::SQLException);
+
+ /** creates a new object using the given descriptor and appends it
+ to the related container.
+ <b>
+ Note:
+ </b>
+ The descriptor will not be changed and can be used again to append another object.
+ @param table
+ the table to be altered
+ @param descriptor
+ the descriptor which should be serve to append a new object
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void addKey([in] com::sun::star::beans::XPropertySet table,[in]com::sun::star::beans::XPropertySet descriptor)
+ raises (com::sun::star::sdbc::SQLException);
+
+
+};
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/tools/XObjectNames.idl b/offapi/com/sun/star/sdb/tools/XObjectNames.idl
new file mode 100644
index 000000000..a82bd59a8
--- /dev/null
+++ b/offapi/com/sun/star/sdb/tools/XObjectNames.idl
@@ -0,0 +1,164 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sdb_tools_XObjectNames_idl__
+#define __com_sun_star_sdb_tools_XObjectNames_idl__
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/sdbc/SQLException.idl>
+
+module com { module sun { module star { module sdb { module tools {
+
+/** encapsulates functionality which you might find useful when writing a
+ database application which deals with query and table names.
+
+ <p>The most important task fulfilled by this instance is that it hides
+ different naming restrictions from you, which are caused by server-side
+ or client side specialties.</p>
+
+ <p>For instance, it can validate names against
+ the characters allowed in the object names of a connection. Also, it
+ relieves you from caring whether a database supports queries in a <code>SELECT</code>
+ statement's <code>FROM</code> part (known as "queries in queries"). In such
+ databases, query and table names share a common namespace, thus they must be
+ unique. Using this interface, you can easily ensure this uniqueness.</p>
+
+ <p>All of the functionality present in this interface depends on a connection,
+ thus it entry point for obtaining it is a com::sun::star::sdb::Connection
+ service.</p>
+
+ <p>The component itself does not have life-time control mechanisms, i.e. you
+ cannot explicitly dispose it (com::sun::star::lang::XComponent::dispose()),
+ and you cannot be notified when it dies.<br/>
+ However, if your try to access any of its methods or attributes, after the
+ connection which was used to create it was closed, a com::sun::star::lang::DisposedException
+ will be thrown.</p>
+
+ @see XConnectionTools
+
+ @since OOo 2.0.4
+*/
+interface XObjectNames
+{
+ /** suggests a (unique) table or query name
+
+ <p>If in the database, tables and queries share a common namespace, this will be respected
+ by this function.</p>
+
+ <p>Note that in an multi-threaded environment, the name you obtain here is not absolutely
+ guaranteed to be unique. It is unique at the very moment the function returns to you.
+ But already when you evaluate the returned value, it might not be unique anymore, if
+ another process or thread created a query or table with this name.</p>
+
+ <p>This implies that you cannot rely on the name's uniqueness, but you can use it as
+ first guess to present to the user. In most cases, it will still be sufficient when
+ you are actually creating the table respectively query.</p>
+
+ @param CommandType
+ specifies the com::sun::star::sdb::CommandType of the object for which
+ a unique name is to be generated. Must be either com::sun::star::sdb::CommandType::TABLE
+ or com::sun::star::sdb::CommandType::QUERY.
+
+ @param BaseName
+ specifies the base of the to-be-created object name. If empty, a default
+ base name will be used.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if CommandType specifies an invalid command type.
+ */
+ string suggestName( [in] long CommandType, [in] string BaseName )
+ raises ( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::sdbc::SQLException );
+
+ /** converts the given object name to a name which is valid in the database.
+
+ <p>The conversion takes place by converting every character which is neither
+ allowed by the SQL-92 standard, nor part of the special characters supported
+ by the database, with an underscore character (_).</p>
+
+ @see com::sun::star::sdbc::XDatabaseMetaData::getExtraNameCharacters
+ */
+ string convertToSQLName( [in] string Name );
+
+ /** checks whether a given name is used as table respectively query name in the database.
+
+ <p>If in the database, tables and queries share a common namespace, this will be respected
+ by this function.</p>
+
+ <p>As before, the information you obtain by calling this method might be obsolete
+ in the very moment you evaluate this, in case another process or thread interferes.
+ However, it's usually sufficiently up-to-date for purpose of using it in a database
+ application driven by user interactions.</p>
+
+ @param CommandType
+ specifies the com::sun::star::sdb::CommandType of the object whose
+ name should be checked. Must be either com::sun::star::sdb::CommandType::TABLE
+ or com::sun::star::sdb::CommandType::QUERY.
+
+ @param Name
+ specifies the to-be-checked name of the object.
+
+ @return
+ `TRUE` if and only if the given name is legitimate as table respectively query name
+ to be used in the database.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if CommandType specifies an invalid command type.
+
+ @see checkNameIsUsed
+ */
+ boolean isNameUsed( [in] long CommandType, [in] string Name )
+ raises ( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::sdbc::SQLException );
+
+ /** checks whether a given name is valid as table or query name
+
+ <p>For tables, the name must consist of characters allowed by the SQL-92 standard,
+ plus characters allowed by the connection as extra name characters.</p>
+
+ <p>For queries, names are nearly arbitrary, except that usual quoting characters
+ must not be part of the name.</p>
+
+ @see com::sun::star::sdbc::XDatabaseMetaData::getExtraNameCharacters
+ */
+ boolean isNameValid( [in] long CommandType, [in] string Name )
+ raises ( com::sun::star::lang::IllegalArgumentException );
+
+ /** checks whether a given name is allowed for a to-be-created table or query in the
+ database.
+
+ <p>This method basically does the same checks as isNameUsed() and
+ isNameValid(). In case the given name is not allowed, it throws an
+ exception. This error can be presented to the user, to give it a common experience
+ in all cases where he's required to enter an object name.</p>
+
+ @see isNameUsed
+ @see isNameValid
+ @see com::sun::star::sdb::ErrorMessageDialog
+ @see com::sun::star::sdb::InteractionHandler
+ */
+ void checkNameForCreate( [in] long CommandType, [in] string Name )
+ raises ( com::sun::star::sdbc::SQLException );
+};
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/tools/XTableAlteration.idl b/offapi/com/sun/star/sdb/tools/XTableAlteration.idl
new file mode 100644
index 000000000..76ea4d5cf
--- /dev/null
+++ b/offapi/com/sun/star/sdb/tools/XTableAlteration.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_sdb_tools_XTableAlteration_idl__
+#define __com_sun_star_sdb_tools_XTableAlteration_idl__
+
+#include <com/sun/star/sdbc/SQLException.idl>
+#include <com/sun/star/sdb/tools/XConnectionSupplier.idl>
+#include <com/sun/star/lang/XInitialization.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+
+module com { module sun { module star { module sdb { module tools {
+
+/** allows to alter a table.
+
+ @see com::sun::star::sdb::DataSource::Settings
+ @see com::sun::star::sdbcx::ColumnDescriptor
+ @see com::sun::star::sdbcx::XAlterTable
+ @see com::sun::star::sdbcx::XAppend
+ @see com::sun::star::sdbcx::XDrop
+
+ @since OOo 3.3
+*/
+interface XTableAlteration
+{
+ interface XConnectionSupplier;
+
+ /** alter the column defined by name
+
+ @param table
+ the table to be altered
+
+ @param columnName
+ the name of the column to be changed
+
+ @param columnDescriptor
+ the column descriptor with the information of the new column definition
+
+ @throws com::sun::star::sdbc::SQLException
+ @see com::sun::star::sdbcx::XAlterTable
+ */
+ void alterColumnByName( [in] com::sun::star::beans::XPropertySet table, [in] string columnName, [in] com::sun::star::beans::XPropertySet columnDescriptor)
+ raises ( com::sun::star::sdbc::SQLException );
+
+ /** creates a new object using the given descriptor and appends it
+ to the related container.
+ <b>
+ Note:
+ </b>
+ The descriptor will not be changed and can be used again to append another object.
+ @param table
+ the table to be altered
+ @param descriptor
+ the descriptor which should be serve to append a new object
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ @see com::sun::star::sdbcx::XAppend
+ */
+ void addColumn([in] com::sun::star::beans::XPropertySet table,[in]com::sun::star::beans::XPropertySet descriptor)
+ raises (com::sun::star::sdbc::SQLException);
+
+ /** drops an object of the related container identified by its name.
+ @param table
+ the table to be altered
+ @param columnName
+ the name of the column to be dropped
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ @see com::sun::star::sdbcx::XDrop
+ */
+ void dropColumn([in] com::sun::star::beans::XPropertySet table,[in]string columnName)
+ raises ( com::sun::star::sdbc::SQLException);
+};
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/tools/XTableName.idl b/offapi/com/sun/star/sdb/tools/XTableName.idl
new file mode 100644
index 000000000..4a196c429
--- /dev/null
+++ b/offapi/com/sun/star/sdb/tools/XTableName.idl
@@ -0,0 +1,134 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sdb_tools_XTableName_idl__
+#define __com_sun_star_sdb_tools_XTableName_idl__
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/container/NoSuchElementException.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+
+module com { module sun { module star { module sdb { module tools {
+
+/** allows to manipulate table names.
+
+ <p>When, in a database application, dealing with table names, there's many degrees
+ of freedom to deal with. For instance, suppose you want to have the full name of a
+ table object, as it should be used in a <code>SELECT</code> statement's <code>FROM</code>
+ part. This requires you to evaluate whether or not the table has a catalog and/or schema
+ name, to combine the catalog, the schema, and the basic table name into one name, respecting
+ the database's quoting character, and the order in which all those parts should be combined.
+ Additionally, you have to respect the client-side settings which tell OpenOffice.org
+ to use or not use catalogs and schemas in <code>SELECT</code> at all.</p>
+
+ <p>The XTableName interface eases this and other, similar tasks around table
+ names.</p>
+
+ <p>The component itself does not have life-time control mechanisms, i.e. you
+ cannot explicitly dispose it (com::sun::star::lang::XComponent::dispose()),
+ and you cannot be notified when it dies.<br/>
+ However, if your try to access any of its methods or attributes, after the
+ connection which was used to create it was closed, a com::sun::star::lang::DisposedException
+ will be thrown.</p>
+
+ @see XConnectionTools
+ @see com::sun::star::sdbc::XDatabaseMetaData
+ @see com::sun::star::sdb::DataSource::Settings
+
+ @since OOo 2.0.4
+*/
+interface XTableName
+{
+ /** denotes the name of the catalog which the table is a part of
+ */
+ [attribute] string CatalogName;
+
+ /** denotes the name of the schema which the table is a part of
+ */
+ [attribute] string SchemaName;
+
+ /** denotes the mere, unqualified table name, excluding any catalog and
+ schema.
+ */
+ [attribute] string TableName;
+
+ /** returns the composed table name, including the catalog and schema name,
+ respecting the database's quoting requirements, plus
+
+ @param Type
+ the type of name composition to be used.
+
+ @param Quote
+ specifies whether the single parts of the table name should be quoted
+
+ @see CompositionType
+
+ @throws com::sun::star::IllegalArgumentException
+ if the given Type does not denote a valid CompositionType
+ */
+ string getComposedName( [in] long Type, [in] boolean Quote )
+ raises ( com::sun::star::lang::IllegalArgumentException );
+
+
+ /** sets a new composed table name
+ @param ComposedName
+ specifies the composed table name
+ @param Type
+ specifies the composition type which was used to create the composed table name
+ */
+ void setComposedName( [in] string ComposedName, [in] long Type );
+
+ /** represents the table name in a form to be used in a <code>SELECT</code> statement.
+
+ <p>On a per-data-source basis, OpenOffice.org allows to override database meta
+ data information in that you can specify to not use catalog and or schema names
+ in <code>SELECT</code> statements. Using this attribute, you can generate a table
+ name which respects those settings.</p>
+
+ @see com::sun::star::sdb::DataSource::Settings
+ */
+ [attribute, readonly] string NameForSelect;
+
+ /** is the com::sun::star::sdb::Table object specified
+ by the current name.
+
+ <p>Retrieving this attribute is equivalent to obtaining the tables
+ container from the connection (via com::sun::star::sdbcx::XTablesSupplier),
+ and calling its com::sun::star::container::XNameAccess::getByName()
+ method with the ComposedName.</p>
+
+ @throws com::sun::star::container::NoSuchElementException
+ if, upon getting the attribute value, the current composed table name
+ represented by this instance does not denote an existing table in the database.
+ @throws com::sun::star::lang::IllegalArgumentException
+ if you try to set an object which does not denote a table from the underlying
+ database.
+ */
+ [attribute] ::com::sun::star::beans::XPropertySet Table
+ {
+ get raises ( com::sun::star::container::NoSuchElementException );
+ set raises ( com::sun::star::lang::IllegalArgumentException );
+ };
+};
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/tools/XTableRename.idl b/offapi/com/sun/star/sdb/tools/XTableRename.idl
new file mode 100644
index 000000000..d6e955581
--- /dev/null
+++ b/offapi/com/sun/star/sdb/tools/XTableRename.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_sdb_tools_XTableRename_idl__
+#define __com_sun_star_sdb_tools_XTableRename_idl__
+
+#include <com/sun/star/sdbc/SQLException.idl>
+#include <com/sun/star/sdb/tools/XConnectionSupplier.idl>
+#include <com/sun/star/lang/XInitialization.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+
+module com { module sun { module star { module sdb { module tools {
+
+/** allows to rename table.
+
+ @see com::sun::star::sdb::DataSource::Settings
+
+ @since OOo 3.3
+*/
+interface XTableRename
+{
+ interface XConnectionSupplier;
+
+ /** rename the given table to the new name
+
+ @param table
+ the table to be renamed
+ @param newName
+ the new name of the table
+ @throws com::sun::star::sdbc::SQLException
+ */
+ void rename( [in] com::sun::star::beans::XPropertySet table, [in] string newName)
+ raises ( com::sun::star::sdbc::SQLException );
+
+
+};
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/tools/XViewAccess.idl b/offapi/com/sun/star/sdb/tools/XViewAccess.idl
new file mode 100644
index 000000000..5a7b4fb9a
--- /dev/null
+++ b/offapi/com/sun/star/sdb/tools/XViewAccess.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_sdb_tools_XViewAccess_idl__
+#define __com_sun_star_sdb_tools_XViewAccess_idl__
+
+#include <com/sun/star/sdbc/SQLException.idl>
+#include <com/sun/star/sdb/tools/XConnectionSupplier.idl>
+#include <com/sun/star/lang/XInitialization.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+
+module com { module sun { module star { module sdb { module tools {
+
+/** allows to fetch and to change the sql statements of views
+
+ @see com::sun::star::sdb::DataSource::Settings
+ @see com::sun::star::sdbcx::View
+
+ @since OOo 3.3
+*/
+interface XViewAccess
+{
+ interface XConnectionSupplier;
+
+ /** returns the SQL statement of the view
+
+ @param view
+ the table to be renamed
+ @throws com::sun::star::sdbc::SQLException
+ */
+ string getCommand( [in] com::sun::star::beans::XPropertySet view)
+ raises ( com::sun::star::sdbc::SQLException );
+
+ /** allows to alter the SQL statement of a view
+
+ @param view
+ the view to be altered
+
+ @param command
+ the new SQL statement
+
+ @throws com::sun::star::sdbc::SQLException
+ */
+ void alterCommand( [in] com::sun::star::beans::XPropertySet view, [in] string command)
+ raises ( com::sun::star::sdbc::SQLException );
+};
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/BatchUpdateException.idl b/offapi/com/sun/star/sdbc/BatchUpdateException.idl
new file mode 100644
index 000000000..50018f5d7
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/BatchUpdateException.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_sdbc_BatchUpdateException_idl__
+#define __com_sun_star_sdbc_BatchUpdateException_idl__
+
+#include <com/sun/star/sdbc/SQLException.idl>
+
+ module com { module sun { module star { module sdbc {
+
+
+/** is thrown when an error occurs during a batch update operation.
+
+
+ <p>In addition to the information provided by
+ com::sun::star::sdbc::SQLException
+ , a
+ <code>BatchUpdateException</code>
+ provides the update counts for all commands
+ that were executed successfully during the batch update, that is, all commands
+ that were executed before the error occurred. The order of elements in an
+ array of update counts corresponds to the order in which commands were added
+ to the batch.</p>
+ */
+published exception BatchUpdateException: SQLException
+{
+
+ /** is an array of
+ <code>long</code>
+ , with each element
+ indicating the update count for a SQL command that executed
+ successfully before the exception was thrown.
+ */
+ sequence<long> UpdateCounts;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/BestRowScope.idl b/offapi/com/sun/star/sdbc/BestRowScope.idl
new file mode 100644
index 000000000..da8d66a9b
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/BestRowScope.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_sdbc_BestRowScope_idl__
+#define __com_sun_star_sdbc_BestRowScope_idl__
+
+ module com { module sun { module star { module sdbc {
+
+
+/** determines how long a row identifier is valid.
+ */
+published constants BestRowScope
+{
+
+ /** indicates that the scope of the best row identifier is
+ very temporary, lasting only while the row is being used.
+ A possible value for the column
+ <code>SCOPE</code>
+ in the
+ com::sun::star::sdbc::XResultSet object returned by the method
+ XDatabaseMetaData::getBestRowIdentifier().
+ */
+ const long TEMPORARY = 0;
+
+ /** indicates that the scope of the best row identifier is
+ the remainder of the current transaction.
+ A possible value for the column
+ <code>SCOPE</code>
+ in the
+ com::sun::star::sdbc::XResultSet object returned by the method
+ XDatabaseMetaData::getBestRowIdentifier().
+ */
+ const long TRANSACTION = 1;
+
+ /** indicates that the scope of the best row identifier is
+ the remainder of the current session.
+ A possible value for the column
+ <code>SCOPE</code>
+ in the
+ com::sun::star::sdbc::XResultSet object returned by the method
+ XDatabaseMetaData::getBestRowIdentifier().
+ */
+ const long SESSION = 2;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/BestRowType.idl b/offapi/com/sun/star/sdbc/BestRowType.idl
new file mode 100644
index 000000000..df95e3fb4
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/BestRowType.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_sdbc_BestRowType_idl__
+#define __com_sun_star_sdbc_BestRowType_idl__
+
+ module com { module sun { module star { module sdbc {
+
+
+/** determines the type of the best row identifier.
+ */
+published constants BestRowType
+{
+
+ /** indicates that the best row identifier may or may not be a pseudo-column.
+ A possible value for the column
+ <code>PSEUDO_COLUMN</code>
+ in the
+ com::sun::star::sdbc::XResultSet object returned by the method
+ XDatabaseMetaData::getBestRowIdentifier().
+ */
+ const long UNKNOWN = 0;
+
+ /** indicates that the best row identifier is NOT a pseudo-column.
+ A possible value for the column
+ <code>PSEUDO_COLUMN</code>
+ in the
+ com::sun::star::sdbc::XResultSet object returned by the method
+ XDatabaseMetaData::getBestRowIdentifier().
+ */
+ const long NOT_PSEUDO = 1;
+
+ /** indicates that the best row identifier is a pseudo-column.
+ A possible value for the column
+ <code>PSEUDO_COLUMN</code>
+ in the
+ com::sun::star::sdbc::XResultSet object returned by the method
+ XDatabaseMetaData::getBestRowIdentifier().
+ */
+ const long PSEUDO = 2;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/CallableStatement.idl b/offapi/com/sun/star/sdbc/CallableStatement.idl
new file mode 100644
index 000000000..b61cd0c48
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/CallableStatement.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_sdbc_CallableStatement_idl__
+#define __com_sun_star_sdbc_CallableStatement_idl__
+
+#include <com/sun/star/sdbc/PreparedStatement.idl>
+
+ module com { module sun { module star { module sdbc {
+
+ published interface XRow;
+ published interface XOutParameters;
+
+
+/** is used to execute SQL stored procedures.
+
+
+ <p>
+ SDBC provides a stored procedure SQL escape that allows stored procedures
+ to be called in a standard way for all RDBMSs. This escape syntax has one
+ form that includes a result parameter and one that does not. If used, the
+ result parameter must be registered as an OUT parameter. The other parameters
+ can be used for input, output, or both. Parameters are referred to sequentially,
+ by number. The first parameter is 1.
+ </p>
+ <p>
+ <code>{?=call&amp;lt;procedure-name&amp;gt;[&amp;lt;arg1&amp;gt;,&amp;lt;arg2&amp;gt;,...]}<br/>{call&amp;lt;procedure-name&amp;gt;[&amp;lt;arg1&amp;gt;,&amp;lt;arg2&amp;gt;,...]}
+ </code>
+ </p>
+ <p>
+ IN parameter values are set using the set methods inherited from
+ com::sun::star::sdbc::PreparedStatement
+ . The type of all
+ OUT parameters must be registered prior to executing the stored procedure;
+ their values are retrieved after execution via the
+ <code>get</code> methods provided by the com::sun::star::sdbc::XRow.
+ </p>
+ <p>
+ A
+ <code>CallableStatement</code>
+ can return one
+ com::sun::star::sdbc::XResultSet
+ or multiple
+ com::sun::star::sdbc::ResultSet
+ objects. Multiple
+ <code>ResultSet</code>
+ objects are handled using operations inherited from
+ com::sun::star::sdbc::XPreparedStatement.
+ </p>
+ <p>
+ For maximum portability, a call's
+ com::sun::star::sdbc::ResultSet
+ objects and
+ update counts should be processed prior to getting the values of output
+ parameters.
+ </p>
+*/
+published service CallableStatement
+{
+ service PreparedStatement;
+
+
+ /** is used for retrieve the values of OUT parameters.
+ */
+ interface XRow;
+
+
+ /** is used to declare parameters as OUT parameters.
+ */
+ interface XOutParameters;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/ChangeAction.idl b/offapi/com/sun/star/sdbc/ChangeAction.idl
new file mode 100644
index 000000000..097f608f5
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/ChangeAction.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_sdbc_ChangeAction_idl__
+#define __com_sun_star_sdbc_ChangeAction_idl__
+
+module com { module sun { module star { module sdbc {
+
+/** @deprecated determines the type of the change which is going to be performed.
+*/
+published constants ChangeAction
+{
+ /**
+ indicates that an insert will be performed.
+ */
+ const long INSERT = 1;
+ /**
+ indicates that an update will be performed.
+ */
+ const long UPDATE = 2;
+ /**
+ indicates that a delete will be performed.
+ */
+ const long DELETE = 3;
+ /**
+ indicates that an undo will be performed.
+ */
+ const long UNDO = 4;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/ChangeEvent.idl b/offapi/com/sun/star/sdbc/ChangeEvent.idl
new file mode 100644
index 000000000..a680c5b83
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/ChangeEvent.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_sdbc_ChangeEvent_idl__
+#define __com_sun_star_sdbc_ChangeEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+
+module com { module sun { module star { module sdbc {
+
+/** @deprecated indicates the type of change action on the data source.
+*/
+published struct ChangeEvent : com::sun::star::lang::EventObject
+{
+ /** indicates the type of change.
+ @see com::sun::star::sdbc::ChangeAction
+ */
+ long Action;
+
+ /** indicates the number of rows affected by the change. */
+ long Rows;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/ColumnSearch.idl b/offapi/com/sun/star/sdbc/ColumnSearch.idl
new file mode 100644
index 000000000..200179475
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/ColumnSearch.idl
@@ -0,0 +1,91 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_sdbc_ColumnSearch_idl__
+#define __com_sun_star_sdbc_ColumnSearch_idl__
+
+ module com { module sun { module star { module sdbc {
+
+
+/** indicates in which way a column can be used in the WHERE search.
+ */
+published constants ColumnSearch
+{
+
+ /** A possible value for column <code>SEARCHABLE</code> in the
+ com::sun::star::sdbc::XResultSet
+ object returned by the method
+ com::sun::star::sdbc::XDatabaseMetaData::getTypeInfo().
+ <p>
+ Indicates that
+ <code>WHERE</code>
+ search clauses are not supported
+ for this type.
+ */
+ const long NONE = 0;
+
+ /** A possible value for column <code>SEARCHABLE</code> in the
+ com::sun::star::sdbc::XResultSet
+ object returned by the method
+ com::sun::star::sdbc::XDatabaseMetaData::getTypeInfo().
+ <p>
+ Indicates that the only
+ <code>WHERE</code>
+ search clause that can
+ be based on this type is
+ <code>WHERE...LIKE</code>.
+ */
+ const long CHAR = 1;
+
+ /** A possible value for column <code>SEARCHABLE</code> in the
+ com::sun::star::sdbc::XResultSet
+ object returned by the method
+ com::sun::star::sdbc">XDatabaseMetaData::getTypeInfo().
+ <p>
+ Indicates that one can base all
+ <code>WHERE</code>
+ search clauses
+ except
+ <code>WHERE...LIKE</code>
+ on this data type.
+ */
+ const long BASIC = 2;
+
+ /** A possible value for column
+ <code>SEARCHABLE</code>
+ in the
+ com::sun::star::sdbc::XResultSet
+ object returned by the method
+ com::sun::star::sdbc">XDatabaseMetaData::getTypeInfo().
+ <p>
+ Indicates that all
+ <code>WHERE</code>
+ search clauses can be
+ based on this type.
+ */
+ const long FULL = 3;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/ColumnType.idl b/offapi/com/sun/star/sdbc/ColumnType.idl
new file mode 100644
index 000000000..026d24a72
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/ColumnType.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_sdbc_ColumnType_idl__
+#define __com_sun_star_sdbc_ColumnType_idl__
+
+ module com { module sun { module star { module sdbc {
+
+
+/** determines the type of a version column.
+ */
+published constants ColumnType
+{
+
+ /** indicates that this column may or may not be a pseudo-column.
+ A possible value for the column
+ <code>PSEUDO_COLUMN</code>
+ in the
+ com::sun::star::sdbc::XResultSet object returned by the method
+ com::sun::star::sdbc::XDatabaseMetaData::getVersionColumns().
+ */
+ const long UNKNOWN = 0;
+
+ /** indicates that this column is NOT a pseudo-column.
+ A possible value for the column
+ <code>PSEUDO_COLUMN</code>
+ in the
+ com::sun::star::sdbc::XResultSet object returned by the method
+ com::sun::star::sdbc::XDatabaseMetaData::getVersionColumns().
+ */
+ const long NOT_PSEUDO = 1;
+
+ /** indicates that this column is a pseudo-column.
+ A possible value for the column
+ <code>PSEUDO_COLUMN</code>
+ in the
+ com::sun::star::sdbc::XResultSet object returned by the method
+ com::sun::star::sdbc::XDatabaseMetaData::getVersionColumns().
+ */
+ const long PSEUDO = 2;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/ColumnValue.idl b/offapi/com/sun/star/sdbc/ColumnValue.idl
new file mode 100644
index 000000000..92d280a10
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/ColumnValue.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_sdbc_ColumnValue_idl__
+#define __com_sun_star_sdbc_ColumnValue_idl__
+
+ module com { module sun { module star { module sdbc {
+
+
+/** determines whether a column allows SQL NULL values or not.
+ */
+published constants ColumnValue
+{
+
+ /** indicates that a column does not allow NULL values.
+ */
+ const long NO_NULLS = 0;
+
+ /** indicates that a column does allow NULL values.
+ */
+ const long NULLABLE = 1;
+
+ /** indicates that the nullability of the column is unknown.
+ */
+ const long NULLABLE_UNKNOWN = 2;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/Connection.idl b/offapi/com/sun/star/sdbc/Connection.idl
new file mode 100644
index 000000000..2c98d81e0
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/Connection.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_sdbc_Connection_idl__
+#define __com_sun_star_sdbc_Connection_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+
+ module com { module sun { module star { module sdbc {
+
+ published interface XConnection;
+ published interface XWarningsSupplier;
+
+
+/** represents a connection (session) with a specific
+ database. Within the context of a Connection, SQL statements are
+ executed and results are returned.
+
+ <p>
+ A Connection's database is able to provide information
+ describing its tables, its supported SQL grammar, its stored
+ procedures, and the capabilities of this connection. This
+ information is obtained with the
+ com::sun::star::sdbc::XConnection::getMetaData()
+ method.
+ </p>
+ <p>
+ <b>
+ Note:
+ </b>
+ By default the Connection automatically commits
+ changes after executing each statement. If auto commit has been
+ disabled, an explicit commit must be done or database changes will
+ not be saved.
+
+ </p>
+ @see com::sun::star::sdbc::XStatement
+ @see com::sun::star::sdbc::XResultSet
+ @see com::sun::star::sdbc::XDatabaseMetaData
+ */
+published service Connection
+{
+
+ /** controls the closing of a connection.
+ */
+ interface com::sun::star::lang::XComponent;
+
+
+ /** the main interface for interaction with a connection to a database.
+ */
+ interface XConnection;
+
+
+ /** controls the chaining of warnings, which may occur on every call
+ to the connected database. Chained warnings from previous calls will be
+ cleared before processing a new call.
+ */
+ interface XWarningsSupplier;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/ConnectionPool.idl b/offapi/com/sun/star/sdbc/ConnectionPool.idl
new file mode 100644
index 000000000..31d12d866
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/ConnectionPool.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_sdbc_ConnectionPool_idl__
+#define __com_sun_star_sdbc_ConnectionPool_idl__
+
+ module com { module sun { module star { module sdbc {
+
+ published interface XConnectionPool;
+
+
+/** is the basic service for pooling SDBC connections.
+
+ <p>
+ When the method
+ com::sun::star::sdbc::XPooledConnection::getConnection()
+ is called,
+ the ConnectionPool will attempt to locate a suitable pooled connection
+ or create a new connection from the DriverManager. When the connection
+ will be released it will move to the pool of unused connections.
+
+ </p>
+ @see com::sun::star::sdbc::XDriver
+ @see com::sun::star::sdbc::XConnection
+ */
+published service ConnectionPool: XConnectionPool;
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/ConnectionProperties.idl b/offapi/com/sun/star/sdbc/ConnectionProperties.idl
new file mode 100644
index 000000000..c12689533
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/ConnectionProperties.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_sdbc_ConnectionProperties_idl__
+#define __com_sun_star_sdbc_ConnectionProperties_idl__
+
+ module com { module sun { module star { module sdbc {
+
+
+
+/** represents the properties for a connection (session) with a specific
+ database. These properties can be used when calling the method
+ com::sun::star::sdbc::XDriver::connect() or
+ com::sun::star::sdbc::XDriverManager::getConnectionWithInfo().
+
+ <p>
+ The properties for a connection contain additional information about how to connect to a database and
+ how to control the behavior of the resulting connection should be.
+
+ </p>
+ @see com::sun::star::sdbc::XDriver
+ @see com::sun::star::sdbc::XDriverManager
+ @see com::sun::star::sdbc::JDBCConnectionProperties
+ @see com::sun::star::sdbc::ODBCConnectionProperties
+ @see com::sun::star::sdbc::FILEConnectionProperties
+ @see com::sun::star::sdbc::DBASEConnectionProperties
+ @see com::sun::star::sdbc::FLATConnectionProperties
+
+ */
+published service ConnectionProperties
+{
+ /** the username
+ */
+ [optional, property] string user;
+
+ /** the password
+ */
+ [optional, property] string password;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/DBASEConnectionProperties.idl b/offapi/com/sun/star/sdbc/DBASEConnectionProperties.idl
new file mode 100644
index 000000000..58fd2afde
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/DBASEConnectionProperties.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_sdbc_DBASEConnectionProperties_idl__
+#define __com_sun_star_sdbc_DBASEConnectionProperties_idl__
+
+#include <com/sun/star/sdbc/FILEConnectionProperties.idl>
+
+module com { module sun { module star { module sdbc {
+
+/** represents the properties for a dBase connection (session) with a specific
+ database. These properties can be used when calling the method
+ com::sun::star::sdbc::XDriver::connect() or
+ com::sun::star::sdbc::XDriverManager::getConnectionWithInfo().
+
+ <p>
+ The properties for a connection contain additional information about how to connect to a database and
+ how to control the behavior of the resulting connection should be.
+
+ </p>
+ @see com::sun::star::sdbc::XDriver
+ @see com::sun::star::sdbc::XDriverManager
+ @see com::sun::star::sdbc::FILEConnectionProperties
+ */
+service DBASEConnectionProperties
+{
+ service com::sun::star::sdbc:: FILEConnectionProperties;
+
+ /** `TRUE` when deleted rows should be shown, otherwise `FALSE`
+ */
+ [optional, property] boolean ShowDeleted;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/DataTruncation.idl b/offapi/com/sun/star/sdbc/DataTruncation.idl
new file mode 100644
index 000000000..91363dd6e
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/DataTruncation.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_sdbc_DataTruncation_idl__
+#define __com_sun_star_sdbc_DataTruncation_idl__
+
+#include <com/sun/star/sdbc/SQLWarning.idl>
+
+ module com { module sun { module star { module sdbc {
+
+
+/** reports a DataTruncation warning, on reads, or is thrown as a DataTruncation exception,
+ on writes, when a data value is unexpectedly truncated.
+
+ <p>
+ The SQL state for a
+ <code>DataTruncation</code>
+ is <code>01004</code>.
+ </p>
+ */
+published exception DataTruncation: SQLWarning
+{
+
+ /** is the index of the parameter or column value.
+ */
+ long Index;
+
+
+ /** is
+ `TRUE`
+ if a parameter value is truncated.
+ */
+ boolean IsParameter;
+
+
+ /** is
+ `TRUE`
+ if a read was truncated.
+ */
+ boolean DuringRead;
+
+
+ /** contains the number of bytes of data that should have been transferred.
+ This number may be approximate if data conversions were being
+ performed. The value may be
+ <code>-1</code>
+ if the size is unknown.
+ */
+ long DataSize;
+
+
+ /** contains the number of bytes of data actually transferred.
+ The value may be
+ <code>-1</code>
+ if the size is unknown.
+ */
+ long TransferSize;
+};
+
+
+}; }; }; };
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/DataType.idl b/offapi/com/sun/star/sdbc/DataType.idl
new file mode 100644
index 000000000..622f5986e
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/DataType.idl
@@ -0,0 +1,136 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_sdbc_DataType_idl__
+#define __com_sun_star_sdbc_DataType_idl__
+
+ module com { module sun { module star { module sdbc {
+
+
+/** These constants are used to specify database data types which are used
+ to identify the generic SQL types. The definition is based on JDBC 3.0.
+
+ <p>
+ The actual type constant values are equivalent to those in the X/Open CLI.
+ </p>
+ <p>
+ Precise information about the specific types can be got from
+ XDatabaseMetaData::getTypeInfo().
+ </p>
+ */
+published constants DataType
+{
+ const long BIT = -7;
+
+ const long TINYINT = -6;
+
+ const long SMALLINT = 5;
+
+ const long INTEGER = 4;
+
+ const long BIGINT = -5;
+
+ const long FLOAT = 6;
+
+ const long REAL = 7;
+
+ const long DOUBLE = 8;
+
+ const long NUMERIC = 2;
+
+ const long DECIMAL = 3;
+
+ const long CHAR = 1;
+
+ const long VARCHAR = 12;
+
+ const long LONGVARCHAR = -1;
+
+ const long DATE = 91;
+
+ const long TIME = 92;
+
+ const long TIMESTAMP = 93;
+
+ const long BINARY = -2;
+
+ const long VARBINARY = -3;
+
+ const long LONGVARBINARY = -4;
+
+ const long SQLNULL = 0;
+
+
+ /** indicates that the SQL type is database-specific and
+ gets mapped to an object that can be accessed via
+ the method com::sun::star::sdbc::XRow::getObject().
+ */
+ const long OTHER = 1111;
+
+
+ /** indicates a type which is represented by an object which implements
+ this type.
+ */
+ const long OBJECT = 2000;
+
+
+ /** describes a type based on a built-in type.
+ It is a user-defined data type (UDT).
+ */
+ const long DISTINCT = 2001;
+
+
+ /** indicates a type consisting of attributes that may be any type.
+ It is a user-defined data type (UDT).
+ */
+ const long STRUCT = 2002;
+
+
+ /** indicates a type representing an SQL ARRAY.
+ */
+ const long ARRAY = 2003;
+
+
+ /** indicates a type representing an SQL Binary Large Object.
+ */
+ const long BLOB = 2004;
+
+
+ /** indicates a type representing an SQL Character Large Object.
+ */
+ const long CLOB = 2005;
+
+
+ /** indicates a type representing an SQL REF, a referencing type.
+ */
+ const long REF = 2006;
+
+ /** identifies the generic SQL type
+ * <code>BOOLEAN</code>.
+ *
+ * @since OOo 2.0
+ */
+ const long BOOLEAN = 16;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/Deferrability.idl b/offapi/com/sun/star/sdbc/Deferrability.idl
new file mode 100644
index 000000000..3f42ca8bb
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/Deferrability.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_sdbc_Deferrability_idl__
+#define __com_sun_star_sdbc_Deferrability_idl__
+
+ module com { module sun { module star { module sdbc {
+
+
+/** indicates the Deferrability of key constraints.
+ */
+published constants Deferrability
+{
+
+ /** A possible value for the column <code>DEFERRABILITY</code>
+ in the
+ <code>XResultSet</code> objects returned by the methods
+ <code>getImportedKeys</code>, <code>getExportedKeys</code>,
+ and <code>getCrossReference</code>.
+ <P>Indicates deferrability. See SQL-92 for a definition.
+
+<!-- JRH: This and next two comments are identical. Is something missing?
+ INITIALLY_DEFERRED, INITIALLY_IMMEDIATE, and NONE? -->
+*/
+ const long INITIALLY_DEFERRED = 5;
+
+ /** A possible value for the column <code>DEFERRABILITY</code>
+ in the
+ <code>XResultSet</code> objects returned by the methods
+ <code>getImportedKeys</code>, <code>getExportedKeys</code>,
+ and <code>getCrossReference</code>.
+ <P>Indicates deferrability. See SQL-92 for a definition.
+ */
+ const long INITIALLY_IMMEDIATE = 6;
+
+ /** A possible value for the column <code>DEFERRABILITY</code>
+ in the
+ <code>XResultSet</code> objects returned by the methods
+ <code>getImportedKeys</code>, <code>getExportedKeys</code>,
+ and <code>getCrossReference</code>.
+ <P>Indicates deferrability. See SQL-92 for a definition.
+ */
+ const long NONE = 7;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/Driver.idl b/offapi/com/sun/star/sdbc/Driver.idl
new file mode 100644
index 000000000..4197838b7
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/Driver.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_sdbc_Driver_idl__
+#define __com_sun_star_sdbc_Driver_idl__
+
+ module com { module sun { module star { module sdbc {
+
+ published interface XDriver;
+
+
+/** is the service that every driver class must implement.
+
+ <p>
+ Each driver should supply a service that implements
+ the Driver interface.
+
+ </p>
+ <p>
+ The DriverManager will try to load as many drivers as it can
+ find and then for any given connection request, it will ask each
+ driver in turn to try to connect to the target URL.
+
+ </p>
+ <p>
+ It is strongly recommended that each Driver object should be
+ small and standalone so that the Driver object can be loaded and
+ queried without bringing in vast quantities of supporting code.
+
+ </p>
+ <p>
+ Each driver should be a one instance service.
+
+ </p>
+ @see com::sun::star::sdbc::XDriverManager
+ @see com::sun::star::sdbc::XConnection
+ */
+published service Driver
+{
+
+ /** is the main interface to access a database driver.
+ */
+ interface XDriver;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/DriverManager.idl b/offapi/com/sun/star/sdbc/DriverManager.idl
new file mode 100644
index 000000000..e9166ef91
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/DriverManager.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_sdbc_DriverManager_idl__
+#define __com_sun_star_sdbc_DriverManager_idl__
+
+#include <com/sun/star/sdbc/XDriverManager2.idl>
+
+module com { module sun { module star { module sdbc {
+
+published service DriverManager : XDriverManager2;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/DriverPropertyInfo.idl b/offapi/com/sun/star/sdbc/DriverPropertyInfo.idl
new file mode 100644
index 000000000..6282fc4aa
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/DriverPropertyInfo.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_sdbc_DriverPropertyInfo_idl__
+#define __com_sun_star_sdbc_DriverPropertyInfo_idl__
+
+ module com { module sun { module star { module sdbc {
+
+
+/** describes the driver properties for making a connection.
+
+
+ <p>
+ The DriverPropertyInfo is of interest only to advanced programmers
+ who need to interact with a driver to discover and supply properties
+ for connections.
+ </p>
+ */
+published struct DriverPropertyInfo
+{
+ /** is the name of the property.
+ */
+ string Name;
+
+
+ /** is a brief description of the property, which may be null.
+ */
+ string Description;
+
+
+ /** is
+ `TRUE`
+ if a value must be supplied for this property
+ during
+ <code>Driver.connect</code>
+ and
+ `FALSE`
+ otherwise.
+ */
+ boolean IsRequired;
+
+
+ /** specifies the current value of the property,
+ based on the driver-supplied default values. This field
+ may be empty if no value is known.
+ */
+ string Value;
+
+
+ /** contains a sequence of possible values if the value for the field
+ <code>DriverPropertyInfo.value</code>
+ may be selected
+ from a particular set of values; otherwise empty.
+ */
+ sequence<string> Choices;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/FILEConnectionProperties.idl b/offapi/com/sun/star/sdbc/FILEConnectionProperties.idl
new file mode 100644
index 000000000..43c6d4c74
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/FILEConnectionProperties.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_sdbc_FILEConnectionProperties_idl__
+#define __com_sun_star_sdbc_FILEConnectionProperties_idl__
+
+#include <com/sun/star/sdbc/ConnectionProperties.idl>
+
+module com { module sun { module star { module sdbc {
+
+/** represents the properties for a FILE connection (session) with a specific
+ database. These properties can be used when calling the method
+ com::sun::star::sdbc::XDriver::connect() or
+ com::sun::star::sdbc::XDriverManager::getConnectionWithInfo().
+
+ <p>
+ The properties for a connection contain additional information about how to connect to a database and
+ how to control the behavior of the resulting connection should be.
+
+ </p>
+ @see com::sun::star::sdbc::XDriver
+ @see com::sun::star::sdbc::XDriverManager
+ @see com::sun::star::sdbc::ConnectionProperties
+ */
+service FILEConnectionProperties
+{
+ service com::sun::star::sdbc::ConnectionProperties;
+
+ /** specifies the encoding to use to translate the backend data
+
+ <p>See the <a href="http://www.iana.org/assignments/character-sets">IANA character set list</a>
+ for a list of valid values.</p>
+
+ <p>For internal purposes (e.g., when using an encoding for which no IANA character set name
+ exists), this may also be an UNSIGNED SHORT value representing one of the rtl_TextEncoding
+ values in rtl/textenc.h.</p>
+ */
+ [optional, property] string CharSet;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/FLATConnectionProperties.idl b/offapi/com/sun/star/sdbc/FLATConnectionProperties.idl
new file mode 100644
index 000000000..99bcfb0b9
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/FLATConnectionProperties.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_sdbc_FLATConnectionProperties_idl__
+#define __com_sun_star_sdbc_FLATConnectionProperties_idl__
+
+#include <com/sun/star/sdbc/FILEConnectionProperties.idl>
+
+module com { module sun { module star { module sdbc {
+
+/** represents the properties for a FLAT connection (session) with a specific
+ database. These properties can be used when calling the method
+ com::sun::star::sdbc::XDriver::connect() or
+ com::sun::star::sdbc::XDriverManager::getConnectionWithInfo().
+
+ <p>
+ The properties for a connection contain additional information about how to connect to a database and
+ how to control the behavior of the resulting connection should be.
+
+ </p>
+ @see com::sun::star::sdbc::XDriver
+ @see com::sun::star::sdbc::XDriverManager
+ @see com::sun::star::sdbc::FILEConnectionProperties
+ */
+service FLATConnectionProperties
+{
+ service com::sun::star::sdbc::FILEConnectionProperties;
+
+ /** `TRUE` when the file contains a header line otherwise `FALSE`
+ */
+ [optional, property] boolean HeaderLine;
+
+ /** A one character delimiter to separate the fields.
+ */
+ [optional, property] string FieldDelimiter;
+
+ /** A one character delimiter to separate the strings.
+ */
+ [optional, property] string StringDelimiter;
+
+ /** A one character delimiter to separate the decimal.
+ */
+ [optional, property] string DecimalDelimiter;
+
+ /** A one character delimiter to separate the thousands.
+ */
+ [optional, property] string ThousandDelimiter;
+
+ /** the extension of the files to be used.
+ */
+ [property] string Extension;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/FetchDirection.idl b/offapi/com/sun/star/sdbc/FetchDirection.idl
new file mode 100644
index 000000000..1b2fe7158
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/FetchDirection.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_sdbc_FetchDirection_idl__
+#define __com_sun_star_sdbc_FetchDirection_idl__
+
+ module com { module sun { module star { module sdbc {
+
+
+/** indicates in which direction a result set should fetch next, just for
+ optimization.
+ */
+published constants FetchDirection
+{
+
+ /** The rows in a result set will be processed in a forward direction; first-to-last.
+ */
+ const long FORWARD = 1000;
+
+ /** The rows in a result set will be processed in a reverse direction; last-to-first.
+ */
+ const long REVERSE = 1001;
+
+ /** The order in which rows in a result set will be processed is unknown:
+ */
+ const long UNKNOWN = 1002;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/IndexType.idl b/offapi/com/sun/star/sdbc/IndexType.idl
new file mode 100644
index 000000000..d3224e997
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/IndexType.idl
@@ -0,0 +1,89 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_sdbc_IndexType_idl__
+#define __com_sun_star_sdbc_IndexType_idl__
+
+ module com { module sun { module star { module sdbc {
+
+
+/** indicates the type of index.
+ */
+published constants IndexType
+{
+
+ /** A possible value for column
+ <code>TYPE</code>
+ in the
+ com::sun::star::sdbc::XResultSet
+ object returned by the method
+ com::sun::star::sdbc::XDatabaseMetaData::getIndexInfo().
+ <P>
+ Identifies table statistics that are returned in conjunction
+ with a table's index description.
+ </P>
+ */
+ const short STATISTIC = 0;
+
+ /** A possible value for column
+ <code>TYPE</code>
+ in the
+ com::sun::star::sdbc::XResultSet
+ object returned by the method
+ com::sun::star::sdbc::XDatabaseMetaData::getIndexInfo().
+ <P>
+ Indicates that this table index is a clustered index.
+ </P>
+ */
+ const short CLUSTERED = 1;
+
+ /** A possible value for column
+ <code>TYPE</code>
+ in the
+ com::sun::star::sdbc::XResultSet
+ object returned by the method
+ com::sun::star::sdbc::XDatabaseMetaData::getIndexInfo().
+ <P>
+ Indicates that this table index is a hashed index.
+ </P>
+ */
+ const short HASHED = 2;
+
+ /** A possible value for column
+ <code>TYPE</code>
+ in the
+ com::sun::star::sdbc::XResultSet
+ object returned by the method
+ com::sun::star::sdbc::XDatabaseMetaData::getIndexInfo().
+ <P>
+ Indicates that this table index is not a clustered
+ index, a hashed index, or table statistics;
+ it is something other than these.
+ </P>
+ */
+ const short OTHER = 3;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/JDBCConnectionProperties.idl b/offapi/com/sun/star/sdbc/JDBCConnectionProperties.idl
new file mode 100644
index 000000000..1c33114b4
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/JDBCConnectionProperties.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_sdbc_JDBCConnectionProperties_idl__
+#define __com_sun_star_sdbc_JDBCConnectionProperties_idl__
+
+#include <com/sun/star/sdbc/ConnectionProperties.idl>
+#include <com/sun/star/beans/NamedValue.idl>
+
+module com { module sun { module star { module sdbc {
+
+/** represents the properties for a JDBC connection (session) with a specific
+ database. These properties can be used when calling the method
+ com::sun::star::sdbc::XDriver::connect() or
+ com::sun::star::sdbc::XDriverManager::getConnectionWithInfo().
+
+ <p>
+ The properties for a connection contain additional information about how to connect to a database and
+ how to control the behavior of the resulting connection should be.
+
+ </p>
+ @see com::sun::star::sdbc::XDriver
+ @see com::sun::star::sdbc::XDriverManager
+ @see com::sun::star::sdbc::ConnectionProperties
+ */
+service JDBCConnectionProperties
+{
+ service com::sun::star::sdbc::ConnectionProperties;
+
+ /** which JDBC driver class should be loaded to create the connection.
+
+ @see com::sun::star::sdbc::JDBCConnectionProperties::JavaDriverClassPath
+ */
+ [optional, property] string JavaDriverClass;
+
+ /** an optional class path to locate the
+ com::sun::star::sdbc::JDBCConnectionProperties::JavaDriverClass
+
+ <p>The class path is a list of zero or more internal (see the
+ com::sun::star::uri::ExternalUriReferenceTranslator
+ service) URI references, where any space characters
+ (<code>U+0020</code>) are ignored (and, in particular, separate adjacent
+ URI references). Any &ldquo;vnd.sun.star.expand&rdquo; URL references
+ in the list are expanded using the
+ com::sun::star::util::theMacroExpander
+ singleton.</p>
+
+ @since OOo 2.3
+ */
+ [optional, property] string JavaDriverClassPath;
+
+ /** specifies a set of properties to pass to <code>java.lang.System.setProperty</code> before
+ loading the system's JDBC driver.
+ */
+ [optional, property] sequence< ::com::sun::star::beans::NamedValue > SystemProperties;
+
+ /** specifies if retrieving of auto generated values should be enabled or not.
+ If `TRUE` than the statement will support the XGeneratedResultSet (future concept) interface, otherwise not.
+ */
+ [optional, property] boolean IsAutoRetrievingEnabled;
+
+ /** specifies the statement which should be executed
+ when asking an "INSERT" statement for the XGeneratedResultSet (future concept) interface.
+ */
+ [optional, property] string AutoRetrievingStatement;
+
+ /** specifies how the type info returned by com::sun::star::sdbc::XDatabaseMetaData::getTypeInfo() will be modified.
+ <p>The sequence contains an even amount of string values. Each pair describes
+ what should be searched for and what should be replaced if found.
+ <br>
+ The syntax is:
+ <p>
+ <ul>
+ <li>COLUMN(2) = -5</li>
+ <li>COLUMN(6) = PRECISION</li>
+ </ul>
+ </p>
+ COLUMN(X) defines the column which will be compared and the column which will be replaced. In the example above column 2 will be compared
+ with the value -5. If this is true than column 6 will now return the value PRECISION.
+ </p>
+ */
+ [optional, property] sequence< any > TypeInfoSettings;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/KeyRule.idl b/offapi/com/sun/star/sdbc/KeyRule.idl
new file mode 100644
index 000000000..30eae77a6
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/KeyRule.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_sdbc_KeyRule_idl__
+#define __com_sun_star_sdbc_KeyRule_idl__
+
+ module com { module sun { module star { module sdbc {
+
+
+/** determines the rules for foreign key constraints.
+ */
+published constants KeyRule
+{
+
+ /** a possible value for the column's
+ <code>UPDATE_RULE</code>
+ and
+ <code>DELETE_RULE</code>
+ in the
+ com::sun::star::sdbc::XResultSet
+ objects returned by the methods
+ com::sun::star::sdbc::XDatabaseMetaData::getImportedKeys(),
+ com::sun::star::sdbc::XDatabaseMetaData::getExportedKeys(),
+ and com::sun::star::sdbc::XDatabaseMetaData::getCrossReference().
+ <P>
+ For the column
+ <code>UPDATE_RULE</code>
+ ,
+ it indicates that
+ when the primary key is updated, the foreign key (imported key)
+ is changed to agree with it.
+ </P>
+ <P>
+ For the column
+ <code>DELETE_RULE</code>
+ ,
+ it indicates that
+ when the primary key is deleted, rows that imported that key
+ are deleted.
+ </P>
+ */
+ const long CASCADE = 0;
+
+ /** a possible value for the column's
+ <code>UPDATE_RULE</code>
+ and
+ <code>DELETE_RULE</code>
+ in the
+ com::sun::star::sdbc::XResultSet
+ objects returned by the methods
+ com::sun::star::sdbc::XDatabaseMetaData::getImportedKeys(),
+ com::sun::star::sdbc::XDatabaseMetaData::getExportedKeys(),
+ and com::sun::star::sdbc::XDatabaseMetaData::getCrossReference().
+ <P>
+ For the column
+ <code>UPDATE_RULE</code>
+ , it indicates that
+ a primary key may not be updated if it has been imported by
+ another table as a foreign key.
+ </P>
+ <P>
+ For the column
+ <code>DELETE_RULE</code>
+ , it indicates that
+ a primary key may not be deleted if it has been imported by
+ another table as a foreign key.
+ </P>
+ */
+ const long RESTRICT = 1;
+
+ /** a possible value for the column's
+ <code>UPDATE_RULE</code>
+ and
+ <code>DELETE_RULE</code>
+ in the
+ com::sun::star::sdbc::XResultSet
+ objects returned by the methods
+ com::sun::star::sdbc::XDatabaseMetaData::getImportedKeys(),
+ com::sun::star::sdbc::XDatabaseMetaData::getExportedKeys(),
+ and com::sun::star::sdbc::XDatabaseMetaData::getCrossReference().
+ <P>
+ For the columns
+ <code>UPDATE_RULE</code>
+ and
+ <code>DELETE_RULE</code>
+ ,
+ it indicates that
+ when the primary key is updated or deleted, the foreign key (imported key)
+ is changed to <code>NULL</code>.
+ </P>
+ */
+ const long SET_NULL = 2;
+
+ /** a possible value for the column's
+ <code>UPDATE_RULE</code>
+ and
+ <code>DELETE_RULE</code>
+ in the
+ com::sun::star::sdbc::XResultSet
+ objects returned by the methods
+ com::sun::star::sdbc::XDatabaseMetaData::getImportedKeys(),
+ com::sun::star::sdbc::XDatabaseMetaData::getExportedKeys(),
+ and com::sun::star::sdbc::XDatabaseMetaData::getCrossReference().
+ <P>
+ For the columns
+ <code>UPDATE_RULE</code>
+ and
+ <code>DELETE_RULE</code>
+ ,
+ it indicates that if the primary key has been imported, it cannot be updated or deleted.
+ </P>
+ */
+ const long NO_ACTION = 3;
+
+ /** a possible value for the column's
+ <code>UPDATE_RULE</code>
+ and
+ <code>DELETE_RULE</code>
+ in the
+ com::sun::star::sdbc::XResultSet
+ objects returned by the methods
+ com::sun::star::sdbc::XDatabaseMetaData::getImportedKeys(),
+ com::sun::star::sdbc::XDatabaseMetaData::getExportedKeys(),
+ and com::sun::star::sdbc::XDatabaseMetaData::getCrossReference().
+ <P>
+ For the columns
+ <code>UPDATE_RULE</code>
+ and
+ <code>DELETE_RULE</code>
+ ,
+ it indicates that
+ if the primary key is updated or deleted, the foreign key (imported key)
+ is set to the default value.
+ </P>
+ */
+ const long SET_DEFAULT = 4;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/ODBCConnectionProperties.idl b/offapi/com/sun/star/sdbc/ODBCConnectionProperties.idl
new file mode 100644
index 000000000..3f23ba4cc
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/ODBCConnectionProperties.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_sdbc_ODBCConnectionProperties_idl__
+#define __com_sun_star_sdbc_ODBCConnectionProperties_idl__
+
+#include <com/sun/star/sdbc/ConnectionProperties.idl>
+
+module com { module sun { module star { module sdbc {
+
+/** represents the properties for an ODBC connection (session) with a specific
+ database. These properties can be used when calling the method
+ com::sun::star::sdbc::XDriver::connect() or
+ com::sun::star::sdbc::XDriverManager::getConnectionWithInfo().
+
+ <p>
+ The properties for a connection contain additional information about how to connect to a database and
+ how to control the behavior of the resulting connection should be.
+
+ </p>
+ @see com::sun::star::sdbc::XDriver
+ @see com::sun::star::sdbc::XDriverManager
+ @see com::sun::star::sdbc::ConnectionProperties
+ */
+service ODBCConnectionProperties
+{
+ service com::sun::star::sdbc::ConnectionProperties;
+ /** should the parameter "?" in prepared statement be substituted with an distinct name
+ */
+ [optional, property] boolean ParameterNameSubstitution;
+
+ /** the Timeout after which time a timeout should happen
+ */
+ [optional, property] long Timeout;
+
+ /** Silent - should the connection be silent. No user interaction while creating the connection.
+ */
+ [optional, property] boolean Silent;
+
+ /** should the driver should support a catalog.
+ */
+ [optional, property] boolean UseCatalog;
+
+ /** specifies the encoding to use to translate the backend data
+
+ <p>See the <a href="http://www.iana.org/assignments/character-sets">IANA character set list</a>
+ for a list of valid values.</p>
+ */
+ [optional, property] string CharSet;
+
+ /** specifies if retrieving of auto generated values should be enabled or not.
+ If `TRUE` than the statement will support the XGeneratedResultSet (future concept) interface, otherwise not.
+ */
+ [optional, property] boolean IsAutoRetrievingEnabled;
+
+ /** specifies the statement which should be executed
+ when asking an "INSERT" statement for the XGeneratedResultSet (future concept) interface.
+ */
+ [optional, property] string AutoRetrievingStatement;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/PreparedStatement.idl b/offapi/com/sun/star/sdbc/PreparedStatement.idl
new file mode 100644
index 000000000..007f5def8
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/PreparedStatement.idl
@@ -0,0 +1,258 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_sdbc_PreparedStatement_idl__
+#define __com_sun_star_sdbc_PreparedStatement_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+#include <com/sun/star/util/XCancellable.idl>
+
+ module com { module sun { module star { module sdbc {
+
+ published interface XPreparedStatement;
+ published interface XPreparedBatchExecution;
+ published interface XParameters;
+ published interface XWarningsSupplier;
+ published interface XMultipleResults;
+ published interface XResultSetMetaDataSupplier;
+ published interface XCloseable;
+
+
+/** represents a precompiled SQL statement.
+ <P>
+ A SQL statement is pre-compiled and stored in a PreparedStatement object.
+ This object can then be used to efficiently execute this statement multiple
+ times.
+ </P>
+ <P>
+ <B>
+ Note:
+ </B>
+ The
+ <code>setXXX</code>
+ methods for setting IN parameter values
+ must specify types that are compatible with the defined SQL type of
+ the input parameter. For instance, if the IN parameter has SQL type
+ Integer, then the method
+ com::sun::star::sdbc::XParameters::setInt()
+ should be used.
+ </P>
+ <p>
+ If arbitrary parameter type conversions are required, the method
+ com::sun::star::sdbc::XParameters::setObject()
+ should be used with a target SQL type.
+ </p>
+ <p>
+ Example of setting a parameter; <code>con</code> is an active connection.
+ @code{.bas}
+ pstmt = con.prepareStatement("UPDATE EMPLOYEES SET SALARY = ? WHERE ID = ?")
+ pstmt.setDouble(1, 153833.00)
+ pstmt.setLong(2, 110592)
+ @endcode
+ </p>
+ <P>
+ Only one
+ com::sun::star::sdbc::ResultSet
+ per
+ com::sun::star::sdbc::Statement
+ can be open at any point in
+ time. Therefore, if the reading of one ResultSet is interleaved
+ with the reading of another, each must have been generated by
+ different Statements. All statement
+ <code>execute</code>
+ methods implicitly close a statement's current ResultSet if an open one exists.
+ </p>
+ */
+published service PreparedStatement
+{
+
+ /** optional for implementation, controls the releasing of resources
+ and the notification of registered listeners.
+ */
+ [optional] interface com::sun::star::lang::XComponent;
+
+
+ /** freeing all resources of a statement. A related result set will be
+ freed as well.
+ */
+ interface XCloseable;
+
+ // gives access to the properties.
+ interface com::sun::star::beans::XPropertySet;
+
+ /** could be used for canceling the execution of SQL statements, if both
+ the DBMS and the driver support aborting an SQL statement.
+ The implementation is optional.
+ */
+ [optional] interface com::sun::star::util::XCancellable;
+
+ /** is the interface for executing SQL prepared commands.
+ */
+ interface XPreparedStatement;
+
+
+ /** provides access to the description of the result set which would be generated by executing the
+ PreparedStatement.
+ */
+ interface XResultSetMetaDataSupplier;
+
+
+ /** is used for setting parameters before execution of the precompiled
+ statement.
+ */
+ interface XParameters;
+
+
+ /** provides the ability of batch execution. This interface is optional
+ for execution.
+ <p>
+ A driver implementing batch execution must return
+ `TRUE`
+ for
+ com::sun::star::sdbc::XDatabaseMetaData::supportsBatchUpdates()
+ </p>
+ */
+ [optional] interface XPreparedBatchExecution;
+
+
+ /** controls the chaining of warnings, which may occur on every call
+ to the connected database. Chained warnings from previous calls will be
+ cleared before processing a new call.
+ */
+ interface XWarningsSupplier;
+
+
+ /** covers the handling of multiple results after executing an SQL command.
+ */
+ interface XMultipleResults;
+
+
+ /** retrieves the number of seconds the driver will wait for a Statement
+ to execute. If the limit is exceeded, a SQLException is thrown.
+ There is no limitation, if set to zero.
+ */
+ [property] long QueryTimeOut;
+
+
+ /** returns the maximum number of bytes allowed for any column value.
+ <p>
+ This limit is the maximum number of bytes that can be returned
+ for any column value. The limit applies only to
+ com::sun::star::sdbc::DataType::BINARY
+ ,
+ com::sun::star::sdbc::DataType::VARBINARY
+ ,
+ com::sun::star::sdbc::DataType::LONGVARBINARY
+ ,
+ com::sun::star::sdbc::DataType::CHAR
+ ,
+ com::sun::star::sdbc::DataType::VARCHAR
+ ,
+ and
+ com::sun::star::sdbc::DataType::LONGVARCHAR
+ columns.
+ If the limit is exceeded, the excess data is silently discarded.
+ </p>
+ <p>
+ There is no limitation, if set to zero.
+ </p>
+ */
+ [property] long MaxFieldSize;
+
+
+ /** retrieves the maximum number of rows that a ResultSet can contain.
+ If the limit is exceeded, the excess rows are silently dropped.
+ <br>There is no limitation, if set to zero.
+ */
+ [property] long MaxRows;
+
+
+ /** defines the SQL cursor name that will be used by subsequent Statement
+ <code>execute</code>
+ methods.
+ <p>
+ This name can then be used in SQL positioned update/delete statements to
+ identify the current row in the ResultSet generated by this statement. If
+ the database does not support positioned update/delete, this property is
+ a noop. To ensure that a cursor has the proper isolation level to support
+ updates, the cursor's SELECT statement should be of the form
+ "select for update ...". If the "for update" phrase is omitted,
+ positioned updates may fail.
+ </p>
+ <P>
+ <B>
+ Note:
+ </B>
+ By definition, positioned update/delete
+ execution must be done by a different Statement than the one
+ which generated the ResultSet being used for positioning. Also,
+ cursor names must be unique within a connection.
+ </p>
+ */
+ [property] string CursorName;
+
+
+ /** retrieves the result set concurrency.
+ @see com::sun::star::sdbc::ResultSetConcurrency
+ */
+ [property] long ResultSetConcurrency;
+
+
+ /** Determine the result set type.
+ @see com::sun::star::sdbc::ResultSetType
+ */
+ [property] long ResultSetType;
+
+
+ /** retrieves the direction for fetching rows from database tables
+ that is the default for result sets generated from this
+ <code>Statement</code>
+ object.
+ <p>
+ If this
+ <code>Statement</code>
+ object has not set a fetch direction,
+ the return value is implementation-specific.
+ </p>
+ */
+ [property] long FetchDirection;
+
+
+ /** retrieves the number of result set rows that is the default fetch size
+ for result sets generated from this
+ <code>Statement</code>
+ object.
+ <p>
+ If this
+ <code>Statement</code>
+ object has not set a fetch size,
+ the return value is implementation-specific.
+ </p>
+ */
+ [property] long FetchSize;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/ProcedureColumn.idl b/offapi/com/sun/star/sdbc/ProcedureColumn.idl
new file mode 100644
index 000000000..2ddcedb47
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/ProcedureColumn.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_sdbc_ProcedureColumn_idl__
+#define __com_sun_star_sdbc_ProcedureColumn_idl__
+
+ module com { module sun { module star { module sdbc {
+
+
+/** indicates the type of a procedure column.
+ */
+published constants ProcedureColumn
+{
+
+ /** indicates that the type of the column is unknown. A possible value for
+ the column
+ <code>COLUMN_TYPE</code>
+ in the
+ com::sun::star::sdbc::XResultSet
+ returned by the method
+ com::sun::star::sdbc::XDatabaseMetaData::getProcedureColumns().
+ */
+ const long UNKNOWN = 0;
+
+ /** indicates that the column stores IN parameters.
+ A possible value for the column
+ <code>COLUMN_TYPE</code>
+ in the
+ com::sun::star::sdbc::XResultSet
+ returned by the method
+ com::sun::star::sdbc::XDatabaseMetaData::getProcedureColumns().
+ */
+ const long IN = 1;
+
+ /** indicates that the column stores INOUT parameters.
+ A possible value for the column
+ <code>COLUMN_TYPE</code>
+ in the
+ com::sun::star::sdbc::XResultSet
+ returned by the method
+ com::sun::star::sdbc::XDatabaseMetaData::getProcedureColumns().
+ */
+ const long INOUT = 2;
+
+ /** indicates that the column stores results.
+ A possible value for the column
+ <code>COLUMN_TYPE</code>
+ in the
+ com::sun::star::sdbc::XResultSet
+ returned by the method
+ com::sun::star::sdbc::XDatabaseMetaData::getProcedureColumns().
+ */
+ const long RESULT = 3;
+
+ /** indicates that the column stores OUT parameters.
+ A possible value for the column
+ <code>COLUMN_TYPE</code>
+ in the
+ com::sun::star::sdbc::XResultSet
+ returned by the method
+ com::sun::star::sdbc::XDatabaseMetaData::getProcedureColumns().
+ */
+ const long OUT = 4;
+
+ /** Indicates that the column stores return values.
+ A possible value for the column
+ <code>COLUMN_TYPE</code>
+ in the
+ com::sun::star::sdbc::XResultSet
+ returned by the method
+ com::sun::star::sdbc::XDatabaseMetaData::getProcedureColumns().
+ */
+ const long RETURN = 5;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/ProcedureResult.idl b/offapi/com/sun/star/sdbc/ProcedureResult.idl
new file mode 100644
index 000000000..bdd0ed2ee
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/ProcedureResult.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_sdbc_ProcedureResult_idl__
+#define __com_sun_star_sdbc_ProcedureResult_idl__
+
+ module com { module sun { module star { module sdbc {
+
+
+/** determines whether a procedure returns a result or not.
+ */
+published constants ProcedureResult
+{
+
+ /** A possible value for column
+ <code>PROCEDURE_TYPE</code>
+ in the
+ com::sun::star::sdbc::XResultSet
+ object returned by the method
+ com::sun::star::sdbc::XDatabaseMetaData::getProcedures().
+ <p>
+ Indicates that it is not known whether the procedure returns
+ a result.
+ </p>
+ */
+ const long UNKNOWN = 0;
+
+ /** A possible value for column
+ <code>PROCEDURE_TYPE</code>
+ in the
+ com::sun::star::sdbc::XResultSet
+ object returned by the method
+ com::sun::star::sdbc::XDatabaseMetaData::getProcedures().
+ <p>
+ Indicates that the procedure does not return
+ a result.
+ </p>
+ */
+ const long NONE = 1;
+
+ /** A possible value for column
+ <code>PROCEDURE_TYPE</code>
+ in the
+ com::sun::star::sdbc::XResultSet
+ object returned by the method
+ com::sun::star::sdbc::XDatabaseMetaData::getProcedures().
+ <p>
+ Indicates that the procedure returns
+ a result.
+ </p>
+ */
+ const long RETURN = 2;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/ResultSet.idl b/offapi/com/sun/star/sdbc/ResultSet.idl
new file mode 100644
index 000000000..69f1cd617
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/ResultSet.idl
@@ -0,0 +1,236 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_sdbc_ResultSet_idl__
+#define __com_sun_star_sdbc_ResultSet_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+#include <com/sun/star/util/XCancellable.idl>
+
+ module com { module sun { module star { module sdbc {
+
+ published interface XStatement;
+ published interface XRow;
+ published interface XRowUpdate;
+ published interface XResultSet;
+ published interface XResultSetUpdate;
+ published interface XResultSetMetaDataSupplier;
+ published interface XWarningsSupplier;
+ published interface XColumnLocate;
+ published interface XCloseable;
+
+
+/** provides access to a table of data. A ResultSet
+ object is usually generated by executing a Statement.
+
+
+
+ <p>
+ A ResultSet maintains a cursor pointing to its current row of
+ data. Initially the cursor is positioned before the first row.
+ The "next" method moves the cursor to the next row.
+ </p>
+ <p>
+ The getXXX methods retrieve column values for the current
+ row. You can retrieve values using either the index number of the
+ column. Columns are numbered from 1.
+ </p>
+ <p>
+ For maximum portability, ResultSet columns within each row should be
+ read in left-to-right order and each column should be read only once.
+ </p>
+ <p>
+ For the getXXX methods, the SDBC driver attempts to convert the
+ underlying data to the specified type and returns a suitable
+ value.
+ </p>
+ <p>
+ Column names used as input to the findColumn method are case
+ insensitive. When several columns have the same name, then the value
+ of the first matching column will be returned. The column name option is
+ designed to be used when column names are used in the SQL
+ query. For columns that are NOT explicitly named in the query, it
+ is best to use column numbers. If column names are used, there is
+ no way for the programmer to guarantee that they actually refer to
+ the intended columns.
+ </p>
+ <p>
+ A ResultSet is automatically closed (disposed) by the Statement that
+ generated it when that Statement is closed, re-executed, or used
+ to retrieve the next result from a sequence of multiple results.
+ </p>
+ <p>
+ The number, types, and properties of a ResultSet's columns are
+ provided by the ResultSetMetaData object returned by the getMetaData
+ method.
+ </p>
+ */
+published service ResultSet
+{
+
+ /** optional for implementation; controls the releasing of resources
+ and the notification of registered listeners.
+ */
+ [optional] interface com::sun::star::lang::XComponent;
+
+
+ /** freeing all resources of a result set.
+
+ <p>
+ The creating statement will still be open after disposing.
+ </p>
+
+ <p>
+ This interface is mandatory only for JDBC conformance,
+ otherwise it is optional.
+ </p>
+ */
+ [optional] interface XCloseable;
+
+ // gives access to the properties.
+ interface com::sun::star::beans::XPropertySet;
+
+
+ /** controls the chaining of warnings, which may occur on every call
+ to the connected database.
+
+ <p>
+ Chained warnings from previous calls will be cleared before processing a new call.
+ </p>
+
+ <p>
+ This interface is mandatory only for JDBC conformance, otherwise it is optional.
+ </p>
+ */
+ [optional] interface XWarningsSupplier;
+
+
+ /** provides the access to the result set description.
+ */
+ interface XResultSetMetaDataSupplier;
+
+
+ /** is the interface for navigating on the rows on a result set.
+ */
+ interface XResultSet;
+
+
+ /** is the interface for updating row data to the database.
+
+ <p>
+ The implementation is optional.
+ </p>
+ */
+ [optional] interface XResultSetUpdate;
+
+
+ /** is the interface for accessing the data of the current row.
+ */
+ interface XRow;
+
+
+ /** is used for locating a column by its name.
+ */
+ interface XColumnLocate;
+
+
+ /** is the interface for updating the data of the current row.
+
+ <p>
+ The implementation is optional.
+ </p>
+ */
+ [optional] interface XRowUpdate;
+
+
+ /** defines the SQL cursor name that will be used by subsequent Statement
+ <code>execute</code>
+ methods.
+
+
+ <p>
+ This name can then be used in SQL positioned update/delete statements to
+ identify the current row in the ResultSet generated by this statement. If
+ the database doesn't support positioned update/delete, this property is
+ a noop. To ensure that a cursor has the proper isolation level to support
+ updates, the cursor's SELECT statement should be of the form
+ "select for update ...". If the "for update" phrase is omitted,
+ positioned updates may fail.
+ </p>
+ <p>
+ <b>
+ Note:
+ </b>
+ By definition, positioned update/delete
+ execution must be done by a different Statement than the one
+ which generated the ResultSet being used for positioning. Also,
+ cursor names must be unique within a connection.
+ </p>
+ */
+ [optional, readonly, property] string CursorName;
+
+
+ /** retrieves the result set concurrency.
+
+ @see com::sun::star::sdbc::ResultSetConcurrency
+ */
+ [readonly, property] long ResultSetConcurrency;
+
+
+ /** determines the result set type.
+
+ @see com::sun::star::sdbc::ResultSetType
+ */
+ [readonly, property] long ResultSetType;
+
+
+ /** retrieves the direction for fetching rows from database tables
+ that is the default for result sets generated from this
+ com::sun::star::sdbcx::Statement
+ object.
+ <br/>
+ If this <code>Statement</code> object has not set a fetch direction,
+ the return value is implementation-specific.
+ */
+ [property] long FetchDirection;
+
+
+ /** retrieves the number of result set rows that is the default fetch size
+ for result sets generated from this
+ com::sun::star::sdbcx::Statement
+ object.
+ <br/>
+ If this
+ com::sun::star::sdbcx::Statement
+ object has not set a fetch size,
+ the return value is implementation-specific.
+ */
+ [property] long FetchSize;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/ResultSetConcurrency.idl b/offapi/com/sun/star/sdbc/ResultSetConcurrency.idl
new file mode 100644
index 000000000..5721b6091
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/ResultSetConcurrency.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_sdbc_ResultSetConcurrency_idl__
+#define __com_sun_star_sdbc_ResultSetConcurrency_idl__
+
+ module com { module sun { module star { module sdbc {
+
+
+/** describes the different scroll capabilities of a result set.
+ */
+published constants ResultSetConcurrency
+{
+
+ /** is the concurrency mode for a
+ com::sun::star::sdb::ResultSet
+ object that may NOT be updated.
+ */
+ const long READ_ONLY = 1007;
+
+
+ /** is the concurrency mode for a
+ com::sun::star::sdb::ResultSet
+ object that may be updated.
+ */
+ const long UPDATABLE = 1008;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/ResultSetType.idl b/offapi/com/sun/star/sdbc/ResultSetType.idl
new file mode 100644
index 000000000..9398113c1
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/ResultSetType.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_sdbc_ResultSetType_idl__
+#define __com_sun_star_sdbc_ResultSetType_idl__
+
+ module com { module sun { module star { module sdbc {
+
+
+/** describes the different scroll capabilities of a result set.
+ */
+published constants ResultSetType
+{
+
+ /** is the type for a
+ com::sun::star::sdb::ResultSet
+ object whose cursor may move only forward.
+ */
+ const long FORWARD_ONLY = 1003;
+
+
+ /** is the type for a
+ com::sun::star::sdb::ResultSet
+ object that is scrollable
+ but generally not sensitive to changes made by others.
+ */
+ const long SCROLL_INSENSITIVE = 1004;
+
+
+ /** is the type for a
+ com::sun::star::sdb::ResultSet
+ object that is scrollable
+ and generally sensitive to changes made by others.
+ */
+ const long SCROLL_SENSITIVE = 1005;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/RowSet.idl b/offapi/com/sun/star/sdbc/RowSet.idl
new file mode 100644
index 000000000..f8b918368
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/RowSet.idl
@@ -0,0 +1,177 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_sdbc_RowSet_idl__
+#define __com_sun_star_sdbc_RowSet_idl__
+
+#include <com/sun/star/sdbc/ResultSet.idl>
+#include <com/sun/star/sdbc/XColumnLocate.idl>
+
+ module com { module sun { module star { module container {
+ published interface XNameAccess;
+};};};};
+
+ module com { module sun { module star { module sdbc {
+
+ published interface XRowSet;
+ published interface XParameters;
+
+
+/** is a client side ResultSet, which combines the characteristics of a
+ com::sun::star::sdbc::Statement
+ and a
+ com::sun::star::sdbc::ResultSet.
+
+
+ <p>
+ It acts like a typical bean. Before you use the RowSet, you have to specify a
+ set of properties like a DataSource and a Command and other properties known of
+ Statement.
+ <br/>
+ Afterwards, you can populate the RowSet by its execute method to fill the set
+ with data.
+ </p>
+ <p>
+ On the one hand, a RowSet can be used as a short cut to retrieve the data of a DataSource.
+ You don't have to establish a connection, create a Statement, and then create
+ a ResultSet. On the other hand, a row set can be used to implement capabilities for
+ a result set, which are not supported by a driver result set, like caching
+ strategies or update capabilities.
+ </p>
+ */
+published service RowSet
+{
+ service com::sun::star::sdbc::ResultSet;
+
+ /** used to execute and to add/remove listeners.
+
+ <p>To refresh the content of a RowSet, use this interface's XRowSet::execute()
+ method.</p>
+ */
+ interface XRowSet;
+
+ // used to set parameters.
+ interface XParameters;
+
+ /** allows locating columns whose name is known only.
+ */
+ interface XColumnLocate;
+
+ /** is the name of a named datasource to use.@see com::sun::star::sdbc:XDataSource
+ */
+ [property] string DataSourceName;
+
+
+ /** is the connection URL. Could be used instead of the DataSourceName.
+ */
+ [property] string URL;
+
+
+ /** is the command which should be executed.
+ */
+ [property] string Command;
+
+
+ /** indicates the transaction isolation level, which should be used for the
+ connection.@see com::sun::star::sdbc::TransactionIsolation
+ */
+ [property] long TransactionIsolation;
+
+
+ /** is the type map that will be used for the custom mapping of SQL structured types
+ and distinct types.
+ */
+ [property] com::sun::star::container::XNameAccess TypeMap;
+
+
+ /** returns if escape processing is on or off.
+ If escape scanning is on (the default), the driver will do
+ escape substitution before sending the SQL to the database.
+ This is only evaluated, if the CommandType is COMMAND.
+ */
+ [property] boolean EscapeProcessing;
+
+
+ /** retrieves the number of seconds the driver will wait for a Statement
+ to execute. If the limit is exceeded, a
+ com::sun::star::sdbc::SQLException
+ is thrown.
+ There is no limitation, if set to zero.
+ */
+ [property] long QueryTimeOut;
+
+
+ /** returns the maximum number of bytes allowed for any column value.
+
+ <p>
+ This limit is the maximum number of bytes that can be returned
+ for any column value. The limit applies only to
+ com::sun::star::sdbc::DataType::BINARY
+ ,
+ com::sun::star::sdbc::DataType::VARBINARY
+ ,
+ com::sun::star::sdbc::DataType::LONGVARBINARY
+ ,
+ com::sun::star::sdbc::DataType::CHAR
+ ,
+ com::sun::star::sdbc::DataType::VARCHAR
+ ,
+ and
+ com::sun::star::sdbc::DataType::LONGVARCHAR
+ columns.
+ If the limit is exceeded, the excess data is silently discarded.
+ <br/>
+ There is no limitation, if set to zero.
+ </p>
+ */
+ [property] long MaxFieldSize;
+
+
+ /** retrieves the maximum number of rows that a ResultSet can contain.
+ If the limit is exceeded, the excess rows are silently dropped.
+ <br/>
+ There is no limitation, if set to zero.
+ */
+ [property] long MaxRows;
+
+
+ /** determines the user for whom to open the connection.
+ */
+ [property] string User;
+
+
+ /** determines the user for whom to open the connection.
+ */
+ [property] string Password;
+
+
+ /** determine the result set type.
+
+ @see com::sun::star::sdbc::ResultSetType
+ */
+ [property] long ResultSetType;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/SQLException.idl b/offapi/com/sun/star/sdbc/SQLException.idl
new file mode 100644
index 000000000..bd2658334
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/SQLException.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_sdbc_SQLException_idl__
+#define __com_sun_star_sdbc_SQLException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+ module com { module sun { module star { module sdbc {
+
+
+/** is an exception that provides information on a database access error.
+
+ <p>
+ Each
+ com::sun::star::sdbc::SQLException
+ provides several kinds of information:
+ </p>
+ <p>
+ <ul>
+ <li>
+ a string describing the error. This is used as the
+ com::sun::star::uno::Exception
+ message.
+ </li>
+ </ul>
+ </p>
+ */
+published exception SQLException: com::sun::star::uno::Exception
+{
+ /** returns a string, which uses the XOPEN SQLState conventions.
+ The values of the SQLState string are described in the XOPEN SQL spec.
+ */
+ string SQLState;
+
+ /** returns an integer error code that is specific to each vendor. Normally this will
+ be the actual error code returned by the underlying database.
+ */
+ long ErrorCode;
+
+ /** returns a chain to the next Exception.
+ This can be used to provide additional
+ error information.
+ */
+ any NextException;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/SQLWarning.idl b/offapi/com/sun/star/sdbc/SQLWarning.idl
new file mode 100644
index 000000000..e13468e96
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/SQLWarning.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_sdbc_SQLWarning_idl__
+#define __com_sun_star_sdbc_SQLWarning_idl__
+
+#include <com/sun/star/sdbc/SQLException.idl>
+
+ module com { module sun { module star { module sdbc {
+
+
+/** is an exception that provides information on database access
+ warnings. Warnings are silently chained to the object whose method
+ caused it to be reported.
+
+ @see XConnection::getWarnings
+ @see XResultSet::getWarnings
+ @see XStatement::getWarnings
+ */
+published exception SQLWarning: SQLException
+{
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/Statement.idl b/offapi/com/sun/star/sdbc/Statement.idl
new file mode 100644
index 000000000..6b7868f78
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/Statement.idl
@@ -0,0 +1,220 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_sdbc_Statement_idl__
+#define __com_sun_star_sdbc_Statement_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+#include <com/sun/star/util/XCancellable.idl>
+
+ module com { module sun { module star { module sdbc {
+
+ published interface XWarningsSupplier;
+ published interface XStatement;
+ published interface XBatchExecution;
+ published interface XMultipleResults;
+ published interface XCloseable;
+
+
+/** is used for executing a static SQL statement and obtaining the results
+ produced by it.
+
+ <p>
+ Only one ResultSet per Statement can be open at any point in
+ time. Therefore, if the reading of one ResultSet is interleaved
+ with the reading of another, each must have been generated by
+ different Statements. All statement <code>execute</code> methods implicitly
+ close a statement's current ResultSet if an open one exists.
+ </p>
+ */
+published service Statement
+{
+
+ /** optional for implementation, controls the releasing of resources
+ and the notification of registered listeners.
+ */
+ [optional] interface com::sun::star::lang::XComponent;
+
+
+ /** freeing all resources of a statement. A related result set will be
+ freed as well.
+ */
+ interface XCloseable;
+
+ // gives access to the properties.
+ interface com::sun::star::beans::XPropertySet;
+
+ /** could be used for canceling the execution of SQL statements if both
+ the DBMS and the driver support aborting an SQL statement.
+ The implementation is optional.
+ */
+ [optional] interface com::sun::star::util::XCancellable;
+
+ /** is the interface for executing SQL commands.
+ */
+ interface XStatement;
+
+
+ /** provides the ability of batch execution. This interface is optional
+ for execution.
+ <p>
+ A driver implementing batch execution must return
+ `TRUE`
+ for
+ com::sun::star::sdbc:: XDatabaseMetaData::supportsBatchUpdates()
+ </p>
+ */
+ [optional] interface XBatchExecution;
+
+
+ /** controls the chaining of warnings, which may occur on every call
+ to the connected database. Chained warnings from previous calls will be
+ cleared before processing a new call.
+ */
+ interface XWarningsSupplier;
+
+
+ /** covers the handling of multiple results after executing an SQL command.
+ The implementation is optional.
+ */
+ [optional] interface XMultipleResults;
+
+
+ /** retrieves the number of seconds the driver will wait for a Statement
+ to execute. If the limit is exceeded, a SQLException is thrown.
+ There is no limitation, if set to zero.
+ */
+ [property] long QueryTimeOut;
+
+
+ /** returns the maximum number of bytes allowed for any column value.
+
+ <p>
+ This limit is the maximum number of bytes that can be returned
+ for any column value. The limit applies only to
+ com::sun::star::sdbc::DataType::BINARY
+ ,
+ com::sun::star::sdbc::DataType::VARBINARY
+ ,
+ com::sun::star::sdbc::DataType::LONGVARBINARY
+ ,
+ com::sun::star::sdbc::DataType::CHAR
+ ,
+ com::sun::star::sdbc::DataType::VARCHAR
+ ,
+ and
+ com::sun::star::sdbc::DataType::LONGVARCHAR
+ columns.
+ If the limit is exceeded, the excess data is silently discarded.
+ <br/>
+ There is no limitation, if set to zero.
+ </p>
+ */
+ [property] long MaxFieldSize;
+
+
+ /** retrieves the maximum number of rows that a ResultSet can contain.
+ If the limit is exceeded, the excess rows are silently dropped.
+ <br/>
+ There is no limitation, if set to zero.
+ */
+ [property] long MaxRows;
+
+
+ /** defines the SQL cursor name that will be used by subsequent Statement
+ <code>execute</code>
+ methods.
+
+ <p>
+ This name can then be used in SQL positioned update/delete statements to
+ identify the current row in the ResultSet generated by this statement. If
+ the database does not support positioned update/delete, this property is
+ a noop. To ensure that a cursor has the proper isolation level to support
+ updates, the cursor's SELECT statement should be of the form
+ "select for update ...". If the "for update" phrase is omitted,
+ positioned updates may fail.
+ </p>
+ <p>
+ <b>
+ Note:
+ </b>
+ By definition, positioned update/delete
+ execution must be done by a different Statement than the one
+ which generated the ResultSet being used for positioning. Also,
+ cursor names must be unique within a connection.
+ </p>
+ */
+ [property] string CursorName;
+
+
+ /** retrieves the result set concurrency.
+
+ @see com::sun::star::sdbc::ResultSetConcurrency
+ */
+ [property] long ResultSetConcurrency;
+
+
+ /** determine the result set type.
+
+ @see com::sun::star::sdbc::ResultSetType
+ */
+ [property] long ResultSetType;
+
+
+ /** retrieves the direction for fetching rows from database tables
+ that is the default for result sets generated from this
+ <code>Statement</code>
+ object.
+ <br/>
+ If this
+ <code>Statement</code>
+ object has not set a fetch direction,
+ the return value is implementation-specific.
+ */
+ [property] long FetchDirection;
+
+
+ /** retrieves the number of result set rows that is the default fetch size
+ for result sets generated from this
+ <code>Statement</code>
+ object.
+ <br/>
+ If this
+ <code>Statement</code>
+ object has not set a fetch size,
+ the return value is implementation-specific.
+ */
+ [property] long FetchSize;
+
+
+ /** returns if escape processing is on or off.
+ If escape scanning is on (the default), the driver will do
+ escape substitution before sending the SQL to the database.
+ */
+ [property] boolean EscapeProcessing;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/TransactionIsolation.idl b/offapi/com/sun/star/sdbc/TransactionIsolation.idl
new file mode 100644
index 000000000..9f9c4c4ac
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/TransactionIsolation.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_sdbc_TransactionIsolation_idl__
+#define __com_sun_star_sdbc_TransactionIsolation_idl__
+
+ module com { module sun { module star { module sdbc {
+
+
+/** distinguishes different possible transaction isolation levels.
+ */
+published constants TransactionIsolation
+{
+
+ /** indicates that transactions are not supported.
+ */
+ const long NONE = 0;
+
+ /** Dirty reads, non-repeatable reads and phantom reads can occur.
+ This level allows a row changed by one transaction to be read
+ by another transaction before any changes in that row have been
+ committed (a "dirty read"). If any of the changes are rolled back,
+ the second transaction will have retrieved an invalid row.
+ */
+ const long READ_UNCOMMITTED = 1;
+
+ /** Dirty reads are prevented; non-repeatable reads and phantom
+ reads can occur. This level only prohibits a transaction
+ from reading a row with uncommitted changes in it.
+ */
+ const long READ_COMMITTED = 2;
+
+ /** Dirty reads and non-repeatable reads are prevented; phantom
+ reads can occur. This level prohibits a transaction from
+ reading a row with uncommitted changes in it, and it also
+ prohibits the situation where one transaction reads a row,
+ a second transaction alters the row, and the first transaction
+ rereads the row, getting different values the second time
+ (a "non-repeatable read").
+ */
+ const long REPEATABLE_READ = 4;
+
+ /** Dirty reads, non-repeatable reads and phantom reads are prevented.
+ This level includes the prohibitions in
+ <code>REPEATABLE_READ</code>
+ and further prohibits the
+ situation where one transaction reads all rows that satisfy
+ a WHERE condition, a second transaction inserts a row that
+ satisfies that WHERE condition, and the first transaction
+ rereads for the same condition, retrieving the additional
+ "phantom" row in the second read.
+ */
+ const long SERIALIZABLE = 8;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/XArray.idl b/offapi/com/sun/star/sdbc/XArray.idl
new file mode 100644
index 000000000..ddd0e461a
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XArray.idl
@@ -0,0 +1,231 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_sdbc_XArray_idl__
+#define __com_sun_star_sdbc_XArray_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+ module com { module sun { module star { module container {
+ published interface XNameAccess;
+};};};};
+
+#include <com/sun/star/sdbc/SQLException.idl>
+
+ module com { module sun { module star { module sdbc {
+
+ published interface XResultSet;
+
+
+/** is used for mapping the SQL type com::sun::star::sdbc::DataType::ARRAY.
+
+ By default, an <code>Array</code> is a transaction duration
+ reference to an SQL array. By default, an <code>Array</code>
+ is implemented using a SQL LOCATOR(array) internally.
+ */
+published interface XArray: com::sun::star::uno::XInterface
+{
+
+ /** returns the SQL type name of the elements in
+ the array designated by this
+ <code>Array</code>
+ object.
+ <p>
+ If the elements are a built-in type, it returns
+ the database-specific type name of the elements.
+ If the elements are a user-defined type (UDT),
+ this method returns the fully-qualified SQL type name.
+ </p>
+ @returns
+ a String that is the database-specific name for a built-in base type or the fully-qualified SQL type name for a base type that is a UDT
+
+ @throws SQLException
+ if a database access error occurs.
+ */
+ string getBaseTypeName() raises (SQLException);
+
+
+ /** returns the SDBC type of the elements in the array designated
+ by this
+ <code>Array</code>
+ object.
+ @returns
+ a constant from the SDBC types that is the type code for the elements in the array designated by this Array object.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ long getBaseType() raises (SQLException);
+
+
+ /** retrieves the contents of the SQL array designated by this
+ <code>Array</code>
+ object, using the specified
+ <code>typeMap</code>
+ for type map customizations.
+ <p>
+ If the base type of the array does not match a user-defined type
+ in
+ <code>typeMap</code>
+ , the standard mapping is used instead.
+
+ @param typeMap
+ is a map object that contains mappings of SQL type names to
+ services. If the
+ <code>typeMap</code>
+ is
+ `NULL`
+ , the type-map
+ associated with the connection for customizations of the type-mappings
+ is used.
+
+ @returns
+ a sequence that contains the ordered elements
+ of the SQL array designated by this object.
+
+ @throws SQLException
+ if an error occurs while attempting to access the array.
+ */
+ sequence<any> getArray([in]com::sun::star::container::XNameAccess typeMap)
+ raises (SQLException);
+
+
+ /** returns an array containing a slice of the SQL array, beginning with the
+ specified
+ <code>index</code>
+ and containing up to
+ <code>count</code>
+ successive elements of the SQL array.
+
+ @param index
+ is the array index of the first element to retrieve;
+ the first element is at index 1.
+ @param count
+ is the number of successive SQL array elements to retrieve.
+ @param typeMap
+ is a map object that contains mappings of SQL type names to
+ services. If the
+ <code>typeMap</code>
+ is
+ `NULL`
+ , the type-map
+ associated with the connection for customizations of the type-mappings
+ is used.
+ @returns
+ an array containing up to
+ <code>count</code>
+ consecutive elements of the SQL array, beginning with element
+ <code>index</code>.
+ @throws SQLException
+ if an error occurs while attempting to access the array.
+ */
+ sequence<any> getArrayAtIndex([in]long index,
+ [in]long count,
+ [in]com::sun::star::container::XNameAccess
+ typeMap)
+ raises (SQLException);
+
+
+ /** returns a result set that contains the elements of the array
+ designated by this
+ <code>Array</code>
+ object and uses the given
+ <code>typeMap</code>
+ to map the array elements. If the base
+ type of the array does not match a user-defined type in
+ <code>typeMap</code>
+ or the
+ <code>typeMap</code>
+ is
+ `NULL`
+ ,
+ the connection type mapping is used instead.
+
+
+ <p>
+ The result set contains one row for each array element, with
+ two columns in each row. The second column stores the element
+ value; the first column stores the index into the array for
+ that element (with the first array element being at index 1).
+ The rows are in ascending order corresponding to
+ the order of the indices.
+ </p>
+
+ @param typeMap
+ contains mapping of SQL user-defined types to classes in the UNO programming language
+ @returns
+ a ResultSet object containing one row for each of the elements in the array designated by this Array object,
+ with the rows in ascending order based on the indices.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ XResultSet getResultSet([in]com::sun::star::container::XNameAccess typeMap)
+ raises (SQLException);
+
+
+ /** returns a result set holding the elements of the subarray that
+ starts at index
+ <code>index</code>
+ and contains up to
+ <code>count</code>
+ successive elements. This method uses the given
+ <code>typeMap</code>
+ to map the array elements. If the base
+ type of the array does not match a user-defined type in
+ <code>typeMap</code>
+ or the
+ <code>typeMap</code>
+ is
+ `NULL`
+ ,
+ the connection type mapping is used instead.
+
+
+ <p>
+ The result set contains one row for each array element, with
+ two columns in each row. The second column stores the element
+ value; the first column stores the index into the array for
+ that element (with the first array element being at index 1).
+ The rows are in ascending order corresponding to
+ the order of the indices.
+ </p>
+ @param index
+ the array index of the first element to retrieve; the first element is at index 1.
+ @param count
+ the number of successive SQL array elements to retrieve,
+ @param typeMap
+ the Map object that contains the mapping of SQL type names to classes in the UNO programming language.
+ @returns
+ a ResultSet object containing up to count consecutive elements of the SQL array
+ designated by this Array object, starting at index index.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ XResultSet getResultSetAtIndex([in]long index,
+ [in]long count,
+ [in]com::sun::star::container::XNameAccess typeMap)
+ raises (SQLException);
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/XBatchExecution.idl b/offapi/com/sun/star/sdbc/XBatchExecution.idl
new file mode 100644
index 000000000..5ae75bfcf
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XBatchExecution.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_sdbc_XBatchExecution_idl__
+#define __com_sun_star_sdbc_XBatchExecution_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/sdbc/SQLException.idl>
+
+ module com { module sun { module star { module sdbc {
+
+ published interface XResultSet;
+
+
+/** is used for collecting and executing a set of SQL statements.
+ */
+published interface XBatchExecution: com::sun::star::uno::XInterface
+{
+
+ /** adds a SQL command to the current batch of commands for the statement
+ object.
+ @param sql
+ the SQL statement which should be appended to the batch.
+
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void addBatch([in]string sql ) raises (SQLException);
+
+ /** makes the set of commands in the current batch empty.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void clearBatch() raises (SQLException);
+
+ /** submits a batch of commands to the database for execution.
+ @returns
+ an array of update counts containing one element for each
+ command in the batch. The array is ordered according to the order in
+ which commands were inserted into the batch.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ sequence<long> executeBatch() raises (SQLException);
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/XBlob.idl b/offapi/com/sun/star/sdbc/XBlob.idl
new file mode 100644
index 000000000..f40f88074
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XBlob.idl
@@ -0,0 +1,222 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_sdbc_XBlob_idl__
+#define __com_sun_star_sdbc_XBlob_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+ module com { module sun { module star { module io {
+ published interface XInputStream;
+};};};};
+
+#include <com/sun/star/sdbc/SQLException.idl>
+
+ module com { module sun { module star { module sdbc {
+
+
+/** is the representation (mapping) of an SQL <i>BLOB</i>.
+
+ <p>
+ A SQL
+ <i>
+ BLOB
+ </i>
+ is a built-in type that stores a
+ Binary Large Object as a column value in a row of a database table.
+ The driver implements
+ <i>
+ BLOB
+ </i>
+ using a
+ SQL
+ <code>locator(BLOB)</code>
+ , which means that a
+ <code>Blob</code>
+ object contains a logical pointer to the SQL
+ <i>
+ BLOB
+ </i>
+ data rather than the data itself.
+ <br/>
+ A
+ <code>Blob</code>
+ object is valid for the duration of the transaction in which is was created.
+
+ </p>
+ <p>
+ Methods in the interfaces
+ com::sun::star::sdbc::XResultSet
+ ,
+ and
+ com::sun::star::sdbc::XPreparedStatement
+ , such as
+ <code>getBlob</code>
+ and
+ <code>setBlob</code>
+ allow a programmer to access the SQL
+ <i>BLOB</i>.
+ <br/>
+ The
+ <code>Blob</code>
+ interface provides methods for getting the length of a SQL
+ <i>
+ BLOB
+ </i>
+ (Binary Large Object) value, for materializing a
+ <i>
+ BLOB
+ </i>
+ value on the client and for determining the position of a pattern of bytes within a
+ <i>
+ BLOB
+ </i>
+ value.
+ </p>
+ */
+published interface XBlob: com::sun::star::uno::XInterface
+{
+
+ /** returns the number of bytes in the
+ <i>
+ BLOB
+ </i>
+ value
+ designated by this
+ <code>Blob</code>
+ object.
+ @returns
+ the length
+ @throws SQLException
+ if a database access error occurs.
+ */
+ hyper length() raises (SQLException);
+
+
+ /** returns as an array of bytes part or all of the
+ <i>
+ BLOB
+ </i>
+ value that this
+ <code>Blob</code>
+ object designates. The byte
+ array contains up to
+ <code>length</code>
+ consecutive bytes
+ starting at position
+ <code>pos</code>.
+ @param pos
+ is the ordinal position of the first byte in the
+ <i>
+ BLOB
+ </i>
+ value to be extracted; the first byte is at
+ position 1.
+ @param length
+ is the number of consecutive bytes to be copied.
+ @returns
+ a byte array containing up to
+ <code>length</code>
+ consecutive bytes from the
+ <i>
+ BLOB
+ </i>
+ value designated
+ by this
+ <code>Blob</code>
+ object, starting with the byte at position
+ <code>pos</code>.
+ @throws SQLException
+ if there is an error accessing the <i>BLOB</i>.
+ */
+ sequence<byte> getBytes([in]hyper pos, [in]long length)
+ raises (SQLException);
+
+
+ /** retrieves the
+ <i>
+ BLOB
+ </i>
+ designated by this
+ <code>Blob</code>
+ instance as a stream.
+ @returns
+ the stream
+ @throws SQLException
+ if a database access error occurs.
+ */
+ com::sun::star::io::XInputStream getBinaryStream()
+ raises (SQLException);
+
+ /** determines the byte position at which the specified byte
+ <code>pattern</code>
+ begins within the
+ <i>
+ BLOB
+ </i>
+ value that this
+ <code>Blob</code>
+ object represents. The
+ search for
+ <code>pattern</code>
+ begins at position <code>start</code>.
+
+ @param pattern
+ the pattern to search
+ @param start
+ the start position for the search
+ @returns
+ the position
+ @throws SQLException
+ if a database access error occurs.
+ */
+ hyper position([in]sequence<byte> pattern, [in]hyper start)
+ raises (SQLException);
+
+
+ /** determines the byte position in the
+ <i>
+ BLOB
+ </i>
+ value
+ designated by this
+ <code>Blob</code>
+ object at which
+ <code>pattern</code>
+ begins. The search begins at position <code>start</code>.
+ @param pattern
+ the pattern to search
+ @param start
+ position to start
+ @returns
+ the position
+ @throws SQLException
+ if a database access error occurs.
+ */
+ hyper positionOfBlob([in]XBlob pattern,[in] hyper start)
+ raises (SQLException);
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/XClob.idl b/offapi/com/sun/star/sdbc/XClob.idl
new file mode 100644
index 000000000..045dfc981
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XClob.idl
@@ -0,0 +1,189 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_sdbc_XClob_idl__
+#define __com_sun_star_sdbc_XClob_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+ module com { module sun { module star { module io {
+ published interface XInputStream;
+};};};};
+
+#include <com/sun/star/sdbc/SQLException.idl>
+
+ module com { module sun { module star { module sdbc {
+
+
+/** is the mapping for the SQL
+ <code>CLOB</code>
+ type.
+
+
+ <p>
+ A SQL
+ <code>CLOB</code>
+ is a built-in type
+ that stores a Character Large Object as a column value in a row of
+ a database table.
+ The driver implements a
+ <code>Clob</code>
+ object using a SQL
+ <code>locator(CLOB)</code>
+ , which means that a
+ <code>Clob</code>
+ object
+ contains a logical pointer to the SQL
+ <code>CLOB</code>
+ data rather than
+ the data itself. A
+ <code>Clob</code>
+ object is valid for the duration
+ of the transaction in which it was created.
+ </p>
+ <p>
+ The
+ <code>Clob</code>
+ interface provides methods for getting the
+ length of a SQL
+ <code>CLOB</code>
+ (Character Large Object) value,
+ for materializing a
+ <code>CLOB</code>
+ value on the client, and for
+ searching for a substring or
+ <code>CLOB</code>
+ object within a
+ <code>CLOB</code>
+ value.
+ </p>
+ <p>
+ Methods in the interfaces
+ com::sun::star::sdbc::XResultSet
+ ,
+ and
+ com::sun::star::sdbc::XPreparedStatement
+ , such as
+ <code>getClob</code>
+ and
+ <code>setClob</code>
+ allow a programmer to access the SQL <code>CLOB</code>.
+ </p>
+ */
+published interface XClob: com::sun::star::uno::XInterface
+{
+
+ /** returns the number of characters in the
+ <code>CLOB</code>
+ value
+ designated by this
+ <code>Clob</code>
+ object.
+ @returns
+ the length of the CLOB object
+ @throws SQLException
+ if a database access error occurs.
+ */
+ hyper length() raises (SQLException);
+
+
+ /** returns a copy of the specified substring in the
+ <code>Clob</code>
+ value
+ designated by this
+ <code>Clob</code>
+ object.
+
+
+ <p>
+ The substring begins at position <code>pos</code> and has up
+ to
+ <code>length</code>
+ consecutive characters.
+ </p>
+ @param pos
+ the starting position, 1-based
+ @param length
+ the length of the substring
+ @returns
+ the substring
+ @throws SQLException
+ if a database access error occurs.
+ */
+ string getSubString([in]hyper pos, [in]long length) raises (SQLException);
+
+
+ /** gets the
+ <code>Clob</code>
+ contents as a stream.
+ @returns
+ the stream
+ @throws SQLException
+ if a database access error occurs.
+ */
+ com::sun::star::io::XInputStream getCharacterStream() raises (SQLException);
+
+
+ /** determines the character position at which the specified substring
+ <code>searchstr</code>
+ appears in the
+ <code>Clob</code>.
+ The search begins at position <code>start</code>.
+
+ @param searchstr
+ the string to search
+ @param start
+ the starting position
+ @returns
+ the length of the CLOB object
+ @throws SQLException
+ if a database access error occurs.
+ */
+ hyper position([in]string searchstr, [in]long start)
+ raises (SQLException);
+
+
+ /** determines the position at which the specified
+ <code>Clob</code>
+ object
+ <code>pattern</code>
+ appears in this
+ <code>Clob</code>
+ object.
+ The search begins at position <code>start</code>.
+ @param pattern
+ the CLOB to search
+ @param start
+ the starting position
+ @returns
+ the position of the CLOB inside
+ @throws SQLException
+ if a database access error occurs.
+ */
+ hyper positionOfClob([in]XClob pattern, [in]hyper start)
+ raises (SQLException);
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/XCloseable.idl b/offapi/com/sun/star/sdbc/XCloseable.idl
new file mode 100644
index 000000000..144f01563
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XCloseable.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_sdbc_XCloseable_idl__
+#define __com_sun_star_sdbc_XCloseable_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/sdbc/SQLException.idl>
+
+ module com { module sun { module star { module sdbc {
+
+
+/** provides for the releasing of resources acquired by the implementing object.
+ */
+published interface XCloseable: com::sun::star::uno::XInterface
+{
+
+ /** releases all resources connected to an object.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void close() raises (SQLException);
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/XColumnLocate.idl b/offapi/com/sun/star/sdbc/XColumnLocate.idl
new file mode 100644
index 000000000..626a17853
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XColumnLocate.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_sdbc_XColumnLocate_idl__
+#define __com_sun_star_sdbc_XColumnLocate_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/sdbc/SQLException.idl>
+
+ module com { module sun { module star { module sdbc {
+
+ published interface XResultSetMetaData;
+
+
+/** provides the possibility to find columns by their name.
+
+
+ <p>
+ When several columns have the same name, then the value
+ of the first matching column will be returned. The column name option is
+ designed to be used when column names are used in the SQL
+ query. For columns that are NOT explicitly named in the query, it
+ is best to use column numbers. If column names are used, there is
+ no way for the programmer to guarantee that they actually refer to
+ the intended columns.
+ </p>
+ */
+published interface XColumnLocate: com::sun::star::uno::XInterface
+{
+
+ /** maps the given ResultSet column name to its ResultSet column index.
+
+ <p>
+ The specification before LibreOffice 4.2 left unspecified what should
+ happen for an invalid column name. As a result some drivers written
+ against the older specification may return a special invalid value, such
+ as a negative number, zero, or a number greater than the number of
+ columns.
+ </p>
+
+ @param columnName
+ the name of the column
+ @returns
+ the position of the column
+ @throws SQLException
+ if the column named <code>columnName</code> does not exist,
+ or a database access error occurs.
+ */
+ long findColumn([in]string columnName) raises (SQLException);
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/XConnection.idl b/offapi/com/sun/star/sdbc/XConnection.idl
new file mode 100644
index 000000000..3548ac187
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XConnection.idl
@@ -0,0 +1,406 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_sdbc_XConnection_idl__
+#define __com_sun_star_sdbc_XConnection_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+ module com { module sun { module star { module container {
+ published interface XNameAccess;
+};};};};
+
+#include <com/sun/star/sdbc/SQLException.idl>
+
+#include <com/sun/star/sdbc/XCloseable.idl>
+
+ module com { module sun { module star { module sdbc {
+
+ published interface XStatement;
+ published interface XPreparedStatement;
+ published interface XDatabaseMetaData;
+
+
+/** represents a connection (session) with a specific
+ database. Within the context of a Connection, SQL statements are
+ executed and results are returned.
+
+
+ <p>
+ A Connection's database is able to provide information
+ describing its tables, its supported SQL grammar, its stored
+ procedures, and the capabilities of this connection. This
+ information is obtained with the
+ com::sun::star::sdbc::XDatabaseMetaData::getMetaData()
+ method.
+
+ </p>
+ @see com::sun::star::sdbc::XDriverManager
+ @see com::sun::star::sdbc::XStatement
+ @see com::sun::star::sdbc::XDatabaseMetaData
+ */
+published interface XConnection: com::sun::star::sdbc::XCloseable
+{
+
+ /** creates a new
+ com::sun::star::sdbc::Statement
+ object for sending SQL statements to the database.
+
+
+ <p>
+ SQL statements without parameters are normally
+ executed using Statement objects. If the same SQL statement
+ is executed many times, it is more efficient to use a
+ com::sun::star::sdbc::PreparedStatement.
+ </p>
+ <p>
+ Result sets created using the returned Statement will have
+ forward-only type, and read-only concurrency, by default.
+ </p>
+ <p>
+ Escape processing for the SQL-Statement is enabled, by default.
+ </p>
+
+ @returns
+ a new Statement object
+ @throws SQLException
+ if a database access error occurs.
+ */
+ XStatement createStatement() raises (SQLException);
+
+ /** creates a
+ com::sun::star::sdbc::PreparedStatement
+ object for sending parameterized SQL statements to the database.
+
+
+ <p>
+ A SQL statement with or without IN parameters can be
+ pre-compiled and stored in a PreparedStatement object. This
+ object can then be used to efficiently execute this statement
+ multiple times.
+
+ </p>
+ <p>
+ <b>
+ Note:
+ </b>
+ This method is optimized for handling
+ parametric SQL statements that benefit from precompilation. If
+ the driver supports precompilation,
+ the method
+ <code>prepareStatement</code>
+ will send
+ the statement to the database for precompilation. Some drivers
+ may not support precompilation. In this case, the statement may
+ not be sent to the database until the
+ com::sun::star::sdbc::PreparedStatement
+ is executed. This has no direct effect on users; however, it does
+ affect which method throws certain SQLExceptions.
+ </p>
+ <p>
+ Result sets created using the returned PreparedStatement will have
+ forward-only type and read-only concurrency, by default.
+ </p>
+ <p>
+ Escape processing for the SQL-Statement is enabled, by default.
+ </p>
+
+ @param sql
+ a SQL statement that may contain one or more "?" IN parameter placeholders
+ @returns
+ a new PreparedStatement object containing the pre-compiled statement
+ @throws SQLException
+ if a database access error occurs.
+ */
+ XPreparedStatement prepareStatement([in]string sql) raises (SQLException);
+
+ /** creates a
+ com::sun::star::sdbc::CallableStatement
+ object for calling
+ database stored procedures.
+
+
+ <p>
+ The CallableStatement provides methods for setting up its IN and OUT
+ parameters, and methods for executing the call to a stored procedure.
+ </p>
+ <p>
+ <b>
+ Note:
+ </b>
+ This method is optimized for handling stored
+ procedure call statements. Some drivers may send the call
+ statement to the database when the method
+ <code>prepareCall</code>
+ is done;
+ <br/>
+ others may wait until the CallableStatement is executed. This has no
+ direct effect on users; however, it does affect which method
+ throws certain SQLExceptions.
+ Result sets created using the returned CallableStatement will have
+ forward-only type and read-only concurrency, by default.
+ </p>
+
+ @param sql
+ a SQL statement that may contain one or more "?" IN parameter placeholders
+ @returns
+ a new PreparedStatement object containing the pre-compiled statement
+ @throws SQLException
+ if a database access error occurs.
+ */
+ XPreparedStatement prepareCall([in]string sql) raises (SQLException);
+
+ /** converts the given SQL statement into the system's native SQL grammar.
+ A driver may convert the JDBC SQL grammar into its system's
+ native SQL grammar prior to sending it; this method returns the
+ native form of the statement that the driver would have sent.
+
+ @param sql
+ a SQL statement that may contain one or more "?" parameter placeholders
+ @returns
+ the native form of this statement
+ @throws SQLException
+ if a database access error occurs.
+ */
+ string nativeSQL([in]string sql) raises (SQLException);
+
+ /** sets this connection's auto-commit mode.
+
+
+ <p>
+ If a connection is in auto-commit mode, then all its SQL
+ statements will be executed and committed as individual
+ transactions. Otherwise, its SQL statements are grouped into
+ transactions that are terminated by a call to either
+ the method
+ com::sun::star::sdbc::XConnection::commit()
+ or the method
+ com::sun::star::sdbc::XConnection::rollback().
+ By default, new connections are in auto-commit mode.
+ </p>
+ <p>
+ The commit occurs when the statement completes or the next
+ execute occurs, whichever comes first. In the case of
+ statements returning a ResultSet, the statement completes when
+ the last row of the ResultSet has been retrieved or the
+ ResultSet has been closed. In advanced cases, a single
+ statement may return multiple results as well as output
+ parameter values. In these cases the commit occurs when all results and
+ output parameter values have been retrieved.
+ </p>
+
+ @param autoCommit
+ `TRUE` enables auto-commit; `FALSE` disables auto-commit.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void setAutoCommit([in] boolean autoCommit) raises (SQLException);
+
+ /** gets the current auto-commit state.
+
+ @returns
+ the current state of auto-commit mode.
+ @throws SQLException
+ if a database access error occurs.
+
+ @see setAutoCommit
+ */
+ boolean getAutoCommit() raises (SQLException);
+
+ /** makes all changes made since the previous commit/rollback
+ permanent and releases any database locks currently held
+ by the Connection. This method should be
+ used only when auto-commit mode has been disabled.
+
+ @throws SQLException
+ if a database access error occurs.
+
+ @see setAutoCommit
+ */
+ void commit() raises (SQLException);
+
+ /** drops all changes made since the previous
+ commit/rollback and releases any database locks currently held
+ by this Connection. This method should be used only when auto-commit has been disabled.
+
+ @throws SQLException
+ if a database access error occurs.
+
+ @see setAutoCommit
+ */
+ void rollback() raises (SQLException);
+
+ /** tests to see if a connection is closed.
+
+
+ <p>
+ <b>
+ Note:
+ </b>
+ A Connection is automatically closed if no one references it
+ anymore. Certain fatal errors also result in a closed Connection.
+ </p>
+
+ @returns
+ `TRUE` if the connection is closed; `FALSE` if it's still open.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean isClosed() raises (SQLException);
+
+ /** gets the metadata regarding this connection's database.
+
+
+ <p>
+ A Connection's database is able to provide information
+ describing its tables, its supported SQL grammar, its stored
+ procedures, the capabilities of this connection, and so on. This
+ information is made available through a DatabaseMetaData
+ object.
+ </p>
+
+ @returns
+ a DatabaseMetaData object for this Connection.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ XDatabaseMetaData getMetaData() raises (SQLException);
+
+ /** puts this connection in read-only mode as a hint to enable
+ database optimizations.
+
+
+ <p>
+ <b>
+ Note:
+ </b>
+ This method cannot be called while in the
+ middle of a transaction. Calling setReadOnly with
+ `TRUE`
+ does not
+ necessarily cause writes to be prohibited.
+ </p>
+
+ @param readOnly
+ `TRUE` enables read-only mode; `FALSE` disables read-only mode.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void setReadOnly([in]boolean readOnly) raises (SQLException);
+
+ /** tests to see if the connection is in read-only mode.
+ @returns
+ `TRUE` if connection is read-only and `FALSE` otherwise.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean isReadOnly() raises (SQLException);
+
+ /** sets a catalog name in order to select
+ a subspace of this Connection's database in which to work.
+ If the driver does not support catalogs, it will
+ silently ignore this request.
+ @param catalog
+ the name of the catalog.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void setCatalog([in]string catalog) raises (SQLException);
+
+ /** returns the Connection's current catalog name.
+ @returns
+ the current catalog name or an empty string.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ string getCatalog() raises (SQLException);
+
+ /** attempts to change the transaction isolation level to the one given.
+
+
+ <p>
+ The constants defined in
+ com::sun::star::sdbc::TransactionIsolation
+ are the possible transaction isolation levels.
+ </p>
+ <p>
+ <b>
+ Note:
+ </b>
+ This method cannot be called while
+ in the middle of a transaction.
+ </p>
+ @param level
+ one of the TransactionIsolation values with the exception of NONE; some databases may not support other values.
+ @throws SQLException
+ if a database access error occurs.
+
+ @see com::sun::star::sdbc::XDatabaseMetaData::supportsTransactionIsolationLevel()
+ */
+ void setTransactionIsolation([in]long level) raises (SQLException);
+
+ /** gets this Connection's current transaction isolation level.
+ @returns
+ the current TransactionIsolation mode value.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ long getTransactionIsolation() raises (SQLException);
+
+ /** gets the type map object associated with this connection. Only drivers
+ which implement the custom type mapping facility will return an object otherwise
+ NULL could be returned.
+
+ <p>
+ Unless the application has added an entry to the type map, the map
+ returned will be empty.
+ </p>
+ @returns
+ the XNameAccess object associated with this Connection object.
+
+ @throws SQLException
+ if a database access error occurs.
+ */
+ com::sun::star::container::XNameAccess getTypeMap() raises (SQLException);
+
+ /** installs the given type map as the type map for this connection.
+ The type map will be used for the custom mapping of SQL structured types
+ and distinct types.
+
+
+ <p>
+ Only if the driver supports custom type mapping is the setting of a map allowed.
+ </p>
+
+ @param typeMap
+ set the XNameAccess object associated with this Connection object.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void setTypeMap([in]com::sun::star::container::XNameAccess typeMap)
+ raises (SQLException);
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/XConnectionPool.idl b/offapi/com/sun/star/sdbc/XConnectionPool.idl
new file mode 100644
index 000000000..2cb87f5d7
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XConnectionPool.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_sdbc_XConnectionPool_idl__
+#define __com_sun_star_sdbc_XConnectionPool_idl__
+
+#include <com/sun/star/sdbc/XDriverManager.idl>
+#include <com/sun/star/sdbc/XDriverAccess.idl>
+
+module com { module sun { module star { module sdbc {
+
+/*
+ @since LibreOffice 4.1
+*/
+published interface XConnectionPool
+{
+ interface XDriverManager;
+ interface XDriverAccess;
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/XDataSource.idl b/offapi/com/sun/star/sdbc/XDataSource.idl
new file mode 100644
index 000000000..c169b8972
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XDataSource.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_sdbc_XDataSource_idl__
+#define __com_sun_star_sdbc_XDataSource_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/sdbc/SQLException.idl>
+
+ module com { module sun { module star { module sdbc {
+
+ published interface XConnection;
+
+
+/** is used for establishing connections via a factory which is identified
+ by its name. A DataSource object is typically registered by a naming service
+ provider.
+ */
+published interface XDataSource: com::sun::star::uno::XInterface
+{
+
+ /** attempts to establish a database connection.
+ @param user
+ the user name
+ @param password
+ the password
+ @returns
+ the connection object
+ @throws SQLException
+ if a database access error occurs.
+ */
+ XConnection getConnection([in]string user, [in]string password)
+ raises (SQLException);
+
+ /** sets the maximum time in seconds that this data source will wait
+ while attempting to connect to a database.
+
+
+ <p>
+ A value of zero specifies that the timeout is the default system
+ timeout if there is one; otherwise, it specifies that there is no timeout.
+ When a DataSource object is created the login timeout is initially zero.
+ </p>
+ @param seconds
+ the login time limit in seconds
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void setLoginTimeout([in]long seconds)
+ raises (SQLException);
+
+ /** gets the maximum time in seconds that this data source can wait
+ while attempting to connect to a database.
+
+
+ <p>
+ A value of zero means that the timeout is the default system timeout
+ if there is one; otherwise, it means that there is no timeout. When a
+ DataSource object is created the login timeout is initially zero.
+ </p>
+ @returns
+ the login time limit in seconds
+ @throws SQLException
+ if a database access error occurs.
+ */
+ long getLoginTimeout() raises (SQLException);
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/XDatabaseMetaData.idl b/offapi/com/sun/star/sdbc/XDatabaseMetaData.idl
new file mode 100644
index 000000000..f1e0f327c
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XDatabaseMetaData.idl
@@ -0,0 +1,2443 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_sdbc_XDatabaseMetaData_idl__
+#define __com_sun_star_sdbc_XDatabaseMetaData_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/sdbc/SQLException.idl>
+
+
+ module com { module sun { module star { module sdbc {
+
+ published interface XResultSet;
+ published interface XConnection;
+
+/** provides comprehensive information about the database as a whole.
+
+
+ <p>Many of the methods here return lists of information in
+ the form of
+ com::sun::star::sdbc::XResultSet
+ objects.
+ You can use the normal com::sun::star::sdbc::XRow
+ (or com::sun::star::sdb::XColumn)
+ methods such as
+ com::sun::star::sdbc::XRow::getString()
+ and
+ com::sun::star::sdbc::XRow::getInt()
+ to retrieve the data from these XResultSets. If a given form of
+ metadata is not available, these methods should throw a
+ com::sun::star::sdbc::SQLException.
+ After calling one of the getXXX() methods,
+ one can check whether that value is `NULL`
+ with the method com::sun::star::sdbc::XRow::wasNull().
+ In the text only "(may be `NULL`)" is mentioned for this case.
+ </p>
+ <p>Some of these methods take arguments that are String patterns. These
+ arguments all have names such as fooPattern. Within a pattern String, "%"
+ means match any substring of 0 or more characters, and "_" means match
+ any one character. Only metadata entries matching the search pattern
+ are returned. If a search pattern argument is set to `VOID`,
+ that argument's criteria will be dropped from the search.
+ </p>
+ <p>
+ A
+ com::sun::star::sdbc::SQLException
+ will be thrown if a driver does not support
+ a metadata method. In the case of methods that return an XResultSet,
+ either an XResultSet (which may be empty) is returned or a
+ SQLException is thrown.</p>
+ */
+published interface XDatabaseMetaData: com::sun::star::uno::XInterface
+{
+
+ /** Can all the procedures returned by getProcedures be called by the
+ current user?
+
+ @return
+ `TRUE`
+ if the user is allowed to call all procedures returned by getProcedures
+ otherwise `FALSE`.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean allProceduresAreCallable() raises (SQLException);
+
+ /** Can all the tables returned by getTable be SELECTed by the
+ current user?
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean allTablesAreSelectable() raises (SQLException);
+
+ /** returns the URL for the database connection
+ */
+ string getURL() raises (SQLException);
+
+ /** returns the user name from this database connection.
+ */
+ string getUserName() raises (SQLException);
+
+ /** checks if the database in read-only mode.
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean isReadOnly() raises (SQLException);
+
+ /** Are NULL values sorted high?
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean nullsAreSortedHigh() raises (SQLException);
+
+ /** Are NULL values sorted low?
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean nullsAreSortedLow() raises (SQLException);
+
+ /** Are NULL values sorted at the start regardless of sort order?
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean nullsAreSortedAtStart() raises (SQLException);
+
+ /** Are NULL values sorted at the end, regardless of sort order?
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean nullsAreSortedAtEnd() raises (SQLException);
+
+ /** returns the name of the database product.
+ */
+ string getDatabaseProductName() raises (SQLException);
+
+ /** returns the version of the database product.
+ */
+ string getDatabaseProductVersion() raises (SQLException);
+
+ /** returns the name of the SDBC driver.
+ */
+ string getDriverName() raises (SQLException);
+
+ /** returns the version number of the SDBC driver.
+ */
+ string getDriverVersion() raises (SQLException);
+
+ /** returns the SDBC driver major version number.
+ */
+ long getDriverMajorVersion();
+
+ /** returns the SDBC driver minor version number.
+ */
+ long getDriverMinorVersion();
+
+ /** use the database local files to save the tables.
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean usesLocalFiles() raises (SQLException);
+
+ /** use the database one local file to save for each table.
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean usesLocalFilePerTable() raises (SQLException);
+
+ /** use the database "mixed case unquoted SQL identifiers" case sensitive.
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean supportsMixedCaseIdentifiers() raises (SQLException);
+
+ /** Does the database treat mixed case unquoted SQL identifiers as
+ case insensitive and store them in upper case?
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean storesUpperCaseIdentifiers() raises (SQLException);
+
+ /** Does the database treat mixed case unquoted SQL identifiers as
+ case insensitive and store them in lower case?
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean storesLowerCaseIdentifiers() raises (SQLException);
+
+ /** Does the database treat mixed case unquoted SQL identifiers as
+ case insensitive and store them in mixed case?
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean storesMixedCaseIdentifiers() raises (SQLException);
+
+ /** Does the database treat mixed case quoted SQL identifiers as
+ case sensitive and as a result store them in mixed case?
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean supportsMixedCaseQuotedIdentifiers() raises (SQLException);
+
+ /** Does the database treat mixed case quoted SQL identifiers as
+ case insensitive and store them in upper case?
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean storesUpperCaseQuotedIdentifiers() raises (SQLException);
+
+ /** Does the database treat mixed case quoted SQL identifiers as
+ case insensitive and store them in lower case?
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean storesLowerCaseQuotedIdentifiers() raises (SQLException);
+
+ /** Does the database treat mixed case quoted SQL identifiers as
+ case insensitive and store them in mixed case?
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean storesMixedCaseQuotedIdentifiers() raises (SQLException);
+
+ /** What's the string used to quote SQL identifiers?
+ This returns a space " " if identifier quoting is not supported.
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ string getIdentifierQuoteString() raises (SQLException);
+
+ /** gets a comma-separated list of all a database's SQL keywords
+ that are NOT also SQL92 keywords.
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ string getSQLKeywords() raises (SQLException);
+
+ /** gets a comma-separated list of math functions. These are the
+ X/Open CLI math function names used in the SDBC function escape
+ clause.
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ string getNumericFunctions() raises (SQLException);
+
+ /** gets a comma-separated list of string functions. These are the
+ X/Open CLI string function names used in the SDBC function escape
+ clause.
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ string getStringFunctions() raises (SQLException);
+
+ /** gets a comma-separated list of system functions. These are the
+ X/Open CLI system function names used in the SDBC function escape
+ clause.
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ string getSystemFunctions() raises (SQLException);
+
+ /** gets a comma-separated list of time and date functions.
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ string getTimeDateFunctions() raises (SQLException);
+
+ /** gets the string that can be used to escape wildcard characters.
+ This is the string that can be used to escape "_" or "%" in
+ the string pattern style catalog search parameters.
+
+
+ <p>
+ The "_" character represents any single character.
+ </p>
+ <p>
+ The "%" character represents any sequence of zero or
+ more characters.
+ </p>
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ string getSearchStringEscape() raises (SQLException);
+
+ /** gets all the "extra" characters that can be used in unquoted
+ identifier names (those beyond a-z, A-Z, 0-9 and _).
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ string getExtraNameCharacters() raises (SQLException);
+
+ /** support the Database "ALTER TABLE" with add column?
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean supportsAlterTableWithAddColumn() raises (SQLException);
+
+ /** support the Database "ALTER TABLE" with drop column?
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean supportsAlterTableWithDropColumn() raises (SQLException);
+
+ /** support the Database column aliasing?
+
+
+ <p>
+ The SQL AS clause can be used to provide names for
+ computed columns or to provide alias names for columns as required.
+ </p>
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean supportsColumnAliasing() raises (SQLException);
+
+ /** are concatenations between NULL and non-NULL values NULL?
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean nullPlusNonNullIsNull() raises (SQLException);
+
+ /** `TRUE`
+ , if the Database supports the CONVERT function between SQL types,
+ otherwise `FALSE`.
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean supportsTypeConversion() raises (SQLException);
+
+ /** `TRUE`
+ , if the Database supports the CONVERT between the given SQL types
+ otherwise `FALSE`.
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean supportsConvert([in]long fromType, [in]long toType)
+ raises (SQLException);
+
+ /** Are table correlation names supported?
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean supportsTableCorrelationNames() raises (SQLException);
+
+ /** If table correlation names are supported, are they restricted
+ to be different from the names of the tables?
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean supportsDifferentTableCorrelationNames()
+ raises (SQLException);
+
+ /** Are expressions in "ORDER BY" lists supported?
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean supportsExpressionsInOrderBy() raises (SQLException);
+
+ /** Can an "ORDER BY" clause use columns not in the SELECT statement?
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean supportsOrderByUnrelated() raises (SQLException);
+
+ /** Is some form of "GROUP BY" clause supported?
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean supportsGroupBy() raises (SQLException);
+
+ /** Can a "GROUP BY" clause use columns not in the SELECT?
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean supportsGroupByUnrelated() raises (SQLException);
+
+ /** Can a "GROUP BY" clause add columns not in the SELECT
+ provided it specifies all the columns in the SELECT?
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean supportsGroupByBeyondSelect() raises (SQLException);
+
+ /** Is the escape character in "LIKE" clauses supported?
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean supportsLikeEscapeClause() raises (SQLException);
+
+ /** Are multiple XResultSets from a single execute supported?
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean supportsMultipleResultSets() raises (SQLException);
+
+ /** Can we have multiple transactions open at once (on different
+ connections)?
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean supportsMultipleTransactions() raises (SQLException);
+
+ /** Can columns be defined as non-nullable?
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean supportsNonNullableColumns() raises (SQLException);
+
+ /** `TRUE`, if the database supports ODBC Minimum SQL grammar,
+ otherwise `FALSE`.
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean supportsMinimumSQLGrammar() raises (SQLException);
+
+ /** `TRUE`, if the database supports ODBC Core SQL grammar,
+ otherwise `FALSE`.
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean supportsCoreSQLGrammar() raises (SQLException);
+
+ /**
+ `TRUE`, if the database supports ODBC Extended SQL grammar,
+ otherwise `FALSE`.
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean supportsExtendedSQLGrammar() raises (SQLException);
+
+ /** @returns
+ `TRUE`, if the database supports ANSI92 entry level SQL grammar,
+ otherwise `FALSE`.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean supportsANSI92EntryLevelSQL() raises (SQLException);
+
+ /** @returns
+ `TRUE`, if the database supports ANSI92 intermediate SQL grammar,
+ otherwise `FALSE`.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean supportsANSI92IntermediateSQL() raises (SQLException);
+
+ /** @returns
+ `TRUE`, if the database supports ANSI92 full SQL grammar,
+ otherwise `FALSE`.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean supportsANSI92FullSQL() raises (SQLException);
+
+ /** returns
+ `TRUE`, if the Database supports SQL Integrity Enhancement Facility,
+ otherwise `FALSE`.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean supportsIntegrityEnhancementFacility() raises (SQLException);
+
+ /** @returns
+ `TRUE`, if some form of outer join is supported,
+ otherwise `FALSE`.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean supportsOuterJoins() raises (SQLException);
+
+ /** @returns
+ `TRUE`, if full nested outer joins are supported,
+ otherwise `FALSE`.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean supportsFullOuterJoins() raises (SQLException);
+
+ /** @returns
+ `TRUE`, if there is limited support for outer joins.
+ (This will be `TRUE` if supportFullOuterJoins is `TRUE`.)
+ `FALSE` is returned otherwise.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean supportsLimitedOuterJoins() raises (SQLException);
+
+ /** return the database vendor's preferred term for "schema"
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ string getSchemaTerm() raises (SQLException);
+
+ /** return the database vendor's preferred term for "procedure"
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ string getProcedureTerm() raises (SQLException);
+
+ /** return the database vendor's preferred term for "catalog"
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ string getCatalogTerm() raises (SQLException);
+
+ /** Does a catalog appear at the start of a qualified table name?
+ (Otherwise it appears at the end)
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean isCatalogAtStart() raises (SQLException);
+
+ /** return the separator between catalog and table name
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ string getCatalogSeparator() raises (SQLException);
+
+ /** Can a schema name be used in a data manipulation statement?
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean supportsSchemasInDataManipulation() raises (SQLException);
+
+ /** Can a schema name be used in a procedure call statement?
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean supportsSchemasInProcedureCalls() raises (SQLException);
+
+ /** Can a schema name be used in a table definition statement?
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean supportsSchemasInTableDefinitions() raises (SQLException);
+
+ /** Can a schema name be used in an index definition statement?
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean supportsSchemasInIndexDefinitions() raises (SQLException);
+
+ /** Can a schema name be used in a privilege definition statement?
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean supportsSchemasInPrivilegeDefinitions()
+ raises (SQLException);
+
+ /** Can a catalog name be used in a data manipulation statement?
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean supportsCatalogsInDataManipulation() raises (SQLException);
+
+ /** Can a catalog name be used in a procedure call statement?
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean supportsCatalogsInProcedureCalls() raises (SQLException);
+
+ /** Can a catalog name be used in a table definition statement?
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean supportsCatalogsInTableDefinitions() raises (SQLException);
+
+ /** Can a catalog name be used in an index definition statement?
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean supportsCatalogsInIndexDefinitions() raises (SQLException);
+
+ /** Can a catalog name be used in a privilege definition statement?
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean supportsCatalogsInPrivilegeDefinitions()
+ raises (SQLException);
+
+ /** Is positioned DELETE supported?
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean supportsPositionedDelete() raises (SQLException);
+
+ /** Is positioned UPDATE supported?
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean supportsPositionedUpdate() raises (SQLException);
+
+ /** Is SELECT for UPDATE supported?
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean supportsSelectForUpdate() raises (SQLException);
+
+ /** Are stored procedure calls using the stored procedure escape
+ syntax supported?
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean supportsStoredProcedures() raises (SQLException);
+
+ /** Are subqueries in comparison expressions supported?
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean supportsSubqueriesInComparisons() raises (SQLException);
+
+ /** Are subqueries in "exists" expressions supported?
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean supportsSubqueriesInExists() raises (SQLException);
+
+ /** Are subqueries in "in" statements supported?
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean supportsSubqueriesInIns() raises (SQLException);
+
+ /** Are subqueries in quantified expressions supported?
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean supportsSubqueriesInQuantifieds() raises (SQLException);
+
+ /** Are correlated subqueries supported?
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean supportsCorrelatedSubqueries() raises (SQLException);
+
+ /** Is SQL UNION supported?
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean supportsUnion() raises (SQLException);
+
+ /** Is SQL UNION ALL supported?
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean supportsUnionAll() raises (SQLException);
+
+ /** Can cursors remain open across commits?
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean supportsOpenCursorsAcrossCommit() raises (SQLException);
+
+ /** Can cursors remain open across rollbacks?
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean supportsOpenCursorsAcrossRollback() raises (SQLException);
+
+ /** Can statements remain open across commits?
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean supportsOpenStatementsAcrossCommit() raises (SQLException);
+
+ /** Can statements remain open across rollbacks?
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean supportsOpenStatementsAcrossRollback()
+ raises (SQLException);
+
+ /** return the maximal number of hex characters in an inline binary literal
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ long getMaxBinaryLiteralLength() raises (SQLException);
+
+ /** return the max length for a character literal
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ long getMaxCharLiteralLength() raises (SQLException);
+
+ /** return the limit on column name length
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ long getMaxColumnNameLength() raises (SQLException);
+
+ /** return the maximum number of columns in a "GROUP BY" clause
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ long getMaxColumnsInGroupBy() raises (SQLException);
+
+ /** return the maximum number of columns allowed in an index
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ long getMaxColumnsInIndex() raises (SQLException);
+
+ /** return the maximum number of columns in an "ORDER BY" clause
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ long getMaxColumnsInOrderBy() raises (SQLException);
+
+ /** return the maximum number of columns in a "SELECT" list
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ long getMaxColumnsInSelect() raises (SQLException);
+
+ /** return the maximum number of columns in a table
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ long getMaxColumnsInTable() raises (SQLException);
+
+ /** return the number of active connections at a time to this database.
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ long getMaxConnections() raises (SQLException);
+
+ /** return the maximum cursor name length
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ long getMaxCursorNameLength() raises (SQLException);
+
+ /** return the maximum length of an index (in bytes)
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ long getMaxIndexLength() raises (SQLException);
+
+ /** return the maximum length allowed for a schema name
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ long getMaxSchemaNameLength() raises (SQLException);
+
+ /** return the maximum length of a procedure name
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ long getMaxProcedureNameLength() raises (SQLException);
+
+ /** return the maximum length of a catalog name
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ long getMaxCatalogNameLength() raises (SQLException);
+
+ /** return the maximum length of a single row.
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ long getMaxRowSize() raises (SQLException);
+
+ /** Did getMaxRowSize() include LONGVARCHAR and LONGVARBINARY
+ blobs?
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean doesMaxRowSizeIncludeBlobs() raises (SQLException);
+
+ /** return the maximum length of a SQL statement
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ long getMaxStatementLength() raises (SQLException);
+
+ /** return the maximal number of open active statements at one time to this database
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ long getMaxStatements() raises (SQLException);
+
+ /** return the maximum length of a table name
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ long getMaxTableNameLength() raises (SQLException);
+
+ /** return the maximum number of tables in a SELECT statement
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ long getMaxTablesInSelect() raises (SQLException);
+
+ /** return the maximum length of a user name
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ long getMaxUserNameLength() raises (SQLException);
+
+ /** return the database default transaction isolation level.
+ The values are defined in
+ com::sun::star::sdbc::TransactionIsolation.
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ @see com::sun::star::sdbc::XConnection
+ */
+ long getDefaultTransactionIsolation() raises (SQLException);
+
+ /** support the Database transactions?
+ If not, invoking the method
+ com::sun::star::sdbc::XConnection::commit()
+ is a noop and the
+ isolation level is TransactionIsolation_NONE.
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean supportsTransactions() raises (SQLException);
+
+ /** Does this database support the given transaction isolation level?
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ @see com::sun::star::sdbc::Connection
+ */
+ boolean supportsTransactionIsolationLevel([in]long level)
+ raises (SQLException);
+
+ /** support the Database both data definition and data manipulation statements
+ within a transaction?
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+<!-- JRH: Unclear on the intent of these many support questions.
+ If asking, it should state, "Does the Database support both...?
+ If declaring, it should state something like the following:
+
+ metadata: supportsDataDefinitionAndDataManipulationTransactions
+
+ "provides support for both data definition and data manipulation statements within a transaction."
+ --> */
+ boolean supportsDataDefinitionAndDataManipulationTransactions()
+ raises (SQLException);
+
+ /** are only data manipulation statements within a transaction
+ supported?
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean supportsDataManipulationTransactionsOnly()
+ raises (SQLException);
+
+ /** does a data definition statement within a transaction force the
+ transaction to commit?
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean dataDefinitionCausesTransactionCommit()
+ raises (SQLException);
+
+ /** is a data definition statement within a transaction ignored?
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean dataDefinitionIgnoredInTransactions()
+ raises (SQLException);
+
+ /** Gets a description of the stored procedures available in a
+ catalog.
+
+
+ <p>
+ Only procedure descriptions matching the schema and
+ procedure name criteria are returned. They are ordered by
+ PROCEDURE_SCHEM, and PROCEDURE_NAME.
+ </p>
+ <p>
+ Each procedure description has the following columns:
+ </p>
+ <ol>
+ <li>
+ <b>PROCEDURE_CAT</b> string => procedure catalog (may be `NULL`)
+ </li>
+ <li>
+ <b>PROCEDURE_SCHEM</b> string => procedure schema (may be `NULL`)
+ </li>
+ <li>
+ <b>PROCEDURE_NAME</b> string => procedure name
+ </li>
+ <li> reserved for future use
+ </li>
+ <li> reserved for future use
+ </li>
+ <li> reserved for future use
+ </li>
+ <li>
+ <b>REMARKS</b> string => explanatory comment on the procedure
+ </li>
+ <li>
+ <b>PROCEDURE_TYPE</b> short => kind of procedure:
+ <ul>
+ <li> UNKNOWN - May return a result
+ </li>
+ <li> NO - Does not return a result
+ </li>
+ <li> RETURN - Returns a result
+ </li>
+ </ul>
+ </li>
+ </ol>
+ @param catalog
+ a catalog name; "" retrieves those without a catalog; `VOID` means drop catalog name from the selection criteria
+ @param schemaPattern
+ a schema name pattern; "" retrieves those without a schema
+ @param procedureNamePattern
+ a procedure name pattern
+ @returns
+ each row is a procedure description
+ @throws SQLException
+ if a database access error occurs.
+ */
+ XResultSet getProcedures([in]any catalog, [in]string schemaPattern,
+ [in]string procedureNamePattern) raises (SQLException);
+
+ /** gets a description of a catalog's stored procedure parameters
+ and result columns.
+
+
+ <p>
+ Only descriptions matching the schema, procedure and
+ parameter name criteria are returned. They are ordered by
+ PROCEDURE_SCHEM and PROCEDURE_NAME. Within this, the return value,
+ if any, is first. Next are the parameter descriptions in call
+ order. The column descriptions follow in column number order.
+ </p>
+ <p>Each row in the XResultSet is a parameter description or
+ column description with the following fields:
+ </p>
+ <ol>
+ <li>
+ <b>PROCEDURE_CAT</b> string => procedure catalog (may be `NULL`)
+ </li>
+ <li>
+ <b>PROCEDURE_SCHEM</b> string => procedure schema (may be `NULL`)
+ </li>
+ <li>
+ <b>PROCEDURE_NAME</b> string => procedure name
+ </li>
+ <li>
+ <b>COLUMN_NAME</b> string => column/parameter name
+ </li>
+ <li>
+ <b>COLUMN_TYPE</b> Short => kind of column/parameter:
+ <ul>
+ <li> UNKNOWN - nobody knows
+ </li>
+ <li> IN - IN parameter
+ </li>
+ <li> INOUT - INOUT parameter
+ </li>
+ <li> OUT - OUT parameter
+ </li>
+ <li> RETURN - procedure return value
+ </li>
+ <li> RESULT - result column in XResultSet
+ </li>
+ </ul>
+ </li>
+ <li>
+ <b>DATA_TYPE</b> short => SQL type from java.sql.Types
+ </li>
+ <li>
+ <b>TYPE_NAME</b> string => SQL type name, for a UDT type the
+ type name is fully qualified
+ </li>
+ <li>
+ <b>PRECISION</b> long => precision
+ </li>
+ <li>
+ <b>LENGTH</b> long => length in bytes of data
+ </li>
+ <li>
+ <b>SCALE</b> short => scale
+ </li>
+ <li>
+ <b>RADIX</b> short => radix
+ </li>
+ <li>
+ <b>NULLABLE</b> short => can it contain NULL?
+ <ul>
+ <li> NO_NULLS - does not allow NULL values
+ </li>
+ <li> NULLABLE - allows NULL values
+ </li>
+ <li> NULLABLE_UNKNOWN - nullability unknown
+ </li>
+ </ul>
+ </li>
+ <li>
+ <b>REMARKS</b> string => comment describing parameter/column
+ </li>
+ </ol>
+ <p>
+ <b>Note:</b> Some databases may not return the column
+ descriptions for a procedure. Additional columns beyond
+ REMARKS can be defined by the database.
+ </p>
+ @param catalog
+ a catalog name; "" retrieves those without a catalog; `VOID` means drop catalog name from the selection criteria
+ @param schemaPattern
+ a schema name pattern; "" retrieves those without a schema
+ @param procedureNamePattern
+ a procedure name pattern
+ @param columnNamePattern
+ a column name pattern
+ @returns
+ each row describes a stored procedure parameter or column
+ @throws SQLException
+ if a database access error occurs.
+ */
+ XResultSet getProcedureColumns([in]any catalog, [in]string schemaPattern,
+ [in]string procedureNamePattern,
+ [in]string columnNamePattern)
+ raises (SQLException);
+
+ /** gets a description of tables available in a catalog.
+
+
+ <p>Only table descriptions matching the catalog, schema, table
+ name, and type criteria are returned. They are ordered by
+ TABLE_TYPE, TABLE_SCHEM, and TABLE_NAME.
+ </p>
+ <p>Each table description has the following columns:
+ </p>
+ <ol>
+ <li>
+ <b>TABLE_CAT</b> string => table catalog (may be `NULL`)
+ </li>
+ <li>
+ <b>TABLE_SCHEM</b> string => table schema (may be `NULL`)
+ </li>
+ <li>
+ <b>TABLE_NAME</b> string => table name
+ </li>
+ <li>
+ <b>TABLE_TYPE</b> string => table type. Typical types are "TABLE",
+ "VIEW", "SYSTEM TABLE", "GLOBAL TEMPORARY",
+ "LOCAL TEMPORARY", "ALIAS", "SYNONYM".
+ </li>
+ <li>
+ <b>REMARKS</b> string => explanatory comment on the table
+ </li>
+ </ol>
+ <p>
+ <b>Note:</b> Some databases may not return information for
+ all tables.
+ </p>
+ @param catalog
+ a catalog name; "" retrieves those without a catalog; `VOID` means drop catalog name from the selection criteria
+ @param schemaPattern
+ a schema name pattern; "" retrieves those without a schema
+ @param tableNamePattern
+ a table name pattern
+ @param types
+ a list of table types to include
+ @returns
+ each row is a table description
+ @throws SQLException
+ if a database access error occurs.
+ */
+ XResultSet getTables([in]any catalog, [in]string schemaPattern,
+ [in]string tableNamePattern, [in]sequence<string> types)
+ raises (SQLException);
+
+ /** Gets the schema names available in this database. The results
+ are ordered by schema name.
+
+
+ <p>The schema column is:
+ </p>
+ <ol>
+ <li>
+ <b>TABLE_SCHEM</b> string => schema name
+ </li>
+ </ol>
+ @returns
+ each row has a single String column that is a schema name
+ @throws SQLException
+ if a database access error occurs.
+ */
+ XResultSet getSchemas() raises (SQLException);
+
+ /** gets the catalog names available in this database. The results
+ are ordered by catalog name.
+
+
+ <p>The catalog column is:
+ </p>
+ <ol>
+ <li>
+ <b>TABLE_CAT</b> string => catalog name
+ </li>
+ </ol>
+ @returns
+ each row has a single String column that is a catalog name
+ @throws SQLException
+ if a database access error occurs.
+ */
+ XResultSet getCatalogs() raises (SQLException);
+
+ /** gets the table types available in this database. The results
+ are ordered by table type.
+
+
+ <p>The table type is:
+ </p>
+ <ol>
+ <li>
+ <b>TABLE_TYPE</b> string => table type. Typical types are "TABLE",
+ "VIEW", "SYSTEM TABLE", "GLOBAL TEMPORARY",
+ "LOCAL TEMPORARY", "ALIAS", "SYNONYM".
+ </li>
+ </ol>
+ @returns
+ each row has a single String column that is a table type
+ @throws SQLException
+ if a database access error occurs.
+ */
+ XResultSet getTableTypes() raises (SQLException);
+
+ /** gets a description of table columns available in
+ the specified catalog.
+
+
+ <p>Only column descriptions matching the catalog, schema, table
+ and column name criteria are returned. They are ordered by
+ TABLE_SCHEM, TABLE_NAME, and ORDINAL_POSITION.
+ </p>
+ <p>Each column description has the following columns:
+ </p>
+ <ol>
+ <li>
+ <b>TABLE_CAT</b> string => table catalog (may be `NULL`)
+ </li>
+ <li>
+ <b>TABLE_SCHEM</b> string => table schema (may be `NULL`)
+ </li>
+ <li>
+ <b>TABLE_NAME</b> string => table name
+ </li>
+ <li>
+ <b>COLUMN_NAME</b> string => column name
+ </li>
+ <li>
+ <b>DATA_TYPE</b> short => SQL type from java.sql.Types
+ </li>
+ <li>
+ <b>TYPE_NAME</b> string => Data source dependent type name,
+ for a UDT the type name is fully qualified
+ </li>
+ <li>
+ <b>COLUMN_SIZE</b> long => column size. For char or date
+ types this is the maximum number of characters, for numeric or
+ decimal types this is precision.
+ </li>
+ <li>
+ <b>BUFFER_LENGTH</b> is not used.
+ </li>
+ <li>
+ <b>DECIMAL_DIGITS</b> long => the number of fractional digits
+ </li>
+ <li>
+ <b>NUM_PREC_RADIX</b> long => Radix (typically either 10 or 2)
+ </li>
+ <li>
+ <b>NULLABLE</b> long => is NULL allowed?
+ <ul>
+ <li> NO_NULLS - might not allow NULL values
+ </li>
+ <li> NULLABLE - definitely allows NULL values
+ </li>
+ <li> NULLABLE_UNKNOWN - nullability unknown
+ </li>
+ </ul>
+ </li>
+ <li>
+ <b>REMARKS</b> string => comment describing column (may be `NULL`)
+ </li>
+ <li>
+ <b>COLUMN_DEF</b> string => default value (may be `NULL`)
+ </li>
+ <li>
+ <b>SQL_DATA_TYPE</b> long => unused
+ </li>
+ <li>
+ <b>SQL_DATETIME_SUB</b> long => unused
+ </li>
+ <li>
+ <b>CHAR_OCTET_LENGTH</b> long => for char types the
+ maximum number of bytes in the column
+ </li>
+ <li>
+ <b>ORDINAL_POSITION</b> int => index of column in table
+ (starting at 1)
+ </li>
+ <li>
+ <b>IS_NULLABLE</b> string => "NO" means column definitely
+ does not allow NULL values; "YES" means the column might
+ allow NULL values. An empty string means nobody knows.
+ </li>
+ </ol>
+ @param catalog
+ a catalog name; "" retrieves those without a catalog; `VOID` means drop catalog name from the selection criteria
+ @param schemaPattern
+ a schema name pattern; "" retrieves those without a schema
+ @param tableNamePattern
+ a table name pattern
+ @param columnNamePattern
+ a column name pattern
+ @returns
+ each row is a column description
+ @throws SQLException
+ if a database access error occurs.
+ */
+ XResultSet getColumns([in]any catalog, [in]string schemaPattern,
+ [in]string tableNamePattern, [in]string columnNamePattern)
+ raises (SQLException);
+
+ /** gets a description of the access rights for a table's columns.
+
+
+ <p>
+ Only privileges matching the column name criteria are
+ returned. They are ordered by COLUMN_NAME and PRIVILEGE.
+ </p>
+ <p>Each privilege description has the following columns:
+ </p>
+ <ol>
+ <li>
+ <b>TABLE_CAT</b> string => table catalog (may be `NULL`)
+ </li>
+ <li>
+ <b>TABLE_SCHEM</b> string => table schema (may be `NULL`)
+ </li>
+ <li>
+ <b>TABLE_NAME</b> string => table name
+ </li>
+ <li>
+ <b>COLUMN_NAME</b> string => column name
+ </li>
+ <li>
+ <b>GRANTOR</b> => granter of access (may be `NULL`)
+ </li>
+ <li>
+ <b>GRANTEE</b> string => grantee of access
+ </li>
+ <li>
+ <b>PRIVILEGE</b> string => name of access (SELECT,
+ INSERT, UPDATE, REFERENCES, ...)
+ </li>
+ <li>
+ <b>IS_GRANTABLE</b> string => "YES" if grantee is permitted
+ to grant to others; "NO" if not; `NULL` if unknown
+ </li>
+ </ol>
+ @param catalog
+ a catalog name; "" retrieves those without a catalog; `VOID` means drop catalog name from the selection criteria
+ @param schema
+ a schema name ; "" retrieves those without a schema
+ @param table
+ a table name
+ @param columnNamePattern
+ a column name pattern
+ @returns
+ each row is a column privilege description
+ @throws SQLException
+ if a database access error occurs.
+ */
+ XResultSet getColumnPrivileges([in]any catalog, [in]string schema,
+ [in]string table, [in]string columnNamePattern) raises (SQLException);
+
+ /** gets a description of the access rights for each table available
+ in a catalog. Note that a table privilege applies to one or
+ more columns in the table. It would be wrong to assume that
+ this privilege applies to all columns (this may be `TRUE` for
+ some systems but is not `TRUE` for all.)
+
+
+ <p>Only privileges matching the schema and table name
+ criteria are returned. They are ordered by TABLE_SCHEM,
+ TABLE_NAME, and PRIVILEGE.
+ </p>
+ <p>Each privilege description has the following columns:
+ </p>
+ <ol>
+ <li>
+ <b>TABLE_CAT</b> string => table catalog (may be `NULL`)
+ </li>
+ <li>
+ <b>TABLE_SCHEM</b> string => table schema (may be `NULL`)
+ </li>
+ <li>
+ <b>TABLE_NAME</b> string => table name
+ </li>
+ <li>
+ <b>GRANTOR</b> => granter of access (may be `NULL`)
+ </li>
+ <li>
+ <b>GRANTEE</b> string => grantee of access
+ </li>
+ <li>
+ <b>PRIVILEGE</b> string => name of access (SELECT,
+ INSERT, UPDATE, REFERENCES, ...)
+ </li>
+ <li>
+ <b>IS_GRANTABLE</b> string => "YES" if grantee is permitted
+ to grant to others; "NO" if not; `NULL` if unknown
+ </li>
+ </ol>
+ @param catalog
+ a catalog name; "" retrieves those without a catalog; `VOID` means drop catalog name from the selection criteria
+ @param schemaPattern
+ a schema name pattern; "" retrieves those without a schema
+ @param tableNamePattern
+ a table name pattern
+ @returns
+ each row is a table privilege description
+ @throws SQLException
+ if a database access error occurs.
+ */
+ XResultSet getTablePrivileges([in]any catalog, [in]string schemaPattern,
+ [in]string tableNamePattern) raises (SQLException);
+
+ /** gets a description of a table's optimal set of columns that
+ uniquely identifies a row. They are ordered by SCOPE.
+
+
+ <p>Each column description has the following columns:
+ </p>
+ <ol>
+ <li>
+ <b>SCOPE</b> short => actual scope of result
+ <ul>
+ <li> TEMPORARY - very temporary, while using row
+ </li>
+ <li> TRANSACTION - valid for remainder of current transaction
+ </li>
+ <li> SESSION - valid for remainder of current session
+ </li>
+ </ul>
+ </li>
+ <li>
+ <b>COLUMN_NAME</b> string => column name
+ </li>
+ <li>
+ <b>DATA_TYPE</b> short => SQL data type from java.sql.Types
+ </li>
+ <li>
+ <b>TYPE_NAME</b> string => Data source dependent type name,
+ for a UDT the type name is fully qualified
+ </li>
+ <li>
+ <b>COLUMN_SIZE</b> long => precision
+ </li>
+ <li>
+ <b>BUFFER_LENGTH</b> long => not used
+ </li>
+ <li>
+ <b>DECIMAL_DIGITS</b> short => scale
+ </li>
+ <li>
+ <b>PSEUDO_COLUMN</b> short => is this a pseudo column
+ like an Oracle ROWID
+ <ul>
+ <li> UNKNOWN - may or may not be pseudo column
+ </li>
+ <li> NOT_PSEUDO - is NOT a pseudo column
+ </li>
+ <li> PSEUDO - is a pseudo column
+ </li>
+ </ul>
+ </li>
+ </ol>
+ @param catalog
+ a catalog name; "" retrieves those without a catalog; `VOID` means drop catalog name from the selection criteria
+ @param schema
+ a schema name; "" retrieves those without a schema
+ @param table
+ a table name
+ @param scope
+ the scope of interest; use same values as SCOPE
+ @param nullable
+ include columns that are nullable?
+ @returns
+ each row is a column description
+ @throws SQLException
+ if a database access error occurs.
+ */
+ XResultSet getBestRowIdentifier([in]any catalog, [in]string schema,
+ [in]string table, [in]long scope, [in] boolean nullable)
+ raises (SQLException);
+
+ /** gets a description of a table's columns that are automatically
+ updated when any value in a row is updated. They are
+ unordered.
+
+
+ <p>Each column description has the following columns:
+ </p>
+ <ol>
+ <li>
+ <b>SCOPE</b> short => is not used
+ </li>
+ <li>
+ <b>COLUMN_NAME</b> string => column name
+ </li>
+ <li>
+ <b>DATA_TYPE</b> short => SQL data type from java.sql.Types
+ </li>
+ <li>
+ <b>TYPE_NAME</b> string => Data source dependent type name
+ </li>
+ <li>
+ <b>COLUMN_SIZE</b> long => precision
+ </li>
+ <li>
+ <b>BUFFER_LENGTH</b> long => length of column value in bytes
+ </li>
+ <li>
+ <b>DECIMAL_DIGITS</b> short => scale
+ </li>
+ <li>
+ <b>PSEUDO_COLUMN</b> short => is this a pseudo column
+ like an Oracle ROWID
+ <ul>
+ <li> UNKNOWN - may or may not be pseudo column
+ </li>
+ <li> NOT_PSEUDO - is NOT a pseudo column
+ </li>
+ <li> PSEUDO - is a pseudo column
+ </li>
+ </ul>
+ </li>
+ </ol>
+ @param catalog
+ a catalog name; "" retrieves those without a catalog; `VOID` means drop catalog name from the selection criteria
+ @param schema
+ a schema name; "" retrieves those without a schema
+ @param table
+ a table name
+ @returns
+ each row is a column description
+ @throws SQLException
+ if a database access error occurs.
+ */
+ XResultSet getVersionColumns([in]any catalog, [in]string schema,
+ [in]string table) raises (SQLException);
+
+ /** gets a description of a table's primary key columns. They
+ are ordered by COLUMN_NAME.
+
+
+ <p>Each primary key column description has the following columns:
+ </p>
+ <ol>
+ <li>
+ <b>TABLE_CAT</b> string => table catalog (may be `NULL`)
+ </li>
+ <li>
+ <b>TABLE_SCHEM</b> string => table schema (may be `NULL`)
+ </li>
+ <li>
+ <b>TABLE_NAME</b> string => table name
+ </li>
+ <li>
+ <b>COLUMN_NAME</b> string => column name
+ </li>
+ <li>
+ <b>KEY_SEQ</b> short => sequence number within primary key
+ </li>
+ <li>
+ <b>PK_NAME</b> string => primary key name (may be `NULL`)
+ </li>
+ </ol>
+ @param catalog
+ a catalog name; "" retrieves those without a catalog; `VOID` means drop catalog name from the selection criteria
+ @param schema
+ a schema name; "" retrieves those without a schema
+ @param table
+ a table name
+ @returns
+ each row is a primary key column description
+ @throws SQLException
+ if a database access error occurs.
+ */
+ XResultSet getPrimaryKeys([in]any catalog, [in]string schema,
+ [in]string table) raises (SQLException);
+
+ /** gets a description of the primary key columns that are
+ referenced by a table's foreign key columns (the primary keys
+ imported by a table). They are ordered by PKTABLE_CAT,
+ PKTABLE_SCHEM, PKTABLE_NAME, and KEY_SEQ.
+
+
+ <p>Each primary key column description has the following columns:
+ </p>
+ <ol>
+ <li>
+ <b>PKTABLE_CAT</b> string => primary key table catalog
+ being imported (may be `NULL`)
+ </li>
+ <li>
+ <b>PKTABLE_SCHEM</b> string => primary key table schema
+ being imported (may be `NULL`)
+ </li>
+ <li>
+ <b>PKTABLE_NAME</b> string => primary key table name
+ being imported
+ </li>
+ <li>
+ <b>PKCOLUMN_NAME</b> string => primary key column name
+ being imported
+ </li>
+ <li>
+ <b>FKTABLE_CAT</b> string => foreign key table catalog (may be `NULL`)
+ </li>
+ <li>
+ <b>FKTABLE_SCHEM</b> string => foreign key table schema (may be `NULL`)
+ </li>
+ <li>
+ <b>FKTABLE_NAME</b> string => foreign key table name
+ </li>
+ <li>
+ <b>FKCOLUMN_NAME</b> string => foreign key column name
+ </li>
+ <li>
+ <b>KEY_SEQ</b> short => sequence number within foreign key
+ </li>
+ <li>
+ <b>UPDATE_RULE</b> short => What happens to
+ foreign key when primary is updated:
+ <ul>
+ <li> importedNoAction - do not allow update of primary
+ key if it has been imported
+ </li>
+ <li> importedKeyCascade - change imported key to agree
+ with primary key update
+ </li>
+ <li> importedKeySetNull - change imported key to NULL if
+ its primary key has been updated
+ </li>
+ <li> importedKeySetDefault - change imported key to default values
+ if its primary key has been updated
+ </li>
+ <li> importedKeyRestrict - same as importedKeyNoAction
+ (for ODBC 2.x compatibility)
+ </li>
+ </ul>
+ </li>
+ <li>
+ <b>DELETE_RULE</b> short => What happens to
+ the foreign key when primary is deleted.
+ <ul>
+ <li> importedKeyNoAction - do not allow delete of primary
+ key if it has been imported
+ </li>
+ <li> importedKeyCascade - delete rows that import a deleted key
+ </li>
+ <li> importedKeySetNull - change imported key to NULL if
+ its primary key has been deleted
+ </li>
+ <li> importedKeyRestrict - same as importedKeyNoAction
+ (for ODBC 2.x compatibility)
+ </li>
+ <li> importedKeySetDefault - change imported key to default if
+ its primary key has been deleted
+ </li>
+ </ul>
+ </li>
+ <li>
+ <b>FK_NAME</b> string => foreign key name (may be `NULL`)
+ </li>
+ <li>
+ <b>PK_NAME</b> string => primary key name (may be `NULL`)
+ </li>
+ <li>
+ <b>DEFERRABILITY</b> short => can the evaluation of foreign key
+ constraints be deferred until commit
+ <ul>
+ <li> importedKeyInitiallyDeferred - see SQL92 for definition
+ </li>
+ <li> importedKeyInitiallyImmediate - see SQL92 for definition
+ </li>
+ <li> importedKeyNotDeferrable - see SQL92 for definition
+ </li>
+ </ul>
+ </li>
+ </ol>
+ @param catalog
+ a catalog name; "" retrieves those without a catalog; `VOID` means drop catalog name from the selection criteria
+ @param schema
+ a schema name; "" retrieves those without a schema
+ @param table
+ a table name
+ @returns
+ each row is a primary key column description
+ @throws SQLException
+ if a database access error occurs.
+ */
+ XResultSet getImportedKeys([in]any catalog, [in]string schema,
+ [in]string table) raises (SQLException);
+
+ /** gets a description of the foreign key columns that reference a
+ table's primary key columns (the foreign keys exported by a
+ table). They are ordered by FKTABLE_CAT, FKTABLE_SCHEM,
+ FKTABLE_NAME, and KEY_SEQ.
+
+
+ <p>Each foreign key column description has the following columns:
+ </p>
+ <ol>
+ <li>
+ <b>PKTABLE_CAT</b> string => primary key table catalog (may be `NULL`)
+ </li>
+ <li>
+ <b>PKTABLE_SCHEM</b> string => primary key table schema (may be `NULL`)
+ </li>
+ <li>
+ <b>PKTABLE_NAME</b> string => primary key table name
+ </li>
+ <li>
+ <b>PKCOLUMN_NAME</b> string => primary key column name
+ </li>
+ <li>
+ <b>FKTABLE_CAT</b> string => foreign key table catalog (may be `NULL`)
+ being exported (may be `NULL`)
+ </li>
+ <li>
+ <b>FKTABLE_SCHEM</b> string => foreign key table schema (may be `NULL`)
+ being exported (may be `NULL`)
+ </li>
+ <li>
+ <b>FKTABLE_NAME</b> string => foreign key table name
+ being exported
+ </li>
+ <li>
+ <b>FKCOLUMN_NAME</b> string => foreign key column name
+ being exported
+ </li>
+ <li>
+ <b>KEY_SEQ</b> short => sequence number within foreign key
+ </li>
+ <li>
+ <b>UPDATE_RULE</b> short => What happens to
+ foreign key when primary is updated:
+ <ul>
+ <li> NO_ACTION - do not allow update of primary
+ key if it has been imported
+ </li>
+ <li> CASCADE - change imported key to agree
+ with primary key update
+ </li>
+ <li> SET_NULL - change imported key to NULL if
+ its primary key has been updated
+ </li>
+ <li> SET_DEFAULT - change imported key to default values
+ if its primary key has been updated
+ </li>
+ <li> RESTRICT - same as importedKeyNoAction
+ (for ODBC 2.x compatibility)
+ </li>
+ </ul>
+ </li>
+ <li>
+ <b>DELETE_RULE</b> short => What happens to
+ the foreign key when primary is deleted.
+ <ul>
+ <li> NO_ACTION - do not allow delete of primary
+ key if it has been imported
+ </li>
+ <li> CASCADE - delete rows that import a deleted key
+ </li>
+ <li> SET_NULL - change imported key to NULL if
+ its primary key has been deleted
+ </li>
+ <li> RESTRICT - same as importedKeyNoAction
+ (for ODBC 2.x compatibility)
+ </li>
+ <li> SET_DEFAULT - change imported key to default if
+ its primary key has been deleted
+ </li>
+ </ul>
+ </li>
+ <li>
+ <b>FK_NAME</b> string => foreign key name (may be `NULL`)
+ </li>
+ <li>
+ <b>PK_NAME</b> string => primary key name (may be `NULL`)
+ </li>
+ <li>
+ <b>DEFERRABILITY</b> short => can the evaluation of foreign key
+ constraints be deferred until commit
+ <ul>
+ <li> INITIALLY_DEFERRED - see SQL92 for definition
+ </li>
+ <li> INITIALLY_IMMEDIATE - see SQL92 for definition
+ </li>
+ <li> NONE - see SQL92 for definition
+ </li>
+ </ul>
+ </li>
+ </ol>
+ @param catalog
+ a catalog name; "" retrieves those without a catalog; `VOID` means drop catalog name from the selection criteria
+ @param schema
+ a schema name; "" retrieves those without a schema
+ @param table
+ a table name
+ @returns
+ each row is a foreign key column description
+ @throws SQLException
+ if a database access error occurs.
+ */
+ XResultSet getExportedKeys([in]any catalog, [in]string schema,
+ [in]string table) raises (SQLException);
+
+ /** gets a description of the foreign key columns in the foreign key
+ table that reference the primary key columns of the primary key
+ table (describe how one table imports another's key.) This
+ should normally return a single foreign key/primary key pair
+ (most tables only import a foreign key from a table once.). They
+ are ordered by FKTABLE_CAT, FKTABLE_SCHEM, FKTABLE_NAME, and
+ KEY_SEQ.
+
+
+ <p>Each foreign key column description has the following columns:
+ </p>
+ <ol>
+ <li>
+ <b>PKTABLE_CAT</b> string => primary key table catalog (may be `NULL`)
+ </li>
+ <li>
+ <b>PKTABLE_SCHEM</b> string => primary key table schema (may be `NULL`)
+ </li>
+ <li>
+ <b>PKTABLE_NAME</b> string => primary key table name
+ </li>
+ <li>
+ <b>PKCOLUMN_NAME</b> string => primary key column name
+ </li>
+ <li>
+ <b>FKTABLE_CAT</b> string => foreign key table catalog (may be `NULL`)
+ being exported (may be `NULL`)
+ </li>
+ <li>
+ <b>FKTABLE_SCHEM</b> string => foreign key table schema (may be `NULL`)
+ being exported (may be `NULL`)
+ </li>
+ <li>
+ <b>FKTABLE_NAME</b> string => foreign key table name
+ being exported
+ </li>
+ <li>
+ <b>FKCOLUMN_NAME</b> string => foreign key column name
+ being exported
+ </li>
+ <li>
+ <b>KEY_SEQ</b> short => sequence number within foreign key
+ </li>
+ <li>
+ <b>UPDATE_RULE</b> short => What happens to
+ foreign key when primary is updated:
+ <ul>
+ <li> NO_ACTION - do not allow update of primary
+ key if it has been imported
+ </li>
+ <li> CASCADE - change imported key to agree
+ with primary key update
+ </li>
+ <li> SET_NULL - change imported key to NULL if
+ its primary key has been updated
+ </li>
+ <li> SET_DEFAULT - change imported key to default values
+ if its primary key has been updated
+ </li>
+ <li> RESTRICT - same as importedKeyNoAction
+ (for ODBC 2.x compatibility)
+ </li>
+ </ul>
+ </li>
+ <li>
+ <b>DELETE_RULE</b> short => What happens to
+ the foreign key when primary is deleted.
+ <ul>
+ <li> NO_ACTION - do not allow delete of primary
+ key if it has been imported
+ </li>
+ <li> CASCADE - delete rows that import a deleted key
+ </li>
+ <li> SET_NULL - change imported key to NULL if
+ its primary key has been deleted
+ </li>
+ <li> RESTRICT - same as importedKeyNoAction
+ (for ODBC 2.x compatibility)
+ </li>
+ <li> SET_DEFAULT - change imported key to default if
+ its primary key has been deleted
+ </li>
+ </ul>
+ </li>
+ <li>
+ <b>FK_NAME</b> string => foreign key name (may be `NULL`)
+ </li>
+ <li>
+ <b>PK_NAME</b> string => primary key name (may be `NULL`)
+ </li>
+ <li>
+ <b>DEFERRABILITY</b> short => can the evaluation of foreign key
+ constraints be deferred until commit
+ <ul>
+ <li> INITIALLY_DEFERRED - see SQL92 for definition
+ </li>
+ <li> INITIALLY_IMMEDIATE - see SQL92 for definition
+ </li>
+ <li> NONE - see SQL92 for definition
+ </li>
+ </ul>
+ </li>
+ </ol>
+ @param primaryCatalog
+ a catalog name; "" retrieves those without a catalog; `VOID` means drop catalog name from the selection criteria
+ @param primarySchema
+ a schema name; "" retrieves those without a schema
+ @param primaryTable
+ the table name that exports the key
+ @param foreignCatalog
+ a catalog name; "" retrieves those without a catalog; `VOID` means drop catalog name from the selection criteria
+ @param foreignSchema
+ a schema name; "" retrieves those without a schema
+ @param foreignTable
+ the table name that imports the key
+ @returns
+ each row is a foreign key column description
+ @throws SQLException
+ if a database access error occurs.
+ */
+ XResultSet getCrossReference(
+ [in]any primaryCatalog, [in]string primarySchema,
+ [in]string primaryTable,
+ [in]any foreignCatalog, [in]string foreignSchema,
+ [in]string foreignTable) raises (SQLException);
+
+ /** gets a description of all the standard SQL types supported by
+ this database. They are ordered by DATA_TYPE and then by how
+ closely the data type maps to the corresponding SDBC SQL type.
+
+
+
+ <p>Each type description has the following columns:
+ </p>
+ <ol>
+ <li>
+ <b>TYPE_NAME</b> string => Type name
+ </li>
+ <li>
+ <b>DATA_TYPE</b> short => SQL data type from java.sql.Types
+ </li>
+ <li>
+ <b>PRECISION</b> long => maximum precision
+ </li>
+ <li>
+ <b>LITERAL_PREFIX</b> string => prefix used to quote a literal
+ (may be `NULL`)
+ </li>
+ <li>
+ <b>LITERAL_SUFFIX</b> string => suffix used to quote a literal
+ (may be `NULL`)
+ </li>
+ <li>
+ <b>CREATE_PARAMS</b> string => parameters used in creating
+ the type (may be `NULL`)
+ </li>
+ <li>
+ <b>NULLABLE</b> short => can you use NULL for this type?
+ <ul>
+ <li> NO_NULLS - does not allow NULL values
+ </li>
+ <li> NULLABLE - allows NULL values
+ </li>
+ <li> NULLABLE_UNKNOWN - nullability unknown
+ </li>
+ </ul>
+ </li>
+ <li>
+ <b>CASE_SENSITIVE</b> boolean=> is it case sensitive?
+ </li>
+ <li>
+ <b>SEARCHABLE</b> short => can you use "WHERE" based on this type:
+ <ul>
+ <li> NONE - No support
+ </li>
+ <li> CHAR - Only supported with WHERE .. LIKE
+ </li>
+ <li> BASIC - Supported except for WHERE .. LIKE
+ </li>
+ <li> FULL - Supported for all WHERE ..
+ </li>
+ </ul>
+ </li>
+ <li>
+ <b>UNSIGNED_ATTRIBUTE</b> boolean => is it unsigned?
+ </li>
+ <li>
+ <b>FIXED_PREC_SCALE</b> boolean => can it be a money value?
+ </li>
+ <li>
+ <b>AUTO_INCREMENT</b> boolean => can it be used for an
+ auto-increment value?
+ </li>
+ <li>
+ <b>LOCAL_TYPE_NAME</b> string => localized version of type name
+ (may be `NULL`)
+ </li>
+ <li>
+ <b>MINIMUM_SCALE</b> short => minimum scale supported
+ </li>
+ <li>
+ <b>MAXIMUM_SCALE</b> short => maximum scale supported
+ </li>
+ <li>
+ <b>SQL_DATA_TYPE</b> long => unused
+ </li>
+ <li>
+ <b>SQL_DATETIME_SUB</b> long => unused
+ </li>
+ <li>
+ <b>NUM_PREC_RADIX</b> long => usually 2 or 10
+ </li>
+ </ol>
+ @returns
+ each row is a SQL type description
+ @throws SQLException
+ if a database access error occurs.
+ */
+ XResultSet getTypeInfo() raises (SQLException);
+
+ /** gets a description of a table's indices and statistics. They are
+ ordered by NON_UNIQUE, TYPE, INDEX_NAME, and ORDINAL_POSITION.
+
+
+ <p>Each index column description has the following columns:
+ </p>
+ <ol>
+ <li>
+ <b>TABLE_CAT</b> string => table catalog (may be `NULL`)
+ </li>
+ <li>
+ <b>TABLE_SCHEM</b> string => table schema (may be `NULL`)
+ </li>
+ <li>
+ <b>TABLE_NAME</b> string => table name
+ </li>
+ <li>
+ <b>NON_UNIQUE</b> boolean => Can index values be non-unique?
+ `FALSE` when TYPE is tableIndexStatistic
+ </li>
+ <li>
+ <b>INDEX_QUALIFIER</b> string => index catalog (may be `NULL`);
+ `NULL` when TYPE is tableIndexStatistic
+ </li>
+ <li>
+ <b>INDEX_NAME</b> string => index name; `NULL` when TYPE is
+ tableIndexStatistic
+ </li>
+ <li>
+ <b>TYPE</b> short => index type:
+ <ul>
+ <li> 0 - this identifies table statistics that are
+ returned in conjunction with a table's index descriptions
+ </li>
+ <li> CLUSTERED - this is a clustered index
+ </li>
+ <li> HASHED - this is a hashed index
+ </li>
+ <li> OTHER - this is some other style of index
+ </li>
+ </ul>
+ </li>
+ <li>
+ <b>ORDINAL_POSITION</b> short => column sequence number
+ within index; zero when TYPE is tableIndexStatistic
+ </li>
+ <li>
+ <b>COLUMN_NAME</b> string => column name; `NULL` when TYPE is
+ tableIndexStatistic
+ </li>
+ <li>
+ <b>ASC_OR_DESC</b> string => column sort sequence, "A" => ascending,
+ "D" => descending, may be `NULL` if sort sequence is not supported;
+ `NULL` when TYPE is tableIndexStatistic
+ </li>
+ <li>
+ <b>CARDINALITY</b> long => When TYPE is tableIndexStatistic, then
+ this is the number of rows in the table; otherwise, it is the
+ number of unique values in the index.
+ </li>
+ <li>
+ <b>PAGES</b> long => When TYPE is tableIndexStatistic then
+ this is the number of pages used for the table, otherwise it
+ is the number of pages used for the current index.
+ </li>
+ <li>
+ <b>FILTER_CONDITION</b> string => Filter condition, if any.
+ (may be `NULL`)
+ </li>
+ </ol>
+ @param catalog
+ a catalog name; "" retrieves those without a catalog; `VOID` means drop catalog name from the selection criteria
+ @param schema
+ a schema name; "" retrieves those without a schema
+ @param table
+ the table name that exports the key
+ @param unique
+ when `TRUE`, return only indices for unique values; when `FALSE`, return indices regardless of whether unique or not
+ @param approximate
+ when `TRUE`, result is allowed to reflect approximate or out of data values; when `FALSE`, results are requested to be accurate
+ @returns
+ each row is an index column description
+ @throws SQLException
+ if a database access error occurs.
+ */
+ XResultSet getIndexInfo([in]any catalog, [in]string schema, [in]string table,
+ [in]boolean unique, [in]boolean approximate)
+ raises (SQLException);
+
+ /** Does the database support the given result set type?
+ @param setType
+ defined in
+ com::sun::star::sdbc::ResultSetType
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean supportsResultSetType([in]long setType) raises (SQLException);
+
+ /** Does the database support the concurrency type in combination
+ with the given result set type?
+ @param setType
+ defined in
+ com::sun::star::sdbc::ResultSetType
+ @param concurrency
+ defined in
+ com::sun::star::sdbc::ResultSetConcurrency
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean supportsResultSetConcurrency([in]long setType,
+ [in]long concurrency)
+ raises (SQLException);
+
+ /** indicates whether a result set's own updates are visible.
+ @param setType
+ defined in
+ com::sun::star::sdbc::ResultSetType
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean ownUpdatesAreVisible([in]long setType) raises (SQLException);
+
+ /** indicates whether a result set's own deletes are visible.
+ @param setType
+ defined in
+ com::sun::star::sdbc::ResultSetType
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean ownDeletesAreVisible([in]long setType) raises (SQLException);
+
+ /** indicates whether a result set's own inserts are visible.
+ @param setType
+ defined in
+ com::sun::star::sdbc::ResultSetType
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean ownInsertsAreVisible([in]long setType) raises (SQLException);
+
+ /** indicates whether updates made by others are visible.
+ @param setType
+ defined in
+ com::sun::star::sdbc::ResultSetType
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean othersUpdatesAreVisible([in]long setType) raises (SQLException);
+
+ /** indicates whether deletes made by others are visible.
+ @param setType
+ defined in
+ com::sun::star::sdbc::ResultSetType
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean othersDeletesAreVisible([in]long setType) raises (SQLException);
+
+ /** indicates whether inserts made by others are visible.
+ @param setType
+ defined in
+ com::sun::star::sdbc::ResultSetType
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean othersInsertsAreVisible([in]long setType) raises (SQLException);
+
+ /** indicates whether or not a visible row update can be detected by
+ calling the method
+ <code>XResultSet.rowUpdated</code>.
+ @param setType
+ defined in
+ com::sun::star::sdbc::ResultSetType
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean updatesAreDetected([in]long setType) raises (SQLException);
+
+ /** indicates whether or not a visible row delete can be detected by
+ calling com::sun::star::sdbc::XResultSet::rowDeleted().
+ If deletesAreDetected()
+ returns `FALSE`, then deleted rows are removed from the result set.
+ @param setType
+ defined in
+ com::sun::star::sdbc::ResultSetType
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean deletesAreDetected([in]long setType) raises (SQLException);
+
+ /** indicates whether or not a visible row insert can be detected
+ by calling
+ com::sun::star::sdbc::XResultSet::rowInserted().()
+ @param setType
+ defined in
+ com::sun::star::sdbc::ResultSetType
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean insertsAreDetected([in]long setType) raises (SQLException);
+
+ /** indicates whether the driver supports batch updates.
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean supportsBatchUpdates() raises (SQLException);
+
+ /** Gets a description of the user-defined types defined in a particular
+ schema. Schema-specific UDTs may have type OBJECT, STRUCT,
+ or DISTINCT.
+
+
+ <p>Only types matching the catalog, schema, type name, and type
+ criteria are returned. They are ordered by DATA_TYPE, TYPE_SCHEM,
+ and TYPE_NAME. The type name parameter may be a fully-qualified
+ name. In this case, the catalog and schemaPattern parameters are
+ ignored.
+ </p>
+ <p>Each type description has the following columns:
+ </p>
+ <ol>
+ <li>
+ <b>TYPE_CAT</b> string => the type's catalog (may be `NULL`)
+ </li>
+ <li>
+ <b>TYPE_SCHEM</b> string => type's schema (may be `NULL`)
+ </li>
+ <li>
+ <b>TYPE_NAME</b> string => type name
+ </li>
+ <li>
+ <b>CLASS_NAME</b> string => Java class name or service name
+ </li>
+ <li>
+ <b>DATA_TYPE</b> string => type value.
+ One of OBJECT, STRUCT, or DISTINCT
+ </li>
+ <li>
+ <b>REMARKS</b> string => explanatory comment on the type
+ </li>
+ </ol>
+ <p>
+ <b>Note:</b> If the driver does not support UDTs, an empty
+ result set is returned.
+ </p>
+ @param catalog
+ a catalog name; "" retrieves those without a catalog; `VOID` means drop catalog name from the selection criteria
+ @param schemaPattern
+ a schema name pattern; "" retrieves those without a schema
+ @param typeNamePattern
+ a type name pattern; may be a fully-qualified name
+ @param types
+ a list of user-named types to include (OBJECT, STRUCT, or DISTINCT)
+ @returns
+ each row is a type description
+ @throws SQLException
+ if a database access error occurs.
+ */
+ XResultSet getUDTs([in]any catalog, [in]string schemaPattern,
+ [in]string typeNamePattern, [in]sequence<long> types)
+ raises (SQLException);
+
+ /** retrieves the connection that produced this metadata object.
+ @returns
+ the Connection object
+ @throws SQLException
+ if a database access error occurs.
+ */
+ XConnection getConnection() raises (SQLException);
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/XDatabaseMetaData2.idl b/offapi/com/sun/star/sdbc/XDatabaseMetaData2.idl
new file mode 100644
index 000000000..591b307d5
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XDatabaseMetaData2.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_sdbc_XDatabaseMetaData2_idl__
+#define __com_sun_star_sdbc_XDatabaseMetaData2_idl__
+
+#include <com/sun/star/sdbc/XDatabaseMetaData.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+
+
+module com { module sun { module star { module sdbc {
+
+
+/** extends the XDatabaseMetaData interface to allow retrieval of additional
+ information.
+ */
+interface XDatabaseMetaData2 : XDatabaseMetaData
+{
+ /** complements XDatabaseMetaData::getURL by returning the settings which,
+ upon construction of the connection, have been used besides the connection
+ URL.
+
+ @see XDriver::connect
+ */
+ sequence< ::com::sun::star::beans::PropertyValue >
+ getConnectionInfo();
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/XDriver.idl b/offapi/com/sun/star/sdbc/XDriver.idl
new file mode 100644
index 000000000..ee45d105b
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XDriver.idl
@@ -0,0 +1,163 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_sdbc_XDriver_idl__
+#define __com_sun_star_sdbc_XDriver_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/beans/PropertyValue.idl>
+
+#include <com/sun/star/sdbc/SQLException.idl>
+
+#include <com/sun/star/sdbc/DriverPropertyInfo.idl>
+
+ module com { module sun { module star { module sdbc {
+
+ published interface XConnection;
+ published interface XDriverManager;
+
+
+/** is the interface that every driver class must implement.
+
+
+
+ <p>
+ Each driver should supply a service that implements
+ the Driver interface.
+
+ </p>
+ <p>The DriverManager will try to load as many drivers as it can
+ find, and then for any given connection request, it will ask each
+ driver in turn to try to connect to the target URL.
+
+ </p>
+ <p>
+ It is strongly recommended that each Driver object should be
+ small and standalone so that the Driver object can be loaded and
+ queried without bringing in vast quantities of supporting code.
+
+ </p>
+ @see com::sun::star::sdbc::XDriverManager
+ @see com::sun::star::sdbc::XConnection
+ */
+published interface XDriver: com::sun::star::uno::XInterface
+{
+
+ /** attempts to make a database connection to the given URL.
+ The driver should return
+ `NULL`
+ if it realizes it is the wrong kind
+ of driver to connect to the given URL. This will be common, as when
+ the driver manager is asked to connect to a given URL it passes
+ the URL to each loaded driver in turn.
+
+
+
+ <p>
+ The driver should raise a
+ com::sun::star::sdbc::SQLException
+ if it is the right
+ driver to connect to the given URL, but has trouble connecting to
+ the database.
+
+ </p>
+ <p>
+ The info argument can be used to pass arbitrary
+ string tag/value pairs as connection arguments.
+ Normally at least "user" and "password" properties should be
+ included in the Properties. For a JDBC driver also the Java class must
+ be supplied in the property named JavaDriverClass, and a class path (a
+ space-separated list of URLs) needed to locate that class can optionally
+ be supplied in a property named JavaDriverClassPath.
+ Possible property value names are when supported by the driver:
+ @see com::sun::star::sdbc::ConnectionProperties
+ </p>
+
+ @param url
+ is the URL of the database to which to connect.
+ @param info
+ a list of arbitrary string tag/value pairs as connection arguments. Normally at least a "user" and "password" property should be included.
+ @see com::sun::star::sdbc::ConnectionProperties
+ @returns
+ a Connection object that represents a connection to the URL
+ @throws SQLException
+ if a database access error occurs
+
+ */
+ XConnection connect(
+ [in]string url,
+ [in]sequence<com::sun::star::beans::PropertyValue> info)
+ raises (SQLException);
+
+ /** returns `TRUE` if the driver thinks that it can open a connection
+ to the given URL. Typically drivers will return `TRUE` if they
+ understand the subprotocol specified in the URL and `FALSE` if
+ they do not.
+
+ @param url
+ is the URL of the database to which to connect.
+ @returns
+ `TRUE` if this driver can connect to the given URL.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean acceptsURL([in]string url) raises (SQLException);
+
+ /** gets information about the possible properties for this driver.
+ <p>The getPropertyInfo method is intended to allow a generic GUI tool to
+ discover what properties it should prompt a human for in order to get
+ enough information to connect to a database. Note that depending on
+ the values the human has supplied so far, additional values may become
+ necessary, so it may be necessary to iterate though several calls
+ to getPropertyInfo.
+ @param url
+ is the URL of the database to which to connect.
+ @param info
+ is a proposed list of tag/value pairs that will be sent on
+ connect open.
+ @returns
+ an array of DriverPropertyInfo objects describing possible
+ properties. This array may be an empty array if no properties
+ are required.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ sequence<DriverPropertyInfo> getPropertyInfo([in]string url,
+ [in] sequence<com::sun::star::beans::PropertyValue> info)
+ raises (SQLException);
+
+ /** gets the driver's major version number. Initially this should be 1.
+ @returns
+ this driver's major version number
+ */
+ long getMajorVersion();
+
+ /** gets the driver's minor version number. Initially this should be 0.
+ @returns
+ this driver's minor version number.
+ */
+ long getMinorVersion();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/XDriverAccess.idl b/offapi/com/sun/star/sdbc/XDriverAccess.idl
new file mode 100644
index 000000000..c0f907f3b
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XDriverAccess.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_sdbc_XDriverAccess_idl__
+#define __com_sun_star_sdbc_XDriverAccess_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+ module com { module sun { module star { module sdbc {
+
+ published interface XDriver;
+
+
+
+/** provides the access of sdbc driver components
+ @see com::sun::star::sdbc::XDriverManager
+ @see com::sun::star::sdbc::XDriver
+ */
+published interface XDriverAccess: com::sun::star::uno::XInterface
+{
+
+ /** get a driver which accepts a given url.@see com::sun::star::sdbc::XDriver::acceptsURL
+ @param url
+ a database url of the form sdbc:subprotocol:subname
+ @returns
+ a Driver that can connect to the URL
+ @throws SQLException
+ if a database access error occurs.
+ */
+ XDriver getDriverByURL([in]string url);
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/XDriverManager.idl b/offapi/com/sun/star/sdbc/XDriverManager.idl
new file mode 100644
index 000000000..00f8de420
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XDriverManager.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_sdbc_XDriverManager_idl__
+#define __com_sun_star_sdbc_XDriverManager_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/beans/PropertyValue.idl>
+
+#include <com/sun/star/sdbc/SQLException.idl>
+
+ module com { module sun { module star { module sdbc {
+
+ published interface XConnection;
+ published interface XDriver;
+
+
+/** is the basic interface for managing a set of SDBC drivers.
+
+
+
+ <p>
+ When the method
+ com::sun::star::sdbc::XDriverManager::getConnection()
+ is called,
+ the DriverManager will attempt to
+ locate a suitable driver.
+
+ </p>
+ @see com::sun::star::sdbc::XDriver
+ @see com::sun::star::sdbc::XConnection
+ */
+published interface XDriverManager: com::sun::star::uno::XInterface
+{
+
+ /** attempts to establish a connection to the given database URL.
+ The DriverManager attempts to select an appropriate driver from
+ the set of registered JDBC/SDBC drivers.
+ @param url
+ a database url of the form sdbc:subprotocol:subname
+ @returns
+ the Connection object
+ @throws SQLException
+ if a database access error occurs.
+ */
+ XConnection getConnection([in]string url)
+ raises (SQLException);
+
+ /** attempts to establish a connection to the given database URL.
+ The DriverManager attempts to select an appropriate driver from
+ the set of registered JDBC/SDBC drivers.
+ @param url
+ a database url of the form sdbc:subprotocol:subname
+ @param info
+ a list of arbitrary string tag/value pairs as connection arguments;
+ normally at least a "user" and "password" property should be included
+ @see com::sun::star::sdbc::ConnectionProperties
+ @returns
+ the Connection object
+ @throws SQLException
+ if a database access error occurs.
+ */
+ XConnection getConnectionWithInfo([in]string url,
+ [in]sequence<com::sun::star::beans::PropertyValue> info)
+ raises (SQLException);
+
+ /** sets the maximum time in seconds that a driver will wait
+ while attempting to connect to a database.
+ @param seconds
+ the login time limit in seconds
+
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void setLoginTimeout([in]long seconds);
+
+ /** gets the maximum time in seconds that a driver can wait
+ when attempting to login to a database.
+ @returns
+ the driver login time limit in seconds
+
+ @throws SQLException
+ if a database access error occurs.
+ */
+ long getLoginTimeout();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/XDriverManager2.idl b/offapi/com/sun/star/sdbc/XDriverManager2.idl
new file mode 100644
index 000000000..8477e1b5d
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XDriverManager2.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_sdbc_XDriverManager2_idl__
+#define __com_sun_star_sdbc_XDriverManager2_idl__
+
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#include <com/sun/star/sdbc/XDriverManager.idl>
+#include <com/sun/star/sdbc/XDriverAccess.idl>
+
+module com { module sun { module star { module sdbc {
+
+/** is the basic interface for managing a set of SDBC drivers.
+
+ <p>
+ As part of its initialization, the DriverManager service will
+ attempt to load the registered drivers.
+
+ </p>
+ <p>
+ When the method <code>getConnection</code> is called,
+ the DriverManager will attempt to
+ locate a suitable driver.
+
+ </p>
+ @see com::sun::star::sdbc::XDriver
+ @see com::sun::star::sdbc::XConnection
+ @since LibreOffice 4.0
+ */
+published interface XDriverManager2
+{
+
+ /** is the basic interface for establishing database connections.
+ */
+ interface XDriverManager;
+
+ interface XDriverAccess;
+
+ /** creates an enumeration on all installed / registered drivers.
+ */
+ interface com::sun::star::container::XEnumerationAccess;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/XGeneratedResultSet.idl b/offapi/com/sun/star/sdbc/XGeneratedResultSet.idl
new file mode 100644
index 000000000..5418267ab
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XGeneratedResultSet.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_sdbc_XGeneratedResultSet_idl__
+#define __com_sun_star_sdbc_XGeneratedResultSet_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/sdbc/SQLException.idl>
+
+ module com { module sun { module star { module sdbc {
+
+ published interface XResultSet;
+
+/** provides a result set which gives access to automatically generated values after a new row was inserted.
+
+ <p>The relative order of columns in the result set returned by getGeneratedValues() must be the same
+ as the relative order of the same columns as returned when executing a "SELECT * FROM table". This ensures that
+ clients of this interface can reliably fetch the column values.</p>
+
+ @see com::sun::star::sdbc::Statement
+ @see com::sun::star::sdbc::PreparedStatement
+ @since OOo 1.1.2
+ */
+published interface XGeneratedResultSet: com::sun::star::uno::XInterface
+{
+ /** gives access to automatically generated values after a new row was inserted.
+ @returns
+ a result set that contains the data produced by the query
+ @throws SQLException
+ if a database access error occurs.
+ */
+ XResultSet getGeneratedValues() raises (SQLException);
+
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/XIsolatedConnection.idl b/offapi/com/sun/star/sdbc/XIsolatedConnection.idl
new file mode 100644
index 000000000..5f24abe8b
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XIsolatedConnection.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_sdbc_XIsolatedConnection_idl__
+#define __com_sun_star_sdbc_XIsolatedConnection_idl__
+
+#include <com/sun/star/task/XInteractionHandler.idl>
+
+#include <com/sun/star/sdbc/SQLException.idl>
+
+ module com { module sun { module star { module sdbc {
+
+ published interface XConnection;
+/** is used for establishing isolated connections via a factory.
+ <p>
+ The XIsolatedConnection allows to create connections which are not shared among others
+ as it is the case when creating connections in normal way.
+ </p>
+ @see com::sun::star::sdb::DataSource
+ @since OOo 1.1.2
+ */
+published interface XIsolatedConnection: com::sun::star::uno::XInterface
+{
+ /** attempts to establish a database connection.
+ <p>If information is missing, such as
+ a user's password, they are completed by user interaction.</p>
+ @param handler
+ The handler which ask for the needed information when they are missing.
+ @returns
+ A connection which is not shared.
+ @throws com::sun::star::sdbc::SQLException
+ when an error occurs.
+ */
+ XConnection
+ getIsolatedConnectionWithCompletion([in]com::sun::star::task::XInteractionHandler handler)
+ raises (SQLException);
+
+ /** attempts to establish a database connection.
+ @param user
+ The user name.
+ @param password
+ The password.
+ @returns
+ A connection which is not shared.
+ @throws com::sun::star::sdbc::SQLException
+ when an error occurs.
+ */
+ XConnection getIsolatedConnection([in]string user, [in]string password)
+ raises (SQLException);
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/XMultipleResults.idl b/offapi/com/sun/star/sdbc/XMultipleResults.idl
new file mode 100644
index 000000000..d496243f1
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XMultipleResults.idl
@@ -0,0 +1,104 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_sdbc_XMultipleResults_idl__
+#define __com_sun_star_sdbc_XMultipleResults_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/sdbc/SQLException.idl>
+
+ module com { module sun { module star { module sdbc {
+
+ published interface XResultSet;
+
+
+/** is used for inspecting multiple results produced by the execution of a
+ SQL statement.
+
+
+ <p>
+ Under some (uncommon) situations a single SQL statement may return
+ multiple result sets and/or update counts. Normally you can ignore
+ this unless you are (1) executing a stored procedure that you know may
+ return multiple results or (2) you are dynamically executing an
+ unknown SQL string. The methods
+ com::sun::star::sdbc::XMultipleResults::getMoreResults()
+ ,
+ com::sun::star::sdbc::XMultipleResults::getResultSet()
+ and
+ com::sun::star::sdbc::XMultipleResults::getUpdateCount()
+ let you navigate through multiple results.
+
+ </p>
+ @see com::sun::star::sdbc::XStatement
+ @see com::sun::star::sdbc::XPreparedStatement
+ */
+published interface XMultipleResults: com::sun::star::uno::XInterface
+{
+
+ /** returns the current result as a
+ com::sun::star::sdbc::ResultSet
+ object.
+ This method should be called only once per result.
+ @returns
+ the ResultSet object
+ @throws SQLException
+ if a database access error occurs.
+ */
+ XResultSet getResultSet() raises (SQLException);
+
+ /** returns the current result as an update count.
+
+
+ <p>
+ If the result is a ResultSet or there are no more results, -1
+ is returned. This method should be called only once per result.
+ </p>
+ @returns
+ the current result as an update count.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ long getUpdateCount() raises (SQLException);
+
+ /** moves to a Statement's next result. It returns `TRUE` if
+ this result is a ResultSet. This method also implicitly
+ closes any current ResultSet obtained with getResultSet.
+
+ <p>
+ There are no more results when <code>(!getMoreResults() &amp;amp;&amp;amp;
+ getUpdateCount() == -1)</code>.
+
+ </p>
+ @returns
+ `TRUE` if there exists more ResultSet objects
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean getMoreResults() raises (SQLException);
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/XOutParameters.idl b/offapi/com/sun/star/sdbc/XOutParameters.idl
new file mode 100644
index 000000000..d378ae5e2
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XOutParameters.idl
@@ -0,0 +1,131 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_sdbc_XOutParameters_idl__
+#define __com_sun_star_sdbc_XOutParameters_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/sdbc/SQLException.idl>
+
+ module com { module sun { module star { module sdbc {
+
+
+/** is used to register Out-Parameters for stored procedures.
+
+
+ <p>
+ SDBC provides a stored procedure SQL escape that allows stored procedures
+ to be called in a standard way for all RDBMSs. This escape syntax has one
+ form that includes a result parameter and one that does not. If used, the
+ result parameter must be registered as an OUT parameter. The other parameters
+ can be used for input, output, or both. Parameters are referred to sequentially,
+ by number. The first parameter is 1.
+ </p>
+ */
+published interface XOutParameters: com::sun::star::uno::XInterface
+{
+
+ /** registers the designated output parameter. This version of
+ the method
+ com::sun::star::sdbc::XOutParameters::registerOutParameter()
+ should be used for a user-named or REF output parameter. Examples
+ of user-named types include: STRUCT, DISTINCT, OBJECT, and named array
+ types.
+
+ <p>
+ Before executing a stored procedure call, you must explicitly
+ call
+ com::sun::star::sdbc::XOutParameters::registerOutParameter()
+ to register the type from
+ com::sun::star::sdbc::DataType
+ for each OUT parameter.
+ <br/>
+ For a user-named parameter the fully-qualified SQL type name of the
+ parameter should also be given, while a REF parameter requires that the
+ fully-qualified type name of the referenced type be given.
+ An SDBC driver that does not need the type code and type name information
+ may ignore it. To be portable, however, applications should always provide
+ these values for user-named and REF parameters.
+ </p>
+ <p>Although it is intended for user-named and REF parameters,
+ this method may be used to register a parameter of any SDBC type.
+ If the parameter does not have a user-named or REF type, the
+ typeName parameter is ignored.
+ </p>
+ <p>
+ <b>Note:</b> When reading the value of an out parameter, you
+ must use the
+ <code>getXXX</code>
+ method whose type XXX corresponds to the
+ parameter's registered SQL type.
+ </p>
+ @param parameterIndex
+ the first parameter is 1, the second is 2, ...
+ @param sqlType
+ the type of the column to register
+ @param typeName
+ the name of the type
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void registerOutParameter([in]long parameterIndex, [in]long sqlType,
+ [in]string typeName)
+ raises (SQLException);
+
+ /** registers the OUT parameter in ordinal position
+ <code>parameterIndex</code>
+ to the SDBC type <code>sqlType</code>. All
+ OUT parameters must be registered before a stored procedure is executed.
+
+
+ <p>
+ The SDBC type specified by
+ <code>sqlType</code>
+ for an OUT parameter determines the type that must be used in the
+ <code>get</code>
+ method to read the value of that parameter.
+ This version of
+ com::sun::star::sdbc::XOutParameters::registerOutParameter()
+ should be
+ used when the parameter is of SDBC type
+ com::sun::star::sdbc::DataType::NUMERIC
+ or com::sun::star::sdbc::DataType::DECIMAL.
+ @param parameterIndex
+ the first parameter is 1, the second is 2, ...
+ @param sqlType
+ the type of the column to register
+ @param scale
+ the scale of the type
+ @throws SQLException
+ if a database access error occurs.
+ </p>
+ */
+ void registerNumericOutParameter([in]long parameterIndex, [in]long sqlType,
+ [in]long scale)
+ raises (SQLException);
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/XParameters.idl b/offapi/com/sun/star/sdbc/XParameters.idl
new file mode 100644
index 000000000..6f1beca0a
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XParameters.idl
@@ -0,0 +1,422 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_sdbc_XParameters_idl__
+#define __com_sun_star_sdbc_XParameters_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/util/Date.idl>
+
+#include <com/sun/star/util/DateTime.idl>
+
+#include <com/sun/star/util/Time.idl>
+
+ module com { module sun { module star { module io {
+ published interface XInputStream;
+};};};};
+
+#include <com/sun/star/sdbc/SQLException.idl>
+
+ module com { module sun { module star { module sdbc {
+
+ published interface XRef;
+ published interface XArray;
+ published interface XBlob;
+ published interface XClob;
+
+
+/** is used for parameter setting, commonly implemented in conjunction with
+ PreparedStatements.
+
+
+ <p>
+ <b>Note:</b> The setXXX methods for setting IN parameter values
+ must specify types that are compatible with the defined SQL type of
+ the input parameter. For instance, if the IN parameter has SQL type
+ Integer, then the method
+ com::sun::star::sdbc::XParameters::setInt()
+ should be used.
+
+ </p>
+ <p>
+ If arbitrary parameter type conversions are required, the method
+ com::sun::star::sdbc::XParameters::setObject()
+ should be used with a target SQL type.
+ <br/>
+ <br/>
+ Example of setting a parameter;
+ <code>con</code>
+ is an active connection.
+ </p>
+
+ @code{.bas}
+ pstmt = con.prepareStatement("UPDATE EMPLOYEES SET SALARY = ? WHERE ID = ?")
+ pstmt.setDouble(1, 153833.00)
+ pstmt.setLong(2, 110592)
+ @endcode
+
+ @see com::sun::star::sdbc::XPreparedStatement
+ */
+published interface XParameters: com::sun::star::uno::XInterface
+{
+
+ /** sets the designated parameter to SQL NULL.
+ */
+ void setNull([in]long parameterIndex,
+ [in]long sqlType) raises (SQLException);
+
+ /** sets the designated parameter to SQL NULL. This version of setNull should
+ be used for user-named types and REF type parameters. Examples
+ of user-named types include: STRUCT, DISTINCT, OBJECT, and
+ named array types.
+
+
+ <p>
+ <b>Note:</b> To be portable, applications must give the
+ SQL type code and the fully-qualified SQL type name when specifying
+ a NULL user-defined or REF parameter. In the case of a user-named type
+ the name is the type name of the parameter itself. For a REF
+ parameter the name is the type name of the referenced type. If
+ a SDBC driver does not need the type code or type name information,
+ it may ignore it.
+ <br/>
+ Although it is intended for user-named and Ref parameters,
+ this method may be used to set a null parameter of any JDBC type.
+ If the parameter does not have a user-named or REF type, the given
+ typeName is ignored.
+ </p>
+ @param parameterIndex
+ the first parameter is 1, the second is 2, ...
+ @param sqlType
+ the type of the column to set to `NULL`
+ @param typeName
+ the name of the type
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void setObjectNull([in]long parameterIndex,
+ [in]long sqlType,
+ [in]string typeName) raises (SQLException);
+
+ /** sets the designated parameter to a boolean value. The driver converts this
+ to a SQL BIT value when it sends it to the database.
+ @param parameterIndex
+ the first parameter is 1, the second is 2, ...
+ @param x
+ the parameter value
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void setBoolean([in]long parameterIndex, [in]boolean x)
+ raises (SQLException);
+
+ /** sets the designated parameter to a byte value. The driver converts this
+ to a SQL TINYINT value when it sends it to the database.
+ @param parameterIndex
+ the first parameter is 1, the second is 2, ...
+ @param x
+ the parameter value
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void setByte([in]long parameterIndex, [in]byte x) raises (SQLException);
+
+ /** sets the designated parameter to a short value. The driver converts this
+ to a SQL SMALLINT value when it sends it to the database.
+ @param parameterIndex
+ the first parameter is 1, the second is 2, ...
+ @param x
+ the parameter value
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void setShort([in]long parameterIndex, [in]short x) raises (SQLException);
+
+ /** sets the designated parameter to a long value. The driver converts this
+ to a SQL INTEGER value when it sends it to the database.
+ @param parameterIndex
+ the first parameter is 1, the second is 2, ...
+ @param x
+ the parameter value
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void setInt([in]long parameterIndex, [in]long x) raises (SQLException);
+
+ /** sets the designated parameter to a hyper value. The driver converts this
+ to a SQL BIGINT value when it sends it to the database.
+ @param parameterIndex
+ the first parameter is 1, the second is 2, ...
+ @param x
+ the parameter value
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void setLong([in]long parameterIndex, [in]hyper x) raises (SQLException);
+
+ /** sets the designated parameter to a float value. The driver converts this
+ to a SQL FLOAT value when it sends it to the database.
+ @param parameterIndex
+ the first parameter is 1, the second is 2, ...
+ @param x
+ the parameter value
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void setFloat([in]long parameterIndex, [in]float x) raises (SQLException);
+
+ /** sets the designated parameter to a double value. The driver converts this
+ to a SQL DOUBLE value when it sends it to the database.
+ @param parameterIndex
+ the first parameter is 1, the second is 2, ...
+ @param x
+ the parameter value
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void setDouble([in]long parameterIndex, [in]double x) raises (SQLException);
+
+ /** sets the designated parameter to a string value. The driver converts this
+ to a SQL VARCHAR or LONGVARCHAR value (depending on the argument's
+ size relative to the driver's limits on VARCHARs) when it sends
+ it to the database.
+ @param parameterIndex
+ the first parameter is 1, the second is 2, ...
+ @param x
+ the parameter value
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void setString([in]long parameterIndex, [in]string x) raises (SQLException);
+
+ /** sets the designated parameter to a sequence of bytes. The driver converts
+ this to a SQL VARBINARY or LONGVARBINARY (depending on the
+ argument's size relative to the driver's limits on VARBINARYs)
+ when it sends it to the database.
+ @param parameterIndex
+ the first parameter is 1, the second is 2, ...
+ @param x
+ the parameter value
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void setBytes([in]long parameterIndex, [in]sequence<byte> x)
+ raises (SQLException);
+
+ /** sets the designated parameter to a date value. The driver converts this
+ to a SQL DATE value when it sends it to the database.
+ @param parameterIndex
+ the first parameter is 1, the second is 2, ...
+ @param x
+ the parameter value
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void setDate([in]long parameterIndex, [in]com::sun::star::util::Date x)
+ raises (SQLException);
+
+ /** sets the designated parameter to a time value. The driver converts this
+ to a SQL TIME value when it sends it to the database.
+ @param parameterIndex
+ the first parameter is 1, the second is 2, ...
+ @param x
+ the parameter value
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void setTime([in]long parameterIndex, [in]com::sun::star::util::Time x)
+ raises (SQLException);
+
+ /** sets the designated parameter to a datetime value. The driver
+ converts this to a SQL TIMESTAMP value when it sends it to the
+ database.
+ @param parameterIndex
+ the first parameter is 1, the second is 2, ...
+ @param x
+ the parameter value
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void setTimestamp([in]long parameterIndex,
+ [in]com::sun::star::util::DateTime x) raises (SQLException);
+
+ /** sets the designated parameter to the given input stream, which will have
+ the specified number of bytes.
+ When a very large binary value is input to a LONGVARBINARY or LONGVARCHAR
+ parameter, it may be more practical to send it via an
+ com::sun::star::io::XInputStream
+ . SDBC will read the data from the stream as needed, until it reaches end-of-file.
+ @param parameterIndex
+ the first parameter is 1, the second is 2, ...
+ @param x
+ the parameter value
+ @param length
+ the number of bytes in the stream
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void setBinaryStream([in]long parameterIndex,
+ [in]com::sun::star::io::XInputStream x,
+ [in]long length) raises (SQLException);
+
+ /** sets the designated parameter to the given input stream, which will have
+ the specified number of bytes.
+ When a very large binary value is input to a LONGVARCHAR
+ parameter, it may be more practical to send it via a
+ com::sun::star::io::XInputStream
+ . SDBC will read the data from the stream as needed, until it reaches end-of-file.
+ @param parameterIndex
+ the first parameter is 1, the second is 2, ...
+ @param x
+ the parameter value
+ @param length
+ the number of characters in the stream
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void setCharacterStream([in]long parameterIndex,
+ [in]com::sun::star::io::XInputStream x,
+ [in]long length) raises (SQLException);
+
+ /** sets the value of a parameter using an any.
+
+
+ <p>The given object will be converted to the targetSqlType
+ before being sent to the database.
+ If the object has a custom mapping (is of a class implementing SQLData),
+ the SDBC driver should call its method <code>writeSQL</code> to write it
+ to the SQL data stream.
+ If, on the other hand, the object is of a service implementing Ref, Blob,
+ Clob, Struct, or Array, the driver should pass it to the database as a
+ value of the corresponding SQL type.
+ </p>
+ <p>Note that this method may be used to pass database-specific
+ abstract data types.
+ </p>
+ @param parameterIndex
+ the first parameter is 1, the second is 2, ...
+ @param x
+ the parameter value
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void setObject([in]long parameterIndex, [in]any x)
+ raises (SQLException);
+
+ /** set a value from the Datatype ANY for a parameter.
+
+
+
+ <p>The given object will be converted to the targetSqlType
+ before being sent to the database.
+ If the object has a custom mapping (is of a class implementing SQLData),
+ the SDBC driver should call its method <code>writeSQL</code> to write it
+ to the SQL data stream.
+ If, on the other hand, the object is of a service implementing Ref, Blob,
+ Clob, Struct, or Array, the driver should pass it to the database as a
+ value of the corresponding SQL type.
+ </p>
+ <p>Note that this method may be used to pass database-specific
+ abstract data types.
+ </p>
+ @param parameterIndex
+ the first parameter is 1, the second is 2, ...
+ @param x
+ the parameter value
+ @param targetSqlType
+ the SQL type (as defined in
+ com::sun::star::sdbc::DataType
+ ) to be sent to the database. The scale argument may further qualify this type.
+ @param scale
+ for
+ com::sun::star::sdbc::DataType::DECIMAL
+ or
+ com::sun::star::sdbc::DataType::NUMERIC
+ types, this is the number of digits after the decimal point. For all other types, this value will be ignored.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void setObjectWithInfo([in]long parameterIndex,
+ [in]any x, [in]long targetSqlType, [in]long scale)
+ raises (SQLException);
+
+ /** sets a REF(&amp;lt;structured-type&amp;gt;) parameter.
+ @param parameterIndex
+ the first parameter is 1, the second is 2, ...
+ @param x
+ the parameter value
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void setRef ([in]long parameterIndex, [in]XRef x) raises (SQLException);
+
+ /** sets a BLOB parameter.
+ @param parameterIndex
+ the first parameter is 1, the second is 2, ...
+ @param x
+ the parameter value
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void setBlob ([in]long parameterIndex, [in]XBlob x) raises (SQLException);
+
+ /** sets a CLOB parameter.
+ @param parameterIndex
+ the first parameter is 1, the second is 2, ...
+ @param x
+ the parameter value
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void setClob ([in]long parameterIndex, [in]XClob x) raises (SQLException);
+
+ /** sets an Array parameter.
+ @param parameterIndex
+ the first parameter is 1, the second is 2, ...
+ @param x
+ the parameter value
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void setArray ([in]long parameterIndex, [in]XArray x) raises (SQLException);
+
+
+ /** clears the current parameter values immediately.
+
+
+ <p>In general, parameter values remain in force for repeated use of a
+ Statement. Setting a parameter value automatically clears its
+ previous value. However, in some cases it is useful to immediately
+ release the resources used by the current parameter values; this can
+ be done by calling clearParameters.
+ </p>
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void clearParameters() raises (SQLException);
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/XPooledConnection.idl b/offapi/com/sun/star/sdbc/XPooledConnection.idl
new file mode 100644
index 000000000..3949c0bc3
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XPooledConnection.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_sdbc_XPooledConnection_idl__
+#define __com_sun_star_sdbc_XPooledConnection_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/beans/PropertyValue.idl>
+
+#include <com/sun/star/sdbc/SQLException.idl>
+
+ module com { module sun { module star { module sdbc {
+
+ published interface XConnection;
+
+/** defines a pooled connection which can share an unused connection.
+
+<!-- JRH: unclear meaning -->
+
+ <p>
+ PoolConnections are handled by the connection pool.
+ </p>
+ <p>
+ When the method
+ com::sun::star::sdbc::XPooledConnection::getConnection()
+ is called, the PooledConnection returns the connection which is pooled.
+ </p>
+
+ @see com::sun::star::sdbc::XConnection
+ */
+published interface XPooledConnection: com::sun::star::uno::XInterface
+{
+
+ /** return the connection which is pooled
+ @returns
+ the pooled Connection object
+ @throws SQLException
+ if a database access error occurs.
+ */
+ XConnection getConnection()
+ raises (SQLException);
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/XPreparedBatchExecution.idl b/offapi/com/sun/star/sdbc/XPreparedBatchExecution.idl
new file mode 100644
index 000000000..1fab832d1
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XPreparedBatchExecution.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_sdbc_XPreparedBatchExecution_idl__
+#define __com_sun_star_sdbc_XPreparedBatchExecution_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/sdbc/SQLException.idl>
+
+ module com { module sun { module star { module sdbc {
+
+
+/** is used for batch execution on PreparedStatements.
+
+
+ <p>
+ A
+ com::sun::star::sdbc::PreparedStatement
+ uses one precompiled SQL Statement. In batch execution
+ it is possible to set collection of parameter settings, which are executed in
+ one batch job.
+ </p>
+ */
+published interface XPreparedBatchExecution: com::sun::star::uno::XInterface
+{
+
+ /** adds a set of parameters to the batch.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void addBatch() raises (SQLException);
+
+ /** makes the set of commands in the current batch empty.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void clearBatch() raises (SQLException);
+
+ /** submits a batch of commands to the database for execution.
+ @returns
+ an array of update counts containing one element for each
+ command in the batch. The array is ordered according to the order in
+ which commands were inserted into the batch.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ sequence<long> executeBatch() raises (SQLException);
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/XPreparedStatement.idl b/offapi/com/sun/star/sdbc/XPreparedStatement.idl
new file mode 100644
index 000000000..485a68603
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XPreparedStatement.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_sdbc_XPreparedStatement_idl__
+#define __com_sun_star_sdbc_XPreparedStatement_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/sdbc/SQLException.idl>
+
+ module com { module sun { module star { module sdbc {
+
+ published interface XConnection;
+ published interface XResultSet;
+
+
+/** provides the possibility of executing a precompiled SQL statement.
+
+
+ <p>
+ A SQL statement is pre-compiled and stored in a PreparedStatement object.
+ This object can then be used to efficiently execute this statement multiple
+ times.
+ </p>
+ */
+published interface XPreparedStatement: com::sun::star::uno::XInterface
+{
+
+ /** executes the SQL query in this
+ <code>PreparedStatement</code>
+ object and returns the result set generated by the query.
+ @returns
+ the ResultSet object
+ @throws SQLException
+ if a database access error occurs.
+ */
+ XResultSet executeQuery() raises (SQLException);
+
+ /** executes the SQL INSERT, UPDATE or DELETE statement in this
+ com::sun::star::sdbc::PreparedStatement
+ object.
+ <br/>
+ In addition, SQL statements that return nothing, such as
+ SQL DDL statements, can be executed.
+ @returns
+ either the row count for INSERT, UPDATE or DELETE statements; or 0 for SQL statements that return nothing
+ @throws SQLException
+ if a database access error occurs.
+ */
+ long executeUpdate() raises (SQLException);
+
+ /** executes any kind of SQL statement.
+
+
+ <p>
+ Some prepared statements return multiple results; the execute
+ method handles these complex statements as well as the simpler
+ form of statements handled by executeQuery and executeUpdate.
+ </p>
+ @returns
+ `TRUE` if successful
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean execute() raises (SQLException);
+
+ /** returns the
+ com::sun::star::sdbc::Connection
+ object
+ that produced this
+ com::sun::star::sdbc::Statement
+ object.
+ @returns
+ the Connection object
+ @throws SQLException
+ if a database access error occurs.
+ */
+ XConnection getConnection() raises (SQLException);
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/XRef.idl b/offapi/com/sun/star/sdbc/XRef.idl
new file mode 100644
index 000000000..8f897429e
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XRef.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_sdbc_XRef_idl__
+#define __com_sun_star_sdbc_XRef_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/sdbc/SQLException.idl>
+
+ module com { module sun { module star { module sdbc {
+
+
+/** is the reference to a SQL structured type value in the database. A
+ Ref can be saved to persistent storage. A Ref is dereferenced by
+ passing it as a parameter to a SQL statement and executing the
+ statement.
+ */
+published interface XRef: com::sun::star::uno::XInterface
+{
+
+ /** gets the fully-qualified SQL structured type name of the referenced item.
+ @returns
+ the base type name
+ @throws SQLException
+ if a database access error occurs.
+ */
+ string getBaseTypeName() raises (SQLException);
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/XResultSet.idl b/offapi/com/sun/star/sdbc/XResultSet.idl
new file mode 100644
index 000000000..d49e33757
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XResultSet.idl
@@ -0,0 +1,310 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_sdbc_XResultSet_idl__
+#define __com_sun_star_sdbc_XResultSet_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/sdbc/SQLException.idl>
+
+ module com { module sun { module star { module sdbc {
+
+ published interface XStatement;
+
+
+/** provides the navigation on a table of data. A
+ com::sun::star::sdbc::ResultSet
+ object is usually generated by executing a
+ com::sun::star::sdbc::Statement.
+
+
+ <p>
+ A ResultSet maintains a cursor pointing to its current row of
+ data. Initially the cursor is positioned before the first row.
+ The "next" method moves the cursor to the next row.
+ </p>
+ */
+published interface XResultSet: com::sun::star::uno::XInterface
+{
+
+ /** moves the cursor down one row from its current position.
+
+
+ <p>
+ A ResultSet cursor is initially positioned before the first row; the
+ first call to next makes the first row the current row; the
+ second call makes the second row the current row, and so on.
+ </p>
+ <p>If an input stream is open for the current row, a call
+ to the method
+ <code>next</code>
+ will implicitly close it.
+ The ResultSet's warning chain is cleared when a new row is read.
+ </p>
+ @returns
+ `TRUE` if successful
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean next() raises (SQLException);
+
+ /** indicates whether the cursor is before the first row in the result
+ set.
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean isBeforeFirst() raises (SQLException);
+
+ /** indicates whether the cursor is after the last row in the result
+ set.
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean isAfterLast() raises (SQLException);
+
+ /** indicates whether the cursor is on the first row of the result set.
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean isFirst() raises (SQLException);
+
+ /** indicates whether the cursor is on the last row of the result set.
+
+
+ <p>
+ <B>
+ Note:
+ </B>
+ Calling the method
+ <code>isAtLast</code>
+ may be expensive because the SDBC driver might need to fetch ahead one row in order
+ to determine whether the current row is the last row in the result set.
+ </p>
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean isLast() raises (SQLException);
+
+ /** moves the cursor to the front of the result set, just before the
+ first row. Has no effect if the result set contains no rows.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void beforeFirst() raises (SQLException);
+
+ /** moves the cursor to the end of the result set, just after the last
+ row. Has no effect if the result set contains no rows.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void afterLast() raises (SQLException);
+
+ /** moves the cursor to the first row in the result set.
+ @returns
+ `TRUE` if successful
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean first() raises (SQLException);
+
+ /** moves the cursor to the last row in the result set.
+ @returns
+ `TRUE` if successful
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean last() raises (SQLException);
+
+ /** retrieves the current row number. The first row is number 1, the
+ second number 2, and so on.
+ @returns
+ the current position
+ @throws SQLException
+ if a database access error occurs.
+ */
+ long getRow() raises (SQLException);
+
+ /** moves the cursor to the given row number in the result set.
+
+
+ <p>
+ If the row number is positive, the cursor moves to
+ the given row number with respect to the
+ beginning of the result set. The first row is row 1, the second
+ is row 2, and so on.
+ </p>
+ <p>
+ If the given row number is negative, the cursor moves to
+ an absolute row position with respect to
+ the end of the result set. For example, calling
+ <code>absolute(-1)</code>
+ positions the
+ cursor on the last row,
+ <code>absolute(-2)</code>
+ indicates the next-to-last row, and so on.
+ </p>
+ <p>
+ An attempt to position the cursor beyond the first/last row in
+ the result set leaves the cursor before/after the first/last
+ row, respectively.
+ </p>
+ <p>
+ Note: Calling
+ <code>absolute(1)</code>
+ is the same as calling com::sun::star::sdbc::XResultSet::first().
+ Calling <code>moveToPosition(-1)</code> is the same as calling
+ <code>moveToLast()</code>.
+ </p>
+ */
+ boolean absolute([in] long row ) raises (SQLException);
+
+ /** moves the cursor a relative number of rows, either positive or negative.
+
+
+ <p>
+ Attempting to move beyond the first/last row in the result set
+ positions the cursor before/after
+ the first/last row. Calling
+ <code>relative(0)</code>
+ is valid, but does not change the cursor position.
+ </p>
+ <p>
+ Note: Calling
+ <code>relative(1)</code>
+ is different from calling
+ com::sun::star::sdbc::XResultSet::next()
+ because is makes sense to call
+ <code>next()</code>
+ when there is no current row, for example, when the cursor is positioned before
+ the first row or after the last row of the result set.
+ </p>
+ @param rows
+ how many rows should be moved relative to the current row
+ @returns
+ `TRUE` if successful
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean relative([in]long rows) raises (SQLException);
+
+ /** moves the cursor to the previous row in the result set.
+
+
+ <p>
+ Note:
+ <code>previous()</code>
+ is not the same as
+ <code>relative(-1)</code>
+ because it makes sense to call
+ <code>previous()</code>
+ when there is no current row.
+ </p>
+ @returns
+ `TRUE` if successful
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean previous() raises (SQLException);
+
+ /** refreshes the current row with its most recent value in
+ the database. Cannot be called when on the insert row.
+ The
+ <code>refreshRow</code>
+ method provides a way for an application to
+ explicitly tell the SDBC driver to refetch a row(s) from the
+ database. An application may want to call
+ <code>refreshRow</code>
+ when caching or prefetching is being done by the SDBC driver to
+ fetch the latest value of a row from the database. The SDBC driver
+ may actually refresh multiple rows at once if the fetch size is
+ greater than one.
+ All values are refetched subject to the transaction isolation
+ level and cursor sensitivity. If
+ <code>refreshRow</code>
+ is called after calling
+ <code>updateXXX</code>
+ , but before calling
+ com::sun::star::sdbc::XResultSet::updateRow()
+ , then the updates made to the row are lost.
+ Calling the method
+ <code>refreshRow</code>
+ frequently will likely slow performance.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void refreshRow() raises (SQLException);
+
+ /** indicates whether the current row has been updated. The value returned
+ depends on whether or not the result set can detect updates.
+ @returns
+ `TRUE` if successful
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean rowUpdated() raises (SQLException);
+
+ /** indicates whether the current row has had an insertion. The value returned
+ depends on whether or not the result set can detect visible inserts.
+ @returns
+ `TRUE` if successful
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean rowInserted() raises (SQLException);
+
+ /** indicates whether a row has been deleted. A deleted row may leave
+ a visible "hole" in a result set. This method can be used to
+ detect holes in a result set. The value returned depends on whether
+ or not the result set can detect deletions.
+ @returns
+ `TRUE` if successful
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean rowDeleted() raises (SQLException);
+
+ /** returns the Statement that produced this
+ com::sun::star::sdbc::ResultSet
+ object. If the result set was generated some other way, such as by an
+ com::sun::star::sdbc::XDatabaseMetaData
+ method, this method returns `NULL`.
+ @returns
+ the statement object
+ @throws SQLException
+ if a database access error occurs.
+ */
+ com::sun::star::uno::XInterface getStatement() raises (SQLException);
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/XResultSetMetaData.idl b/offapi/com/sun/star/sdbc/XResultSetMetaData.idl
new file mode 100644
index 000000000..77bf257d7
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XResultSetMetaData.idl
@@ -0,0 +1,255 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_sdbc_XResultSetMetaData_idl__
+#define __com_sun_star_sdbc_XResultSetMetaData_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/sdbc/SQLException.idl>
+
+ module com { module sun { module star { module sdbc {
+
+
+/** can be used to find out about the types and properties
+ of the columns in a ResultSet.
+ */
+published interface XResultSetMetaData: com::sun::star::uno::XInterface
+{
+
+ /** returns the number of columns in this ResultSet.
+ @returns
+ the column count
+ @throws SQLException
+ if a database access error occurs.
+ */
+ long getColumnCount() raises (SQLException);
+
+ /** indicates whether the column is automatically numbered, thus read-only.
+ @param column
+ the first column is 1, the second is 2,
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean isAutoIncrement([in]long column) raises (SQLException);
+
+ /** indicates whether a column's case matters.
+ @param column
+ the first column is 1, the second is 2,
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean isCaseSensitive([in]long column) raises (SQLException);
+
+ /** indicates whether the column can be used in a where clause.
+ @param column
+ the first column is 1, the second is 2,
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean isSearchable([in]long column) raises (SQLException);
+
+ /** indicates whether the column is a cash value.
+ @param column
+ the first column is 1, the second is 2,
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean isCurrency([in]long column) raises (SQLException);
+
+ /** indicates the nullability of values in the designated column.@see com::sun::star::sdbc::ColumnValue
+ @param column
+ the first column is 1, the second is 2,
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ long isNullable([in]long column) raises (SQLException);
+
+ /** indicates whether values in the column are signed numbers.
+ @param column
+ the first column is 1, the second is 2,
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean isSigned([in]long column) raises (SQLException);
+
+ /** indicates the column's normal max width in chars.
+ @param column
+ the first column is 1, the second is 2,
+ @returns
+ the normal maximum number of characters allowed as the width of the designated column
+ @throws SQLException
+ if a database access error occurs.
+ */
+ long getColumnDisplaySize([in]long column) raises (SQLException);
+
+ /** gets the suggested column title for use in printouts and
+ displays.
+ @param column
+ the first column is 1, the second is 2,
+ @returns
+ the suggested column title
+ @throws SQLException
+ if a database access error occurs.
+ */
+ string getColumnLabel([in]long column) raises (SQLException);
+
+ /** gets a column's name.
+ @param column
+ the first column is 1, the second is 2,
+ @returns
+ the column name
+ @throws SQLException
+ if a database access error occurs.
+ */
+ string getColumnName([in]long column) raises (SQLException);
+
+ /** gets a column's table's schema.
+ @param column
+ the first column is 1, the second is 2,
+ @returns
+ the schema name
+ @throws SQLException
+ if a database access error occurs.
+ */
+ string getSchemaName([in]long column) raises (SQLException);
+
+ /** gets a column's number of decimal digits.
+ @param column
+ the first column is 1, the second is 2,
+ @returns
+ precision
+ @throws SQLException
+ if a database access error occurs.
+ */
+ long getPrecision([in]long column) raises (SQLException);
+
+ /** gets a column's number of digits to right of the decimal point.
+ @param column
+ the first column is 1, the second is 2,
+ @returns
+ scale
+ @throws SQLException
+ if a database access error occurs.
+ */
+ long getScale([in]long column) raises (SQLException);
+
+ /** gets a column's table name.
+ @param column
+ the first column is 1, the second is 2,
+ @returns
+ the table name
+ @throws SQLException
+ if a database access error occurs.
+ */
+ string getTableName([in]long column) raises (SQLException);
+
+ /** gets a column's table's catalog name.
+ @param column
+ the first column is 1, the second is 2,
+ @returns
+ the catalog name
+ @throws SQLException
+ if a database access error occurs.
+ */
+ string getCatalogName([in]long column) raises (SQLException);
+
+ /** retrieves a column's SQL type.
+ @param column
+ the first column is 1, the second is 2,
+ @returns
+ the column type
+ @throws SQLException
+ if a database access error occurs.
+ */
+ long getColumnType([in]long column) raises (SQLException);
+
+ /** retrieves a column's database-specific type name.
+ @param column
+ the first column is 1, the second is 2,
+ @returns
+ the type name
+ @throws SQLException
+ if a database access error occurs.
+ */
+ string getColumnTypeName([in]long column) raises (SQLException);
+
+ /** indicates whether a column is definitely not writable.
+ @param column
+ the first column is 1, the second is 2,
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean isReadOnly([in]long column) raises (SQLException);
+
+ /** indicates whether it is possible for a write on the column to succeed.
+ @param column
+ the first column is 1, the second is 2,
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean isWritable([in]long column) raises (SQLException);
+
+ /** indicates whether a write on the column will definitely succeed.
+ @param column
+ the first column is 1, the second is 2,
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean isDefinitelyWritable([in]long column) raises (SQLException);
+
+ /** returns the fully-qualified name of the service whose instances
+ are manufactured if the method
+ com::sun::star::sdbc::XResultSet::.getObject()
+ is called to retrieve a value from the column.
+ @param column
+ the first column is 1, the second is 2,
+ @returns
+ the service name
+ @throws SQLException
+ if a database access error occurs.
+ */
+ string getColumnServiceName([in]long column) raises (SQLException);
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/XResultSetMetaDataSupplier.idl b/offapi/com/sun/star/sdbc/XResultSetMetaDataSupplier.idl
new file mode 100644
index 000000000..b120ca624
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XResultSetMetaDataSupplier.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_sdbc_XResultSetMetaDataSupplier_idl__
+#define __com_sun_star_sdbc_XResultSetMetaDataSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/sdbc/SQLException.idl>
+
+ module com { module sun { module star { module sdbc {
+
+ published interface XResultSetMetaData;
+
+
+/** provides access to the meta data of a result set.
+
+
+ <p>
+ The number, types, and properties of a ResultSet's columns are
+ provided by the
+ com::sun::star::sdbc::XResultSetMetaData
+ interface returned by the
+ com::sun::star::sdbc::XResultSetMetaDataSupplier::getMetaData()
+ method.
+ </p>
+ */
+published interface XResultSetMetaDataSupplier: com::sun::star::uno::XInterface
+{
+
+ /** retrieves the number, types, and properties of a ResultSet's columns.
+ @returns
+ the meta data of the ResultSet.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ XResultSetMetaData getMetaData() raises (SQLException);
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/XResultSetUpdate.idl b/offapi/com/sun/star/sdbc/XResultSetUpdate.idl
new file mode 100644
index 000000000..a6f2ac576
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XResultSetUpdate.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_sdbc_XResultSetUpdate_idl__
+#define __com_sun_star_sdbc_XResultSetUpdate_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/sdbc/SQLException.idl>
+
+ module com { module sun { module star { module sdbc {
+
+
+/** provides the possibility to write changes made on a result set back to
+ database.
+ */
+published interface XResultSetUpdate: com::sun::star::uno::XInterface
+{
+
+ /** inserts the contents of the insert row into the result set and
+ the database. Must be on the insert row when this method is called.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void insertRow() raises (SQLException);
+
+ /** updates the underlying database with the new contents of the
+ current row. Cannot be called when on the insert row.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void updateRow() raises (SQLException);
+
+ /** deletes the current row from the result set and the underlying
+ database. Cannot be called when on the insert row.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void deleteRow() raises (SQLException);
+
+ /** cancels the updates made to a row.
+
+
+ <p>
+ This method may be called after calling an
+ <code>updateXXX</code>
+ method(s) and before calling
+ com::sun::star::sdbc::XResultSetUpdate::updateRow()
+ to rollback the updates made to a row. If no updates have been made or
+ <code>updateRow</code>
+ has already been called, then this method has no
+ effect.
+ </p>
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void cancelRowUpdates() raises (SQLException);
+
+ /** moves the cursor to the insert row. The current cursor position is
+ remembered while the cursor is positioned on the insert row.
+
+
+ <p>
+ The insert row is a special row associated with an updatable
+ result set. It is essentially a buffer where a new row may
+ be constructed by calling the
+ <code>updateXXX</code>
+ methods prior to
+ inserting the row into the result set.
+ </p>
+ <p>
+ Only the
+ <code>updateXXX</code>
+ ,
+ <code>getXXX</code>
+ ,
+ and
+ com::sun::star::sdbc::XResultSetUpdate::insertRow()
+ methods may be
+ called when the cursor is on the insert row. All of the columns in
+ a result set must be given a value each time this method is
+ called before calling
+ <code>insertRow</code>
+ . The method
+ <code>updateXXX</code>
+ must be called before a
+ <code>getXXX</code>
+ method can be called on a column value.
+ </p>
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void moveToInsertRow() raises (SQLException);
+
+ /** moves the cursor to the remembered cursor position, usually the
+ current row. This method has no effect if the cursor is not on the insert
+ row.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void moveToCurrentRow() raises (SQLException);
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/XRow.idl b/offapi/com/sun/star/sdbc/XRow.idl
new file mode 100644
index 000000000..9a2912dc4
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XRow.idl
@@ -0,0 +1,312 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_sdbc_XRow_idl__
+#define __com_sun_star_sdbc_XRow_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/util/Date.idl>
+
+#include <com/sun/star/util/DateTime.idl>
+
+#include <com/sun/star/util/Time.idl>
+
+ module com { module sun { module star { module io {
+ published interface XInputStream;
+};};};};
+
+ module com { module sun { module star { module container {
+ published interface XNameAccess;
+};};};};
+
+#include <com/sun/star/sdbc/SQLException.idl>
+
+ module com { module sun { module star { module sdbc {
+
+ published interface XRef;
+ published interface XArray;
+ published interface XBlob;
+ published interface XClob;
+
+
+/** is used to access data which is collected in a row.
+ All methods raise a
+ com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+published interface XRow: com::sun::star::uno::XInterface
+{
+
+ /** reports whether the last column read had a value of SQL NULL.
+ Note that you must first call getXXX on a column to try to read
+ its value and then call wasNull() to see if the value read was
+ SQL NULL.
+
+ @returns
+ `TRUE` if last column read was SQL NULL and `FALSE` otherwise
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean wasNull() raises (SQLException);
+
+ /** gets the value of a column in the current row as a string.
+ @param columnIndex
+ the first column is 1, the second is 2,
+ @returns
+ the column value; if the value is SQL NULL, the result is null
+ @throws SQLException
+ if a database access error occurs.
+ */
+ string getString([in]long columnIndex) raises (SQLException);
+
+ /** gets the value of a column in the current row as boolean.
+ @param columnIndex
+ the first column is 1, the second is 2,
+ @returns
+ the column value; if the value is SQL NULL, the result is null
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean getBoolean([in]long columnIndex) raises (SQLException);
+
+ /** get the value of a column in the current row as a byte.
+ @param columnIndex
+ the first column is 1, the second is 2,
+ @returns
+ the column value; if the value is SQL NULL, the result is null
+ @throws SQLException
+ if a database access error occurs.
+ */
+ byte getByte([in]long columnIndex) raises (SQLException);
+
+ /** gets the value of a column in the current row as a short.
+ @param columnIndex
+ the first column is 1, the second is 2,
+ @returns
+ the column value; if the value is SQL NULL, the result is null
+ @throws SQLException
+ if a database access error occurs.
+ */
+ short getShort([in]long columnIndex) raises (SQLException);
+
+ /** get the value of a column in the current row as an integer.
+ @param columnIndex
+ the first column is 1, the second is 2,
+ @returns
+ the column value; if the value is SQL NULL, the result is null
+ @throws SQLException
+ if a database access error occurs.
+ */
+ long getInt([in]long columnIndex) raises (SQLException);
+
+ /** get the value of a column in the current row as a long.
+ @param columnIndex
+ the first column is 1, the second is 2,
+ @returns
+ the column value; if the value is SQL NULL, the result is null
+ @throws SQLException
+ if a database access error occurs.
+ */
+ hyper getLong([in]long columnIndex) raises (SQLException);
+
+ /** gets the value of a column in the current row as a float.
+ @param columnIndex
+ the first column is 1, the second is 2,
+ @returns
+ the column value; if the value is SQL NULL, the result is null
+ @throws SQLException
+ if a database access error occurs.
+ */
+ float getFloat([in]long columnIndex) raises (SQLException);
+
+ /** gets the value of a column in the current row as a double.
+ @param columnIndex
+ the first column is 1, the second is 2,
+ @returns
+ the column value; if the value is SQL NULL, the result is null
+ @throws SQLException
+ if a database access error occurs.
+ */
+ double getDouble([in]long columnIndex) raises (SQLException);
+
+ /** gets the value of a column in the current row as a byte array.
+ The bytes represent the raw values returned by the driver.
+ @param columnIndex
+ the first column is 1, the second is 2, ...
+ @returns
+ the column value; if the value is SQL NULL, the result is empty.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ sequence<byte> getBytes([in]long columnIndex) raises (SQLException);
+
+ /** gets the value of a column in the current row as a date object.
+ @param columnIndex
+ the first column is 1, the second is 2,
+ @returns
+ the column value; if the value is SQL NULL, the result is null
+ @throws SQLException
+ if a database access error occurs.
+ */
+ com::sun::star::util::Date getDate([in]long columnIndex)
+ raises (SQLException);
+
+ /** gets the value of a column in the current row as a time object.
+ @param columnIndex
+ the first column is 1, the second is 2,
+ @returns
+ the column value; if the value is SQL NULL, the result is null
+ @throws SQLException
+ if a database access error occurs.
+ */
+ com::sun::star::util::Time getTime([in]long columnIndex)
+ raises (SQLException);
+
+ /** gets the value of a column in the current row as a datetime object.
+ @param columnIndex
+ the first column is 1, the second is 2,
+ @returns
+ the column value; if the value is SQL NULL, the result is null
+ @throws SQLException
+ if a database access error occurs.
+ */
+ com::sun::star::util::DateTime getTimestamp([in]long columnIndex)
+ raises (SQLException);
+
+ /** gets the value of a column in the current row as a stream of
+ uninterpreted bytes. The value can then be read in chunks from the
+ stream. This method is particularly suitable for retrieving large
+ LONGVARBINARY values.
+
+
+ <p>
+ <b>Note:</b> All the data in the returned stream must be
+ read prior to getting the value of any other column. The next
+ call to a get method implicitly closes the stream. Also, a
+ stream may return 0 when the method
+ com::sun::star::io::XInputStream::available()
+ is called whether there is data
+ available or not.
+ </p>
+ @param columnIndex
+ the first column is 1, the second is 2,
+ @returns
+ the column value; if the value is SQL NULL, the result is null
+ @throws SQLException
+ if a database access error occurs.
+ */
+ com::sun::star::io::XInputStream getBinaryStream([in]long columnIndex)
+ raises (SQLException);
+
+ /** gets the value of a column in the current row as a stream of
+ uninterpreted bytes. The value can then be read in chunks from the
+ stream. This method is particularly suitable for retrieving large
+ LONGVARBINARY or LONGVARCHAR values.
+
+
+ <p>
+ <b>Note:</b> All the data in the returned stream must be
+ read prior to getting the value of any other column. The next
+ call to a get method implicitly closes the stream. Also, a
+ stream may return 0 when the method
+ com::sun::star::io::XInputStream::available()
+ is called whether there is data
+ available or not.
+ </p>
+ @param columnIndex
+ the first column is 1, the second is 2,
+ @returns
+ the column value; if the value is SQL NULL, the result is null
+ @throws SQLException
+ if a database access error occurs.
+ */
+ com::sun::star::io::XInputStream getCharacterStream([in]long columnIndex)
+ raises (SQLException);
+
+ /** returns the value of a column in the current row as an object.
+ This method uses the given
+ <code>Map</code>
+ object for the custom mapping of the SQL structure or distinct type
+ that is being retrieved.
+ @param columnIndex
+ the first column is 1, the second is 2,
+ @param typeMap
+ the map of types which should be used to get the column value
+ @returns
+ the column value; if the value is SQL NULL, the result is null
+ @throws SQLException
+ if a database access error occurs.
+ */
+ any getObject([in]long columnIndex,
+ [in]com::sun::star::container::XNameAccess typeMap)
+ raises (SQLException);
+
+ /** gets a REF(&amp;lt;structured-type&amp;gt;) column value from the current row.
+ @param columnIndex
+ the first column is 1, the second is 2,
+ @returns
+ the column value; if the value is SQL NULL, the result is null
+ @throws SQLException
+ if a database access error occurs.
+ */
+ XRef getRef([in]long columnIndex) raises (SQLException);
+
+ /** gets a BLOB value in the current row.
+ @param columnIndex
+ the first column is 1, the second is 2,
+ @returns
+ the column value; if the value is SQL NULL, the result is null
+ @throws SQLException
+ if a database access error occurs.
+ */
+ XBlob getBlob([in]long columnIndex) raises (SQLException);
+
+ /** gets a CLOB value in the current row of this
+ <code>ResultSet</code>
+ object.
+ @param columnIndex
+ the first column is 1, the second is 2,
+ @returns
+ the column value; if the value is SQL NULL, the result is null
+ @throws SQLException
+ if a database access error occurs.
+ */
+ XClob getClob([in]long columnIndex) raises (SQLException);
+
+ /** gets a SQL ARRAY value from the current row of this
+ <code>ResultSet</code>
+ object.
+ @param columnIndex
+ the first column is 1, the second is 2,
+ @returns
+ the column value; if the value is SQL NULL, the result is null
+ @throws SQLException
+ if a database access error occurs.
+ */
+ XArray getArray([in]long columnIndex) raises (SQLException);
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/XRowSet.idl b/offapi/com/sun/star/sdbc/XRowSet.idl
new file mode 100644
index 000000000..cb647e337
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XRowSet.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_sdbc_XRowSet_idl__
+#define __com_sun_star_sdbc_XRowSet_idl__
+
+#include <com/sun/star/sdbc/XResultSet.idl>
+
+ module com { module sun { module star { module sdbc {
+
+ published interface XRowSetListener;
+ published interface XConnection;
+
+
+/** enhances the functionality of a result set. It allows implementation of
+ a special behavior for a result set and notifies an application on
+ certain row set events such as a change in its value.
+
+
+
+ <p>
+ The XRowSet interface is unique in that it is intended to be
+ a software layer on top of an SDBC driver. Implementations of the
+ RowSet interface can be provided by anyone.
+ </p>
+ */
+published interface XRowSet: XResultSet
+{
+
+ /** populates a row set with data. The description of the data source and
+ other important information for filling the row set with data.
+
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void execute() raises (SQLException);
+
+ /** adds the specified listener to receive the events "cursorMoved",
+ "rowChanged", and "rowSetChanged".
+ @param listener
+ the listener which should be registered
+ */
+ void addRowSetListener([in]XRowSetListener listener );
+
+ /** removes the specified listener.
+ @param listener
+ the listener which should be registered
+ */
+ void removeRowSetListener([in]XRowSetListener listener );
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/XRowSetListener.idl b/offapi/com/sun/star/sdbc/XRowSetListener.idl
new file mode 100644
index 000000000..5eb7afe62
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XRowSetListener.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_sdbc_XRowSetListener_idl__
+#define __com_sun_star_sdbc_XRowSetListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+
+ module com { module sun { module star { module sdbc {
+
+
+/** is used for receiving "cursorMoved", "rowChanged", and "rowSetChanged" events
+ posted by, for example, a row set.
+ */
+published interface XRowSetListener: com::sun::star::lang::XEventListener
+{
+
+ /** is called when a row set's cursor is moved.
+ @param event
+ contains information about the event
+ */
+ void cursorMoved([in]com::sun::star::lang::EventObject event);
+
+ /** is called when a row is inserted, updated, or deleted.
+ @param event
+ contains information about the event
+ @deprecated
+ @see com::sun::star::sdb::XRowsChangeListener
+ */
+ void rowChanged([in]com::sun::star::lang::EventObject event);
+
+ /** is called when the row set has changed, or in other words, when the row set has
+ been reexecuted.
+ @param event
+ contains information about the event
+ */
+ void rowSetChanged([in]com::sun::star::lang::EventObject event);
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/XRowUpdate.idl b/offapi/com/sun/star/sdbc/XRowUpdate.idl
new file mode 100644
index 000000000..dcc90ed55
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XRowUpdate.idl
@@ -0,0 +1,236 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_sdbc_XRowUpdate_idl__
+#define __com_sun_star_sdbc_XRowUpdate_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/util/Date.idl>
+
+#include <com/sun/star/util/DateTime.idl>
+
+#include <com/sun/star/util/Time.idl>
+
+ module com { module sun { module star { module io {
+ published interface XInputStream;
+};};};};
+
+#include <com/sun/star/sdbc/SQLException.idl>
+
+ module com { module sun { module star { module sdbc {
+
+
+/** is used to update data which is collected in a row.
+ */
+published interface XRowUpdate: com::sun::star::uno::XInterface
+{
+
+ /** gives a nullable column a null value.
+ @param columnIndex
+ the position of the column
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void updateNull([in]long columnIndex) raises (SQLException);
+
+ /** updates a column with a boolean value.
+ @param columnIndex
+ the position of the column
+ @param x
+ the new column value
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void updateBoolean([in]long columnIndex, [in]boolean x) raises (SQLException);
+
+ /** updates a column with a byte value.
+ @param columnIndex
+ the position of the column
+ @param x
+ the new column value
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void updateByte([in]long columnIndex, [in]byte x) raises (SQLException);
+
+ /** updates a column with a short value.
+ @param columnIndex
+ the position of the column
+ @param x
+ the new column value
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void updateShort([in]long columnIndex, [in]short x) raises (SQLException);
+
+ /** updates a column with an long value.
+ @param columnIndex
+ the position of the column
+ @param x
+ the new column value
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void updateInt([in]long columnIndex, [in]long x) raises (SQLException);
+
+ /** updates a column with a hyper value.
+ @param columnIndex
+ the position of the column
+ @param x
+ the new column value
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void updateLong([in]long columnIndex, [in]hyper x) raises (SQLException);
+
+ /** updates a column with a float value.
+ @param columnIndex
+ the position of the column
+ @param x
+ the new column value
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void updateFloat([in]long columnIndex, [in]float x) raises (SQLException);
+
+ /** updates a column with a double value.
+ @param columnIndex
+ the position of the column
+ @param x
+ the new column value
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void updateDouble([in]long columnIndex, [in]double x) raises (SQLException);
+
+ /** updates a column with a string value.
+ @param columnIndex
+ the position of the column
+ @param x
+ the new column value
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void updateString([in]long columnIndex, [in]string x) raises (SQLException);
+
+ /** updates a column with a byte array value.
+ @param columnIndex
+ the position of the column
+ @param x
+ the new column value
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void updateBytes([in]long columnIndex, [in]sequence<byte> x) raises (SQLException);
+
+ /** updates a column with a date value.
+ @param columnIndex
+ the position of the column
+ @param x
+ the new column value
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void updateDate([in]long columnIndex, [in]com::sun::star::util::Date x)
+ raises (SQLException);
+
+ /** updates a column with a time value.
+ @param columnIndex
+ the position of the column
+ @param x
+ the new column value
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void updateTime([in]long columnIndex, [in]com::sun::star::util::Time x)
+ raises (SQLException);
+
+ /** updates a column with a timestamp value.
+ @param columnIndex
+ the position of the column
+ @param x
+ the new column value
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void updateTimestamp([in]long columnIndex,
+ [in]com::sun::star::util::DateTime x)
+ raises (SQLException);
+
+ /** updates a column with a stream value.
+ @param columnIndex
+ the position of the column
+ @param x
+ the new column value
+ @param length
+ how much data should be read out of the stream
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void updateBinaryStream([in]long columnIndex,
+ [in]com::sun::star::io::XInputStream x,
+ [in]long length) raises (SQLException);
+
+ /** updates a column with a stream value.
+ @param columnIndex
+ the position of the column
+ @param x
+ the new column value
+ @param length
+ how much data should be read out of the stream
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void updateCharacterStream([in]long columnIndex,
+ [in]com::sun::star::io::XInputStream x,
+ [in]long length) raises (SQLException);
+
+ /** updates a column with an object value.
+ @param columnIndex
+ the position of the column
+ @param x
+ the new column value
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void updateObject([in]long columnIndex, [in]any x)
+ raises (SQLException);
+
+ /** updates a column with an object value.
+ @param columnIndex
+ the position of the column
+ @param x
+ the new column value
+ @param scale
+ defines the scale which should be used to write the numeric value
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void updateNumericObject([in]long columnIndex, [in]any x, [in]long scale)
+ raises (SQLException);
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/XSQLData.idl b/offapi/com/sun/star/sdbc/XSQLData.idl
new file mode 100644
index 000000000..b187437d3
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XSQLData.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_sdbc_XSQLData_idl__
+#define __com_sun_star_sdbc_XSQLData_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/sdbc/SQLException.idl>
+
+ module com { module sun { module star { module sdbc {
+
+ published interface XSQLInput;
+ published interface XSQLOutput;
+
+
+/** is used for the custom mapping of SQL user-defined types.
+
+
+ <p>
+ This interface must be implemented by a service that is
+ registered in a type mapping. It is expected that this interface
+ will normally be implemented by a tool. The methods in this interface
+ are called by the driver and are never called by a programmer
+ directly.
+ </p>
+ */
+published interface XSQLData: com::sun::star::uno::XInterface
+{
+
+ /** returns the fully-qualified name of the SQL user-defined type
+ that this object represents.
+
+
+ <p>
+ This method is called by the SDBC driver to get the name of the
+ UDT instance that is being mapped to this instance of SQLData.
+ </p>
+ @returns
+ the name of the SQL type.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ string getSQLTypeName() raises (SQLException);
+
+
+ /** populates this object with data read from the database.
+
+
+ <p>
+ The implementation of the method must follow this protocol:
+ <br/>
+ It must read each of the attributes or elements of the SQL
+ type from the given input stream. This is done
+ by calling a method of the input stream to read each
+ item, in the order that they appear in the SQL definition
+ of the type. The method
+ <code>readSQL</code>
+ then assigns the data to appropriate fields or elements (of this
+ or other objects).
+ <br/>
+ Specifically, it must call the appropriate
+ <code>XSQLInput.readXXX</code>
+ method(s) to do the following:
+ for a Distinct Type, read its single data element;
+ for a Structured Type, read a value for each attribute of the SQL type.
+ </p>
+ <p>
+ The SDBC driver initializes the input stream with a type map
+ before calling this method, which is used by the appropriate
+ <code>SQLInput.readXXX</code>
+ method on the stream.
+ </p>
+
+ @param stream
+ the input SQL data stream
+ @param typeName
+ the SQL type of the value on the data stream
+ @throws SQLException
+ if a database access error occurs.
+
+ @see com::sun::star::sdbc::XSQLInput
+ */
+ void readSQL([in]XSQLInput stream, [in]string typeName)
+ raises (SQLException);
+
+ /** writes this object to the given SQL data stream.
+
+
+ <p>
+ The implementation of the method must follow this protocol:
+ <br/>
+ It must write each of the attributes of the SQL type to the given output
+ stream. This is done by calling a method of the output stream to write
+ each item, in the order that they appear in the SQL definition of the type.
+ Specifically, it must call the appropriate
+ <code>XSQLOutput.writeXXX</code>
+ method(s) to do the following:<br>
+ for a Distinct Type, write its single data element;
+ for a Structured Type, write a value for each attribute of the SQL type.
+ </p>
+ @param stream
+ the output SQL data stream
+ @throws SQLException
+ if a database access error occurs.
+ @see com::sun::star::sdbc::XSQLOutput
+ */
+ void writeSQL([in]XSQLOutput stream) raises (SQLException);
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/XSQLInput.idl b/offapi/com/sun/star/sdbc/XSQLInput.idl
new file mode 100644
index 000000000..9b3171382
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XSQLInput.idl
@@ -0,0 +1,264 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_sdbc_XSQLInput_idl__
+#define __com_sun_star_sdbc_XSQLInput_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/util/Date.idl>
+
+#include <com/sun/star/util/DateTime.idl>
+
+#include <com/sun/star/util/Time.idl>
+
+ module com { module sun { module star { module io {
+ published interface XInputStream;
+};};};};
+
+#include <com/sun/star/sdbc/SQLException.idl>
+
+ module com { module sun { module star { module sdbc {
+
+ published interface XRef;
+ published interface XArray;
+ published interface XBlob;
+ published interface XClob;
+
+
+/** represents an input stream that contains a stream of values representing an
+ instance of a SQL structured or distinct type.
+
+
+ <p>
+ This interface, used only for custom mapping, is used by the driver
+ behind the scenes, and a programmer never directly invokes
+ <code>SQLInput</code>
+ methods.
+ </p>
+ <p>
+ When the method
+ <code>getObject</code>
+ is called with an object of a service implementing the interface
+ <code>SQLData</code>
+ , the SDBC driver calls the method
+ com::sun::star::sdbc::XSQLData::getSQLType()
+ to determine the SQL type of the user-defined type (UDT) being custom mapped.
+ The driver creates an instance of
+ com::sun::star::sdbc::XSQLInput
+ ,
+ populating it with the attributes of the UDT. The driver then passes the input
+ stream to the method
+ com::sun::star::sdbc::XSQLData::readSQL()
+ , which in turn calls the
+ <code>XSQLInput.readXXX</code>
+ methods in its implementation for reading the attributes from the input stream.
+ </p>
+ */
+published interface XSQLInput: com::sun::star::uno::XInterface
+{
+
+ /** reads the next attribute in the stream as string.
+ @returns
+ the attribute; if the value is SQL NULL, return null.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ string readString() raises (SQLException);
+
+ /** reads the next attribute in the stream as boolean.
+ @returns
+ the attribute; if the value is SQL NULL, return null.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean readBoolean() raises (SQLException);
+
+ /** reads the next attribute in the stream as byte.
+ @returns
+ the attribute; if the value is SQL NULL, return null.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ byte readByte() raises (SQLException);
+
+ /** reads the next attribute in the stream as short.
+ @returns
+ the attribute; if the value is SQL NULL, return null.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ short readShort() raises (SQLException);
+
+ /** reads the next attribute in the stream as long.
+ @returns
+ the attribute; if the value is SQL NULL, return null.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ long readInt() raises (SQLException);
+
+ /** reads the next attribute in the stream as hyper.
+ @returns
+ the attribute; if the value is SQL NULL, return null.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ hyper readLong() raises (SQLException);
+
+ /** reads the next attribute in the stream as float.
+ @returns
+ the attribute; if the value is SQL NULL, return null.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ float readFloat() raises (SQLException);
+
+ /** reads the next attribute in the stream as double.
+ @returns
+ the attribute; if the value is SQL NULL, return null.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ double readDouble() raises (SQLException);
+
+ /** reads the next attribute in the stream as sequence of bytes.
+ @returns
+ the attribute; if the value is SQL NULL, return null.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ sequence<byte> readBytes() raises (SQLException);
+
+ /** reads the next attribute in the stream as date.
+ @returns
+ the attribute; if the value is SQL NULL, return null.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ com::sun::star::util::Date readDate() raises (SQLException);
+
+ /** reads the next attribute in the stream as time.
+ @returns
+ the attribute; if the value is SQL NULL, return null.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ com::sun::star::util::Time readTime() raises (SQLException);
+
+ /** reads the next attribute in the stream as datetime.
+ @returns
+ the attribute; if the value is SQL NULL, return null.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ com::sun::star::util::DateTime readTimestamp() raises (SQLException);
+
+ /** reads the next attribute in the stream as sequence of bytes.
+ @returns
+ the attribute; if the value is SQL NULL, return null.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ com::sun::star::io::XInputStream readBinaryStream() raises (SQLException);
+
+ /** reads the next attribute in the stream as a Unicode string.
+ @returns
+ the attribute; if the value is SQL NULL, return null.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ com::sun::star::io::XInputStream readCharacterStream() raises (SQLException);
+
+ /** returns the datum at the head of the stream as an any.
+
+
+ <p>
+ The actual type of the any returned is determined by the default
+ type mapping, and any customizations present in this stream's type map.
+
+ <br/>
+ A type map is registered with the stream by the SDBC driver before the
+ stream is passed to the application.
+
+ <br/>
+ When the datum at the head of the stream is a SQL NULL,
+ the method returns `VOID`. If the datum is a SQL structured or distinct
+ type, it determines the SQL type of the datum at the head of the stream,
+ constructs an object of the appropriate service, and calls the method
+ com::sun::star::sdbc::XSQLData::readSQL()
+ on that object, which reads additional data
+ from the stream using the protocol described for that method.
+
+ </p>
+ @returns
+ the attribute; if the value is SQL NULL, return null.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ any readObject() raises (SQLException);
+
+ /** reads a REF(&amp;lt;structured-type&amp;gt;) from the stream.
+ @returns
+ the attribute; if the value is SQL NULL, return null.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ XRef readRef() raises (SQLException);
+
+ /** reads a BLOB from the stream.
+ @returns
+ the attribute; if the value is SQL NULL, return null.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ XBlob readBlob() raises (SQLException);
+
+ /** reads a CLOB from the stream.
+ @returns
+ the attribute; if the value is SQL NULL, return null.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ XClob readClob() raises (SQLException);
+
+ /** reads an array from the stream.
+ @returns
+ the attribute; if the value is SQL NULL, return null.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ XArray readArray() raises (SQLException);
+
+ /** determines whether the last value read was null.
+ @returns
+ `TRUE` if the most recently gotten SQL value was null; otherwise, `FALSE`
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean wasNull() raises (SQLException);
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/XSQLOutput.idl b/offapi/com/sun/star/sdbc/XSQLOutput.idl
new file mode 100644
index 000000000..c454ecaee
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XSQLOutput.idl
@@ -0,0 +1,274 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_sdbc_XSQLOutput_idl__
+#define __com_sun_star_sdbc_XSQLOutput_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/util/Date.idl>
+
+#include <com/sun/star/util/DateTime.idl>
+
+#include <com/sun/star/util/Time.idl>
+
+ module com { module sun { module star { module io {
+ published interface XInputStream;
+};};};};
+
+#include <com/sun/star/sdbc/SQLException.idl>
+
+ module com { module sun { module star { module sdbc {
+
+ published interface XRef;
+ published interface XArray;
+ published interface XBlob;
+ published interface XClob;
+ published interface XStruct;
+ published interface XSQLData;
+
+
+/** is used as an output stream for writing the attributes of a user-defined
+ type back to the database. This interface, used only for custom mapping,
+ is used by the driver, and its methods are never directly invoked
+ by a programmer.
+
+
+ <p>
+ When an object of a class implementing interface
+ com::sun::star::sdbc::XSQLData
+ is passed as an argument to a SQL statement, the JDBC driver calls
+ com::sun::star::sdbc::SQLData::getSQLType()
+ to determine the kind of SQL datum being passed to the database.
+ <br/>
+ The driver then creates an instance of
+ <code>XSQLOutput</code>
+ and passes it to the method
+ com::sun::star::sdbc::XSQLData::writeSQL()
+ . The method
+ <code>writeSQL</code>
+ in turn calls the appropriate
+ <code>XSQLOutput.writeXXX</code>
+ methods to write data from the
+ com::sun::star::sdbc::XSQLData
+ object to the
+ <code>XSQLOutput</code>
+ output stream as the representation of a SQL user-defined type.</p>
+ */
+published interface XSQLOutput: com::sun::star::uno::XInterface
+{
+
+ /** writes the next attribute to the stream as a string.
+ @param x
+ the value to pass to the database.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void writeString([in]string x) raises (SQLException);
+
+ /** writes the next attribute to the stream as boolean.
+ @param x
+ the value to pass to the database.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void writeBoolean([in]boolean x) raises (SQLException);
+
+ /** writes the next attribute to the stream as byte.
+ @param x
+ the value to pass to the database.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void writeByte([in]byte x) raises (SQLException);
+
+ /** writes the next attribute to the stream as short.
+ @param x
+ the value to pass to the database.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void writeShort([in]short x) raises (SQLException);
+
+ /** writes the next attribute to the stream as long.
+ @param x
+ the value to pass to the database.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void writeInt([in]long x) raises (SQLException);
+
+ /** writes the next attribute to the stream as hyper.
+ @param x
+ the value to pass to the database.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void writeLong([in]hyper x) raises (SQLException);
+
+ /** writes the next attribute to the stream as float.
+ @param x
+ the value to pass to the database.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void writeFloat([in]float x) raises (SQLException);
+
+ /** writes the next attribute to the stream as double.
+ @param x
+ the value to pass to the database.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void writeDouble([in]double x) raises (SQLException);
+
+ /** writes the next attribute to the stream as byte sequence.
+ @param x
+ the value to pass to the database.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void writeBytes([in]sequence<byte> x) raises (SQLException);
+
+ /** writes the next attribute to the stream as a date.
+ @param x
+ the value to pass to the database.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void writeDate([in]com::sun::star::util::Date x) raises (SQLException);
+
+ /** writes the next attribute to the stream as a time.
+ @param x
+ the value to pass to the database.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void writeTime([in]com::sun::star::util::Time x) raises (SQLException);
+
+ /** writes the next attribute to the stream as a datetime.
+ @param x
+ the value to pass to the database.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void writeTimestamp([in]com::sun::star::util::DateTime x)
+ raises (SQLException);
+
+ /** writes the next attribute to the stream as a stream of uninterpreted
+ bytes.
+ @param x
+ the value to pass to the database.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void writeBinaryStream([in]com::sun::star::io::XInputStream x)
+ raises (SQLException);
+
+ /** writes the next attribute to the stream as a stream of Unicode string.
+ @param x
+ the value to pass to the database.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void writeCharacterStream([in]com::sun::star::io::XInputStream x)
+ raises (SQLException);
+
+ /** writes to the stream the data contained in the given
+ <code>XSQLData</code> object.
+
+
+ <p
+ >When the
+ <code>XSQLData</code>
+ object is
+ `NULL`
+ , this method writes an SQL NULL to the stream.
+ Otherwise, it calls the
+ com::sun::star::sdbc::XSQLData::writeSQL()
+ method of the given object, which
+ writes the object's attributes to the stream.
+ The implementation of the method
+ <code>XSQLData::writeSQL()</code>
+ calls the appropriate
+ <code>XSQLOutput.writeXXX</code>
+ method(s) for writing each of the object's attributes in order.
+ <br/>
+ The attributes must be read from an
+ com::sun::star::sdbc::XSQLInput
+ input stream and written to an
+ <code>XSQLOutput</code>
+ output stream in the same order in which they were
+ listed in the SQL definition of the user-defined type.
+ </p>
+ @param x
+ the value to pass to the database.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void writeObject([in]XSQLData x) raises (SQLException);
+
+ /** writes a REF(&amp;lt;structured-type&amp;gt;) to the stream.
+ @param x
+ the value to pass to the database.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void writeRef([in]XRef x) raises (SQLException);
+
+ /** writes a BLOB to the stream.
+ @param x
+ the value to pass to the database.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void writeBlob([in]XBlob x) raises (SQLException);
+
+ /** writes a CLOB to the stream.
+ @param x
+ the value to pass to the database.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void writeClob([in]XClob x) raises (SQLException);
+
+ /** writes a structured-type to the stream.
+ @param x
+ the value to pass to the database.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void writeStruct([in]XStruct x) raises (SQLException);
+
+ /** writes an array to the stream.
+ @param x
+ the value to pass to the database.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void writeArray([in]XArray x) raises (SQLException);
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/XStatement.idl b/offapi/com/sun/star/sdbc/XStatement.idl
new file mode 100644
index 000000000..4d0ac4bad
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XStatement.idl
@@ -0,0 +1,128 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_sdbc_XStatement_idl__
+#define __com_sun_star_sdbc_XStatement_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/sdbc/SQLException.idl>
+
+ module com { module sun { module star { module sdbc {
+
+ published interface XConnection;
+ published interface XResultSet;
+
+
+/** is used for executing a static SQL statement and obtaining the results
+ produced by it.
+
+
+
+ <p>
+ Only one ResultSet per Statement can be open at any point in
+ time; therefore, if the reading of one ResultSet is interleaved
+ with the reading of another, each must have been generated by
+ different Statements. All statement
+ <code>execute</code>
+ methods implicitly
+ close a statement's current ResultSet if an open one exists.
+ </p>
+ */
+published interface XStatement: com::sun::star::uno::XInterface
+{
+
+ /** executes a SQL statement that returns a single ResultSet.
+ @param sql
+ the SQL statement which should be executed
+ @returns
+ a ResultSet that contains the data produced by the query; never `NULL`
+ @throws SQLException
+ if a database access error occurs.
+ */
+ XResultSet executeQuery([in]string sql) raises (SQLException);
+
+ /** executes an SQL INSERT, UPDATE, or DELETE statement. In addition,
+ SQL statements that return nothing, such as SQL DDL statements,
+ can be executed.
+
+ @param sql
+ a SQL INSERT, UPDATE or DELETE statement or a SQL statement that returns nothing
+ @returns
+ either the row count for INSERT, UPDATE or DELETE or 0 for SQL statements that return nothing
+ @throws SQLException
+ if a database access error occurs.
+ */
+ long executeUpdate([in]string sql) raises (SQLException);
+
+ /** executes a SQL statement that may return multiple results.
+
+
+ <p>
+ Under some (uncommon) situations a single SQL statement may return
+ multiple result sets and/or update counts. Normally you can ignore
+ this unless you are (1) executing a stored procedure that you know may
+ return multiple results or (2) you are dynamically executing an
+ unknown SQL string. The navigation through multiple results is covered by
+ com::sun::star::sdbc::XMultipleResults.
+ </p>
+ <p>
+ The
+ <code>execute</code>
+ method executes a SQL statement and indicates
+ the form of the first result. You can then use
+ com::sun::star::sdbc::XMultipleResults::getResultSet()
+ or
+ com::sun::star::sdbc::XMultipleResults::getUpdateCount()
+ to retrieve the result, and
+ com::sun::star::sdbc::XMultipleResults::getMoreResults()
+ to move to any subsequent result(s).
+ </p>
+
+ @param sql
+ any SQL statement
+ @returns
+ `TRUE` if the next result is a ResultSet; `FALSE` if it is an update count or there are no more results
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean execute([in]string sql) raises (SQLException);
+
+ /** returns the
+ com::sun::star::sdbc::Connection
+ object
+ that produced this
+ <code>Statement</code>
+ object.
+ @returns
+ the connection that produced this statement
+
+ @throws SQLException
+ if a database access error occurs.
+ */
+ XConnection getConnection() raises (SQLException);
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/XStruct.idl b/offapi/com/sun/star/sdbc/XStruct.idl
new file mode 100644
index 000000000..7b512d5ea
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XStruct.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_sdbc_XStruct_idl__
+#define __com_sun_star_sdbc_XStruct_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+ module com { module sun { module star { module container {
+ published interface XNameAccess;
+};};};};
+
+#include <com/sun/star/sdbc/SQLException.idl>
+
+ module com { module sun { module star { module sdbc {
+
+
+/** is used for the standard mapping for a SQL structured type.
+
+
+ <p>
+ A
+ <code>Struct</code>
+ object contains a value for each attribute
+ of the SQL structured type that it represents.
+ By default, an instance of
+ <code>Struct</code>
+ is valid as long as the
+ application has a reference to it.
+ </p>
+ */
+published interface XStruct: com::sun::star::uno::XInterface
+{
+
+ /** retrieves the SQL type name of the SQL structured type
+ that this
+ <code>Struct</code>
+ object represents.
+ @returns
+ the name of the SQL type.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ string getSQLTypeName() raises (SQLException);
+
+
+ /** produces the ordered values of the attributes of the SQL
+ structured type that this
+ <code>Struct</code>
+ object represents.
+ <p>
+ This method uses the given type map for customizations of the type
+ mappings. If there is no entry in the given type map that matches or
+ the given type map is
+ `NULL`
+ , the structured type that this
+ <code>Struct</code>
+ object represents, the driver uses
+ the connection type mapping.
+ @param typeMap
+ is a map object that contains mappings of SQL type names to
+ services. If the
+ <code>typeMap</code>is
+ `NULL`
+ , the type-map
+ associated with the connection for customizations of the type-mappings
+ is used.
+ @returns
+ an array containing the ordered attribute values.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ sequence<any> getAttributes([in]com::sun::star::container::XNameAccess typeMap)
+ raises (SQLException);
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbc/XWarningsSupplier.idl b/offapi/com/sun/star/sdbc/XWarningsSupplier.idl
new file mode 100644
index 000000000..9f06ff650
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XWarningsSupplier.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_sdbc_XWarningsSupplier_idl__
+#define __com_sun_star_sdbc_XWarningsSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/sdbc/SQLWarning.idl>
+
+ module com { module sun { module star { module sdbc {
+
+
+/** should be implemented of objects which may report warnings or non critical
+ errors.
+ @see com::sun::star::sdbc::SQLWarning
+ */
+published interface XWarningsSupplier: com::sun::star::uno::XInterface
+{
+
+ /** returns the first warning reported by calls on an object that supports
+ the usage of warnings.
+
+ <p>
+ <b>Note:</b> Subsequent warnings will be chained to this
+ com::sun::star::sdbc::SQLWarning.
+ </p>
+ @returns
+ the warnings
+ @throws SQLException
+ if a database access error occurs.
+ */
+ any getWarnings() raises (SQLException);
+
+
+ /** clears all warnings reported for the object implementing the interface.
+ After a call to this method, the method
+ com::sun::star::sdbc::XWarningsSupplier::getWarnings()
+ returns
+ `VOID`
+ until a new warning is reported for the object.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void clearWarnings() raises (SQLException);
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbcx/CheckOption.idl b/offapi/com/sun/star/sdbcx/CheckOption.idl
new file mode 100644
index 000000000..d18036764
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/CheckOption.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_sdbcx_CheckOption_idl__
+#define __com_sun_star_sdbcx_CheckOption_idl__
+
+ module com { module sun { module star { module sdbcx {
+
+
+/** determines the check option for a view.
+ */
+published constants CheckOption
+{
+
+ /** indicates that no value checking is applied during updates of
+ view data.
+ */
+ const long NONE = 0;
+
+ /** indicates that the value checking is applied for the view and all base
+ views.
+ */
+ const long CASCADE = 2;
+
+ /** indicates that the value checking is applied only for the view.
+ */
+ const long LOCAL = 3;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbcx/Column.idl b/offapi/com/sun/star/sdbcx/Column.idl
new file mode 100644
index 000000000..254ac016a
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/Column.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_sdbcx_Column_idl__
+#define __com_sun_star_sdbcx_Column_idl__
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+ module com { module sun { module star { module sdbcx {
+
+ published interface XDataDescriptorFactory;
+
+
+/** describes the common properties of a database column.
+ */
+published service Column
+{
+
+ /** optional, could be used to copy a database column.
+ */
+ [optional] interface XDataDescriptorFactory;
+
+ // gives access to the properties.
+ interface com::sun::star::beans::XPropertySet;
+
+
+ /** is the name of the column.
+ */
+ [readonly, property] string Name;
+
+
+ /** is the
+ com::sun::star::sdbc::DataType
+ of the column.
+ */
+ [readonly, property] long Type;
+
+
+ /** is the type name used by the database. If the column type is
+ a user-defined type, then a fully-qualified type name is returned.
+ <b>
+ Note:
+ </b>
+ May be empty.
+ */
+ [readonly, property] string TypeName;
+
+
+ /** gets a column's number of decimal digits.
+ */
+ [readonly, property] long Precision;
+
+
+ /** gets a column's number of digits to right of the decimal point.
+ */
+ [readonly, property] long Scale;
+
+
+ /** indicates the nullability of values in the designated column.
+ @see com::sun::star::sdbc::ColumnValue
+ */
+ [readonly, property] long IsNullable;
+
+
+ /** indicates whether the column is automatically numbered, thus read-only.
+ @see com::sun::star::sdbc::ColumnValue
+ */
+ [readonly, property] boolean IsAutoIncrement;
+
+
+ /** indicates whether the column is a cash value.
+ */
+ [readonly, property] boolean IsCurrency;
+
+
+
+ /** indicates that the column contains some kind of time or date stamp
+ used to track updates.
+ */
+ [optional, readonly, property] boolean IsRowVersion;
+
+
+ /** keeps a description of the object.
+ */
+ [optional, readonly, property] string Description;
+
+
+ /** keeps a default value for a column, is provided as string.
+ */
+ [optional, readonly, property] string DefaultValue;
+
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbcx/ColumnDescriptor.idl b/offapi/com/sun/star/sdbcx/ColumnDescriptor.idl
new file mode 100644
index 000000000..3d3dafc8e
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/ColumnDescriptor.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_sdbcx_ColumnDescriptor_idl__
+#define __com_sun_star_sdbcx_ColumnDescriptor_idl__
+
+#include <com/sun/star/sdbcx/Descriptor.idl>
+
+ module com { module sun { module star { module sdbcx {
+
+
+/** describes the common properties of a database column. Could be used for the creation
+ of a database columns within a table.
+ @see com::sun::star::sdbcx::Column
+ @see com::sun::star::sdbcx::Table
+ */
+published service ColumnDescriptor
+{
+ service com::sun::star::sdbcx::Descriptor;
+
+
+ /** is the
+ com::sun::star::sdbc::DataType
+ of the column.
+ */
+ [property] long Type;
+
+
+ /** is the type name used by the database. If the column type is
+ a user-defined type, then a fully-qualified type name is returned.
+ May be empty.
+ */
+ [property] string TypeName;
+
+
+ /** gets a column's number of decimal digits.
+ */
+ [property] long Precision;
+
+
+ /** gets a column's number of digits to right of the decimal point.
+ */
+ [property] long Scale;
+
+
+ /** indicates the nullability of values in the designated column.
+ @see com::sun::star::sdbc::ColumnValue
+ */
+ [property] long IsNullable;
+
+
+ /** indicates whether the column is automatically numbered, thus read-only.
+ @see com::sun::star::sdbc::ColumnValue
+ */
+ [property] boolean IsAutoIncrement;
+
+
+ /** indicates that the column contains some kind of time or date stamp
+ used to track updates.
+ */
+ [optional, property] boolean IsRowVersion;
+
+
+ /** keeps a description of the object.
+ */
+ [optional, property] string Description;
+
+
+ /** keeps a default value for a column, is provided as string.
+ */
+ [optional, property] string DefaultValue;
+
+ /** specifies how to create an auto-increment column.
+ */
+ [optional, property] string AutoIncrementCreation;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbcx/CompareBookmark.idl b/offapi/com/sun/star/sdbcx/CompareBookmark.idl
new file mode 100644
index 000000000..04a080eb3
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/CompareBookmark.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_sdbcx_CompareBookmark_idl__
+#define __com_sun_star_sdbcx_CompareBookmark_idl__
+
+ module com { module sun { module star { module sdbcx {
+
+
+/** describes the result of a comparison of two bookmarks.
+ */
+published constants CompareBookmark
+{
+
+ /** the first bookmark is before the second.
+ */
+ const long LESS = -1;
+
+
+ /** the first bookmark is equal to the second.
+ */
+ const long EQUAL = 0;
+
+
+ /** the first bookmark is after the second one.
+ */
+ const long GREATER = 1;
+
+
+ /** the first bookmark is not the same as the second one.
+ */
+ const long NOT_EQUAL = 2;
+
+
+ /** the two bookmarks are not comparable.
+ */
+ const long NOT_COMPARABLE = 3;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbcx/Container.idl b/offapi/com/sun/star/sdbcx/Container.idl
new file mode 100644
index 000000000..bd4ef5ff7
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/Container.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_sdbcx_Container_idl__
+#define __com_sun_star_sdbcx_Container_idl__
+
+ module com { module sun { module star { module container {
+ published interface XNameAccess;
+ published interface XIndexAccess;
+ published interface XEnumerationAccess;
+};};};};
+
+ module com { module sun { module star { module util {
+ published interface XRefreshable;
+};};};};
+
+ module com { module sun { module star { module sdbcx {
+
+ published interface XDataDescriptorFactory;
+ published interface XAppend;
+ published interface XDrop;
+
+
+/** describes every container which is used for data definition. Each
+ container must support access to its elements by the element's name or
+ by the element's position.
+
+ <p>
+ Simple enumeration must be supported as well.
+ </p>
+ <p>
+ To reflect the changes with the underlying database, a refresh mechanism
+ needs to be supported.
+ </p>
+ <p>
+ A container may support the possibility to add new elements or to drop
+ existing elements. Additions are always done by descriptors which define the
+ properties of the new element.
+ </p>
+ */
+published service Container
+{
+ // gives access to the elements by name.
+ interface com::sun::star::container::XNameAccess;
+
+ // gives access to the elements by index.
+ interface com::sun::star::container::XIndexAccess;
+
+ // used to create an enumeration of the elements.
+ interface com::sun::star::container::XEnumerationAccess;
+
+
+ /** is optional for implementation. Used to reflect changes.
+ */
+ [optional] interface com::sun::star::util::XRefreshable;
+
+ /** optional for implementation. Allows to create descriptor elements which then could be used to append new elements.
+ */
+ [optional] interface XDataDescriptorFactory;
+
+ /** optional for implementation, provides the possibility of adding
+ a new element to the container.
+ */
+ [optional] interface XAppend;
+
+ /** optional for implementation, provides the possibility of dropping
+ an element from the container.
+ */
+ [optional] interface XDrop;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbcx/DatabaseDefinition.idl b/offapi/com/sun/star/sdbcx/DatabaseDefinition.idl
new file mode 100644
index 000000000..8cc697386
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/DatabaseDefinition.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_sdbcx_DatabaseDefinition_idl__
+#define __com_sun_star_sdbcx_DatabaseDefinition_idl__
+
+ module com { module sun { module star { module sdbcx {
+
+ published interface XTablesSupplier;
+ published interface XViewsSupplier;
+ published interface XUsersSupplier;
+ published interface XGroupsSupplier;
+
+
+/** could be used as an extension for performing data definition tasks on
+ databases, and to control the access rights on database objects.
+
+
+ <p>
+ It may be implemented by a database driver provider, to encapsulate the
+ complexity of data definition, and to give a common way for data definition as
+ the DDL of most DBMS differs.
+ </p>
+ <p>
+ At least, the access to the tables of a database should be implemented.
+ The implementation of other known database objects like views is optional.
+ </p>
+ <p>
+ To control the access rights of users, there is the possibility to
+ implement objects like users and groups.
+ </p>
+ */
+published service DatabaseDefinition
+{
+ // gives access to the tables.
+ interface XTablesSupplier;
+
+ /** The implementation is optional.
+ */
+ [optional] interface XViewsSupplier;
+
+ /** The implementation is optional.
+ */
+ [optional] interface XUsersSupplier;
+
+ /** The implementation is optional.
+ */
+ [optional] interface XGroupsSupplier;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbcx/Descriptor.idl b/offapi/com/sun/star/sdbcx/Descriptor.idl
new file mode 100644
index 000000000..056fa0bd1
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/Descriptor.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_sdbcx_Descriptor_idl__
+#define __com_sun_star_sdbcx_Descriptor_idl__
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+ module com { module sun { module star { module sdbcx {
+
+
+/** is used to create a new object within a database.
+
+ <p>
+ A descriptor is commonly created by the container of a specific object, such as, tables or views.
+ After the creation of the descriptor the properties have to be filled.
+ Afterwards, you append the descriptor to the container and the container creates a new object based
+ on the information of the descriptor. The descriptor can be used to create several objects.
+ </p>
+ <p>
+ A descriptor contains at least the information of the name of an object.
+ </p>
+ @see com::sun::star::sdbcx::XAppend
+ */
+published service Descriptor
+{
+ // gives access to the properties.
+ interface com::sun::star::beans::XPropertySet;
+
+
+ /** is the name for the object to create.
+ */
+ [property] string Name;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbcx/Driver.idl b/offapi/com/sun/star/sdbcx/Driver.idl
new file mode 100644
index 000000000..90142171c
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/Driver.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_sdbcx_Driver_idl__
+#define __com_sun_star_sdbcx_Driver_idl__
+
+#include <com/sun/star/sdbc/Driver.idl>
+
+ module com { module sun { module star { module sdbcx {
+
+ published interface XDataDefinitionSupplier;
+ published interface XCreateCatalog;
+ published interface XDropCatalog;
+
+
+/** extends the service
+ com::sun::star::sdbc::Driver
+ by beans for data definition.
+<p>
+ This service is optional for each driver. Its purpose is to define
+ a common way for database definition, as the DDL differs between most DBMS.
+</p>
+<p>
+ Definition and deletion of database catalogs can't be defined in a common
+ manner for DBMS, but it should be possible to hide much of the complexity
+ of creation and deletion of catalogs. Each driver could provide methods to
+ cover these tasks.
+</p>
+ */
+published service Driver
+{
+ service com::sun::star::sdbc::Driver;
+
+ /** used to get access to the catalog.
+ @see Catalog
+ */
+ interface XDataDefinitionSupplier;
+
+
+ /** is optional for implementation.
+ */
+ [optional] interface XCreateCatalog;
+
+ /** is optional for implementation.
+ */
+ [optional] interface XDropCatalog;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbcx/Group.idl b/offapi/com/sun/star/sdbcx/Group.idl
new file mode 100644
index 000000000..6c1ccdf4d
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/Group.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_sdbcx_Group_idl__
+#define __com_sun_star_sdbcx_Group_idl__
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+ module com { module sun { module star { module sdbcx {
+
+ published interface XUsersSupplier;
+ published interface XAuthorizable;
+
+
+/** represents a group of users, which has certain access rights for the objects
+ of the database.
+ */
+published service Group
+{
+ /** gives access to the users which contains to this group.
+ */
+ interface XUsersSupplier;
+
+ /** shows the access rights of this group.
+ */
+ interface XAuthorizable;
+
+ // gives access to the properties.
+ interface com::sun::star::beans::XPropertySet;
+
+
+ /** is the name of the group.
+ */
+ [readonly, property] string Name;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbcx/GroupDescriptor.idl b/offapi/com/sun/star/sdbcx/GroupDescriptor.idl
new file mode 100644
index 000000000..8b0254ccd
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/GroupDescriptor.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_sdbcx_GroupDescriptor_idl__
+#define __com_sun_star_sdbcx_GroupDescriptor_idl__
+
+#include <com/sun/star/sdbcx/Descriptor.idl>
+ module com { module sun { module star { module sdbcx {
+
+/** is used to create a new group in a database.
+ @see com::sun::star::sdbcx::Group
+ */
+published service GroupDescriptor
+{
+ service Descriptor;
+
+ /** is the name of the group.
+ */
+ [property] string Name;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbcx/Index.idl b/offapi/com/sun/star/sdbcx/Index.idl
new file mode 100644
index 000000000..1d25db0dc
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/Index.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_sdbcx_Index_idl__
+#define __com_sun_star_sdbcx_Index_idl__
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+ module com { module sun { module star { module sdbcx {
+
+ published interface XColumnsSupplier;
+ published interface XDataDescriptorFactory;
+
+
+/** is used to specify the index for a database table. It refers to one or
+ more columns of a table.
+ <p>
+ <b>
+ Note:
+ </b>
+ All properties and columns of an index could by modified before they are appended
+ to a table. In that case the service is a data descriptor.
+ </p>
+ */
+published service Index
+{
+
+ /** optional, could be used to copy an index.
+ */
+ [optional] interface XDataDescriptorFactory;
+
+
+ /** access to the contained index columns.
+ */
+ interface XColumnsSupplier;
+
+ // gives access to the properties.
+ interface com::sun::star::beans::XPropertySet;
+
+
+ /** is the name of the index.
+ */
+ [readonly, property] string Name;
+
+
+ /** is the name of the index catalog, may be empty.
+ */
+ [readonly, property] string Catalog;
+
+
+ /** indicates that the index allow only unique values.
+ */
+ [readonly, property] boolean IsUnique;
+
+
+ /** indicates that the index is used for the primary key.
+ */
+ [readonly, property] boolean IsPrimaryKeyIndex;
+
+
+ /** indicates that the index is clustered.
+ */
+ [readonly, property] boolean IsClustered;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbcx/IndexColumn.idl b/offapi/com/sun/star/sdbcx/IndexColumn.idl
new file mode 100644
index 000000000..167bf4a97
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/IndexColumn.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_sdbcx_IndexColumn_idl__
+#define __com_sun_star_sdbcx_IndexColumn_idl__
+
+#include <com/sun/star/sdbcx/Column.idl>
+
+ module com { module sun { module star { module sdbcx {
+
+
+/** adds a property to determine the sort order of the column values within the
+ index. Some database drivers may ignore this property.
+ */
+published service IndexColumn
+{
+ service Column;
+
+
+ /** is the column sorted in ascending order.
+ */
+ [readonly, property] boolean IsAscending;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbcx/IndexColumnDescriptor.idl b/offapi/com/sun/star/sdbcx/IndexColumnDescriptor.idl
new file mode 100644
index 000000000..7ded8c17c
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/IndexColumnDescriptor.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_sdbcx_IndexColumnDescriptor_idl__
+#define __com_sun_star_sdbcx_IndexColumnDescriptor_idl__
+
+#include <com/sun/star/sdbcx/Descriptor.idl>
+
+ module com { module sun { module star { module sdbcx {
+
+
+/** adds a property to determine the sort order of the column values within the
+ index. Some database drivers may ignore this property.
+ */
+published service IndexColumnDescriptor
+{
+ service Descriptor;
+
+
+ /** is the column sorted in ascending order.
+ */
+ [property] boolean IsAscending;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbcx/IndexDescriptor.idl b/offapi/com/sun/star/sdbcx/IndexDescriptor.idl
new file mode 100644
index 000000000..4c0a154c8
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/IndexDescriptor.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_sdbcx_IndexDescriptor_idl__
+#define __com_sun_star_sdbcx_IndexDescriptor_idl__
+
+#include <com/sun/star/sdbcx/Descriptor.idl>
+
+ module com { module sun { module star { module sdbcx {
+
+ published interface XColumnsSupplier;
+
+
+/** is used to define a new index for a database table.
+ @see com::sun::star::sdbcx::Index
+ */
+published service IndexDescriptor
+{
+ service Descriptor;
+
+
+ /** access to the contained index columns.
+ */
+ interface XColumnsSupplier;
+
+
+ /** is the name of the index catalog, may be empty.
+ */
+ [property] string Catalog;
+
+
+ /** indicates that the index allow only unique values.
+ */
+ [property] boolean IsUnique;
+
+
+ /** indicates that the index is clustered.
+ */
+ [property] boolean IsClustered;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbcx/Key.idl b/offapi/com/sun/star/sdbcx/Key.idl
new file mode 100644
index 000000000..7465f6e57
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/Key.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_sdbcx_Key_idl__
+#define __com_sun_star_sdbcx_Key_idl__
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+ module com { module sun { module star { module sdbcx {
+
+ published interface XColumnsSupplier;
+ published interface XDataDescriptorFactory;
+
+
+/** is used to define a new key for a table.
+ */
+published service Key
+{
+
+ /** optional, could be used to copy a key.
+ */
+ [optional] interface XDataDescriptorFactory;
+
+
+ /** access to the contained key columns.
+ */
+ interface XColumnsSupplier;
+
+ // gives access to the properties.
+ interface com::sun::star::beans::XPropertySet;
+
+
+ /** is the name of the key
+ */
+ [readonly, property] string Name;
+
+
+ /** indicates the type of the key.
+ @see com::sun::star::sdbcx::KeyType
+ */
+ [readonly, property] long Type;
+
+
+ /** is the name of the referenced table, only used for foreign
+ keys.
+ */
+ [readonly, property] string ReferencedTable;
+
+
+ /** is the rule which is applied for updates; only used for foreign keys.
+ @see com::sun::star::sdbc::KeyRule
+ */
+ [readonly, property] long UpdateRule;
+
+
+ /** is the rule which is applied for deletions; only used for foreign keys.
+ @see com::sun::star::sdbc::KeyRule
+ */
+ [readonly, property] long DeleteRule;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbcx/KeyColumn.idl b/offapi/com/sun/star/sdbcx/KeyColumn.idl
new file mode 100644
index 000000000..66da538f5
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/KeyColumn.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_sdbcx_KeyColumn_idl__
+#define __com_sun_star_sdbcx_KeyColumn_idl__
+
+#include <com/sun/star/sdbcx/Column.idl>
+
+module com { module sun { module star { module sdbcx {
+
+/**
+ adds a property to specify the referenced column. This is used to specify
+ foreign keys.
+
+ */
+published service KeyColumn
+{
+ service Column;
+
+ /** is the name of a reference column out of the referenced table.
+ */
+ [readonly, property] string RelatedColumn;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbcx/KeyColumnDescriptor.idl b/offapi/com/sun/star/sdbcx/KeyColumnDescriptor.idl
new file mode 100644
index 000000000..80a96a918
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/KeyColumnDescriptor.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_sdbcx_KeyColumnDescriptor_idl__
+#define __com_sun_star_sdbcx_KeyColumnDescriptor_idl__
+
+#include <com/sun/star/sdbcx/Descriptor.idl>
+
+ module com { module sun { module star { module sdbcx {
+
+
+/** adds a property to specify the referenced column. This is used to specify
+ foreign keys.
+ @see com::sun::star::sdbcx::KeyColumn
+ */
+published service KeyColumnDescriptor
+{
+ service Descriptor;
+
+
+ /** is the name of a reference column out of the referenced table.
+ */
+ [property] string RelatedColumn;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbcx/KeyDescriptor.idl b/offapi/com/sun/star/sdbcx/KeyDescriptor.idl
new file mode 100644
index 000000000..cd7f49ef9
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/KeyDescriptor.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_sdbcx_KeyDescriptor_idl__
+#define __com_sun_star_sdbcx_KeyDescriptor_idl__
+
+#include <com/sun/star/sdbcx/Descriptor.idl>
+
+module com { module sun { module star { module sdbcx {
+
+ published interface XColumnsSupplier;
+
+/**
+ is used to define a new key for a table.
+
+ @see com::sun::star::sdbcx::Key
+ */
+published service KeyDescriptor
+{
+ service Descriptor;
+
+ /** access to the contained key columns.
+ */
+ interface XColumnsSupplier;
+
+ /** indicates the type of the key.
+ @see com::sun::star::sdbcx::KeyType
+ */
+ [property] long Type;
+
+ /** is the name of the referenced table, only used for foreign keys.
+ */
+ [property] string ReferencedTable;
+
+ /** is the rule which is applied for updates; only used for foreign keys.
+ @see com::sun::star::sdbc::KeyRule
+ */
+ [property] long UpdateRule;
+
+ /** is the rule which is applied for deletions; only used for foreign keys.
+ @see com::sun::star::sdbc::KeyRule
+ */
+ [property] long DeleteRule;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbcx/KeyType.idl b/offapi/com/sun/star/sdbcx/KeyType.idl
new file mode 100644
index 000000000..22273ec40
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/KeyType.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_sdbcx_KeyType_idl__
+#define __com_sun_star_sdbcx_KeyType_idl__
+
+ module com { module sun { module star { module sdbcx {
+
+
+/** determines the type of a key.
+ */
+published constants KeyType
+{
+
+ /** indicates that the key is the primary key of a table.
+ */
+ const long PRIMARY = 1;
+
+ /** indicates that the key is unique, NULL values are allowed.
+ */
+ const long UNIQUE = 2;
+
+ /** indicates that the key is a foreign key of a table.
+ */
+ const long FOREIGN = 3;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbcx/PreparedStatement.idl b/offapi/com/sun/star/sdbcx/PreparedStatement.idl
new file mode 100644
index 000000000..4e5be7bc7
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/PreparedStatement.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_sdbcx_PreparedStatement_idl__
+#define __com_sun_star_sdbcx_PreparedStatement_idl__
+
+#include <com/sun/star/sdbc/PreparedStatement.idl>
+
+module com { module sun { module star { module sdbcx {
+
+/**
+ extends the definition of the service
+ com::sun::star::sdbc::PreparedStatement
+ with a flag for the usage of bookmarks.
+ @see ResultSet
+ @see XRowLocate
+ */
+published service PreparedStatement
+{
+ service com::sun::star::sdbc::PreparedStatement;
+ /**
+ returns if a result set should allow the navigation with bookmarks
+ or not. The default is `FALSE`.
+ */
+ [property] boolean UseBookmarks;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbcx/Privilege.idl b/offapi/com/sun/star/sdbcx/Privilege.idl
new file mode 100644
index 000000000..ed15471c4
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/Privilege.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_sdbcx_Privilege_idl__
+#define __com_sun_star_sdbcx_Privilege_idl__
+
+ module com { module sun { module star { module sdbcx {
+
+
+/** defines a list of flags (bitmaps) which determines the access rights of a
+ user or a user group. This list may grow in the future.
+ */
+published constants Privilege
+{
+
+ /** indicates that a user is allowed to read the data.
+ */
+ const long SELECT = 0x00000001;
+
+ /** indicates that a user is allowed to insert new data.
+ */
+ const long INSERT = 0x00000002;
+
+ /** indicates that a user is allowed to update data.
+ */
+ const long UPDATE = 0x00000004;
+
+ /** indicates that a user is allowed to delete data.
+ */
+ const long DELETE = 0x00000008;
+
+ /** indicates that a user is allowed to read the structure of a definition object.
+ */
+ const long READ = 0x00000010;
+
+ /** indicates that a user is allowed to create a definition object.
+ */
+ const long CREATE = 0x00000020;
+
+ /** indicates that a user is allowed to alter an existing object.
+ */
+ const long ALTER = 0x00000040;
+
+ /** indicates that a user is allowed to set foreign keys for a table.
+ */
+ const long REFERENCE = 0x00000080;
+
+ /** indicates that a user is allowed to drop a definition object.
+ */
+ const long DROP = 0x00000100;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbcx/PrivilegeObject.idl b/offapi/com/sun/star/sdbcx/PrivilegeObject.idl
new file mode 100644
index 000000000..eabb6adf2
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/PrivilegeObject.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_sdbcx_PrivilegeObject_idl__
+#define __com_sun_star_sdbc_PrivilegeObject_idl__
+
+ module com { module sun { module star { module sdbcx {
+
+
+/** defines the list of objects for which a user may have access rights or not.
+ This list may grow in the future.
+ */
+published constants PrivilegeObject
+{
+
+ /** indicates a table.
+ */
+ const long TABLE = 0;
+
+ /** indicates a view.
+ */
+ const long VIEW = 1;
+
+ /** indicates a column of a table.
+ */
+ const long COLUMN = 2;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbcx/ReferenceColumn.idl b/offapi/com/sun/star/sdbcx/ReferenceColumn.idl
new file mode 100644
index 000000000..9fd977055
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/ReferenceColumn.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_sdbcx_ReferenceColumn_idl__
+#define __com_sun_star_sdbcx_ReferenceColumn_idl__
+
+#include <com/sun/star/sdbcx/Column.idl>
+
+
+ module com { module sun { module star { module sdbcx {
+
+
+/** adds a property to specify the referenced column. This is used to specify
+ foreign keys.
+ */
+published service ReferenceColumn
+{
+ service Column;
+
+
+ /** is the name of a reference column out of the referenced table.
+ */
+ [readonly, property] string ReferencedColumn;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbcx/ResultSet.idl b/offapi/com/sun/star/sdbcx/ResultSet.idl
new file mode 100644
index 000000000..cffdcff00
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/ResultSet.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_sdbcx_ResultSet_idl__
+#define __com_sun_star_sdbcx_ResultSet_idl__
+
+#include <com/sun/star/sdbc/ResultSet.idl>
+
+ module com { module sun { module star { module sdbcx {
+
+ published interface XRowLocate;
+ published interface XDeleteRows;
+
+
+/** extends the SDBC ResultSet by the possibility of bookmark positioning, canceling
+ the positioning, and updating of rows.
+ */
+published service ResultSet
+{
+ service com::sun::star::sdbc::ResultSet;
+
+
+ /** could be used for canceling the execution of SQL statements if both
+ the DBMS and the driver support aborting of navigation commands.
+ The implementation is optional.
+ */
+ [optional] interface com::sun::star::util::XCancellable;
+
+
+ /** is the interface for navigating on the result set by unique bookmarks.
+ */
+ interface XRowLocate;
+
+
+ /** is the interface for deleting more than one row, identified by its bookmark.
+ The implementation is optional.
+ */
+ [optional] interface XDeleteRows;
+
+
+ /** returns if the result set supports bookmark navigation.
+ */
+ [readonly, property] boolean IsBookmarkable;
+
+
+ /** returns whether the result set supports updating of newly inserted rows.
+ This may not work, as the result set may contain automatic generated data
+ which is used as key information.
+ */
+ [optional, readonly, property] boolean CanUpdateInsertedRows;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbcx/Statement.idl b/offapi/com/sun/star/sdbcx/Statement.idl
new file mode 100644
index 000000000..47c97bb0e
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/Statement.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_sdbcx_Statement_idl__
+#define __com_sun_star_sdbcx_Statement_idl__
+
+#include <com/sun/star/sdbc/Statement.idl>
+
+ module com { module sun { module star { module sdbcx {
+
+
+/** extends the definition of the service
+ com::sun::star::sdbc::Statement
+ with a flag for the usage of bookmarks.
+ @see ResultSet
+ @see XRowLocate
+ */
+published service Statement
+{
+ service com::sun::star::sdbc::Statement;
+
+
+ /** returns
+ `TRUE`
+ if a result set should allow navigation with bookmarks or not.
+ The default is `FALSE`.
+ */
+ [property] boolean UseBookmarks;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbcx/Table.idl b/offapi/com/sun/star/sdbcx/Table.idl
new file mode 100644
index 000000000..3dec454a9
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/Table.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_sdbcx_Table_idl__
+#define __com_sun_star_sdbcx_Table_idl__
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+ module com { module sun { module star { module sdbcx {
+
+ published interface XDataDescriptorFactory;
+ published interface XColumnsSupplier;
+ published interface XIndexesSupplier;
+ published interface XKeysSupplier;
+ published interface XRename;
+ published interface XAlterTable;
+
+
+/** used to specify a table in a database. A table is described by its
+ name and one or more columns.
+
+ <p>
+ In addition, it may contain indexes to improve the performance in
+ the retrieval of the table's data and keys, and to define semantic rules for the table.
+ </p>
+ <p>
+ <b>
+ Note:
+ </b>
+ All properties and columns of a table could by modified before
+ it is appended to a database. In that case, the service is in fact a
+ descriptor. On existing tables, a user might alter columns, add or delete
+ columns, indexes, and keys depending on the capabilities of the database and on
+ the user's privileges.
+ </p>
+
+ @see com::sun::star::sdbc::XDatabaseMetaData
+ @see com::sun::star::sdbcx::Privilege
+ */
+published service Table
+{
+
+ /** optional, could be used to copy a table.
+ */
+ [optional] interface XDataDescriptorFactory;
+
+
+ /** access to the contained table columns.
+ */
+ interface XColumnsSupplier;
+
+
+ /** optional, provides the access of the table indexes.
+ */
+ [optional] interface XIndexesSupplier;
+
+
+ /** optional, provides the access to the table keys.
+ */
+ [optional] interface XKeysSupplier;
+
+
+ /** optional, allows the renaming of tables.
+ */
+ [optional] interface XRename;
+
+
+ /** optional, allows the altering of columns.
+ */
+ [optional] interface XAlterTable;
+
+ // gives access to the properties
+ interface com::sun::star::beans::XPropertySet;
+
+
+ /** is the name of the table.
+ */
+ [readonly, property] string Name;
+
+
+ /** is the name of the table catalog.
+ */
+ [readonly, property] string CatalogName;
+
+
+ /** is the name of the table schema.
+ */
+ [readonly, property] string SchemaName;
+
+
+ /** supplies a comment on the table. Could be empty, if not supported by
+ the driver.
+ */
+ [readonly, property] string Description;
+
+
+ /** indicates the type of the table like (TABLE, VIEW, SYSTEM TABLE).
+ Could be empty, if not supported by the driver.
+ */
+ [optional, readonly, property] string Type;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbcx/TableDescriptor.idl b/offapi/com/sun/star/sdbcx/TableDescriptor.idl
new file mode 100644
index 000000000..43538794d
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/TableDescriptor.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_sdbcx_TableDescriptor_idl__
+#define __com_sun_star_sdbcx_TableDescriptor_idl__
+
+#include <com/sun/star/sdbcx/Descriptor.idl>
+
+ module com { module sun { module star { module sdbcx {
+
+ published interface XColumnsSupplier;
+ published interface XKeysSupplier;
+
+
+/** is used to define a table of a database. A table is described by its
+ name and one or more columns and the keys for semantic rules.
+
+ <p>
+ In addition, it may contain keys, and to define semantic rules for the table.
+ <b>
+ Note:
+ </b>
+ Indexes can only be appended when the table is already appended at the database.
+ </p>
+ @see com::sun::star::sdbcx::Table
+ */
+published service TableDescriptor
+{
+
+ /** access to the contained table columns.
+ */
+ interface XColumnsSupplier;
+
+
+ /** optional, provides the access to the table keys.
+ */
+ [optional] interface XKeysSupplier;
+
+ service Descriptor;
+
+ /** is the name of the table catalog.
+ */
+ [property] string CatalogName;
+
+
+ /** is the name of the table schema.
+ */
+ [property] string SchemaName;
+
+
+ /** supplies a comment on the table, Could be empty if not supported by
+ the driver.
+ */
+ [property] string Description;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbcx/User.idl b/offapi/com/sun/star/sdbcx/User.idl
new file mode 100644
index 000000000..5daf88779
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/User.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_sdbcx_User_idl__
+#define __com_sun_star_sdbcx_User_idl__
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+ module com { module sun { module star { module sdbcx {
+
+ published interface XGroupsSupplier;
+ published interface XUser;
+
+
+/** represents a user of the database, who has certain access rights
+ for the objects of the database.
+ */
+published service User
+{
+ // used to change the password.
+ interface XUser;
+
+ /** optional for implementation, if the database does not know the concept
+ of user groups. Provides for access to the groups to which a user belongs.
+ */
+ [optional] interface XGroupsSupplier;
+
+ // gives access to the properties
+ interface com::sun::star::beans::XPropertySet;
+
+
+ /** is the name of the user.
+ */
+ [readonly, property] string Name;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbcx/UserDescriptor.idl b/offapi/com/sun/star/sdbcx/UserDescriptor.idl
new file mode 100644
index 000000000..f18c6e484
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/UserDescriptor.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_sdbcx_UserDescriptor_idl__
+#define __com_sun_star_sdbcx_UserDescriptor_idl__
+
+#include <com/sun/star/sdbcx/Descriptor.idl>
+
+ module com { module sun { module star { module sdbcx {
+
+
+/** is used to create a new user in a database.
+ @see com::sun::star::sdbcx::User
+ */
+published service UserDescriptor
+{
+ service Descriptor;
+
+
+ /** is the password for the user.
+ */
+ [property] string Password;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbcx/View.idl b/offapi/com/sun/star/sdbcx/View.idl
new file mode 100644
index 000000000..11f4aea13
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/View.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_sdbcx_View_idl__
+#define __com_sun_star_sdbcx_View_idl__
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+ module com { module sun { module star { module sdbcx {
+
+published interface XRename;
+published interface XAlterView;
+
+
+/** is used to specify views on data. A view object is only used for creation and
+ deletion. Inspecting the command of a view is normally not supported.
+
+ <p>
+ If a view is going to be added to a database, the view must have a unique
+ name within the view and the table container, as it can be used like a table.
+ <b>
+ Note:
+ </b>
+ After addition, both the containers for views and the container for tables must
+ contain an element for the view.
+ </p>
+ */
+published service View
+{
+
+ /** is optional for implementation.
+ */
+ [optional] interface XRename;
+
+ // gives access to the properties.
+ interface com::sun::star::beans::XPropertySet;
+
+ /** allows changing the view's #Command.
+ */
+ [optional] interface XAlterView;
+
+
+ /** is the name of the view.
+ */
+ [readonly, property] string Name;
+
+
+ /** is the name of the views catalog, may be empty.
+ */
+ [readonly, property] string CatalogName;
+
+
+ /** is the name of the view's schema, may be empty.
+ */
+ [readonly, property] string SchemaName;
+
+
+ /** is the command for creating the view.
+
+ <p>This is typically a SQL Select-Statement.</p>
+
+ <p>This property might be empty when a backend does not support retrieving the current
+ SQL command of a view. However, if the <code>View</code> supports altering its command
+ via the #XAlterView interface, then it's required to also provide the
+ current SQL command in the <code>Command</code> property.</p>
+ */
+ [readonly, property] string Command;
+
+
+ /** indicates if a check option should be used for the view.
+
+ @see com::sun::star::sdbcx::CheckOption
+ */
+ [readonly, property] long CheckOption;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbcx/ViewDescriptor.idl b/offapi/com/sun/star/sdbcx/ViewDescriptor.idl
new file mode 100644
index 000000000..13ae38f2a
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/ViewDescriptor.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_sdbcx_ViewDescriptor_idl__
+#define __com_sun_star_sdbcx_ViewDescriptor_idl__
+
+#include <com/sun/star/sdbcx/Descriptor.idl>
+
+ module com { module sun { module star { module sdbcx {
+
+
+/** is used to define a new view for a database.
+ @see com::sun::star::sdbcx::View
+ */
+published service ViewDescriptor
+{
+ service Descriptor;
+
+
+ /** is the name of the views catalog, may be empty.
+ */
+ [property] string CatalogName;
+
+
+ /** is the name of the views schema, may be empty.
+ */
+ [property] string SchemaName;
+
+
+ /** is the command for creating the view. After appending a view to its
+ container, the command may be empty. This is typically a
+ SQL Select-Statement.
+ */
+ [property] string Command;
+
+
+ /** indicates if a check option should be used for the view.
+ @see com::sun::star::sdbcx::CheckOption
+ */
+ [property] long CheckOption;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbcx/XAlterTable.idl b/offapi/com/sun/star/sdbcx/XAlterTable.idl
new file mode 100644
index 000000000..971cd2a0d
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/XAlterTable.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_sdbcx_XAlterTable_idl__
+#define __com_sun_star_sdbcx_XAlterTable_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 beans {
+ published interface XPropertySet;
+};};};};
+#include <com/sun/star/sdbc/SQLException.idl>
+
+ module com { module sun { module star { module sdbcx {
+
+/** is used for creating and appending new objects to a specific container.
+ */
+published interface XAlterTable: com::sun::star::uno::XInterface
+{
+
+ /** is intended to alter an existing column identified by its name.
+ This operation must be atomic, in that it is done in one step.s
+
+ @param colName
+ the column name which to alter
+ @param descriptor
+ the new descriptor for the new column
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void alterColumnByName([in]string colName,
+ [in]com::sun::star::beans::XPropertySet descriptor)
+ raises (com::sun::star::sdbc::SQLException,
+ com::sun::star::container::NoSuchElementException);
+
+ /** is intended to alter an existing column identified by its position.
+ This operation must be atomic, in that it is done in one step.s
+
+ @param index
+ the position of the column to alter
+ @param descriptor
+ the new descriptor for the new column
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ @throws com::sun::star::lang::IndexOutOfBoundsException
+ if the given index does not denote an existing column.
+ */
+ void alterColumnByIndex([in]long index,
+ [in]com::sun::star::beans::XPropertySet descriptor) raises
+ (com::sun::star::sdbc::SQLException,
+ com::sun::star::lang::IndexOutOfBoundsException);
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbcx/XAlterView.idl b/offapi/com/sun/star/sdbcx/XAlterView.idl
new file mode 100644
index 000000000..73dba72fb
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/XAlterView.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_sdbcx_XAlterView_idl__
+#define __com_sun_star_sdbcx_XAlterView_idl__
+
+#include <com/sun/star/sdbc/SQLException.idl>
+
+
+module com { module sun { module star { module sdbcx {
+
+
+/** implements the possibility to alter aspects of a view's definition
+
+ @since OOo 2.4
+ */
+interface XAlterView
+{
+ /** changes the command which constitutes the view
+
+ <p>The operation should be atomic.</p>
+
+ @param NewCommand
+ the new command which the view should be based on. Usually an
+ <code>SELECT</code> statement.
+ @throws ::com::sun::star::sdbc::SQLException
+ if an error occurs
+ */
+ void alterCommand( [in] string NewCommand )
+ raises ( ::com::sun::star::sdbc::SQLException );
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbcx/XAppend.idl b/offapi/com/sun/star/sdbcx/XAppend.idl
new file mode 100644
index 000000000..16ca751b3
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/XAppend.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_sdbcx_XAppend_idl__
+#define __com_sun_star_sdbcx_XAppend_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/container/ElementExistException.idl>
+
+ module com { module sun { module star { module beans {
+ published interface XPropertySet;
+};};};};
+
+#include <com/sun/star/sdbc/SQLException.idl>
+
+ module com { module sun { module star { module sdbcx {
+
+/** is used for creating and appending new objects to a specific container.
+ */
+published interface XAppend: com::sun::star::uno::XInterface
+{
+
+ /** creates a new object using the given descriptor and appends it
+ to the related container.
+ <b>
+ Note:
+ </b>
+ The descriptor will not be changed and can be used again to append another object.
+ @param descriptor
+ the descriptor which should be serve to append a new object
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void appendByDescriptor([in]com::sun::star::beans::XPropertySet descriptor)
+ raises (com::sun::star::sdbc::SQLException,
+ com::sun::star::container::ElementExistException);
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbcx/XAuthorizable.idl b/offapi/com/sun/star/sdbcx/XAuthorizable.idl
new file mode 100644
index 000000000..fae084158
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/XAuthorizable.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_sdbcx_XAuthorizable_idl__
+#define __com_sun_star_sdbcx_XAuthorizable_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/sdbc/SQLException.idl>
+
+ module com { module sun { module star { module sdbcx {
+
+/** is used for accessing and setting the permissions of a user for a database
+ object.
+ @see com::sun::star::sdbcx::PrivilegeObject
+ @see com::sun::star::sdbcx::Privilege
+ */
+published interface XAuthorizable: com::sun::star::uno::XInterface
+{
+
+ /** retrieves the permissions for a specific object.
+
+ @param objName
+ the name of the object
+ @param objType
+ a value of com::sun::star::sdbcx::PrivilegeObject
+
+ @returns
+ the privileges
+
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ long getPrivileges([in]string objName, [in]long objType) raises
+ (com::sun::star::sdbc::SQLException);
+
+ /** retrieves the permissions for a specific object, which could be granted
+ to other users and groups.
+
+ @param objName
+ the name of the object
+ @param objType
+ a value of com::sun::star::sdbcx::PrivilegeObject
+
+ @returns
+ the grant privileges
+
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ long getGrantablePrivileges([in]string objName, [in]long objType) raises
+ (com::sun::star::sdbc::SQLException);
+
+ /** adds additional permissions for a specific object.
+
+ @param objName
+ the name of the object
+ @param objType
+ a value from the com::sun::star::sdbcx::PrivilegeObject constants group
+ @param objPrivileges
+ a value from the com::sun::star::sdbcx::Privilege constants group
+
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void grantPrivileges([in]string objName, [in]long objType,
+ [in]long objPrivileges) raises
+ (com::sun::star::sdbc::SQLException);
+
+ /** removes permissions for a specific object from a group or user.
+
+ @param objName
+ the name of the object
+ @param objType
+ a value from the com::sun::star::sdbcx::PrivilegeObject constants group
+ @param objPrivileges
+ a value from the com::sun::star::sdbcx::Privilege constants group
+
+
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void revokePrivileges([in]string objName, [in]long objType,
+ [in]long objPrivileges) raises
+ (com::sun::star::sdbc::SQLException);
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbcx/XColumnsSupplier.idl b/offapi/com/sun/star/sdbcx/XColumnsSupplier.idl
new file mode 100644
index 000000000..d4f0effee
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/XColumnsSupplier.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_sdbcx_XColumnsSupplier_idl__
+#define __com_sun_star_sdbcx_XColumnsSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/container/XNameAccess.idl>
+
+#include <com/sun/star/sdbc/SQLException.idl>
+
+ module com { module sun { module star { module sdbcx {
+
+
+/** provides the access to a container of columns, typically used for tables and
+ indexes.
+ */
+published interface XColumnsSupplier: com::sun::star::uno::XInterface
+{
+
+ /** returns the container of columns.
+ @returns
+ the columns
+ */
+ com::sun::star::container::XNameAccess getColumns();
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbcx/XCreateCatalog.idl b/offapi/com/sun/star/sdbcx/XCreateCatalog.idl
new file mode 100644
index 000000000..e1644b05e
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/XCreateCatalog.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_sdbcx_XCreateCatalog_idl__
+#define __com_sun_star_sdbcx_XCreateCatalog_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/sdbc/SQLException.idl>
+
+#include <com/sun/star/container/ElementExistException.idl>
+
+#include <com/sun/star/beans/PropertyValue.idl>
+
+ module com { module sun { module star { module sdbcx {
+
+
+/** may be implemented to hide the complexity of creating a database catalog.
+ */
+published interface XCreateCatalog: com::sun::star::uno::XInterface
+{
+
+ /** creates the catalog by using a sequence of property values. The kind
+ of properties depends on the provider.
+
+ @param info
+ driver specific information
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+
+ */
+ void createCatalog([in]sequence<com::sun::star::beans::PropertyValue> info)
+ raises (com::sun::star::sdbc::SQLException,
+ com::sun::star::container::ElementExistException);
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbcx/XDataDefinitionSupplier.idl b/offapi/com/sun/star/sdbcx/XDataDefinitionSupplier.idl
new file mode 100644
index 000000000..c842c0839
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/XDataDefinitionSupplier.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_sdbcx_XDataDefinitionSupplier_idl__
+#define __com_sun_star_sdbcx_XDataDefinitionSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/beans/PropertyValue.idl>
+
+#include <com/sun/star/sdbc/SQLException.idl>
+
+ module com { module sun { module star { module sdbc {
+ published interface XConnection;
+};};};};
+
+ module com { module sun { module star { module sdbcx {
+
+ published interface XTablesSupplier;
+
+
+/** provides the access to data definition beans from a connected database.
+ */
+published interface XDataDefinitionSupplier: com::sun::star::uno::XInterface
+{
+
+ /** returns at least the container of tables related to the given connection.
+ @param connection
+ the related connection
+ @returns
+ the container
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ XTablesSupplier getDataDefinitionByConnection(
+ [in]com::sun::star::sdbc::XConnection connection)
+ raises (com::sun::star::sdbc::SQLException);
+
+ /** returns at least the container of tables related to the given Database URL.
+ @param url
+ a database url of the form sdbc:subprotocol:subname
+ @param info
+ a list of arbitrary string tag/value pairs as connection arguments;
+ normally at least a "user" and "password" property should be included
+ @returns
+ the container
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ XTablesSupplier getDataDefinitionByURL(
+ [in]string url,
+ [in]sequence<com::sun::star::beans::PropertyValue> info)
+ raises (com::sun::star::sdbc::SQLException);
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbcx/XDataDescriptorFactory.idl b/offapi/com/sun/star/sdbcx/XDataDescriptorFactory.idl
new file mode 100644
index 000000000..a3d3eac7a
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/XDataDescriptorFactory.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_sdbcx_XDataDescriptorFactory_idl__
+#define __com_sun_star_sdbcx_XDataDescriptorFactory_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+ module com { module sun { module star { module beans {
+ published interface XPropertySet;
+};};};};
+
+ module com { module sun { module star { module sdbcx {
+
+/** provides the creation of a descriptor for a definition object.
+ */
+published interface XDataDescriptorFactory: com::sun::star::uno::XInterface
+{
+
+ /** returns a descriptor of a definition object.
+ @returns
+ the descriptor for that kind of objects
+ */
+ com::sun::star::beans::XPropertySet createDataDescriptor();
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbcx/XDeleteRows.idl b/offapi/com/sun/star/sdbcx/XDeleteRows.idl
new file mode 100644
index 000000000..94ae17154
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/XDeleteRows.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_sdbcx_XDeleteRows_idl__
+#define __com_sun_star_sdbcx_XDeleteRows_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/sdbc/SQLException.idl>
+
+ module com { module sun { module star { module sdbcx {
+
+
+/** provides for the deletion of more than one row at a time.
+ */
+published interface XDeleteRows: com::sun::star::uno::XInterface
+{
+
+ /** deletes one or more rows identified by their bookmarks.
+ @param rows
+ list of bookmarks identifying the rows.
+ @returns
+ an array of update counts containing one element for each
+ row. The array is ordered according to the order in
+ which bookmarks were given.
+ @throws com::sun::star::sdbc::SQLException
+ if a fatal error occurs, for instance, the connection gets lost if bookmarks
+ are used which do not belong to the according result set.
+ */
+ sequence<long> deleteRows([in]sequence<any> rows)
+ raises (com::sun::star::sdbc::SQLException);
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbcx/XDrop.idl b/offapi/com/sun/star/sdbcx/XDrop.idl
new file mode 100644
index 000000000..143a786cb
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/XDrop.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_sdbcx_XDrop_idl__
+#define __com_sun_star_sdbcx_XDrop_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/sdbc/SQLException.idl>
+
+#include <com/sun/star/container/NoSuchElementException.idl>
+
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+
+ module com { module sun { module star { module sdbcx {
+
+/** provides methods to remove an element of its container and to drop it from
+ the related database.
+ */
+published interface XDrop: com::sun::star::uno::XInterface
+{
+
+ /** drops an object of the related container identified by its name.
+ @param elementName
+ the name of the element to be dropped
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void dropByName([in]string elementName) raises
+ (com::sun::star::sdbc::SQLException,
+ com::sun::star::container::NoSuchElementException);
+
+ /** drops an object of the related container identified by its position.
+ @param index
+ the position of the element to be dropped
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void dropByIndex([in]long index) raises (com::sun::star::sdbc::SQLException,
+ com::sun::star::lang::IndexOutOfBoundsException);
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbcx/XDropCatalog.idl b/offapi/com/sun/star/sdbcx/XDropCatalog.idl
new file mode 100644
index 000000000..600219359
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/XDropCatalog.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_sdbcx_XDropCatalog_idl__
+#define __com_sun_star_sdbcx_XDropCatalog_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/sdbc/SQLException.idl>
+
+#include <com/sun/star/beans/PropertyValue.idl>
+
+#include <com/sun/star/container/NoSuchElementException.idl>
+
+ module com { module sun { module star { module sdbcx {
+
+
+/** may be implemented to hide the complexity of dropping a database catalog. Could
+ normally be used only in offline mode, no connection on the database. This
+ should be checked by the driver.
+ */
+published interface XDropCatalog: com::sun::star::uno::XInterface
+{
+
+ /** drops a catalog identified by its name.
+ @param catalogName
+ the catalog name
+ @param info
+ driver specific information
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void dropCatalog([in]string catalogName,
+ [in]sequence<com::sun::star::beans::PropertyValue> info)
+ raises (com::sun::star::sdbc::SQLException,
+ com::sun::star::container::NoSuchElementException);
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbcx/XGroupsSupplier.idl b/offapi/com/sun/star/sdbcx/XGroupsSupplier.idl
new file mode 100644
index 000000000..1cf0d5c84
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/XGroupsSupplier.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_sdbcx_XGroupsSupplier_idl__
+#define __com_sun_star_sdbcx_XGroupsSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/container/XNameAccess.idl>
+
+ module com { module sun { module star { module sdbcx {
+
+
+/** provides for access to a container of groups, typically used for a database
+ definition object.
+ */
+published interface XGroupsSupplier: com::sun::star::uno::XInterface
+{
+
+ /** returns the container of groups.
+ @returns
+ the groups
+ */
+ com::sun::star::container::XNameAccess getGroups();
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbcx/XIndexesSupplier.idl b/offapi/com/sun/star/sdbcx/XIndexesSupplier.idl
new file mode 100644
index 000000000..093a5f37b
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/XIndexesSupplier.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_sdbcx_XIndexesSupplier_idl__
+#define __com_sun_star_sdbcx_XIndexesSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/container/XNameAccess.idl>
+
+ module com { module sun { module star { module sdbcx {
+
+
+/** provides for access to a container of indexes, typically used for a table
+ definition object.
+ */
+published interface XIndexesSupplier: com::sun::star::uno::XInterface
+{
+
+ /** returns the container of indexes.
+ @returns
+ the indexes
+ */
+ com::sun::star::container::XNameAccess getIndexes();
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbcx/XKeysSupplier.idl b/offapi/com/sun/star/sdbcx/XKeysSupplier.idl
new file mode 100644
index 000000000..558faf370
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/XKeysSupplier.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_sdbcx_XKeysSupplier_idl__
+#define __com_sun_star_sdbcx_XKeysSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/container/XIndexAccess.idl>
+
+ module com { module sun { module star { module sdbcx {
+
+
+/** provides for access to a container of keys, typically used for a table
+ definition object.
+ */
+published interface XKeysSupplier: com::sun::star::uno::XInterface
+{
+
+ /** returns the container of keys.
+ @returns
+ the keys
+ */
+ com::sun::star::container::XIndexAccess getKeys();
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbcx/XRename.idl b/offapi/com/sun/star/sdbcx/XRename.idl
new file mode 100644
index 000000000..542cc34e5
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/XRename.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_sdbcx_XRename_idl__
+#define __com_sun_star_sdbcx_XRename_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/sdbc/SQLException.idl>
+
+#include <com/sun/star/container/ElementExistException.idl>
+
+ module com { module sun { module star { module sdbcx {
+
+/** supports the renaming of definition objects.
+ <br/>
+
+ This is a very desirable feature which is not supported by all databases. There is no
+ standard SQL statement provided for this feature.
+ */
+published interface XRename: com::sun::star::uno::XInterface
+{
+
+ /** is intended to alter the name of an object.
+ @param newName
+ the new name
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void rename([in]string newName)
+ raises (com::sun::star::sdbc::SQLException,
+ com::sun::star::container::ElementExistException);
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbcx/XRowLocate.idl b/offapi/com/sun/star/sdbcx/XRowLocate.idl
new file mode 100644
index 000000000..d03480221
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/XRowLocate.idl
@@ -0,0 +1,142 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_sdbcx_XRowLocate_idl__
+#define __com_sun_star_sdbcx_XRowLocate_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/sdbc/SQLException.idl>
+
+ module com { module sun { module star { module sdbcx {
+
+
+/** is used to identify rows within a result set and to find rows by a bookmark.
+
+
+ <p>
+ Bookmarks are only valid in the scope of the current result set and
+ are not interchangeable between result sets. A bookmark could be a complex data
+ structure, so it could not be compared in a safe way. Because of that, a provider
+ has to implement the compare method for bookmarks.
+ </p>
+ */
+published interface XRowLocate: com::sun::star::uno::XInterface
+{
+
+ /** returns the bookmark of the current row of a result set.
+ @returns
+ the current bookmark
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ any getBookmark() raises (com::sun::star::sdbc::SQLException);
+
+ /** moves the cursor to the row identified by a valid bookmark.
+
+ <p>
+ If the bookmark could not be located, a result set will be positioned
+ after the last record.
+ <br/>
+ If the bookmark is invalid, or not generated by the current result set, then
+ the behavior is not defined, even an abnormal termination is possible.
+ </p>
+ @param bookmark
+ the bookmark where to move
+ @returns
+ `TRUE` if successful
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ boolean moveToBookmark([in]any bookmark) raises (com::sun::star::sdbc::SQLException);
+
+ /** moves the cursor a relative number of rows, either positive or negative
+ starting at a given bookmark position.
+
+
+ <p>
+ If the bookmark could not be located, a result set will be positioned
+ after the last record.
+ <br/>
+ If the bookmark is invalid, or not generated by the current result set, then
+ the behavior is not defined, even an abnormal termination is possible.
+ </p>
+ @param bookmark
+ the bookmark where to move
+ @param rows
+ count of rows move relative to the bookmark
+ @returns
+ `TRUE` if successful
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ boolean moveRelativeToBookmark([in]any bookmark, [in]long rows)
+ raises (com::sun::star::sdbc::SQLException);
+
+ /** compares two bookmarks and returns an indication of their relative values.
+
+ <p>
+ The bookmarks must apply to the same ResultSet. You cannot reliably
+ compare bookmarks from different ResultSets, even if they were created from
+ the same source or statement.
+ <br/>
+ A bookmark that is not valid, or incorrectly formed, will cause an exception.
+ </p>
+ @param first
+ the first bookmark
+ @param second
+ the second bookmark
+ @returns
+ a value of com::sun::star::sdbcx::CompareBookmark
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+
+ @see com::sun::star::sdbcx::CompareBookmark
+
+ */
+ long compareBookmarks([in]any first, [in]any second)
+ raises (com::sun::star::sdbc::SQLException);
+
+ /** determines whether the bookmarks of a result set are ordered or not.
+ @returns
+ `TRUE` if so
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ @see com::sun::star::sdbcx::CompareBookmark
+ */
+ boolean hasOrderedBookmarks() raises (com::sun::star::sdbc::SQLException);
+
+ /** returns the hash value for a specified bookmark.
+ @param bookmark
+ the bookmark to hash
+ @returns
+ the hashed value
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ long hashBookmark([in]any bookmark) raises (com::sun::star::sdbc::SQLException);
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbcx/XTablesSupplier.idl b/offapi/com/sun/star/sdbcx/XTablesSupplier.idl
new file mode 100644
index 000000000..f7c49ada6
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/XTablesSupplier.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_sdbcx_XTablesSupplier_idl__
+#define __com_sun_star_sdbcx_XTablesSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/container/XNameAccess.idl>
+
+ module com { module sun { module star { module sdbcx {
+
+
+/** provides for access to a container of tables, typically used for a database
+ definition object.
+ */
+published interface XTablesSupplier: com::sun::star::uno::XInterface
+{
+
+ /** returns the container of tables.
+ @returns
+ the tables
+ */
+ com::sun::star::container::XNameAccess getTables();
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbcx/XUser.idl b/offapi/com/sun/star/sdbcx/XUser.idl
new file mode 100644
index 000000000..639eb5499
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/XUser.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_sdbcx_XUser_idl__
+#define __com_sun_star_sdbcx_XUser_idl__
+
+#include <com/sun/star/sdbcx/XAuthorizable.idl>
+
+ module com { module sun { module star { module sdbcx {
+
+/** allows for changing a users password.
+ */
+published interface XUser: XAuthorizable
+{
+
+ /** allows modifying a user password.
+ @param oldPassword
+ the old password to be reset
+ @param newPassword
+ the new password
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void changePassword([in]string oldPassword, [in]string newPassword)
+ raises (com::sun::star::sdbc::SQLException);
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbcx/XUsersSupplier.idl b/offapi/com/sun/star/sdbcx/XUsersSupplier.idl
new file mode 100644
index 000000000..8dd1e6546
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/XUsersSupplier.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_sdbcx_XUsersSupplier_idl__
+#define __com_sun_star_sdbcx_XUsersSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/container/XNameAccess.idl>
+
+#include <com/sun/star/sdbc/SQLException.idl>
+
+ module com { module sun { module star { module sdbcx {
+
+
+/** provides the access to a container of users, typically used for a database
+ definition object.
+ */
+published interface XUsersSupplier: com::sun::star::uno::XInterface
+{
+
+ /** returns the container of users.
+ @returns
+ the users
+ */
+ com::sun::star::container::XNameAccess getUsers();
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdbcx/XViewsSupplier.idl b/offapi/com/sun/star/sdbcx/XViewsSupplier.idl
new file mode 100644
index 000000000..88eee170b
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/XViewsSupplier.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_sdbcx_XViewsSupplier_idl__
+#define __com_sun_star_sdbcx_XViewsSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/container/XNameAccess.idl>
+
+ module com { module sun { module star { module sdbcx {
+
+
+/** provides for access to a container of views, typically used for a database
+ definition object.
+ */
+published interface XViewsSupplier: com::sun::star::uno::XInterface
+{
+
+ /** returns the container of views.
+ @returns
+ the views
+ */
+ com::sun::star::container::XNameAccess getViews();
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/security/CertAltNameEntry.idl b/offapi/com/sun/star/security/CertAltNameEntry.idl
new file mode 100644
index 000000000..90252eea4
--- /dev/null
+++ b/offapi/com/sun/star/security/CertAltNameEntry.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_security_CertAltNameEntry_idl__
+#define __com_sun_star_security_CertAltNameEntry_idl__
+
+#include <com/sun/star/security/ExtAltNameType.idl>
+
+
+ module com { module sun { module star { module security {
+
+/**
+ * struct contains a single entry within a Subject Alternative Name Extension of a
+ * X509 certificate.
+ */
+struct CertAltNameEntry
+{
+ /**
+ * defines the type of the value. With this information you can determine how to interpret the Any value.
+ * @see com::sun::star::security::ExtAltNameType
+ */
+ com::sun::star::security::ExtAltNameType Type;
+
+ /**
+ * stores the value of entry.
+ */
+ any Value;
+};
+
+
+}; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/security/CertificateCharacters.idl b/offapi/com/sun/star/security/CertificateCharacters.idl
new file mode 100644
index 000000000..479547bee
--- /dev/null
+++ b/offapi/com/sun/star/security/CertificateCharacters.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_security_CertificateCharacters_idl_
+#define __com_sun_star_security_CertificateCharacters_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/util/DateTime.idl>
+
+module com { module sun { module star { module security {
+
+/**
+ * Constant definition of a certificate characters.
+ *
+ * The certificate characters will be defined as bit-wise constants.
+ */
+constants CertificateCharacters
+{
+ /**
+ * It is a self-signed certificate.
+ */
+ const long SELF_SIGNED = 0x00000001 ;
+
+ /**
+ * A private key binding with the certificate is in user's profile.
+ */
+ const long HAS_PRIVATE_KEY = 0x00000004 ;
+} ;
+
+} ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/security/CertificateContainer.idl b/offapi/com/sun/star/security/CertificateContainer.idl
new file mode 100644
index 000000000..0381fba69
--- /dev/null
+++ b/offapi/com/sun/star/security/CertificateContainer.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_security_CertificateContainer_idl__
+#define __com_sun_star_security_CertificateContainer_idl__
+
+#include <com/sun/star/security/XCertificateContainer.idl>
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/XInitialization.idl>
+
+module com { module sun { module star { module security {
+
+/** the service to be used for XCertificateContainer.
+ @since OOo 2.3.1
+*/
+service CertificateContainer: XCertificateContainer;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/security/CertificateContainerStatus.idl b/offapi/com/sun/star/security/CertificateContainerStatus.idl
new file mode 100644
index 000000000..01c16b568
--- /dev/null
+++ b/offapi/com/sun/star/security/CertificateContainerStatus.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_security_CertificateContainerStatus_idl_
+#define __com_sun_star_security_CertificateContainerStatus_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/util/DateTime.idl>
+
+module com { module sun { module star { module security {
+
+/**
+ * Constant definition of a certificate container status.
+ *
+ */
+enum CertificateContainerStatus
+{
+ /**
+ * The certificate was not found.
+ */
+ NOCERT,
+
+ /**
+ * The certificate was found and is trusted.
+ */
+ TRUSTED,
+
+ /**
+ * The certificate was found but is untrusted.
+ */
+ UNTRUSTED
+
+};
+
+} ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/security/CertificateException.idl b/offapi/com/sun/star/security/CertificateException.idl
new file mode 100644
index 000000000..8be0a0daf
--- /dev/null
+++ b/offapi/com/sun/star/security/CertificateException.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_security_CertificateException_idl__
+#define __com_sun_star_security_CertificateException_idl__
+
+#include <com/sun/star/uno/SecurityException.idl>
+
+module com { module sun { module star { module security {
+
+
+exception CertificateException : com::sun::star::uno::SecurityException
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/security/CertificateKind.idl b/offapi/com/sun/star/security/CertificateKind.idl
new file mode 100644
index 000000000..111591866
--- /dev/null
+++ b/offapi/com/sun/star/security/CertificateKind.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.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_security_CertificateKind_idl_
+#define __com_sun_star_security_CertificateKind_idl_
+
+module com { module sun { module star { module security {
+
+/**
+ * Enum definition of a certificate kind ( X509, OpenPGP )
+ *
+ * @since LibreOffice 5.4
+ */
+enum CertificateKind
+{
+ /** X.509 format of a certificate
+ */
+ X509,
+
+ /** OpenPGP format of a certificate
+ */
+ OPENPGP,
+
+ /** No format specified
+ *
+ * @since LibreOffice 6.2
+ */
+ NONE
+};
+
+} ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/security/CertificateValidity.idl b/offapi/com/sun/star/security/CertificateValidity.idl
new file mode 100644
index 000000000..c387b1828
--- /dev/null
+++ b/offapi/com/sun/star/security/CertificateValidity.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_security_CertificateValidity_idl_
+#define __com_sun_star_security_CertificateValidity_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/util/DateTime.idl>
+
+module com { module sun { module star { module security {
+
+/**
+ * Constant definition of a certificate characters.
+ *
+ * The certificate characters will be defined as bit-wise constants.
+ */
+constants CertificateValidity
+{
+ const long VALID = 0x00000000;
+ /**
+ * The certificate is invalid.
+ */
+ const long INVALID = 0x00000001 ;
+
+ /**
+ * The certificate itself is untrusted.
+ */
+ const long UNTRUSTED = 0x00000002 ;
+
+ /**
+ * The current time is not in the range of time for
+ * which the certificate is valid.
+ */
+ const long TIME_INVALID = 0x00000004 ;
+
+ /** The time range of a certificate does not fall within
+ the time range of the issuing certificate.
+ */
+ const long NOT_TIME_NESTED = 0x00000008;
+
+ /**
+ * It is a revoked certificate.
+ */
+ const long REVOKED = 0x00000010 ;
+
+ /**
+ * The certificate revocation status is unknown.
+ */
+ const long UNKNOWN_REVOKATION = 0x00000020 ;
+
+ /**
+ * The certificate signature is invalid.
+ */
+ const long SIGNATURE_INVALID = 0x00000040 ;
+
+ /**
+ * The certificate has invalid extensions.
+ */
+ const long EXTENSION_INVALID = 0x00000080 ;
+
+ /**
+ * The certificate has critical unknown extensions.
+ */
+ const long EXTENSION_UNKNOWN = 0x00000100 ;
+
+ /**
+ * The certificate issuer is unknown.
+ */
+ const long ISSUER_UNKNOWN = 0x00000200;
+
+ /**
+ * The certificate issuer is untrusted.
+ */
+ const long ISSUER_UNTRUSTED = 0x00000400 ;
+
+ /**
+ * The certificate issuer is invalid.
+ */
+ const long ISSUER_INVALID = 0x00001000 ;
+
+ /**
+ * The root certificate is unknown.
+ */
+ const long ROOT_UNKNOWN = 0x00002000 ;
+
+ /**
+ * The root certificate is untrusted.
+ */
+ const long ROOT_UNTRUSTED = 0x00004000 ;
+
+ /**
+ * The root certificate is invalid.
+ */
+ const long ROOT_INVALID = 0x00010000 ;
+
+ /**
+ * The certificate chain is incomplete.
+ */
+ const long CHAIN_INCOMPLETE = 0x00020000 ;
+} ;
+
+} ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/security/CryptographyException.idl b/offapi/com/sun/star/security/CryptographyException.idl
new file mode 100644
index 000000000..b5bcf55f9
--- /dev/null
+++ b/offapi/com/sun/star/security/CryptographyException.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_security_CryptographyException_idl__
+#define __com_sun_star_security_CryptographyException_idl__
+
+#include <com/sun/star/uno/SecurityException.idl>
+
+module com { module sun { module star { module security {
+
+
+exception CryptographyException : com::sun::star::uno::SecurityException
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/security/DocumentDigitalSignatures.idl b/offapi/com/sun/star/security/DocumentDigitalSignatures.idl
new file mode 100644
index 000000000..7c43b422c
--- /dev/null
+++ b/offapi/com/sun/star/security/DocumentDigitalSignatures.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_security_documentdigitalsignatures_idl_
+#define __com_sun_star_security_documentdigitalsignatures_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+#include <com/sun/star/lang/XInitialization.idl>
+#include <com/sun/star/security/XDocumentDigitalSignatures.idl>
+
+module com { module sun { module star { module security {
+
+/**
+ * Service of DocumentDigitalSignatures
+ */
+
+service DocumentDigitalSignatures : XDocumentDigitalSignatures
+{
+ /* default constructor */
+ createDefault();
+
+ /**
+ @param ODFVersion
+ the version of the signature
+ */
+ createWithVersion([in] string ODFVersion);
+
+ /**
+ @param ODFVersion
+ the version of the signature
+
+ @param HasValidDocumentSignature
+ indicates if the document already contains a document signature.
+
+ */
+ createWithVersionAndValidSignature([in] string ODFVersion,
+ [in] boolean HasValidDocumentSignature);
+};
+
+} ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/security/DocumentSignatureInformation.idl b/offapi/com/sun/star/security/DocumentSignatureInformation.idl
new file mode 100644
index 000000000..03b2e1f1d
--- /dev/null
+++ b/offapi/com/sun/star/security/DocumentSignatureInformation.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_security_DocumentSignatureInformation_idl__
+#define __com_sun_star_security_DocumentSignatureInformation_idl__
+
+#include <com/sun/star/graphic/XGraphic.idl>
+#include <com/sun/star/security/XCertificate.idl>
+#include <com/sun/star/security/CertificateValidity.idl>
+
+
+
+module com { module sun { module star { module security {
+
+
+/** Status of digital signatures in a document.
+
+ <p>
+ This structure has the information about a digital signature in a document, and the status if the signature is valid.
+ </p>
+ */
+
+struct DocumentSignatureInformation
+{
+ XCertificate Signer;
+ long SignatureDate;
+ /** Time of day, in 100th of seconds. */
+ long SignatureTime;
+ boolean SignatureIsValid;
+ /**
+ * Reflects the validity of the certificate.
+ * Contains a value from the constants of com::sun::star::security::CertificateValidity.
+ */
+ long CertificateStatus;
+ /**
+ * Indicates what content of a document is signed.
+ * <p>
+ * This value can be ignored when this struct is returned as part of
+ * a macro signature validation.
+ * As of OpenOffice.org 3.2 and ODF 1.2 the document signature comprises
+ * all files except the signature file itself.
+ * Signatures in OOo 2.x were only
+ * applied to the files in the root of the document, except mimetype, the
+ * Pictures and ObjectReplacements/Objects folder. That is, macros
+ * were not part of the document signature.
+ * OOo 3.0 signed everything, except mimetype and the META-INF folder.
+ * <p>
+ * If PartialDocumentSignature is true, then the signature was created by OOo
+ * with a version lower than 3.2. In this case, not all files are signed. The
+ * signature can still be regarded as valid, as long as SignatureIsValid is true
+ * and the certificate could be validated. However, users should be notified about
+ * the fact, that not everything in this document is signed.
+ */
+ boolean PartialDocumentSignature;
+ /**
+ * The ID of the Signature Line
+ * @since LibreOffice 6.0
+ */
+ string SignatureLineId;
+ /**
+ * The Signature Line Image which is shown when the signature is valid
+ * @since LibreOffice 6.0
+ */
+ com::sun::star::graphic::XGraphic ValidSignatureLineImage;
+ /**
+ * The Signature Line Image which is shown when the signature is invalid
+ * @since LibreOffice 6.0
+ */
+ com::sun::star::graphic::XGraphic InvalidSignatureLineImage;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/security/EncryptionException.idl b/offapi/com/sun/star/security/EncryptionException.idl
new file mode 100644
index 000000000..54fab6530
--- /dev/null
+++ b/offapi/com/sun/star/security/EncryptionException.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_security_EncryptionException_idl__
+#define __com_sun_star_security_EncryptionException_idl__
+
+#include <com/sun/star/security/CryptographyException.idl>
+
+module com { module sun { module star { module security {
+
+
+exception EncryptionException : com::sun::star::security::CryptographyException
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/security/ExtAltNameType.idl b/offapi/com/sun/star/security/ExtAltNameType.idl
new file mode 100644
index 000000000..e308c06b0
--- /dev/null
+++ b/offapi/com/sun/star/security/ExtAltNameType.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_security_ExtAltNameType_idl_
+#define __com_sun_star_security_ExtAltNameType_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module security {
+
+/**
+ * Constant definition of a certificate container status.
+ */
+enum ExtAltNameType
+{
+ /**
+ * Customize name/value pair
+ * The value of CertAltNameEntry contains a NamedValue.
+ *
+ * @see com::sun::star::security::CertAltNameEntry
+ */
+ OTHER_NAME,
+
+ /**
+ * The entry contains rfc822 name.
+ * The value of CertAltNameEntry contains an OUString.
+ *
+ * @see com::sun::star::security::CertAltNameEntry
+ */
+ RFC822_NAME,
+
+ /**
+ * The entry contains a dns name.
+ * The value of CertAltNameEntry contains a OUString.
+ *
+ * @see com::sun::star::security::CertAltNameEntry
+ */
+ DNS_NAME,
+
+ /**
+ * Currently unsupported.
+ */
+ DIRECTORY_NAME,
+
+ /**
+ * The entry contains a URL.
+ * The value of CertAltNameEntry contains a OUString.
+ *
+ * @see com::sun::star::security::CertAltNameEntry
+ */
+ URL,
+
+ /**
+ * The entry contains an IP address.
+ * The value of CertAltNameEntry contains a Sequence of sal_Int8.
+ *
+ * @see com::sun::star::security::CertAltNameEntry
+ */
+ IP_ADDRESS,
+
+ /**
+ * The entry contains a registered id.
+ * The value of CertAltNameEntry contains a OUString.
+ *
+ * @see com::sun::star::security::CertAltNameEntry
+ */
+ REGISTERED_ID,
+
+ /**
+ * Currently unsupported.
+ */
+ EDI_PARTY_NAME,
+
+ /**
+ * Currently unsupported.
+ */
+ X400_ADDRESS
+
+};
+
+} ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/security/KeyException.idl b/offapi/com/sun/star/security/KeyException.idl
new file mode 100644
index 000000000..52ac23b7d
--- /dev/null
+++ b/offapi/com/sun/star/security/KeyException.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_security_KeyException_idl__
+#define __com_sun_star_security_KeyException_idl__
+
+#include <com/sun/star/uno/SecurityException.idl>
+
+module com { module sun { module star { module security {
+
+
+exception KeyException : com::sun::star::uno::SecurityException
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/security/KeyUsage.idl b/offapi/com/sun/star/security/KeyUsage.idl
new file mode 100644
index 000000000..1b6832c3b
--- /dev/null
+++ b/offapi/com/sun/star/security/KeyUsage.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_security_keyusage_idl_
+#define __com_sun_star_security_keyusage_idl_
+
+module com { module sun { module star { module security {
+
+constants KeyUsage
+{
+ const long DIGITAL_SIGNATURE = 0x80;
+ const long NON_REPUDIATION = 0x40;
+ const long KEY_ENCIPHERMENT = 0x20;
+ const long DATA_ENCIPHERMENT = 0x10;
+ const long KEY_AGREEMENT = 0x08;
+ const long KEY_CERT_SIGN = 0x04;
+ const long CRL_SIGN = 0x02;
+};
+
+
+} ; } ; } ; } ;
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/security/NoPasswordException.idl b/offapi/com/sun/star/security/NoPasswordException.idl
new file mode 100644
index 000000000..497bd8f05
--- /dev/null
+++ b/offapi/com/sun/star/security/NoPasswordException.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+#ifndef __com_sun_star_security_NoPasswordException_idl__
+#define __com_sun_star_security_NoPasswordException_idl__
+
+#include <com/sun/star/uno/SecurityException.idl>
+
+module com { module sun { module star { module security {
+
+exception NoPasswordException : com::sun::star::uno::SecurityException
+{
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/security/SecurityInfrastructureException.idl b/offapi/com/sun/star/security/SecurityInfrastructureException.idl
new file mode 100644
index 000000000..e2f6f4f74
--- /dev/null
+++ b/offapi/com/sun/star/security/SecurityInfrastructureException.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_security_SecurityInfrastructureException_idl__
+#define __com_sun_star_security_SecurityInfrastructureException_idl__
+
+#include <com/sun/star/uno/SecurityException.idl>
+
+
+
+module com { module sun { module star { module security {
+
+
+exception SecurityInfrastructureException : com::sun::star::uno::SecurityException
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/security/SignatureException.idl b/offapi/com/sun/star/security/SignatureException.idl
new file mode 100644
index 000000000..d5353b705
--- /dev/null
+++ b/offapi/com/sun/star/security/SignatureException.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_security_SignatureException_idl__
+#define __com_sun_star_security_SignatureException_idl__
+
+#include <com/sun/star/security/CryptographyException.idl>
+
+module com { module sun { module star { module security {
+
+exception SignatureException : com::sun::star::security::CryptographyException
+{
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/security/XCertificate.idl b/offapi/com/sun/star/security/XCertificate.idl
new file mode 100644
index 000000000..7fd902738
--- /dev/null
+++ b/offapi/com/sun/star/security/XCertificate.idl
@@ -0,0 +1,137 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_security_XCertificate_idl_
+#define __com_sun_star_security_XCertificate_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/util/DateTime.idl>
+#include <com/sun/star/security/XCertificateExtension.idl>
+#include <com/sun/star/security/CertificateKind.idl>
+
+module com { module sun { module star { module security {
+
+/**
+ * Interface of a PKI Certificate
+ *
+ * <p>This interface represents a certificate (X.509 or OpenPGP) .</p>
+ */
+interface XCertificate : com::sun::star::uno::XInterface
+{
+ /**
+ * the version number attribute of the certificate.
+ */
+ [attribute, readonly] short Version ;
+
+ /**
+ * the serial number attribute of the certificate.
+ */
+ [attribute, readonly] sequence< byte > SerialNumber ;
+
+ /**
+ * the issuer name attribute of the certificate.
+ */
+ [attribute, readonly] string IssuerName ;
+
+ /**
+ * the subject name attribute of the certificate.
+ */
+ [attribute, readonly] string SubjectName ;
+
+ /**
+ * the validity NotBefore date attribute of the certificate.
+ */
+ [attribute, readonly] com::sun::star::util::DateTime NotValidBefore ;
+
+ /**
+ * the validity NotAfter date attribute of the certificate.
+ */
+ [attribute, readonly] com::sun::star::util::DateTime NotValidAfter ;
+
+ /**
+ * the issuer unique ID attribute of the certificate.
+ */
+ [attribute, readonly] sequence< byte > IssuerUniqueID ;
+
+ /**
+ * the subject unique ID attribute of the certificate.
+ */
+ [attribute, readonly] sequence< byte > SubjectUniqueID ;
+
+ /**
+ * all extensions of a certificate.
+ */
+ [attribute, readonly] sequence< XCertificateExtension > Extensions ;
+
+ /**
+ * the DER encoded form of the certificate
+ */
+ [attribute, readonly] sequence< byte > Encoded ;
+
+ /**
+ * the algorithm of the subject public key
+ */
+ [attribute, readonly] string SubjectPublicKeyAlgorithm;
+
+ /**
+ * the value of the subject public key
+ */
+ [attribute, readonly] sequence< byte > SubjectPublicKeyValue;
+
+ /**
+ * the signature algorithm
+ */
+ [attribute, readonly] string SignatureAlgorithm;
+
+ /**
+ * the SHA-1 thumbprint
+ */
+ [attribute, readonly] sequence< byte > SHA1Thumbprint;
+
+ /**
+ * the MD5 thumbprint
+ */
+ [attribute, readonly] sequence< byte > MD5Thumbprint;
+
+ /**
+ * the kind of certificate, X.509 or OpenPGP
+ *
+ * @since LibreOffice 5.4
+ */
+ [attribute, readonly] com::sun::star::security::CertificateKind CertificateKind;
+
+ /**
+ * Find an extension with an object identifier.
+ */
+ XCertificateExtension findCertificateExtension( [in]sequence< byte > oid ) ;
+
+ /**
+ * get the certificate usage. The return value is a set of bits, as defined in RFC3280 for the
+ * KeyUsage BIT STRING. Note the bit and byte order used in ASN.1, so for instance the bit
+ * dataEncipherment in KeyUsage, "bit 3", corresponds to CERT_DATA_ENCIPHERMENT_KEY_USAGE in
+ * Win32 and KU_DATA_ENCIPHERMENT in NSS, both with value 0x10.
+ */
+ long getCertificateUsage();
+} ;
+
+} ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/security/XCertificateContainer.idl b/offapi/com/sun/star/security/XCertificateContainer.idl
new file mode 100644
index 000000000..f98529d96
--- /dev/null
+++ b/offapi/com/sun/star/security/XCertificateContainer.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_security_XCertificateContainer_idl__
+#define __com_sun_star_security_XCertificateContainer_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/security/CertificateContainerStatus.idl>
+
+module com { module sun { module star { module security {
+
+/** Manage user certificate for temporary connections.
+ @see CertificateContainer
+ @since OOo 2.3.1
+*/
+interface XCertificateContainer
+{
+ /** Store the certificate in memory.
+ @param url
+ @param cert
+ @param trust
+ @return boolean
+ */
+
+ boolean addCertificate( [in] string url,
+ [in] string cert, [in] boolean trust );
+
+ /** Check if a certificate was stored earlier before.
+ @param url
+ @param cert
+ @return CertificateContainerStatus
+
+ */
+
+ CertificateContainerStatus hasCertificate([in] string url,
+ [in] string cert );
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/security/XCertificateExtension.idl b/offapi/com/sun/star/security/XCertificateExtension.idl
new file mode 100644
index 000000000..8ea7e77b6
--- /dev/null
+++ b/offapi/com/sun/star/security/XCertificateExtension.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_security_XCertificateExtension_idl_
+#define __com_sun_star_security_XCertificateExtension_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module security {
+
+/**
+ * Interface of a PKI Certificate
+ *
+ * <p>This interface represents a x509 certificate.</p>
+ */
+interface XCertificateExtension : com::sun::star::uno::XInterface
+{
+ /**
+ * Check whether it is a critical extension
+ */
+ boolean isCritical() ;
+
+ /**
+ * Get the extension object identifier in string.
+ */
+ [attribute, readonly] sequence< byte > ExtensionId ;
+
+ /**
+ * Get the extension value
+ */
+ [attribute, readonly] sequence< byte > ExtensionValue ;
+};
+
+} ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/security/XDocumentDigitalSignatures.idl b/offapi/com/sun/star/security/XDocumentDigitalSignatures.idl
new file mode 100644
index 000000000..1eb262775
--- /dev/null
+++ b/offapi/com/sun/star/security/XDocumentDigitalSignatures.idl
@@ -0,0 +1,232 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_security_XDocumentDigitalSignatures_idl_
+#define __com_sun_star_security_XDocumentDigitalSignatures_idl_
+
+#include <com/sun/star/awt/XWindow.idl>
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/io/XInputStream.idl>
+#include <com/sun/star/io/XStream.idl>
+#include <com/sun/star/embed/XStorage.idl>
+#include <com/sun/star/security/DocumentSignatureInformation.idl>
+#include <com/sun/star/security/XCertificate.idl>
+
+module com { module sun { module star { module security {
+
+/** Interface for signing and verifying digital signatures in office documents
+
+ <p>
+ This interface can be used to digitally sign different content in an office document.
+ It can also be used to verify digital signatures.
+ </p>
+ */
+
+interface XDocumentDigitalSignatures : com::sun::star::uno::XInterface
+{
+ /** signs the content of the document including text and pictures.
+
+ <p>Macros will not be signed.</p>
+ */
+ boolean signDocumentContent( [in] ::com::sun::star::embed::XStorage xStorage,
+ [in] ::com::sun::star::io::XStream xSignStream);
+
+ /** Signs the content of the document including text and pictures
+ using the given XCertificate.
+
+ Also adds the given Signature Line Id and the signed and unsigned graphics to
+ the signature.
+
+ Macros will not be signed.
+
+ @since LibreOffice 6.1
+ */
+ boolean signSignatureLine( [in] ::com::sun::star::embed::XStorage xStorage,
+ [in] ::com::sun::star::io::XStream xSignStream,
+ [in] string signatureLineId,
+ [in] ::com::sun::star::security::XCertificate xCertificate,
+ [in] ::com::sun::star::graphic::XGraphic xValidGraphic,
+ [in] ::com::sun::star::graphic::XGraphic xInvalidGraphic,
+ [in] string comment);
+
+ /** checks for digital signatures and their status.
+
+ <p>Only document content will be checked.</p>
+ */
+ sequence< com::sun::star::security::DocumentSignatureInformation > verifyDocumentContentSignatures(
+ [in] ::com::sun::star::embed::XStorage xStorage,
+ [in] ::com::sun::star::io::XInputStream xSignInStream );
+
+ /** shows the digital signatures of the document content
+ */
+ void showDocumentContentSignatures(
+ [in] ::com::sun::star::embed::XStorage xStorage,
+ [in] ::com::sun::star::io::XInputStream xSignInStream );
+
+ /** allows to get the default stream name for storing of the signature of
+ the document content.
+ */
+ string getDocumentContentSignatureDefaultStreamName();
+
+ /** signs the content of the Scripting including macros and basic dialogs
+
+ <p>The rest of document content will not be signed.</p>
+ */
+ boolean signScriptingContent( [in] ::com::sun::star::embed::XStorage xStorage,
+ [in] ::com::sun::star::io::XStream xSignStream);
+
+ /** checks for digital signatures and their status.
+
+ <p>Only Scripting content will be checked.</p>
+ */
+ sequence< com::sun::star::security::DocumentSignatureInformation > verifyScriptingContentSignatures(
+ [in] ::com::sun::star::embed::XStorage xStorage,
+ [in] ::com::sun::star::io::XInputStream xSignInStream );
+
+ /** shows the digital signatures of the scripting content
+ */
+ void showScriptingContentSignatures(
+ [in] ::com::sun::star::embed::XStorage xStorage,
+ [in] ::com::sun::star::io::XInputStream xSignInStream );
+
+ /** allows to get the default stream name for storing of the signature of
+ the scripting content.
+ */
+ string getScriptingContentSignatureDefaultStreamName();
+
+ /** signs the full Package, which means everything in the storage except the content of META-INF
+ */
+ boolean signPackage( [in] ::com::sun::star::embed::XStorage Storage,
+ [in] ::com::sun::star::io::XStream xSignStream);
+
+ /** checks for digital signatures and their status.
+
+ <p>Only Package content will be checked.</p>
+ */
+ sequence< com::sun::star::security::DocumentSignatureInformation > verifyPackageSignatures(
+ [in] ::com::sun::star::embed::XStorage Storage,
+ [in] ::com::sun::star::io::XInputStream xSignInStream );
+
+ /** shows the digital signatures of the package
+ */
+ void showPackageSignatures(
+ [in] ::com::sun::star::embed::XStorage xStorage,
+ [in] ::com::sun::star::io::XInputStream xSignInStream );
+
+ /** allows to get the default stream name for storing of the signature of
+ the package.
+ */
+ string getPackageSignatureDefaultStreamName();
+
+
+ void showCertificate( [in] com::sun::star::security::XCertificate Certificate );
+
+
+ /** manages trusted sources (Authors and paths )
+ */
+ void manageTrustedSources();
+ boolean isAuthorTrusted( [in] com::sun::star::security::XCertificate Author );
+ boolean isLocationTrusted( [in] string Location );
+
+ // These methods should raise a confirmation dialog, so they can not be misused from bad macros.
+ void addAuthorToTrustedSources( [in] com::sun::star::security::XCertificate Author );
+ void addLocationToTrustedSources( [in] string Location );
+
+ /** This method shows the CertificateChooser dialog, used by document and PDF signing
+ Shows only private certificates
+
+ @since LibreOffice 5.3
+ */
+ com::sun::star::security::XCertificate chooseCertificate( [out] string Description );
+
+ /** This is an alias for 'chooseCertificate', shows the CertificateChooser dialog
+ with private certificates
+
+ @since LibreOffice 6.0
+ */
+ com::sun::star::security::XCertificate chooseSigningCertificate( [out] string Description );
+
+ /** This shows the certificate selection dialog and allows to only select the certificate
+ without actually signing the document.
+
+ @since LibreOffice 6.1
+ */
+ com::sun::star::security::XCertificate selectSigningCertificate( [out] string Description );
+
+ /** This shows the certificate selection dialog and allows to only select the certificate
+ without actually signing the document. Only certificates of the given type will be shown.
+
+ @since LibreOffice 6.2
+ */
+ com::sun::star::security::XCertificate selectSigningCertificateWithType(
+ [in] CertificateKind certificateKind,
+ [out] string Description);
+
+ /** This method shows the CertificateChooser dialog with all certificates, private and
+ other people's. Useful when choosing certificate/key for encryption
+
+ @since LibreOffice 6.0
+ */
+ sequence< com::sun::star::security::XCertificate > chooseEncryptionCertificate( );
+
+ /** This method shows the CertificateChooser dialog, used by document and PDF signing
+ Shows only private certificates and returns usage string in addition to description.
+
+ @since LibreOffice 6.0
+ */
+ com::sun::star::security::XCertificate chooseCertificateWithProps( [out] sequence<::com::sun::star::beans::PropertyValue> Properties);
+
+ /** Signs the content of the document with the provided certificate.
+
+ @since LibreOffice 6.2
+ */
+ boolean signDocumentWithCertificate([in] ::com::sun::star::security::XCertificate xCertificate,
+ [in] ::com::sun::star::embed::XStorage xStorage,
+ [in] ::com::sun::star::io::XStream xStream);
+
+ /** Set parent window to use when showing dialogs
+
+ @since LibreOffice 6.3
+ */
+ void setParentWindow([in] ::com::sun::star::awt::XWindow xParentWindow);
+
+ /** signs the content of the Scripting including macros and basic dialogs with the provided certificate.
+
+ <p>The rest of document content will not be signed.</p>
+
+ @since LibreOffice 7.0
+ */
+ boolean signScriptingContentWithCertificate([in] ::com::sun::star::security::XCertificate xCertificate,
+ [in] ::com::sun::star::embed::XStorage xStorage,
+ [in] ::com::sun::star::io::XStream xStream);
+
+ /** signs the full Package, which means everything in the storage except the content of META-INF with the provided certificate.
+
+ @since LibreOffice 7.0
+ */
+ boolean signPackageWithCertificate([in] ::com::sun::star::security::XCertificate xCertificate,
+ [in] ::com::sun::star::embed::XStorage xStorage,
+ [in] ::com::sun::star::io::XStream xStream);
+};
+
+} ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/security/XSanExtension.idl b/offapi/com/sun/star/security/XSanExtension.idl
new file mode 100644
index 000000000..fbfbee31c
--- /dev/null
+++ b/offapi/com/sun/star/security/XSanExtension.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_security_XSanExtension_idl_
+#define __com_sun_star_security_XSanExtension_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/security/XCertificateExtension.idl>
+#include <com/sun/star/security/CertAltNameEntry.idl>
+
+module com { module sun { module star { module security {
+
+/**
+ * Interface of a X509 Subject Alternative Name Certificate Extension
+ *
+ * <p>This interface represents a x509 certificate extension.</p>
+ */
+interface XSanExtension : com::sun::star::security::XCertificateExtension
+{
+ /**
+ * Contains the alternative names of a certificate
+ */
+ [attribute, readonly] sequence< com::sun::star::security::CertAltNameEntry > AlternativeNames;
+};
+
+} ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/setup/UpdateCheck.idl b/offapi/com/sun/star/setup/UpdateCheck.idl
new file mode 100644
index 000000000..ee908dcc0
--- /dev/null
+++ b/offapi/com/sun/star/setup/UpdateCheck.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_setup_UpdateCheck_idl__
+#define __com_sun_star_setup_UpdateCheck_idl__
+
+#include <com/sun/star/task/XJob.idl>
+
+
+module com { module sun { module star { module setup {
+
+
+/**
+ @since LibreOffice 4.1
+*/
+service UpdateCheck : com::sun::star::task::XJob;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/setup/UpdateCheckConfig.idl b/offapi/com/sun/star/setup/UpdateCheckConfig.idl
new file mode 100644
index 000000000..f8e29e4bd
--- /dev/null
+++ b/offapi/com/sun/star/setup/UpdateCheckConfig.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_setup_UpdateCheckConfig_idl__
+#define __com_sun_star_setup_UpdateCheckConfig_idl__
+
+#include <com/sun/star/container/XNameReplace.idl>
+
+
+module com { module sun { module star { module setup {
+
+
+/**
+ This was created from its places of use, so it may be incomplete.
+
+ @since LibreOffice 4.1
+*/
+service UpdateCheckConfig : com::sun::star::container::XNameReplace;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
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: */
diff --git a/offapi/com/sun/star/smarttags/SmartTagAction.idl b/offapi/com/sun/star/smarttags/SmartTagAction.idl
new file mode 100644
index 000000000..3e494dd09
--- /dev/null
+++ b/offapi/com/sun/star/smarttags/SmartTagAction.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_smarttags_SmartTagAction_idl__
+#define __com_sun_star_smarttags_SmartTagAction_idl__
+
+
+module com { module sun { module star { module smarttags {
+ interface XSmartTagAction; };
+}; }; };
+
+
+module com { module sun { module star { module smarttags {
+
+
+/** provides one or more actions for smart tags.
+
+ <p>An implementation of this service defines one or more actions
+ that can be performed for a smart tag which has been recognized
+ by a SmartTagRecognizer service.</p>
+
+ @since OOo 2.3
+ */
+
+service SmartTagAction : XSmartTagAction {};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/smarttags/SmartTagRecognizer.idl b/offapi/com/sun/star/smarttags/SmartTagRecognizer.idl
new file mode 100644
index 000000000..95b1d1b39
--- /dev/null
+++ b/offapi/com/sun/star/smarttags/SmartTagRecognizer.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_smarttags_SmartTagRecognizer_idl__
+#define __com_sun_star_smarttags_SmartTagRecognizer_idl__
+
+
+module com { module sun { module star { module smarttags {
+ interface XSmartTagRecognizer; };
+}; }; };
+
+
+module com { module sun { module star { module smarttags {
+
+
+/** recognizes smart tags.
+
+ <p>Implementations of this service are used to scan the document
+ text for smart tags. Smart tags are pieces of text that can be
+ associated with specific actions which are defined by
+ implementations of the SmartTagAction service.</p>
+
+ @since OOo 2.3
+ */
+
+service SmartTagRecognizer : XSmartTagRecognizer {};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/smarttags/SmartTagRecognizerMode.idl b/offapi/com/sun/star/smarttags/SmartTagRecognizerMode.idl
new file mode 100644
index 000000000..c1380d522
--- /dev/null
+++ b/offapi/com/sun/star/smarttags/SmartTagRecognizerMode.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_smarttags_SmartTagRecognizerMode_idl__
+#define __com_sun_star_smarttags_SmartTagRecognizerMode_idl__
+
+
+ module com { module sun { module star { module smarttags {
+
+
+/** specifies the which type of text is passed to
+ XSmartTagRecognizer::recognize()</p>
+
+ @since OOo 2.3
+ */
+
+enum SmartTagRecognizerMode
+{
+ /// Text passed to the recognizer is a single character.
+ CHAR,
+
+ /// Text passed to the recognizer is a single word.
+ SINGLE_WORD,
+
+ /// Text passed to the recognizer is a paragraph.
+ PARAGRAPH,
+
+ /// Text passed to the recognizer is a cell.
+ CELL
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/smarttags/XRangeBasedSmartTagRecognizer.idl b/offapi/com/sun/star/smarttags/XRangeBasedSmartTagRecognizer.idl
new file mode 100644
index 000000000..9a781d623
--- /dev/null
+++ b/offapi/com/sun/star/smarttags/XRangeBasedSmartTagRecognizer.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_smarttags_XRangeBasedSmartTagRecognizer_idl__
+#define __com_sun_star_smarttags_XRangeBasedSmartTagRecognizer_idl__
+
+#include <com/sun/star/lang/XInitialization.idl>
+#include <com/sun/star/lang/Locale.idl>
+#include <com/sun/star/smarttags/SmartTagRecognizerMode.idl>
+#include <com/sun/star/text/XTextMarkup.idl>
+#include <com/sun/star/frame/XController.idl>
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#include <com/sun/star/text/XTextRange.idl>
+
+module com { module sun { module star { module smarttags {
+
+/**
+ provides access to a range based smart tag recognizer.
+ */
+
+interface XRangeBasedSmartTagRecognizer: com::sun::star::lang::XInitialization
+{
+ /** recognizes smart tags.
+
+ @param xRange
+ The text that should be scanned by the recognizer.
+
+ @param eDataType
+ This value indicates the type of the passed text.
+
+ @param xTextMarkup
+ This object is used to submit any recognized smart tags
+ to the calling application.
+
+ @param aApplicationName
+ A string containing the name of the calling application.
+
+ @param xController
+ The current controller of the document.
+ */
+
+ void recognizeTextRange( [in] com::sun::star::text::XTextRange xRange,
+ [in] SmartTagRecognizerMode eDataType,
+ [in] com::sun::star::text::XTextMarkup xTextMarkup,
+ [in] string aApplicationName,
+ [in] com::sun::star::frame::XController xController);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/smarttags/XSmartTagAction.idl b/offapi/com/sun/star/smarttags/XSmartTagAction.idl
new file mode 100644
index 000000000..9a94844ba
--- /dev/null
+++ b/offapi/com/sun/star/smarttags/XSmartTagAction.idl
@@ -0,0 +1,323 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_smarttags_XSmartTagAction_idl__
+#define __com_sun_star_smarttags_XSmartTagAction_idl__
+
+#include <com/sun/star/container/XStringKeyMap.idl>
+#include <com/sun/star/lang/XInitialization.idl>
+#include <com/sun/star/lang/Locale.idl>
+#include <com/sun/star/text/XTextRange.idl>
+#include <com/sun/star/frame/XController.idl>
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+module com { module sun { module star { module smarttags {
+
+
+/** provides access to smart tag actions.
+
+ @since OOo 2.3
+ */
+
+interface XSmartTagAction: com::sun::star::lang::XInitialization
+{
+ /** obtains a name that describes this action component.
+
+ @param aLocale
+ Is used for localization of the name.
+
+ @return
+ the name describing the action component.
+ */
+ string getName( [in] ::com::sun::star::lang::Locale aLocale );
+
+
+ /** obtains a detailed description of this action component.
+
+ @param aLocale
+ Is used for localization of the description.
+
+ @return
+ the description of the action component.
+ */
+ string getDescription( [in] ::com::sun::star::lang::Locale aLocale );
+
+
+ /** the number of smart tag types supported by this action
+ component.
+ */
+ [attribute, readonly] long SmartTagCount;
+
+
+ /** obtains the name of one specific smart tag type supported by
+ this action component.
+
+ @param nSmartTagIndex
+ Index of the wanted smart tag type. Value needs to be
+ between 0 and the number of smarttags available
+ (exclusively).
+
+ @return
+ a unique name of the smart tag type. Smart tag type
+ names are always in the format of namespaceURI#tagname.
+
+ @throws com::sun::star::lang::IndexOutOfBoundsException
+ if nSmartTagIndex is greater than SmartTagCount.
+ */
+ string getSmartTagName( [in] long nSmartTagIndex)
+ raises( com::sun::star::lang::IndexOutOfBoundsException );
+
+
+ /** obtains the caption of the smart tag type for using in user
+ interfaces.
+
+ @param nSmartTagIndex
+ Index of the wanted smart tag type. Value needs to be
+ between 0 and the number of smarttags available
+ (exclusively).
+
+ @param aLocale
+ Is used for localization of the caption.
+
+ @return
+ the caption associated with the smart tag type.
+
+ @throws com::sun::star::lang::IndexOutOfBoundsException
+ if nSmartTagIndex is greater than SmartTagCount
+ */
+ string getSmartTagCaption( [in] long nSmartTagIndex,
+ [in] ::com::sun::star::lang::Locale aLocale)
+ raises( com::sun::star::lang::IndexOutOfBoundsException );
+
+
+ /** obtains the number of actions provided for a specified smart tag
+ type.
+
+ @param aSmartTagName
+ Name of the wanted smart tag type. This is one of the
+ names obtained by getSmartTagName()
+
+ @param xController
+ The current controller of the document.
+
+ @param xProperties
+ Contains the smart tag properties collected by the smart
+ tag recognizer.
+
+ @return
+ the number of actions available for the given smart tag
+ type.
+ */
+ long getActionCount( [in] string aSmartTagName,
+ [in] com::sun::star::frame::XController xController,
+ [in] com::sun::star::container::XStringKeyMap xProperties);
+
+ /** obtains a unique integer identifier for an action.
+
+ @param aSmartTagName
+ Name of the wanted smart tag type. This is one of the
+ names obtained by getSmartTagName()
+
+ @param nActionIndex
+ The index of the action for the given smart tag type.
+
+ @param xController
+ The current controller of the document.
+
+ @return
+ the unique integer identifier for the requested action.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the specified nActionIndex is greater than the number
+ of available actions for the specified smart tag type.
+ */
+ long getActionID( [in] string aSmartTagName, [in] long nActionIndex,
+ [in] com::sun::star::frame::XController xController )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+
+ /** obtains a caption for a specified action for use in user
+ interfaces.
+
+ @param nActionID
+ The identifier of the requested action.
+
+ @param aApplicationName
+ A string containing the name of the calling application.
+
+ @param aLocale
+ Is used for localization of the caption.
+
+ @param xProperties
+ Contains additional smart tag properties collected by
+ the smart tag recognizer.
+
+ @param aText
+ The calling application can pass the text of the smart
+ tag to the action component.
+
+ @param aXML
+ A string that is a XML representation of the smart tag.
+
+ @param xController
+ The current controller of the document.
+
+ @param xTarget
+ A text range representing the smart tag in the document.
+
+ @return
+ the caption of the requested action.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the ActionID is not recognized.
+ */
+ string getActionCaptionFromID( [in] long nActionID,
+ [in] string aApplicationName,
+ [in] ::com::sun::star::lang::Locale aLocale,
+ [in] com::sun::star::container::XStringKeyMap xProperties,
+ [in] string aText,
+ [in] string aXML,
+ [in] com::sun::star::frame::XController xController,
+ [in] com::sun::star::text::XTextRange xTarget )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+
+ /** obtains a language independent name of an action.
+
+ @param nActionID
+ The identifier of the requested action.
+
+ @param xController
+ The current controller of the document.
+
+ @return
+ the language independent name of the specified action.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the ActionID is not recognized.
+ */
+ string getActionNameFromID( [in] long nActionID,
+ [in] com::sun::star::frame::XController xController)
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+
+ /** invokes an action.
+
+ @param nActionID
+ The identifier of the requested action.
+
+ @param aApplicationName
+ A string containing the name of the calling application.
+
+ @param xController
+ The current controller of the document.
+
+ @param xTarget
+ A text range representing the smart tag in the document.
+
+ @param xProperties
+ Contains the smart tag properties collected by the smart
+ tag recognizer.
+
+ @param aText
+ The calling application can pass the text of the smart
+ tag to the action component.
+
+ @param aXML
+ A string that is a XML representation of the smart tag.
+
+ @param aLocale
+ Is used for localization of the action.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the ActionID is not recognized.
+ */
+ void invokeAction( [in] long nActionID,
+ [in] string aApplicationName,
+ [in] com::sun::star::frame::XController xController,
+ [in] com::sun::star::text::XTextRange xTarget,
+ [in] com::sun::star::container::XStringKeyMap xProperties,
+ [in] string aText,
+ [in] string aXML,
+ [in] ::com::sun::star::lang::Locale aLocale )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+
+ /** determines whether a caption is dynamic.
+
+ @param nActionID
+ The identifier of the requested action.
+
+ @param aApplicationName
+ A string containing the name of the calling application.
+
+ @param xController
+ The current controller of the document.
+
+ @param aLocale
+ Is used for localization.
+
+ @return
+ a boolean indicating whether the caption is dynamic.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the ActionID is not recognized.
+ */
+ boolean isCaptionDynamic( [in] long nActionID,
+ [in] string aApplicationName,
+ [in] com::sun::star::frame::XController xController,
+ [in] ::com::sun::star::lang::Locale aLocale )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+
+ /** determines whether the smart tag indicator should be visible.
+
+ @param nActionID
+ The identifier of the requested action.
+
+ @param aApplicationName
+ A string containing the name of the calling application.
+
+ @param xController
+ The current controller of the document.
+
+ @param aLocale
+ Is used for localization.
+
+ @return
+ a boolean indicating whether the smart tag indicator
+ should be visible.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the ActionID is not recognized.
+ */
+ boolean isShowSmartTagIndicator( [in] long nActionID,
+ [in] string aApplicationName,
+ [in] com::sun::star::frame::XController xController,
+ [in] ::com::sun::star::lang::Locale aLocale )
+ raises( com::sun::star::lang::IllegalArgumentException );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/smarttags/XSmartTagRecognizer.idl b/offapi/com/sun/star/smarttags/XSmartTagRecognizer.idl
new file mode 100644
index 000000000..4310a1747
--- /dev/null
+++ b/offapi/com/sun/star/smarttags/XSmartTagRecognizer.idl
@@ -0,0 +1,194 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_smarttags_XSmartTagRecognizer_idl__
+#define __com_sun_star_smarttags_XSmartTagRecognizer_idl__
+
+#include <com/sun/star/lang/XInitialization.idl>
+#include <com/sun/star/lang/Locale.idl>
+#include <com/sun/star/i18n/XBreakIterator.idl>
+#include <com/sun/star/smarttags/SmartTagRecognizerMode.idl>
+#include <com/sun/star/text/XTextMarkup.idl>
+#include <com/sun/star/text/XTextRange.idl>
+#include <com/sun/star/frame/XController.idl>
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+
+module com { module sun { module star { module smarttags {
+
+
+/**
+ provides access to a smart tag recognizer.
+
+ @since OOo 2.3
+ */
+
+interface XSmartTagRecognizer: com::sun::star::lang::XInitialization
+{
+ /** obtains a name that describes this recognizer component.
+
+ @param aLocale
+ Is used for localization of the name.
+
+ @return
+ the name of the recognizer component.
+ */
+ string getName( [in] ::com::sun::star::lang::Locale aLocale );
+
+
+ /** obtains a detailed description of this recognizer component.
+
+ @param aLocale
+ Is used for localization of the description.
+
+ @return
+ the description of the recognizer component.
+ */
+ string getDescription( [in] ::com::sun::star::lang::Locale aLocale );
+
+
+ /** The number of smart tag types supported by this recognizer
+ component.
+ */
+ [attribute, readonly] long SmartTagCount;
+
+
+ /** obtains the name of one specific smart tag type supported by
+ this recognizer component.
+
+ @param nSmartTagIndex
+ Index of the wanted smart tag type. Value needs to be
+ between 0 and the number of smarttags available
+ (exclusively).
+
+ @return
+ the unique name of the smart tag type. Smart tag type
+ names are always in the format of namespaceURI#tagname.
+
+ @throws com::sun::star::lang::IndexOutOfBoundsException
+ if nSmartTagIndex is greater than SmartTagCount
+ */
+ string getSmartTagName( [in] long nSmartTagIndex )
+ raises( com::sun::star::lang::IndexOutOfBoundsException );
+
+
+ /** obtains the URL that can be used to download new or updated
+ recognizers.
+
+ @param nSmartTagIndex
+ Index of the wanted smart tag type. Value needs to be
+ between 0 and the number of smarttags available
+ (exclusively).
+
+ @return
+ the download URL.
+
+ @throws com::sun::star::lang::IndexOutOfBoundsException
+ if nSmartTagIndex is greater than SmartTagCount
+ */
+ string getSmartTagDownloadURL( [in] long nSmartTagIndex )
+ raises( com::sun::star::lang::IndexOutOfBoundsException );
+
+
+ /** recognizes smart tags.
+
+ @param aText
+ The text that should be scanned by the recognizer. aText
+ is UTF-16 encoded.
+
+ @param nStart
+ Denotes the start position of the region to scan.
+
+ @param nLength
+ Denotes the length of the text to scan.
+
+ @param eDataType
+ This value indicates the type of the passed text.
+
+ @param aLocale
+ Is used to indicate the language of the passed text.
+
+ @param xTextMarkup
+ This object is used to submit any recognized smart tags
+ to the calling application.
+
+ @param aApplicationName
+ A string containing the name of the calling application.
+
+ @param xController
+ The current controller of the document.
+
+ @param xTokenizer
+ This can be used to tokenize the string to recognize.
+ */
+ void recognize( [in] string aText,
+ [in] long nStart,
+ [in] long nLength,
+ [in] SmartTagRecognizerMode eDataType,
+ [in] com::sun::star::lang::Locale aLocale,
+ [in] com::sun::star::text::XTextMarkup xTextMarkup,
+ [in] string aApplicationName,
+ [in] com::sun::star::frame::XController xController,
+ [in] com::sun::star::i18n::XBreakIterator xTokenizer );
+
+ /** indicates whether there is a property page for a smart tag type.
+
+ @param nSmartTagIndex
+ Index of the wanted smart tag type. Value needs to be
+ between 0 and the number of smarttags available
+ (exclusively).
+
+ @param aLocale
+ Is used for localization of the property page.
+
+ @return
+ true if there is a property page matching the requested
+ smart tag type and locale.
+
+ @throws com::sun::star::lang::IndexOutOfBoundsException
+ if nSmartTagIndex is greater than SmartTagCount
+ */
+ boolean hasPropertyPage( [in] long nSmartTagIndex,
+ [in] ::com::sun::star::lang::Locale aLocale )
+ raises( com::sun::star::lang::IndexOutOfBoundsException );
+
+
+ /** launches the property page for a smart tag type.
+
+ @param nSmartTagIndex
+ Index of the wanted smart tag type. Value needs to be
+ between 0 and the number of smarttags available
+ (exclusively).
+
+ @param aLocale
+ Is used for localization of the property page.
+
+ @throws com::sun::star::lang::IndexOutOfBoundsException
+ if nSmartTagIndex is greater than SmartTagCount
+ */
+ void displayPropertyPage( [in] long nSmartTagIndex,
+ [in] ::com::sun::star::lang::Locale aLocale )
+ raises( com::sun::star::lang::IndexOutOfBoundsException );
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/style/BreakType.idl b/offapi/com/sun/star/style/BreakType.idl
new file mode 100644
index 000000000..2af3ff7de
--- /dev/null
+++ b/offapi/com/sun/star/style/BreakType.idl
@@ -0,0 +1,96 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_style_BreakType_idl__
+#define __com_sun_star_style_BreakType_idl__
+
+
+
+ module com { module sun { module star { module style {
+
+/** These enumeration values are used to specify if and how a page or
+ column break is applied.
+ */
+published enum BreakType
+{
+ /** No column or page break is applied.
+ */
+ NONE,
+
+ /** A column break is applied before the object to which it belongs.
+
+
+
+ <p>This implies that the object to which it belongs is the
+ first in its column.</p>
+ */
+ COLUMN_BEFORE,
+
+ /** A column break is applied after the object to which it belongs.
+
+
+
+ <p>This implies that the object to which it belongs is the last
+ in its column.</p>
+ */
+ COLUMN_AFTER,
+
+ /** A column break is applied before and after the object to which
+ it belongs.
+
+
+
+ <p>This implies that this object is the only one in its column.</p>
+ */
+ COLUMN_BOTH,
+
+ /** A page break is applied before the object to which it belongs.
+
+
+
+ <p>This implies that the object to which it belongs is the
+ first on its page. </p>
+ */
+ PAGE_BEFORE,
+
+ /** A page break is applied after the object to which it belongs.
+
+
+
+ <p>This implies that the object to which it belongs is the last
+ on its page.</p>
+ */
+ PAGE_AFTER,
+
+ /** A page break is applied before and after the object to which
+ it belongs.
+
+
+
+ <p>This implies that this object is the only one on its page.</p>
+ */
+ PAGE_BOTH
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/style/CaseMap.idl b/offapi/com/sun/star/style/CaseMap.idl
new file mode 100644
index 000000000..4ced7d697
--- /dev/null
+++ b/offapi/com/sun/star/style/CaseMap.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_style_CaseMap_idl__
+#define __com_sun_star_style_CaseMap_idl__
+
+
+
+ module com { module sun { module star { module style {
+
+/** These constants are used to specify a case-related mapping for
+ formatting and displaying characters.
+ */
+published constants CaseMap
+{
+ /** The case of the characters is unchanged.
+ */
+ const short NONE = 0;
+
+ /** All characters are put in upper case.
+ */
+ const short UPPERCASE = 1;
+
+ /** All characters are put in lower case.
+ */
+ const short LOWERCASE = 2;
+
+ /** The first character of each word is put in upper case.
+ */
+ const short TITLE = 3;
+
+ /** All characters are put in upper case, but with a smaller font height.
+ */
+ const short SMALLCAPS = 4;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/style/CellStyle.idl b/offapi/com/sun/star/style/CellStyle.idl
new file mode 100644
index 000000000..9849f0274
--- /dev/null
+++ b/offapi/com/sun/star/style/CellStyle.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_style_CellStyle_idl__
+#define __com_sun_star_style_CellStyle_idl__
+
+#include <com/sun/star/style/Style.idl>
+
+
+module com { module sun { module star { module style {
+
+
+/** is a common service for table cell styles.
+
+ @see com::sun::star::sheet::TableCellStyle
+ */
+published service CellStyle
+{
+
+ /** provides common functionality for styles.
+ */
+ service com::sun::star::style::Style;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/style/CharacterProperties.idl b/offapi/com/sun/star/style/CharacterProperties.idl
new file mode 100644
index 000000000..edb40949d
--- /dev/null
+++ b/offapi/com/sun/star/style/CharacterProperties.idl
@@ -0,0 +1,489 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_style_CharacterProperties_idl__
+#define __com_sun_star_style_CharacterProperties_idl__
+
+#include <com/sun/star/lang/Locale.idl>
+#include <com/sun/star/util/Color.idl>
+#include <com/sun/star/awt/FontSlant.idl>
+#include <com/sun/star/container/XNameContainer.idl>
+#include <com/sun/star/table/BorderLine2.idl>
+#include <com/sun/star/table/ShadowFormat.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+
+
+ module com { module sun { module star { module style {
+
+
+/** This is a set of properties to describe the style of characters.@see ParagraphProperties
+ */
+published service CharacterProperties
+{
+
+ /** This property specifies the name of the font style.
+
+ <p>It may contain more than one name separated by comma.</p>
+ */
+ [property] string CharFontName;
+
+
+ /** This property contains the name of the font style.
+
+ <p>This property may be empty.</p>
+ */
+ [property] string CharFontStyleName;
+
+
+ /** This property contains font family.
+ @see com::sun::star::awt::FontFamily
+ */
+ [property] short CharFontFamily;
+
+
+ /** This property contains the text encoding of the font.
+ @see com::sun::star::awt::CharSet
+ */
+ [property] short CharFontCharSet;
+
+
+ /** This property contains the font pitch.
+ @see com::sun::star::awt::FontPitch
+ */
+ [property] short CharFontPitch;
+
+
+ /** This property contains the value of the text color.
+ */
+ [property] com::sun::star::util::Color CharColor;
+
+
+ /** specifies the percentage by which to raise/lower superscript/subscript
+ characters.
+
+ <p>Negative values denote subscripts and positive values superscripts.</p>
+
+ @see CharEscapementHeight
+ */
+ [optional, property] short CharEscapement;
+
+
+ /** This value contains the height of the characters in point.
+ */
+ [property] float CharHeight;
+
+
+ /** This property contains the value for the character underline.
+ @see com::sun::star::awt::FontUnderline
+ */
+ [property] short CharUnderline;
+
+
+ /** This property contains the value of the font weight.
+ @see com::sun::star::awt::FontWeight
+ */
+ [property] float CharWeight;
+
+
+ /** This property contains the value of the posture of the document.
+ @see com::sun::star::awt::FontSlant
+ */
+ [property] com::sun::star::awt::FontSlant CharPosture;
+
+
+ /** This optional property determines whether the kerning tables from the
+ current font are used.
+
+ <p>Automatic <em>kerning</em> applies a spacing in between certain
+ pairs of characters to make the text look better.</p>
+ */
+ [optional, property] boolean CharAutoKerning;
+
+
+ /** This optional property contains the text background color.
+ */
+ [optional, property] com::sun::star::util::Color CharBackColor;
+
+
+ /** This optional property contains the text shading value.
+ */
+ [optional, property] long CharShadingValue;
+
+
+ /** This property determines if the text background color is set to
+ transparent.
+ */
+ [optional, property] boolean CharBackTransparent;
+
+
+ /** This optional property contains the value of the case-mapping of the
+ text for formatting and displaying.
+
+ @see CaseMap
+ */
+ [optional, property] short CharCaseMap;
+
+
+ /** This property is `TRUE` if the characters are crossed out.
+ */
+ [optional, property] boolean CharCrossedOut;
+
+
+ /** If this optional property is `TRUE`, then the characters are flashing.
+ */
+ [optional, property] boolean CharFlash;
+
+
+ /** This property determines the type of the strike out of the character.
+ @see com::sun::star::awt::FontStrikeout
+ */
+ [optional, property] short CharStrikeout;
+
+
+ /** If this property is `TRUE`, the underline and strike-through
+ properties are not applied to white spaces.
+ */
+ [optional, property] boolean CharWordMode;
+
+
+ /** This optional property contains the value of the kerning of the
+ characters.
+ */
+ [optional, property] short CharKerning;
+
+
+ /** This property contains the value of the locale.
+ */
+ [property] com::sun::star::lang::Locale CharLocale;
+
+
+ /** This optional property marks a range of characters to prevent it from
+ being broken into two lines.
+
+ <p> A line break is applied before the range of characters if
+ the layout makes a break necessary within the range.</p>
+ */
+ [optional, property] boolean CharKeepTogether;
+
+
+ /** This optional property marks a range of characters to ignore a line
+ break in this area.
+
+ <p> A line break is applied behind the range of characters if
+ the layout makes a break necessary within the range. That means that
+ the text may go through the border.</p>
+ */
+ [optional, property] boolean CharNoLineBreak;
+
+
+ /** This optional property specifies if the characters are formatted and
+ displayed with a shadow effect.
+ */
+ [optional, property] boolean CharShadowed;
+
+
+ /** This optional property specifies the fundamental technology of the font.
+ @see com::sun::star::awt::FontType
+ */
+ [optional, property] short CharFontType;
+
+
+ /** This optional property specifies the name of the style of the font.
+ */
+ [optional, property] string CharStyleName;
+
+
+ /** This optional property specifies if the characters are formatted and
+ displayed with a contour effect.
+ */
+ [optional, property] boolean CharContoured;
+
+
+ /** This optional property determines whether text is formatted in two lines.
+
+ <p>It is linked to the properties CharCombinePrefix and CharCombineSuffix.</p>
+ */
+ [optional, property] boolean CharCombineIsOn;
+
+
+ /** This optional property contains the prefix (usually parenthesis) before
+ text that is formatted in two lines.
+
+ <p>It is linked to the properties CharCombineIsOn and CharCombineSuffix.</p>
+ */
+ [optional, property] string CharCombinePrefix;
+
+
+ /** This optional property contains the suffix (usually parenthesis) after
+ text that is formatted in two lines.
+
+ <p>It is linked to the properties CharCombineIsOn and CharCombinePrefix.</p>
+ */
+ [optional, property] string CharCombineSuffix;
+
+
+ /** This optional property contains the font emphasis value.
+ @see com::sun::star::text::FontEmphasis
+ */
+ [optional, property] short CharEmphasis;
+
+
+ /** This optional property contains the relief style of the characters.
+ @see com::sun::star::text::FontRelief
+ */
+ [optional, property] short CharRelief;
+
+
+ /** This optional property contains the text that is set as ruby.
+ */
+ [optional, property] string RubyText;
+
+
+ /** This optional property determines the adjustment of the ruby .
+ @see com::sun::star::text::RubyAdjust
+ */
+ [optional, property] short RubyAdjust;
+
+
+ /** This optional property contains the name of the character style that is
+ applied to RubyText.
+ */
+ [optional, property] string RubyCharStyleName;
+
+
+ /** This optional property determines whether the ruby text is printed
+ above/left or below/right of the text.
+ <p>This property is replaced by RubyPosition.</p>
+ @deprecated
+ */
+ [optional, property] boolean RubyIsAbove;
+
+
+ /** This optional property determines the rotation of a character in tenths
+ of a degree.
+
+ <p>Depending on the implementation only certain values may be allowed.</p>
+ */
+ [optional, property] short CharRotation;
+
+
+ /** This optional property determines whether the text formatting tries to
+ fit rotated text into the surrounded line height.
+ */
+ [optional, property] boolean CharRotationIsFitToLine;
+
+
+ /** This optional property determines the percentage value for scaling the
+ width of characters.
+
+ <p>The value refers to the original width which is denoted by 100,
+ and it has to be greater than 0.</p>
+ */
+ [optional, property] short CharScaleWidth;
+
+
+ /** This optional property contains the URL of a hyperlink.
+ */
+ [optional, property] string HyperLinkURL;
+
+
+ /** This optional property contains the name of the target for a hyperlink.
+ */
+ [optional, property] string HyperLinkTarget;
+
+
+ /** This optional property contains the name of the hyperlink.
+ */
+ [optional, property] string HyperLinkName;
+
+
+ /** This optional property contains the character style name for visited
+ hyperlinks.
+ */
+ [optional, property] string VisitedCharStyleName;
+
+
+ /** This optional property contains the character style name for unvisited
+ hyperlinks.
+ */
+ [optional, property] string UnvisitedCharStyleName;
+
+
+ /** This is the relative height used for subscript or superscript
+ characters in units of percent.
+
+ <p>The value 100 denotes the original height of the characters.</p>
+
+ @see CharEscapement
+ */
+ [optional, property] byte CharEscapementHeight;
+
+
+ /** This optional property determines if the word can be hyphenated at the
+ character.
+ */
+ [optional, property] boolean CharNoHyphenation;
+
+
+ /** This property contains the color of the underline for the characters.
+ @see CharUnderlineHasColor
+ */
+ [property] com::sun::star::util::Color CharUnderlineColor;
+
+
+ /** This property specifies if the property CharUnderlineColor is used for
+ an underline.
+ @see CharUnderlineColor
+ */
+ [property] boolean CharUnderlineHasColor;
+
+
+ /** This optional property specifies the names of the all styles applied to
+ the font.
+
+ <p> It is not guaranteed that the order in the sequence reflects
+ the order of the evaluation of the character style attributes.</p>
+
+ @since OOo 1.1.2
+ */
+ [optional, property] sequence<string> CharStyleNames;
+
+
+ /** If this optional property is `TRUE`, then the characters are invisible.
+
+ @since OOo 2.0
+ */
+ [optional, property] boolean CharHidden;
+
+
+ /** This property stores XML attributes. They will be saved to and restored
+ from automatic styles inside XML files.
+
+ @see com::sun::star::xml::AttributeContainer
+ */
+ [optional, property] com::sun::star::container::XNameContainer TextUserDefinedAttributes;
+
+ /** This property contains the left border of the object.
+ *
+ * @since LibreOffice 4.2
+ **/
+ [property, optional] com::sun::star::table::BorderLine2 CharLeftBorder;
+
+ /** This property contains the right border of the object.
+ *
+ * @since LibreOffice 4.2
+ **/
+ [property, optional] com::sun::star::table::BorderLine2 CharRightBorder;
+
+ /** This property contains the top border of the object.
+ *
+ * @since LibreOffice 4.2
+ **/
+ [property, optional] com::sun::star::table::BorderLine2 CharTopBorder;
+
+ /** This property contains the bottom border of the object.
+ *
+ * @since LibreOffice 4.2
+ **/
+ [property, optional] com::sun::star::table::BorderLine2 CharBottomBorder;
+
+ /** This property contains the distance from the border to the object.
+ *
+ * @since LibreOffice 4.2
+ **/
+ [property, optional] long CharBorderDistance;
+
+ /** This property contains the distance from the left border to the object.
+ *
+ * @since LibreOffice 4.2
+ **/
+ [property, optional] long CharLeftBorderDistance;
+
+ /** This property contains the distance from the right border to the object.
+ *
+ * @since LibreOffice 4.2
+ **/
+ [property, optional] long CharRightBorderDistance;
+
+ /** This property contains the distance from the top border to the object.
+ *
+ * @since LibreOffice 4.2
+ **/
+ [property, optional] long CharTopBorderDistance;
+
+ /** This property contains the distance from the bottom border to the object.
+ *
+ * @since LibreOffice 4.2
+ **/
+ [property, optional] long CharBottomBorderDistance;
+
+ /** Determines the type, color, and width of the shadow.
+ *
+ * @since LibreOffice 4.2
+ **/
+ [optional, property] com::sun::star::table::ShadowFormat CharShadowFormat;
+
+ /** Determines the color of the highlight.
+ *
+ * @since LibreOffice 4.2
+ **/
+ [optional, property] com::sun::star::util::Color CharHighlight;
+
+ /** Grab bag of character properties, used as a string-any map for interim interop purposes.
+
+ @since LibreOffice 4.3
+
+ <p>This property is intentionally not handled by the ODF filter. Any
+ member that should be handled there should be first moved out from this grab
+ bag to a separate property.</p>
+ */
+ [optional, property] sequence<com::sun::star::beans::PropertyValue> CharInteropGrabBag;
+
+ /** This optional property determines the position of the ruby .
+ @see com::sun::star::text::RubyPosition
+ @since LibreOffice 6.1
+ */
+ [optional, property] short RubyPosition;
+
+ /** This is the transparency of the character text.
+
+ @since LibreOffice 7.0
+
+ <p>The value 100 means entirely transparent, while 0 means not transparent at all.</p>
+ */
+ [optional, property] short CharTransparence;
+
+ /** If available, keeps the color theme index, so that the character can
+ * be re-colored easily based on a theme.
+ *
+ * @since LibreOffice 7.3
+ **/
+ [optional, property] short CharColorTheme;
+
+ /** Tint or shade of the character color.
+ *
+ * @since LibreOffice 7.3
+ **/
+ [optional, property] short CharColorTintOrShade;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/style/CharacterPropertiesAsian.idl b/offapi/com/sun/star/style/CharacterPropertiesAsian.idl
new file mode 100644
index 000000000..3ac7f015f
--- /dev/null
+++ b/offapi/com/sun/star/style/CharacterPropertiesAsian.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_style_CharacterPropertiesAsian_idl__
+#define __com_sun_star_style_CharacterPropertiesAsian_idl__
+
+#include <com/sun/star/lang/Locale.idl>
+#include <com/sun/star/awt/FontSlant.idl>
+
+
+
+ module com { module sun { module star { module style {
+
+/** This is a set of properties to describe the style of characters in Asian texts.
+ */
+published service CharacterPropertiesAsian
+{
+ /** This value contains the height of the characters in point.
+ */
+ [property] float CharHeightAsian;
+ /** This property contains the value of the font weight.@see com::sun::star::awt::FontWeight
+ */
+ [property] float CharWeightAsian;
+ /** This property specifies the name of the font style.
+ <p>It may contain more than one name separated by comma.</p>
+ */
+ [property] string CharFontNameAsian;
+ /** This property contains the name of the font style.
+ <p>This property may be empty.</p>
+ */
+ [property] string CharFontStyleNameAsian;
+ /** This property contains font family as specified in
+ com.sun.star.awt.FontFamily .
+ */
+ [property] short CharFontFamilyAsian;
+ /** This property contains the text encoding of the font as specified in
+ com.sun.star.awt.CharSet.
+ */
+ [property] short CharFontCharSetAsian;
+ /** This property contains the font pitch as specified in com.sun.star.awt.FontPitch.
+ */
+ [property] short CharFontPitchAsian;
+ /** This property contains the value of the posture of the document.@see com::sun::star::awt::FontSlant
+ */
+ [property] com::sun::star::awt::FontSlant CharPostureAsian;
+
+ /** contains the value of the locale.
+ */
+ [property] com::sun::star::lang::Locale CharLocaleAsian;
+};
+}; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/style/CharacterPropertiesComplex.idl b/offapi/com/sun/star/style/CharacterPropertiesComplex.idl
new file mode 100644
index 000000000..d3da3bbee
--- /dev/null
+++ b/offapi/com/sun/star/style/CharacterPropertiesComplex.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_style_CharacterPropertiesComplex_idl__
+#define __com_sun_star_style_CharacterPropertiesComplex_idl__
+
+#include <com/sun/star/lang/Locale.idl>
+#include <com/sun/star/awt/FontSlant.idl>
+
+
+ module com { module sun { module star { module style {
+
+
+/** This is a set of properties to describe the style of characters in complex texts.
+ */
+published service CharacterPropertiesComplex
+{
+ /** This value contains the height of the characters in point.
+ */
+ [property] float CharHeightComplex;
+ /** This property contains the value of the font weight.@see com::sun::star::awt::FontWeight
+ */
+ [property] float CharWeightComplex;
+ /** This property specifies the name of the font style.
+ <p>It may contain more than one name separated by comma.</p>
+ */
+ [property] string CharFontNameComplex;
+ /** This property contains the name of the font style.
+ <p>This property may be empty.</p>
+ */
+ [property] string CharFontStyleNameComplex;
+ /** This property contains font family as specified in
+ com.sun.star.awt.FontFamily .
+ */
+ [property] short CharFontFamilyComplex;
+ /** This property contains the text encoding of the font as specified in
+ com.sun.star.awt.CharSet.
+ */
+ [property] short CharFontCharSetComplex;
+ /** This property contains the font pitch as specified in com.sun.star.awt.FontPitch.
+ */
+ [property] short CharFontPitchComplex;
+ /** This property contains the value of the posture of the document.@see com::sun::star::awt::FontSlant
+ */
+ [property] com::sun::star::awt::FontSlant CharPostureComplex;
+
+ /** contains the value of the locale.
+ */
+ [property] com::sun::star::lang::Locale CharLocaleComplex;
+};
+}; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/style/CharacterStyle.idl b/offapi/com/sun/star/style/CharacterStyle.idl
new file mode 100644
index 000000000..6ea0edc33
--- /dev/null
+++ b/offapi/com/sun/star/style/CharacterStyle.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_style_CharacterStyle_idl__
+#define __com_sun_star_style_CharacterStyle_idl__
+
+#include <com/sun/star/style/CharacterProperties.idl>
+#include <com/sun/star/style/Style.idl>
+
+
+ module com { module sun { module star { module style {
+
+
+/** specifies a style sheet for characters within a
+ com::sun::star::text::Text.
+ */
+published service CharacterStyle
+{
+ /// specifies administrative properties.
+ service Style;
+
+ /// specifies the style properties.
+ service CharacterProperties;
+ /** This value contains the character height as difference in point to the height of
+ the character in the parent style.
+ */
+ [property] float CharDiffHeight;
+ /** This value contains the character height as percentage value relative to the height of
+ the character in the parent style.
+ */
+ [property] short CharPropHeight;
+ /** This value contains the character height as difference in point to the height of
+ the character in the parent style in Asian text.
+ */
+ [property] float CharDiffHeightAsian;
+ /** This value contains the character height as percentage value relative to the height of
+ the character in the parent style in Asian text.
+ */
+ [property] short CharPropHeightAsian;
+ /** This value contains the character height as difference in point to the height of
+ the character in the parent style in complex text.
+ */
+ [property] float CharDiffHeightComplex;
+ /** This value contains the character height as percentage value relative to the height of
+ the character in the parent style in complex text.
+ */
+ [property] short CharPropHeightComplex;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/style/DropCapFormat.idl b/offapi/com/sun/star/style/DropCapFormat.idl
new file mode 100644
index 000000000..745fd50bf
--- /dev/null
+++ b/offapi/com/sun/star/style/DropCapFormat.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_style_DropCapFormat_idl__
+#define __com_sun_star_style_DropCapFormat_idl__
+
+
+
+ module com { module sun { module star { module style {
+
+/** This struct describes drop caps at a paragraph object.
+ */
+published struct DropCapFormat
+{
+ /** This is the number of lines used for a drop cap.
+ */
+ byte Lines;
+
+ /** This is the number of characters in the drop cap.
+ */
+ byte Count;
+
+ /** This is the distance between the drop cap in the following text.
+ */
+ short Distance;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/style/FootnoteLineStyle.idl b/offapi/com/sun/star/style/FootnoteLineStyle.idl
new file mode 100644
index 000000000..46d0f3e20
--- /dev/null
+++ b/offapi/com/sun/star/style/FootnoteLineStyle.idl
@@ -0,0 +1,28 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.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_style_FootnoteLineStyle_idl__
+#define __com_sun_star_style_FootnoteLineStyle_idl__
+
+module com { module sun { module star { module style {
+
+published constants FootnoteLineStyle
+{
+ const short NONE = 0;
+
+ const short SOLID = 1;
+
+ const short DOTTED = 2;
+
+ const short DASHED = 3;
+};
+
+}; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/style/GraphicLocation.idl b/offapi/com/sun/star/style/GraphicLocation.idl
new file mode 100644
index 000000000..62c3a425e
--- /dev/null
+++ b/offapi/com/sun/star/style/GraphicLocation.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_style_GraphicLocation_idl__
+#define __com_sun_star_style_GraphicLocation_idl__
+
+
+
+ module com { module sun { module star { module style {
+
+/** These enumeration values are used to specify the location of a
+ graphic object within its surroundings.
+ */
+published enum GraphicLocation
+{
+ /** This value specifies that a location is not yet assigned.
+ */
+ NONE,
+
+ /** The graphic is located in the top left corner.
+ */
+ LEFT_TOP,
+
+ /** The graphic is located in the middle of the top edge.
+ */
+ MIDDLE_TOP,
+
+ /** The graphic is located in the top right corner.
+ */
+ RIGHT_TOP,
+
+ /** The graphic is located in the middle of the left edge.
+ */
+ LEFT_MIDDLE,
+
+ /** The graphic is located at the center of the surrounding object.
+ */
+ MIDDLE_MIDDLE,
+
+ /** The graphic is located in the middle of the right edge.
+ */
+ RIGHT_MIDDLE,
+
+ /** The graphic is located in the bottom left corner.
+ */
+ LEFT_BOTTOM,
+
+ /** The graphic is located in the middle of the bottom edge.
+ */
+ MIDDLE_BOTTOM,
+
+ /** The graphic is located in the bottom right corner.
+ */
+ RIGHT_BOTTOM,
+
+ /** The graphic is scaled to fill the whole surrounding area.
+ */
+ AREA,
+
+ /** The graphic is repeatedly spread over the surrounding object
+ like tiles.
+ */
+ TILED
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/style/HorizontalAlignment.idl b/offapi/com/sun/star/style/HorizontalAlignment.idl
new file mode 100644
index 000000000..a9bef1b57
--- /dev/null
+++ b/offapi/com/sun/star/style/HorizontalAlignment.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_style_HorizontalAlignment_idl__
+#define __com_sun_star_style_HorizontalAlignment_idl__
+
+
+
+ module com { module sun { module star { module style {
+
+/** values specify the horizontal alignment of
+ an object within a container object.
+ */
+published enum HorizontalAlignment
+{
+ /** set the horizontal alignment to the left margin from the container object
+ */
+ LEFT,
+ /** set the horizontal alignment to the center between the margins from the container object
+ */
+ CENTER,
+ /** set the horizontal alignment to the right margin from the container object
+ */
+ RIGHT
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/style/LineNumberPosition.idl b/offapi/com/sun/star/style/LineNumberPosition.idl
new file mode 100644
index 000000000..c7bd23567
--- /dev/null
+++ b/offapi/com/sun/star/style/LineNumberPosition.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_style_LineNumberPosition_idl__
+#define __com_sun_star_style_LineNumberPosition_idl__
+
+
+
+ module com { module sun { module star { module style {
+
+/** These constants are used to specify the position of the numbering
+ of lines.
+ */
+published constants LineNumberPosition
+{
+ /** the number occurs on the left side of the pages.
+ */
+ const short LEFT = 0;
+
+ /** the number occurs on the right side of the pages.
+ */
+ const short RIGHT = 1;
+
+ /** the number occurs alternating on the inner side of the pages.
+ */
+ const short INSIDE = 2;
+
+ /** the number occurs alternating on the outside side of the pages.
+ */
+ const short OUTSIDE = 3;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/style/LineSpacing.idl b/offapi/com/sun/star/style/LineSpacing.idl
new file mode 100644
index 000000000..70804d26e
--- /dev/null
+++ b/offapi/com/sun/star/style/LineSpacing.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_style_LineSpacing_idl__
+#define __com_sun_star_style_LineSpacing_idl__
+
+
+
+ module com { module sun { module star { module style {
+
+/** This structure is used to specify the height of a text line.@see LineSpacingMode
+ */
+published struct LineSpacing
+{
+ /** This value specifies the way the height is specified.
+ */
+ short Mode;
+
+ /** This value specifies the height in regard to <var>Mode</var>.
+ */
+ short Height;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/style/LineSpacingMode.idl b/offapi/com/sun/star/style/LineSpacingMode.idl
new file mode 100644
index 000000000..5d3575f77
--- /dev/null
+++ b/offapi/com/sun/star/style/LineSpacingMode.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_style_LineSpacingMode_idl__
+#define __com_sun_star_style_LineSpacingMode_idl__
+
+
+
+ module com { module sun { module star { module style {
+
+/** These constants specify the interpretation of LineHeight.
+ */
+published constants LineSpacingMode
+{
+ /** This constant specifies the height value as a proportional value.
+ */
+ const short PROP = 0;
+
+ /** This constant specifies the height as the minimum line height.
+ */
+ const short MINIMUM = 1;
+
+ /** This constant specifies the height value as the distance to the previous line.
+ */
+ const short LEADING = 2;
+
+ /** This constant specifies the height value as a fixed line height.
+ */
+ const short FIX = 3;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/style/NumberingAlignment.idl b/offapi/com/sun/star/style/NumberingAlignment.idl
new file mode 100644
index 000000000..b30082d42
--- /dev/null
+++ b/offapi/com/sun/star/style/NumberingAlignment.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_style_NumberingAlignment_idl__
+#define __com_sun_star_style_NumberingAlignment_idl__
+
+#include <com/sun/star/style/HorizontalAlignment.idl>
+
+
+
+ module com { module sun { module star { module style {
+
+/** specify the alignment of a numbering level.
+ */
+published service NumberingAlignment
+{
+ /** set the alignment from the numbering. Use the com::sun::star::style::HorizontalAlignment enum to change the alignment.
+ */
+ [property] com::sun::star::style::HorizontalAlignment Alignment;
+
+ /** the minimum distance between the numbering symbol and the following text.
+ */
+ [property] short TextMarginDistance;
+
+ /** the distance between left margin and the numbering symbol.
+ */
+ [property] short TextNumberingDistance;
+
+ /** the distance between the numbering symbol and text.
+ */
+ [property] short Insertion;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/style/NumberingLevel.idl b/offapi/com/sun/star/style/NumberingLevel.idl
new file mode 100644
index 000000000..16402da79
--- /dev/null
+++ b/offapi/com/sun/star/style/NumberingLevel.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_style_NumberingLevel_idl__
+#define __com_sun_star_style_NumberingLevel_idl__
+
+#include <com/sun/star/graphic/XGraphic.idl>
+
+ module com { module sun { module star { module style {
+
+/** These properties describe the numbering of a paragraph.
+
+ <p>NumberType determines the type of the numbering symbol.
+ Depending on this setting, some of the following values will be
+ ignored.</p>
+ */
+published service NumberingLevel
+{
+ /** specifies the type of numbering.@see NumberingType
+ */
+ [property] short NumberingType;
+
+ /** specifies the number of higher numbering levels that
+ are included in the representation of the current number.
+ */
+ [property] short ParentNumbering;
+
+ /** This prefix is inserted in front of the numbering symbol(s).
+
+ @deprecated as of LibreOffice 7.2, use ListFormat instead
+ */
+ [property] string Prefix;
+
+ /** This suffix is inserted after the numbering symbol(s).
+
+ @deprecated as of LibreOffice 7.2, use ListFormat instead
+ */
+ [property] string Suffix;
+
+ /** This is the name of the character style that is used for the symbol(s).
+ */
+ [property] string CharStyleName;
+
+ /** The bullet symbol with this code in the assigned font is used.
+ */
+ [property] short BulletId;
+
+ /** This is the name of the font that is used for the bullet.
+ */
+ [property] string BulletFontName;
+
+ /** This is the URL of a graphic file to use as a symbol.
+
+ @deprecated as of LibreOffice 6.1, use Graphic instead
+
+ Note the new behaviour since it this was deprecated:
+ This property can only be set and only external URLs are
+ supported (no more vnd.sun.star.GraphicObject scheme). When an
+ URL is set, then it will load the graphic and set the
+ GraphicBitmap property.
+ */
+ [property] string GraphicURL;
+
+ /** This specifies the start value for the numbering.
+ */
+ [property] short StartWith;
+
+ /** This is the graphic bitmap to use as a symbol.
+
+ @since LibreOffice 6.1
+ */
+ [optional, property] com::sun::star::awt::XBitmap GraphicBitmap;
+
+ /** Format string used to generate actual numbering.
+
+ It contains placeholders (like %1%, %2%, etc) where corresponding
+ level numberings are inserted.
+
+ This is more flexible way to provide multilevel numbering with
+ complex format string. This property is a replacement for
+ Prefix and Suffix: if ListFormat is provided, they are not used
+ anymore.
+
+ Example: ListFormat "(%1% %2%.%3%)" can be resolved to numbering
+ in actual multilevel list like "(4 1.3)".
+
+ @since LibreOffice 7.2
+ */
+ [optional, property] string ListFormat;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/style/NumberingRule.idl b/offapi/com/sun/star/style/NumberingRule.idl
new file mode 100644
index 000000000..1f96b328c
--- /dev/null
+++ b/offapi/com/sun/star/style/NumberingRule.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_style_NumberingRule_idl__
+#define __com_sun_star_style_NumberingRule_idl__
+
+#include <com/sun/star/style/NumberingAlignment.idl>
+
+#include <com/sun/star/style/NumberingLevel.idl>
+
+
+
+ module com { module sun { module star { module style {
+
+/** specifies a rule to format numberings.
+
+ <p>It is normally represented by a sequence of
+ com::sun::star::beans::PropertyValues.</p>
+ */
+published service NumberingRule
+{
+ service com::sun::star::style::NumberingAlignment;
+ service com::sun::star::style::NumberingLevel;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/style/NumberingType.idl b/offapi/com/sun/star/style/NumberingType.idl
new file mode 100644
index 000000000..57e98fcf4
--- /dev/null
+++ b/offapi/com/sun/star/style/NumberingType.idl
@@ -0,0 +1,558 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_style_NumberingType_idl__
+#define __com_sun_star_style_NumberingType_idl__
+
+
+
+ module com { module sun { module star { module style {
+
+/** These constants are used to specify which numbering style is used.
+ */
+published constants NumberingType
+{
+ /** Numbering is put in upper case letters as "A, B, C, D, ...".
+ */
+ const short CHARS_UPPER_LETTER = 0;
+
+ /** Numbering is in lower case letters as "a, b, c, e,...".
+ */
+ const short CHARS_LOWER_LETTER = 1;
+
+ /** Numbering is in Roman numbers with upper case letters
+ as "I, II, III, IV, ...".
+ */
+ const short ROMAN_UPPER = 2;
+
+ /** Numbering is in Roman numbers with lower case letters
+ as "i, ii, iii, iv, ...".
+ */
+ const short ROMAN_LOWER = 3;
+
+ /** Numbering is in Arabic numbers as "1, 2, 3, 4, ...".
+ */
+ const short ARABIC = 4;
+
+ /** Numbering is invisible.
+ */
+ const short NUMBER_NONE = 5;
+
+ /** Use a character from a specified font.
+ */
+ const short CHAR_SPECIAL = 6;
+
+ /** Numbering is specified in the page style.
+ */
+ const short PAGE_DESCRIPTOR = 7;
+
+ /** Numbering is displayed as a bitmap graphic.
+ */
+ const short BITMAP = 8;
+
+ /** Numbering is put in upper case letters as "A, B, ..., Y, Z,
+ AA, BB, CC, ... AAA, ...".
+ */
+ const short CHARS_UPPER_LETTER_N = 9;
+
+ /** Numbering is put in lower case letters as "a, b, ..., y, z,
+ aa, bb, cc, ... aaa, ...".
+ */
+ const short CHARS_LOWER_LETTER_N =10;
+
+ /** A transliteration module will be used to produce numbers in
+ Chinese, Japanese, etc.
+ */
+
+ const short TRANSLITERATION = 11;
+
+ /** The NativeNumberSupplier service will be called to produce numbers in
+ native languages.
+ */
+ const short NATIVE_NUMBERING = 12;
+
+ /** Numbering for fullwidth Arabic number
+ */
+ const short FULLWIDTH_ARABIC = 13;
+
+ /** Bullet for Circle Number
+ */
+ const short CIRCLE_NUMBER = 14;
+
+ /** Numbering for Chinese lower case number
+ as "&#19968;,&#20108;,&#19977;..."
+ */
+ const short NUMBER_LOWER_ZH = 15;
+
+ /** Numbering for Chinese upper case number
+ */
+ const short NUMBER_UPPER_ZH = 16;
+
+ /** Numbering for Traditional Chinese upper case number
+ */
+ const short NUMBER_UPPER_ZH_TW = 17;
+
+ /** Bullet for Chinese Tian Gan
+ as "&#30002;,&#20057;,&#19993;..."
+ */
+ const short TIAN_GAN_ZH = 18;
+
+ /** Bullet for Chinese Di Zi
+ as "&#23376;,&#19985;,&#23493;..."
+ */
+ const short DI_ZI_ZH = 19;
+
+ /** Numbering for Japanese traditional number
+ */
+ const short NUMBER_TRADITIONAL_JA = 20;
+
+ /** Bullet for Japanese AIU fullwidth
+ */
+ const short AIU_FULLWIDTH_JA = 21;
+
+ /** Bullet for Japanese AIU halfwidth
+ */
+ const short AIU_HALFWIDTH_JA = 22;
+
+ /** Bullet for Japanese IROHA fullwidth
+ */
+ const short IROHA_FULLWIDTH_JA = 23;
+
+ /** Bullet for Japanese IROHA halfwidth
+ */
+ const short IROHA_HALFWIDTH_JA = 24;
+
+ /** Numbering for Korean upper case number
+ as "&#22777;,&#36019;,&#21443;..."
+ */
+ const short NUMBER_UPPER_KO = 25;
+
+ /** Numbering for Korean Hangul number
+ as "&#51068;,&#51060;,&#49340;..."
+ */
+ const short NUMBER_HANGUL_KO = 26;
+
+ /** Bullet for Korean Hangul Jamo
+ as "&#12593;,&#12596;,&#12599;..."
+ */
+ const short HANGUL_JAMO_KO = 27;
+
+ /** Bullet for Korean Hangul Syllable
+ as "&#44032;,&#45208;,&#45796;..."
+ */
+ const short HANGUL_SYLLABLE_KO = 28;
+
+ /** Bullet for Korean Hangul Circled Jamo
+ as "&#12896;,&#12897;,&#12898;..."
+ */
+ const short HANGUL_CIRCLED_JAMO_KO = 29;
+
+ /** Bullet for Korean Hangul Circled Syllable
+ as "&#12910;,&#12911;,&#12912;..."
+ */
+ const short HANGUL_CIRCLED_SYLLABLE_KO = 30;
+
+ /** Numbering in Arabic alphabet letters
+ as "&#1571;,&#1576;,&#1578;..."
+
+ @since OOo 1.1.2
+ */
+ const short CHARS_ARABIC = 31;
+
+ /** Numbering in Thai alphabet letters
+
+ @since OOo 1.1.2
+ */
+ const short CHARS_THAI = 32;
+
+ /** Numbering in Hebrew alphabet letters
+
+ @since OOo 2.0
+ */
+ const short CHARS_HEBREW = 33;
+
+ /** Numbering in Nepali alphabet letters
+
+ @since OOo 2.0.1
+ */
+ const short CHARS_NEPALI = 34;
+
+ /** Numbering in Khmer alphabet letters
+
+ @since OOo 2.0.1
+ */
+ const short CHARS_KHMER = 35;
+
+ /** Numbering in Lao alphabet letters
+
+ @since OOo 2.0.1
+ */
+ const short CHARS_LAO = 36;
+ /** Numbering in Tibetan/Dzongkha alphabet letters
+
+ @since OOo 2.0.3
+ */
+ const short CHARS_TIBETAN = 37;
+
+ /** Numbering in Cyrillic alphabet upper case letters as
+ "&#1040;, &#1041;, &#1042;, &#1043;, ..., &#1070;, &#1071;, &#1040;&#1074;, &#1040;&#1072;, &#1040;&#1074;, ... &#1040;&#1072;&#1072;, &#1040;&#1072;&#1073;".
+
+ @since OOo 2.0.4
+ */
+ /*
+ Since IDL comments allow only 7-bit characters, hence the XHTML
+ entities above for the generated documentation, for the
+ developer here the human readable Unicode descriptions:
+
+ CYRILLIC CAPITAL LETTER A , CYRILLIC CAPITAL LETTER BE ,
+ CYRILLIC CAPITAL LETTER VE , CYRILLIC CAPITAL LETTER GHE , ... ,
+ CYRILLIC CAPITAL LETTER YU , CYRILLIC CAPITAL LETTER YA ,
+ CYRILLIC CAPITAL LETTER A CYRILLIC SMALL LETTER A ,
+ CYRILLIC CAPITAL LETTER A CYRILLIC SMALL LETTER BE ,
+ CYRILLIC CAPITAL LETTER A CYRILLIC SMALL LETTER VE , ...
+ CYRILLIC CAPITAL LETTER A CYRILLIC SMALL LETTER A CYRILLIC SMALL LETTER A ,
+ CYRILLIC CAPITAL LETTER A CYRILLIC SMALL LETTER A CYRILLIC SMALL LETTER BE
+ */
+ const short CHARS_CYRILLIC_UPPER_LETTER_BG = 38;
+
+ /** Numbering in Cyrillic alphabet lower case letters as
+ "&#1072;, &#1073;, &#1074;, &#1075;, ..., &#1102;, &#1103;, &#1072; &#1072;, &#1072;&#1073;, &#1072;&#1074;, ... &#1072; &#1072; &#1072;, &#1072; &#1072;&#1073;".
+
+ @since OOo 2.0.4
+ */
+ /*
+ CYRILLIC SMALL LETTER A , CYRILLIC SMALL LETTER BE ,
+ CYRILLIC SMALL LETTER VE , CYRILLIC SMALL LETTER GHE , ... ,
+ CYRILLIC SMALL LETTER YU , CYRILLIC SMALL LETTER YA ,
+ CYRILLIC SMALL LETTER A CYRILLIC SMALL LETTER A ,
+ CYRILLIC SMALL LETTER A CYRILLIC SMALL LETTER BE ,
+ CYRILLIC SMALL LETTER A CYRILLIC SMALL LETTER VE , ...
+ CYRILLIC SMALL LETTER A CYRILLIC SMALL LETTER A CYRILLIC SMALL LETTER A ,
+ CYRILLIC SMALL LETTER A CYRILLIC SMALL LETTER A CYRILLIC SMALL LETTER BE
+ */
+ const short CHARS_CYRILLIC_LOWER_LETTER_BG = 39;
+
+ /** Numbering in Cyrillic alphabet upper case letters as
+ "&#1040;, &#1041;, ..., &#1070;, &#1071;, &#1040;&#1072;, &#1041;&#1073;, &#1042;&#1074;, ... &#1040;&#1072;&#1072;, ...".
+
+ @since OOo 2.0.4
+ */
+ /*
+ CYRILLIC CAPITAL LETTER A , CYRILLIC CAPITAL LETTER BE , ... ,
+ CYRILLIC CAPITAL LETTER YU , CYRILLIC CAPITAL LETTER YA ,
+ CYRILLIC CAPITAL LETTER A CYRILLIC SMALL LETTER A ,
+ CYRILLIC CAPITAL LETTER BE CYRILLIC SMALL LETTER BE ,
+ CYRILLIC CAPITAL LETTER VE CYRILLIC SMALL LETTER VE , ...
+ CYRILLIC CAPITAL LETTER A CYRILLIC SMALL LETTER A CYRILLIC SMALL LETTER A , ...
+ */
+ const short CHARS_CYRILLIC_UPPER_LETTER_N_BG = 40;
+
+ /** Numbering in Cyrillic alphabet upper case letters as
+ "&#1072;, &#1073;, ..., &#1102;, &#1103;, &#1072;&#1072;, &#1073;&#1073;, &#1074;&#1074;, ... &#1072;&#1072;&#1072;, ...".
+
+ @since OOo 2.0.4
+ */
+ /*
+ CYRILLIC SMALL LETTER A , CYRILLIC SMALL LETTER BE , ... ,
+ CYRILLIC SMALL LETTER YU , CYRILLIC SMALL LETTER YA ,
+ CYRILLIC SMALL LETTER A CYRILLIC SMALL LETTER A ,
+ CYRILLIC SMALL LETTER BE CYRILLIC SMALL LETTER BE ,
+ CYRILLIC SMALL LETTER VE CYRILLIC SMALL LETTER VE , ...
+ CYRILLIC SMALL LETTER A CYRILLIC SMALL LETTER A CYRILLIC SMALL LETTER A , ...
+ */
+ const short CHARS_CYRILLIC_LOWER_LETTER_N_BG = 41;
+
+ /** Numbering in Russian Cyrillic alphabet upper case letters as
+ "&#1040;, &#1041;, &#1042;, &#1043;, ..., &#1070;, &#1071;, &#1040;&#1072;, &#1040;&#1073;, &#1040;&#1074;, ... &#1040;&#1072;&#1072;, &#1040;&#1072;&#1073;".
+
+ @since OOo 2.0.4
+ */
+ /*
+ CYRILLIC CAPITAL LETTER A , CYRILLIC CAPITAL LETTER BE ,
+ CYRILLIC CAPITAL LETTER VE , CYRILLIC CAPITAL LETTER GHE , ... ,
+ CYRILLIC CAPITAL LETTER YU , CYRILLIC CAPITAL LETTER YA ,
+ CYRILLIC CAPITAL LETTER A CYRILLIC SMALL LETTER A ,
+ CYRILLIC CAPITAL LETTER A CYRILLIC SMALL LETTER BE ,
+ CYRILLIC CAPITAL LETTER A CYRILLIC SMALL LETTER VE , ...
+ CYRILLIC CAPITAL LETTER A CYRILLIC SMALL LETTER A CYRILLIC SMALL LETTER A ,
+ CYRILLIC CAPITAL LETTER A CYRILLIC SMALL LETTER A CYRILLIC SMALL LETTER BE
+ */
+ const short CHARS_CYRILLIC_UPPER_LETTER_RU = 42;
+
+ /** Numbering in Russian Cyrillic alphabet lower case letters as
+ "&#1072;, &#1073;, &#1074;, &#1075;, ..., &#1102;, &#1103;, &#1072;&#1072;, &#1072;&#1073;, &#1072;&#1074;, ... &#1072;&#1072;&#1072;, &#1072;&#1072;&#1073;".
+
+ @since OOo 2.0.4
+ */
+ /*
+ CYRILLIC SMALL LETTER A , CYRILLIC SMALL LETTER BE ,
+ CYRILLIC SMALL LETTER VE , CYRILLIC SMALL LETTER GHE , ... ,
+ CYRILLIC SMALL LETTER YU , CYRILLIC SMALL LETTER YA ,
+ CYRILLIC SMALL LETTER A CYRILLIC SMALL LETTER A ,
+ CYRILLIC SMALL LETTER A CYRILLIC SMALL LETTER BE ,
+ CYRILLIC SMALL LETTER A CYRILLIC SMALL LETTER VE , ...
+ CYRILLIC SMALL LETTER A CYRILLIC SMALL LETTER A CYRILLIC SMALL LETTER A ,
+ CYRILLIC SMALL LETTER A CYRILLIC SMALL LETTER A CYRILLIC SMALL LETTER BE
+ */
+ const short CHARS_CYRILLIC_LOWER_LETTER_RU = 43;
+
+ /** Numbering in Russian Cyrillic alphabet upper case letters as
+ "&#1040;, &#1041;, ..., &#1070;, &#1071;, &#1040;&#1072;, &#1041;&#1073;, &#1042;&#1074;, ... &#1040;&#1072;&#1072;, ...".
+
+ @since OOo 2.0.4
+ */
+ /*
+ CYRILLIC CAPITAL LETTER A , CYRILLIC CAPITAL LETTER BE , ... ,
+ CYRILLIC CAPITAL LETTER YU , CYRILLIC CAPITAL LETTER YA ,
+ CYRILLIC CAPITAL LETTER A CYRILLIC SMALL LETTER A ,
+ CYRILLIC CAPITAL LETTER BE CYRILLIC SMALL LETTER BE ,
+ CYRILLIC CAPITAL LETTER VE CYRILLIC SMALL LETTER VE , ...
+ CYRILLIC CAPITAL LETTER A CYRILLIC SMALL LETTER A CYRILLIC SMALL LETTER A , ...
+ */
+ const short CHARS_CYRILLIC_UPPER_LETTER_N_RU = 44;
+
+ /** Numbering in Russian Cyrillic alphabet upper case letters as
+ "&#1072;, &#1073;, ..., &#1102;, &#1103;, &#1072;&#1072;, &#1073;&#1073;, &#1074;&#1074;, ... &#1072;&#1072;&#1072;, ...".
+
+ @since OOo 2.0.4
+ */
+ /*
+ CYRILLIC SMALL LETTER A , CYRILLIC SMALL LETTER BE , ... ,
+ CYRILLIC SMALL LETTER YU , CYRILLIC SMALL LETTER YA ,
+ CYRILLIC SMALL LETTER A CYRILLIC SMALL LETTER A ,
+ CYRILLIC SMALL LETTER BE CYRILLIC SMALL LETTER BE ,
+ CYRILLIC SMALL LETTER VE CYRILLIC SMALL LETTER VE , ...
+ CYRILLIC SMALL LETTER A CYRILLIC SMALL LETTER A CYRILLIC SMALL LETTER A , ...
+ */
+ const short CHARS_CYRILLIC_LOWER_LETTER_N_RU = 45;
+
+ /** Numbering in Persian alphabet letters (aa, be, pe, te, ...)
+
+ @since OOo 2.4
+ */
+ const short CHARS_PERSIAN = 46;
+
+ /** Numbering in Myanmar alphabet letters
+
+ @since OOo 3.1
+ */
+ const short CHARS_MYANMAR = 47;
+
+ /** Numbering in Serbian Cyrillic alphabet upper case letters
+
+ @since OOo 3.1
+ */
+ /*
+ CYRILLIC CAPITAL LETTER A , CYRILLIC CAPITAL LETTER BE ,
+ CYRILLIC CAPITAL LETTER VE , CYRILLIC CAPITAL LETTER GHE , ... ,
+ CYRILLIC CAPITAL LETTER A CYRILLIC SMALL LETTER A ,
+ CYRILLIC CAPITAL LETTER A CYRILLIC SMALL LETTER BE ,
+ CYRILLIC CAPITAL LETTER A CYRILLIC SMALL LETTER VE , ...
+ CYRILLIC CAPITAL LETTER A CYRILLIC SMALL LETTER A CYRILLIC SMALL LETTER A ,
+ CYRILLIC CAPITAL LETTER A CYRILLIC SMALL LETTER A CYRILLIC SMALL LETTER BE
+ */
+ const short CHARS_CYRILLIC_UPPER_LETTER_SR = 48;
+
+ /** Numbering in Russian Serbian alphabet lower case letters
+
+ @since OOo 3.1
+ */
+ /*
+ CYRILLIC SMALL LETTER A , CYRILLIC SMALL LETTER BE ,
+ CYRILLIC SMALL LETTER VE , CYRILLIC SMALL LETTER GHE , ... ,
+ CYRILLIC SMALL LETTER A CYRILLIC SMALL LETTER A ,
+ CYRILLIC SMALL LETTER A CYRILLIC SMALL LETTER BE ,
+ CYRILLIC SMALL LETTER A CYRILLIC SMALL LETTER VE , ...
+ CYRILLIC SMALL LETTER A CYRILLIC SMALL LETTER A CYRILLIC SMALL LETTER A ,
+ CYRILLIC SMALL LETTER A CYRILLIC SMALL LETTER A CYRILLIC SMALL LETTER BE
+ */
+ const short CHARS_CYRILLIC_LOWER_LETTER_SR = 49;
+
+ /** Numbering in Serbian Cyrillic alphabet upper case letters
+
+ @since OOo 3.1
+ */
+ /*
+ CYRILLIC CAPITAL LETTER A , CYRILLIC CAPITAL LETTER BE , ... ,
+ CYRILLIC CAPITAL LETTER A CYRILLIC SMALL LETTER A ,
+ CYRILLIC CAPITAL LETTER BE CYRILLIC SMALL LETTER BE ,
+ CYRILLIC CAPITAL LETTER VE CYRILLIC SMALL LETTER VE , ...
+ CYRILLIC CAPITAL LETTER A CYRILLIC SMALL LETTER A CYRILLIC SMALL LETTER A , ...
+ */
+ const short CHARS_CYRILLIC_UPPER_LETTER_N_SR = 50;
+
+ /** Numbering in Serbian Cyrillic alphabet upper case letters
+
+ @since OOo 3.1
+ */
+ /*
+ CYRILLIC SMALL LETTER A , CYRILLIC SMALL LETTER BE , ... ,
+ CYRILLIC SMALL LETTER A CYRILLIC SMALL LETTER A ,
+ CYRILLIC SMALL LETTER BE CYRILLIC SMALL LETTER BE ,
+ CYRILLIC SMALL LETTER VE CYRILLIC SMALL LETTER VE , ...
+ CYRILLIC SMALL LETTER A CYRILLIC SMALL LETTER A CYRILLIC SMALL LETTER A , ...
+ */
+ const short CHARS_CYRILLIC_LOWER_LETTER_N_SR = 51;
+
+ /** Numbering in Greek alphabet upper case letters
+
+ @since LibreOffice 3.3
+ */
+ const short CHARS_GREEK_UPPER_LETTER = 52;
+
+ /** Numbering in Greek alphabet lower case letters
+
+ @since LibreOffice 3.3
+ */
+ const short CHARS_GREEK_LOWER_LETTER = 53;
+
+
+ /** Numbering in Arabic alphabet using abjad sequence
+
+ @since LibreOffice 3.5
+ */
+ const short CHARS_ARABIC_ABJAD = 54;
+
+ /** Numbering in Persian words
+
+ @since LibreOffice 3.5
+ */
+ const short CHARS_PERSIAN_WORD = 55;
+
+ /** Numbering in Hebrew numerals
+
+ @since LibreOffice 5.4
+ */
+ const short NUMBER_HEBREW = 56;
+
+ /** Numbering in Arabic-Indic numerals
+
+ @since LibreOffice 6.1
+ */
+ const short NUMBER_ARABIC_INDIC = 57;
+
+ /** Numbering in East Arabic-Indic numerals
+
+ @since LibreOffice 6.1
+ */
+ const short NUMBER_EAST_ARABIC_INDIC = 58;
+
+ /** Numbering in Indic Devanagari numerals
+
+ @since LibreOffice 6.1
+ */
+ const short NUMBER_INDIC_DEVANAGARI = 59;
+
+ /** Numbering in ordinal numbers of the language
+ of the text node
+ for example, 1st, 2nd, 3rd... in English
+
+ @since LibreOffice 6.1
+ */
+ const short TEXT_NUMBER = 60;
+
+ /** Numbering in cardinal numbers of the language
+ of the text node
+ for example, One, Two, Three... in English
+
+ @since LibreOffice 6.1
+ */
+ const short TEXT_CARDINAL = 61;
+
+ /** Numbering in ordinal numbers of the language
+ of the text node
+ for example, First, Second, Third... in English
+
+ @since LibreOffice 6.1
+ */
+ const short TEXT_ORDINAL = 62;
+
+ /** Footnoting symbols according the University of Chicago style:
+ \*, &#2020;, &#2021;, &#00a7;, **, &#2020;&#2020; etc.
+
+ @since LibreOffice 6.4
+ */
+ /*
+ ASTERISK, DAGGER, DOUBLE DAGGER, SECTION SIGN,
+ ASTERISK ASTERISK, DAGGER DAGGER, etc.
+ */
+ const short SYMBOL_CHICAGO = 63;
+
+ /** Numbering is in Arabic numbers, padded with zero to have a length of at least two, as "01,
+ 02, ..., 10, 11, ...".
+
+ @since LibreOffice 7.0
+ */
+ const short ARABIC_ZERO = 64;
+
+ /** Numbering is in Arabic numbers, padded with zero to have a length of at least three, as
+ "001, 002, ..., 100, 101, ...".
+
+ @since LibreOffice 7.0
+ */
+ const short ARABIC_ZERO3 = 65;
+
+ /** Numbering is in Arabic numbers, padded with zero to have a length of at least four, as
+ "0001, 0002, ..., 1000, 1001, ...".
+
+ @since LibreOffice 7.0
+ */
+ const short ARABIC_ZERO4 = 66;
+
+ /** Numbering is in Arabic numbers, padded with zero to have a length of at least five, as
+ "00001, 00002, ..., 10000, 10001, ...".
+
+ @since LibreOffice 7.0
+ */
+ const short ARABIC_ZERO5 = 67;
+
+ /** Numbering is in Szekely rovas (Old Hungarian) numerals
+
+ @since LibreOffice 7.1
+ */
+ const short SZEKELY_ROVAS = 68;
+
+ /** Numbering is in Korean Digital number as
+ "일,이,삼,...,일영,일영영, ..."
+
+ @since LibreOffice 7.3
+ */
+ const short NUMBER_DIGITAL_KO = 69;
+
+ /** Numbering is in Korean Digital Number, reserved "koreanDigital2", as
+ "一,二,三,...,一零,一零零, ..."
+
+ @since LibreOffice 7.3
+ */
+ const short NUMBER_DIGITAL2_KO = 70;
+
+ /** Numbering is in Korean Legal Number, reserved "koreanLegal", as
+ "하나,둘,셋,..."
+
+ @since LibreOffice 7.3
+ */
+ const short NUMBER_LEGAL_KO = 71;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/style/PageProperties.idl b/offapi/com/sun/star/style/PageProperties.idl
new file mode 100644
index 000000000..3189f569d
--- /dev/null
+++ b/offapi/com/sun/star/style/PageProperties.idl
@@ -0,0 +1,516 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_style_PageProperties_idl__
+#define __com_sun_star_style_PageProperties_idl__
+
+#include <com/sun/star/table/ShadowFormat.idl>
+#include <com/sun/star/util/Color.idl>
+#include <com/sun/star/table/BorderLine.idl>
+#include <com/sun/star/style/PageStyleLayout.idl>
+#include <com/sun/star/style/GraphicLocation.idl>
+#include <com/sun/star/awt/Size.idl>
+#include <com/sun/star/text/XText.idl>
+#include <com/sun/star/text/XTextColumns.idl>
+#include <com/sun/star/container/XNameContainer.idl>
+#include <com/sun/star/text/WritingMode2.idl>
+#include <com/sun/star/graphic/XGraphic.idl>
+
+module com { module sun { module star { module style {
+
+/** describes the style of pages.
+ */
+published service PageProperties
+{
+ /** contains the background color of the page.
+ */
+ [property] com::sun::star::util::Color BackColor;
+
+ /** contains the URL of the background graphic.
+
+ @deprecated as of LibreOffice 6.1 - use BackGraphic instead
+
+ Note the new behaviour since it this was deprecated:
+ This property can only be set and only external URLs are
+ supported (no more vnd.sun.star.GraphicObject scheme). When an
+ URL is set, then it will load the graphic and set the BackGraphic
+ property.
+ */
+ [property] string BackGraphicURL;
+
+ /** contains the filter name of the background graphic.
+ */
+ [property] string BackGraphicFilter;
+
+ /** determines the location of the background graphic.
+ */
+ [property] com::sun::star::style::GraphicLocation BackGraphicLocation;
+
+ /** determines if the background color is transparent.
+
+ <p>If this property is set to `TRUE`,
+ PageStyle::BackColor will not be used.</p>
+ */
+ [property] boolean BackTransparent;
+
+ /** determines the left margin of the page.
+ */
+ [property] long LeftMargin;
+
+ /** determines the right margin of the page.
+ */
+ [property] long RightMargin;
+
+ /** determines the top margin of the page.
+ */
+ [property] long TopMargin;
+
+ /** determines the bottom margin of the page.
+ */
+ [property] long BottomMargin;
+
+ /** determines the style of the left border line of the page.
+ */
+ [property] com::sun::star::table::BorderLine LeftBorder;
+
+ /** determines the style of the right border line of the page.
+ */
+ [property] com::sun::star::table::BorderLine RightBorder;
+
+ /** determines the style of the top border line of the page.
+ */
+ [property] com::sun::star::table::BorderLine TopBorder;
+
+ /** determines the style of the bottom border line of the page.
+ */
+ [property] com::sun::star::table::BorderLine BottomBorder;
+
+ /** determines the left border distance of the page.
+ */
+ [property] long LeftBorderDistance;
+
+ /** determines the right border distance of the page.
+ */
+ [property] long RightBorderDistance;
+
+ /** determines the top border distance of the page.
+ */
+ [property] long TopBorderDistance;
+
+ /** determines the bottom border distance of the page.
+ */
+ [property] long BottomBorderDistance;
+
+ /** determines the shadow of the page.
+ */
+ [property] com::sun::star::table::ShadowFormat ShadowFormat;
+
+ /** determines if the page format is landscape.
+ */
+ [property] boolean IsLandscape;
+
+ /** determines the default numbering type for this page.
+ */
+ [property] short NumberingType;
+
+ /** determines the layout of the page.
+ */
+ [property] com::sun::star::style::PageStyleLayout PageStyleLayout;
+
+ /** contains the name of a paper tray of the selected printer.
+ */
+ [property] string PrinterPaperTray;
+
+ /** determines if the register mode is active on that page.
+ */
+ [optional, property] boolean RegisterModeActive;
+
+ /** contains the name of the paragraph style that is used as reference of the register mode.
+ */
+ [optional, property] string RegisterParagraphStyle;
+
+ /** contains the paper size of the page.
+ */
+ [property] com::sun::star::awt::Size Size;
+
+ /** contains the width of the page.
+ */
+ [property] long Width;
+
+ /** contains the height of the page.
+ */
+ [property] long Height;
+
+ /** contains the column settings of the page.
+ */
+ [optional , property] com::sun::star::text::XTextColumns TextColumns;
+
+ /** contains user defined attributes.
+
+ <p>This com::sun::star::container::XNameContainer
+ supports the service
+ com::sun::star::xml::AttributeContainer.</p>
+ */
+ [property] com::sun::star::container::XNameContainer UserDefinedAttributes;
+
+ /** contains the color of the background of the header.
+ */
+ [property, maybevoid] com::sun::star::util::Color HeaderBackColor;
+
+ /** contains the URL of the background graphic of the header.
+
+ @deprecated as of LibreOffice 6.1 - use HeaderBackGraphic instead
+
+ Note the new behaviour since it this was deprecated:
+ This property can only be set and only external URLs are
+ supported (no more vnd.sun.star.GraphicObject scheme). When an
+ URL is set, then it will load the graphic and set the HeaderBackGraphic
+ property.
+ */
+ [property, maybevoid] string HeaderBackGraphicURL;
+
+ /** contains the filter name of the background graphic of the header.
+ */
+ [property, maybevoid] string HeaderBackGraphicFilter;
+
+ /** determines the location of the background graphic of the header.
+ */
+ [property, maybevoid] com::sun::star::style::GraphicLocation HeaderBackGraphicLocation;
+
+ /** contains the left margin of the header.
+ */
+ [property, maybevoid] long HeaderLeftMargin;
+
+ /** contains the right margin of the header.
+ */
+ [property, maybevoid] long HeaderRightMargin;
+
+ /** determines if the background color of the header is transparent.
+
+ <p>If this property is set to `TRUE`,
+ PageStyle::HeaderBackColor will not be used.</p>
+ */
+ [property, maybevoid] boolean HeaderBackTransparent;
+
+ /** determines the style of the left border line of the header.
+ */
+ [property, maybevoid] com::sun::star::table::BorderLine HeaderLeftBorder;
+
+ /** determines the style of the right border line of the header.
+ */
+ [property, maybevoid] com::sun::star::table::BorderLine HeaderRightBorder;
+
+ /** determines the style of the top border line of the header.
+ */
+ [property, maybevoid] com::sun::star::table::BorderLine HeaderTopBorder;
+
+ /** determines the style of the bottom border line of the header.
+ */
+ [property, maybevoid] com::sun::star::table::BorderLine HeaderBottomBorder;
+
+ /** determines the left border distance of the header.
+ */
+ [property, maybevoid] long HeaderLeftBorderDistance;
+
+ /** determines the right border distance of the header.
+ */
+ [property, maybevoid] long HeaderRightBorderDistance;
+
+ /** determines the top border distance of the header.
+ */
+ [property, maybevoid] long HeaderTopBorderDistance;
+
+ /** determines the bottom border distance of the header.
+ */
+ [property, maybevoid] long HeaderBottomBorderDistance;
+
+ /** determines the shadow of the header.
+ */
+ [property, maybevoid] com::sun::star::table::ShadowFormat HeaderShadowFormat;
+
+ /** determines the distance between the header and the body text area.
+ */
+ [property, maybevoid] long HeaderBodyDistance;
+
+ /** determines if the header content on left and right pages is the same.
+ */
+ [property, maybevoid] boolean HeaderIsShared;
+
+ /** determines if the header/footer content on the first page and remaining pages is the same.
+
+ @since LibreOffice 4.0
+ */
+ [optional, property, maybevoid] boolean FirstIsShared;
+
+ /** contains the height of the header.
+ */
+ [property, maybevoid] long HeaderHeight;
+
+ /** determines if the height of the header depends on the content.
+ */
+ [property, maybevoid] boolean HeaderIsDynamicHeight;
+
+ /** determines if a header is used on the page.
+ */
+ [property] boolean HeaderIsOn;
+
+ /** contains the interface to the text of the header.
+ */
+ [optional, property, maybevoid] com::sun::star::text::XText HeaderText;
+
+ /** contains the interface to the text of the header of left pages.
+ */
+ [optional, property, maybevoid] com::sun::star::text::XText HeaderTextLeft;
+
+ /** contains the interface to the text of the header of right pages.
+ */
+ [optional, property, maybevoid] com::sun::star::text::XText HeaderTextRight;
+
+ /** contains the color of the background of the footer.
+ */
+ [property, maybevoid] com::sun::star::util::Color FooterBackColor;
+
+ /** contains the URL of the background graphic in the footer.
+
+ @deprecated as of LibreOffice 6.1 - use FooterBackGraphic
+
+ Note the new behaviour since it this was deprecated:
+ This property can only be set and only external URLs are
+ supported (no more vnd.sun.star.GraphicObject scheme). When an
+ URL is set, then it will load the graphic and set the FooterBackGraphic
+ property.
+ */
+ [property, maybevoid] string FooterBackGraphicURL;
+
+ /** contains the filter name of the background graphic in the footer.
+ */
+ [property, maybevoid] string FooterBackGraphicFilter;
+
+ /** determines the location of the background graphic in the footer.
+ */
+ [property, maybevoid] com::sun::star::style::GraphicLocation FooterBackGraphicLocation;
+
+ /** determines the left margin of the footer.
+ */
+ [property, maybevoid] long FooterLeftMargin;
+
+ /** determines the right margin of the footer.
+ */
+ [property, maybevoid] long FooterRightMargin;
+
+ /** determines if the background of the footer is transparent.
+ */
+ [property, maybevoid] boolean FooterBackTransparent;
+
+ /** contains the style of the left border line of the footer.
+ */
+ [property, maybevoid] com::sun::star::table::BorderLine FooterLeftBorder;
+
+ /** contains the style of the right border line of the footer.
+ */
+ [property, maybevoid] com::sun::star::table::BorderLine FooterRightBorder;
+
+ /** contains the style of the top border line of the footer.
+ */
+ [property, maybevoid] com::sun::star::table::BorderLine FooterTopBorder;
+
+ /** contains the style of the bottom border line of the footer.
+ */
+ [property, maybevoid] com::sun::star::table::BorderLine FooterBottomBorder;
+
+ /** contains the left border distance of the footer.
+ */
+ [property, maybevoid] long FooterLeftBorderDistance;
+
+ /** contains the right border distance of the footer.
+ */
+ [property, maybevoid] long FooterRightBorderDistance;
+
+ /** contains the top border distance of the footer.
+ */
+ [property, maybevoid] long FooterTopBorderDistance;
+
+ /** contains the bottom border distance of the footer.
+ */
+ [property, maybevoid] long FooterBottomBorderDistance;
+
+ /** determines the shadow of the footer.
+ */
+ [property, maybevoid] com::sun::star::table::ShadowFormat FooterShadowFormat;
+
+ /** determines the distance between the footer and the body text area.
+ */
+ [property, maybevoid] long FooterBodyDistance;
+
+ /** determines if the height of the footer depends on the content.
+ */
+ [property, maybevoid] boolean FooterIsDynamicHeight;
+
+ /** determines if the footer content on left and right pages is the same.
+ */
+ [property, maybevoid] boolean FooterIsShared;
+
+ /** determines the height of the footer.
+ */
+ [property, maybevoid] long FooterHeight;
+
+ /** determines if a footer is used on the page.
+ */
+ [property] boolean FooterIsOn;
+
+ /** contains the interface to the text of the footer.
+ */
+ [optional, property, maybevoid] com::sun::star::text::XText FooterText;
+
+ /** contains the interface to the text of the footer of a left page.
+ */
+ [optional, property, maybevoid] com::sun::star::text::XText FooterTextLeft;
+
+ /** contains the interface to the text of the footer of a right page.
+ */
+ [optional, property, maybevoid] com::sun::star::text::XText FooterTextRight;
+
+ /** contains the maximum height of the footnote area. If set to zero then the height
+ of the current page is used as limit.
+ */
+ [optional,property] long FootnoteHeight;
+
+ /** contains the weight of the separator line between the text and the footnote area.
+ */
+ [optional,property] short FootnoteLineWeight;
+
+ /** contains the style of the separator line between the text and the footnote area.
+
+ @see com::sun::star::style::FootnoteLineStyle
+ for the possible values.
+ */
+ [optional,property] short FootnoteLineStyle;
+
+ /** contains the color of the separator line between the text and the footnote area.
+ */
+ [optional,property] com::sun::star::util::Color FootnoteLineColor;
+
+ /** contains the relative width of the separator line between the text and the footnote area.
+ */
+ [optional,property] byte FootnoteLineRelativeWidth;
+
+ /** contains the adjustment of the separator line between the text and the footnote area.
+ <p>com::sun::star::text::HorizontalAdjusts.</p>
+ */
+ [optional,property] short FootnoteLineAdjust;
+
+ /** contains the distance between the text and the separator line between the
+ text and the footnote area.
+ */
+ [optional,property] long FootnoteLineTextDistance;
+
+ /** contains the distance between the footnote area and the separator line between
+ the text and the footnote area.
+ */
+ [optional,property] long FootnoteLineDistance;
+
+ /** contains the writing direction, as represented by the
+ com::sun::star::text::WritingMode2 constants */
+ [optional,property] short WritingMode;
+
+ /** contains the mode of the text grid (none, lines, ...), as
+ represented by com::sun::star::text::TextGridMode
+ constants */
+ [optional, property] short GridMode;
+
+ /** contains the display color of the text grid */
+ [optional, property] com::sun::star::util::Color GridColor;
+
+ /** contains the number of lines in the text grid */
+ [optional, property] short GridLines;
+
+ /** contains the height of the base text line inside the text grid */
+ [optional, property] long GridBaseHeight;
+
+ /** contains the height of the ruby text line inside the text grid */
+ [optional, property] long GridRubyHeight;
+
+ /** determines whether the text grid's ruby line is located below or
+ above the base line */
+ [optional, property] boolean GridRubyBelow;
+
+ /** determines whether the text grid lines are printed */
+ [optional, property] boolean GridPrint;
+
+ /** determines whether the text grid lines are visible or not */
+ [optional, property] boolean GridDisplay;
+
+ /** determines whether to use dynamic spacing in header or not. */
+ [optional, property, maybevoid] boolean HeaderDynamicSpacing;
+
+ /** determines whether to use dynamic spacing in footer or not. */
+ [optional, property, maybevoid] boolean FooterDynamicSpacing;
+
+ /** determines the distance of all borders of the page. */
+ [property] long BorderDistance;
+
+ /** contains the distance of all borders of the footer. */
+ [property, maybevoid] long FooterBorderDistance;
+
+ /** determines the distance of all borders of the header. */
+ [property, maybevoid] long HeaderBorderDistance;
+
+ /** contains the graphic of the background.
+
+ @since LibreOffice 6.1
+ */
+ [optional, property] com::sun::star::graphic::XGraphic BackGraphic;
+
+ /** contains the graphic of the background of the header.
+
+ @since LibreOffice 6.1
+ */
+ [optional, property, maybevoid] com::sun::star::graphic::XGraphic HeaderBackGraphic;
+
+ /** contains the graphic of the background of the footer.
+
+ @since LibreOffice 6.1
+ */
+ [optional, property, maybevoid] com::sun::star::graphic::XGraphic FooterBackGraphic;
+
+ /** determines the gutter margin of the page.
+
+ @since LibreOffice 7.2
+ */
+ [optional, property] long GutterMargin;
+
+ /** does the background cover the full page or only inside the
+ margins?
+
+ @since LibreOffice 7.2
+ */
+ [optional, property] boolean BackgroundFullSize;
+
+ /** specifies that the page gutter shall be placed on the right side of the page.
+
+ @since LibreOffice 7.2
+ */
+ [optional, property] boolean RtlGutter;
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/style/PageStyle.idl b/offapi/com/sun/star/style/PageStyle.idl
new file mode 100644
index 000000000..7a0a17487
--- /dev/null
+++ b/offapi/com/sun/star/style/PageStyle.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_style_PageStyle_idl__
+#define __com_sun_star_style_PageStyle_idl__
+
+#include <com/sun/star/style/Style.idl>
+#include <com/sun/star/style/PageProperties.idl>
+
+
+
+module com { module sun { module star { module style {
+
+
+/** contributes common properties of page styles.
+
+ @see com::sun::star::text::TextPageStyle
+ @see com::sun::star::sheet::TablePageStyle
+ */
+published service PageStyle
+{
+
+ /** provides common functionality for styles.
+ */
+ service com::sun::star::style::Style;
+
+ /** gives access to the pages properties.
+ */
+ service com::sun::star::style::PageProperties;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/style/PageStyleLayout.idl b/offapi/com/sun/star/style/PageStyleLayout.idl
new file mode 100644
index 000000000..6e0f6dade
--- /dev/null
+++ b/offapi/com/sun/star/style/PageStyleLayout.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_style_PageStyleLayout_idl__
+#define __com_sun_star_style_PageStyleLayout_idl__
+
+
+module com { module sun { module star { module style {
+
+
+/** specifies the pages for which a page layout is valid.
+ */
+published enum PageStyleLayout
+{
+
+ /** The page style is identically used for left and right pages.
+ */
+ ALL,
+
+
+ /** The page style is only used for left pages.
+ */
+ LEFT,
+
+
+ /** The page style is only used for right pages.
+ */
+ RIGHT,
+
+
+ /** The page style is used unchanged for left pages and mirrored for
+ right pages.
+ */
+ MIRRORED
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/style/ParagraphAdjust.idl b/offapi/com/sun/star/style/ParagraphAdjust.idl
new file mode 100644
index 000000000..630a15fcd
--- /dev/null
+++ b/offapi/com/sun/star/style/ParagraphAdjust.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_style_ParagraphAdjust_idl__
+#define __com_sun_star_style_ParagraphAdjust_idl__
+
+
+
+ module com { module sun { module star { module style {
+
+/** These enumeration values describe the formatting of a text paragraph.
+ */
+published enum ParagraphAdjust
+{
+ /** adjusted to the left border
+ */
+ LEFT,
+
+ /** adjusted to the right border
+ */
+ RIGHT,
+
+ /** adjusted to both borders / stretched, except for last line
+ */
+ BLOCK,
+
+ /** adjusted to the center
+ */
+ CENTER,
+
+ /** adjusted to both borders / stretched, including last line
+ */
+ STRETCH
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/style/ParagraphProperties.idl b/offapi/com/sun/star/style/ParagraphProperties.idl
new file mode 100644
index 000000000..32a63282d
--- /dev/null
+++ b/offapi/com/sun/star/style/ParagraphProperties.idl
@@ -0,0 +1,445 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_style_ParagraphProperties_idl__
+#define __com_sun_star_style_ParagraphProperties_idl__
+
+#include <com/sun/star/style/ParagraphAdjust.idl>
+#include <com/sun/star/util/Color.idl>
+#include <com/sun/star/style/LineSpacing.idl>
+#include <com/sun/star/style/GraphicLocation.idl>
+#include <com/sun/star/style/TabStop.idl>
+#include <com/sun/star/style/DropCapFormat.idl>
+#include <com/sun/star/container/XIndexReplace.idl>
+#include <com/sun/star/table/ShadowFormat.idl>
+#include <com/sun/star/table/BorderLine.idl>
+#include <com/sun/star/style/BreakType.idl>
+#include <com/sun/star/container/XNameContainer.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/graphic/XGraphic.idl>
+
+module com { module sun { module star { module style {
+
+/** describes the style of paragraphs.
+ */
+published service ParagraphProperties
+{
+
+ /** determines the adjustment of a paragraph.
+ */
+ [property] com::sun::star::style::ParagraphAdjust ParaAdjust;
+
+
+ /** contains the type of the line spacing of a paragraph.
+ */
+ [optional, property] com::sun::star::style::LineSpacing ParaLineSpacing;
+
+
+ /** contains the paragraph background color.
+ */
+ [optional, property] com::sun::star::util::Color ParaBackColor;
+
+
+ /** This value is `TRUE` if the paragraph background color
+ is set to transparent.
+ */
+ [optional, property] boolean ParaBackTransparent;
+
+
+ /** contains the value of a link for the background graphic of a paragraph.
+
+ @deprecated as of LibreOffice 6.1 - use ParaBackGraphic instead
+
+ Note the new behaviour since it this was deprecated:
+ This property can only be set and only external URLs are
+ supported (no more vnd.sun.star.GraphicObject scheme). When an
+ URL is set, then it will load the graphic and set the ParaBackGraphic
+ property.
+ */
+ [optional, property] string ParaBackGraphicURL;
+
+ /** contains the name of the graphic filter for the background graphic of a paragraph.
+ */
+ [optional, property] string ParaBackGraphicFilter;
+
+
+ /** contains the value for the position of a background graphic.
+
+ @see com::sun::star::style::GraphicLocation
+ */
+ [optional, property] com::sun::star::style::GraphicLocation ParaBackGraphicLocation;
+
+
+ /** determines the adjustment of the last line.
+ <p>It is only valid if ParagraphProperties::ParaAdjust
+ is set to ParagraphAdjust::BLOCK.</p>
+ */
+ [property] short ParaLastLineAdjust;
+
+
+ /** determines if single words are stretched.
+
+ <p>It is only valid if ParagraphProperties::ParaAdjust and
+ ParagraphProperties::ParaLastLineAdjust are also valid.</p>
+ */
+ [optional, property] boolean ParaExpandSingleWord;
+
+
+ /** determines the left margin of the paragraph in 100th mm.
+ */
+ [property] long ParaLeftMargin;
+
+
+ /** determines the right margin of the paragraph in 100th mm.
+ */
+ [property] long ParaRightMargin;
+
+
+ /** determines the top margin of the paragraph in 100th mm.
+
+ <p>The distance between two paragraphs is specified by:</p>
+ <ul>
+ <li>either the bottom margin of the previous paragraph.</li>
+ <li>or the top margin of the following paragraph.</li>
+ </ul>
+ The greater one is chosen.
+ */
+ [property] long ParaTopMargin;
+
+
+ /** determines the bottom margin of the paragraph in 100th mm.
+
+ <p>The distance between two paragraphs is specified by:</p>
+ <ul>
+ <li>either the bottom margin of the previous paragraph
+ </li>
+ <li>or the top margin of the following paragraph.
+ </li>
+ </ul>
+ The greater one is chosen.
+ */
+ [property] long ParaBottomMargin;
+
+ /** determines if contextual spacing is used.
+
+ @since LibreOffice 3.6
+
+ <p>If true, the top and bottom margins of the paragraph should not be
+ applied when the previous and next paragraphs have the same style.</p>
+ */
+ [optional, property] boolean ParaContextMargin;
+
+ /** Grab bag of paragraph properties, used as a string-any map for interim interop purposes.
+
+ @since LibreOffice 4.2
+
+ <p>This property is intentionally not handled by the ODF filter. Any
+ member that should be handled there should be first moved out from this grab
+ bag to a separate property.</p>
+ */
+ [optional, property] sequence<com::sun::star::beans::PropertyValue> ParaInteropGrabBag;
+
+ /** determines if the paragraph is included in the
+ line numbering.
+ */
+ [optional, property] boolean ParaLineNumberCount;
+
+
+ /** contains the start value for the line numbering.
+ */
+ [optional, property] long ParaLineNumberStartValue;
+
+
+ /** If this property is set, it creates a page break before the
+ paragraph it belongs to and assigns the value as the name
+ of the new page style sheet to use.
+ */
+ [optional, property] string PageDescName;
+
+
+ /** If a page break property is set at a paragraph, this property contains the new value for the page number.
+ */
+ [optional, property] short PageNumberOffset;
+
+
+ /** determines if the register mode is applied to a
+ paragraph.
+
+
+
+ <p>Remark: Register mode is only used if the register
+ mode property of the page style is switched on.</p>
+ */
+ [optional, property] boolean ParaRegisterModeActive;
+
+
+ /** specifies the positions and kinds of the tab stops within this
+ paragraph.
+ */
+ [optional, property] sequence<com::sun::star::style::TabStop> ParaTabStops;
+
+
+ /** contains the name of the current paragraph style.
+ */
+ [optional, property] string ParaStyleName;
+
+
+ /** contains the name of the current page style.
+ */
+ [optional, property, maybevoid, readonly] string PageStyleName;
+
+
+ /** specifies whether the first characters of the
+ paragraph are displayed in capital letters and how they are
+ formatted.
+ */
+ [optional, property] com::sun::star::style::DropCapFormat DropCapFormat;
+
+
+ /** specifies if the property <var>DropCapFormat</var>
+ is applied to the whole first word.
+ */
+ [optional, property] boolean DropCapWholeWord;
+
+
+ /** Setting this property to `TRUE` prevents page or column
+ breaks between this and the following paragraph.
+
+
+ <p>This feature is useful for preventing title paragraphs to be
+ the last line on a page or column.</p>
+ */
+ [optional, property] boolean ParaKeepTogether;
+
+
+ /** Setting this property to `FALSE` prevents the paragraph from
+ getting split into two pages or columns.
+ */
+ [optional, property] boolean ParaSplit;
+
+
+ /** specifies the numbering level of the paragraph.
+ */
+ [optional, property] short NumberingLevel;
+
+ /** contains the numbering rules applied to this paragraph.
+ */
+ [optional, property] com::sun::star::container::XIndexReplace NumberingRules;
+
+
+ /** specifies the start value for numbering if a new numbering starts at this paragraph.
+ */
+ [optional, property] short NumberingStartValue;
+
+ /** determines if the numbering rules restart, counting at the current paragraph.
+ */
+ [optional, property] boolean ParaIsNumberingRestart;
+
+ /** specifies the name of the style for the numbering.
+
+
+ <p>The name must be one of the names which are available via
+ XStyleFamiliesSupplier.</p>
+ */
+ [optional, property] string NumberingStyleName;
+
+ /** specifies the minimum number of lines of the paragraph that have
+ to be at bottom of a page if the paragraph is spread over more than
+ one page.
+ */
+ [optional, property] byte ParaOrphans;
+
+ /** specifies the minimum number of lines of the paragraph that have
+ to be at top of a page if the paragraph is spread over more than
+ one page.
+ */
+ [optional, property] byte ParaWidows;
+ /** determines the type, color, and size of the shadow.
+ @see com::sun::star::table::ShadowFormat
+ */
+ [optional, property] com::sun::star::table::ShadowFormat ParaShadowFormat;
+ /** contains the left border of the object.
+ */
+ [property, optional] com::sun::star::table::BorderLine LeftBorder;
+
+ /** contains the right border of the object.
+ */
+ [property, optional] com::sun::star::table::BorderLine RightBorder;
+
+ /** contains the top border of the object.
+ */
+ [property, optional] com::sun::star::table::BorderLine TopBorder;
+
+ /** contains the bottom border of the object.
+ */
+ [property, optional] com::sun::star::table::BorderLine BottomBorder;
+
+ /** contains the distance from the border to the object.
+ */
+ [property, optional] long BorderDistance;
+
+ /** contains the distance from the left border to the object.
+ */
+ [property, optional] long LeftBorderDistance;
+
+ /** contains the distance from the right border to the object.
+ */
+ [property, optional] long RightBorderDistance;
+
+ /** contains the distance from the top border to the object.
+ */
+ [property, optional] long TopBorderDistance;
+
+ /** contains the distance from the bottom border to the object.
+ */
+ [property, optional] long BottomBorderDistance;
+
+ /** determines the type of break that is applied at the beginning of the table.
+ @see com::sun::star::style::BreakType
+ */
+ [optional, property] com::sun::star::style::BreakType BreakType;
+
+ /** specifies the character style name for drop caps.
+ */
+ [optional, property] string DropCapCharStyleName;
+
+ /** specifies the indent for the first line.
+ */
+ [optional, property] long ParaFirstLineIndent;
+
+ /** determines if the first line should be indented automatically.
+ */
+ [optional, property] boolean ParaIsAutoFirstLineIndent;
+
+ /** specifies if automatic hyphenation is applied.
+ */
+ [property] boolean ParaIsHyphenation;
+
+ /** specifies the maximum number of consecutive hyphens.
+ */
+ [optional, property] short ParaHyphenationMaxHyphens;
+
+ /** specifies the minimum number of characters to remain before the
+ hyphen character (when hyphenation is applied).
+ @note Confusingly it is named Max but specifies a minimum.
+ */
+ [optional, property] short ParaHyphenationMaxLeadingChars;
+
+ /** specifies the minimum number of characters to remain after the
+ hyphen character (when hyphenation is applied).
+ @note Confusingly it is named Max but specifies a minimum.
+ */
+ [optional, property] short ParaHyphenationMaxTrailingChars;
+
+ /** specifies the vertical alignment of a paragraph.
+
+ @see com::sun::star::text::ParagraphVertAlign
+ */
+ [optional, property] short ParaVertAlignment;
+
+ /** this property stores xml attributes.
+ They will be saved to and restored from automatic styles inside xml files.
+
+ @see com::sun::star::xml::AttributeContainer
+ */
+ [optional, property] com::sun::star::container::XNameContainer ParaUserDefinedAttributes;
+
+ /** returns `FALSE` if the paragraph is part of a numbering, but has no
+ numbering label.
+
+ <p>A paragraph is part of a numbering, if a style for a numbering is
+ set - see NumberingStyleName.</p>
+ <p>If the paragraph is not part of a numbering the property is void.</p>
+ */
+ [optional, property, maybevoid] boolean NumberingIsNumber;
+
+ /** the property determines if borders set at a paragraph are merged with the
+ next paragraph.
+ <p>Borders are only merged if they are identical.</p>
+ */
+ [optional, property, maybevoid] boolean ParaIsConnectBorder;
+
+ /** specifies the id of the list to which the paragraph belongs
+
+ */
+ [optional, property] string ListId;
+
+ /** specifies the outline level to which the paragraph belongs
+
+ @since OOo 3.1
+
+ <p>Value 0 indicates that the paragraph belongs to the body text.</p>
+ <p>Values [1..10] indicates that the paragraph belongs to the corresponding outline level.</p>
+ */
+ [optional, property] short OutlineLevel;
+
+ /** contains the graphic for the background of a paragraph.
+
+ @since LibreOffice 6.1
+ */
+ [optional, property] com::sun::star::graphic::XGraphic ParaBackGraphic;
+
+ /** specifies that a child node of a parent node that is not counted
+ is continuing the numbering of parent's previous node's sub tree.
+
+ @since OOo 3.0.1
+
+ @note misspelling retained for compatibility
+ */
+ [optional, property, readonly] boolean ContinueingPreviousSubTree;
+
+ /** allows reading the generated numbering list label.
+
+ @since OOo 3.0.1
+ */
+ [optional, property, readonly] string ListLabelString;
+
+ /** Specifies whether words written in CAPS will be hyphenated.
+ Setting to `true` will disable hyphenation of words written in CAPS for this paragraph.
+
+ @since LibreOffice 6.4
+ */
+ [optional, property] boolean ParaHyphenationNoCaps;
+
+ /** Specifies whether last word of paragraph will be hyphenated.
+ Setting to `true` will disable hyphenation of last word for this paragraph.
+
+ @since LibreOffice 7.4
+ */
+ [optional, property] boolean ParaHyphenationNoLastWord;
+
+ /** specifies the minimum word length in characters, when hyphenation is applied.
+
+ @since LibreOffice 7.4
+ */
+ [optional, property] short ParaHyphenationMinWordLength;
+
+ /** specifies the hyphenation zone, i.e. allowed extra white space
+ in the line before applying hyphenation.
+
+ @since LibreOffice 7.4
+ */
+ [optional, property] long ParaHyphenationZone;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/style/ParagraphPropertiesAsian.idl b/offapi/com/sun/star/style/ParagraphPropertiesAsian.idl
new file mode 100644
index 000000000..37f68e685
--- /dev/null
+++ b/offapi/com/sun/star/style/ParagraphPropertiesAsian.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_style_ParagraphPropertiesAsian_idl__
+#define __com_sun_star_style_ParagraphPropertiesAsian_idl__
+
+
+
+
+ module com { module sun { module star { module style {
+
+
+/** contains settings for the style of paragraphs with complex text layout.
+ */
+published service ParagraphPropertiesAsian
+{
+ /** determines if hanging punctuation is allowed.
+ */
+ [property] boolean ParaIsHangingPunctuation;
+ /** determines if a distance between Asian text, western text or complex text is set.
+ */
+ [property] boolean ParaIsCharacterDistance;
+ /** determines if the rules for forbidden characters at the start or end
+ of text lines are considered.
+ */
+ [property] boolean ParaIsForbiddenRules;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/style/ParagraphPropertiesComplex.idl b/offapi/com/sun/star/style/ParagraphPropertiesComplex.idl
new file mode 100644
index 000000000..9d0909301
--- /dev/null
+++ b/offapi/com/sun/star/style/ParagraphPropertiesComplex.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_style_ParagraphPropertiesComplex_idl__
+#define __com_sun_star_style_ParagraphPropertiesComplex_idl__
+
+
+
+
+ module com { module sun { module star { module style {
+
+
+/** contains settings for the style of paragraphs with complex text layout.
+ */
+published service ParagraphPropertiesComplex
+{
+ /** contains the writing direction, as represented by the
+ com::sun::star::text::WritingMode2 constants
+ */
+ [property] short WritingMode;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/style/ParagraphStyle.idl b/offapi/com/sun/star/style/ParagraphStyle.idl
new file mode 100644
index 000000000..b5606e0a9
--- /dev/null
+++ b/offapi/com/sun/star/style/ParagraphStyle.idl
@@ -0,0 +1,128 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_style_ParagraphStyle_idl__
+#define __com_sun_star_style_ParagraphStyle_idl__
+
+#include <com/sun/star/style/ParagraphProperties.idl>
+#include <com/sun/star/style/Style.idl>
+#include <com/sun/star/xml/ParaUserDefinedAttributesSupplier.idl>
+
+
+ module com { module sun { module star { module style {
+
+
+/** specifies a style sheet for paragraphs within a
+ com::sun::star::text::Text.
+ */
+published service ParagraphStyle
+{
+ /// specifies administrative properties.
+ service Style;
+
+ /** contains user defined attributes for paragraphs.
+
+ @see com::sun::star::xml::ParaUserDefinedAttributesSupplier
+ */
+ [optional] service com::sun::star::xml::ParaUserDefinedAttributesSupplier;
+
+ /// specifies the style properties.
+ service ParagraphProperties;
+
+ /** determines the left margin of the paragraph relative to the ParaLeftMargin
+ of the parent style.
+
+ <p> If the value of ParaLeftMarginRelative is 100 the current
+ ParaLeftMargin value is used. </p>
+ */
+ [property] long ParaLeftMarginRelative;
+
+
+ /** determines the right margin of the paragraph relative to the ParaRightMargin
+ of the parent style.
+
+ <p> If the value of ParaRightMarginRelative is 100 the current
+ ParaRightMargin value is used. </p>
+ */
+ [property] long ParaRightMarginRelative;
+
+
+ /** determines the top margin of the paragraph relative to the ParaTopMargin
+ of the parent style.
+
+ <p> If the value of ParaTopMarginRelative is 100 the current
+ ParaTopMargin value is used. </p>
+ */
+ [property] long ParaTopMarginRelative;
+
+
+ /** determines the Bottom margin of the paragraph relative to the ParaBottomMargin
+ of the parent style.
+
+ <p> If the value of ParaBottomMarginRelative is 100 the current
+ ParaBottomMargin value is used. </p>
+ */
+ [property] long ParaBottomMarginRelative;
+
+ /** determines the category of a paragraph style. @see com::sun::star::style::ParagraphStyleCategory
+ */
+ [property] short Category;
+
+ [property] float CharDiffHeight;
+
+ /** This value contains the character height as percentage value relative to the height of
+ the character in the parent style.
+ */
+ [property] short CharPropHeight;
+
+ /** This value contains the character height as difference in point to the height of
+ the character in the parent style in Asian text.
+ */
+ [property] float CharDiffHeightAsian;
+
+ /** This value contains the character height as percentage value relative to the height of
+ the character in the parent style in Asian text.
+ */
+ [property] short CharPropHeightAsian;
+
+ /** This value contains the character height as difference in point to the height of
+ the character in the parent style in complex text.
+ */
+ [property] float CharDiffHeightComplex;
+
+ /** This value contains the character height as percentage value relative to the height of
+ the character in the parent style in complex text.
+ */
+ [property] short CharPropHeightComplex;
+
+ /** returns the name of the page style in use
+
+ <P>For setting the page style you have to use the
+ com::sun::star::text::PageDescName
+ properties.
+ </P>
+ */
+ [optional, readonly, property] string PageStyleName;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/style/ParagraphStyleCategory.idl b/offapi/com/sun/star/style/ParagraphStyleCategory.idl
new file mode 100644
index 000000000..5595296dc
--- /dev/null
+++ b/offapi/com/sun/star/style/ParagraphStyleCategory.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_style_ParagraphStyleCategory_idl__
+#define __com_sun_star_style_ParagraphStyleCategory_idl__
+
+
+ module com { module sun { module star { module style {
+/** These constants are used to specify the category of paragraph styles in text documents.
+ */
+published constants ParagraphStyleCategory
+{
+ /** is applied to styles that are used for common text.
+ */
+ const short TEXT = 0;
+ /** is applied to styles that are used as headings.
+ */
+ const short CHAPTER = 1;
+ /** is applied to styles that used in numberings and lists.
+ */
+ const short LIST = 2;
+ /** is applied to styles that are used in indexes.
+ */
+ const short INDEX = 3;
+ /** is applied to styles that are used in special regions like headers, footers, and footnote text.
+ */
+ const short EXTRA = 4;
+ /** is applied to styles that are used to support HTML.
+ */
+ const short HTML = 5;
+};
+
+
+}; }; }; };
+
+#endif
+
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/style/Style.idl b/offapi/com/sun/star/style/Style.idl
new file mode 100644
index 000000000..28fccaed4
--- /dev/null
+++ b/offapi/com/sun/star/style/Style.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_style_Style_idl__
+#define __com_sun_star_style_Style_idl__
+
+#include <com/sun/star/style/XStyle.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/beans/XMultiPropertySet.idl>
+#include <com/sun/star/beans/XMultiPropertyStates.idl>
+#include <com/sun/star/beans/NamedValue.idl>
+#include <com/sun/star/xml/UserDefinedAttributesSupplier.idl>
+
+
+
+ module com { module sun { module star { module style {
+
+
+/** This service specifies a single style sheet.
+ */
+published service Style
+{
+ /** contains user defined attributes.
+
+ @see com::sun::star::xml::UserDefinedAttributesSupplier
+ */
+ [optional] service com::sun::star::xml::UserDefinedAttributesSupplier;
+
+
+ interface com::sun::star::style::XStyle;
+
+ interface com::sun::star::beans::XPropertySet;
+
+ [optional] interface com::sun::star::beans::XMultiPropertySet;
+
+ /* This optional interface is available as an optimization, allowing users
+ to use "setAllPropertiesToDefault", for example. */
+
+ [optional] interface com::sun::star::beans::XMultiPropertyStates;
+
+
+ /** determines if a style is physically created.
+
+ <p> Built in styles may not be created until they are needed.
+ To prevent standard style properties from being exported, it may be
+ useful to check if the style is created first.
+ </p>
+ */
+ [optional, readonly, property] boolean IsPhysical;
+
+ /** contains the name of the style that is applied to the next paragraph.
+
+ <p> This property is usually available at paragraph styles only. </p>
+ */
+ [optional, property] string FollowStyle;
+
+ /** contains the name of the style as it is displayed in the user interface.
+
+ <p> The names of the styles at the API are language independent. The user interface
+ names are localized.</p>
+ */
+ [optional, readonly, property] string DisplayName;
+
+ /** determines if a style is automatically updated, if the properties of an object
+ that the style is applied to are changed.
+
+ <p> For example, if the style is applied to a paragraph and the properties of the paragraph
+ are changed then the style will be updated accordingly.</p>
+ */
+ [optional, property] string IsAutoUpdate;
+
+ /** defines the context and styles for conditional paragraphs.
+
+ <p>This property is only available if the style is a conditional
+ paragraph style.</p>
+
+ <p>The sequence consists of pairs where the name part of the pair
+ defines the context where it should be applied and the value part
+ is a string naming the style to be used in that context.</p>
+
+ <p>Assigning an empty string to the style name will disable
+ the conditional style for that context.</p>
+
+ <p>The allowed strings (contexts) for the name part of an entry
+ of the sequence are:</p>
+
+ <ul>
+ <li>TableHeader</li>
+ <li>Table</li>
+ <li>Frame</li>
+ <li>Section</li>
+ <li>Footnote</li>
+ <li>Endnote</li>
+ <li>Header</li>
+ <li>Footer</li>
+ <li>OutlineLevel1</li>
+ <li>OutlineLevel2</li>
+ <li>OutlineLevel3</li>
+ <li>OutlineLevel4</li>
+ <li>OutlineLevel5</li>
+ <li>OutlineLevel6</li>
+ <li>OutlineLevel7</li>
+ <li>OutlineLevel8</li>
+ <li>OutlineLevel9</li>
+ <li>OutlineLevel10</li>
+ <li>NumberingLevel1</li>
+ <li>NumberingLevel2</li>
+ <li>NumberingLevel3</li>
+ <li>NumberingLevel4</li>
+ <li>NumberingLevel5</li>
+ <li>NumberingLevel6</li>
+ <li>NumberingLevel7</li>
+ <li>NumberingLevel8</li>
+ <li>NumberingLevel9</li>
+ <li>NumberingLevel10</li>
+ </ul>
+
+
+ @since OOo 2.0.1
+ */
+ [optional, property] sequence< com::sun::star::beans::NamedValue > ParaStyleConditions;
+
+ /** Flag indicating whether to hide the style in the UI.
+ @since LibreOffice 4.0
+ */
+ [optional, property] boolean Hidden;
+
+ /** Grab bag of style properties, used as a string-any map for interim interop purposes.
+
+ @since LibreOffice 4.2
+
+ <p>This property is intentionally not handled by the ODF filter. Any
+ member that should be handled there should be first moved out from this grab
+ bag to a separate property.</p>
+ */
+ [optional, property] sequence<com::sun::star::beans::PropertyValue> StyleInteropGrabBag;
+};
+
+
+}; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/style/StyleFamilies.idl b/offapi/com/sun/star/style/StyleFamilies.idl
new file mode 100644
index 000000000..70b012e64
--- /dev/null
+++ b/offapi/com/sun/star/style/StyleFamilies.idl
@@ -0,0 +1,97 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_style_StyleFamilies_idl__
+#define __com_sun_star_style_StyleFamilies_idl__
+
+#include <com/sun/star/container/XNameAccess.idl>
+
+#include <com/sun/star/container/XIndexAccess.idl>
+
+
+
+ module com { module sun { module star { module style {
+
+/** This service contains the collection of style families within the
+ container document.
+
+ <p>Examples of style families may be:
+ <dl>
+ <dt>CharacterStyles
+ </dt>
+ <dd>the container of style sheets for sequences of characters
+ within a text
+
+ </dd>
+ <dt>ParagraphStyles
+ </dt>
+ <dd>the container of style sheets for text paragraphs
+
+ </dd>
+ <dt>FrameStyles
+ </dt>
+ <dd>the container of style sheets for text frames
+
+ </dd>
+ <dt>PageStyles
+ </dt>
+ <dd>the container of style sheets for pages
+
+ </dd>
+ <dt>NumberingStyles
+ </dt>
+ <dd>the container for style sheets for numbering
+
+ </dd>
+ <dt>CellStyles
+ </dt>
+ <dd>the container for style sheets for cells
+
+ </dd>
+ <dt>ShapeStyles
+ </dt>
+ <dd>the container for style sheets for shapes
+ </dd>
+ </dl>
+ </p>
+ */
+published service StyleFamilies
+{
+
+ /** This mandatory interface makes it possible to get access to the
+ style families by their names.
+
+ <p>The elements within this collection are StyleFamily instances.
+ */
+ interface com::sun::star::container::XNameAccess;
+
+ /** This optional interface makes it possible to get access to the
+ style families by index.
+
+ <p>The elements within this collection are StyleFamily instances.
+ */
+ [optional] interface com::sun::star::container::XIndexAccess;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/style/StyleFamily.idl b/offapi/com/sun/star/style/StyleFamily.idl
new file mode 100644
index 000000000..d48e263ad
--- /dev/null
+++ b/offapi/com/sun/star/style/StyleFamily.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_style_StyleFamily_idl__
+#define __com_sun_star_style_StyleFamily_idl__
+
+#include <com/sun/star/container/XNameContainer.idl>
+
+#include <com/sun/star/container/XIndexAccess.idl>
+
+
+
+ module com { module sun { module star { module style {
+
+/** This service is a container of style sheets of the same style family.@see StyleFamilies
+ */
+published service StyleFamily
+{
+
+ /** This mandatory interface makes it possible to access
+ the style sheets within this family by name.
+
+ <p>The elements in this container support the service
+ Style and are accessed via an XStyle.
+ */
+ interface com::sun::star::container::XNameAccess;
+
+ /** This optional interface makes it possible to add and
+ remove the style sheets within this family by name.
+
+ <p>The elements in this container support the service
+ Style and are accessed via an XStyle.
+ */
+ [optional] interface com::sun::star::container::XNameContainer;
+ /** This optional interface makes it possible to access the style sheets
+ within this family by index.
+
+ <p>The elements in this container support the service
+ Style and are accessed via an XStyle.
+ */
+ [optional] interface com::sun::star::container::XIndexAccess;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/style/TabAlign.idl b/offapi/com/sun/star/style/TabAlign.idl
new file mode 100644
index 000000000..df2e5e87c
--- /dev/null
+++ b/offapi/com/sun/star/style/TabAlign.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_style_TabAlign_idl__
+#define __com_sun_star_style_TabAlign_idl__
+
+
+
+ module com { module sun { module star { module style {
+
+/** These enumeration values are used to specify the alignment of
+ the text range delimited by a tabulator.
+ */
+published enum TabAlign
+{
+ /** The text range is left-aligned between the previous tabulator
+ (or the left border, if none) and this tabulator.
+ */
+ LEFT,
+
+ /** The text range is centered between the previous tabulator
+ (or the left border, if none) and this tabulator.
+ */
+ CENTER,
+
+ /** The text range is right-aligned between the previous tabulator
+ (or the left border, if none) and this tabulator.
+ */
+ RIGHT,
+
+ /** The decimal point of the text range to the left of this
+ tabulator is aligned to the position of this tabulator.
+ */
+ DECIMAL,
+
+ /** The default alignment for tabulators is applied.
+ */
+ DEFAULT
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/style/TabStop.idl b/offapi/com/sun/star/style/TabStop.idl
new file mode 100644
index 000000000..991a9c119
--- /dev/null
+++ b/offapi/com/sun/star/style/TabStop.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_style_TabStop_idl__
+#define __com_sun_star_style_TabStop_idl__
+
+#include <com/sun/star/style/TabAlign.idl>
+
+
+
+ module com { module sun { module star { module style {
+
+/** This structure is used to specify a single tabulator stop.
+ */
+published struct TabStop
+{
+ /** This field specifies the position of the tabulator in relation
+ to the left border.
+ */
+ long Position;
+
+ /** This field specifies the alignment of the text range before the
+ tabulator.
+ */
+ com::sun::star::style::TabAlign Alignment;
+
+ /** This field specifies which delimiter is used for the decimal.
+ */
+ char DecimalChar;
+
+ /** This field specifies the character that is used to fill up the
+ space between the text in the text range and the tabulators.
+ */
+ char FillChar;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/style/VerticalAlignment.idl b/offapi/com/sun/star/style/VerticalAlignment.idl
new file mode 100644
index 000000000..e488886c2
--- /dev/null
+++ b/offapi/com/sun/star/style/VerticalAlignment.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_style_VerticalAlignment_idl__
+#define __com_sun_star_style_VerticalAlignment_idl__
+
+
+
+ module com { module sun { module star { module style {
+
+/** specify the horizontal alignment of
+ an object within a container object.
+ */
+published enum VerticalAlignment
+{
+ // DOCUMENTATION OMITTING FOR VerticalAlignment:: TOP,
+ /** set the vertical alignment to the center between the top and bottom margins from the container object.
+ */
+ TOP,
+
+ // DOCUMENTATION OMITTING FOR VerticalAlignment:: MIDDLE,
+ /** set the vertical alignment to the top margin from the container object.
+ */
+ MIDDLE,
+
+ // DOCUMENTATION OMITTING FOR VerticalAlignment:: BOTTOM
+ /** set the vertical alignment to the bottom margin from the container object.
+ */
+ BOTTOM
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/style/XAutoStyle.idl b/offapi/com/sun/star/style/XAutoStyle.idl
new file mode 100644
index 000000000..9d1d4f6f5
--- /dev/null
+++ b/offapi/com/sun/star/style/XAutoStyle.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_style_XAutoStyle_idl__
+#define __com_sun_star_style_XAutoStyle_idl__
+
+#include <com/sun/star/style/XStyle.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/beans/XMultiPropertySet.idl>
+#include <com/sun/star/beans/XMultiPropertyStates.idl>
+#include <com/sun/star/beans/NamedValue.idl>
+#include <com/sun/star/beans/PropertyValues.idl>
+
+
+
+
+ module com { module sun { module star { module style {
+
+
+/** This interface allows access to a single automatic style.
+ */
+interface XAutoStyle
+{
+ interface com::sun::star::beans::XMultiPropertySet;
+ interface com::sun::star::beans::XMultiPropertyStates;
+
+ /**
+ returns a sequence of all properties that are set in the style
+ */
+ com::sun::star::beans::PropertyValues getProperties();
+};
+
+
+}; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/style/XAutoStyleFamily.idl b/offapi/com/sun/star/style/XAutoStyleFamily.idl
new file mode 100644
index 000000000..c6357a603
--- /dev/null
+++ b/offapi/com/sun/star/style/XAutoStyleFamily.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_style_XAutoStyleFamily_idl__
+#define __com_sun_star_style_XAutoStyleFamily_idl__
+#include <com/sun/star/style/XAutoStyle.idl>
+#include <com/sun/star/container/XEnumerationAccess.idl>
+
+#include <com/sun/star/beans/PropertyValues.idl>
+
+
+ module com { module sun { module star { module style {
+
+/** This service contains the collection of automatic style families within the
+ container document.
+
+ */
+interface XAutoStyleFamily
+{
+ interface com::sun::star::container::XEnumerationAccess;
+ /** */
+ com::sun::star::style::XAutoStyle insertStyle( [in] com::sun::star::beans::PropertyValues Values);
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/style/XAutoStyles.idl b/offapi/com/sun/star/style/XAutoStyles.idl
new file mode 100644
index 000000000..fd7a4bbd2
--- /dev/null
+++ b/offapi/com/sun/star/style/XAutoStyles.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_style_XAutoStyles_idl__
+#define __com_sun_star_style_XAutoStyles_idl__
+
+#include <com/sun/star/container/XNameAccess.idl>
+
+#include <com/sun/star/container/XIndexAccess.idl>
+
+
+
+ module com { module sun { module star { module style {
+
+
+
+/** This service contains the collection of automatic style families within the
+ container document.
+
+ */
+interface XAutoStyles
+
+{
+ interface com::sun::star::container::XNameAccess;
+ interface com::sun::star::container::XIndexAccess;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/style/XAutoStylesSupplier.idl b/offapi/com/sun/star/style/XAutoStylesSupplier.idl
new file mode 100644
index 000000000..b89b386d7
--- /dev/null
+++ b/offapi/com/sun/star/style/XAutoStylesSupplier.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_style_XAutoStylesSupplier_idl__
+#define __com_sun_star_style_XAutoStylesSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/style/XAutoStyles.idl>
+
+
+ module com { module sun { module star { module style {
+
+/** This interface provides access to the style families within the
+ container document.
+ */
+interface XAutoStylesSupplier: com::sun::star::uno::XInterface
+{
+
+ /** This method returns the collection of automatic style families available
+ in the container document.@see AutoStyles
+ */
+ com::sun::star::style::XAutoStyles getAutoStyles();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/style/XDefaultsSupplier.idl b/offapi/com/sun/star/style/XDefaultsSupplier.idl
new file mode 100644
index 000000000..666cd9c3e
--- /dev/null
+++ b/offapi/com/sun/star/style/XDefaultsSupplier.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_style_XDefaultsSupplier_idl__
+#define __com_sun_star_style_XDefaultsSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+
+
+ module com { module sun { module star { module style {
+
+
+/** This interface provides access to an XPropertySet of defaults. This can
+ either be the parent of an XPropertySet or the global property defaults
+ for a document.
+ */
+published interface XDefaultsSupplier: com::sun::star::uno::XInterface
+{
+ /** This method returns an XPropertySet of defaults.
+ */
+ com::sun::star::beans::XPropertySet getDefaults();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/style/XStyle.idl b/offapi/com/sun/star/style/XStyle.idl
new file mode 100644
index 000000000..5da5d2d85
--- /dev/null
+++ b/offapi/com/sun/star/style/XStyle.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_style_XStyle_idl__
+#define __com_sun_star_style_XStyle_idl__
+
+#include <com/sun/star/container/XNamed.idl>
+
+#include <com/sun/star/container/NoSuchElementException.idl>
+
+
+
+ module com { module sun { module star { module style {
+
+
+/** specifies a template for a style (aka style sheet).
+ */
+published interface XStyle: com::sun::star::container::XNamed
+{
+
+ /** identifies a style as defined by the user.
+ */
+ boolean isUserDefined();
+
+
+ /** @returns
+ `TRUE` if this type is used in the document.
+ */
+ boolean isInUse();
+
+
+ /** @returns
+ the name of the parent style, probably empty.
+ */
+ string getParentStyle();
+
+
+ /** sets the name of the parent style.
+ */
+ void setParentStyle( [in] string aParentStyle )
+ raises( com::sun::star::container::NoSuchElementException );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/style/XStyleFamiliesSupplier.idl b/offapi/com/sun/star/style/XStyleFamiliesSupplier.idl
new file mode 100644
index 000000000..c68709d2b
--- /dev/null
+++ b/offapi/com/sun/star/style/XStyleFamiliesSupplier.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_style_XStyleFamiliesSupplier_idl__
+#define __com_sun_star_style_XStyleFamiliesSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/container/XNameAccess.idl>
+
+
+
+ module com { module sun { module star { module style {
+
+/** This interface provides access to the style families within the
+ container document.
+ */
+published interface XStyleFamiliesSupplier: com::sun::star::uno::XInterface
+{
+ /** This method returns the collection of style families available
+ in the container document.@see StyleFamilies
+ */
+ com::sun::star::container::XNameAccess getStyleFamilies();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/style/XStyleLoader.idl b/offapi/com/sun/star/style/XStyleLoader.idl
new file mode 100644
index 000000000..566f6fb26
--- /dev/null
+++ b/offapi/com/sun/star/style/XStyleLoader.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_style_XStyleLoader_idl__
+#define __com_sun_star_style_XStyleLoader_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/io/IOException.idl>
+
+
+
+ module com { module sun { module star { module style {
+
+/** enables the object to import styles from documents.
+ */
+published interface XStyleLoader: com::sun::star::uno::XInterface
+{
+ /** loads styles from a document at the given URL.
+ <p>
+ If <var>OverwriteStyles</var> is `TRUE`, then all styles
+ will be loaded. Otherwise, only styles which are not already
+ defined in this document are loaded.</p>
+ @param URL
+ The directory and the filename from document with the styles
+ You can also load from stream. Use "private:stream" as the URL and the InputStream parameter below.
+ @param aOptions
+ Specifies which of the Style families the method should load.
+
+ The <code>sequence<PropertyValue></code> has the following, optional items:
+ <ul>
+ <li> boolean LoadCellStyles </li>
+ <li> boolean LoadTextStyles </li>
+ <li> boolean LoadFrameStyles </li>
+ <li> boolean LoadPageStyles </li>
+ <li> boolean LoadNumberingStyles </li>
+ <li> boolean OverwriteStyles</li>
+ <li> com::sun::star::io::XInputStream InputStream (since LibreOffice 7.0)</li>
+ </ul>
+ <p>As the default, all supported style families are loaded and existing styles are overwritten.</p>
+ */
+ void loadStylesFromURL( [in] string URL,
+ [in] sequence<com::sun::star::beans::PropertyValue> aOptions )
+ raises( com::sun::star::io::IOException );
+
+ /** @returns
+ a sequence of the supported properties as declared in XStyleLoader::loadStylesFromURL()
+ with their current values.
+ */
+ sequence<com::sun::star::beans::PropertyValue> getStyleLoaderOptions();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/style/XStyleLoader2.idl b/offapi/com/sun/star/style/XStyleLoader2.idl
new file mode 100644
index 000000000..dbdde4464
--- /dev/null
+++ b/offapi/com/sun/star/style/XStyleLoader2.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/.
+ */
+
+#ifndef __com_sun_star_style_XStyleLoader2_idl__
+#define __com_sun_star_style_XStyleLoader2_idl__
+
+#include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/io/IOException.idl>
+#include <com/sun/star/lang/XComponent.idl>
+
+
+module com { module sun { module star { module style {
+
+/** extends XStyleLoader interface to import styles from an already opened component.
+
+ @see com::sun::star::style::XStyleLoader
+
+ @since LibreOffice 4.4
+ */
+interface XStyleLoader2: com::sun::star::style::XStyleLoader
+{
+ /** loads styles from a given document
+ <p>
+ @param aSourceComponent
+ a valid XComponent reference to source document
+ @param aOptions
+ Specifies which of the Style families the method should load.
+ The <code>sequence<PropertyValue></code> has the following, optional items:
+ <ul>
+ <li> boolean LoadCellStyles </li>
+ <li> boolean LoadTextStyles </li>
+ <li> boolean LoadFrameStyles </li>
+ <li> boolean LoadPageStyles </li>
+ <li> boolean LoadNumberingStyles </li>
+ <li> boolean OverwriteStyles</li>
+ </ul>
+ If <var>OverwriteStyles</var> is `TRUE`, then all styles
+ will be loaded. Otherwise, only styles which are not already
+ defined in this document are loaded.</p>
+ <p>As the default, all supported style families are loaded and existing styles are overwritten.</p>
+ */
+ void loadStylesFromDocument( [in] com::sun::star::lang::XComponent aSourceComponent,
+ [in] sequence<com::sun::star::beans::PropertyValue> aOptions )
+ raises( com::sun::star::io::IOException );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/style/XStyleSupplier.idl b/offapi/com/sun/star/style/XStyleSupplier.idl
new file mode 100644
index 000000000..0b9706da3
--- /dev/null
+++ b/offapi/com/sun/star/style/XStyleSupplier.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_style_XStyleSupplier_idl
+#define com_sun_star_style_XStyleSupplier_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/style/XStyle.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module style
+{
+
+interface XStyleSupplier : ::com::sun::star::uno::XInterface
+{
+ /** get the currently set style.
+
+ @return the style. If no style was set, the returned object
+ may be empty (null). Otherwise, the returned object
+ must support the service
+ PropertyTemplate.
+ */
+ ::com::sun::star::style::XStyle getStyle();
+
+ /** @param xStyle If you want to remove an existing style, you can
+ set an empty (null) object. Otherwise, the object
+ given must support the service
+ PropertyTemplate.
+ */
+ void setStyle( [in] ::com::sun::star::style::XStyle xStyle )
+ raises( com::sun::star::lang::IllegalArgumentException );
+};
+
+} ; // style
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/svg/XSVGPrinter.idl b/offapi/com/sun/star/svg/XSVGPrinter.idl
new file mode 100644
index 000000000..e8f4df152
--- /dev/null
+++ b/offapi/com/sun/star/svg/XSVGPrinter.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_svg_XSVGPrinter_idl__
+#define __com_sun_star_svg_XSVGPrinter_idl__
+
+#include <com/sun/star/xml/sax/XDocumentHandler.idl>
+
+
+ module com { module sun { module star { module svg {
+
+/** @deprecated
+*/
+published interface XSVGPrinter: com::sun::star::uno::XInterface
+{
+ boolean startJob( [in] com::sun::star::xml::sax::XDocumentHandler aHandler,
+ [in] sequence< byte > aJobSetup,
+ [in] string aJobName,
+ [in] unsigned long nCopies,
+ [in] boolean bCollate );
+ void printPage( [in] sequence< byte > aPrintPage );
+ void endJob();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/svg/XSVGWriter.idl b/offapi/com/sun/star/svg/XSVGWriter.idl
new file mode 100644
index 000000000..639b4751a
--- /dev/null
+++ b/offapi/com/sun/star/svg/XSVGWriter.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_svg_XSVGWriter_idl__
+#define __com_sun_star_svg_XSVGWriter_idl__
+
+#include <com/sun/star/xml/sax/XDocumentHandler.idl>
+
+
+ module com { module sun { module star { module svg {
+
+/** @deprecated
+*/
+published interface XSVGWriter: com::sun::star::uno::XInterface
+{
+ void write( [in] com::sun::star::xml::sax::XDocumentHandler aHandler,
+ [in] sequence< byte > aMtf );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/system/SimpleCommandMail.idl b/offapi/com/sun/star/system/SimpleCommandMail.idl
new file mode 100644
index 000000000..0f89735a4
--- /dev/null
+++ b/offapi/com/sun/star/system/SimpleCommandMail.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_system_SimpleCommandMail_idl__
+#define __com_sun_star_system_SimpleCommandMail_idl__
+
+#include <com/sun/star/configuration/ConfigurationProvider.idl>
+
+
+module com { module sun { module star { module system {
+
+
+published interface XSimpleMailClientSupplier;
+
+/** Specifies a SimpleCommandMail service. Implementations of such a service, do
+ implement an interface to send mail messages via the current configured
+ command line mail application.
+
+ @see com::sun::star::system::XSimpleMailClient
+*/
+
+published service SimpleCommandMail : XSimpleMailClientSupplier;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/system/SimpleMailClientFlags.idl b/offapi/com/sun/star/system/SimpleMailClientFlags.idl
new file mode 100644
index 000000000..33ee2e3e9
--- /dev/null
+++ b/offapi/com/sun/star/system/SimpleMailClientFlags.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_system_SimpleMailClientFlags_idl__
+#define __com_sun_star_system_SimpleMailClientFlags_idl__
+
+
+module com { module sun { module star { module system {
+
+/** These constants are used to specify how the SimpleMailClient Service
+ should behave.
+ */
+
+published constants SimpleMailClientFlags
+{
+ /** Uses the default settings when sending a mail, e.g.
+ launches the current configured system mail client.
+ */
+ const long DEFAULTS = 0;
+
+ /** Does not show the current configured system mail client, but sends
+ the mail without any further user interaction.
+ If this flag is specified, a recipient address must have been
+ specified for the given XSimpleMailMessage
+ object given to the method
+ com::sun::star::system::XSimpleMailClient::sendSimpleMailMessage().
+ */
+ const long NO_USER_INTERFACE = 1;
+
+ /** No logon dialog should be displayed to prompt the user for logon
+ information if necessary.
+ When this flag is specified and the user needs to logon in order
+ to send a simple mail message via the method
+ com::sun::star::system::XSimpleMailClient::sendSimpleMailMessage(),
+ an Exception will be thrown.
+ */
+ const long NO_LOGON_DIALOG = 2;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/system/SimpleSystemMail.idl b/offapi/com/sun/star/system/SimpleSystemMail.idl
new file mode 100644
index 000000000..54cc8b163
--- /dev/null
+++ b/offapi/com/sun/star/system/SimpleSystemMail.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_system_SimpleSystemMail_idl__
+#define __com_sun_star_system_SimpleSystemMail_idl__
+
+
+module com { module sun { module star { module system {
+
+
+published interface XSimpleMailClientSupplier;
+
+/** Specifies a SimpleSystemMail service. Implementations of such a service
+ implement an interface to send mail messages via the currently configured
+ system mail client.
+
+ @see com::sun::star::system::XSimpleMailClient
+*/
+
+published service SimpleSystemMail : XSimpleMailClientSupplier;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/system/SystemShellExecute.idl b/offapi/com/sun/star/system/SystemShellExecute.idl
new file mode 100644
index 000000000..1b33e7b53
--- /dev/null
+++ b/offapi/com/sun/star/system/SystemShellExecute.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_system_SystemShellExecute_idl__
+#define __com_sun_star_system_SystemShellExecute_idl__
+
+
+module com { module sun { module star { module system {
+
+
+published interface XSystemShellExecute;
+
+/** Specifies a system executer service. Such a service makes it possible
+ to execute an arbitrary system command.
+
+ @see com::sun::star::system::XSystemShellExecute
+*/
+
+published service SystemShellExecute : XSystemShellExecute;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/system/SystemShellExecuteException.idl b/offapi/com/sun/star/system/SystemShellExecuteException.idl
new file mode 100644
index 000000000..8342fa9d5
--- /dev/null
+++ b/offapi/com/sun/star/system/SystemShellExecuteException.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_system_SystemShellExecuteException_idl__
+#define __com_sun_star_system_SystemShellExecuteException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+module com { module sun { module star { module system {
+
+/** May be thrown in cases of errors executing a command using the SystemShellExecute service.
+ com::sun::star::uno::Exception::Message may contain a
+ system error message, but it is not mandatory.
+ The member PosixError specifies a POSIX conforming error code or -1 for
+ unknown errors.
+ */
+published exception SystemShellExecuteException: com::sun::star::uno::Exception
+{
+ /** A POSIX conforming error code or -1 for unknown errors.
+ */
+ long PosixError;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/system/SystemShellExecuteFlags.idl b/offapi/com/sun/star/system/SystemShellExecuteFlags.idl
new file mode 100644
index 000000000..78ac35665
--- /dev/null
+++ b/offapi/com/sun/star/system/SystemShellExecuteFlags.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_system_SystemShellExecuteFlags_idl__
+#define __com_sun_star_system_SystemShellExecuteFlags_idl__
+
+
+module com { module sun { module star { module system {
+
+/** Different settings for the SystemShellExecute service.
+ */
+
+published constants SystemShellExecuteFlags
+{
+ /** Uses the default settings for executing commands.
+ */
+ const long DEFAULTS = 0;
+
+ /** Prevents the display of system error message boxes if the
+ method com::sun::star::system::XSystemShellExecute::execute() fails.
+ */
+ const long NO_SYSTEM_ERROR_MESSAGE = 1;
+
+ /** Only allows opening of absolute URI references.
+
+ @since LibreOffice 3.6
+ */
+ const long URIS_ONLY = 2;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/system/XSimpleMailClient.idl b/offapi/com/sun/star/system/XSimpleMailClient.idl
new file mode 100644
index 000000000..4fdf47401
--- /dev/null
+++ b/offapi/com/sun/star/system/XSimpleMailClient.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_system_XSimpleMailClient_idl__
+#define __com_sun_star_system_XSimpleMailClient_idl__
+
+#include <com/sun/star/uno/RuntimeException.idl>
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/system/XSimpleMailMessage.idl>
+#include <com/sun/star/system/SimpleMailClientFlags.idl>
+
+
+module com { module sun { module star { module system {
+
+/** Specifies an interface for creating and sending email messages.
+*/
+
+published interface XSimpleMailClient: com::sun::star::uno::XInterface
+{
+ /** Create a simple mail message object that implements the interface
+ XSimpleMailMessage.
+ @returns
+ An object that implements the XSimpleMailMessage interface.
+ */
+ XSimpleMailMessage createSimpleMailMessage( );
+
+ /** Sends a given simple mail message object that implements the interface
+ XSimpleMailMessage.
+
+ @param xSimpleMailMessage
+ Specifies a configured mail object to be sent.
+
+ @param aFlag
+ Specifies different flags that control the send process
+ if the flag NO_USER_INTERFACE is specified. A recipient
+ address must have been specified for the given xMailMessage object.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ <ul>
+ <li>If invalid or excluding flags have been specified.</li>
+ <li>The flag NO_USER_INTERFACE is specified and no recipient
+ address has been specified for the given xSimpleMailMessage object.</li>
+ <li>The parameter xSimpleMailMessage is NULL.</li>
+ </ul>
+
+ @throws com::sun::star::uno::Exception
+ if an error occurs while sending the mail.
+ <p>The Message member of the exception may contain an error description.</p>
+
+ @see com::sun::star::system::XSimpleMailMessage
+ @see com::sun::star::system::SimpleMailClientFlags
+ */
+ void sendSimpleMailMessage( [in] XSimpleMailMessage xSimpleMailMessage, [in] long aFlag )
+ raises( ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::Exception );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/system/XSimpleMailClientSupplier.idl b/offapi/com/sun/star/system/XSimpleMailClientSupplier.idl
new file mode 100644
index 000000000..04f87d347
--- /dev/null
+++ b/offapi/com/sun/star/system/XSimpleMailClientSupplier.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_system_XSimpleMailClientSupplier_idl__
+#define __com_sun_star_system_XSimpleMailClientSupplier_idl__
+
+#include <com/sun/star/uno/RuntimeException.idl>
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/system/XSimpleMailClient.idl>
+
+
+module com { module sun { module star { module system {
+
+/** Implementations of this interface do provide access to a simple mail client
+ if there is one available
+
+ @see com::sun::star::system::XSimpleMailClient
+*/
+
+published interface XSimpleMailClientSupplier: com::sun::star::uno::XInterface
+{
+ /** Allows a client to query for an object that implements
+ XSimpleMailClient.
+ @returns
+ An interface to a simple mail client if there is one available on the system
+ or an empty reference else.
+
+ @see com::sun::star::system::XSimpleMailClient
+ */
+ XSimpleMailClient querySimpleMailClient( );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/system/XSimpleMailMessage.idl b/offapi/com/sun/star/system/XSimpleMailMessage.idl
new file mode 100644
index 000000000..449abd8b4
--- /dev/null
+++ b/offapi/com/sun/star/system/XSimpleMailMessage.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_system_XSimpleMailMessage_idl__
+#define __com_sun_star_system_XSimpleMailMessage_idl__
+
+#include <com/sun/star/uno/RuntimeException.idl>
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+module com { module sun { module star { module system {
+
+/** This interface lets a client set or get the information of a simple mail
+ message.
+*/
+
+
+published interface XSimpleMailMessage: com::sun::star::uno::XInterface
+{
+ /** To set the recipient of the simple mail message.
+ @param aRecipient
+ The email address of a recipient. The method doesn't check if
+ the given email address is valid.
+ */
+ void setRecipient( [in] string aRecipient );
+
+ /** To get the recipient of the simple mail message.
+ @returns
+ The specified email address of a recipient
+ if any has been specified or an empty string.
+ */
+ string getRecipient( );
+
+ /** To set the cc recipients of a simple mail message.
+
+ @param aCcRecipient
+ Sets a sequence with the email addresses of one or more cc recipients.
+ <p>The method does not check if the given addresses are valid. An empty
+ sequence means there are no cc recipients.</p>
+ */
+ void setCcRecipient( [in] sequence< string > aCcRecipient );
+
+ /** To get the cc recipients of a simple mail message.
+ @returns
+ A sequence with the email addresses of one or more cc recipients.
+ <p>If no cc recipients have been specified an empty sequence will be returned.</p>
+ */
+ sequence< string > getCcRecipient( );
+
+ /** To set the BCC recipient of a simple mail message.
+ @param aBccRecipient
+ A sequence with the email addresses of one or more BCC recipients. An empty
+ sequence means there are no BCC recipients.</p>
+ */
+ void setBccRecipient( [in] sequence< string > aBccRecipient );
+
+ /** To get the BCC recipients of a simple mail message.
+ @returns
+ A sequence with the email addresses of one or more BCC recipients.
+ <p>If no BCC recipients have been specified an empty sequence will be returned.</p>
+ */
+ sequence< string > getBccRecipient( );
+
+ /** To set the email address of the originator of a simple mail message.
+ @param aOriginator
+ Sets the email address of the originator of the mail.
+ */
+ void setOriginator( [in] string aOriginator );
+
+ /** To get the email address of the originator of a simple mail message.
+ @returns
+ The email address of the originator of the mail.
+ <p>If no originator has been specified an empty string will be returned.</p>
+ */
+ string getOriginator( );
+
+ /** To set the subject of a simple mail message.
+ @param aSubject
+ Sets the subject of the simple mail message.
+ */
+ void setSubject( [in] string aSubject );
+
+ /** To get the subject of a simple mail message.
+ @returns
+ The subject of the simple mail message.
+ <p>If no subject has been specified an empty string will be returned.</p>
+ */
+ string getSubject( );
+
+ /** To set an attachment of a simple mail message.
+ @param aAttachement
+ Sets a sequence of file URLs specifying the files that should be
+ attached to the mail. The given file URLs must conform to
+ <a href="http://www.w3.org/Addressing/rfc1738.txt">Rfc1738</a>.
+ The method does not check if the specified file or files really exist.
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if at least one of the given file URLs is invalid (doesn't conform to
+ <a href="http://www.w3.org/Addressing/rfc1738.txt">Rfc1738</a>).
+ */
+ void setAttachement( [in] sequence< string > aAttachement )
+ raises( ::com::sun::star::lang::IllegalArgumentException );
+
+ /** To get the attachment of a simple mail message.
+ @returns
+ A sequence of file URLs specifying the files that should be attached to
+ the mail or an empty sequence if no attachments have been specified.
+ The returned file URLs conform to <a href="http://www.w3.org/Addressing/rfc1738.txt">Rfc1738</a>.
+ */
+ sequence< string > getAttachement( );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/system/XSimpleMailMessage2.idl b/offapi/com/sun/star/system/XSimpleMailMessage2.idl
new file mode 100644
index 000000000..8452c94b0
--- /dev/null
+++ b/offapi/com/sun/star/system/XSimpleMailMessage2.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_system_XSimpleMailMessage2_idl__
+#define __com_sun_star_system_XSimpleMailMessage2_idl__
+
+#include <com/sun/star/system/XSimpleMailMessage.idl>
+
+module com { module sun { module star { module system {
+
+/** This interface extends XSimpleMailMessage
+
+ @since LibreOffice 4.2
+*/
+interface XSimpleMailMessage2 : XSimpleMailMessage
+{
+ [attribute] string Body;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/system/XSystemShellExecute.idl b/offapi/com/sun/star/system/XSystemShellExecute.idl
new file mode 100644
index 000000000..acefdd4ef
--- /dev/null
+++ b/offapi/com/sun/star/system/XSystemShellExecute.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_system_XSystemShellExecute_idl__
+#define __com_sun_star_system_XSystemShellExecute_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/system/SystemShellExecuteException.idl>
+
+
+module com { module sun { module star { module system {
+
+/** Specifies an interface for executing a system command.
+*/
+
+
+published interface XSystemShellExecute: com::sun::star::uno::XInterface
+{
+ /** Executes an arbitrary system command.
+
+ @param aCommand
+ Specifies the command to execute. This may be an executable file or a
+ document which is registered with an application on a specific platform,
+ so that the platform knows what application to launch for that document.
+ If the command specifies a path to an executable, etc, this has to be
+ a system specific path.
+
+ @param aParameter
+ Specifies a list of space separated parameters. The method does not
+ validate the given parameters, but only passes it as a parameter to the
+ specified command.
+
+ @param nFlags
+ Specifies different flags to control the execution of this method, for example,
+ avoid showing system error messages, in case of failures, etc.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ when the specified flags are wrong or exclude each other; also thrown,
+ with an ArgumentPosition of 0, when nFlags contains URIS_ONLY and
+ aCommand is not an absolute URI reference
+
+ @throws com::sun::star::system::SystemShellExecuteException
+ in the case of errors when trying to executed the specified command.
+
+ @see com::sun::star::system::SystemShellExecuteFlags
+ */
+ void execute( [in] string aCommand, [in] string aParameter, [in] long nFlags )
+ raises( ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::system::SystemShellExecuteException );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/system/windows/JumpList.idl b/offapi/com/sun/star/system/windows/JumpList.idl
new file mode 100644
index 000000000..82becd522
--- /dev/null
+++ b/offapi/com/sun/star/system/windows/JumpList.idl
@@ -0,0 +1,33 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.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_system_windows_JumpList_idl__
+#define __com_sun_star_system_windows_JumpList_idl__
+
+
+module com { module sun { module star { module system { module windows {
+
+
+interface XJumpList;
+
+/** Specifies a Jump List service. Allows to add custom commands to the Windows Jump List.
+
+ @since LibreOffice 7.4
+
+ @see com::sun::star::system::windows::XJumpList
+*/
+
+service JumpList : XJumpList;
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/offapi/com/sun/star/system/windows/JumpListItem.idl b/offapi/com/sun/star/system/windows/JumpListItem.idl
new file mode 100644
index 000000000..30a8bdd6f
--- /dev/null
+++ b/offapi/com/sun/star/system/windows/JumpListItem.idl
@@ -0,0 +1,55 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.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_system_windows_JumpListItem_idl__
+#define __com_sun_star_system_windows_JumpListItem_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/uno/Sequence.idl>
+
+
+module com { module sun { module star { module system { module windows {
+
+/** Specifies an item for com::sun::star::system::windows::XJumpList .
+
+ @since LibreOffice 7.4
+*/
+
+struct JumpListItem
+{
+ /** Item name. Appears in the JumpList.
+ Has to be unique per category.
+ Must not include embedded NULs ('\\0'). */
+ string name;
+
+ /** Item description, appears as tooltip.
+ Must not include embedded NULs ('\\0').
+ */
+ string description;
+
+ /** Arguments to be passed to LibreOffice.
+ This can be a file to be loaded, or any command line parameter supported by LibreOffice, and any combination of the two.
+ Add multiple arguments separated by space.
+ Must not include embedded NULs ('\\0').
+ */
+ string arguments;
+
+ /** Icon to be displayed along the name.
+ Must be a local path name like `C:\\path\\to\\icon.ico`.
+ Icon must be in ICO format.
+ */
+ string iconPath;
+};
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/offapi/com/sun/star/system/windows/XJumpList.idl b/offapi/com/sun/star/system/windows/XJumpList.idl
new file mode 100644
index 000000000..ddf941524
--- /dev/null
+++ b/offapi/com/sun/star/system/windows/XJumpList.idl
@@ -0,0 +1,195 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.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_system_windows_XJumpList_idl__
+#define __com_sun_star_system_windows_XJumpList_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/system/SystemShellExecuteException.idl>
+
+
+module com { module sun { module star { module system { module windows {
+
+/** Specifies an interface for adding custom jump lists to the task bar (Windows only)
+
+ To add a new jump list, call
+ 1. XJumpList::beginList
+ 2. XJumpList::appendCategory / XJumpList::addTasks / XJumpList::showRecentFiles / XJumpList::showFrequentFiles
+ 3. XJumpList::commitList
+
+ Use XJumpList::abortList to cancel a current list building session.
+ Use XJumpList::getRemovedItems to see which items were removed by the user.
+
+ @since LibreOffice 7.4
+*/
+interface XJumpList: com::sun::star::uno::XInterface
+{
+ /**
+ Start a new jump list.
+
+ @param application
+ Used to map the jump list to the correct application. Use one of the following values:
+ <ul>
+ <li>Writer</li>
+ <li>Calc</li>
+ <li>Impress</li>
+ <li>Draw</li>
+ <li>Math</li>
+ <li>Base</li>
+ <li>Startcenter</li>
+ </ul>
+
+ "Startcenter" will map to the generic "LibreOffice" icon.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ When `application` is invalid
+
+ @throws com::sun::star::util::InvalidStateException
+ When there is already an open list.
+ */
+ void beginList([in] string application)
+ raises( ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::util::InvalidStateException );
+
+ /** Add a jump list category.
+
+ Users can pin or remove items added via this method.
+ Use XJumpList::getRemovedItems to see which items were removed by the user.
+
+ @param category
+ Specifies the category name. It will appear as the title of the custom jump list.
+ Must not include embedded NULs ('\\0')
+
+ @param jumpListItems
+ Specifies a list of com::sun::star::system::JumpListItem.
+ Must contain at least one item.
+ These will be added as entries below the category name in the custom jump list.
+
+ Make sure you don't add items which the user has removed before
+ (check the result of `getRemovedItems` before updating a category).
+ If you try to add items which the user removed before,
+ they will be silently ignored and not added to the list.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ When one of the following applies:
+ <ul>
+ <li>`category` is empty</li>
+ <li>`jumpListItems` is empty or contains only items which were removed by the user</li>
+ </ul>
+
+ @throws com::sun::star::util::InvalidStateException
+ When there is no open list.
+ */
+ void appendCategory( [in] string category,
+ [in] sequence<com::sun::star::system::windows::JumpListItem> jumpListItems )
+ raises( ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::util::InvalidStateException );
+
+ /** Add items to the "Tasks" category. This category is system-defined and the category title cannot be changed.
+ Also the user cannot remove or pin items from this category (as he can with items added via XJumpList::appendCategory ).
+
+ @param jumpListItems
+ Specifies a list of com::sun::star::system::JumpListItem.
+ Must contain at least one item.
+ These will be added as entries below the "Tasks" system category.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ When `jumpListItems` is empty
+
+ @throws com::sun::star::util::InvalidStateException
+ When there is no open list.
+ */
+ void addTasks([in] sequence<com::sun::star::system::windows::JumpListItem> jumpListItems)
+ raises( ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::util::InvalidStateException );
+
+ /** Display the recently used files (populated by LibreOffice)
+
+ @throws com::sun::star::util::InvalidStateException
+ When there is no open list.
+ */
+ void showRecentFiles()
+ raises (::com::sun::star::util::InvalidStateException);
+
+ /** Display the frequently used files (populated by LibreOffice)
+
+ @throws com::sun::star::util::InvalidStateException
+ When there is no open list.
+ */
+ void showFrequentFiles()
+ raises (::com::sun::star::util::InvalidStateException);
+
+ /**
+ Commits the list.
+
+ @throws com::sun::star::util::InvalidStateException
+ When there is no open list.
+ */
+ void commitList()
+ raises( ::com::sun::star::util::InvalidStateException );
+
+ /**
+ Aborts a list building session started with beginList.
+
+ @throws com::sun::star::util::InvalidStateException
+ When there is no open list.
+ */
+ void abortList()
+ raises( ::com::sun::star::util::InvalidStateException );
+
+ /** Deletes the Jump List for a certain application
+
+ @param application
+ Used to map the jump list to the correct application. Use one of the following values:
+ <ul>
+ <li>Writer</li>
+ <li>Calc</li>
+ <li>Impress</li>
+ <li>Draw</li>
+ <li>Math</li>
+ <li>Base</li>
+ <li>Startcenter</li>
+ </ul>
+
+ "Startcenter" will map to the generic "LibreOffice" icon.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ When `application` is invalid
+ */
+ void deleteList( [in] string application )
+ raises( ::com::sun::star::lang::IllegalArgumentException );
+
+ /** Returns items that were removed from the jump list by the user.
+
+ `appendCategory` will ignore items which were removed by the user before.
+ Use this method to learn which items were removed by the user.
+
+ @param application
+ Used to map the jump list to the correct application. Use one of the following values:
+ <ul>
+ <li>Writer</li>
+ <li>Calc</li>
+ <li>Impress</li>
+ <li>Draw</li>
+ <li>Math</li>
+ <li>Base</li>
+ <li>Startcenter</li>
+ </ul>
+
+ "Startcenter" will map to the generic "LibreOffice" icon.
+
+ @return List of removed items.
+ */
+ sequence<com::sun::star::system::windows::JumpListItem> getRemovedItems([in] string application);
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/offapi/com/sun/star/table/AccessibleCellView.idl b/offapi/com/sun/star/table/AccessibleCellView.idl
new file mode 100644
index 000000000..d09f00b5c
--- /dev/null
+++ b/offapi/com/sun/star/table/AccessibleCellView.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_table_AccessibleCellView_idl__
+#define __com_sun_star_table_AccessibleCellView_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>
+#include <com/sun/star/accessibility/XAccessibleSelection.idl>
+#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
+
+
+
+module com { module sun { module star { module table {
+
+
+/** The accessible view of a cell in a text document or in the page preview
+ of a spreadsheet document. See
+ ::com::sun::star::sheet::AccessibleCell for cells in
+ the edit view of a spreadsheet.
+ @since OOo 1.1.2
+*/
+service AccessibleCellView
+{
+ /** This interface gives access to the visible content of a cell in a
+ accessible spreadsheet page preview or accessible text document view.
+ <ul>
+ <li>The parent returned by
+ ::com::sun::star::accessibility::XAccessibleContext::getAccessibleParent()
+ is the accessible table 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 service
+ ::com::sun::star::text::AccessibleParagraphView:
+ A child of this kind is returned for every paragraph
+ fragment that is contained in the cell and
+ is at least partially visible. A paragraph fragment is
+ the part of a paragraph that is displayed on a
+ certain page.
+ <li>The name is something like A10 or B23 or so on.</li>
+ <li>The description is the name or the content of the given note.</li>
+ <li>The role is
+ ::com::sun::star::accessibility::AccessibleRole::TABLE_CELL</li>
+ <li>For spreadsheets, 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
+ cell is shown, otherwise it is true.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::EDITABLE
+ is false if the cell
+ is showed in a page preview or 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 in spreadsheets and false otherwise.</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::SELECTABLE
+ is true if the
+ cell is not showed in a page preview, otherwise is it
+ false.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::SELECTED
+ is true, if the cell
+ is selected. This is not possible in the page preview.</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::TRANSIENT
+ is true if the cell
+ is showed in a spreadsheet page preview. 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 cell.
+ */
+ interface ::com::sun::star::accessibility::XAccessibleComponent;
+
+ /** This interface gives access to the value of the cell.
+ Only a readonly access is possible.
+ */
+ interface ::com::sun::star::accessibility::XAccessibleValue;
+
+ /** This interface is for selecting the text, value or parts of this in the
+ cell. This interface is optional.
+ */
+ [optional] interface ::com::sun::star::accessibility::XAccessibleSelection;
+
+ /** This is the interface for listeners */
+ [optional] interface ::com::sun::star::accessibility::XAccessibleEventBroadcaster;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/AccessibleTableView.idl b/offapi/com/sun/star/table/AccessibleTableView.idl
new file mode 100644
index 000000000..834436882
--- /dev/null
+++ b/offapi/com/sun/star/table/AccessibleTableView.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_table_AccessibleTableView_idl__
+#define __com_sun_star_table_AccessibleTableView_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 table {
+
+
+/** The accessible view of a table in a text document or in the page preview
+ of a spreadsheet document. See
+ ::com::sun::star::sheet::AccessibleSpreadsheet for
+ tables in the edit view of a spreadsheet.
+ @since OOo 1.1.2
+*/
+service AccessibleTableView
+{
+ /** This interface gives access to any table cell that is contained in
+ a table fragment that is at least partially visible. A table fragment
+ is the part of a table that is displayed at a single page.
+
+ <ul>
+ <li>The parent returned by
+ ::com::sun::star::accessibility::XAccessibleContext::getAccessibleParent()
+ is the accessible text document view, a page of the accessible
+ text document page preview, or the accessible spreadsheet
+ 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 the service.
+ ::com::sun::star::table::AccessibleCellView:
+ A child where calling
+ ::com::sun::star::accessibility::XAccessibleContext::getAccessibleChild()
+ an object that supports this service is returned for
+ every partially visible cell in this table.
+ <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 and a number to make it non-ambiguous.</li>
+ <li>The role is
+ ::com::sun::star::accessibility::AccessibleRole::TABLE</li>
+ <li>In a spreadsheet page preview 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, the document is open. Also it is
+ false if the table was showed in a page preview and the
+ page preview is already opened, otherwise it is true.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::EDITABLE
+ is false if the
+ table is showed in a page preview 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_SELECTABLE
+ is false
+ if the table is showed in a page preview, otherwise it is
+ true.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::OPAQUE
+ is false, if the table
+ has no background color or graphic, otherwise it is
+ false.</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 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. This interface is optional.
+ */
+ [optional] 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/table/BorderLine.idl b/offapi/com/sun/star/table/BorderLine.idl
new file mode 100644
index 000000000..06a61dcad
--- /dev/null
+++ b/offapi/com/sun/star/table/BorderLine.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_table_BorderLine_idl__
+#define __com_sun_star_table_BorderLine_idl__
+
+#include <com/sun/star/util/Color.idl>
+
+
+module com { module sun { module star { module table {
+
+
+/** describes the line type for a single cell edge.
+ */
+published struct BorderLine
+{
+
+ /** contains the color value of the line.
+ */
+ com::sun::star::util::Color Color;
+
+
+ /** contains the width of the inner part of a double line (in 1/100 mm).
+
+ <p>If this value is zero, only a single line is drawn.</p>
+ */
+ short InnerLineWidth;
+
+
+ /** contains the width of a single line or the width of outer part of
+ a double line (in 1/100 mm).
+
+ <p>If this value is zero, no line is drawn.</p>
+ */
+ short OuterLineWidth;
+
+
+ /** contains the distance between the inner and outer parts of a
+ double line (in 1/100 mm).
+ */
+ short LineDistance;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/BorderLine2.idl b/offapi/com/sun/star/table/BorderLine2.idl
new file mode 100644
index 000000000..dfbbfd7e0
--- /dev/null
+++ b/offapi/com/sun/star/table/BorderLine2.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_table_BorderLine2_idl__
+#define __com_sun_star_table_BorderLine2_idl__
+
+
+#include <com/sun/star/table/BorderLine.idl>
+#include <com/sun/star/table/BorderLineStyle.idl>
+
+
+module com { module sun { module star { module table {
+
+
+/** A border line, extended with line style.
+
+ @since LibreOffice 3.4
+ */
+published struct BorderLine2 : BorderLine
+{
+ /** Style of the border. @see BorderLineStyle
+ */
+ short LineStyle;
+
+ /** Width of the border, this is the base to compute all the lines
+ and gaps widths. These widths computations are based on the
+ LineStyle property
+
+ This property is prevailing on the old Out, In and Dist width
+ from BorderLine. If this property is set to 0, then the other
+ widths will be used to guess the border width.
+ */
+ unsigned long LineWidth;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/BorderLineStyle.idl b/offapi/com/sun/star/table/BorderLineStyle.idl
new file mode 100644
index 000000000..90d5930b4
--- /dev/null
+++ b/offapi/com/sun/star/table/BorderLineStyle.idl
@@ -0,0 +1,120 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_table_BorderLineStyle_idl__
+#define __com_sun_star_table_BorderLineStyle_idl__
+
+
+module com { module sun { module star { module table {
+
+
+constants BorderLineStyle
+{
+ /** No border line
+ */
+ const short NONE = 0x7FFF;
+
+ /** Solid border line.
+ */
+ const short SOLID = 0;
+
+ /** Dotted border line.
+ */
+ const short DOTTED = 1;
+
+ /** Dashed border line.
+ */
+ const short DASHED = 2;
+
+ /** Double border line. Widths of the lines and the gap are all equal,
+ and vary equally with the total width.
+ */
+ const short DOUBLE = 3;
+
+ /** Double border line with a thin line outside and a thick line
+ inside separated by a small gap.
+ */
+ const short THINTHICK_SMALLGAP = 4;
+
+ /** Double border line with a thin line outside and a thick line
+ inside separated by a medium gap.
+ */
+ const short THINTHICK_MEDIUMGAP = 5;
+
+ /** Double border line with a thin line outside and a thick line
+ inside separated by a large gap.
+ */
+ const short THINTHICK_LARGEGAP = 6;
+
+ /** Double border line with a thick line outside and a thin line
+ inside separated by a small gap.
+ */
+ const short THICKTHIN_SMALLGAP = 7;
+
+ /** Double border line with a thick line outside and a thin line
+ inside separated by a medium gap.
+ */
+ const short THICKTHIN_MEDIUMGAP = 8;
+
+ /** Double border line with a thick line outside and a thin line
+ inside separated by a large gap.
+ */
+ const short THICKTHIN_LARGEGAP = 9;
+
+ /** 3D embossed border line.
+ */
+ const short EMBOSSED = 10;
+
+ /** 3D engraved border line.
+ */
+ const short ENGRAVED = 11;
+
+ /** Outset border line.
+ */
+ const short OUTSET = 12;
+
+ /** Inset border line.
+ */
+ const short INSET = 13;
+
+ /** Finely dashed border line.
+ */
+ const short FINE_DASHED = 14;
+
+ /** Double border line consisting of two fixed thin lines separated by a
+ variable gap.
+ */
+ const short DOUBLE_THIN = 15;
+
+ /** Line consisting of a repetition of one dash and one dot. */
+ const short DASH_DOT = 16;
+
+ /** Line consisting of a repetition of one dash and 2 dots. */
+ const short DASH_DOT_DOT = 17;
+
+ /** Maximum valid border line style value.
+ */
+ const short BORDER_LINE_STYLE_MAX = 17;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/Cell.idl b/offapi/com/sun/star/table/Cell.idl
new file mode 100644
index 000000000..753ebb2d9
--- /dev/null
+++ b/offapi/com/sun/star/table/Cell.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_table_Cell_idl__
+#define __com_sun_star_table_Cell_idl__
+
+#include <com/sun/star/table/CellProperties.idl>
+#include <com/sun/star/table/XCell.idl>
+#include <com/sun/star/text/XText.idl>
+
+
+module com { module sun { module star { module table {
+
+
+/** represents a single cell within a table.
+ */
+published service Cell
+{
+
+ /** contains the properties of the table cell.
+ */
+ service com::sun::star::table::CellProperties;
+
+
+ /** provides access to the cell contents.
+ */
+ interface com::sun::star::table::XCell;
+
+
+ /** provides access to formatted and unformatted text contents.
+ */
+ interface com::sun::star::text::XText;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/CellAddress.idl b/offapi/com/sun/star/table/CellAddress.idl
new file mode 100644
index 000000000..86fc2342d
--- /dev/null
+++ b/offapi/com/sun/star/table/CellAddress.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_table_CellAddress_idl__
+#define __com_sun_star_table_CellAddress_idl__
+
+
+module com { module sun { module star { module table {
+
+
+/** contains a cell address within a spreadsheet document.
+ */
+published struct CellAddress
+{
+
+ /** is the index of the sheet that contains the cell.
+ */
+ short Sheet;
+
+
+ /** is the index of the column where the cell is located.
+ */
+ long Column;
+
+
+ /** is the index of the row where the cell is located.
+ */
+ long Row;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/CellContentType.idl b/offapi/com/sun/star/table/CellContentType.idl
new file mode 100644
index 000000000..316dc73db
--- /dev/null
+++ b/offapi/com/sun/star/table/CellContentType.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_table_CellContentType_idl__
+#define __com_sun_star_table_CellContentType_idl__
+
+
+module com { module sun { module star { module table {
+
+
+/** is used to determine the type of contents in a cell.
+ */
+published enum CellContentType
+{
+
+ /** cell is empty.
+ */
+ EMPTY,
+
+
+ /** cell contains a constant value.
+ */
+ VALUE,
+
+
+ /** cell contains text.
+ */
+ TEXT,
+
+
+ /** cell contains a formula.
+ */
+ FORMULA
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/CellCursor.idl b/offapi/com/sun/star/table/CellCursor.idl
new file mode 100644
index 000000000..2fe286cf9
--- /dev/null
+++ b/offapi/com/sun/star/table/CellCursor.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_table_CellCursor_idl__
+#define __com_sun_star_table_CellCursor_idl__
+
+#include <com/sun/star/table/XCellCursor.idl>
+
+
+module com { module sun { module star { module table {
+
+
+/** represents a cell cursor in a table.
+
+ <p>A cell cursor is simply a cell range which provides methods to move
+ through the table (i.e. relative to the current position).</p>
+ */
+published service CellCursor
+{
+
+ /** provides methods to control the position of the cursor.
+ */
+ interface com::sun::star::table::XCellCursor;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/CellHoriJustify.idl b/offapi/com/sun/star/table/CellHoriJustify.idl
new file mode 100644
index 000000000..a9621ccd9
--- /dev/null
+++ b/offapi/com/sun/star/table/CellHoriJustify.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_table_CellHoriJustify_idl__
+#define __com_sun_star_table_CellHoriJustify_idl__
+
+
+module com { module sun { module star { module table {
+
+
+/** specifies how cell contents are aligned horizontally.
+ */
+published enum CellHoriJustify
+{
+
+ /** default alignment is used (left for numbers, right for text).
+ */
+ STANDARD,
+
+
+ /** contents are aligned to the left edge of the cell.
+ */
+ LEFT,
+
+
+ /** contents are horizontally centered.
+ */
+ CENTER,
+
+
+ /** contents are aligned to the right edge of the cell.
+ */
+ RIGHT,
+
+
+ /** contents are justified to the cell width.
+ */
+ BLOCK,
+
+
+ /** contents are repeated to fill the cell.
+ */
+ REPEAT
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/CellJustifyMethod.idl b/offapi/com/sun/star/table/CellJustifyMethod.idl
new file mode 100644
index 000000000..6a23a863d
--- /dev/null
+++ b/offapi/com/sun/star/table/CellJustifyMethod.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_table_CellJustifyMethod_idl__
+#define __com_sun_star_table_CellJustifyMethod_idl__
+
+
+module com { module sun { module star { module table {
+
+
+/** Specifies how text inside a cell is justified. The justification methods
+ closely follow the methods described under the text-justify property of the
+ CSS Text Level 3 specification. The latest version of the aforementioned
+ specification is found here http://www.w3.org/TR/css3-text/.
+ */
+constants CellJustifyMethod
+{
+
+ /** Automatic.
+ */
+ const long AUTO = 0;
+
+
+ /** When applied in the direction of text flow, characters in each line are
+ distributed at equal intervals so that the ends of each line are aligned
+ with the start and end edges of the cell. When applied in the
+ perpendicular direction of text flow, the lines are distributed at equal
+ intervals so that the first and last lines are aligned with the start and
+ end edges of the cell.
+ */
+ const long DISTRIBUTE = 1;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/CellOrientation.idl b/offapi/com/sun/star/table/CellOrientation.idl
new file mode 100644
index 000000000..0ff39124e
--- /dev/null
+++ b/offapi/com/sun/star/table/CellOrientation.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_table_CellOrientation_idl__
+#define __com_sun_star_table_CellOrientation_idl__
+
+
+module com { module sun { module star { module table {
+
+
+/** specifies the orientation of a cell.
+ */
+published enum CellOrientation
+{
+
+ /** contents are printed from left to right.
+ */
+ STANDARD,
+
+
+ /** contents are printed from top to bottom.
+ */
+ TOPBOTTOM,
+
+
+ /** contents are printed from bottom to top.
+ */
+ BOTTOMTOP,
+
+
+ /** contents are printed from top to bottom with individual
+ characters in normal (horizontal) orientation.
+ */
+ STACKED
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/CellProperties.idl b/offapi/com/sun/star/table/CellProperties.idl
new file mode 100644
index 000000000..3e01b315e
--- /dev/null
+++ b/offapi/com/sun/star/table/CellProperties.idl
@@ -0,0 +1,283 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_table_CellProperties_idl__
+#define __com_sun_star_table_CellProperties_idl__
+
+#include <com/sun/star/util/Color.idl>
+#include <com/sun/star/beans/XPropertySet.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/util/CellProtection.idl>
+#include <com/sun/star/table/TableBorder.idl>
+#include <com/sun/star/table/TableBorder2.idl>
+#include <com/sun/star/table/BorderLine.idl>
+#include <com/sun/star/table/BorderLine2.idl>
+#include <com/sun/star/container/XNameContainer.idl>
+
+
+module com { module sun { module star { module table {
+
+
+/** contains the properties of a table cell.
+
+ @see com::sun::star::table::Cell
+ @see com::sun::star::table::CellRange
+ */
+published service CellProperties
+{
+
+//!published service PropertySet
+ /** provides access to the properties.
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+
+ /** contains the name of the style of the cell.
+ */
+ [optional, property] string CellStyle;
+
+
+ /** 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 CellProperties::CellBackColor
+ value is not used.</p>
+ */
+ [property] boolean IsCellBackgroundTransparent;
+
+
+ /** contains the horizontal alignment of the cell contents.
+ */
+ [property] com::sun::star::table::CellHoriJustify HoriJustify;
+
+
+ /** contains 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
+ */
+ [property] long VertJustify;
+
+
+ /** is `TRUE`, if text in the cells will be wrapped automatically
+ at the right border.
+ */
+ [property] boolean IsTextWrapped;
+
+
+ /** defines the indentation of the cell contents (in 1/100 mm).
+ */
+ [property] short ParaIndent;
+
+
+ /** contains the orientation of the cell contents.
+
+ <p>If the CellProperties::RotateAngle property
+ is non-zero, this value is not used.</p>
+ */
+ [property] com::sun::star::table::CellOrientation Orientation;
+
+
+ /** defines how much the content of cells is rotated (in 1/100 degrees).
+ */
+ [property] long RotateAngle;
+
+
+ /** defines at which edge rotated cells are aligned.
+
+ changed from com::sun::star::table::CellVertJustify to long in LibO 3.5
+
+ @see com::sun::star::table::CellVertJustify2
+ */
+ [property] long RotateReference;
+
+
+ /** selects Asian character orientation in vertical orientation.
+
+ <p>If the CellProperties::Orientation property is
+ CellOrientation::STACKED, in Asian mode only Asian
+ characters are printed in horizontal orientation instead of all
+ characters.
+ For other values of CellProperties::Orientation,
+ this value is not used.</p>
+ */
+ [optional, property] boolean AsianVerticalMode;
+
+
+ /** contains a description of the cell or cell range border.
+
+ <p>If used with a cell range, the top, left, right, and bottom
+ lines are at the edges of the entire range, not at the edges of
+ the individual cell.</p>
+ */
+ [property] com::sun::star::table::TableBorder TableBorder;
+
+
+ /** contains a description of the top border line of each cell.
+ */
+ [property] com::sun::star::table::BorderLine TopBorder;
+
+
+ /** contains a description of the bottom border line of each cell.
+ */
+ [property] com::sun::star::table::BorderLine BottomBorder;
+
+
+ /** contains a description of the left border line of each cell.
+ */
+ [property] com::sun::star::table::BorderLine LeftBorder;
+
+
+ /** contains a description of the right border line of each cell.
+ */
+ [property] com::sun::star::table::BorderLine RightBorder;
+
+
+ /** contains the index of the number format that is used in the cells.
+
+ <p>The proper value can be determined by using the
+ com::sun::star::util::NumberFormatter
+ interface of the document.</p>
+ */
+ [property] long NumberFormat;
+
+
+ /** contains a description of the shadow.
+ */
+ [property] com::sun::star::table::ShadowFormat ShadowFormat;
+
+
+ /** contains a description of the cell protection.
+
+ <p>Cell protection is active only if the sheet is protected.</p>
+ */
+ [property] com::sun::star::util::CellProtection CellProtection;
+
+
+ /** stores additional attributes.
+
+ <p>This property is used i.e. by the XML filters to load and
+ restore unknown attributes.</p>
+ */
+ [optional, property] com::sun::star::container::XNameContainer
+ UserDefinedAttributes;
+
+
+ /** contains a description of the top left to bottom right diagonal line of each cell.
+ */
+ [optional, property] com::sun::star::table::BorderLine DiagonalTLBR;
+
+
+ /** contains a description of the bottom left to top right diagonal line of each cell.
+ */
+ [optional, property] com::sun::star::table::BorderLine DiagonalBLTR;
+
+
+ /** is `TRUE`, if the cell content will be shrunk to fit in the cell.
+ */
+ [optional, property] boolean ShrinkToFit;
+
+
+ //=== BorderLine2 / TableBorder2 optional properties, preferred ===========
+
+ /** contains a description of the cell or cell range border.
+ Preferred over TableBorder #TableBorder.
+
+ <p>If used with a cell range, the top, left, right, and bottom
+ lines are at the edges of the entire range, not at the edges of
+ the individual cell.</p>
+
+ @since LibreOffice 3.6
+ */
+ [optional, property] com::sun::star::table::TableBorder2 TableBorder2;
+
+
+ /** contains a description of the top border line of each cell.
+ Preferred over BorderLine #TopBorder.
+
+ @since LibreOffice 3.6
+ */
+ [optional, property] com::sun::star::table::BorderLine2 TopBorder2;
+
+
+ /** contains a description of the bottom border line of each cell.
+ Preferred over BorderLine #BottomBorder.
+
+ @since LibreOffice 3.6
+ */
+ [optional, property] com::sun::star::table::BorderLine2 BottomBorder2;
+
+
+ /** contains a description of the left border line of each cell.
+ Preferred over BorderLine #LeftBorder.
+
+ @since LibreOffice 3.6
+ */
+ [optional, property] com::sun::star::table::BorderLine2 LeftBorder2;
+
+
+ /** contains a description of the right border line of each cell.
+ Preferred over BorderLine #RightBorder.
+
+ @since LibreOffice 3.6
+ */
+ [optional, property] com::sun::star::table::BorderLine2 RightBorder2;
+
+
+ /** contains a description of the top left to bottom right diagonal line of each cell.
+ Preferred over BorderLine #DiagonalTLBR.
+
+ @since LibreOffice 3.6
+ */
+ [optional, property] com::sun::star::table::BorderLine2 DiagonalTLBR2;
+
+
+ /** contains a description of the bottom left to top right diagonal line of each cell.
+ Preferred over BorderLine #DiagonalBLTR.
+
+ @since LibreOffice 3.6
+ */
+ [optional, property] com::sun::star::table::BorderLine2 DiagonalBLTR2;
+
+ /** Grab bag of cell properties, used as a string-any map for interim interop purposes.
+
+ @since LibreOffice 4.3
+
+ <p>This property is intentionally not handled by the ODF filter. Any
+ member that should be handled there should be first moved out from this grab
+ bag to a separate property.</p>
+ */
+ [optional, property] sequence<com::sun::star::beans::PropertyValue> CellInteropGrabBag;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/CellRange.idl b/offapi/com/sun/star/table/CellRange.idl
new file mode 100644
index 000000000..7a7fc66e7
--- /dev/null
+++ b/offapi/com/sun/star/table/CellRange.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_table_CellRange_idl__
+#define __com_sun_star_table_CellRange_idl__
+
+#include <com/sun/star/table/CellProperties.idl>
+#include <com/sun/star/table/XCellRange.idl>
+
+
+module com { module sun { module star { module table {
+
+
+/** represents a range of cells within a table.
+ */
+published service CellRange
+{
+
+ /** contains the properties of the cells of this cell range.
+ */
+ service com::sun::star::table::CellProperties;
+
+
+ /** provides access to the cells or to sub-ranges of this cell range.
+ */
+ interface com::sun::star::table::XCellRange;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/CellRangeAddress.idl b/offapi/com/sun/star/table/CellRangeAddress.idl
new file mode 100644
index 000000000..629c8b896
--- /dev/null
+++ b/offapi/com/sun/star/table/CellRangeAddress.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_table_CellRangeAddress_idl__
+#define __com_sun_star_table_CellRangeAddress_idl__
+
+
+module com { module sun { module star { module table {
+
+
+/** contains a cell range address within a spreadsheet document.
+ */
+published struct CellRangeAddress
+{
+
+ /** is the index of the sheet that contains the cell range.
+ */
+ short Sheet;
+
+
+ /** is the index of the column of the left edge of the range.
+ */
+ long StartColumn;
+
+
+ /** is the index of the row of the top edge of the range.
+ */
+ long StartRow;
+
+
+ /** is the index of the column of the right edge of the range.
+ */
+ long EndColumn;
+
+
+ /** is the index of the row of the bottom edge of the range.
+ */
+ long EndRow;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/CellRangeListSource.idl b/offapi/com/sun/star/table/CellRangeListSource.idl
new file mode 100644
index 000000000..edbb53fbb
--- /dev/null
+++ b/offapi/com/sun/star/table/CellRangeListSource.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_table_CellRangeListSource_idl__
+#define __com_sun_star_table_CellRangeListSource_idl__
+
+#include <com/sun/star/form/binding/ListEntrySource.idl>
+#include <com/sun/star/table/CellRangeAddress.idl>
+#include <com/sun/star/lang/XInitialization.idl>
+
+
+module com { module sun { module star { module table {
+
+
+
+/** defines the a source of list entries coming from a cell range in a table document
+
+ <p>The component cannot be instantiated at a global service factory, instead
+ it's usually provided by a document instance.</p>
+
+ @see com::sun::star::document::OfficeDocument
+*/
+service CellRangeListSource
+{
+ /** ensures the basic functionality for supplying list entries
+ */
+ service com::sun::star::form::binding::ListEntrySource;
+
+ /** specifies the cell range within a document to which the component
+ is bound.
+ */
+ [property, bound, readonly] com::sun::star::table::CellRangeAddress CellRange;
+
+ /** allows setting initial, creation-time properties of the component
+
+ <p>This interface is used to initialize the component after creation. It has
+ to be used exactly once in the life time of the component, every second call
+ to com::sun::star::lang::XInitialization::initialize()
+ will throw an exception.</p>
+
+ <p>The arguments passed to the
+ com::sun::star::lang::XInitialization::initialize()
+ method must be instances of com::sun::star::beans::NamedValue, where
+ the com::sun::star::beans::NamedValue::Name denotes the type of
+ information to initialize, and the
+ com::sun::star::beans::NamedValue::Value
+ the initial value.</p>
+
+ <p>The following aspects of the components can be initialized:<br/>
+ <ul><li><b>CellRange</b><br/>
+ specifies the address of the cell range to bind this instance to. Must be a
+ com::sun::star::table::CellRangeAddress instance.</li>
+ </ul>
+ </p>
+ */
+ interface com::sun::star::lang::XInitialization;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/CellValueBinding.idl b/offapi/com/sun/star/table/CellValueBinding.idl
new file mode 100644
index 000000000..ee6320b3f
--- /dev/null
+++ b/offapi/com/sun/star/table/CellValueBinding.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_table_CellValueBinding_idl__
+#define __com_sun_star_table_CellValueBinding_idl__
+
+#include <com/sun/star/form/binding/ValueBinding.idl>
+#include <com/sun/star/table/CellAddress.idl>
+#include <com/sun/star/lang/XInitialization.idl>
+
+
+module com { module sun { module star { module table {
+
+
+/** defines the binding to a single cell in a table document
+
+ <p>Read/Write access to the cell represented by this component is supported,
+ as well as active broadcasting of value changes.</p>
+
+ <p>The binding supports exchanging <em>double</em> values, <em>string</em>
+ values.</p>
+
+ <p>The component cannot be instantiated at a global service factory, instead
+ it's usually provided by a document instance.</p>
+
+ @see com::sun::star::document::OfficeDocument
+*/
+service CellValueBinding
+{
+ /** ensures the basic functionality for binding to a value
+ */
+ service com::sun::star::form::binding::ValueBinding;
+
+ /** specifies the cell within a document whose value is reflected
+ by the binding.
+ */
+ [property, bound, readonly] com::sun::star::table::CellAddress BoundCell;
+
+ /** allows notifications of changes in the content of the underlying cell.
+
+ <p>Note that this interface is already optionally allowed in the
+ underlying service (com::sun::star::form::binding::ValueBinding),
+ but it loses it's optionality here.</p>
+ */
+ interface com::sun::star::util::XModifyBroadcaster;
+
+ /** allows setting initial, creation-time properties of the component
+
+ <p>This interface is used to initialize the component after creation. It has
+ to be used exactly once in the life time of the component, every second call
+ to com::sun::star::lang::XInitialization::initialize()
+ will throw an exception.</p>
+
+ <p>The arguments passed to the
+ com::sun::star::lang::XInitialization::initialize()
+ method must be instances of com::sun::star::beans::NamedValue, where
+ the com::sun::star::beans::NamedValue::Name denotes the type of information
+ to initialize, and the com::sun::star::beans::NamedValue::Value
+ the initial value.</p>
+
+ <p>The following aspects of the components can be initialized:<br/>
+ <ul><li><b>BoundCell</b><br/>
+ specifies the address of the cell to bind this instance to. Must be a
+ com::sun::star::table::CellAddress instance.</li>
+ </ul>
+ </p>
+ */
+ interface com::sun::star::lang::XInitialization;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/CellVertJustify.idl b/offapi/com/sun/star/table/CellVertJustify.idl
new file mode 100644
index 000000000..b11e75570
--- /dev/null
+++ b/offapi/com/sun/star/table/CellVertJustify.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_table_CellVertJustify_idl__
+#define __com_sun_star_table_CellVertJustify_idl__
+
+
+module com { module sun { module star { module table {
+
+
+/** specifies how cell contents are aligned vertically.
+ */
+published enum CellVertJustify
+{
+
+ /** default alignment is used.
+ */
+ STANDARD,
+
+
+ /** contents are aligned with the upper edge of the cell.
+ */
+ TOP,
+
+
+ /** contents are aligned to the vertical middle of the cell.
+ */
+ CENTER,
+
+
+ /** contents are aligned to the lower edge of the cell.
+ */
+ BOTTOM
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/CellVertJustify2.idl b/offapi/com/sun/star/table/CellVertJustify2.idl
new file mode 100644
index 000000000..87ce35475
--- /dev/null
+++ b/offapi/com/sun/star/table/CellVertJustify2.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_table_CellVertJustify2_idl__
+#define __com_sun_star_table_CellVertJustify2_idl__
+
+
+module com { module sun { module star { module table {
+
+
+/** specifies how cell contents are aligned vertically.
+ */
+constants CellVertJustify2
+{
+
+ /** default alignment is used.
+ */
+ const long STANDARD = 0;
+
+
+ /** contents are aligned with the upper edge of the cell.
+ */
+ const long TOP = 1;
+
+
+ /** contents are aligned to the vertical middle of the cell.
+ */
+ const long CENTER = 2;
+
+
+ /** contents are aligned to the lower edge of the cell.
+ */
+ const long BOTTOM = 3;
+
+
+ /** contents are justified to the cell height.
+ */
+ const long BLOCK = 4;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/ListPositionCellBinding.idl b/offapi/com/sun/star/table/ListPositionCellBinding.idl
new file mode 100644
index 000000000..e3a786654
--- /dev/null
+++ b/offapi/com/sun/star/table/ListPositionCellBinding.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_table_ListPositionCellBinding_idl__
+#define __com_sun_star_table_ListPositionCellBinding_idl__
+
+#include <com/sun/star/table/CellValueBinding.idl>
+
+
+module com { module sun { module star { module table {
+
+
+
+/** defines the binding to a single cell in a table document, which can be used to
+ transfer a list position into the cell.
+*/
+service ListPositionCellBinding
+{
+ /** provides the basic functionality for exchanging values with a table cell.
+
+ <p>Additionally to the types supported by the super service, the
+ ListPositionCellBinding allows exchanging integer values.</p>
+
+ @see com::sun::star::form::binding::XValueBinding::getSupportedTypes
+ */
+ service CellValueBinding;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/ShadowFormat.idl b/offapi/com/sun/star/table/ShadowFormat.idl
new file mode 100644
index 000000000..9db765643
--- /dev/null
+++ b/offapi/com/sun/star/table/ShadowFormat.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_table_ShadowFormat_idl__
+#define __com_sun_star_table_ShadowFormat_idl__
+
+#include <com/sun/star/util/Color.idl>
+#include <com/sun/star/table/ShadowLocation.idl>
+
+
+module com { module sun { module star { module table {
+
+
+/** describes the settings of a cell shadow.
+ */
+published struct ShadowFormat
+{
+
+ /** contains the location of the shadow.
+ */
+ com::sun::star::table::ShadowLocation Location;
+
+
+ /** contains the size of the shadow.
+ */
+ short ShadowWidth;
+
+
+ /** is `TRUE`, if shadow is transparent.
+ */
+ boolean IsTransparent;
+
+
+ /** contains the color value of the shadow.
+ */
+ com::sun::star::util::Color Color;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/ShadowLocation.idl b/offapi/com/sun/star/table/ShadowLocation.idl
new file mode 100644
index 000000000..1a810af94
--- /dev/null
+++ b/offapi/com/sun/star/table/ShadowLocation.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_table_ShadowLocation_idl__
+#define __com_sun_star_table_ShadowLocation_idl__
+
+
+module com { module sun { module star { module table {
+
+
+/** specifies the location of the shadow in a ShadowFormat.
+ */
+published enum ShadowLocation
+{
+
+ /** no shadow.
+ */
+ NONE,
+
+
+ /** shadow is located along the upper and left sides.
+ */
+ TOP_LEFT,
+
+
+ /** shadow is located along the upper and right sides.
+ */
+ TOP_RIGHT,
+
+
+ /** shadow is located along the lower and left sides.
+ */
+ BOTTOM_LEFT,
+
+
+ /** shadow is located along the lower and right sides.
+ */
+ BOTTOM_RIGHT
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/TableBorder.idl b/offapi/com/sun/star/table/TableBorder.idl
new file mode 100644
index 000000000..be994d401
--- /dev/null
+++ b/offapi/com/sun/star/table/TableBorder.idl
@@ -0,0 +1,128 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_table_TableBorder_idl__
+#define __com_sun_star_table_TableBorder_idl__
+
+#include <com/sun/star/table/BorderLine.idl>
+
+
+module com { module sun { module star { module table {
+
+
+/** contains the style settings of the border lines of all cells in a cell
+ range.
+
+ <p>In a queried structure, the flags in
+ TableBorder::Is...LineValid indicate that not all
+ lines of the boxes have the same values.</p>
+
+ <p>In a structure which is used for setting, these flags determine
+ if the corresponding line should be set or if the old value should
+ be kept.</p>
+ */
+published struct TableBorder
+{
+
+ /** determines the line style at the top edge.
+ */
+ com::sun::star::table::BorderLine TopLine;
+
+
+ /** specifies whether the value of TableBorder::TopLine
+ is used.
+ */
+ boolean IsTopLineValid;
+
+
+ /** determines the line style at the bottom edge.
+ */
+ com::sun::star::table::BorderLine BottomLine;
+
+
+ /** specifies whether the value of
+ TableBorder::BottomLine is used.
+ */
+ boolean IsBottomLineValid;
+
+
+ /** determines the line style at the left edge.
+ */
+ com::sun::star::table::BorderLine LeftLine;
+
+
+ /** specifies whether the value of TableBorder::LeftLine
+ is used.
+ */
+ boolean IsLeftLineValid;
+
+
+ /** determines the line style at the right edge.
+ */
+ com::sun::star::table::BorderLine RightLine;
+
+
+ /** specifies whether the value of TableBorder::RightLine
+ is used.
+ */
+ boolean IsRightLineValid;
+
+
+ /** determines the line style of horizontal lines for the inner part
+ of a cell range.
+ */
+ com::sun::star::table::BorderLine HorizontalLine;
+
+
+ /** specifies whether the value of
+ TableBorder::HorizontalLine is used.
+ */
+ boolean IsHorizontalLineValid;
+
+
+ /** determines the line style of vertical lines for the inner part
+ of a cell range.
+ */
+ com::sun::star::table::BorderLine VerticalLine;
+
+
+ /** specifies whether the value of
+ TableBorder::VerticalLine is used.
+ */
+ boolean IsVerticalLineValid;
+
+
+ /** contains the distance between the lines and other contents.
+ */
+ short Distance;
+
+
+ /** specifies whether the value of TableBorder::Distance
+ is used.
+ */
+ boolean IsDistanceValid;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/TableBorder2.idl b/offapi/com/sun/star/table/TableBorder2.idl
new file mode 100644
index 000000000..611569018
--- /dev/null
+++ b/offapi/com/sun/star/table/TableBorder2.idl
@@ -0,0 +1,124 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.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_table_TableBorder2_idl__
+#define __com_sun_star_table_TableBorder2_idl__
+
+#include <com/sun/star/table/BorderLine2.idl>
+
+
+module com { module sun { module star { module table {
+
+
+/** contains the style settings of the border lines of all cells in a cell
+ range.
+
+ TableBorder2 is nearly identical to TableBorder, except that it has
+ members of BorderLine2 instead of
+ BorderLine.
+
+ <p>In a queried structure, the flags in
+ TableBorder2::Is...LineValid indicate that not all
+ lines of the boxes have the same values.</p>
+
+ <p>In a structure which is used for setting, these flags determine
+ if the corresponding line should be set or if the old value should
+ be kept.</p>
+
+ @since LibreOffice 3.6
+ */
+published struct TableBorder2
+{
+
+ /** determines the line style at the top edge.
+ */
+ com::sun::star::table::BorderLine2 TopLine;
+
+
+ /** specifies whether the value of
+ TableBorder2::TopLine is used.
+ */
+ boolean IsTopLineValid;
+
+
+ /** determines the line style at the bottom edge.
+ */
+ com::sun::star::table::BorderLine2 BottomLine;
+
+
+ /** specifies whether the value of
+ TableBorder2::BottomLine is used.
+ */
+ boolean IsBottomLineValid;
+
+
+ /** determines the line style at the left edge.
+ */
+ com::sun::star::table::BorderLine2 LeftLine;
+
+
+ /** specifies whether the value of
+ TableBorder2::LeftLine is used.
+ */
+ boolean IsLeftLineValid;
+
+
+ /** determines the line style at the right edge.
+ */
+ com::sun::star::table::BorderLine2 RightLine;
+
+
+ /** specifies whether the value of
+ TableBorder2::RightLine is used.
+ */
+ boolean IsRightLineValid;
+
+
+ /** determines the line style of horizontal lines for the inner part
+ of a cell range.
+ */
+ com::sun::star::table::BorderLine2 HorizontalLine;
+
+
+ /** specifies whether the value of
+ TableBorder2::HorizontalLine is used.
+ */
+ boolean IsHorizontalLineValid;
+
+
+ /** determines the line style of vertical lines for the inner part
+ of a cell range.
+ */
+ com::sun::star::table::BorderLine2 VerticalLine;
+
+
+ /** specifies whether the value of
+ TableBorder2::VerticalLine is used.
+ */
+ boolean IsVerticalLineValid;
+
+
+ /** contains the distance between the lines and other contents.
+ */
+ short Distance;
+
+
+ /** specifies whether the value of
+ TableBorder2::Distance is used.
+ */
+ boolean IsDistanceValid;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/TableBorderDistances.idl b/offapi/com/sun/star/table/TableBorderDistances.idl
new file mode 100644
index 000000000..9c959b8e3
--- /dev/null
+++ b/offapi/com/sun/star/table/TableBorderDistances.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_table_TableBorderDistances_idl__
+#define __com_sun_star_table_TableBorderDistances_idl__
+
+#include <com/sun/star/table/BorderLine.idl>
+
+
+module com { module sun { module star { module table {
+
+
+/** contains the distance settings of the border lines of all cells in a cell
+ range.
+
+ <p>In a queried structure, the flags in
+ TableBorderDistances::Is...DistanceValid indicate that not all
+ lines of the boxes have the same values.</p>
+
+ <p>In a structure which is used for setting, these flags determine
+ if the corresponding distance should be set or if the old value should
+ be kept.</p>
+ */
+published struct TableBorderDistances
+{
+
+ /** contains the distance between the top lines and other contents.
+ */
+ short TopDistance;
+
+
+ /** specifies whether the value of TableBorder::TopDistance
+ is used.
+ */
+ boolean IsTopDistanceValid;
+
+ /** contains the distance between the bottom lines and other contents.
+ */
+ short BottomDistance;
+
+
+ /** specifies whether the value of TableBorder::BottomDistance
+ is used.
+ */
+ boolean IsBottomDistanceValid;
+
+ /** contains the distance between the left lines and other contents.
+ */
+ short LeftDistance;
+
+
+ /** specifies whether the value of TableBorder::LeftDistance
+ is used.
+ */
+ boolean IsLeftDistanceValid;
+
+ /** contains the distance between the right lines and other contents.
+ */
+ short RightDistance;
+
+
+ /** specifies whether the value of TableBorder::RightDistance
+ is used.
+ */
+ boolean IsRightDistanceValid;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/TableChart.idl b/offapi/com/sun/star/table/TableChart.idl
new file mode 100644
index 000000000..8a5cdf8a2
--- /dev/null
+++ b/offapi/com/sun/star/table/TableChart.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_table_TableChart_idl__
+#define __com_sun_star_table_TableChart_idl__
+
+#include <com/sun/star/table/XTableChart.idl>
+#include <com/sun/star/document/XEmbeddedObjectSupplier.idl>
+#include <com/sun/star/container/XNamed.idl>
+
+
+module com { module sun { module star { module table {
+
+
+/** represents a chart based on data in a table or spreadsheet.
+
+ <p>This service does not represent the chart document model itself,
+ but the object in the table that contains this chart document.</p>
+ */
+published service TableChart
+{
+
+ /** provides access to the settings of this chart.
+ */
+ interface com::sun::star::table::XTableChart;
+
+
+ /** provides access to the chart document model.
+
+ @see com::sun::star::chart::ChartDocument
+ */
+ interface com::sun::star::document::XEmbeddedObjectSupplier;
+
+
+ /** provides methods to access the name of the chart.
+ */
+ interface com::sun::star::container::XNamed;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/TableCharts.idl b/offapi/com/sun/star/table/TableCharts.idl
new file mode 100644
index 000000000..9eff85605
--- /dev/null
+++ b/offapi/com/sun/star/table/TableCharts.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_table_TableCharts_idl__
+#define __com_sun_star_table_TableCharts_idl__
+
+#include <com/sun/star/table/XTableCharts.idl>
+#include <com/sun/star/container/XIndexAccess.idl>
+#include <com/sun/star/container/XEnumerationAccess.idl>
+
+
+module com { module sun { module star { module table {
+
+
+/** represents a collection of all charts based on data in a table.
+
+ @see com::sun::star::table::TableChart
+ */
+published service TableCharts
+{
+
+ /** provides methods to insert and remove charts.
+ */
+ interface com::sun::star::table::XTableCharts;
+
+
+ /** provides methods to access the charts via index.
+ */
+ interface com::sun::star::container::XIndexAccess;
+
+
+ /** creates an enumeration of all contained charts.
+
+ @see com::sun::star::table::TableChartsEnumeration
+ */
+ interface com::sun::star::container::XEnumerationAccess;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/TableChartsEnumeration.idl b/offapi/com/sun/star/table/TableChartsEnumeration.idl
new file mode 100644
index 000000000..6dddc58e7
--- /dev/null
+++ b/offapi/com/sun/star/table/TableChartsEnumeration.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_table_TableChartsEnumeration_idl__
+#define __com_sun_star_table_TableChartsEnumeration_idl__
+
+#include <com/sun/star/container/XEnumeration.idl>
+
+
+module com { module sun { module star { module table {
+
+
+/** represents an enumeration of table charts.
+
+ @see com::sun::star::table::TableCharts
+ */
+published service TableChartsEnumeration
+{
+
+ /** provides methods to access the charts in the enumeration.
+
+ @see com::sun::star::table::TableChart
+ */
+ interface com::sun::star::container::XEnumeration;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/TableColumn.idl b/offapi/com/sun/star/table/TableColumn.idl
new file mode 100644
index 000000000..72a6aaf0e
--- /dev/null
+++ b/offapi/com/sun/star/table/TableColumn.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_table_TableColumn_idl__
+#define __com_sun_star_table_TableColumn_idl__
+
+#include <com/sun/star/table/XCellRange.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/container/XNamed.idl>
+
+
+module com { module sun { module star { module table {
+
+
+/** represents a special cell range containing all cells of a single
+ specific column in a table or spreadsheet.
+ */
+published service TableColumn
+{
+
+ /** provides access to the cells of this column.
+
+ @see com::sun::star::table::CellRange
+ */
+ interface com::sun::star::table::XCellRange;
+
+
+//!published service PropertySet
+ /** provides access to the cell properties of all cells of this column.
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+
+ /** provides methods to access the name of the column.
+
+ <p>In spreadsheets, the name of a column cannot be changed.</p>
+ */
+ interface com::sun::star::container::XNamed;
+
+
+ /** contains the width of the column (in 1/100th mm).
+
+ <p>When hidden, it returns the width which the column would have,
+ if it were visible. </p>
+ */
+ [property] long Width;
+
+
+ /** is `TRUE`, if the column always keeps its optimal width.
+ */
+ [property] boolean OptimalWidth;
+
+
+ /** is `TRUE`, if the column is visible.
+ */
+ [property] boolean IsVisible;
+
+
+ /** is `TRUE`, if there is a manual horizontal page break attached
+ to the column.
+ */
+ [property] boolean IsStartOfNewPage;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/TableColumns.idl b/offapi/com/sun/star/table/TableColumns.idl
new file mode 100644
index 000000000..ce4ac6a0c
--- /dev/null
+++ b/offapi/com/sun/star/table/TableColumns.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_table_TableColumns_idl__
+#define __com_sun_star_table_TableColumns_idl__
+
+#include <com/sun/star/table/XTableColumns.idl>
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#include <com/sun/star/container/XNameAccess.idl>
+
+
+module com { module sun { module star { module table {
+
+
+/** represents a collection of all columns of a table or spreadsheet.
+
+ @see com::sun::star::table::TableColumn
+ */
+published service TableColumns
+{
+
+ /** provides methods to insert and remove columns.
+ */
+ interface com::sun::star::table::XTableColumns;
+
+
+ /** creates an enumeration of all contained columns.
+
+ @see com::sun::star::table::TableColumnsEnumeration
+ */
+ interface com::sun::star::container::XEnumerationAccess;
+
+
+ /** provides methods to access the columns via their names.
+
+ <p>The names of the columns are always absolute even if the current
+ cell range is a sub-range of a spreadsheet.</p>
+ */
+ [optional] interface com::sun::star::container::XNameAccess;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/TableColumnsEnumeration.idl b/offapi/com/sun/star/table/TableColumnsEnumeration.idl
new file mode 100644
index 000000000..2f7d54dae
--- /dev/null
+++ b/offapi/com/sun/star/table/TableColumnsEnumeration.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_table_TableColumnsEnumeration_idl__
+#define __com_sun_star_table_TableColumnsEnumeration_idl__
+
+#include <com/sun/star/container/XEnumeration.idl>
+
+
+module com { module sun { module star { module table {
+
+
+/** represents an enumeration of table columns.
+
+ @see com::sun::star::table::TableColumns
+ */
+published service TableColumnsEnumeration
+{
+
+ /** provides methods to access the columns in the enumeration.
+
+ @see com::sun::star::table::TableColumn
+ */
+ interface com::sun::star::container::XEnumeration;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/TableOrientation.idl b/offapi/com/sun/star/table/TableOrientation.idl
new file mode 100644
index 000000000..e8a363f4c
--- /dev/null
+++ b/offapi/com/sun/star/table/TableOrientation.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_table_TableOrientation_idl__
+#define __com_sun_star_table_TableOrientation_idl__
+
+
+module com { module sun { module star { module table {
+
+
+/** used to select whether operations are carried out on columns or rows.
+ */
+published enum TableOrientation
+{
+
+ /** operations are carried out on columns.
+ */
+ COLUMNS,
+
+
+ /** operations are carried out on rows.
+ */
+ ROWS
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/TableRow.idl b/offapi/com/sun/star/table/TableRow.idl
new file mode 100644
index 000000000..d3bec00f5
--- /dev/null
+++ b/offapi/com/sun/star/table/TableRow.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_table_TableRow_idl__
+#define __com_sun_star_table_TableRow_idl__
+
+#include <com/sun/star/table/XCellRange.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+
+
+module com { module sun { module star { module table {
+
+
+/** represents a special cell range containing all cells of a single
+ specific row in a table or spreadsheet.
+ */
+published service TableRow
+{
+
+ /** provides access to the cells of this row.
+
+ @see com::sun::star::table::CellRange
+ */
+ interface com::sun::star::table::XCellRange;
+
+
+//!published service PropertySet
+ /** provides access to the cell properties of all cells of this row.
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+
+ /** contains the height of the row (in 1/100 mm).
+
+ <p>When hidden, it returns the height which the row would have,
+ if it were visible. </p>
+ */
+ [property] long Height;
+
+
+ /** is `TRUE`, if the row always keeps its optimal height.
+ */
+ [property] boolean OptimalHeight;
+
+
+ /** is `TRUE`, if the row is visible.
+ */
+ [property] boolean IsVisible;
+
+
+ /** is `TRUE`, if there is a manual vertical page break attached
+ to the row.
+ */
+ [property] boolean IsStartOfNewPage;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/TableRows.idl b/offapi/com/sun/star/table/TableRows.idl
new file mode 100644
index 000000000..58d08f212
--- /dev/null
+++ b/offapi/com/sun/star/table/TableRows.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_table_TableRows_idl__
+#define __com_sun_star_table_TableRows_idl__
+
+#include <com/sun/star/table/XTableRows.idl>
+#include <com/sun/star/container/XEnumerationAccess.idl>
+
+
+module com { module sun { module star { module table {
+
+
+/** represents a collection of all rows of a table or spreadsheet.
+
+ @see com::sun::star::table::TableRow
+ */
+published service TableRows
+{
+
+ /** provides methods to insert and remove rows.
+ */
+ interface com::sun::star::table::XTableRows;
+
+
+ /** creates an enumeration of all contained rows.
+
+ @see com::sun::star::table::TableRowsEnumeration
+ */
+ interface com::sun::star::container::XEnumerationAccess;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/TableRowsEnumeration.idl b/offapi/com/sun/star/table/TableRowsEnumeration.idl
new file mode 100644
index 000000000..00097bc5e
--- /dev/null
+++ b/offapi/com/sun/star/table/TableRowsEnumeration.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_table_TableRowsEnumeration_idl__
+#define __com_sun_star_table_TableRowsEnumeration_idl__
+
+#include <com/sun/star/container/XEnumeration.idl>
+
+
+module com { module sun { module star { module table {
+
+
+/** represents an enumeration of table rows.
+
+ @see com::sun::star::table::TableRows
+ */
+published service TableRowsEnumeration
+{
+
+ /** provides methods to access the rows in the enumeration.
+
+ @see com::sun::star::table::TableRow
+ */
+ interface com::sun::star::container::XEnumeration;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/TableSortDescriptor.idl b/offapi/com/sun/star/table/TableSortDescriptor.idl
new file mode 100644
index 000000000..f7ef6f69d
--- /dev/null
+++ b/offapi/com/sun/star/table/TableSortDescriptor.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_table_TableSortDescriptor_idl__
+#define __com_sun_star_table_TableSortDescriptor_idl__
+
+#include <com/sun/star/util/SortDescriptor.idl>
+#include <com/sun/star/util/SortField.idl>
+#include <com/sun/star/table/TableOrientation.idl>
+
+
+module com { module sun { module star { module table {
+
+
+/** contains properties which describe sorting of rows or columns in a table.
+
+ <p>It extends the general
+ com::sun::star::util::SortDescriptor with
+ table-specific properties.</p>
+
+ @deprecated
+ */
+published service TableSortDescriptor
+{
+
+ /** contains common sorting properties.
+ */
+ service com::sun::star::util::SortDescriptor;
+
+
+ /** specifies the descriptions of the individual sort fields.
+ */
+ [property] sequence<com::sun::star::util::SortField> SortFields;
+
+
+ /** contains the maximum number of sort fields the descriptor can hold.
+ */
+ [readonly, property] long MaxFieldCount;
+
+
+ /** specifies the sorting orientation (sort rows or columns).
+
+ <p>Some implementations may not support sorting columns.</p>
+
+ @deprecated
+ use the property com::sun::star::util::SortDescriptor::SortColumns
+ instead.
+ */
+ [property] com::sun::star::table::TableOrientation Orientation;
+
+
+ /** specifies whether the first row or column (depending on
+ com::sun::star::util::SortDescriptor::SortColumns) 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/table/TableSortDescriptor2.idl b/offapi/com/sun/star/table/TableSortDescriptor2.idl
new file mode 100644
index 000000000..7dbedb6e4
--- /dev/null
+++ b/offapi/com/sun/star/table/TableSortDescriptor2.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_table_TableSortDescriptor2_idl__
+#define __com_sun_star_table_TableSortDescriptor2_idl__
+
+#include <com/sun/star/util/SortDescriptor2.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/table/TableSortField.idl>
+
+
+module com { module sun { module star { module table {
+
+
+/** specifies properties which describe sorting of fields (rows or columns)
+ in a table.
+
+ @since OOo 1.1.2
+ */
+published service TableSortDescriptor2
+{
+ service com::sun::star::util::SortDescriptor2;
+
+ /** specifies a list of individual sort fields.
+
+ <p>Each entry specifies properties that state the
+ row/column to be sorted and how that should be done.</p>
+ */
+ [property] sequence< com::sun::star::table::TableSortField > SortFields;
+
+ /** contains the maximum number of sort fields the descriptor can hold.
+ */
+ [readonly, property] long MaxSortFieldsCount;
+
+ /** specifies if the columns or rows are to be sorted.
+
+ <dl>
+ <dt>`TRUE`</dt>
+ <dd>The columns are to be sorted.</dd>
+ <dt>`FALSE`</dt>
+ <dd>The rows are to be sorted.</dd>
+ </dl>
+ */
+ [property] boolean IsSortColumns;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/TableSortField.idl b/offapi/com/sun/star/table/TableSortField.idl
new file mode 100644
index 000000000..fc6bab3c5
--- /dev/null
+++ b/offapi/com/sun/star/table/TableSortField.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_table_TableSortField_idl__
+#define __com_sun_star_table_TableSortField_idl__
+
+#include <com/sun/star/lang/Locale.idl>
+#include <com/sun/star/table/TableSortFieldType.idl>
+
+
+
+module com { module sun { module star { module table {
+
+/** describes how to sort a single field (row/column) in a tables
+ sort descriptor.
+
+ @see com::sun::star::table::TableSortDescriptor2
+
+ @since OOo 1.1.2
+ */
+published struct TableSortField
+{
+ /** index of the row or column in the table to be sorted; 0-based.
+ */
+ long Field;
+
+ /** `TRUE` if data are sorted in ascending order,
+ `FALSE` if in descending order.
+ */
+ boolean IsAscending;
+
+ /** specifies if the case of letters is important when comparing entries.
+ */
+ boolean IsCaseSensitive;
+
+ /** type of contents in the field.
+
+ <p>If the value is
+ com::sun::star::table::TableSortFieldType::AUTOMATIC
+ the algorithm used for sorting is application specific.
+ Especially it may or may not use the values given by
+ "CollatorLocale" and "CollatorAlgorithm".</p>
+ */
+ com::sun::star::table::TableSortFieldType FieldType;
+
+ /** the locale used by the collator when comparing/sorting text.
+
+ <p>This property will not be used when the "FieldType" is
+ com::sun::star::table::TableSortFieldType::NUMERIC
+ </p>
+
+ @see com::sun::star::i18n::XCollator
+ */
+ com::sun::star::lang::Locale CollatorLocale;
+
+ /** the algorithm used by the collator when comparing/sorting text.
+
+ <p>This property will not be used when the "FieldType" is
+ com::sun::star::table::TableSortFieldType::NUMERIC
+ </p>
+
+ @see com::sun::star::i18n::XCollator
+ */
+ string CollatorAlgorithm;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/TableSortFieldType.idl b/offapi/com/sun/star/table/TableSortFieldType.idl
new file mode 100644
index 000000000..5bf296685
--- /dev/null
+++ b/offapi/com/sun/star/table/TableSortFieldType.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_table_TableSortFieldType_idl__
+#define __com_sun_star_table_TableSortFieldType_idl__
+
+
+
+module com { module sun { module star { module table {
+
+
+/** enumeration used to specify the type of contents in a sort field
+ (row/column) of a table.
+
+ @since OOo 1.1.2
+ */
+published enum TableSortFieldType
+{
+ /** type is determined automatically.
+ */
+ AUTOMATIC,
+
+ /** sort field contains numerical data.
+ */
+ NUMERIC,
+
+ /** sort field contains text data.
+ */
+ ALPHANUMERIC
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/XAutoFormattable.idl b/offapi/com/sun/star/table/XAutoFormattable.idl
new file mode 100644
index 000000000..8fe657605
--- /dev/null
+++ b/offapi/com/sun/star/table/XAutoFormattable.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_table_XAutoFormattable_idl__
+#define __com_sun_star_table_XAutoFormattable_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+module com { module sun { module star { module table {
+
+
+/** provides a method to apply TableAutoFormats to a cell range.
+ */
+published interface XAutoFormattable: com::sun::star::uno::XInterface
+{
+
+ /** applies an AutoFormat to the cell range of the current context.
+
+ @param aName
+ is the name of the AutoFormat to apply.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the specified AutoFormat does not exist.
+ */
+ void autoFormat( [in] string aName )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/XCell.idl b/offapi/com/sun/star/table/XCell.idl
new file mode 100644
index 000000000..d236022f6
--- /dev/null
+++ b/offapi/com/sun/star/table/XCell.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_table_XCell_idl__
+#define __com_sun_star_table_XCell_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/table/CellContentType.idl>
+
+
+module com { module sun { module star { module table {
+
+
+/** provides methods to access the contents of a cell in a table.
+
+ @see com::sun::star::table::Cell
+ */
+published interface XCell: com::sun::star::uno::XInterface
+{
+
+ /** returns the formula string of a cell.
+
+ <p>Even if the cell does not contain a formula, an assignment of
+ this attribute's value to another cell's formula attribute would
+ create the same cell content. This is because this attribute contains
+ the original text value of a string cell. The value of a
+ <em>value cell</em> will be formatted using the number format's
+ default format or the formula string, including "=", of a formula
+ cell.</p>
+ */
+ string getFormula();
+
+
+ /** sets a formula into the cell.
+
+ <p>When assigned, the string will be interpreted and a value, text
+ or formula cell is created, depending on the text and the number
+ format.</p>
+ */
+ void setFormula( [in] string aFormula );
+
+
+ /** returns the floating point value of the cell.
+
+ <p>For a <em>value cell</em> the value is returned, for a
+ <em>string cell</em> zero is returned and for a <em>formula cell</em>
+ the result value of a formula is returned.</p>
+ */
+ double getValue();
+
+
+ /** sets a floating point value into the cell.
+
+ <p>After a call to this method the type of the cell is
+ CellContentType::VALUE.</p>
+ */
+ void setValue( [in] double nValue );
+
+
+ /** returns the type of the cell.
+ */
+ com::sun::star::table::CellContentType getType();
+
+
+ /** returns the error value of the cell.
+
+ <P>If the cell does not contain a formula, the error is always
+ zero.</p>
+ */
+ long getError();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/XCell2.idl b/offapi/com/sun/star/table/XCell2.idl
new file mode 100644
index 000000000..dd1c495bc
--- /dev/null
+++ b/offapi/com/sun/star/table/XCell2.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_table_XCell2_idl__
+#define __com_sun_star_table_XCell2_idl__
+
+#include <com/sun/star/table/XCell.idl>
+
+
+module com { module sun { module star { module table {
+
+
+/** extends XCell methods to access the contents of a cell in a table.
+
+ @see com::sun::star::table::Cell
+ */
+interface XCell2: com::sun::star::table::XCell
+{
+ /** sets a formula result into the cell.
+
+ <p>When assigned, the formula cell's result will be set to this
+ value and will not be calculated - unless a HardRecalc is
+ executed.</p>
+ */
+ void setFormulaResult( [in] double nValue );
+
+
+ /** sets a formula string into the cell.
+
+ <p>When assigned, the formula is set into the string. But is not
+ compiled, tokenized or calculated. Its useful when loading a
+ document and setFormulaResult() is used. Otherwise it is compiled
+ on trying to fetch a result value.</p>
+ */
+ void setFormulaString( [in] string aFormula );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/XCellCursor.idl b/offapi/com/sun/star/table/XCellCursor.idl
new file mode 100644
index 000000000..39ad8fa51
--- /dev/null
+++ b/offapi/com/sun/star/table/XCellCursor.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_table_XCellCursor_idl__
+#define __com_sun_star_table_XCellCursor_idl__
+
+#include <com/sun/star/table/XCellRange.idl>
+
+
+module com { module sun { module star { module table {
+
+
+/** provides methods to control the position of a cell cursor.
+
+ @see com::sun::star::table::CellCursor
+ */
+published interface XCellCursor: com::sun::star::table::XCellRange
+{
+
+ /** points the cursor to a single cell which is the beginning of a
+ contiguous series of (filled) cells.
+ */
+ void gotoStart();
+
+
+ /** points the cursor to a single cell which is the end of a contiguous
+ series of (filled) cells.
+ */
+ void gotoEnd();
+
+
+ /** points the cursor to the next unprotected cell.
+
+ <p>If the sheet is not protected, this is the next cell to the
+ right.</p>
+ */
+ void gotoNext();
+
+
+ /** points the cursor to the previous unprotected cell.
+
+ <p>If the sheet is not protected, this is the next cell to the
+ left.</p>
+ */
+ void gotoPrevious();
+
+
+ /** moves the origin of the cursor relative to the current position.
+
+ @param nColumnOffset
+ is the count of columns to move. A negative value moves the
+ cursor to the left.
+
+ @param nRowOffset
+ is the count of rows to move. A negative value moves the
+ cursor to the top.
+ */
+ void gotoOffset( [in] long nColumnOffset, [in] long nRowOffset );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/XCellRange.idl b/offapi/com/sun/star/table/XCellRange.idl
new file mode 100644
index 000000000..5ba075113
--- /dev/null
+++ b/offapi/com/sun/star/table/XCellRange.idl
@@ -0,0 +1,114 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_table_XCellRange_idl__
+#define __com_sun_star_table_XCellRange_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#include <com/sun/star/table/XCell.idl>
+
+
+module com { module sun { module star { module table {
+
+
+/** provides access to the cells or to sub-ranges of a cell range.
+
+ @see com::sun::star::table::CellRange
+ */
+published interface XCellRange: com::sun::star::uno::XInterface
+{
+
+ /** Returns a single cell within the range.
+
+ @param nColumn
+ is the column index of the cell inside the range.
+
+ @param nRow
+ is the row index of the cell inside the range.
+
+ @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 )
+ 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.
+
+ @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 )
+ 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 "A1:C5" or "$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 range.
+
+ @see com::sun::star::table::CellRange
+ */
+ com::sun::star::table::XCellRange getCellRangeByName( [in] string aRange );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/XColumnRowRange.idl b/offapi/com/sun/star/table/XColumnRowRange.idl
new file mode 100644
index 000000000..371710318
--- /dev/null
+++ b/offapi/com/sun/star/table/XColumnRowRange.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_table_XColumnRowRange_idl__
+#define __com_sun_star_table_XColumnRowRange_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/table/XTableColumns.idl>
+#include <com/sun/star/table/XTableRows.idl>
+
+
+module com { module sun { module star { module table {
+
+
+/** provides methods to access the collections of columns and rows
+ of a cell range.
+
+ @see com::sun::star::table::CellRange
+ */
+published interface XColumnRowRange: com::sun::star::uno::XInterface
+{
+
+ /** returns the collection of columns in the range.
+
+ @see com::sun::star::table::TableColumns
+ */
+ com::sun::star::table::XTableColumns getColumns();
+
+
+ /** returns the collection of rows in the range.
+
+ @see com::sun::star::table::TableRows
+ */
+ com::sun::star::table::XTableRows getRows();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/XMergeableCell.idl b/offapi/com/sun/star/table/XMergeableCell.idl
new file mode 100644
index 000000000..221888317
--- /dev/null
+++ b/offapi/com/sun/star/table/XMergeableCell.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_table_XMergeableCell_idl__
+#define __com_sun_star_table_XMergeableCell_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/table/XCell.idl>
+
+
+module com { module sun { module star { module table {
+
+
+/** provides methods to access information about a cell that is mergeable with
+ other sells.
+
+ @see com::sun::star::table::Cell
+ */
+interface XMergeableCell: com::sun::star::table::XCell
+{
+
+ /** returns the number of columns this cell spans.
+ */
+ long getRowSpan();
+
+
+ /** returns the number of rows this cell spans.
+ */
+ long getColumnSpan();
+
+
+ /** returns `TRUE` if this cell is merged with another cell.
+ */
+ boolean isMerged();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/XMergeableCellRange.idl b/offapi/com/sun/star/table/XMergeableCellRange.idl
new file mode 100644
index 000000000..368c89026
--- /dev/null
+++ b/offapi/com/sun/star/table/XMergeableCellRange.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_table_XMergeableCellRange_idl__
+#define __com_sun_star_table_XMergeableCellRange_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/lang/NoSupportException.idl>
+
+
+module com { module sun { module star { module table {
+
+
+/** represents a range of cells that can possibly be merged or unmerged.
+ */
+interface XMergeableCellRange : com::sun::star::uno::XInterface
+{
+ /** merges the area specified by this range.
+
+ @throws com::sun::star::lang::NoSupportException
+ if a merge is not possible for this range. You can use
+ isMergeable() to check if a merge is possible.
+ */
+ void merge() raises( ::com::sun::star::lang::NoSupportException );
+
+
+ /** splits the cells in this range.
+ This will be done by inserting rows and columns if needed or unmerging
+ cells that are already split.
+
+ @param Columns
+ this is the number of columns that will be added to each cell. Zero
+ means no new columns
+
+ @param Rows
+ this is the number of rows that will be added to each cell. Zero
+ means no new rows
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if at least one of the parameters is less than zero.
+
+ @throws com::sun::star::lang::NoSupportException
+ if a split is not possible for this range.
+ */
+ void split( [in] long Columns, [in] long Rows )
+ raises( ::com::sun::star::lang::NoSupportException,
+ ::com::sun::star::lang::IllegalArgumentException );
+
+
+ /** @returns
+ `TRUE` if all cells from this range can be merged to one
+ or `FALSE` otherwise.
+ */
+ boolean isMergeable();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/XTable.idl b/offapi/com/sun/star/table/XTable.idl
new file mode 100644
index 000000000..c00edeab1
--- /dev/null
+++ b/offapi/com/sun/star/table/XTable.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_table_XTable_idl__
+#define __com_sun_star_table_XTable_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/table/XCellRange.idl>
+#include <com/sun/star/table/XColumnRowRange.idl>
+#include <com/sun/star/table/XCellCursor.idl>
+#include <com/sun/star/util/XModifiable.idl>
+#include <com/sun/star/beans/XMultiPropertySet.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/beans/XFastPropertySet.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+module com { module sun { module star { module table {
+
+
+interface XTable
+{
+
+ interface com::sun::star::lang::XComponent;
+
+
+ interface com::sun::star::table::XCellRange;
+
+
+ interface com::sun::star::table::XColumnRowRange;
+
+
+ /** interface to make the modify state of the table accessible.
+ <p>Additionally, it makes it possible to register listener objects, which
+ get notification whenever the content of the table changes.
+ */
+ interface ::com::sun::star::util::XModifiable;
+
+
+ /* interface ::com::sun::star::beans::XMultiPropertySet; */
+
+
+ interface ::com::sun::star::beans::XPropertySet;
+
+
+ interface ::com::sun::star::beans::XFastPropertySet;
+
+
+ /** creates a cell cursor including the whole table
+
+ @see com::sun::star::table::CellCursor
+ */
+ com::sun::star::table::XCellCursor createCursor();
+
+
+ /** creates a cell cursor to travel in the given range context.
+
+ @param Range
+ the cell range for the cursor.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the given reference is empty or not a range from this table.
+
+ @see com::sun::star::table::CellCursor
+ */
+ com::sun::star::table::XCellCursor createCursorByRange( [in] com::sun::star::table::XCellRange Range )
+ raises ( com::sun::star::lang::IllegalArgumentException );
+
+
+ /** stores the current row count of this table */
+ [readonly, attribute] long RowCount;
+
+
+ /** stores the current column count of this table */
+ [readonly, attribute] long ColumnCount;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/XTableChart.idl b/offapi/com/sun/star/table/XTableChart.idl
new file mode 100644
index 000000000..b508403f0
--- /dev/null
+++ b/offapi/com/sun/star/table/XTableChart.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_table_XTableChart_idl__
+#define __com_sun_star_table_XTableChart_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/table/CellRangeAddress.idl>
+
+
+module com { module sun { module star { module table {
+
+
+/** provides access to the settings of a chart object in a table or
+ spreadsheet.
+
+ @see com::sun::star::table::TableChart
+ */
+published interface XTableChart: com::sun::star::uno::XInterface
+{
+
+ /** returns, whether the cells of the topmost row of the source data
+ are interpreted as column headers.
+ */
+ boolean getHasColumnHeaders();
+
+
+ /** specifies whether the cells of the topmost row of the source data
+ are interpreted as column headers.
+ */
+ void setHasColumnHeaders( [in] boolean bHasColumnHeaders );
+
+
+ /** returns, whether the cells of the leftmost column of the source
+ data are interpreted as row headers.
+ */
+ boolean getHasRowHeaders();
+
+
+ /** specifies whether the cells of the leftmost column of the source
+ data are interpreted as row headers.
+ */
+ void setHasRowHeaders( [in] boolean bHasRowHeaders );
+
+
+ /** returns the cell ranges that contain the data for the chart.
+ */
+ sequence<com::sun::star::table::CellRangeAddress> getRanges();
+
+
+ /** sets the cell ranges that contain the data for the chart.
+ */
+ void setRanges(
+ [in] sequence<com::sun::star::table::CellRangeAddress> aRanges );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/XTableCharts.idl b/offapi/com/sun/star/table/XTableCharts.idl
new file mode 100644
index 000000000..8129a2b0f
--- /dev/null
+++ b/offapi/com/sun/star/table/XTableCharts.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_table_XTableCharts_idl__
+#define __com_sun_star_table_XTableCharts_idl__
+
+#include <com/sun/star/container/XNameAccess.idl>
+#include <com/sun/star/awt/Rectangle.idl>
+#include <com/sun/star/table/CellRangeAddress.idl>
+
+
+module com { module sun { module star { module table {
+
+
+/** provides methods to access charts via name and to insert and remove
+ charts.
+
+ @see com::sun::star::table::TableCharts
+ */
+published interface XTableCharts: com::sun::star::container::XNameAccess
+{
+
+ /** creates a chart and adds it to the collection.
+
+ @param aName
+ is the name of the chart. This name is used to reference the
+ chart in the collection.
+
+ @param aRect
+ contains the rectangular location of the chart within the table
+ (in 1/100th mm).
+
+ @param aRanges
+ all cell ranges containing the source data of the chart.
+
+ @param bColumnHeaders
+ if set to `TRUE`, the topmost row of the source data will be
+ used to set labels for the category axis or the legend.
+
+ @param bRowHeaders
+ if set to `TRUE`, the leftmost column of the source data will
+ be used to set labels for the category axis or the legend.
+ */
+ void addNewByName(
+ [in] string aName,
+ [in] com::sun::star::awt::Rectangle aRect,
+ [in] sequence<com::sun::star::table::CellRangeAddress> aRanges,
+ [in] boolean bColumnHeaders,
+ [in] boolean bRowHeaders );
+
+
+ /** removes a chart from the collection.
+
+ @param aName
+ is the name of the chart to remove.
+ */
+ void removeByName( [in] string aName );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/XTableChartsSupplier.idl b/offapi/com/sun/star/table/XTableChartsSupplier.idl
new file mode 100644
index 000000000..047cf72fe
--- /dev/null
+++ b/offapi/com/sun/star/table/XTableChartsSupplier.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_table_XTableChartsSupplier_idl__
+#define __com_sun_star_table_XTableChartsSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/table/XTableCharts.idl>
+
+
+module com { module sun { module star { module table {
+
+
+/** provides a method to access a collection of charts in a table or
+ spreadsheet.
+ */
+published interface XTableChartsSupplier: com::sun::star::uno::XInterface
+{
+
+ /** returns the collection of charts.
+
+ @see com::sun::star::table::TableCharts
+ */
+ com::sun::star::table::XTableCharts getCharts();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/XTableColumns.idl b/offapi/com/sun/star/table/XTableColumns.idl
new file mode 100644
index 000000000..b3aa993d8
--- /dev/null
+++ b/offapi/com/sun/star/table/XTableColumns.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_table_XTableColumns_idl__
+#define __com_sun_star_table_XTableColumns_idl__
+
+#include <com/sun/star/container/XIndexAccess.idl>
+
+
+module com { module sun { module star { module table {
+
+
+/** provides methods to access columns via index and to insert and remove
+ columns.
+
+ @see com::sun::star::table::TableColumns
+ */
+published interface XTableColumns: com::sun::star::container::XIndexAccess
+{
+
+ /** inserts new columns.
+
+ @param nIndex
+ is the index the first inserted column will have.
+
+ @param nCount
+ is the number of columns to insert.
+ */
+ void insertByIndex( [in] long nIndex, [in] long nCount );
+
+
+ /** deletes columns.
+
+ @param nIndex
+ is the index of the first column to delete.
+
+ @param nCount
+ is the number of columns to delete.
+ */
+ void removeByIndex( [in] long nIndex, [in] long nCount );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/XTablePivotChart.idl b/offapi/com/sun/star/table/XTablePivotChart.idl
new file mode 100644
index 000000000..f43b81455
--- /dev/null
+++ b/offapi/com/sun/star/table/XTablePivotChart.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_table_XTablePivotChart_idl__
+#define __com_sun_star_table_XTablePivotChart_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module table {
+
+/** provides access to the settings of a pivot chart object in a
+ table or spreadsheet.
+
+ @since LibreOffice 5.4
+ */
+interface XTablePivotChart: com::sun::star::uno::XInterface
+{
+ /** returns the pivot table name of the associated pivot table
+ */
+ string getPivotTableName();
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/XTablePivotCharts.idl b/offapi/com/sun/star/table/XTablePivotCharts.idl
new file mode 100644
index 000000000..acdd1f59a
--- /dev/null
+++ b/offapi/com/sun/star/table/XTablePivotCharts.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/.
+ */
+
+#ifndef __com_sun_star_table_XTablePivotCharts_idl__
+#define __com_sun_star_table_XTablePivotCharts_idl__
+
+#include <com/sun/star/container/XNameAccess.idl>
+#include <com/sun/star/awt/Rectangle.idl>
+
+module com { module sun { module star { module table {
+
+/** provides methods to access pivot charts via name and to insert
+ and remove pivot charts.
+
+ @since LibreOffice 5.4
+ */
+interface XTablePivotCharts: com::sun::star::container::XNameAccess
+{
+ /** creates a pivot chart and adds it to the collection.
+
+ @param aName
+ is the name of the chart. This name is used to reference the
+ chart in the collection.
+
+ @param aRect
+ contains the rectangular location of the chart within the table
+ (in 1/100th mm).
+
+ @param aPivotTableName
+ the name of the pivot table (data pilot) to associate the pivot chart with
+ */
+ void addNewByName(
+ [in] string aName,
+ [in] com::sun::star::awt::Rectangle aRect,
+ [in] string aPivotTableName);
+
+ /** removes a pivot chart from the collection.
+
+ @param aName
+ is the name of the chart to remove.
+ */
+ void removeByName([in] string aName);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/XTablePivotChartsSupplier.idl b/offapi/com/sun/star/table/XTablePivotChartsSupplier.idl
new file mode 100644
index 000000000..edfd6bbb4
--- /dev/null
+++ b/offapi/com/sun/star/table/XTablePivotChartsSupplier.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_table_XTablePivotChartsSupplier_idl__
+#define __com_sun_star_table_XTablePivotChartsSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/table/XTablePivotCharts.idl>
+
+
+module com { module sun { module star { module table {
+
+/** provides a method to access a collection of pivot charts in a table
+ or spreadsheet.
+
+ @since LibreOffice 5.4
+ */
+interface XTablePivotChartsSupplier: com::sun::star::uno::XInterface
+{
+
+ /** returns the collection of pivot charts.
+ */
+ com::sun::star::table::XTablePivotCharts getPivotCharts();
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/XTableRows.idl b/offapi/com/sun/star/table/XTableRows.idl
new file mode 100644
index 000000000..c6886c1e0
--- /dev/null
+++ b/offapi/com/sun/star/table/XTableRows.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_table_XTableRows_idl__
+#define __com_sun_star_table_XTableRows_idl__
+
+#include <com/sun/star/container/XIndexAccess.idl>
+
+
+module com { module sun { module star { module table {
+
+
+/** provides methods to access rows via index and to insert and remove rows.
+
+ @see com::sun::star::table::TableRows
+ */
+published interface XTableRows: com::sun::star::container::XIndexAccess
+{
+
+ /** inserts new rows.
+
+ <p>When the index or combination of index and count is out
+ of bounds an exception will be thrown.</p>
+
+ @param nIndex
+ is the index the first inserted row will have.
+
+ @param nCount
+ is the number of rows to insert.
+ */
+ void insertByIndex( [in] long nIndex, [in] long nCount );
+
+
+ /** deletes rows.
+
+ <p>When the index or combination of index and count is out
+ of bounds an exception will be thrown.</p>
+
+ @param nIndex
+ is the index of the first row to delete.
+
+ @param nCount
+ is the number of rows to delete.
+ */
+ void removeByIndex( [in] long nIndex, [in] long nCount );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/task/AsyncJob.idl b/offapi/com/sun/star/task/AsyncJob.idl
new file mode 100644
index 000000000..6482cf7e4
--- /dev/null
+++ b/offapi/com/sun/star/task/AsyncJob.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_task_AsyncJob_idl__
+#define __com_sun_star_task_AsyncJob_idl__
+
+#include <com/sun/star/task/XAsyncJob.idl>
+#include <com/sun/star/util/XCloseable.idl>
+
+
+module com { module sun { module star { module task {
+
+/** Represent an asynchronous job, which can be executed by the global
+ theJobExecutor instance.
+
+ @see Job
+
+ @since OOo 1.1.2
+ */
+published service AsyncJob
+{
+ /** used to initialize and execute this job.
+ */
+ interface com::sun::star::task::XAsyncJob;
+
+ /** should be supported to handle environment termination gracefully.
+ */
+ [optional] interface com::sun::star::util::XCloseable;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/task/ClassifiedInteractionRequest.idl b/offapi/com/sun/star/task/ClassifiedInteractionRequest.idl
new file mode 100644
index 000000000..bfc323b95
--- /dev/null
+++ b/offapi/com/sun/star/task/ClassifiedInteractionRequest.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_task_ClassifiedInteractionRequest_idl__
+#define __com_sun_star_task_ClassifiedInteractionRequest_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+#include <com/sun/star/task/InteractionClassification.idl>
+
+
+
+ module com { module sun { module star { module task {
+
+/** A classified interaction request.
+ */
+published exception ClassifiedInteractionRequest: com::sun::star::uno::Exception
+{
+ /** The classification of the request.
+ */
+ com::sun::star::task::InteractionClassification Classification;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/task/DocumentMSPasswordRequest.idl b/offapi/com/sun/star/task/DocumentMSPasswordRequest.idl
new file mode 100644
index 000000000..a7a95a9af
--- /dev/null
+++ b/offapi/com/sun/star/task/DocumentMSPasswordRequest.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_task_DocumentMSPasswordRequest_idl__
+#define __com_sun_star_task_DocumentMSPasswordRequest_idl__
+
+#include <com/sun/star/task/PasswordRequest.idl>
+
+
+
+module com { module sun { module star { module task {
+
+/** this request specifies the mode in which the password for Microsoft Office file format encryption should be asked
+
+ <P>
+ It is supported by InteractionHandler service, and can
+ be used to interact for a document password. Continuations for using with
+ the mentioned service are Abort and Approve.
+ </P>
+
+ @since OOo 3.2
+*/
+published exception DocumentMSPasswordRequest: PasswordRequest
+{
+ /** the name of the document (more properly, the URL of the document)
+ */
+ string Name;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/task/DocumentMSPasswordRequest2.idl b/offapi/com/sun/star/task/DocumentMSPasswordRequest2.idl
new file mode 100644
index 000000000..64fca4e97
--- /dev/null
+++ b/offapi/com/sun/star/task/DocumentMSPasswordRequest2.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_task_DocumentMSPasswordRequest2_idl__
+#define __com_sun_star_task_DocumentMSPasswordRequest2_idl__
+
+#include <com/sun/star/task/DocumentMSPasswordRequest.idl>
+
+
+
+module com { module sun { module star { module task {
+
+/** this request specifies if a password for opening or modifying of an encrypted Microsoft Office document is requested.
+
+ <P>
+ It is supported by InteractionHandler service, and can
+ be used to interact for a document password. Continuations for using with
+ the mentioned service are Abort and Approve.
+ </P>
+
+ @see com::sun::star::task::PasswordRequest
+ @see com::sun::star::task::DocumentMSPasswordRequest
+
+ @since OOo 3.3
+*/
+exception DocumentMSPasswordRequest2 : DocumentMSPasswordRequest
+{
+ /** specifies if the requested password is for opening a document or for modifying it.
+ */
+ boolean IsRequestPasswordToModify;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/task/DocumentMacroConfirmationRequest.idl b/offapi/com/sun/star/task/DocumentMacroConfirmationRequest.idl
new file mode 100644
index 000000000..667ad5f48
--- /dev/null
+++ b/offapi/com/sun/star/task/DocumentMacroConfirmationRequest.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_task_DocumentMacroConfirmationRequest_idl__
+#define __com_sun_star_task_DocumentMacroConfirmationRequest_idl__
+
+#include <com/sun/star/task/ClassifiedInteractionRequest.idl>
+#include <com/sun/star/embed/XStorage.idl>
+#include <com/sun/star/security/DocumentSignatureInformation.idl>
+
+
+module com { module sun { module star { module task {
+
+
+/** describes the request to approve or deny the execution of macros contained in
+ a document.
+ */
+exception DocumentMacroConfirmationRequest : ClassifiedInteractionRequest
+{
+ /** specifies the URL of the document which contains macros whose execution
+ should be approved or rejected.
+ */
+ string DocumentURL;
+
+ /** refers to the storage related to the last committed version of the
+ document.
+
+ This storage is necessary e.g. for displaying the existing signatures to
+ the user, to allow him a decision whether or not to trust those signatures
+ and thus the signed macros.
+
+ @see ::com::sun::star::security::XDocumentDigitalSignatures::showScriptingContentSignatures
+ */
+ ::com::sun::star::embed::XStorage
+ DocumentStorage;
+
+ /** contains information about the ODF version of the document
+ */
+ string DocumentVersion;
+
+ /** contains information about the signatures in the document
+ */
+ sequence< ::com::sun::star::security::DocumentSignatureInformation >
+ DocumentSignatureInformation;
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/task/DocumentPasswordRequest.idl b/offapi/com/sun/star/task/DocumentPasswordRequest.idl
new file mode 100644
index 000000000..0829d24ab
--- /dev/null
+++ b/offapi/com/sun/star/task/DocumentPasswordRequest.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_task_DocumentPasswordRequest_idl__
+#define __com_sun_star_task_DocumentPasswordRequest_idl__
+
+#include <com/sun/star/task/PasswordRequest.idl>
+
+
+
+module com { module sun { module star { module task {
+
+/** this request specifies the mode in which the password should be asked
+
+ <P>
+ It is supported by InteractionHandler service, and can
+ be used to interact for a document password. Continuations for using with
+ the mentioned service are Abort and Approve.
+ </P>
+
+ @since OOo 1.1.2
+*/
+published exception DocumentPasswordRequest: PasswordRequest
+{
+ /** the name of the document (more properly, the URL of the document)
+ */
+ string Name;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/task/DocumentPasswordRequest2.idl b/offapi/com/sun/star/task/DocumentPasswordRequest2.idl
new file mode 100644
index 000000000..9fcc19a81
--- /dev/null
+++ b/offapi/com/sun/star/task/DocumentPasswordRequest2.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_task_DocumentPasswordRequest2_idl__
+#define __com_sun_star_task_DocumentPasswordRequest2_idl__
+
+#include <com/sun/star/task/DocumentPasswordRequest.idl>
+
+
+
+module com { module sun { module star { module task {
+
+/** this request specifies if a password for opening or modifying a document is requested.
+
+ <P>
+ It is supported by InteractionHandler service, and can
+ be used to interact for a document password. Continuations for using with
+ the mentioned service are Abort and Approve.
+ </P>
+
+ @see com::sun::star::task::PasswordRequest
+ @see com::sun::star::task::DocumentPasswordRequest
+
+ @since OOo 3.3
+*/
+exception DocumentPasswordRequest2 : DocumentPasswordRequest
+{
+ /** specifies if the requested password is for opening a document or for modifying it.
+ */
+ boolean IsRequestPasswordToModify;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/task/ErrorCodeIOException.idl b/offapi/com/sun/star/task/ErrorCodeIOException.idl
new file mode 100644
index 000000000..20011c3a4
--- /dev/null
+++ b/offapi/com/sun/star/task/ErrorCodeIOException.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_task_ErrorCodeIOException_idl__
+#define __com_sun_star_task_ErrorCodeIOException_idl__
+
+#include <com/sun/star/io/IOException.idl>
+
+
+ module com { module sun { module star { module task {
+
+
+/** IOException that carries a legacy error code (not only I/O related).
+ */
+exception ErrorCodeIOException : com::sun::star::io::IOException
+{
+ /** specifies the error code; see tools/errcode.hxx for details.
+ */
+
+ long ErrCode;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/task/ErrorCodeRequest.idl b/offapi/com/sun/star/task/ErrorCodeRequest.idl
new file mode 100644
index 000000000..01703e099
--- /dev/null
+++ b/offapi/com/sun/star/task/ErrorCodeRequest.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_task_ErrorCodeRequest_idl__
+#define __com_sun_star_task_ErrorCodeRequest_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+ module com { module sun { module star { module task {
+
+
+/** represents a general error exception.
+ It can be used to transport the error code information.
+ E.g. that can be useful for interactions.
+
+ @since OOo 1.1.2
+ */
+published exception ErrorCodeRequest : com::sun::star::uno::Exception
+{
+ /** specifies the error code. */
+ long ErrCode;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/task/InteractionClassification.idl b/offapi/com/sun/star/task/InteractionClassification.idl
new file mode 100644
index 000000000..47405e401
--- /dev/null
+++ b/offapi/com/sun/star/task/InteractionClassification.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_task_InteractionClassification_idl__
+#define __com_sun_star_task_InteractionClassification_idl__
+
+
+
+ module com { module sun { module star { module task {
+
+/** A classification of interaction requests.
+
+ @see com::sun::star::task::ClassifiedInteractionRequest
+ This is the base of classified interaction requests.
+ */
+published enum InteractionClassification
+{
+ /** An error.
+ */
+ ERROR,
+
+ /** A warning, less severe than an error.
+ */
+ WARNING,
+
+ /** Some information for the client/user (which will typically lead to the
+ selection of an
+ com::sun::star::task::XInteractionApprove
+ continuation).
+ */
+ INFO,
+
+ /** A query for the client/user (which will typically lead to the
+ selection of an
+ com::sun::star::task::XInteractionApprove or
+ com::sun::star::task::XInteractionDisapprove
+ continuation).
+ */
+ QUERY
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/task/InteractionHandler.idl b/offapi/com/sun/star/task/InteractionHandler.idl
new file mode 100644
index 000000000..48f8dd736
--- /dev/null
+++ b/offapi/com/sun/star/task/InteractionHandler.idl
@@ -0,0 +1,171 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_task_InteractionHandler_idl__
+#define __com_sun_star_task_InteractionHandler_idl__
+
+module com { module sun { module star {
+ module task { published interface XInteractionHandler2; };
+ module awt { published interface XWindow; };
+}; }; };
+
+module com { module sun { module star { module task {
+
+/** An interaction request handler that lets the user handle requests via GUI dialogs.
+
+ <p>The interaction handler service has a number of <a href="#built_in_handler">built-in handlers</a>, responsible
+ for a lot of well known interactions. Additionally, there's a configuration module which allows to
+ <a href="#configuring_handlers">configure additional handlers</a>, responsible for arbitrary requests.</a></p>
+
+ <a name="built_in_handler"></a>
+ <h3>Built-in Handlers</h3>
+ The following well-known requests can be dealt with by the built-in handlers:
+ <UL>
+ <LI>com::sun::star::ucb::AuthenticationRequest</LI>
+ <LI>com::sun::star::ucb::CertificateValidationRequest</LI>
+ <LI>com::sun::star::ucb::InteractiveAugmentedIOException*</LI>
+ <LI>com::sun::star::ucb::InteractiveFileIOException*</LI>
+ <LI>com::sun::star::ucb::InteractiveIOException*</LI>
+ <LI>com::sun::star::ucb::InteractiveNetworkConnectException*</LI>
+ <LI>com::sun::star::ucb::InteractiveNetworkException*</LI>
+ <LI>com::sun::star::ucb::InteractiveNetworkGeneralException*</LI>
+ <LI>com::sun::star::ucb::InteractiveNetworkOffLineException*</LI>
+ <LI>com::sun::star::ucb::InteractiveNetworkReadException*</LI>
+ <LI>com::sun::star::ucb::InteractiveNetworkResolveNameException*</LI>
+ <LI>com::sun::star::ucb::InteractiveNetworkWriteException*</LI>
+ <LI>com::sun::star::ucb::InteractiveWrongMediumException*</LI>
+ <LI>com::sun::star::task::PasswordRequest</LI>
+ <LI>com::sun::star::java::WrongJavaVersionException*</LI>
+ <LI>com::sun::star::task::DocumentMacroConfirmationRequest</LI>
+ </UL>
+ The requests marked with an asterisk are only handled if (a) their
+ continuations match certain restrictions (see below), and (b) the
+ necessary resource strings are available (this can be exploited by
+ applications that carry only a subset of all resource files with
+ them).</P>
+
+ <P>The continuation restrictions are as follows: Let <VAR>C</VAR> be the
+ subset of the provided continuations that are of type
+ com::sun::star::task::XInteractionApprove,
+ com::sun::star::task::XInteractionDisapprove,
+ com::sun::star::task::XInteractionRetry, or
+ com::sun::star::task::XInteractionAbort (or of a
+ derived type). All other continuations are ignored for these requests.
+ The request is only handled if the set <VAR>C</VAR> is any of the
+ following:
+ <UL>
+ <LI>Abort</LI>
+ <LI>Retry, Abort</LI>
+ <LI>Approve</LI>
+ <LI>Approve, Abort</LI>
+ <LI>Approve, Disapprove</LI>
+ <LI>Approve, Disapprove, Abort</LI>
+ </UL></P>
+
+ <P>An
+ com::sun::star::ucb::InteractiveAugmentedIOException
+ carries with it a sequence of arguments, which should be
+ com::sun::star::beans::PropertyValues. The following
+ details which properties are interpreted by the interaction handler,
+ depending on the request's
+ com::sun::star::ucb::IOErrorCode:
+ <DL>
+ <DT><code>"Uri"</code></DT>
+ <DD>All error codes except
+ com::sun::star::ucb::IOErrorCode::DIFFERENT_DEVICES.
+ The URI of the involved resource (a `string`).</DD>
+
+ <DT><code>"ResourceName"</code></DT>
+ <DD>All error codes except
+ com::sun::star::ucb::IOErrorCode::DIFFERENT_DEVICES.
+ A name for the involved resource (a `string`) that might be
+ more meaningful to the user than the URI. For example, a
+ (platform-dependent) path notation for file system resources.</DD>
+
+ <DT><code>"ResourceType"</code></DT>
+ <DD>com::sun::star::ucb::IOErrorCode::DEVICE_NOT_READY
+ and
+ com::sun::star::ucb::IOErrorCode::NOT_EXISTING
+ only. An identifier for the type of resource involved (a
+ `string`). Currently understood values are
+ <code>"volume"</code> (e.g., a file system volume) and
+ <code>"folder"</code> (i.e., a resource that contains other
+ resources).</DD>
+
+ <DT><code>"Removable"</code></DT>
+ <DD>com::sun::star::ucb::IOErrorCode::NOT_EXISTING
+ only. A flag indicating whether the resource resides on a storage
+ medium that can be removed by the user (a `boolean`).</DD>
+
+ <DT><code>"Folder"</code></DT>
+ <DD>com::sun::star::ucb::IOErrorCode::CANT_CREATE
+ only. The name of the folder in which a resource cannot be created (a
+ `string`).</DD>
+
+ <DT><code>"Volume"</code> and <code>"OtherVolume"</code></DT>
+ <DD>com::sun::star::ucb::IOErrorCode::DIFFERENT_DEVICES
+ only. The names of the two volumes involved (two
+ `string`s).</DD>
+ </DL></P>
+
+ <a name="configuring_handlers"></a>
+ <h3>Configuring additional Handlers</h3>
+
+ <p>It is possible to configure additional interaction handlers, to which certain requests can be delegated. The
+ configuration node <code>/org.openoffice.Interaction/InteractionHandlers</code> is evaluated and respected
+ by the <code>InteractionHandler</code> implementation.</p>
+
+ <p>A custom interaction handler can declare itself responsible for an arbitrary number of UNO types, specified
+ by full-qualified type name. Also, for each type, it can specify whether it is responsible for only this particular
+ type, or all possibly existent derived types.</p>
+
+ <p>Whenever the <code>InteractionHandler</code> encounters a request it cannot fulfill itself, it will examine
+ the configuration, to find a handler implementation for the request, and delegate it to the first matching
+ handler.</p>
+
+ <p>If multiple custom interaction handlers declare themselves responsible for the same request type, it is not
+ defined which handler will actually be invoked. Thus, when deploying a custom interaction handler, ensure
+ that the types you specify are general enough to cover all requests you want to handle, but also specific
+ enough to not cover requests which other handlers might be interested in.</p>
+ */
+published service InteractionHandler : XInteractionHandler2
+{
+ /** Creates an instance.
+
+ @param parent denotes the parent window for any GUI dialogs the
+ interaction handler pops up; may be null.
+ */
+ createWithParent([in] com::sun::star::awt::XWindow parent);
+
+ /** Creates an instance with an additional context.
+
+ @param parent denotes the parent window for any GUI dialogs the
+ interaction handler pops up; may be null.
+
+ @param context is a textual description of the current context (used,
+ e.g., as a first line of text in error boxes).
+ */
+ createWithParentAndContext([in] com::sun::star::awt::XWindow parent, [in] string context);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/task/InteractionRequestStringResolver.idl b/offapi/com/sun/star/task/InteractionRequestStringResolver.idl
new file mode 100644
index 000000000..29a5c8a13
--- /dev/null
+++ b/offapi/com/sun/star/task/InteractionRequestStringResolver.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_task_InteractionRequestStringResolver_idl__
+#define __com_sun_star_task_InteractionRequestStringResolver_idl__
+
+module com { module sun { module star {
+ module task { interface XInteractionRequestStringResolver; };
+}; }; };
+
+module com { module sun { module star { module task {
+
+/* An interaction request string resolver that obtains human readable strings
+ from an XInteractionRequest.
+ */
+/* published */
+service InteractionRequestStringResolver : XInteractionRequestStringResolver;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/task/Job.idl b/offapi/com/sun/star/task/Job.idl
new file mode 100644
index 000000000..414975e52
--- /dev/null
+++ b/offapi/com/sun/star/task/Job.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_task_Job_idl__
+#define __com_sun_star_task_Job_idl__
+
+#include <com/sun/star/task/XJob.idl>
+#include <com/sun/star/util/XCloseable.idl>
+
+
+module com { module sun { module star { module task {
+
+/** Represent a synchronous job, which can be executed by the global
+ theJobExecutor instance.
+
+ @see AsyncJob
+
+ @since OOo 1.1.2
+ */
+published service Job
+{
+ /** used to initialize and execute this job.
+ */
+ interface com::sun::star::task::XJob;
+
+ /** should be supported to handle environment termination gracefully.
+ */
+ [optional] interface com::sun::star::util::XCloseable;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/task/JobExecutor.idl b/offapi/com/sun/star/task/JobExecutor.idl
new file mode 100644
index 000000000..14d5b581c
--- /dev/null
+++ b/offapi/com/sun/star/task/JobExecutor.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_task_JobExecutor_idl__
+#define __com_sun_star_task_JobExecutor_idl__
+
+#include <com/sun/star/task/XJobExecutor.idl>
+
+
+module com { module sun { module star { module task {
+
+/**
+ A legacy (single-instance) service-variant of theJobExecutor singleton.
+
+ @deprecated Use theJobExecutor singleton instead.
+ */
+published service JobExecutor : XJobExecutor;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/task/MasterPasswordRequest.idl b/offapi/com/sun/star/task/MasterPasswordRequest.idl
new file mode 100644
index 000000000..fcc88d08b
--- /dev/null
+++ b/offapi/com/sun/star/task/MasterPasswordRequest.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_task_MasterPasswordRequest_idl__
+#define __com_sun_star_task_MasterPasswordRequest_idl__
+
+#include <com/sun/star/task/PasswordRequest.idl>
+
+
+
+module com { module sun { module star { module task {
+
+/** this request specifies the mode in which the password should be asked
+
+ <P>
+ It is supported by InteractionHandler service, and can
+ be used to interact for a master password. Continuations for using with
+ the mentioned service are Abort and Approve.
+ </P>
+
+ @since OOo 1.1.2
+*/
+published exception MasterPasswordRequest: PasswordRequest
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/task/NoMasterException.idl b/offapi/com/sun/star/task/NoMasterException.idl
new file mode 100644
index 000000000..91c7f7250
--- /dev/null
+++ b/offapi/com/sun/star/task/NoMasterException.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_task_NoMasterException_idl__
+#define __com_sun_star_task_NoMasterException_idl__
+
+#include <com/sun/star/uno/RuntimeException.idl>
+#include <com/sun/star/task/PasswordRequestMode.idl>
+
+
+
+module com { module sun { module star { module task {
+
+/** is thrown when a master password is needed but not available/correct.
+ */
+published exception NoMasterException: com::sun::star::uno::RuntimeException
+{
+ /** specifies the mode in which password should be queried.
+ */
+ PasswordRequestMode Mode;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/task/OfficeRestartManager.idl b/offapi/com/sun/star/task/OfficeRestartManager.idl
new file mode 100644
index 000000000..a28ff4a01
--- /dev/null
+++ b/offapi/com/sun/star/task/OfficeRestartManager.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_task_OfficeRestartManager_idl__
+#define __com_sun_star_task_OfficeRestartManager_idl__
+
+
+module com { module sun { module star { module task {
+
+interface XRestartManager;
+
+
+/** This singleton is intended to allow to restart the office asynchronously.
+
+ @since OOo 3.3
+ */
+singleton OfficeRestartManager : XRestartManager;
+
+
+}; }; }; };
+
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/task/PDFExportException.idl b/offapi/com/sun/star/task/PDFExportException.idl
new file mode 100644
index 000000000..798b5f623
--- /dev/null
+++ b/offapi/com/sun/star/task/PDFExportException.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_task_PDFExportException_idl__
+#define __com_sun_star_task_PDFExportException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+ module com { module sun { module star { module task {
+
+
+/** is an exception that provides information on an error during PDF export.
+ */
+published exception PDFExportException: com::sun::star::uno::Exception
+{
+ /** contains a number of errors that occurred during PDFExport
+ */
+ sequence< long > ErrorCodes;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/task/PasswordContainer.idl b/offapi/com/sun/star/task/PasswordContainer.idl
new file mode 100644
index 000000000..530b912e2
--- /dev/null
+++ b/offapi/com/sun/star/task/PasswordContainer.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_task_PasswordContainer_idl__
+#define __com_sun_star_task_PasswordContainer_idl__
+
+module com { module sun { module star {
+ module task {
+ published interface XPasswordContainer2;
+ };
+}; }; };
+
+module com { module sun { module star { module task {
+/** this service is kind of storage that allows to store passwords
+ and to retrieve already stored.
+
+ <p>
+ A password can be stored for the session period or persistently.
+ The persistent way is only possible if configuration allows to use storage.
+ It stores passwords encrypted with a super password. An interaction
+ is used to ask a user for a super password.
+ To allow such an interaction, an object that implements XInteractionHandler
+ interface should be provided. For this purpose InteractionHandler
+ service can be used.
+ </p>
+
+ <p>
+ In case no interaction handler is provided all passwords are stored
+ for the session period. In case an interaction handler is provided, but
+ the super password interaction does not return super password ( for any reason ),
+ NoMasterException exception is thrown to let user use
+ non-persistent way explicitly.
+ </p>
+*/
+published service PasswordContainer : com::sun::star::task::XPasswordContainer2;
+
+}; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/task/PasswordContainerInteractionHandler.idl b/offapi/com/sun/star/task/PasswordContainerInteractionHandler.idl
new file mode 100644
index 000000000..e973a5464
--- /dev/null
+++ b/offapi/com/sun/star/task/PasswordContainerInteractionHandler.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_task_PasswordContainerInteractionHandler_idl__
+#define __com_sun_star_task_PasswordContainerInteractionHandler_idl__
+
+module com { module sun { module star {
+ module task { published interface XInteractionHandler; };
+}; }; };
+
+module com { module sun { module star { module task {
+
+/** An interaction request handler that uses the
+ com::sun::star::task::PasswordContainer service to
+ handle com::sun::star::ucb::AuthenticationRequest.
+
+ If the password container contains credentials matching the authentication
+ request, the service implementation selects the
+ com::sun::star::ucb::XInteractionSupplyAuthentication
+ continuation, that should be supplied with the interaction request.
+
+ If the password container does not contain credentials matching the
+ authentication request, the service implementation selects no continuation.
+
+ @since OOo 3.3
+ */
+published service PasswordContainerInteractionHandler
+ : com::sun::star::task::XInteractionHandler;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/task/PasswordRequest.idl b/offapi/com/sun/star/task/PasswordRequest.idl
new file mode 100644
index 000000000..855e1210a
--- /dev/null
+++ b/offapi/com/sun/star/task/PasswordRequest.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_task_PasswordRequest_idl__
+#define __com_sun_star_task_PasswordRequest_idl__
+
+#include <com/sun/star/task/ClassifiedInteractionRequest.idl>
+#include <com/sun/star/task/PasswordRequestMode.idl>
+
+
+
+module com { module sun { module star { module task {
+
+/** this request specifies the mode in which the password should be asked
+
+ <P>
+ It is supported by InteractionHandler service, and can
+ be used to interact for a password. Continuations for using with
+ the mentioned service are Abort and Approve.
+ </P>
+*/
+published exception PasswordRequest: ClassifiedInteractionRequest
+{
+ /** the mode in which password should be asked
+
+ @see com::sun::star::task::PasswordRequestMode
+ */
+ PasswordRequestMode Mode;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/task/PasswordRequestMode.idl b/offapi/com/sun/star/task/PasswordRequestMode.idl
new file mode 100644
index 000000000..7f2dbf319
--- /dev/null
+++ b/offapi/com/sun/star/task/PasswordRequestMode.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_task_PasswordRequestMode_idl__
+#define __com_sun_star_task_PasswordRequestMode_idl__
+
+
+
+module com { module sun { module star { module task {
+
+/** the mode in which a password should be asked
+ @see PasswordRequest
+ */
+published enum PasswordRequestMode
+{
+
+ /** Password creation.
+
+ <P>
+ The password is asked for the first time,
+ so it should be entered twice.
+ </P>
+ */
+ PASSWORD_CREATE,
+
+
+ /** Ask for a password.
+
+ <P>
+ Just ask for a password.
+ </P>
+ */
+ PASSWORD_ENTER,
+
+
+ /** Wrong password was entered, ask again.
+
+ <P>
+ A wrong password was entered, notify user
+ and ask again.
+ </P>
+ */
+ PASSWORD_REENTER
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/task/StatusIndicatorFactory.idl b/offapi/com/sun/star/task/StatusIndicatorFactory.idl
new file mode 100644
index 000000000..cc2c7497d
--- /dev/null
+++ b/offapi/com/sun/star/task/StatusIndicatorFactory.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_task_StatusIndicatorFactory_idl__
+#define __com_sun_star_task_StatusIndicatorFactory_idl__
+
+#include <com/sun/star/awt/XWindow.idl>
+#include <com/sun/star/frame/XFrame.idl>
+#include <com/sun/star/task/XStatusIndicatorFactory.idl>
+
+
+ module com { module sun { module star { module task {
+
+/**
+ @since LibreOffice 4.1
+ */
+service StatusIndicatorFactory : XStatusIndicatorFactory
+{
+ createWithFrame( [in] com::sun::star::frame::XFrame Frame, [in] boolean DisableReschedule, [in] boolean AllowParentShow );
+
+ createWithWindow( [in] com::sun::star::awt::XWindow ParentWindow, [in] boolean DisableReschedule, [in] boolean AllowParentShow );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/task/UnsupportedOverwriteRequest.idl b/offapi/com/sun/star/task/UnsupportedOverwriteRequest.idl
new file mode 100644
index 000000000..840f26912
--- /dev/null
+++ b/offapi/com/sun/star/task/UnsupportedOverwriteRequest.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_task_UnsupportedOverwriteRequest_idl__
+#define __com_sun_star_task_UnsupportedOverwriteRequest_idl__
+
+#include <com/sun/star/task/ClassifiedInteractionRequest.idl>
+
+
+
+module com { module sun { module star { module task {
+
+/** this request is used in case a content can't keep files from overwriting
+
+ <P>
+ It is supported by InteractionHandler service, and can
+ be used in case a content can not keep files from overwriting and
+ user specifies to do so. Continuations for using with
+ the mentioned service are Abort and Approve.
+ </P>
+
+ @since OOo 1.1.2
+*/
+published exception UnsupportedOverwriteRequest: ClassifiedInteractionRequest
+{
+ /** the name of the target that might be overwritten, can be empty.
+ */
+ string Name;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/task/UrlRecord.idl b/offapi/com/sun/star/task/UrlRecord.idl
new file mode 100644
index 000000000..d5e3f7934
--- /dev/null
+++ b/offapi/com/sun/star/task/UrlRecord.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_task_UrlRecord_idl__
+#define __com_sun_star_task_UrlRecord_idl__
+
+#include <com/sun/star/task/UserRecord.idl>
+
+
+module com { module sun { module star { module task {
+
+/* List of users with their passwords for the url pattern.
+*/
+published struct UrlRecord
+{
+ /// The URL for which these passwords where given.
+ string Url;
+
+ // The list of user/password records for the given URL.
+ sequence<UserRecord> UserList;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/task/UserRecord.idl b/offapi/com/sun/star/task/UserRecord.idl
new file mode 100644
index 000000000..f04a4176d
--- /dev/null
+++ b/offapi/com/sun/star/task/UserRecord.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_task_UserRecord_idl__
+#define __com_sun_star_task_UserRecord_idl__
+
+
+module com { module sun { module star { module task {
+
+/* Specifies user/password entries for UrlRecord.
+*/
+published struct UserRecord
+{
+ /// specifies the user name.
+ string UserName;
+
+ /// specifies the passwords for the given user.
+ sequence<string> Passwords;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/task/XAbortChannel.idl b/offapi/com/sun/star/task/XAbortChannel.idl
new file mode 100644
index 000000000..bd0643814
--- /dev/null
+++ b/offapi/com/sun/star/task/XAbortChannel.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_task_XAbortChannel_idl__
+#define __com_sun_star_task_XAbortChannel_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module task {
+
+/** Use this interface to abort a command asynchronously.
+ For example, have a look at com::sun::star::deployment::XPackageManager.
+*/
+interface XAbortChannel
+{
+ /** sends an abort notification to all commands
+ associated with this channel.
+ */
+ void sendAbort();
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/task/XAsyncJob.idl b/offapi/com/sun/star/task/XAsyncJob.idl
new file mode 100644
index 000000000..1750b5e36
--- /dev/null
+++ b/offapi/com/sun/star/task/XAsyncJob.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_task_XAsyncJob_idl__
+#define __com_sun_star_task_XAsyncJob_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/beans/NamedValue.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+module com { module sun { module star { module task {
+
+ published interface XJobListener;
+
+/** specifies a job which must be executed asynchronously
+
+ <p>
+ Instead of XJob the implementation of this interface
+ must be aware, that execution can be made real asynchronous (e.g. by using
+ threads). Because the environment wish to have creation and using of threads
+ under control, it's not allowed for a real job implementation to use such mechanism
+ by itself. The outside code decide, if it's possible and how it can be made
+ asynchronous. In some special cases it can be, that asynchronous jobs will be executed
+ synchronously.
+ </p>
+
+ @see XJob
+*/
+published interface XAsyncJob : com::sun::star::uno::XInterface
+{
+ /** executes the job asynchronously
+
+ @param Arguments
+ are arguments for executing the job. Their semantics is completely implementation dependent. Usually,
+ a concrete implementation of a job specifies in its service descriptions which parameters are allowed
+ (or expected). This values are persistent by the configuration of theJobExecutor
+ which use this asynchronous job. It's possible to write it back by called listener
+ function XJobListener::jobFinished().
+
+ @param Listener
+ specifies a listener which should be notified on events. May be `NULL`.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if some of given arguments doesn't fill out the service specification or
+ was corrupt so the service couldn't work correctly
+ */
+ void executeAsync(
+ [in] sequence< com::sun::star::beans::NamedValue > Arguments,
+ [in] XJobListener Listener)
+ raises( com::sun::star::lang::IllegalArgumentException );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/task/XInteractionApprove.idl b/offapi/com/sun/star/task/XInteractionApprove.idl
new file mode 100644
index 000000000..1fba7fc5d
--- /dev/null
+++ b/offapi/com/sun/star/task/XInteractionApprove.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_task_XInteractionApprove_idl__
+#define __com_sun_star_task_XInteractionApprove_idl__
+
+#include <com/sun/star/task/XInteractionContinuation.idl>
+
+
+
+ module com { module sun { module star { module task {
+
+/** An interaction continuation specifying "approval".
+ */
+published interface XInteractionApprove: com::sun::star::task::XInteractionContinuation
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/task/XInteractionAskLater.idl b/offapi/com/sun/star/task/XInteractionAskLater.idl
new file mode 100644
index 000000000..af884aae9
--- /dev/null
+++ b/offapi/com/sun/star/task/XInteractionAskLater.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_task_XInteractionAskLater_idl__
+#define __com_sun_star_task_XInteractionAskLater_idl__
+
+#include <com/sun/star/task/XInteractionContinuation.idl>
+
+
+module com { module sun { module star { module task {
+
+
+/** specifies a continuation where the user does not actually decide the question
+ she was confronted with, but postpones the decision to a later time.
+ */
+interface XInteractionAskLater : com::sun::star::task::XInteractionContinuation
+{
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/task/XInteractionDisapprove.idl b/offapi/com/sun/star/task/XInteractionDisapprove.idl
new file mode 100644
index 000000000..d16bbc514
--- /dev/null
+++ b/offapi/com/sun/star/task/XInteractionDisapprove.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_task_XInteractionDisapprove_idl__
+#define __com_sun_star_task_XInteractionDisapprove_idl__
+
+#include <com/sun/star/task/XInteractionContinuation.idl>
+
+
+
+ module com { module sun { module star { module task {
+
+/** An interaction continuation specifying "disapproval".
+ */
+published interface XInteractionDisapprove: com::sun::star::task::XInteractionContinuation
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/task/XInteractionPassword.idl b/offapi/com/sun/star/task/XInteractionPassword.idl
new file mode 100644
index 000000000..cc1c925be
--- /dev/null
+++ b/offapi/com/sun/star/task/XInteractionPassword.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_task_XInteractionPassword_idl__
+#define __com_sun_star_task_XInteractionPassword_idl__
+
+#include <com/sun/star/task/XInteractionContinuation.idl>
+
+
+module com { module sun { module star { module task {
+
+/** A continuation to get a password from interaction helper.
+
+ @since OOo 1.1.2
+*/
+published interface XInteractionPassword : ::com::sun::star::task::XInteractionContinuation
+{
+ /** Store result password to the continuation.
+
+ @param aPasswd the result password.
+
+ */
+ void setPassword( [in] string aPasswd );
+
+ /** Get result password from the continuation.
+
+ @returns the stored password.
+ */
+ string getPassword();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/task/XInteractionPassword2.idl b/offapi/com/sun/star/task/XInteractionPassword2.idl
new file mode 100644
index 000000000..7160184ab
--- /dev/null
+++ b/offapi/com/sun/star/task/XInteractionPassword2.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_task_XInteractionPassword2_idl__
+#define __com_sun_star_task_XInteractionPassword2_idl__
+
+#include <com/sun/star/task/XInteractionPassword.idl>
+
+
+module com { module sun { module star { module task {
+
+/** A continuation to get a password from interaction helper, extends
+ XInteractionPassword with possibility to provide password
+ to modify.
+
+ @since OOo 3.3
+*/
+published interface XInteractionPassword2 : ::com::sun::star::task::XInteractionPassword
+{
+ /** stores "password to modify" to the continuation.
+ */
+ void setPasswordToModify( [in] string aPasswd );
+
+ /** gets "password to modify" from the continuation.
+ */
+ string getPasswordToModify();
+
+ /** stores "recommend readonly" to the continuation. It specifies whether
+ the document should be loaded readonly per default.
+ */
+ void setRecommendReadOnly( [in] boolean bReadOnly );
+
+ /** gets "recommend readonly" from the continuation. It specifies whether
+ the document should be loaded readonly per default.
+ */
+ boolean getRecommendReadOnly();
+
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/task/XInteractionRequestStringResolver.idl b/offapi/com/sun/star/task/XInteractionRequestStringResolver.idl
new file mode 100644
index 000000000..389bc55e8
--- /dev/null
+++ b/offapi/com/sun/star/task/XInteractionRequestStringResolver.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_task_XInteractionRequestStringResolver_idl__
+#define __com_sun_star_task_XInteractionRequestStringResolver_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/beans/Optional.idl>
+
+#include <com/sun/star/task/XInteractionRequest.idl>
+
+
+ module com { module sun { module star { module task {
+
+
+/** Obtains human readable strings from an XInteractionRequest.
+ */
+/* published */
+interface XInteractionRequestStringResolver : com::sun::star::uno::XInterface
+{
+
+ /** Obtains a string containing a human readable message from an
+ informational interaction request.
+
+ <p>An informational interaction request contains not more than one
+ interaction continuation (user has no choice; request is just
+ informational). The supplies continuation must either be a
+ XInteractionAbort or XInteractionApprove
+
+ @param Request the interaction request for that the message shall
+ be obtained.
+
+ @returns the message string or an empty
+ com::sun::star::beans::Optional.
+ */
+ com::sun::star::beans::Optional< string >
+ getStringFromInformationalRequest(
+ [in] com::sun::star::task::XInteractionRequest Request );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/task/XJob.idl b/offapi/com/sun/star/task/XJob.idl
new file mode 100644
index 000000000..8300306a9
--- /dev/null
+++ b/offapi/com/sun/star/task/XJob.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_task_XJob_idl__
+#define __com_sun_star_task_XJob_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/beans/NamedValue.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+module com { module sun { module star { module task {
+
+/** specifies a job which is to be executed synchronously
+
+ <p>
+ Instead of XAsyncJob the implementation of this interface
+ will be executed synchronously every time. That means: they can be sure that the
+ current stack context will be blocked till this job finish it's work.
+ </p>
+
+ @see XAsyncJob
+*/
+published interface XJob : com::sun::star::uno::XInterface
+{
+ /** executes the job synchronously
+
+ @param Arguments
+ are arguments for executing the job. Their semantics is completely implementation dependent. Usually,
+ a concrete implementation of a job specifies in its service descriptions which parameters are allowed
+ (or expected). This values are persistent by the configuration of theJobExecutor
+ which use this synchronous job. It's possible to write it back by use special protocol
+ in return value.
+
+ @return
+ the result of the job. The concrete semantics is service-dependent.
+ But it should be possible to
+ <ul>
+ <li>deregister the job</li>
+ <li>let him registered although execution was successful(!)</li>
+ <li>make some job specific data persistent inside the job configuration which
+ is provided by the executor.</li>
+ </ul>
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if some of given arguments doesn't fill out the service specification or
+ was corrupt so the service couldn't work correctly
+
+ @throws com::sun::star::uno::Exception
+ to notify the executor about failed operation; otherwise the return value
+ indicates a successful finishing.
+ */
+ any execute(
+ [in] sequence< com::sun::star::beans::NamedValue > Arguments )
+ raises( com::sun::star::lang::IllegalArgumentException ,
+ com::sun::star::uno::Exception );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/task/XJobExecutor.idl b/offapi/com/sun/star/task/XJobExecutor.idl
new file mode 100644
index 000000000..b27468cf4
--- /dev/null
+++ b/offapi/com/sun/star/task/XJobExecutor.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_task_XJobExecutor_idl__
+#define __com_sun_star_task_XJobExecutor_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module task {
+
+/** starts action for any triggered event from outside
+
+ <p>
+ If somewhere from outside trigger an event on this interface
+ it will be used to find any registered service inside configuration
+ of this executor. If somewhere could be found it will be
+ started and controlled by this instance. After it finish his work
+ it's possible to deactivate further startups or let him run again if
+ a new event will be detected later.
+ </p>
+
+ @see theJobExecutor
+ */
+published interface XJobExecutor : com::sun::star::uno::XInterface
+{
+ /** trigger event to start registered jobs
+
+ <p>
+ Jobs are registered in configuration and will be started by executor
+ automatically, if they are registered for triggered event.
+ The meaning of given string <var>Event</var> mustn't be known. Because
+ for the executor it's enough to use it for searching a registered job
+ inside his own configuration. So no special events will be defined here.
+ </p>
+
+ @param Event
+ describe the event for which jobs can be registered and should be started
+ */
+ void trigger( [in] string Event );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/task/XJobListener.idl b/offapi/com/sun/star/task/XJobListener.idl
new file mode 100644
index 000000000..9b4068282
--- /dev/null
+++ b/offapi/com/sun/star/task/XJobListener.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_task_XJobListener_idl__
+#define __com_sun_star_task_XJobListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+
+
+module com { module sun { module star { module task {
+
+ published interface XAsyncJob;
+
+/** listener on finish states of asynchronous job execution
+ */
+published interface XJobListener : com::sun::star::lang::XEventListener
+{
+ /** indicates that the job is done
+
+ @param Job
+ identifies the asynchronous job so that theJobExecutor
+ can differ between more than ones.
+
+ @param Result
+ should be the same like for the synchronous mode on XJob::execute().
+ It provides information about success or failure of job execution. It's possible too,
+ to use special protocol (which depends from real implementation) between
+ theJobExecutor and a real job. So it can be possible to:
+
+ <ul>
+ <li>deregister the job</li>
+ <li>let him registered although execution was successful(!)</li>
+ <li>make some job specific data persistent inside the job configuration which
+ is provided by the executor.</li>
+ </ul>
+ */
+ void jobFinished(
+ [in] XAsyncJob Job,
+ [in] any Result);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/task/XMasterPasswordHandling.idl b/offapi/com/sun/star/task/XMasterPasswordHandling.idl
new file mode 100644
index 000000000..9c79189f4
--- /dev/null
+++ b/offapi/com/sun/star/task/XMasterPasswordHandling.idl
@@ -0,0 +1,91 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_task_XMasterPasswordHandling_idl__
+#define __com_sun_star_task_XMasterPasswordHandling_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/task/XInteractionHandler.idl>
+
+
+
+module com { module sun { module star { module task {
+
+/** allows to change the master password, or let it be requested and checked.
+*/
+published interface XMasterPasswordHandling : com::sun::star::uno::XInterface
+{
+ /** allows to check the user authorization.
+
+ <p>
+ This call let the master password be requested from user using the
+ provided interaction handler.
+ </p>
+
+ <p>
+ The call will use the standard interaction handler service
+ InteractionHandler if no handler is provided.
+ </p>
+
+ */
+ boolean authorizateWithMasterPassword( [in] XInteractionHandler xHandler );
+
+ /** allows to change the master password.
+
+ <p>
+ If there is still no master password, the user will be asked to provide
+ the new one.
+ </p>
+
+ <p>
+ The call will use the standard interaction handler service
+ InteractionHandler if no handler is provided.
+ </p>
+ */
+ boolean changeMasterPassword( [in] XInteractionHandler xHandler );
+
+ /** let the master password and all the related stored passwords be
+ removed.
+ */
+ void removeMasterPassword();
+
+ /** allows to detect whether there is already a master password
+ */
+ boolean hasMasterPassword();
+
+ /** allows to specify whether persistent storing of passwords is allowed
+
+ <p>
+ After the storing is forbidden the master password and all the stored
+ passwords are removed.
+ </p>
+ */
+ boolean allowPersistentStoring( [in] boolean bAllow );
+
+ /** allows to detect whether persistent storing of passwords is allowed
+ */
+ boolean isPersistentStoringAllowed();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/task/XMasterPasswordHandling2.idl b/offapi/com/sun/star/task/XMasterPasswordHandling2.idl
new file mode 100644
index 000000000..edb962eaa
--- /dev/null
+++ b/offapi/com/sun/star/task/XMasterPasswordHandling2.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_task_XMasterPasswordHandling2_idl__
+#define __com_sun_star_task_XMasterPasswordHandling2_idl__
+
+#include <com/sun/star/task/XInteractionHandler.idl>
+#include <com/sun/star/task/XMasterPasswordHandling.idl>
+
+
+module com { module sun { module star { module task {
+
+/** allows to change the master password, or let it be requested and checked.
+*/
+published interface XMasterPasswordHandling2 : XMasterPasswordHandling
+{
+ /** allows to let the default password be used
+
+ <p>
+ Please use this method with care. Using of default master password let
+ the passwords be stored non-encrypted. If a master password is predefined
+ in the algorithm it is no more an encryption, it is just an encoding.
+ </p>
+ */
+ boolean useDefaultMasterPassword( [in] XInteractionHandler xHandler );
+
+ /** allows to detect whether the default master password is used
+ */
+ boolean isDefaultMasterPasswordUsed();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/task/XPasswordContainer.idl b/offapi/com/sun/star/task/XPasswordContainer.idl
new file mode 100644
index 000000000..a105deabd
--- /dev/null
+++ b/offapi/com/sun/star/task/XPasswordContainer.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_task_XPasswordContainer_idl__
+#define __com_sun_star_task_XPasswordContainer_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/task/UrlRecord.idl>
+#include <com/sun/star/task/XInteractionHandler.idl>
+
+
+
+module com { module sun { module star { module task {
+
+/** Allows to save passwords with URL-pattern, to use them later.
+*/
+published interface XPasswordContainer : com::sun::star::uno::XInterface
+{
+ /** Save passwords into the container.
+
+ @param Url URL-pattern, that will be used later to retrieve
+ passwords.
+
+ @param UserName The username.
+
+ @param Passwords The password-list.
+
+ @param Handler The handler to get super password to en/decrypt passwords
+
+
+ */
+ void add( [in] string Url, [in] string UserName, [in] sequence<string> Passwords, [in] XInteractionHandler Handler );
+
+ /** Save passwords into the container, and store them in the file.
+
+ @param Url URL-pattern, that will be used later to retrieve
+ passwords.
+
+ @param UserName The username.
+
+ @param Passwords The password-list.
+
+ @param Handler The handler to get super password to en/decrypt passwords
+
+
+ */
+ void addPersistent( [in] string Url, [in] string UserName, [in] sequence<string> Passwords, [in] XInteractionHandler Handler );
+
+ /** Find users with passwords for the url pattern.
+
+ @param Url URL-pattern to retrieve password for.
+
+ @param Handler The handler to get super password to en/decrypt passwords
+
+ @returns Best matched url-pattern with user-records list.
+ */
+ UrlRecord find( [in] string Url, [in] XInteractionHandler Handler );
+
+ /** Find passwords for the url pattern and username.
+
+ @param Url URL-pattern to retrieve passwords for.
+
+ @param UserName Username to retrieve passwords for.
+
+ @param Handler The handler to get super password to en/decrypt passwords
+
+ @returns Best matched url-pattern for the username.
+ */
+ UrlRecord findForName( [in] string Url, [in] string UserName , [in] XInteractionHandler Handler );
+
+ /** Remove passwords for the url pattern and username.
+
+ @param Url URL-pattern to remove passwords for.
+
+ @param UserName Username to remove passwords for.
+
+ */
+ void remove( [in] string Url, [in] string UserName );
+
+
+ /** Remove passwords for the url pattern and username from the file.
+
+ @param Url URL-pattern to remove passwords for.
+
+ @param UserName Username to remove passwords for.
+
+ */
+ void removePersistent( [in] string Url, [in] string UserName );
+
+ /** Clean the file.
+ */
+ void removeAllPersistent();
+
+ /** Get all records from the file.
+
+ @returns List of url-records.
+ */
+ sequence<UrlRecord> getAllPersistent( [in] XInteractionHandler Handler );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/task/XPasswordContainer2.idl b/offapi/com/sun/star/task/XPasswordContainer2.idl
new file mode 100644
index 000000000..a3702924c
--- /dev/null
+++ b/offapi/com/sun/star/task/XPasswordContainer2.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_task_XPasswordContainer2_idl__
+#define __com_sun_star_task_XPasswordContainer2_idl__
+
+#include <com/sun/star/task/XMasterPasswordHandling2.idl>
+#include <com/sun/star/task/XPasswordContainer.idl>
+#include <com/sun/star/task/XUrlContainer.idl>
+
+module com { module sun { module star { module task {
+
+/**
+ Provides a unified interface for the PasswordContainer service to implement.
+
+ @since LibreOffice 4.0
+*/
+published interface XPasswordContainer2
+{
+ /** handles passwords
+
+ <p>
+ Use this interface to store or retrieve passwords.
+ </p>
+ */
+ interface com::sun::star::task::XPasswordContainer;
+
+ /** handles passwords
+
+ <p>
+ Use this interface to store or retrieve passwords.
+ </p>
+ */
+ interface com::sun::star::task::XMasterPasswordHandling2;
+
+ interface com::sun::star::task::XUrlContainer;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/task/XRestartManager.idl b/offapi/com/sun/star/task/XRestartManager.idl
new file mode 100644
index 000000000..662909529
--- /dev/null
+++ b/offapi/com/sun/star/task/XRestartManager.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_task_XRestartManager_idl__
+#define __com_sun_star_task_XRestartManager_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/task/XInteractionHandler.idl>
+#include <com/sun/star/uno/Exception.idl>
+
+
+module com { module sun { module star { module task {
+
+/** allows to try to restart the office.
+
+ @since OOo 3.3
+*/
+published interface XRestartManager : com::sun::star::uno::XInterface
+{
+ /** let the office restart asynchronously
+ @param xInteractionHandler
+ the com::sun::star::task::InteractionHandler
+ service implementation, that is used in case a problem is detected
+ during requesting the restart.
+
+ @throws com::sun::star::uno::Exception
+ to notify the caller about possible failures
+ */
+ void requestRestart(
+ [in] com::sun::star::task::XInteractionHandler xInteractionHandler )
+ raises( com::sun::star::uno::Exception );
+
+ /** allows to get info whether the restart has been requested and provide
+ the initialization status.
+
+ <p>
+ The office has to call this method just before the main loop has been
+ started, with the `TRUE` as argument, so that the implementation
+ knows that the office is initialized. If the method returns `TRUE`,
+ the office should restart without starting the main loop.
+ </p>
+
+ @param bInitialized
+ specifies whether the office process is initialized already,
+ if the caller does not have this information, he should provide
+ `FALSE`.
+
+ @returns
+ `TRUE` if the office restart has been requested,
+ `FALSE` otherwise
+
+ @throws com::sun::star::uno::Exception
+ to notify the caller about possible failures
+ */
+ boolean isRestartRequested(
+ [in] boolean bInitialized )
+ raises( com::sun::star::uno::Exception );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/task/XStatusIndicator.idl b/offapi/com/sun/star/task/XStatusIndicator.idl
new file mode 100644
index 000000000..2ab623476
--- /dev/null
+++ b/offapi/com/sun/star/task/XStatusIndicator.idl
@@ -0,0 +1,115 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_task_XStatusIndicator_idl__
+#define __com_sun_star_task_XStatusIndicator_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+ module com { module sun { module star { module task {
+
+/** controls a status indicator which displays progress of
+ longer actions to the user
+
+ <p>
+ Such objects are provided by a XStatusIndicatorFactory.
+ </p>
+
+ @see XStatusIndicatorFactory
+ */
+published interface XStatusIndicator: com::sun::star::uno::XInterface
+{
+ /** initialize and start the progress
+
+ <p>
+ It activates a new created or reactivate an already used indicator
+ (must be finished by calling XStatusIndicator::end()
+ before!). By the way it's possible to set first progress description
+ and the possible range of progress value. That means that a progress
+ can runs from 0 to <var>Range</var>.
+ </p>
+
+ @param Text
+ initial value for progress description for showing
+ Value can be updated by calling XStatusIndicator::setText().
+
+ @param Range
+ means the maximum value of the progress which can be set by
+ calling XStatusIndicator::setValue().
+ */
+ void start(
+ [in] string Text,
+ [in] long Range);
+
+ /** stop the progress
+
+ <p>
+ Further calls of XStatusIndicator::setText(),
+ XStatusIndicator::setValue() or
+ XStatusIndicator::reset() must be ignored.
+ Only XStatusIndicator::start() can reactivate this
+ indicator.
+ It's not allowed to destruct the indicator inside this method.
+ The instance must be gone by using ref count or disposing.
+ </p>
+ */
+ void end();
+
+ /** update progress description
+
+ <p>
+ Initial value can be set during starting of the progress by calling
+ XStatusIndicator::start().
+ Stopped indicators must ignore this call.
+ </p>
+
+ @param Text
+ new value for progress description which should be shown now
+ */
+ void setText( [in] string Text );
+
+ /** update progress value
+
+ <p>
+ Wrong values must be ignored and stopped indicators must ignore this
+ call generally.
+ </p>
+
+ @param Value
+ new value for progress which should be shown now
+ Must fit the range [0..Range] which was set during
+ XStatusIndicator::start().
+ */
+ void setValue( [in] long Value );
+
+ /** clear progress value and description
+
+ <p>
+ Calling of setValue(0) and setText("") should do the same.
+ Stopped indicators must ignore this call.
+ </p>
+ */
+ void reset();
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/task/XStatusIndicatorFactory.idl b/offapi/com/sun/star/task/XStatusIndicatorFactory.idl
new file mode 100644
index 000000000..93222c41a
--- /dev/null
+++ b/offapi/com/sun/star/task/XStatusIndicatorFactory.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_task_XStatusIndicatorFactory_idl__
+#define __com_sun_star_task_XStatusIndicatorFactory_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/task/XStatusIndicator.idl>
+
+
+ module com { module sun { module star { module task {
+
+/** provides multiple, probably parallel running, status indicator objects
+
+ <p>
+ A possible factory is the com::sun::star::frame::Frame
+ service.
+ </p>
+
+ @see com::sun::star::frame::Frame
+ */
+published interface XStatusIndicatorFactory: com::sun::star::uno::XInterface
+{
+ /** create a new status indicator instance
+
+ @returns
+ the new indicator
+ */
+ com::sun::star::task::XStatusIndicator createStatusIndicator();
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/task/XStatusIndicatorSupplier.idl b/offapi/com/sun/star/task/XStatusIndicatorSupplier.idl
new file mode 100644
index 000000000..6162744f0
--- /dev/null
+++ b/offapi/com/sun/star/task/XStatusIndicatorSupplier.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_task_XStatusIndicatorSupplier_idl__
+#define __com_sun_star_task_XStatusIndicatorSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/task/XStatusIndicator.idl>
+
+
+
+ module com { module sun { module star { module task {
+
+/** use XStatusIndicatorFactory instead of this
+
+ @deprecated
+ */
+published interface XStatusIndicatorSupplier: com::sun::star::uno::XInterface
+{
+ /** use XStatusIndicatorFactory::createStatusIndicator()
+ instead of this
+
+ @deprecated
+ */
+ com::sun::star::task::XStatusIndicator getStatusIndicator();
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/task/XUrlContainer.idl b/offapi/com/sun/star/task/XUrlContainer.idl
new file mode 100644
index 000000000..0f9de8f33
--- /dev/null
+++ b/offapi/com/sun/star/task/XUrlContainer.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_task_XUrlContainer_idl__
+#define __com_sun_star_task_XUrlContainer_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/task/XInteractionHandler.idl>
+
+
+
+module com { module sun { module star { module task {
+
+/** Allows to store and retrieve URLs. URLs can be stored persistently or
+ until end of OOo session.
+
+ @since OOo 3.2
+*/
+published interface XUrlContainer : com::sun::star::uno::XInterface
+{
+ /** Add a URL to the container.
+
+ @param Url URL to add to the container
+ @param MakePersistent indicates whether the URL shall be stored
+ persistently or just in memory (until end of
+ OOo session)
+ */
+ void addUrl( [in] string Url, [in] boolean MakePersistent );
+
+ /** Lookup a URL in the container.
+
+ @param Url URL to lookup.
+ @returns Best matched URL or empty string.
+ */
+ string findUrl( [in] string Url );
+
+ /** Remove a URL from the container.
+
+ @param Url URL to remove.
+ */
+ void removeUrl( [in] string Url );
+
+ /** Get all URLs.
+
+ @param OnlyPersistent Only URLs that are stored persistently shall
+ be returned.
+ @returns List of URLs.
+ */
+ sequence<string> getUrls( [in] boolean OnlyPersistent );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/task/theJobExecutor.idl b/offapi/com/sun/star/task/theJobExecutor.idl
new file mode 100644
index 000000000..6189938ae
--- /dev/null
+++ b/offapi/com/sun/star/task/theJobExecutor.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.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_task_theJobExecutor_idl__
+#define __com_sun_star_task_theJobExecutor_idl__
+
+#include <com/sun/star/task/XJobExecutor.idl>
+
+
+module com { module sun { module star { module task {
+
+/**
+ Generic job execution singleton
+
+ <p>
+ Can start registered uno services on triggered events and handle there
+ own configuration and there lifetime. Such events are simple strings
+ which meaning doesn't matter for any real service implementation of this
+ specification. But triggered events must be available inside the
+ configuration and some Jobs or AsyncJobs must be registered for that.
+ </p>
+
+ Prior to LibreOffice 4.3, this singleton was only available as a
+ (single-instance) JobExecutor service.
+
+ @see Job
+ @see AsyncJob
+
+ @since LibreOffice 4.3
+ */
+published singleton theJobExecutor : XJobExecutor;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/AccessibleEndnoteView.idl b/offapi/com/sun/star/text/AccessibleEndnoteView.idl
new file mode 100644
index 000000000..dc6ac95e7
--- /dev/null
+++ b/offapi/com/sun/star/text/AccessibleEndnoteView.idl
@@ -0,0 +1,113 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_text_AccessibleEndnoteView_idl__
+#define __com_sun_star_text_AccessibleEndnoteView_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 text {
+
+
+/** The accessible view of endnotes.
+ @since OOo 1.1.2
+ */
+service AccessibleEndnoteView
+{
+ /** This interface gives access to any paragraph fragment and table
+ fragment that is contained in an endnote and is at least
+ partially visible on the screen.
+
+ <ul>
+ <li>The parent returned by
+ ::com::sun::star::accessibility::XAccessibleContext::getAccessibleParent()
+ is either the accessible view of a text document,
+ a page of the accessible page preview of a text document,
+ or the accessible page preview of a spreadsheet document.
+ <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.
+ <ul>
+ <li>::com::sun::star::text::AccessibleParagraphView:
+ A child of this kind is returned for every paragraph
+ fragment that is contained in the document body and
+ is at least partially visible. A paragraph fragment is
+ the part of a paragraph that is displayed on a
+ certain page.
+ <li>::com::sun::star::table::AccessibleTableView:
+ A child of this kind 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.
+ </ul>
+ <p>The logical order of paragraph and table fragments is never
+ changed.
+ <li>The role is
+ ::com::sun::star::accessibility::AccessibleRole::END_NOTE
+ <li>The name is "endnote" (or the equivalent term
+ in application's language) with a number appended.
+ <li>The description is endnote" (or the equivalent term
+ in application's language) with the endnote number or
+ character appended in the format that is specified in the
+ endnote settings.
+ <li>There are no relations. <em>TODO: One might specify a relation
+ to the endnote anchor's paragraph.</em>
+ <li>The following states might be contained in the state set
+ returned by
+ ::com::sun::star::accessibility::XAccessibleContext::getAccessibleStateSet():
+ <ul>
+ <li>::com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ (indicates that the
+ document window has been closed or the endnote is
+ not existing any longer)
+ <li>::com::sun::star::accessibility::AccessibleStateType::EDITABLE
+ <li>::com::sun::star::accessibility::AccessibleStateType::ENABLED
+ (always contained)
+ <li>::com::sun::star::accessibility::AccessibleStateType::OPAQUE
+ <li>::com::sun::star::accessibility::AccessibleStateType::SHOWING
+ <li>::com::sun::star::accessibility::AccessibleStateType::VISIBLE
+ </ul>
+ <li>Depending of the application's region setting, the locale is
+ the western, Asian or complex default language of the document.
+ </ul>
+
+ */
+ interface ::com::sun::star::accessibility::XAccessibleContext;
+
+ /** This interface describes the graphical representation of a
+ endnote.
+ */
+ 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/text/AccessibleFootnoteView.idl b/offapi/com/sun/star/text/AccessibleFootnoteView.idl
new file mode 100644
index 000000000..cf161e9f5
--- /dev/null
+++ b/offapi/com/sun/star/text/AccessibleFootnoteView.idl
@@ -0,0 +1,115 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_text_AccessibleFootnoteView_idl__
+#define __com_sun_star_text_AccessibleFootnoteView_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 text {
+
+
+/** The accessible view of footnotes.
+
+ @since OOo 1.1.2
+
+ */
+service AccessibleFootnoteView
+{
+ /** This interface gives access to any paragraph fragment and table
+ fragment that is contained in a footnote and is at least
+ partially visible on the screen.
+
+ <ul>
+ <li>The parent returned by
+ ::com::sun::star::accessibility::XAccessibleContext::getAccessibleParent()
+ is either the accessible view of a text document,
+ a page of the accessible page preview of a text document,
+ or the accessible page preview of a spreadsheet document.
+ <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.
+ <ul>
+ <li>::com::sun::star::text::AccessibleParagraphView:
+ A child of this kind is returned for every paragraph
+ fragment that is contained in the document body and
+ is at least partially visible. A paragraph fragment is
+ the part of a paragraph that is displayed on a
+ certain page.
+ <li>::com::sun::star::table::AccessibleTableView:
+ A child of this kind 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.
+ </ul>
+ <p>The logical order of paragraph and table fragments is never
+ changed.
+ <li>The role is
+ ::com::sun::star::accessibility::AccessibleRole::FOOTNOTE
+ <li>The name is "footnote" (or the equivalent term
+ in application's language) with a number appended.
+ <li>The description is footnote" (or the equivalent term
+ in application's language) with the footnote number or
+ character appended in the format that is specified in the
+ footnote settings.
+ <li>There are no relations. <em>TODO: One might specify a relation
+ to the footnote anchor's paragraph.</em>
+ <li>The following states might be contained in the state set
+ returned by
+ com::sun::star::accessibility::XAccessibleContext::getAccessibleStateSet():
+ <ul>
+ <li>::com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ (indicates that
+ the document window has been closed or the footnote is
+ not existing any longer)
+ <li>::com::sun::star::accessibility::AccessibleStateType::EDITABLE
+ <li>::com::sun::star::accessibility::AccessibleStateType::ENABLED
+ (always contained)
+ <li>::com::sun::star::accessibility::AccessibleStateType::OPAQUE
+ <li>::com::sun::star::accessibility::AccessibleStateType::SHOWING
+ <li>::com::sun::star::accessibility::AccessibleStateType::VISIBLE
+ </ul>
+ <li>Depending of the application's region setting, the locale is
+ the western, Asian or complex default language of the document.
+ </ul>
+
+ */
+ interface ::com::sun::star::accessibility::XAccessibleContext;
+
+ /** This interface describes the graphical representation of a
+ footnote.
+ */
+ 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/text/AccessibleHeaderFooterView.idl b/offapi/com/sun/star/text/AccessibleHeaderFooterView.idl
new file mode 100644
index 000000000..4f897e393
--- /dev/null
+++ b/offapi/com/sun/star/text/AccessibleHeaderFooterView.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_text_AccessibleHeaderFooterView_idl__
+#define __com_sun_star_text_AccessibleHeaderFooterView_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 text {
+
+
+/** The accessible view of headers and footers.
+
+ @since OOo 1.1.2
+
+ */
+service AccessibleHeaderFooterView
+{
+ /** This interface gives access to any paragraph and table that is
+ contained in the header and footer and is at least partially visible
+ on the screen.
+
+ <ul>
+ <li>The parent returned by
+ ::com::sun::star::accessibility::XAccessibleContext::getAccessibleParent()
+ is either the accessible view of a text document,
+ a page of the accessible page preview of a text document,
+ or the accessible page preview of a spreadsheet document.
+ <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.
+ <ul>
+ <li>::com::sun::star::text::AccessibleParagraphView:
+ A child of this kind is returned for every paragraph
+ that is contained in the document body and
+ is at least partially visible. The child always
+ represents a whole paragraph (and not a fragment only),
+ because there are no page breaks within headers and
+ footers.
+ <li>::com::sun::star::table::AccessibleTableView:
+ A child of this kind is returned for every table
+ that is contained in the document body
+ and is at least partially visible. The child always
+ represents a whole table (and not a fragment only),
+ because there are no page breaks within headers and
+ footers.
+ </ul>
+ <p>The logical order of paragraphs and tables is never changed.
+ <li>The role is either
+ ::com::sun::star::accessibility::AccessibleRole::HEADER or
+ ::com::sun::star::accessibility::AccessibleRole::FOOTER.
+ <li>The name is "header" or "footer" (or the equivalent term
+ in application's language) with a number appended.
+ <li>The description is "header" or "footer" (or the equivalent term
+ in application's language) with the page number appended in
+ the format that is specified in the page's style.
+ <li>There are no relations.
+ <li>The following states might be contained in the state set
+ returned by
+ ::com::sun::star::accessibility::XAccessibleContext::getAccessibleStateSet():
+ <ul>
+ <li>::com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ (indicates that
+ the document window has been closed or the header or
+ footer is not existing any longer)
+ <li>::com::sun::star::accessibility::AccessibleStateType::EDITABLE
+ <li>::com::sun::star::accessibility::AccessibleStateType::ENABLED
+ (always contained)
+ <li>::com::sun::star::accessibility::AccessibleStateType::OPAQUE
+ <li>::com::sun::star::accessibility::AccessibleStateType::SHOWING
+ <li>::com::sun::star::accessibility::AccessibleStateType::VISIBLE
+ </ul>
+ <li>Depending of the application's region setting, the locale is
+ the western, Asian or complex default language of the document.
+ </ul>
+
+ */
+ interface ::com::sun::star::accessibility::XAccessibleContext;
+
+ /** This interface describes the graphical representation of a header
+ or footer.
+ */
+ 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/text/AccessiblePageView.idl b/offapi/com/sun/star/text/AccessiblePageView.idl
new file mode 100644
index 000000000..505e24a77
--- /dev/null
+++ b/offapi/com/sun/star/text/AccessiblePageView.idl
@@ -0,0 +1,178 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_text_AccessiblePageView_idl__
+#define __com_sun_star_text_AccessiblePageView_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 text {
+
+
+/** The accessible view of pages.
+
+
+ @since OOo 1.1.2
+ */
+service AccessiblePageView
+{
+ /** This interface gives access to any page that is visible in the
+ page preview of a text document.
+
+ <ul>
+ <li>The parent returned by
+ ::com::sun::star::accessibility::XAccessibleContext::getAccessibleParent()
+ is the accessible page preview of a text document. That is, the
+ object returned by
+ ::com::sun::star::accessibility::XAccessible::getAccessibleContext()
+ supports
+ ::com::sun::star::text::AccessibleTextDocumentPageView.
+ <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.
+ <ul>
+ <li>::com::sun::star::text::AccessibleHeaderFooterView:
+ A child of this kind is returned for every header
+ and footer that is contained in the page.
+ <li>::com::sun::star::text::AccessibleFootnoteView:
+ A child of this kind is returned for every footnote
+ that is contained in the page.
+ <li>::com::sun::star::text::AccessibleEndnoteView:
+ A child of this kind is returned for every endnote
+ that is contained in the page.
+ <li>::com::sun::star::text::AccessibleParagraphView:
+ A child of this kind is returned for every paragraph
+ fragment that is contained in the page.
+ A paragraph fragment is the part of a paragraph that
+ is displayed on a certain page.
+ <li>::com::sun::star::table::AccessibleTableView:
+ A child of this kind is returned for every table
+ fragment that is contained in the page.
+ A table fragment is the part of a table that is
+ displayed on a certain page.
+ <li>::com::sun::star::text::AccessibleTextFrameView:
+ A child of this kind is returned for every text
+ frame that is contained in the page. These objects
+ are children of the AccessiblePageView
+ regardless whether they are bound to the page, a
+ paragraph, a frame, or a character. The only
+ exception are text frames that are bound as
+ character. They are children of the paragraph they
+ are contained in.
+ <li>::com::sun::star::text::AccessibleTextGraphicObject:
+ A child of this kind is returned for every graphic that
+ is contained in the page. These objects are
+ children of the AccessiblePageView
+ regardless whether they are bound to a page, paragraph,
+ a frame or a character. The only exception
+ are text frames that are bound as character. They are
+ children of the paragraph they are contained in.
+ <li>::com::sun::star::text::AccessibleTextEmbeddedObject:
+ A child of this kind is returned for every embedded
+ object that is contained in the page.
+ These objects are children of the
+ AccessibleTextDocumentView regardless
+ whether they are bound to a page, a paragraph, a frame,
+ or a character. They are children of the paragraph they
+ are contained in.
+ <li>::com::sun::star::drawing::AccessibleShape:
+ A child of this kind (or one of its derived
+ interfaces) is returned for every shape that is
+ contained in the page. These objects are children of
+ the AccessibleTextDocumentView
+ regardless whether they are bound to a page, a
+ paragraph, a frame or a character.
+ </ul>
+ <p>The following rules apply to the children order:
+ <ul>
+ <li>The logical order of paragraph and table fragments is
+ never changed.
+ <li>Headers appear immediately before the first paragraph or
+ table fragment of the header's page.
+ <li>Footnotes appear immediately after the last paragraph or
+ table fragment of the footnote's page. The logical order
+ of footnotes isn't changed.
+ <li>Endnotes appear immediately after the last footnote of
+ the endnote's page or after the last paragraph or
+ table fragment of this page if there are no footnotes.
+ The logical order of endnotes isn't changed.
+ <li>Footers appear immediately after the last endnote,
+ footnote, paragraph or table fragment of the footer's
+ page.
+ <li>Text frames, graphics, embedded objects and shapes that
+ are painted in the background appear before any other
+ children. Their order reflects the z order.
+ <li>Text frames, graphics, embedded objects and shapes
+ that are painted in the foreground appear behind any
+ other children. Their order reflects the z order,
+ with the exception of controls that appear really last,
+ but also keep the z order.
+ </ul>
+ <li>The role is
+ ::com::sun::star::accessibility::AccessibleRole::PANEL
+ <li>The name is "page" (or the equivalent term
+ in application's language) with a number appended.
+ <li>The description is "page" (or the equivalent term
+ in application's language) with the page number or
+ character appended in the format that is specified in the
+ page style.
+ <li>There are no relations.</li>
+ <li>The following states might be contained in the state set
+ returned by
+ ::com::sun::star::accessibility::XAccessibleContext::getAccessibleStateSet():
+ <ul>
+ <li>::com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ (indicates that
+ the document window has been closed or the endnote
+ is not existing any longer)</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::ENABLED
+ (always contained)</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::OPAQUE
+ <li>::com::sun::star::accessibility::AccessibleStateType::FOCUSABLE
+ <li>::com::sun::star::accessibility::AccessibleStateType::FOCUSED
+ <li>::com::sun::star::accessibility::AccessibleStateType::SHOWING
+ <li>::com::sun::star::accessibility::AccessibleStateType::VISIBLE
+ </ul>
+ <li>The locale is the application's locale.
+ </ul>
+
+ */
+ interface ::com::sun::star::accessibility::XAccessibleContext;
+
+ /** This interface describes the graphical representation of a
+ endnote.
+ */
+ 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/text/AccessibleParagraphView.idl b/offapi/com/sun/star/text/AccessibleParagraphView.idl
new file mode 100644
index 000000000..5f9482739
--- /dev/null
+++ b/offapi/com/sun/star/text/AccessibleParagraphView.idl
@@ -0,0 +1,173 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_text_AccessibleParagraphView_idl__
+#define __com_sun_star_text_AccessibleParagraphView_idl__
+
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#include <com/sun/star/accessibility/XAccessibleEditableText.idl>
+#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
+#include <com/sun/star/accessibility/XAccessibleTextAttributes.idl>
+
+
+module com { module sun { module star { module text {
+
+
+/** The accessible view of a paragraph fragment.
+
+
+ @since OOo 1.1.2
+ */
+service AccessibleParagraphView
+{
+ /** This interface gives access to a paragraph fragment that is at least
+ partially visible on the screen. A paragraph fragment is the portion
+ of a paragraph that is displayed on a single page or a in a single
+ column.
+
+ <ul>
+ <li>The parent returned by
+ ::com::sun::star::accessibility::XAccessibleContext::getAccessibleParent()
+ is the accessible view of a text document (in this case the
+ paragraph is contained in a page body) or the accessible
+ view of a header, footer, footnote, endnote, table cell,
+ text frame, page or shape.</li>
+ <li>The children returned by
+ ::com::sun::star::accessibility::XAccessibleContext::getAccessibleChild()
+ are the graphics, text boxes and OLE objects that are bound
+ <em>as</em> character within the paragraph. Graphics, text
+ boxes and OLE objects that are bound to the paragraph or
+ <em>to</em> a character within the paragraph are not
+ children of the paragraph fragment but of the document view
+ itself.</li>
+ <li>The role is either
+ ::com::sun::star::accessibility::AccessibleRole::PARAGRAPH or
+ ::com::sun::star::accessibility::AccessibleRole::HEADING.
+ The later one is returned
+ if the paragraph's style is contained in the chapter
+ numbering of a text document.
+ <li>The name is "paragraph" or "heading" (or the equivalent term
+ in application's language) with a number appended.
+ <li>The description contains the term "paragraph" (or the equivalent
+ term in application's language) and the first sentence of
+ the paragraph.
+ <li>There are no relations.
+ <li>The following states are supported by the
+ ::com::sun::star::accessibility::XAccessibleStateSet returned by
+ ::com::sun::star::accessibility::XAccessibleContext::getAccessibleStateSet().
+ <ul>
+ <li>::com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ (indicates that
+ the document window has been closed or the paragraph
+ fragment is not existing any longer).
+ <li>::com::sun::star::accessibility::AccessibleStateType::EDITABLE
+ <li>::com::sun::star::accessibility::AccessibleStateType::ENABLED
+ (always contained)
+ <li>::com::sun::star::accessibility::AccessibleStateType::MULTI_LINE
+ (always contained)
+ <li>::com::sun::star::accessibility::AccessibleStateType::MULTI_SELECTABLE
+ (always contained)
+ <li>::com::sun::star::accessibility::AccessibleStateType::OPAQUE
+ <li>::com::sun::star::accessibility::AccessibleStateType::SHOWING
+ <li>::com::sun::star::accessibility::AccessibleStateType::VISIBLE
+ <li>::com::sun::star::accessibility::AccessibleStateType::FOCUSED
+ </ul>
+ <li>Depending of the application's region setting, the locale is
+ the western, Asian or complex language of the paragraph.
+ </ul>
+
+ */
+ interface ::com::sun::star::accessibility::XAccessibleContext;
+
+ /** This interface describes the graphical representation of a paragraph
+ fragment.
+ */
+ interface ::com::sun::star::accessibility::XAccessibleComponent;
+
+ /** This interface gives access to a paragraph fragment's text. The text
+ contains the paragraph's editable text as well as generated text,
+ like chapter numbers, hyphens or fields. Characters of generated
+ text contribute to the text's character indexing. However, it is not
+ possible to set the caret or start a selection within generated text.
+ <p>For text frames, graphics, etc. that are bound as character some
+ text is generated that contains the objects description.
+ <p>The attributes (or properties) returned by
+ ::com::sun::star::accessibility::XAccessibleText::getCharacterAttributes()
+ are a sub set of the properties described by the service
+ ::com::sun::star::style::CharacterProperties. For
+ properties that have Asian and complex counterparts, the value that
+ is visible is returned. This can be in fact the western, Asian or
+ complex value. It's not possible to change the value of any property
+ by using
+ ::com::sun::star::accessibility::XAccessibleEditableText::setAttributes().
+ <p><em>TODO: If there is a demand, some attributes might be added that
+ tells whether the character at a certain index is editable or generated.
+ </em>
+
+ */
+ [optional] interface ::com::sun::star::accessibility::XAccessibleEditableText;
+
+ /** This interface is a subset of
+ ::com::sun::star::accessibility::XAccessibleEditableText
+ and gives access to a paragraph
+ fragment's text in a read-only mode. The text contains the
+ paragraph's text (changeable as well as generated text, like chapter
+ numbers, hyphens or fields). Characters of generated text contribute
+ to the text's character indexing.
+ <p>For text frames, graphics, etc. that are bound as character
+ some text is generated that contains the objects description.
+ <p>The attributes (or properties) returned by
+ ::com::sun::star::accessibility::XAccessibleText::getCharacterAttributes()
+ are a sub set of the properties described by the service
+ ::com::sun::star::style::CharacterProperties. For
+ properties that have Asian and complex counterparts, the value that
+ is visible is returned. This can be in fact the western, Asian or
+ complex value.
+ <p><em>TODO: If there is a demand, some attributes might be added
+ that tells whether the character at a certain index is changeable or
+ generated.
+ </em>
+ */
+ interface ::com::sun::star::accessibility::XAccessibleText;
+
+ /** This interface is for selecting the paragraph's children. Multi
+ selection is supported only for children that are multi selectable
+ in the GUI, too.
+ */
+ [optional] interface ::com::sun::star::accessibility::XAccessibleSelection;
+
+ /** This is the interface for listeners.
+ */
+ interface ::com::sun::star::accessibility::XAccessibleEventBroadcaster;
+
+ /** This interface gives access to the default attributes of a paragraph
+ and to the run attributes of a certain character in a paragraph
+
+ @since OOo 2.0.4
+ */
+ [optional] interface ::com::sun::star::accessibility::XAccessibleTextAttributes;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/AccessibleTextDocumentPageView.idl b/offapi/com/sun/star/text/AccessibleTextDocumentPageView.idl
new file mode 100644
index 000000000..5a6ace720
--- /dev/null
+++ b/offapi/com/sun/star/text/AccessibleTextDocumentPageView.idl
@@ -0,0 +1,91 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_text_AccessibleTextDocumentPageView_idl__
+#define __com_sun_star_text_AccessibleTextDocumentPageView_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 text {
+
+
+/** The accessible page preview of a text document.
+
+ @since OOo 1.1.2
+ */
+service AccessibleTextDocumentPageView
+{
+ /** This interface gives access to page that are visible in the
+ page preview of a text document.
+ <ul>
+ <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 service
+ ::com::sun::star::text::AccessiblePageView.
+ <li>The role is
+ ::com::sun::star::accessibility::AccessibleRole::DOCUMENT_TEXT.
+ <li>The name is "document view" (or the equivalent term
+ in application's language).
+ <li>The description also is "document view" (or the equivalent term
+ in application's language).
+ <li>There are no relation sets.
+ <li>The following states might be contained in the state set
+ returned by
+ ::com::sun::star::accessibility::XAccessibleContext::getAccessibleStateSet():
+ <ul>
+ <li>::com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ (indicates that
+ the document window has been closed)
+ <li>::com::sun::star::accessibility::AccessibleStateType::ENABLED
+ (always contained)
+ <li>::com::sun::star::accessibility::AccessibleStateType::OPAQUE
+ (always contained)
+ <li>::com::sun::star::accessibility::AccessibleStateType::SHOWING
+ <li>::com::sun::star::accessibility::AccessibleStateType::VISIBLE
+ </ul>
+ <li>The locale is the application's locale.
+ </ul>
+
+ */
+ interface ::com::sun::star::accessibility::XAccessibleContext;
+
+ /** This interface describes the graphical representation of a text
+ document view.
+ */
+ 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/text/AccessibleTextDocumentView.idl b/offapi/com/sun/star/text/AccessibleTextDocumentView.idl
new file mode 100644
index 000000000..818b18eee
--- /dev/null
+++ b/offapi/com/sun/star/text/AccessibleTextDocumentView.idl
@@ -0,0 +1,182 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_text_AccessibleTextDocumentView_idl__
+#define __com_sun_star_text_AccessibleTextDocumentView_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 text {
+
+
+/** The accessible view of a text document.
+
+ @since OOo 1.1.2
+ */
+service AccessibleTextDocumentView
+{
+ /** This interface gives access to any text, table, graphic, embedded
+ object and drawing that is at least partially visible on the screen.
+ The tree that arises from the children of this object reflects the
+ structure of the document as it is displayed.
+
+ <ul>
+ <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.
+ <ul>
+ <li>::com::sun::star::text::AccessibleHeaderFooterView:
+ A child of this kind is returned for every header
+ and footer that is at least partially visible.
+ <li>::com::sun::star::text::AccessibleFootnoteView:
+ A child of this kind is returned for every footnote
+ that is at least partially visible.
+ <li>::com::sun::star::text::AccessibleEndnoteView:
+ A child of this kind is returned for every endnote
+ that is at least partially visible.
+ <li>::com::sun::star::text::AccessibleParagraphView:
+ A child of this kind is returned for every paragraph
+ fragment that is contained in the document body and
+ is at least partially visible. A paragraph fragment is
+ the part of a paragraph that is displayed on a
+ certain page.
+ <li>::com::sun::star::table::AccessibleTableView:
+ A child of this kind 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>::com::sun::star::text::AccessibleTextFrameView:
+ A child of this
+ kind is returned for every text frame that is at
+ least partially visible. These objects are children
+ of the
+ AccessibleTextDocumentView regardless
+ whether they are bound to a page, a paragraph, a
+ frame, or a character. The only exception are text
+ frames that are bound as character. They are children
+ of the paragraph they are contained in.
+ <li>::com::sun::star::text::AccessibleTextGraphicObject:
+ A child of this kind is returned for every graphic that
+ is at least partially visible. These objects are
+ children of the AccessibleTextDocumentView
+ regardless whether they are bound to a page, paragraph,
+ a frame or a character. The only exception
+ are text frames that are bound as character. They are
+ children of the paragraph they are contained in.
+ <li>::com::sun::star::text::AccessibleTextEmbeddedObject:
+ A child of this kind is returned for every embedded
+ object that is at least partially visible.
+ These objects are children of the
+ AccessibleTextDocumentView regardless
+ whether they are bound to a page, a paragraph, a frame,
+ or a character. They are children of the paragraph they
+ are contained in.
+ <li>::com::sun::star::drawing::AccessibleShape:
+ A child of this kind (or a
+ derived interface) is returned for every shape that
+ is at least partially visible. These objects are
+ children of the
+ AccessibleTextDocumentView regardless
+ whether they are bound to a page, a paragraph, a
+ frame or a character.
+ </ul>
+ <p>The following rules apply to the children order:
+ <ul>
+ <li>The logical order of paragraph and table fragments is
+ never changed.
+ <li>Headers appear immediately before the first paragraph or
+ table fragment of the header's page.
+ <li>Footnotes appear immediately after the last paragraph or
+ table fragment of the footnote's page. The logical order
+ of footnotes isn't changed.
+ <li>Endnotes appear immediately after the last footnote of
+ the endnote's page or after the last paragraph or
+ table fragment of this page if there are no footnotes.
+ The logical order of endnotes isn't changed.
+ <li>Footers appear immediately after the last endnote,
+ footnote, paragraph or table fragment of the footer's
+ page.
+ <li>Text frames, graphics, embedded objects and shapes that
+ are painted in the background appear before any other
+ children. Their order reflects the z order.
+ <li>Text frames, graphics, embedded objects and shapes
+ that are painted in the foreground appear behind any
+ other children. Their order reflects the z order,
+ with the exception of controls that appear really last,
+ but also keep the z order.
+ </ul>
+ <li>The role is
+ ::com::sun::star::accessibility::AccessibleRole::DOCUMENT_TEXT.
+ <li>The name is "document view" (or the equivalent term
+ in application's language).
+ <li>The description also is "document view" (or the equivalent term
+ in application's language).
+ <li>There are no relation sets.
+ <li>The following states might be contained in the state set
+ returned by
+ ::com::sun::star::accessibility::XAccessibleContext::getAccessibleStateSet():
+ <ul>
+ <li>::com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ (indicates that the document window has been closed)
+ <li>::com::sun::star::accessibility::AccessibleStateType::EDITABLE
+ <li>::com::sun::star::accessibility::AccessibleStateType::ENABLED
+ (always contained)
+ <li>::com::sun::star::accessibility::AccessibleStateType::MULTI_SELECTABLE
+ (always contained)
+ <li>::com::sun::star::accessibility::AccessibleStateType::OPAQUE
+ (always contained)
+ <li>::com::sun::star::accessibility::AccessibleStateType::SHOWING
+ <li>::com::sun::star::accessibility::AccessibleStateType::VISIBLE
+ </ul>
+ <li>Depending of the application's region setting, the locale is
+ the western, Asian or complex default language of the document.
+ </ul>
+
+ */
+ interface ::com::sun::star::accessibility::XAccessibleContext;
+
+ /** This interface describes the graphical representation of a text
+ document view.
+ */
+ interface ::com::sun::star::accessibility::XAccessibleComponent;
+
+ /** This interface is for selecting the document's children. Selectable
+ are any children with the exception of headers, footers, footnotes
+ and endnotes, where only the grandchildren might be selectable.
+ */
+ 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/text/AccessibleTextEmbeddedObject.idl b/offapi/com/sun/star/text/AccessibleTextEmbeddedObject.idl
new file mode 100644
index 000000000..bf455397f
--- /dev/null
+++ b/offapi/com/sun/star/text/AccessibleTextEmbeddedObject.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_text_AccessibleTextEmbeddedObject_idl__
+#define __com_sun_star_text_AccessibleTextEmbeddedObject_idl__
+
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#include <com/sun/star/accessibility/XAccessibleImage.idl>
+#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
+
+
+
+
+module com { module sun { module star { module text {
+
+
+/** The accessible view of an inactive embedded object. If an embedded
+ object gets active, the active document gets an accessible object
+ tree of its own. This tree is not a subtree of the object that supports
+ this service but of the document service itself. The tree exist only
+ until the object is deactivated.
+
+ @since OOo 1.1.2
+ */
+service AccessibleTextEmbeddedObject
+{
+ /** This interface comprises the basic accessibility of embedded objects.
+
+ <ul>
+ <li>The parent returned by
+ ::com::sun::star::accessibility::XAccessibleContext::getAccessibleParent()
+ is the accessible view of a paragraph if the embedded object is
+ bound as character, and the accessible view of the document
+ (or of a page in the page preview) in any other case.
+ <li>There are no children returned by
+ ::com::sun::star::accessibility::XAccessibleContext::getAccessibleChild()
+ . See above.
+ <li>The role is
+ ::com::sun::star::accessibility::AccessibleRole::EMBEDDED_OBJECT
+ <li>The name is the one assigned to the object in the text
+ document. This means that it is not internationalized.
+ <li>The description is the one assigned to the object in the text
+ document. This means that it is not internationalized. If no
+ description has been set, the description equals the name.
+ <li>There are no relations.
+ <li>The following states might be contained in the state set
+ returned by
+ ::com::sun::star::accessibility::XAccessibleContext::getAccessibleStateSet():
+ <ul>
+ <li>::com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ (indicates that
+ the document window has been closed or the graphic
+ is not existing any longer)
+ <li>::com::sun::star::accessibility::AccessibleStateType::EDITABLE
+ <li>::com::sun::star::accessibility::AccessibleStateType::ENABLED
+ (always contained)
+ <li>::com::sun::star::accessibility::AccessibleStateType::OPAQUE
+ <li>::com::sun::star::accessibility::AccessibleStateType::SELECTABLE
+ <li>::com::sun::star::accessibility::AccessibleStateType::SELECTED
+ <li>::com::sun::star::accessibility::AccessibleStateType::FOCUSABLE
+ <li>::com::sun::star::accessibility::AccessibleStateType::FOCUSED
+ <li>::com::sun::star::accessibility::AccessibleStateType::SHOWING
+ <li>::com::sun::star::accessibility::AccessibleStateType::VISIBLE
+ </ul>
+ <li>The locale is the one the text document itself.
+ </ul>
+
+ */
+ interface ::com::sun::star::accessibility::XAccessibleContext;
+
+ /** This interface describes the graphical representation of an
+ embedded object.
+ */
+ interface ::com::sun::star::accessibility::XAccessibleComponent;
+
+ /** This interface gives access to the object's size and its description.
+ */
+ interface ::com::sun::star::accessibility::XAccessibleImage;
+
+ /** 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/text/AccessibleTextFrameView.idl b/offapi/com/sun/star/text/AccessibleTextFrameView.idl
new file mode 100644
index 000000000..3d0dcdf6f
--- /dev/null
+++ b/offapi/com/sun/star/text/AccessibleTextFrameView.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_text_AccessibleTextFrameView_idl__
+#define __com_sun_star_text_AccessibleTextFrameView_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 text {
+
+
+/** The accessible view of text frames.
+
+ @since OOo 1.1.2
+ */
+service AccessibleTextFrameView
+{
+ /** This interface gives access to any paragraph fragment and table
+ fragment that is contained in a text frame and at least
+ partially visible on the screen.
+
+ <ul>
+ <li>The parent returned by
+ ::com::sun::star::accessibility::XAccessibleContext::getAccessibleParent()
+ is the
+ accessible view of a paragraph if the text frame is bound as
+ character, and the accessible view (or of a page in the page
+ preview) of the document in any other case.
+ <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.
+ <ul>
+ <li>::com::sun::star::text::AccessibleParagraphView:
+ A child of this
+ kind is returned for every paragraph fragment that
+ is contained in the document body and is at least
+ partially visible. A paragraph fragment is the part
+ of a paragraph that is displayed on a certain page
+ or a certain column.
+ <li>::com::sun::star::table::AccessibleTableView:
+ A child of this kind 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 or a certain
+ column.
+ </ul>
+ <p>The logical order of paragraph and table fragments is never
+ changed.
+ <li>The role is
+ ::com::sun::star::accessibility::AccessibleRole::TEXT_FRAME
+ <li>The name is the one assigned to the text frame in the text
+ document. This means that it is not internationalized.
+ <li>The description is the one assigned to the text frame in the
+ text document. This means that it is not internationalized. If
+ no description has been set, the description equals the name.
+ <li>There are no relations.
+ <li>The following states might be contained in the state set
+ returned by
+ ::com::sun::star::accessibility::XAccessibleContext::getAccessibleStateSet():
+ <ul>
+ <li>::com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ (indicates that
+ the document window has been closed or the graphic
+ is not existing any longer)
+ <li>::com::sun::star::accessibility::AccessibleStateType::EDITABLE
+ <li>::com::sun::star::accessibility::AccessibleStateType::ENABLED
+ (always contained)
+ <li>::com::sun::star::accessibility::AccessibleStateType::OPAQUE
+ <li>::com::sun::star::accessibility::AccessibleStateType::SELECTABLE
+ <li>::com::sun::star::accessibility::AccessibleStateType::SELECTED
+ <li>::com::sun::star::accessibility::AccessibleStateType::FOCUSABLE
+ <li>::com::sun::star::accessibility::AccessibleStateType::FOCUSED
+ <li>::com::sun::star::accessibility::AccessibleStateType::SHOWING
+ <li>::com::sun::star::accessibility::AccessibleStateType::VISIBLE
+ </ul>
+ <li>The locale is the one the text document itself.
+ <li>There are the two relations CONTENT_FLOWS_FROM and
+ CONTENT_FLOWS_TO supported.
+ </ul>
+
+ */
+ interface ::com::sun::star::accessibility::XAccessibleContext;
+
+ /** This interface describes the graphical representation of a
+ text frame.
+ */
+ 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/text/AccessibleTextGraphicObject.idl b/offapi/com/sun/star/text/AccessibleTextGraphicObject.idl
new file mode 100644
index 000000000..6337dfb5b
--- /dev/null
+++ b/offapi/com/sun/star/text/AccessibleTextGraphicObject.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_text_AccessibleTextGraphicObject_idl__
+#define __com_sun_star_text_AccessibleTextGraphicObject_idl__
+
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#include <com/sun/star/accessibility/XAccessibleImage.idl>
+#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
+
+
+
+module com { module sun { module star { module text {
+
+
+/** The accessible view of graphics.
+
+ @since OOo 1.1.2
+ */
+service AccessibleTextGraphicObject
+{
+ /** This interface comprises the basic accessibility of text graphics.
+
+ <ul>
+ <li>The parent returned by
+ ::com::sun::star::accessibility::XAccessibleContext::getAccessibleParent()
+ is the accessible view of a paragraph if the graphic is bound as
+ character, and the accessible view of the document (or of a
+ page in the page preview) in any other case.
+ <li>There are no children returned by
+ ::com::sun::star::accessibility::XAccessibleContext::getAccessibleChild().
+ <li>The role is
+ ::com::sun::star::accessibility::AccessibleRole::GRAPHIC
+ <li>The name is the one assigned to the graphic in the text
+ document. This means that it is not internationalized.
+ <li>The description is the one assigned to the graphic in the text
+ document. This means that it is not internationalized. If no
+ description has been set, the description equals the name.
+ <li>There are no relations.
+ <li>The following states might be contained in the state set
+ returned by
+ ::com::sun::star::accessibility::XAccessibleContext::getAccessibleStateSet():
+ <ul>
+ <li>::com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ (indicates that
+ the document window has been closed or the graphic
+ is not existing any longer)
+ <li>::com::sun::star::accessibility::AccessibleStateType::EDITABLE
+ <li>::com::sun::star::accessibility::AccessibleStateType::ENABLED
+ (always contained)
+ <li>::com::sun::star::accessibility::AccessibleStateType::OPAQUE
+ <li>::com::sun::star::accessibility::AccessibleStateType::SELECTABLE
+ <li>::com::sun::star::accessibility::AccessibleStateType::SELECTED
+ <li>::com::sun::star::accessibility::AccessibleStateType::FOCUSABLE
+ <li>::com::sun::star::accessibility::AccessibleStateType::FOCUSED
+ <li>::com::sun::star::accessibility::AccessibleStateType::SHOWING
+ <li>::com::sun::star::accessibility::AccessibleStateType::VISIBLE
+ </ul>
+ <li>The locale is the one the text document itself.
+ </ul>
+
+ */
+ interface ::com::sun::star::accessibility::XAccessibleContext;
+
+ /** This interface describes the graphical representation of a
+ graphic.
+ */
+ interface ::com::sun::star::accessibility::XAccessibleComponent;
+
+ /** This interface gives access to the image size and its description.
+ */
+ interface ::com::sun::star::accessibility::XAccessibleImage;
+
+ /** 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/text/AuthorDisplayFormat.idl b/offapi/com/sun/star/text/AuthorDisplayFormat.idl
new file mode 100644
index 000000000..4587c5a78
--- /dev/null
+++ b/offapi/com/sun/star/text/AuthorDisplayFormat.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_text_AuthorDisplayFormat_idl__
+#define __com_sun_star_text_AuthorDisplayFormat_idl__
+
+
+
+ module com { module sun { module star { module text {
+
+
+/** These constants are used to specify which parts of an author name are displayed
+ in a field.
+ */
+published constants AuthorDisplayFormat
+{
+
+ /** The full name of the author is displayed
+ */
+ const short FULL = 0;
+
+
+ /** Only the last name of the author is displayed
+ */
+ const short LAST_NAME = 1;
+
+
+ /** Only the first name of the author is displayed
+ */
+ const short FIRST_NAME = 2;
+
+
+ /** The initials of the author are displayed
+ */
+ const short INITIALS = 3;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/AutoTextContainer.idl b/offapi/com/sun/star/text/AutoTextContainer.idl
new file mode 100644
index 000000000..36644d094
--- /dev/null
+++ b/offapi/com/sun/star/text/AutoTextContainer.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_text_AutoTextContainer_idl__
+#define __com_sun_star_text_AutoTextContainer_idl__
+
+#include <com/sun/star/text/XAutoTextContainer2.idl>
+
+
+module com { module sun { module star { module text {
+
+
+/** provides access to groups of text blocks.
+ */
+published service AutoTextContainer : XAutoTextContainer2;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/AutoTextEntry.idl b/offapi/com/sun/star/text/AutoTextEntry.idl
new file mode 100644
index 000000000..eb72c0a72
--- /dev/null
+++ b/offapi/com/sun/star/text/AutoTextEntry.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_text_AutoTextEntry_idl__
+#define __com_sun_star_text_AutoTextEntry_idl__
+
+#include <com/sun/star/text/XAutoTextEntry.idl>
+#include <com/sun/star/text/XText.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+/** provides access to a text block in a group of
+ an AutoTextContainer.
+ @see com::sun::star::text::AutoTextContainer
+ @see com::sun::star::text::AutoTextGroup
+ */
+published service AutoTextEntry
+{
+ interface com::sun::star::text::XAutoTextEntry;
+
+ /** provides access to the Text of this entry.
+ */
+ interface com::sun::star::text::XText;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/AutoTextGroup.idl b/offapi/com/sun/star/text/AutoTextGroup.idl
new file mode 100644
index 000000000..be9f1940a
--- /dev/null
+++ b/offapi/com/sun/star/text/AutoTextGroup.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_text_AutoTextGroup_idl__
+#define __com_sun_star_text_AutoTextGroup_idl__
+
+#include <com/sun/star/text/XAutoTextGroup.idl>
+#include <com/sun/star/container/XIndexAccess.idl>
+#include <com/sun/star/container/XNamed.idl>
+
+module com { module sun { module star { module text {
+
+/** provides access to text blocks in a group.
+ @see com::sun::star::text::AutoTextContainer
+ */
+published service AutoTextGroup
+{
+ interface com::sun::star::text::XAutoTextGroup;
+
+ interface com::sun::star::container::XIndexAccess;
+
+ /** provides access to the name of the group.
+ */
+ interface com::sun::star::container::XNamed;
+
+ /** The path to the file containing the AutoTextEntry&apos;s in this group
+ */
+ [property, readonly] string FilePath;
+
+ /** The title of this AutoTextGroup
+ */
+ [property] string Title;
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/BaseFrame.idl b/offapi/com/sun/star/text/BaseFrame.idl
new file mode 100644
index 000000000..e989abbc4
--- /dev/null
+++ b/offapi/com/sun/star/text/BaseFrame.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_text_BaseFrame_idl__
+#define __com_sun_star_text_BaseFrame_idl__
+
+#include <com/sun/star/text/BaseFrameProperties.idl>
+#include <com/sun/star/text/TextContent.idl>
+#include <com/sun/star/drawing/XShape.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/container/XNamed.idl>
+#include <com/sun/star/style/GraphicLocation.idl>
+#include <com/sun/star/table/BorderLine.idl>
+#include <com/sun/star/table/ShadowFormat.idl>
+#include <com/sun/star/text/XTextFrame.idl>
+
+
+ module com { module sun { module star { module text {
+
+
+/** specifies the base service of text frames, graphic objects, and embedded objects
+ */
+published service BaseFrame
+{
+ service BaseFrameProperties;
+ service TextContent;
+ /** This interface specifies the access to the shape data (position
+ and size) of the text frame.
+
+ <p>This interface is valid before the text frame is attached
+ to a surrounding text, but when attached the values can change
+ (e.g., due to a revised layout of the surrounding text).
+
+ <p>The position is relative to the position of the anchor
+ [see XTextFrame::getAnchor()]. Size and position are
+ both measured in 100th mm. The size is not valid if the
+ size is relative and no layout exists or if the layout is invalid.
+
+ <p>This interface is only for the layout. In particular, the
+ setting of values is only allowed for the layout component of the
+ owner text of this text component.
+ */
+ [optional] interface com::sun::star::drawing::XShape;
+ /** This interface makes it possible to access the properties of
+ this text frame.
+
+ <p>This interface is valid before the text frame is attached to
+ a surrounding text.
+ */
+ interface com::sun::star::beans::XPropertySet;
+ /** This interface specifies the name of this text frame.
+
+ <p>The name may be set automatically by the container if it is not
+ set when inserted. In this case a random, unique name is assigned.
+ */
+ interface com::sun::star::container::XNamed;
+ /** contains the name of the frame style that is applied to this object.
+ */
+ [property] string FrameStyleName;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/BaseFrameProperties.idl b/offapi/com/sun/star/text/BaseFrameProperties.idl
new file mode 100644
index 000000000..3741f0af2
--- /dev/null
+++ b/offapi/com/sun/star/text/BaseFrameProperties.idl
@@ -0,0 +1,388 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_text_BaseFrameProperties_idl__
+#define __com_sun_star_text_BaseFrameProperties_idl__
+
+#include <com/sun/star/style/GraphicLocation.idl>
+#include <com/sun/star/table/BorderLine.idl>
+#include <com/sun/star/table/ShadowFormat.idl>
+#include <com/sun/star/text/XTextFrame.idl>
+#include <com/sun/star/text/WrapTextMode.idl>
+#include <com/sun/star/awt/Size.idl>
+#include <com/sun/star/util/Color.idl>
+#include <com/sun/star/xml/UserDefinedAttributesSupplier.idl>
+#include <com/sun/star/drawing/FillStyle.idl>
+#include <com/sun/star/awt/Gradient.idl>
+#include <com/sun/star/drawing/TextVerticalAdjust.hpp>
+#include <com/sun/star/graphic/XGraphic.idl>
+
+module com { module sun { module star { module text {
+
+/** specifies the properties that are provided by all text frames, graphic objects, embedded objects
+ and frame styles.
+ */
+published service BaseFrameProperties
+{
+ /** gives access to the UserDefinedAttributes property.
+ @since OOo 2.1
+ */
+ [optional] service com::sun::star::xml::UserDefinedAttributesSupplier;
+
+ /** contains the number of the page where the objects are anchored.
+ <p> The value is valid only if the
+ AnchorType is
+ TextContentAnchorType::AT_PAGE.</p>
+ */
+ [property] short AnchorPageNo;
+ /** contains the text frame the current frame is anchored to.
+ <p> The value is valid only if the
+ AnchorType is TextContentAnchorType::AT_FRAME.</p>
+ */
+ [property] com::sun::star::text::XTextFrame AnchorFrame;
+
+ /** contains the color of the background of the object.
+ */
+ [property] com::sun::star::util::Color BackColor;
+
+ /** contains the URL for the background graphic.
+
+ @deprecated as of LibreOffice 6.1 - use BackGraphic instead
+
+ Note the new behaviour since it this was deprecated:
+ This property can only be set and only external URLs are
+ supported (no more vnd.sun.star.GraphicObject scheme). When an
+ URL is set, then it will load the graphic and set the BackGraphic
+ property.
+ */
+ [property] string BackGraphicURL;
+
+ /** contains the name of the file filter for the background graphic.
+ */
+ [property] string BackGraphicFilter;
+
+ /** determines the position of the background graphic.
+ */
+ [property] com::sun::star::style::GraphicLocation BackGraphicLocation;
+
+ /** contains the left border of the object.
+
+ @see BaseFrame::com::sun::star::table::BorderLine
+ */
+ [property] com::sun::star::table::BorderLine LeftBorder;
+
+ /** contains the right border of the object.
+
+ @see BaseFrame::com::sun::star::table::BorderLine
+ */
+ [property] com::sun::star::table::BorderLine RightBorder;
+
+ /** contains the top border of the object.
+
+ @see BaseFrame::com::sun::star::table::BorderLine
+ */
+ [property] com::sun::star::table::BorderLine TopBorder;
+
+ /** contains the bottom border of the object.
+
+ @see BaseFrame::com::sun::star::table::BorderLine
+ */
+ [property] com::sun::star::table::BorderLine BottomBorder;
+
+ /** contains the distance from the border to the object.
+ */
+ [property] long BorderDistance;
+
+ /** contains the distance from the left border to the object.
+ */
+ [property] long LeftBorderDistance;
+
+ /** contains the distance from the right border to the object.
+ */
+ [property] long RightBorderDistance;
+
+ /** contains the distance from the top border to the object.
+ */
+ [property] long TopBorderDistance;
+
+ /** contains the distance from the bottom border to the object.
+ */
+ [property] long BottomBorderDistance;
+
+ /** If TRUE, the "BackColor" is ignored.
+ */
+ [property] boolean BackTransparent;
+
+
+ /** determines if the content is protected.
+ */
+ [property] boolean ContentProtected;
+ /** contains the left margin of the object.
+ */
+ [property] long LeftMargin;
+
+ /** contains the right margin of the object.
+ */
+ [property] long RightMargin;
+
+
+ /** contains the top margin of the object.
+ */
+ [property] long TopMargin;
+
+ /** contains the bottom margin of the object.
+ */
+ [property] long BottomMargin;
+
+ /** contains the height of the object (1/100 mm).
+ <p>It is only valid if TextEmbeddedObject::RelativeHeight is zero.</p>
+ */
+ [property] long Height;
+
+ /** contains the width of the object (1/100 mm).
+ <p>It is only valid if TextEmbeddedObject::RelativeWidth is zero.</p>
+ */
+ [property] long Width;
+ /** contains the relative height of the object.
+ <p> It is only valid if it is greater than zero.</p>
+ */
+ [property] short RelativeHeight;
+
+ /** contains the relative width of the object.
+ <p> It is only valid if it is greater than zero. </p>
+ */
+ [property] short RelativeWidth;
+ /** determines whether the width follows the height.
+ */
+ [property] boolean IsSyncWidthToHeight;
+ /** determines whether the height follows the width.
+ */
+ [property] boolean IsSyncHeightToWidth;
+ /** determines the horizontal orientation of the object.
+
+ @see BaseFrame::HoriOrientation
+ */
+ [property] short HoriOrient;
+ /** contains the horizontal position of the object (1/100 mm).
+ <p> It is only valid if "HoriOrient" is HoriOrientation_NONE.</p>
+ */
+ [property] long HoriOrientPosition;
+
+ /** determines the environment of the object to which the orientation
+ is related.
+
+ @see BaseFrame::RelOrientation
+ */
+ [property] short HoriOrientRelation;
+
+ /** determines the vertical orientation of the object.
+
+ @see BaseFrame::VertOrientation
+ */
+ [property] short VertOrient;
+
+ /** contains the vertical position of the object (1/100 mm).
+
+ It is only valid if TextEmbeddedObject::VertOrient is
+ VertOrientation::NONE.
+ */
+ [property] long VertOrientPosition;
+
+
+ /** determines the environment of the object to which the orientation is related.
+
+ @see BaseFrame::RelOrientation
+ */
+ [property] short VertOrientRelation;
+
+ /** contains the URL of a hyperlink that is set at the object.
+ */
+ [property] string HyperLinkURL;
+
+ /** contains the name of the target for a hyperlink that is set at the object.
+ */
+ [property] string HyperLinkTarget;
+
+ /** contains the name of the hyperlink that is set at the object.
+ */
+ [property] string HyperLinkName;
+
+ /** determines if the object is opaque or transparent for text.
+ */
+ [property] boolean Opaque;
+
+ /** determines if the object is mirrored on even pages.
+ */
+ [property] boolean PageToggle;
+
+ /** determines if the position is protected.
+ */
+ [property] boolean PositionProtected;
+
+ /** determines if the object is included in printing.
+ */
+ [property] boolean Print;
+
+ /** contains the type of the shadow of the object.
+ */
+ [property] com::sun::star::table::ShadowFormat ShadowFormat;
+
+ /** determines if the object gets an image map from a server.
+ */
+ [property] boolean ServerMap;
+
+ /** contains the size of the object.
+
+ @see BaseFrame::Height
+ @see BaseFrame::Width
+ */
+ [property] com::sun::star::awt::Size Size;
+
+ /** determines if the size is protected.
+ */
+ [property] boolean SizeProtected;
+ /** determines the type of the surrounding text.
+
+ @deprecated
+ */
+ [property] com::sun::star::text::WrapTextMode Surround;
+
+ /** determines if the text of the paragraph in which the object
+ is anchored, wraps around the object.
+ */
+ [property] boolean SurroundAnchorOnly;
+
+ /** determines the influence of the text wrap on the positioning of the
+ shape
+
+ <p>The value of this property is only evaluated for the positioning
+ of the shape, if the text document setting ConsiderTextWrapOnObjPos
+ is `TRUE`. Valid values are given by #WrapInfluenceOnPosition</p>
+
+ @since OOo 2.0
+ */
+ [optional, property] short WrapInfluenceOnPosition;
+
+ /** returns the actual size of the object.
+
+ <p>Since to obtain the correct actual size of the object not only
+ the layouting for the frame needs to be finished but the whole
+ document needs to be formatted as well. Thus if that was not done
+ previously it may take some while to retrieve this value.</p>
+
+ @since OOo 2.0.4
+ */
+ [optional, property, maybevoid] com::sun::star::awt::Size LayoutSize;
+
+ /** contains short title for the object
+
+ <p>This short title is visible as an alternative tag in HTML format.
+ Accessibility tools can read this text.</p>
+
+ @since OOo 3.2
+ */
+ [optional, property] string Title;
+
+ /** contains description for the object
+
+ <p>The long description text can be entered to describe an object in
+ more detail to users with screen reader software. The description is
+ visible as an alternative tag for accessibility tools.</p>
+
+ @since OOo 3.2
+ */
+ [optional, property] string Description;
+ /** This enumeration selects the style the area will be filled with.
+
+ <p>Currently only set for gradients.</p>
+
+ @since LibreOffice 4.1
+ */
+ [optional, property] com::sun::star::drawing::FillStyle FillStyle;
+ /** If the property #FillStyle is set to
+ FillStyle::GRADIENT, this describes the gradient used.
+
+ @since LibreOffice 4.1
+ */
+ [optional, property] com::sun::star::awt::Gradient FillGradient;
+ /** If the property #FillStyle is set to
+ FillStyle::GRADIENT, this is the name of the gradient used.
+
+ @since LibreOffice 4.1
+ */
+ [optional, property] string FillGradientName;
+
+ /** This defines the degree of transparence of the shadow in percent.
+
+ <p>This is the same as setting the Color member of the
+ #ShadowFormat property to an ARGB color.</p>
+
+ @since LibreOffice 4.2
+ */
+ [optional, property] short ShadowTransparence;
+
+ /** Grab bag of frame properties, used as a string-any map for interim interop purposes.
+
+ @since LibreOffice 4.2
+
+ <p>This property is intentionally not handled by the ODF filter. Any
+ member that should be handled there should be first moved out from this grab
+ bag to a separate property.</p>
+ */
+ [optional, property] sequence<com::sun::star::beans::PropertyValue> FrameInteropGrabBag;
+
+ /** contains the relation of the relative height of the object.
+ <p> It is only valid if RelativeHeight is greater than zero.</p>
+
+ @see com::sun::star::text::RelOrientation
+ @since LibreOffice 4.3
+ */
+ [optional, property] short RelativeHeightRelation;
+
+ /** contains the relation of the relative width of the object.
+ <p> It is only valid if RelativeWidth is greater than zero.</p>
+
+ @see com::sun::star::text::RelOrientation
+ @since LibreOffice 4.3
+ */
+ [optional, property] short RelativeWidthRelation;
+
+ /** contains the graphic for the background.
+
+ @since LibreOffice 6.1
+ */
+ [optional, property] com::sun::star::graphic::XGraphic BackGraphic;
+
+ /** This defines if the frame is allowed to overlap with other anchored objects.
+ @since LibreOffice 6.4
+ */
+ [optional, property] boolean AllowOverlap;
+
+ /** Contains popup text for the frame, used to for tooltip purposes if it's non-empty.
+
+ @since LibreOffice 7.4
+ */
+ [optional, property] string Tooltip;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/BaseIndex.idl b/offapi/com/sun/star/text/BaseIndex.idl
new file mode 100644
index 000000000..8ce9aa25c
--- /dev/null
+++ b/offapi/com/sun/star/text/BaseIndex.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_text_BaseIndex_idl__
+#define __com_sun_star_text_BaseIndex_idl__
+
+#include <com/sun/star/util/Color.idl>
+#include <com/sun/star/util/XRefreshable.idl>
+#include <com/sun/star/text/XDocumentIndex.idl>
+#include <com/sun/star/container/XIndexReplace.idl>
+#include <com/sun/star/text/XTextColumns.idl>
+#include <com/sun/star/style/GraphicLocation.idl>
+#include <com/sun/star/lang/Locale.idl>
+#include <com/sun/star/text/XTextSection.idl>
+#include <com/sun/star/graphic/XGraphic.idl>
+
+module com { module sun { module star { module text {
+
+/** specifies the basic service of different indexes within a document.@see com::sun::star::text::DocumentIndex
+ @see com::sun::star::text::ContentIndex
+ @see com::sun::star::text::UserDefinedIndex
+ @see com::sun::star::text::IllustrationsIndex
+ @see com::sun::star::text::TableIndex
+ @see com::sun::star::text::ObjectIndex
+ */
+published service BaseIndex
+{
+ interface com::sun::star::text::XDocumentIndex;
+
+ /** @since LibreOffice 4.0 */
+ [optional] interface com::sun::star::util::XRefreshable;
+
+ /** contains the title of the index.*/
+ [property] string Title;
+ /** determines if the index is protected.*/
+ [property] boolean IsProtected;
+ /** contains the name of the paragraph style that is applied to the heading.*/
+ [property] string ParaStyleHeading;
+ /** contains the name of the paragraph style that is applied to the 1st level.*/
+ [property] string ParaStyleLevel1;
+ /** contains the name of the paragraph style that is applied to the 2nd level.*/
+ [optional, property] string ParaStyleLevel2;
+ /** contains the name of the paragraph style that is applied to the 3rd level.*/
+ [optional, property] string ParaStyleLevel3;
+ /** contains the name of the paragraph style that is applied to the 4th level.*/
+ [optional, property] string ParaStyleLevel4;
+ /** contains the name of the paragraph style that is applied to the 5th level.*/
+ [optional, property] string ParaStyleLevel5;
+ /** contains the name of the paragraph style that is applied to the 6th level.*/
+ [optional, property] string ParaStyleLevel6;
+ /** contains the name of the paragraph style that is applied to the 7th level.*/
+ [optional, property] string ParaStyleLevel7;
+ /** contains the name of the paragraph style that is applied to the 8th level.*/
+ [optional, property] string ParaStyleLevel8;
+ /** contains the name of the paragraph style that is applied to the 9th level.*/
+ [optional, property] string ParaStyleLevel9;
+ /** contains the name of the paragraph style that is applied to the 10th level.*/
+ [optional, property] string ParaStyleLevel10;
+ /** contains the name of the paragraph style that is applied to the separator level.*/
+ [optional, property] string ParaStyleSeparator;
+ /** contains the column interface.*/
+ [property] XTextColumns TextColumns;
+
+ /** contains the URL of a graphic file that is displayed as background graphic
+
+ @deprecated as of LibreOffice 6.1 - use BackGraphic instead
+
+ Note the new behaviour since it this was deprecated:
+ This property can only be set and only external URLs are
+ supported (no more vnd.sun.star.GraphicObject scheme). When an
+ URL is set, then it will load the graphic and set the BackGraphic
+ property.
+ */
+ [property] string BackGraphicURL;
+
+ /** contains the name of the filter of the graphic file that is
+ displayed as background graphic*/
+ [property] string BackGraphicFilter;
+ /** determines the position of the background graphic.@see GraphicLocation
+ */
+ [property] com::sun::star::style::GraphicLocation BackGraphicLocation;
+ /** specifies the color of the background.
+ */
+ [property] com::sun::star::util::Color BackColor;
+
+ /** If `TRUE`, the background color value in "BackColor" is not visible.
+ */
+ [property] boolean BackTransparent;
+
+ /** returns the interface of the level format of the index.
+ <p>
+ The description of the format of the levels depends on the type of the document index.
+ </p>
+ @see DocumentIndexLevelFormat
+ */
+ [optional, property] com::sun::star::container::XIndexReplace LevelFormat;
+ /** determines if the content of the document index is created from the
+ complete document content or from the current chapter only.
+ <p> It is not available in the bibliography</p>*/
+ [optional, property] boolean CreateFromChapter;
+ /** the text section containing the content of the index */
+ [property] com::sun::star::text::XTextSection ContentSection;
+ /** the text section containing the header of the index */
+ [property] com::sun::star::text::XTextSection HeaderSection;
+
+ /** contains the graphic object that is displayed as background graphic.
+
+ @since LibreOffice 6.1
+ */
+ [optional, property] com::sun::star::graphic::XGraphic BackGraphic;
+};
+
+
+}; }; }; };
+
+#endif
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/BaseIndexMark.idl b/offapi/com/sun/star/text/BaseIndexMark.idl
new file mode 100644
index 000000000..5646d3e8b
--- /dev/null
+++ b/offapi/com/sun/star/text/BaseIndexMark.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_text_BaseIndexMark_idl__
+#define __com_sun_star_text_BaseIndexMark_idl__
+
+#include <com/sun/star/text/TextContent.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+
+/** is a TextRange which is explicitly marked
+ as an index entry. This is the base service of index marks for DocumentIndex,
+ ContentIndex, and UserIndex.
+ */
+published service BaseIndexMark
+{
+ service com::sun::star::text::TextContent;
+
+ /** the string that will be inserted into the corresponding index. If AlternativeText is empty then
+ the string that is marked by the TextRange is inserted into the index.
+ */
+ [property] string AlternativeText;
+};
+
+
+}; }; }; };
+#endif
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/Bibliography.idl b/offapi/com/sun/star/text/Bibliography.idl
new file mode 100644
index 000000000..f5e6efedb
--- /dev/null
+++ b/offapi/com/sun/star/text/Bibliography.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_text_Bibliography_idl__
+#define __com_sun_star_text_Bibliography_idl__
+
+#include <com/sun/star/text/BaseIndex.idl>
+
+
+ module com { module sun { module star { module text {
+
+/** specifies service of bibliography within a text document.@see com::sun::star::text::BaseIndex
+ */
+published service Bibliography
+{
+ service com::sun::star::text::BaseIndex;
+ /** contains the locale of the index.
+ */
+ [property] com::sun::star::lang::Locale Locale;
+ /** contains the name of the sort algorithm that is used to sort the entries.
+ */
+ [property] string SortAlgorithm;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/BibliographyDataField.idl b/offapi/com/sun/star/text/BibliographyDataField.idl
new file mode 100644
index 000000000..892322424
--- /dev/null
+++ b/offapi/com/sun/star/text/BibliographyDataField.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_text_BibliographyDataField_idl__
+#define __com_sun_star_text_BibliographyDataField_idl__
+
+
+ module com { module sun { module star { module text {
+/** These values define parts of bibliographic data. They are used to create a
+ bibliography in a text document.
+ <p> Depending on the type of the data some of the fields will usually be left empty.
+ </p>
+ */
+published constants BibliographyDataField
+{
+ /** This field contains a unique identifier for the bibliographic data.
+ */
+ const short IDENTIFIER = 0;
+ /** This field contains the type of the bibliographic reference. It is of the
+ type BibliographyDataType.
+ @see BibliographyDataType
+ */
+ const short BIBILIOGRAPHIC_TYPE = 1;
+ /** This field contains the address of the publisher.
+ */
+ const short ADDRESS = 2;
+ /** This field contains an annotation.
+ */
+ const short ANNOTE = 3;
+ /** This field contains the name(s) of the author(s)
+ */
+ const short AUTHOR = 4;
+ /** This field contains the title of the book.
+ */
+ const short BOOKTITLE = 5;
+ /** This field contains the name or number of the chapter.
+ */
+ const short CHAPTER = 6;
+ /** This field contains the number or name of the edition.
+ */
+ const short EDITION = 7;
+ /** This field contains the name(s) of the editor(s)
+ */
+ const short EDITOR = 8;
+ /** This field contains a description of the type of the publishing.
+ */
+ const short HOWPUBLISHED = 9;
+ /** This field contains the name of the institution where the publishing was created.
+ */
+ const short INSTITUTION = 10;
+ /** This field contains the name of the journal.
+ */
+ const short JOURNAL = 11;
+ /** This field contains number or name of the month of the publishing.
+ */
+ const short MONTH = 12;
+ /** This field contains a note.
+ */
+ const short NOTE = 13;
+ /** This field contains the number of the publishing.
+ */
+ const short NUMBER = 14;
+ /** This field contains the name of the organizations where the publishing was created.
+ */
+ const short ORGANIZATIONS = 15;
+ /** This field contains the number(s) of the page(s) of the reference into a publishing.
+ */
+ const short PAGES = 16;
+ /** This field contains the name of the publisher.
+ */
+ const short PUBLISHER = 17;
+ /** This field contains the name of the university or school where the publishing was created.
+ */
+ const short SCHOOL = 18;
+ /** This field contains the series of the publishing.
+ */
+ const short SERIES = 19;
+ /** This field contains the title of the publishing.
+ */
+ const short TITLE = 20;
+ /** This field contains a description of the type of the report.
+ */
+ const short REPORT_TYPE = 21;
+ /** This field contains the volume of the publishing.
+ */
+ const short VOLUME = 22;
+ /** This field contains the year when the publishing was created.
+ */
+ const short YEAR = 23;
+ /** This field contains URL of the publishing.
+ */
+ const short URL = 24;
+ /** This field contains user defined data.
+ */
+ const short CUSTOM1 = 25;
+ /** This field contains user defined data.
+ */
+ const short CUSTOM2 = 26;
+ /** This field contains user defined data.
+ */
+ const short CUSTOM3 = 27;
+ /** This field contains user defined data.
+ */
+ const short CUSTOM4 = 28;
+ /** This field contains user defined data.
+ */
+ const short CUSTOM5 = 29;
+ /** This field contains the ISBN data of the publishing.
+ */
+ const short ISBN = 30;
+ /** This field contains a local copy of the publishing.
+
+ @since LibreOffice 7.3
+ */
+ const short LOCAL_URL = 31;
+};
+
+}; }; }; };
+
+#endif
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/BibliographyDataType.idl b/offapi/com/sun/star/text/BibliographyDataType.idl
new file mode 100644
index 000000000..9d2d690f0
--- /dev/null
+++ b/offapi/com/sun/star/text/BibliographyDataType.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_text_BibliographyDataType_idl__
+#define __com_sun_star_text_BibliographyDataType_idl__
+
+
+ module com { module sun { module star { module text {
+/** These values define the type of bibliographic data like book, journal, magazine, etc.
+ */
+published constants BibliographyDataType
+{
+ /** An article from a journal or magazine.
+ */
+ const short ARTICLE = 0;
+ /** A book with an explicit publisher.
+ */
+ const short BOOK = 1;
+ /** A work that is printed and bound, but without a named publisher or sponsoring institution.
+ */
+ const short BOOKLET = 2;
+ /** An article in the proceedings of a conference. This entry is identical to the "inproceedings"
+ entry and is included for compatibility with BiBTex.
+ */
+ const short CONFERENCE = 3;
+ /** A part of a book, which may be a chapter and/or a range of pages.
+ */
+ const short INBOOK = 4;
+ /** A part of a book with its own title.
+ */
+ const short INCOLLECTION = 5;
+ /** An article in the proceedings of a conference.
+ */
+ const short INPROCEEDINGS = 6;
+ /** A journal or magazine.
+ */
+ const short JOURNAL = 7;
+ /** Technical documentation.
+ */
+ const short MANUAL = 8;
+ /** A Master's thesis.
+ */
+ const short MASTERSTHESIS = 9;
+ /** This type is used when nothing else seems appropriate.
+ */
+ const short MISC = 10;
+ /** A PhD thesis.
+ */
+ const short PHDTHESIS = 11;
+ /** The proceedings of a conference.
+ */
+ const short PROCEEDINGS = 12;
+ /** A report published by a school or other institution, usually numbered within a series.
+ */
+ const short TECHREPORT = 13;
+ /** A document with an author and title, but not formally published.
+ */
+ const short UNPUBLISHED = 14;
+ /** An eMail document
+ */
+ const short EMAIL = 15;
+ /** A Web document
+ */
+ const short WWW = 16;
+ /** A user defined document type
+ */
+ const short CUSTOM1 = 17;
+ /** A user defined document type
+ */
+ const short CUSTOM2 = 18;
+ /** A user defined document type
+ */
+ const short CUSTOM3 = 19;
+ /** A user defined document type
+ */
+ const short CUSTOM4 = 20;
+ /** A user defined document type
+ */
+ const short CUSTOM5 = 21;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/Bookmark.idl b/offapi/com/sun/star/text/Bookmark.idl
new file mode 100644
index 000000000..fc73ca636
--- /dev/null
+++ b/offapi/com/sun/star/text/Bookmark.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_text_Bookmark_idl__
+#define __com_sun_star_text_Bookmark_idl__
+
+#include <com/sun/star/text/TextContent.idl>
+
+#include <com/sun/star/container/XNamed.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+/** A bookmark is a TextContent, which is like a jump
+ target or a label.
+ */
+published service Bookmark
+{
+ service com::sun::star::text::TextContent;
+
+ /** This interface specifies the name of the bookmark.
+ */
+ interface com::sun::star::container::XNamed;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/Bookmarks.idl b/offapi/com/sun/star/text/Bookmarks.idl
new file mode 100644
index 000000000..b9bafdb30
--- /dev/null
+++ b/offapi/com/sun/star/text/Bookmarks.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_text_Bookmarks_idl__
+#define __com_sun_star_text_Bookmarks_idl__
+
+#include <com/sun/star/container/XNameAccess.idl>
+#include <com/sun/star/container/XIndexAccess.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+/** This service specifies a collection of Bookmarks.
+ */
+published service Bookmarks
+{
+
+ /** makes it possible to access the bookmarks by their names.
+
+ <p>All contents support the service Bookmark.
+ */
+ interface com::sun::star::container::XNameAccess;
+ /** makes it possible to access the bookmarks by their index.
+
+ <p>All contents support the service Bookmark.
+ */
+ interface com::sun::star::container::XIndexAccess;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/Cell.idl b/offapi/com/sun/star/text/Cell.idl
new file mode 100644
index 000000000..7051208e4
--- /dev/null
+++ b/offapi/com/sun/star/text/Cell.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_text_Cell_idl__
+#define __com_sun_star_text_Cell_idl__
+
+#include <com/sun/star/text/CellProperties.idl>
+#include <com/sun/star/table/CellProperties.idl>
+#include <com/sun/star/table/XCell.idl>
+#include <com/sun/star/text/XText.idl>
+
+
+module com { module sun { module star { module text {
+
+
+/** represents a single cell within a text table.
+
+ @see com::sun::star::text::TextTable
+ */
+service Cell
+{
+ /** contains the properties of the text table cell.
+ */
+ service com::sun::star::text::CellProperties;
+
+ /** contains properties from table cells.
+
+ <p>All of these properties are either already available in the
+ service
+ com::sun::star::text::CellProperties,
+ or get matched against one of those or are implemented
+ non-functional since they serve no purpose for text tables.</p>
+
+ <p>The complete list is as follows:</p>
+ <ul>
+ <li>CellStyle: optional property, not implemented.</li>
+ <li>CellBackColor: matched to "BackColor".</li>
+ <li>IsCellBackgroundTransparent: matched to "BackTransparent".</li>
+ <li>HoriJustify: non-functional implementation.</li>
+ <li>VertJustify: non-functional implementation.</li>
+ <li>IsTextWrapped: non-functional implementation.</li>
+ <li>ParaIndent: non-functional implementation.</li>
+ <li>Orientation: non-functional implementation.</li>
+ <li>RotateAngle: non-functional implementation.</li>
+ <li>RotateReference: non-functional implementation.</li>
+ <li>AsianVerticalMode: optional property, not implemented.</li>
+ <li>TableBorder: non-functional implementation.</li>
+ <li>TopBorder: already available.</li>
+ <li>BottomBorder: already available.</li>
+ <li>LeftBorder: already available.</li>
+ <li>RightBorder: already available.</li>
+ <li>NumberFormat: already available.</li>
+ <li>ShadowFormat: non-functional implementation.</li>
+ <li>CellProtection: non-functional implementation.</li>
+ </ul>
+
+ @since OOo 2.0
+ */
+ service com::sun::star::table::CellProperties;
+
+
+ /** provides access to the cell contents.
+ */
+ interface com::sun::star::table::XCell;
+
+
+ /** provides access to formatted and unformatted text contents.
+ */
+ interface com::sun::star::text::XText;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/CellProperties.idl b/offapi/com/sun/star/text/CellProperties.idl
new file mode 100644
index 000000000..21bda1c22
--- /dev/null
+++ b/offapi/com/sun/star/text/CellProperties.idl
@@ -0,0 +1,151 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_text_CellProperties_idl__
+#define __com_sun_star_text_CellProperties_idl__
+
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/util/Color.idl>
+#include <com/sun/star/text/XTextSection.idl>
+#include <com/sun/star/style/GraphicLocation.idl>
+#include <com/sun/star/table/BorderLine.idl>
+#include <com/sun/star/container/XNameContainer.idl>
+#include <com/sun/star/xml/UserDefinedAttributesSupplier.idl>
+#include <com/sun/star/graphic/XGraphic.idl>
+
+module com { module sun { module star { module text {
+
+/** service that holds all cell properties of a text table cell in a text document.
+
+ @see com::sun::star::text::Cell
+ */
+published service CellProperties
+{
+ /** contains user defined attributes.
+
+ @see com::sun::star::xml::UserDefinedAttributesSupplier
+ */
+ service com::sun::star::xml::UserDefinedAttributesSupplier;
+
+
+ /** gives access to the objects properties
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+ /** contains the cell name, see SwXTextTable::getCellByName for more information
+ */
+ [property] string CellName;
+
+ /** contains the background color.
+ */
+ [property] com::sun::star::util::Color BackColor;
+
+ /** contains the URL to the background graphic.
+
+ @deprecated as of LibreOffice 6.1 - use BackGraphic instead
+
+ Note the new behaviour since it this was deprecated:
+ This property can only be set and only external URLs are
+ supported (no more vnd.sun.star.GraphicObject scheme). When an
+ URL is set, then it will load the graphic and set the BackGraphic
+ property.
+ */
+ [property] string BackGraphicURL;
+
+ /** contains the name of the graphic filter of the background graphic.
+ */
+ [property] string BackGraphicFilter;
+
+ /** determines the position of the background graphic.
+ */
+ [property] com::sun::star::style::GraphicLocation BackGraphicLocation;
+
+ /** contains the number format.
+ */
+ [property] long NumberFormat;
+
+ /** determines whether the background is transparent.
+ */
+ [property] boolean BackTransparent;
+
+ /** contains the left border line.
+ */
+ [property] com::sun::star::table::BorderLine LeftBorder;
+
+ /** contains the right border line.
+ */
+ [property] com::sun::star::table::BorderLine RightBorder;
+
+ /** contains the top border line.
+ */
+ [property] com::sun::star::table::BorderLine TopBorder;
+
+ /** contains the bottom border line.
+ */
+ [property] com::sun::star::table::BorderLine BottomBorder;
+
+ /** contains the distance of the left border.
+ */
+ [property] long LeftBorderDistance;
+
+ /** contains the distance of the right border.
+ */
+ [property] long RightBorderDistance;
+
+ /** contains the distance of the top border.
+ */
+ [property] long TopBorderDistance;
+
+ /** contains the distance of the bottom border.
+ */
+ [property] long BottomBorderDistance;
+
+ /** contains the text section the text table is contained in if there is any.
+ */
+ [readonly, property]com::sun::star::text::XTextSection TextSection;
+
+ /** determines whether the cell is write protected or not.
+ */
+ [property] boolean IsProtected;
+
+ /** the vertical orientation of the text inside of the table cells in
+ this row.@see VertOrientation
+ */
+ [property] short VertOrient;
+
+ /** contains the graphic object that is displayed as background graphic.
+
+ @since LibreOffice 6.1
+ */
+ [optional, property] com::sun::star::graphic::XGraphic BackGraphic;
+
+ /** Parent text of this table cell.
+
+ This might be a header text, body text, parent cell, etc.
+
+ @since LibreOffice 6.3
+ */
+ [optional, readonly, property] com::sun::star::text::XText ParentText;
+};
+
+
+}; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/CellRange.idl b/offapi/com/sun/star/text/CellRange.idl
new file mode 100644
index 000000000..c2d73c7ad
--- /dev/null
+++ b/offapi/com/sun/star/text/CellRange.idl
@@ -0,0 +1,124 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_text_CellRange_idl__
+#define __com_sun_star_text_CellRange_idl__
+
+#include <com/sun/star/table/XCellRange.idl>
+#include <com/sun/star/util/Color.idl>
+#include <com/sun/star/sheet/XCellRangeData.idl>
+#include <com/sun/star/container/XNamed.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/style/CharacterPropertiesAsian.idl>
+#include <com/sun/star/style/CharacterPropertiesComplex.idl>
+#include <com/sun/star/style/CharacterProperties.idl>
+#include <com/sun/star/style/GraphicLocation.idl>
+#include <com/sun/star/chart/XChartDataArray.idl>
+#include <com/sun/star/graphic/XGraphic.idl>
+
+module com { module sun { module star { module text {
+
+/** area of cells within a text table.
+
+ @see com::sun::star::text::TextTable
+ */
+published service CellRange
+{
+ service com::sun::star::style::CharacterProperties;
+
+ service com::sun::star::style::CharacterPropertiesAsian;
+
+ service com::sun::star::style::CharacterPropertiesComplex;
+
+ service com::sun::star::style::ParagraphProperties;
+
+ [optional] service com::sun::star::style::ParagraphPropertiesAsian;
+
+ [optional] service com::sun::star::style::ParagraphPropertiesComplex;
+
+ interface com::sun::star::table::XCellRange;
+
+ [optional] interface com::sun::star::sheet::XCellRangeData;
+
+ [optional] interface com::sun::star::chart::XChartDataArray;
+
+
+ /** contains color of the background.
+ */
+ [property] com::sun::star::util::Color BackColor;
+
+
+ /** contains the filter name of the background graphic.
+ */
+ [property] string BackGraphicFilter;
+
+
+ /** determines the location of the background graphic.
+ */
+ [property] com::sun::star::style::GraphicLocation BackGraphicLocation;
+
+
+ /** contains the URL of the background graphic.
+
+ @deprecated as of LibreOffice 6.1 - use BackGraphic instead
+
+ Note the new behaviour since it this was deprecated:
+ This property can only be set and only external URLs are
+ supported (no more vnd.sun.star.GraphicObject scheme). When an
+ URL is set, then it will load the graphic and set the BackGraphic
+ property.
+ */
+ [property] string BackGraphicURL;
+
+ /** determines if the background color is transparent.
+ */
+ [property] boolean BackTransparent;
+
+
+ /** determines if the first column of the table should be treated as
+ axis labels when a chart is to be created.
+ */
+ [property] boolean ChartColumnAsLabel;
+
+
+ /** determines if the first row of the table should be treated as
+ axis labels when a chart is to be created.
+ */
+ [property] boolean ChartRowAsLabel;
+
+
+ /** contains the number format.
+ */
+ [property] long NumberFormat;
+
+ /** contains the graphic of the background.
+
+ @since LibreOffice 6.1
+ */
+ [optional, property] com::sun::star::graphic::XGraphic BackGraphic;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/ChainedTextFrame.idl b/offapi/com/sun/star/text/ChainedTextFrame.idl
new file mode 100644
index 000000000..1b8c8185b
--- /dev/null
+++ b/offapi/com/sun/star/text/ChainedTextFrame.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_text_ChainedTextFrame_idl__
+#define __com_sun_star_text_ChainedTextFrame_idl__
+
+#include <com/sun/star/text/TextFrame.idl>
+
+#include <com/sun/star/util/XChainable.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+
+/** extends a TextFrame which shares the same Text
+ with other ChainedTextFrame instances that will make the text
+ flow through the chained frames. The text flows in the next frame if
+ there is no space left in the current frame.
+ */
+published service ChainedTextFrame
+{
+ service com::sun::star::text::TextFrame;
+
+ /** name of the previous frame in the chain
+
+ <p>An empty string indicates that there is no previous frame.</p>
+ */
+ [property, maybevoid] string ChainNextName;
+
+ /** name of the next frame in the chain
+
+ <p>An empty string indicates that there is no next frame.</p>
+ */
+ [property, maybevoid] string ChainPrevName;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/ChapterFormat.idl b/offapi/com/sun/star/text/ChapterFormat.idl
new file mode 100644
index 000000000..a0f135d0d
--- /dev/null
+++ b/offapi/com/sun/star/text/ChapterFormat.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_text_ChapterFormat_idl__
+#define __com_sun_star_text_ChapterFormat_idl__
+
+
+
+ module com { module sun { module star { module text {
+
+/** These constants define the display format of the chapter number in a
+ chapter text field.
+ */
+published constants ChapterFormat
+{
+ /** The title of the chapter is displayed.
+ */
+ const short NAME = 0;
+
+ /** The number including prefix and suffix of the chapter is displayed.
+ */
+ const short NUMBER = 1;
+
+ /** The title and number including prefix and suffix of the chapter are displayed.
+ */
+ const short NAME_NUMBER = 2;
+
+ /** The name and number of the chapter are displayed.
+ */
+ const short NO_PREFIX_SUFFIX = 3;
+
+ /** The number of the chapter is displayed.
+ */
+ const short DIGIT = 4;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/ChapterNumberingRule.idl b/offapi/com/sun/star/text/ChapterNumberingRule.idl
new file mode 100644
index 000000000..0071b0fe4
--- /dev/null
+++ b/offapi/com/sun/star/text/ChapterNumberingRule.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_text_ChapterNumberingRule_idl__
+#define __com_sun_star_text_ChapterNumberingRule_idl__
+
+#include <com/sun/star/style/NumberingRule.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+/** describes the rules for chapter numbering in a text document.
+
+
+
+ <p>Some of the properties that are available in the interface are
+ ignored here.
+
+ </p>
+ <p>The type of numbering can only be:
+ NUM_CHARS_UPPER_LETTER, NUM_CHARS_LOWER_LETTER, NUM_ROMAN_UPPER,
+ NUM_ROMAN_LOWER, NUM_ARABIC, or NUM_NUMBER_NONE
+
+ </p>
+ <p>In the com::sun::star::style::NumberingAlignment only the field
+ com::sun::star::style::NumberingAlignment::Alignment is applied.
+
+ </p>
+ <p>Depending on the numbering types, the parameters for bullets or bit maps
+ may be ignored. The character style name for the numbering symbol is
+ also ignored.</p>
+ */
+published service ChapterNumberingRule
+{
+ service com::sun::star::style::NumberingRule;
+
+ /** contains the name of the paragraph style that marks this heading
+ level.
+
+
+
+ <p>It is necessary that each style name appears only
+ once in the sequence of numbering rules.</p>
+ */
+ [property] string HeadingStyleName;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/CharacterCompressionType.idl b/offapi/com/sun/star/text/CharacterCompressionType.idl
new file mode 100644
index 000000000..16e6338b8
--- /dev/null
+++ b/offapi/com/sun/star/text/CharacterCompressionType.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_text_CharacterCompressionType_idl__
+#define __com_sun_star_text_CharacterCompressionType_idl__
+
+
+
+ module com { module sun { module star { module text {
+
+
+/** These constants define character compression in Asian text.
+ */
+published constants CharacterCompressionType
+{
+ /** the characters are uncompressed.
+ */
+ const short NONE = 0;
+
+ /** only punctuation is compressed.
+ */
+ const short PUNCTUATION_ONLY = 1;
+
+ /** punctuation and Japanese Kana are compressed.
+ */
+ const short PUNCTUATION_AND_KANA = 2;
+
+};
+
+
+}; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/ColumnSeparatorStyle.idl b/offapi/com/sun/star/text/ColumnSeparatorStyle.idl
new file mode 100644
index 000000000..70df14ffd
--- /dev/null
+++ b/offapi/com/sun/star/text/ColumnSeparatorStyle.idl
@@ -0,0 +1,30 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.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_text_ColumnSeparatorStyle_idl__
+#define __com_sun_star_text_ColumnSeparatorStyle_idl__
+
+module com { module sun { module star { module text {
+
+published constants ColumnSeparatorStyle
+{
+ const short NONE = 0;
+
+ const short SOLID = 1;
+
+ const short DOTTED = 2;
+
+ const short DASHED = 3;
+};
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/ContentIndex.idl b/offapi/com/sun/star/text/ContentIndex.idl
new file mode 100644
index 000000000..9b7a53179
--- /dev/null
+++ b/offapi/com/sun/star/text/ContentIndex.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_text_ContentIndex_idl__
+#define __com_sun_star_text_ContentIndex_idl__
+
+#include <com/sun/star/text/BaseIndex.idl>
+
+
+module com { module sun { module star { module text {
+
+
+/** specifies service of content indexes within a document.@see com::sun::star::text::BaseIndex
+ */
+published service ContentIndex
+{
+ service com::sun::star::text::BaseIndex;
+
+ /** determines the depth of outline levels that are included into the content index.*/
+
+ [optional, property] short Level;
+
+ /** determines if the document index is created from outlines.
+ */
+ [optional, property] boolean CreateFromOutline;
+
+ /** contains the interface to access the paragraph style names that are included
+ in this index.
+ @see DocumentIndexParagraphStyles
+ */
+ [optional, property] com::sun::star::container::XIndexReplace LevelParagraphStyles;
+
+ /** contains `TRUE` if the document index marks are included in this index.
+ */
+ [optional, property] boolean CreateFromMarks;
+
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/ContentIndexMark.idl b/offapi/com/sun/star/text/ContentIndexMark.idl
new file mode 100644
index 000000000..3a05f286b
--- /dev/null
+++ b/offapi/com/sun/star/text/ContentIndexMark.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_text_ContentIndexMark_idl__
+#define __com_sun_star_text_ContentIndexMark_idl__
+
+#include <com/sun/star/text/TextContent.idl>
+#include <com/sun/star/text/BaseIndexMark.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+/** is a TextRange which is explicitly marked
+ as an index entry for a ContentIndex.
+ */
+published service ContentIndexMark
+{
+ service com::sun::star::text::TextContent;
+
+ service com::sun::star::text::BaseIndexMark;
+
+ /** contains the level into which the index mark will be inserted into the content index.
+ */
+ [property] short Level;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/ControlCharacter.idl b/offapi/com/sun/star/text/ControlCharacter.idl
new file mode 100644
index 000000000..702384a11
--- /dev/null
+++ b/offapi/com/sun/star/text/ControlCharacter.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_text_ControlCharacter_idl__
+#define __com_sun_star_text_ControlCharacter_idl__
+
+
+
+ module com { module sun { module star { module text {
+
+/** These constants are the codes for inserting control characters
+ using XSimpleText::insertControlCharacter() interface.
+ */
+published constants ControlCharacter
+{
+ /** This control character starts a new paragraph.
+ */
+ const short PARAGRAPH_BREAK = 0;
+
+ /** This control character starts a new line in a paragraph.
+ */
+ const short LINE_BREAK = 1;
+
+ /** This control character equals a dash but prevents this
+ position from being hyphenated.
+ */
+ const short HARD_HYPHEN = 2;
+
+ /** This control character defines a special position as a
+ hyphenation point. If a word containing a soft hyphen
+ must be split at the end of a line, then this position
+ is preferred.
+ */
+ const short SOFT_HYPHEN = 3;
+
+ /** This control character is used to link two words and
+ prevents this concatenation from being hyphenated.
+ It is printed as a space.
+ */
+ const short HARD_SPACE = 4;
+
+ /** This control character appends a new paragraph.
+ */
+ const short APPEND_PARAGRAPH = 5;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/DateDisplayFormat.idl b/offapi/com/sun/star/text/DateDisplayFormat.idl
new file mode 100644
index 000000000..ce314a877
--- /dev/null
+++ b/offapi/com/sun/star/text/DateDisplayFormat.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_text_DateDisplayFormat_idl__
+#define __com_sun_star_text_DateDisplayFormat_idl__
+
+
+
+ module com { module sun { module star { module text {
+
+
+/** This constants define how a date field is formatted before it is displayed.
+ The format may also depend on the system or document locale. The samples
+ are in German.
+
+ @deprecated
+ */
+published constants DateDisplayFormat
+{
+ /** the shortest system standard
+ */
+ const short STANDARD_SHORT = 0;
+
+
+ /** the longest system standard
+ */
+ const short STANDARD_LONG = 1;
+
+
+ /** 22.11.73
+ */
+ const short MMDDYY = 2;
+
+
+ /** 22.11.1973
+ */
+ const short MMDDYYYY = 3;
+
+
+ /** 22. Nov 1973
+ */
+ const short DDMMMYYYY = 4;
+
+
+ /** 22. November 1973
+ */
+ const short DDMMMMYYYY = 5;
+
+
+ /** Do, 22. November 1973
+ */
+ const short NNDDMMMMYYYY = 6;
+
+
+ /** Donnerstag, 22. November 1973
+ */
+ const short NNNNDDMMMMYYYY = 7;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/DefaultNumberingProvider.idl b/offapi/com/sun/star/text/DefaultNumberingProvider.idl
new file mode 100644
index 000000000..00a9968e6
--- /dev/null
+++ b/offapi/com/sun/star/text/DefaultNumberingProvider.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_text_DefaultNumberingProvider_idl__
+#define __com_sun_star_text_DefaultNumberingProvider_idl__
+
+#include <com/sun/star/text/XDefaultNumberingProvider.idl>
+
+
+ module com { module sun { module star { module text {
+
+/** provides access to language dependent numbering types and supports
+ formatting of those numberings.
+ */
+published service DefaultNumberingProvider : XDefaultNumberingProvider;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/Defaults.idl b/offapi/com/sun/star/text/Defaults.idl
new file mode 100644
index 000000000..2c117c2b9
--- /dev/null
+++ b/offapi/com/sun/star/text/Defaults.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_text_Defaults_idl__
+#define __com_sun_star_text_Defaults_idl__
+
+#include <com/sun/star/style/CharacterProperties.idl>
+#include <com/sun/star/style/ParagraphProperties.idl>
+#include <com/sun/star/style/CharacterPropertiesAsian.idl>
+#include <com/sun/star/style/CharacterPropertiesComplex.idl>
+#include <com/sun/star/style/ParagraphPropertiesAsian.idl>
+#include <com/sun/star/style/ParagraphPropertiesComplex.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+
+
+ module com { module sun { module star { module text {
+
+
+/** provides default settings of a text component for paragraph and
+ character properties.
+ */
+published service Defaults
+{
+ service com::sun::star::style::CharacterProperties;
+
+ service com::sun::star::style::ParagraphProperties;
+
+ [optional] service com::sun::star::style::CharacterPropertiesAsian;
+
+ [optional] service com::sun::star::style::CharacterPropertiesComplex;
+
+ [optional] service com::sun::star::style::ParagraphPropertiesAsian;
+
+ [optional] service com::sun::star::style::ParagraphPropertiesComplex;
+
+
+ interface com::sun::star::beans::XPropertySet;
+
+ /** default tab-distance to be used.
+ */
+ [property] long TabStopDistance;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/DependentTextField.idl b/offapi/com/sun/star/text/DependentTextField.idl
new file mode 100644
index 000000000..325cfaaf7
--- /dev/null
+++ b/offapi/com/sun/star/text/DependentTextField.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_text_DependentTextField_idl__
+#define __com_sun_star_text_DependentTextField_idl__
+
+#include <com/sun/star/text/TextField.idl>
+
+#include <com/sun/star/text/XDependentTextField.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+/** is a TextField which is not specified by itself,
+ but dependent on a TextFieldMaster.@see TextFieldMaster
+ */
+published service DependentTextField
+{
+ service com::sun::star::text::TextField;
+
+ /** This interface makes it possible to attach a
+ TextFieldMaster to this TextField.
+ */
+ interface com::sun::star::text::XDependentTextField;
+
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/DocumentIndex.idl b/offapi/com/sun/star/text/DocumentIndex.idl
new file mode 100644
index 000000000..0d3a0bd8f
--- /dev/null
+++ b/offapi/com/sun/star/text/DocumentIndex.idl
@@ -0,0 +1,89 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+#ifndef __com_sun_star_text_DocumentIndex_idl__
+#define __com_sun_star_text_DocumentIndex_idl__
+
+#include <com/sun/star/text/BaseIndex.idl>
+#include <com/sun/star/text/XDocumentIndexMark.idl>
+
+
+module com { module sun { module star { module text {
+
+
+/** specifies service of content indexes within a document.@see com::sun::star::text::BaseIndex
+ */
+published service DocumentIndex
+{
+ service com::sun::star::text::BaseIndex;
+
+ /** determines if alphabetical separators are generated.
+ */
+ [optional, property] boolean UseAlphabeticalSeparators;
+
+ /** determines if an index entry is generated for each primary/secondary key.
+ */
+ [optional, property] boolean UseKeyAsEntry;
+
+ /** determines if same entries on different pages are combined into one index entry.
+ */
+ [optional, property] boolean UseCombinedEntries;
+
+ /** determines if the similarity of index entries is checked case sensitively.
+ */
+ [optional, property] boolean IsCaseSensitive;
+
+ /** determines if following page numbers are displayed using a "pp.".
+ */
+ [optional, property] boolean UsePP;
+
+ /** determines if following page numbers are displayed using a dash.
+ */
+ [optional, property] boolean UseDash;
+
+ /** determines if all entries start with a capital letter.
+ */
+ [optional, property] boolean UseUpperCase;
+
+ /** determines the name of the character style that is applied to the number
+ of a page where main index entry is located.
+ */
+ [optional, property] string MainEntryCharacterStyleName;
+
+ /**
+ contains all index marks that are related to this index.
+ */
+ [readonly, property] sequence <com::sun::star::text::XDocumentIndexMark> DocumentIndexMarks;
+
+ /** contains the locale of the index.
+ */
+ [property] com::sun::star::lang::Locale Locale;
+
+ /** contains the name of the sort algorithm that is used to sort the entries.
+ */
+ [property] string SortAlgorithm;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/DocumentIndexLevelFormat.idl b/offapi/com/sun/star/text/DocumentIndexLevelFormat.idl
new file mode 100644
index 000000000..50d68d8d6
--- /dev/null
+++ b/offapi/com/sun/star/text/DocumentIndexLevelFormat.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_text_DocumentIndexLevelFormat_idl__
+#define __com_sun_star_text_DocumentIndexLevelFormat_idl__
+
+#include <com/sun/star/container/XIndexReplace.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+/** This service provides access to the structure of the levels of document indexes.
+
+
+ <p>
+ The element type is Sequence&lt; PropertyValues &gt;. Each element in this sequence represents
+ a member of an index line. The following properties are part of such an element.
+ </p>
+ <ul>
+ <li>
+ <p>TokenType</p>
+ <p>Values:</p>
+ <ul>
+ <li>
+ <p>TokenEntryNumber - chapter number, used in content indexes
+ only</p>
+ </li>
+ <li>
+ <p>TokenEntryText - text of the entry
+ </p>
+ </li>
+ <li>
+ <p>TokenTabStop - tab stop
+ </p>
+ </li>
+ <li>
+ <p>TokenText - user defined text
+ </p>
+ </li>
+ <li>
+ <p>TokenPageNumber - page number
+ </p>
+ </li>
+ <li>
+ <p>TokenChapterInfo - chapter info, in illustration indexes,
+ table indexes, user indexes, table of objects and alphabetical indexes
+ only</p>
+ </li>
+ <li>
+ <p>TokenHyperlinkStart - start of a hyperlink</p>
+ </li>
+ <li>
+ <p>TokenHyperlinkEnd - end of a hyperlink</p>
+ </li>
+ <li>
+ <p>TokenBibliographyDataField - bibliographic data field
+ </p>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <p>CharacterStyleName</p>
+ <p>Name of the character style applied to the element. Invalid in tab stops.</p>
+ </li>
+ <li>
+ <p>TabStopRightAligned</p>
+ <p>Tab stop is right aligned. Only valid for tab stops.</p>
+ </li>
+ <li>
+ <p>TabStopPosition</p>
+ <p>Position of the tab stop. Only valid for tab stops.</p>
+ </li>
+ <li>
+ <p>TabStopFillCharacter</p>
+ <p>Fill character in tab stops. Only valid for tab stops.</p>
+ </li>
+ <li>
+ <p>WithTab</p>
+ <p>If true insert tab character.</p>
+ </li>
+ <li>
+ <p>Text</p>
+ <p>Text. Only valid in user defined text.</p>
+ </li>
+ <li>
+ <p>ChapterFormat</p>
+ <p>Valid in chapter info and entry number only. See ChapterFormat.</p>
+ <p>Other information.</p>
+ <ul>
+ <li>
+ <p>In chapter info only com.sun.star.text.ChapterFormat.NUMBER, com.sun.star.text.ChapterFormat.NAME, and
+ com.sun.star.text.ChapterFormat.NAME_NUMBER constants are allowed.</p>
+ </li>
+ <li>
+ <p>In entry number only com.sun.star.text.ChapterFormat.NUMBER and com.sun.star.text.ChapterFormat.DIGIT constants are allowed.</p>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <p>ChapterLevel</p>
+ <p>Valid in chapter info and entry number only. Denotes the level up to which
+ the chapter information is given. Values permitted 1 to 10 inclusive.</p>
+ </li>
+ </ul>
+ */
+published service DocumentIndexLevelFormat
+{
+ interface com::sun::star::container::XIndexReplace;
+
+
+};
+
+
+}; }; }; };
+
+#endif
+
+
+
+
+
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/DocumentIndexMark.idl b/offapi/com/sun/star/text/DocumentIndexMark.idl
new file mode 100644
index 000000000..a62c9f33d
--- /dev/null
+++ b/offapi/com/sun/star/text/DocumentIndexMark.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_text_DocumentIndexMark_idl__
+#define __com_sun_star_text_DocumentIndexMark_idl__
+
+#include <com/sun/star/text/TextContent.idl>
+#include <com/sun/star/text/BaseIndexMark.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+
+/** is a TextRange which is explicitly marked
+ as an index entry for a DocumentIndex.
+ */
+published service DocumentIndexMark
+{
+ service com::sun::star::text::TextContent;
+
+ service com::sun::star::text::BaseIndexMark;
+
+ /** contains the primary key of the index entry.
+ It is used to build a hierarchical document index.
+ */
+ [property] string PrimaryKey;
+ /** contains the secondary key of the index entry.
+ It is used to build a hierarchical document index.
+ */
+ [property] string SecondaryKey;
+ /** determines if this entry is a main entry. In a document index this entry will
+ be emphasized by assigning a character style to it.
+ */
+ [property] boolean IsMainEntry;
+};
+
+
+}; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/DocumentIndexMarkAsian.idl b/offapi/com/sun/star/text/DocumentIndexMarkAsian.idl
new file mode 100644
index 000000000..d8d89a0ea
--- /dev/null
+++ b/offapi/com/sun/star/text/DocumentIndexMarkAsian.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_text_DocumentIndexMarkAsian_idl__
+#define __com_sun_star_text_DocumentIndexMarkAsian_idl__
+
+
+
+
+ module com { module sun { module star { module text {
+
+
+/** is a TextRange which is explicitly marked
+ as an index entry for a DocumentIndex.
+ For Asian languages the user can provide an additional string
+ which is used for sorting. If the user does not provide these
+ strings, they are not considered for sorting.
+
+ @since OOo 1.1.2
+ */
+published service DocumentIndexMarkAsian
+{
+ /** contains the reading of the string which has been chosen for the
+ index entry.
+ */
+ [property] string TextReading;
+ /** contains the reading of the primary key of the index entry.
+ It is used to build a hierarchical document index.
+ */
+ [property] string PrimaryKeyReading;
+ /** contains the reading the secondary key of the index entry.
+ It is used to build a hierarchical document index.
+ */
+ [property] string SecondaryKeyReading;
+};
+
+
+}; }; }; };
+#endif
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/DocumentIndexParagraphStyles.idl b/offapi/com/sun/star/text/DocumentIndexParagraphStyles.idl
new file mode 100644
index 000000000..46e44ea25
--- /dev/null
+++ b/offapi/com/sun/star/text/DocumentIndexParagraphStyles.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_text_DocumentIndexParagraphStyles_idl__
+#define __com_sun_star_text_DocumentIndexParagraphStyles_idl__
+
+#include <com/sun/star/container/XIndexReplace.idl>
+
+
+ module com { module sun { module star { module text {
+
+/** provides access to the names of paragraph styles that are included
+ in content indexes of user defined indexes. The element type is sequence of string.
+ */
+published service DocumentIndexParagraphStyles
+{
+ interface com::sun::star::container::XIndexReplace;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+
+
+
+
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/DocumentIndexes.idl b/offapi/com/sun/star/text/DocumentIndexes.idl
new file mode 100644
index 000000000..09c51eb7a
--- /dev/null
+++ b/offapi/com/sun/star/text/DocumentIndexes.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_text_DocumentIndexes_idl__
+#define __com_sun_star_text_DocumentIndexes_idl__
+
+#include <com/sun/star/container/XNameAccess.idl>
+#include <com/sun/star/container/XIndexAccess.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+
+/** provides access to all indexes in a document.
+ */
+published service DocumentIndexes
+{
+ /** This interface makes it possible to access all BaseIndex
+ instances within this context (e.g., a document) by its name.
+
+ <p>The type of the interfaces returned by this collection is
+ always XDocumentIndex.
+ */
+ interface com::sun::star::container::XNameAccess;
+
+ /** This interface makes it possible to access all BaseIndex
+ instances within this context (e.g., a document) by its index.
+
+ <p>The type of the interfaces returned by this collection is
+ always XDocumentIndex.
+ */
+ interface com::sun::star::container::XIndexAccess;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/DocumentSettings.idl b/offapi/com/sun/star/text/DocumentSettings.idl
new file mode 100644
index 000000000..00e82c4d8
--- /dev/null
+++ b/offapi/com/sun/star/text/DocumentSettings.idl
@@ -0,0 +1,182 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_text_DocumentSettings_idl__
+#define __com_sun_star_text_DocumentSettings_idl__
+
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/document/Settings.idl>
+#include <com/sun/star/text/PrintSettings.idl>
+
+
+module com { module sun { module star { module text {
+
+
+/** describes properties that apply to the whole text document.
+ */
+published service DocumentSettings
+{
+ service com::sun::star::document::Settings;
+
+ [optional] service com::sun::star::text::PrintSettings;
+
+ /** gives access to the properties implemented by this service.
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+
+ /** specifies if charts in text documents are updated automatically.
+
+ This has no effect if "FieldAutoUpdate" is `FALSE`.
+ */
+ [optional, property] boolean ChartAutoUpdate;
+
+ /** specifies if spacing between paragraphs and tables is to be
+ added.
+
+ <p>If between two paragraphs, two tables, or a paragraph and a
+ table, you have defined spacing above and below each object,
+ usually only the larger one of the two spaces is used. If the
+ spacing between the objects are to be added this property has
+ to be `TRUE`.</p>
+ */
+ [optional, property] boolean AddParaTableSpacing;
+
+ /** specifies if top paragraph spacing is applied to paragraphs
+ on the first page of text documents.
+
+ <p>If `TRUE`, the paragraph or table spacing to the top will
+ also be effective at the beginning of a page or column if the
+ paragraph or table is positioned on the first page of the
+ document. The same applies for a page break.</p>
+ */
+ [optional, property] boolean AddParaTableSpacingAtStart;
+
+ /** specifies the alignment of tab stops in text documents.
+
+ <p>If `TRUE` centered and right-aligned paragraphs containing
+ tabs are formatted as a whole in the center or aligned to the
+ right. If `FALSE`, only the text to the right of the last
+ tab, for example, is aligned to the right, while the text to
+ the left remains where it is.</p>
+ */
+ [optional, property] boolean AlignTabStopPosition;
+
+ /** specifies if the contents of links in the global document
+ are saved or not.
+
+ <p>This property applies only for master documents.</p>
+
+ <p><em>Note</em>: This name is a bit misleading, it should be
+ something like <code>SaveLinkedDocumentContent</code>.</p>
+ */
+ [optional, property] boolean SaveGlobalDocumentLinks;
+ /** specifies if the document has been created as a label document.
+
+ <p>This property indicates that the document contains multiple text frames
+ and that the content of one frame is duplicated into the other frames
+ by internally linked text sections.</p>
+
+ */
+ [optional, property] boolean IsLabelDocument;
+ /** specifies if the former (till OpenOffice.org 1.1) or the new
+ line spacing formatting is applied.
+
+ <p>This property controls how a set line spacing at a paragraph
+ influences the formatting of the text lines and the spacing between
+ paragraphs.
+ If `TRUE`, the formatting till OpenOffice.org 1.1 is
+ applied. This means, that a proportional line spacing is applied
+ above and below a text line and that the maximum of the line spacing
+ value between two paragraphs is added respectively reckoned up with the
+ paragraph spacing (adding or reckoning up is controlled by document
+ option AddParaTableSpacing).
+ If `FALSE` (default for documents since OpenOffice.org 2.0),
+ a proportional line spacing is only applied below a text line and
+ it's always added to the paragraph spacing between two paragraphs.</p>
+
+ @since OOo 2.0
+ */
+ [optional, property] boolean UseFormerLineSpacing;
+ /** specifies if paragraph and table spacing is added at the
+ bottom of table cells
+
+ <p>This property controls, if the spacing of the last paragraph
+ respectively table of a table cell is added at the bottom of this
+ table cells
+ If `TRUE` (default for documents since OpenOffice.org 2.0),
+ the spacing of the last paragraph respectively table of a table
+ cell is added at the bottom of this table cell.
+ If `FALSE` (typically for documents till OpenOffice.org 1.1),
+ the spacing of the last paragraph respectively table of a table
+ cell isn't added at the bottom of this table cell.</p>
+
+ @since OOo 2.0
+ */
+ [optional, property] boolean AddParaSpacingToTableCells;
+ /** specifies if the former (till OpenOffice.org 1.1) or the new
+ object positioning is applied.
+
+ <p>This property controls how floating screen objects (Writer
+ fly frames and drawing objects are positioned.
+ If `TRUE`, the object positioning till OpenOffice.org 1.1 is
+ applied. This means, that the top of a paragraph, at which a
+ floating screen object orients its vertical position, includes
+ the lower spacing and the line spacing of the previous paragraph.
+ If `FALSE` (default for documents since OpenOffice.org 2.0),
+ the top of a paragraph, at which a floating screen object orients
+ its vertical position, doesn't include the lower spacing and the
+ line spacing of the previous paragraph.</p>
+
+ @since OOo 2.0
+ */
+ [optional, property] boolean UseFormerObjectPositioning;
+
+ /** specifies if the text wrap of floating screen objects are
+ considered in a specified way in the positioning algorithm.
+
+ <p>This property controls how floating screen objects (Writer
+ fly frames and drawing objects) are positioned.
+ If `TRUE`, the object positioning algorithm will consider
+ the text wrap style, set at the floating screen object.
+ The attribute BaseFrameProperties::WrapInfluenceOnPosition
+ specifies how the text wrap is considered.
+ If `FALSE` (default value), the former object positioning
+ algorithm (known from OpenOffice.org 1.1) is applied.</p>
+
+ @since OOo 2.0
+ */
+ [optional, property] boolean ConsiderTextWrapOnObjPos;
+
+ /** specifies if Math objects should automatically vertically aligned to
+ match the baseline of the surrounding text.
+
+ <p>If activated formula object that are anchored 'As Character' will be
+ vertically aligned to have their baseline match with the one from the text.</p>
+
+ @since OOo 3.4
+ */
+ [optional, property] boolean MathBaselineAlignment;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/DocumentStatistic.idl b/offapi/com/sun/star/text/DocumentStatistic.idl
new file mode 100644
index 000000000..8ab15a628
--- /dev/null
+++ b/offapi/com/sun/star/text/DocumentStatistic.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_text_DocumentStatistic_idl__
+#define __com_sun_star_text_DocumentStatistic_idl__
+
+
+
+ module com { module sun { module star { module text {
+
+/** These constants are used to specify the type of a document statistic
+ field.
+ */
+published constants DocumentStatistic
+{
+ // The text field displays the number of pages of the document.
+ const short PAGES = 0;
+
+ // The text field displays the number of paragraphs of the document.
+ const short PARAS = 1;
+
+ // The text field words the number of paragraphs of the document.
+ const short WORDS = 2;
+
+ // The text field characters the number of paragraphs of the document.
+ const short CHARS = 3;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/Endnote.idl b/offapi/com/sun/star/text/Endnote.idl
new file mode 100644
index 000000000..276c7cef2
--- /dev/null
+++ b/offapi/com/sun/star/text/Endnote.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_text_Endnote_idl__
+#define __com_sun_star_text_Endnote_idl__
+
+#include <com/sun/star/text/Footnote.idl>
+
+
+
+module com { module sun { module star { module text {
+
+/** This service specifies an endnote in a
+ TextDocument.
+*/
+published service Endnote
+{
+ service Footnote;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/EndnoteSettings.idl b/offapi/com/sun/star/text/EndnoteSettings.idl
new file mode 100644
index 000000000..e653d1227
--- /dev/null
+++ b/offapi/com/sun/star/text/EndnoteSettings.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_text_EndnoteSettings_idl__
+#define __com_sun_star_text_EndnoteSettings_idl__
+
+#include <com/sun/star/text/FootnoteSettings.idl>
+
+
+ module com { module sun { module star { module text {
+
+
+/** provides access to the settings of footnotes or endnotes in a
+ (text) document.
+ */
+published service EndnoteSettings
+{
+ service FootnoteSettings;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/FilenameDisplayFormat.idl b/offapi/com/sun/star/text/FilenameDisplayFormat.idl
new file mode 100644
index 000000000..72b0041d5
--- /dev/null
+++ b/offapi/com/sun/star/text/FilenameDisplayFormat.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_text_FilenameDisplayFormat_idl__
+#define __com_sun_star_text_FilenameDisplayFormat_idl__
+
+
+
+ module com { module sun { module star { module text {
+
+/** These constants are used to specify which parts of a URL are displayed
+ in a field.
+ */
+published constants FilenameDisplayFormat
+{
+ /** The content of the URL is completely displayed.
+ */
+ const short FULL = 0;
+
+ /** Only the path of the file is displayed.
+ */
+ const short PATH = 1;
+
+ /** Only the name of the file without the file extension is displayed.
+ */
+ const short NAME = 2;
+
+ /** The file name including the file extension is displayed.
+ */
+ const short NAME_AND_EXT = 3;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/FontEmphasis.idl b/offapi/com/sun/star/text/FontEmphasis.idl
new file mode 100644
index 000000000..6c4da6cd1
--- /dev/null
+++ b/offapi/com/sun/star/text/FontEmphasis.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_text_FontEmphasis_idl__
+#define __com_sun_star_text_FontEmphasis_idl__
+
+
+
+ module com { module sun { module star { module text {
+
+/** Determines the type and position of an emphasis mark in Asian texts.
+ */
+published constants FontEmphasis
+{
+ /** no emphasis mark is used.
+ */
+ const short NONE = 0;
+
+ /** a dot is set above (or right from vertical text) the text.
+ */
+ const short DOT_ABOVE = 1;
+
+ /** a circle is set above (or right from vertical text) the text.
+ */
+ const short CIRCLE_ABOVE = 2;
+ /** a disc is set above (or right from vertical text) the text.
+ */
+ const short DISK_ABOVE = 3;
+ /** an accent is set above (or right from vertical text) the text.
+ */
+ const short ACCENT_ABOVE = 4;
+ /** a dot is set below (or left from vertical text) the text.
+ */
+ const short DOT_BELOW = 11;
+ /** a circle is set below (or left from vertical text) the text.
+ */
+ const short CIRCLE_BELOW = 12;
+ /** a disk is set below (or left from vertical text) the text.
+ */
+ const short DISK_BELOW = 13;
+ /** an accent is set below (or left from vertical text) the text.
+ */
+ const short ACCENT_BELOW = 14;
+
+};
+
+
+}; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/FontRelief.idl b/offapi/com/sun/star/text/FontRelief.idl
new file mode 100644
index 000000000..59a42ee1a
--- /dev/null
+++ b/offapi/com/sun/star/text/FontRelief.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_text_FontRelief_idl__
+#define __com_sun_star_text_FontRelief_idl__
+
+
+
+ module com { module sun { module star { module text {
+
+/** Determines the relief type of a font.
+ */
+published constants FontRelief
+{
+ /** no relief is used.
+ */
+ const short NONE = 0;
+
+ /** the font relief is embossed.
+ */
+ const short EMBOSSED = 1;
+
+ /** the font relief is engraved.
+ */
+ const short ENGRAVED = 2;
+};
+
+
+}; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/Footnote.idl b/offapi/com/sun/star/text/Footnote.idl
new file mode 100644
index 000000000..611e94713
--- /dev/null
+++ b/offapi/com/sun/star/text/Footnote.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_text_Footnote_idl__
+#define __com_sun_star_text_Footnote_idl__
+
+#include <com/sun/star/text/XFootnote.idl>
+#include <com/sun/star/text/XText.idl>
+
+
+
+module com { module sun { module star { module text {
+
+/** This service specifies a footnote or an endnote in a
+ TextDocument.
+*/
+published service Footnote
+{
+
+ /** provides access to the footnote label, which is the
+ anchor text range.
+
+ */
+ interface com::sun::star::text::XFootnote;
+
+ /** provides access to the text of the footnote (or
+ endnote).
+
+ */
+ interface com::sun::star::text::XText;
+ /** contains an internal identifier for the use as SequenceNumber property in reference fields.
+ @see com::sun::star::text::textfield::GetReference.
+ */
+ [optional, readonly, property]short ReferenceId;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/FootnoteNumbering.idl b/offapi/com/sun/star/text/FootnoteNumbering.idl
new file mode 100644
index 000000000..36a933afb
--- /dev/null
+++ b/offapi/com/sun/star/text/FootnoteNumbering.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_text_FootnoteNumbering_idl__
+#define __com_sun_star_text_FootnoteNumbering_idl__
+
+
+
+ module com { module sun { module star { module text {
+
+/** These constants are used to specify the footnote numbering.
+ */
+published constants FootnoteNumbering
+{
+ /** The counter of the automatic footnote numbering restarts each page.
+ */
+ const short PER_PAGE = 0;
+
+ /** The counter of the automatic footnote numbering restarts each
+ chapter.
+ */
+ const short PER_CHAPTER = 1;
+
+ /** The counter of the automatic footnote numbering does not restart.
+ */
+ const short PER_DOCUMENT = 2;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/FootnoteSettings.idl b/offapi/com/sun/star/text/FootnoteSettings.idl
new file mode 100644
index 000000000..6a7c03ad0
--- /dev/null
+++ b/offapi/com/sun/star/text/FootnoteSettings.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_text_FootnoteSettings_idl__
+#define __com_sun_star_text_FootnoteSettings_idl__
+
+
+
+ module com { module sun { module star { module text {
+
+
+/** provides access to the settings of footnotes or endnotes in a
+ (text) document.
+ */
+published service FootnoteSettings
+{
+
+ /** contains the name of the character style that is used
+ for the label in front of the footnote/endnote text.
+ */
+ [property] string CharStyleName;
+
+
+ /** contains the numbering type for the numbering of the
+ footnotes/endnotes.
+ */
+ [property] short NumberingType;
+
+
+ /** contains the page style that is used for the page that
+ contains the footnote/endnote texts
+ */
+ [property] string PageStyleName;
+
+
+ /** contains the paragraph style that is used for the
+ footnote/endnote text.
+ */
+ [property] string ParaStyleName;
+
+
+ /** contains the prefix for the footnote/endnote symbol.
+ */
+ [property] string Prefix;
+
+
+ /** contains the first number of the automatic numbering
+ of footnotes/endnotes.
+ */
+ [property] short StartAt;
+
+
+ /** contains the suffix for the footnote/endnote symbol.
+ */
+ [property] string Suffix;
+
+
+ /** contains the string at the restart of the footnote
+ text after a break.
+
+ <p>For footnotes only.</p>
+ */
+ [optional, property] string BeginNotice;
+
+
+ /** contains the string at the end of a footnote part in
+ front of a break.
+
+ <p>For footnotes only.</p>
+ */
+ [optional, property] string EndNotice;
+
+
+ /** contains the type of the counting of the footnote numbers.
+
+ <p>For footnotes only.</p>
+ @see FootnoteNumbering
+ */
+ [optional, property] short FootnoteCounting;
+
+
+ /** If `TRUE`, the footnote text is shown at the end of the document.
+
+ <p>For footnotes only.</p>
+ */
+ [optional, property] boolean PositionEndOfDoc;
+
+
+ /** contains the name of the character style that is used
+ for footnote/endnote anchor in the text.
+
+ @since OOo 2.0
+ */
+ [optional, property] string AnchorCharStyleName;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/Footnotes.idl b/offapi/com/sun/star/text/Footnotes.idl
new file mode 100644
index 000000000..f17540f52
--- /dev/null
+++ b/offapi/com/sun/star/text/Footnotes.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_text_Footnotes_idl__
+#define __com_sun_star_text_Footnotes_idl__
+
+#include <com/sun/star/container/XIndexAccess.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+/** provides access to the footnotes or endnotes of a (text)
+ document.
+ */
+published service Footnotes
+{
+
+ /** provides access to the footnotes of the document.
+ */
+ interface com::sun::star::container::XIndexAccess;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/GenericTextDocument.idl b/offapi/com/sun/star/text/GenericTextDocument.idl
new file mode 100644
index 000000000..f242f9979
--- /dev/null
+++ b/offapi/com/sun/star/text/GenericTextDocument.idl
@@ -0,0 +1,195 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_text_GenericTextDocument_idl__
+#define __com_sun_star_text_GenericTextDocument_idl__
+
+#include <com/sun/star/document/OfficeDocument.idl>
+#include <com/sun/star/text/XTextDocument.idl>
+#include <com/sun/star/util/XSearchable.idl>
+#include <com/sun/star/util/XRefreshable.idl>
+#include <com/sun/star/tiledrendering/XTiledRenderable.idl>
+#include <com/sun/star/text/XFootnotesSupplier.idl>
+#include <com/sun/star/text/XEndnotesSupplier.idl>
+#include <com/sun/star/util/XReplaceable.idl>
+#include <com/sun/star/text/XPagePrintable.idl>
+#include <com/sun/star/text/XReferenceMarksSupplier.idl>
+#include <com/sun/star/text/XChapterNumberingSupplier.idl>
+#include <com/sun/star/text/XTextGraphicObjectsSupplier.idl>
+#include <com/sun/star/text/XTextEmbeddedObjectsSupplier.idl>
+#include <com/sun/star/text/XTextTablesSupplier.idl>
+#include <com/sun/star/style/XStyleFamiliesSupplier.idl>
+#include <com/sun/star/util/XNumberFormatsSupplier.idl>
+#include <com/sun/star/text/XBookmarksSupplier.idl>
+#include <com/sun/star/text/XDocumentIndexesSupplier.idl>
+#include <com/sun/star/text/XTextFieldsSupplier.idl>
+#include <com/sun/star/text/XTextFramesSupplier.idl>
+#include <com/sun/star/text/XTextSectionsSupplier.idl>
+#include <com/sun/star/lang/XMultiServiceFactory.idl>
+#include <com/sun/star/lang/Locale.idl>
+
+
+ module com { module sun { module star { module text {
+
+
+/** A text document is a model component which contains text
+ structured by paragraphs.
+
+ <p>Each paragraph and each portion of text can be fitted with
+ some attributes (technically properties).</p>
+
+ <p>It's declared as generic text document, because its function is
+ needed by different derived services (TextDocument/WebDocument/GlobalDocument).</p>
+
+ <p>In addition, all text objects can be searched.</p>
+ */
+published service GenericTextDocument
+{
+ service com::sun::star::document::OfficeDocument;
+
+ /** provides methods to create instances of several text document
+ services.
+ A text document provides several services which need the context
+ of a text document and these text document dependent services are
+ created at the text document directly and not over the global service
+ manager.
+ */
+ interface com::sun::star::lang::XMultiServiceFactory;
+
+ interface com::sun::star::text::XTextDocument;
+
+ interface com::sun::star::util::XSearchable;
+
+ interface com::sun::star::util::XRefreshable;
+
+ /** @since LibreOffice 5.0 */
+ [optional] interface com::sun::star::tiledrendering::XTiledRenderable;
+
+ [optional] interface com::sun::star::text::XFootnotesSupplier;
+
+ [optional] interface com::sun::star::text::XEndnotesSupplier;
+
+ [optional] interface com::sun::star::util::XReplaceable;
+
+ [optional] interface com::sun::star::text::XPagePrintable;
+
+ [optional] interface com::sun::star::text::XReferenceMarksSupplier;
+
+ [optional] interface com::sun::star::text::XChapterNumberingSupplier;
+
+ [optional] interface com::sun::star::beans::XPropertySet;
+
+ [optional] interface com::sun::star::text::XTextGraphicObjectsSupplier;
+
+ [optional] interface com::sun::star::text::XTextEmbeddedObjectsSupplier;
+
+ [optional] interface com::sun::star::text::XTextTablesSupplier;
+
+ [optional] interface com::sun::star::style::XStyleFamiliesSupplier;
+
+ /** @since OOo 1.1.2
+ */
+ [optional] interface com::sun::star::text::XBookmarksSupplier;
+
+ /** @since OOo 1.1.2
+ */
+ [optional] interface com::sun::star::text::XDocumentIndexesSupplier;
+
+ /** @since OOo 1.1.2
+ */
+ [optional] interface com::sun::star::text::XTextFieldsSupplier;
+
+ /** @since OOo 1.1.2
+ */
+ [optional] interface com::sun::star::text::XTextFramesSupplier;
+
+ /** @since OOo 1.1.2
+ */
+ [optional] interface com::sun::star::text::XTextSectionsSupplier;
+
+ /** @since OOo 1.1.2
+ */
+ [optional] interface com::sun::star::util::XNumberFormatsSupplier;
+
+ /** contains the identifier of the default locale of the document.
+ */
+ [optional, property] com::sun::star::lang::Locale CharLocale;
+
+
+ /** contains the count of all characters in the document.
+ */
+ [optional, readonly, property] long CharacterCount;
+
+
+
+ /** contains the count of all paragraphs in the document.
+ */
+ [optional, readonly, property] long ParagraphCount;
+
+
+ /** contains the count of all words in the document.@see WordSeparator
+ */
+ [optional, readonly, property] long WordCount;
+
+
+ /** contains a string that consists of characters that mark the
+ separation of words in counting the words in a document.
+
+
+
+ <p> I.e. slash and backslash. Whitespace (tab stop,
+ space, paragraph break, line break) always separate
+ words.</p>@see WordCount
+ */
+ [optional, property] string WordSeparator;
+
+ /** specifies the concordance file taken into account when
+ * creating an index.
+ *
+ * When no concordance file should be used the string is empty.
+ * Used for text documents only.
+ *
+ * @since OOo 1.1.2
+ */
+ [optional, property] string IndexAutoMarkFileURL;
+
+ /** specifies if change recording is active.
+ *
+ * @since OOo 1.1.2
+ */
+ [optional, property] boolean RecordChanges;
+
+ /** specifies the first 4 digit year to be used when years
+ * are given in 2 digits.
+ *
+ * Example: if set to 1930
+ * Oct-12-29 will be interpreted as Oct-12-2029
+ * Oct-12-30 will be interpreted as Oct-12-1930
+ * Oct-12-02 will be interpreted as Oct-12-2002
+ *
+ * @since OOo 1.1.2
+ */
+ [optional, property] short TwoDigitYear;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/GlobalDocument.idl b/offapi/com/sun/star/text/GlobalDocument.idl
new file mode 100644
index 000000000..3befc5ec6
--- /dev/null
+++ b/offapi/com/sun/star/text/GlobalDocument.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_text_GlobalDocument_idl__
+#define __com_sun_star_text_GlobalDocument_idl__
+
+#include <com/sun/star/text/GenericTextDocument.idl>
+
+
+ module com { module sun { module star { module text {
+
+
+/** Specify the document service of the global text module.
+
+ @deprecated
+ */
+service GlobalDocument
+{
+ /** Provides the functionality of such global document. */
+ service GenericTextDocument;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/GlobalSettings.idl b/offapi/com/sun/star/text/GlobalSettings.idl
new file mode 100644
index 000000000..f5613b3a0
--- /dev/null
+++ b/offapi/com/sun/star/text/GlobalSettings.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_text_GlobalSettings_idl__
+#define __com_sun_star_text_GlobalSettings_idl__
+
+#include <com/sun/star/view/XPrintSettingsSupplier.idl>
+#include <com/sun/star/view/XViewSettingsSupplier.idl>
+
+
+
+
+ module com { module sun { module star { module text {
+
+
+/** specifies a service that provides access to the settings of a text module.
+ */
+published service GlobalSettings
+{
+ /** This interface specifies the access to the print settings.
+ */
+ interface com::sun::star::view::XPrintSettingsSupplier;
+ /** This interface specifies the access to the view settings.
+ */
+ interface com::sun::star::view::XViewSettingsSupplier;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/GraphicCrop.idl b/offapi/com/sun/star/text/GraphicCrop.idl
new file mode 100644
index 000000000..efd7cce55
--- /dev/null
+++ b/offapi/com/sun/star/text/GraphicCrop.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_text_GraphicCrop_idl__
+#define __com_sun_star_text_GraphicCrop_idl__
+
+
+
+ module com { module sun { module star { module text {
+
+/** describes the cropping of graphic objects.
+ Cropping means to show only parts of the object.
+
+
+
+ <p>Negative values cut the visible area; positive values
+ extend the visible area by filling it with background color.
+ The absolute sum of top and bottom crop must be smaller
+ than the objects original height. The absolute sum of the left and
+ right crop must be smaller than the object's original width.
+
+ </p>
+ <p>If this property is applied to a graphic object, then this object
+ will correct these values if necessary.
+ </p>
+ */
+published struct GraphicCrop
+{
+ /** contains the top value to cut (if negative) or to extend (if positive)
+ */
+ long Top;
+
+ /** contains the bottom value to cut (if negative) or to extend (if positive)
+ */
+ long Bottom;
+
+ /** contains the left value to cut (if negative) or to extend (if positive)
+ */
+ long Left;
+
+ /** contains the right value to cut (if negative) or to extend (if positive)
+ */
+ long Right;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/HoriOrientation.idl b/offapi/com/sun/star/text/HoriOrientation.idl
new file mode 100644
index 000000000..66c8b2211
--- /dev/null
+++ b/offapi/com/sun/star/text/HoriOrientation.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_text_HoriOrientation_idl__
+#define __com_sun_star_text_HoriOrientation_idl__
+
+
+
+ module com { module sun { module star { module text {
+
+/** These enumeration values specify the horizontal orientation.
+ */
+published constants HoriOrientation
+{
+ /** no hard alignment is applied.
+
+ <p>For text tables this means that the tables position is
+ defined by the left and right margins.
+
+ <p>For frame objects (text frames, graphics,...) this means
+ that the position is defined by a left offset.
+ */
+ const short NONE = 0;
+
+ /** The object is aligned at the right side.
+ */
+ const short RIGHT = 1;
+
+ /** The object is aligned at the middle.
+ */
+ const short CENTER = 2;
+
+ /** The object is aligned at the left side.
+ */
+ const short LEFT = 3;
+
+ /** TODO
+ */
+ const short INSIDE = 4;
+
+ /** TODO
+ */
+ const short OUTSIDE = 5;
+
+ /** The object uses the full space (for text tables only).
+ */
+ const short FULL = 6;
+
+ /** The left offset and the width of the object are defined.
+ <p> For text tables this means that the tables position is
+ defined by the left margin and the width.
+ */
+ const short LEFT_AND_WIDTH = 7;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/HoriOrientationFormat.idl b/offapi/com/sun/star/text/HoriOrientationFormat.idl
new file mode 100644
index 000000000..f6d345a17
--- /dev/null
+++ b/offapi/com/sun/star/text/HoriOrientationFormat.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_text_HoriOrientationFormat_idl__
+#define __com_sun_star_text_HoriOrientationFormat_idl__
+
+
+
+ module com { module sun { module star { module text {
+
+/** describes the horizontal orientation of an object.
+
+
+
+ <p>If <code>HorizontalOrientation == HORI_NONE</code>, then the value
+ "XPos" describes the distance from the left border of the context.
+ Otherwise "XPos" is ignored.
+
+ </p>
+ <p>The following flags are used to adapt the position of the object
+ to odd and even pages. If "PositionToggle" is set, then the
+ horizontal position is mirrored.</p>
+ */
+published struct HoriOrientationFormat
+{
+ /** contains the distance from the left border. Only valid if
+ the property HorizontalOrientation contains the value HORI_NONE.
+ */
+ long XPos;
+
+ /** determines the horizontal alignment of an object.
+ The values refer to com::sun::star::HoriOrientation.
+ */
+ short HorizontalOrientation;
+
+ /** determines the reference position of the horizontal alignment.@see com::sun::star::text::RelOrientation
+ */
+ short HorizontalRelation;
+
+ /** determines if the orientation toggles between left and right pages.
+ */
+ boolean PositionToggle;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/HorizontalAdjust.idl b/offapi/com/sun/star/text/HorizontalAdjust.idl
new file mode 100644
index 000000000..16867a283
--- /dev/null
+++ b/offapi/com/sun/star/text/HorizontalAdjust.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_text_HorizontalAdjust_idl__
+#define __com_sun_star_text_HorizontalAdjust_idl__
+
+
+
+ module com { module sun { module star { module text {
+
+/** enumeration values define the horizontal adjustments of objects.
+ */
+published enum HorizontalAdjust
+{
+ /** the object is left adjusted.
+ */
+ LEFT,
+
+ /** the object is adjusted to the center.
+ */
+ CENTER,
+
+ /** the object is right adjusted.
+ */
+ RIGHT
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/IllustrationsIndex.idl b/offapi/com/sun/star/text/IllustrationsIndex.idl
new file mode 100644
index 000000000..4b8f6ac7f
--- /dev/null
+++ b/offapi/com/sun/star/text/IllustrationsIndex.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_text_IllustrationsIndex_idl__
+#define __com_sun_star_text_IllustrationsIndex_idl__
+
+#include <com/sun/star/text/BaseIndex.idl>
+
+
+module com { module sun { module star { module text {
+
+/** specifies service of illustration indexes within a document.
+ @see com::sun::star::text::BaseIndex
+*/
+published service IllustrationsIndex
+{
+ service com::sun::star::text::BaseIndex;
+
+ /* determines if the name or the label of an object is used to create the index.
+ */
+ [optional, property] boolean CreateFromLabels; //tables, illustrations
+ /* determines the name of the sequence field that is evaluated to create the index.
+ */
+ [optional, property] string LabelCategory; //tables, illustrations
+ /* determines the way the paragraph containing a label is included in the index.
+ @see ChapterFormat*/
+ [optional, property] short LabelDisplayType;//tables, illustrations
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/InContentMetadata.idl b/offapi/com/sun/star/text/InContentMetadata.idl
new file mode 100644
index 000000000..4d8c0c1b3
--- /dev/null
+++ b/offapi/com/sun/star/text/InContentMetadata.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_text_InContentMetadata_idl__
+#define __com_sun_star_text_InContentMetadata_idl__
+
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#include <com/sun/star/container/XChild.idl>
+#include <com/sun/star/text/TextContent.idl>
+#include <com/sun/star/rdf/XMetadatable.idl>
+
+
+
+module com { module sun { module star { module text {
+
+
+/** is a TextContent that can be used to attach RDF metadata
+ to a range of text.
+
+ @since OOo 3.2
+ */
+service InContentMetadata
+{
+ /** None of the properties of TextContent are
+ supported. */
+ service com::sun::star::text::TextContent;
+
+ /** The InContentMetadata can have RDF metadata attached. */
+ interface com::sun::star::rdf::XMetadatable;
+
+ /** The TextContents that are contained in the
+ annotated range of text can be enumerated. */
+ interface com::sun::star::container::XEnumerationAccess;
+
+ /** The TextContent that is the parent of this text range.
+ @since OOo 3.3
+ */
+ interface com::sun::star::container::XChild;
+
+};
+
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/InvalidTextContentException.idl b/offapi/com/sun/star/text/InvalidTextContentException.idl
new file mode 100644
index 000000000..c15e2b892
--- /dev/null
+++ b/offapi/com/sun/star/text/InvalidTextContentException.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_text_InvalidTextContentException_idl__
+#define __com_sun_star_text_InvalidTextContentException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+#include <com/sun/star/text/XTextContent.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+/** is thrown whenever a method gets a TextContent
+ as an actual argument when the text content cannot be used for that
+ operation.
+ */
+published exception InvalidTextContentException: com::sun::star::uno::Exception
+{
+ /** contains the interface of the text content that caused the exception.
+ */
+ com::sun::star::text::XTextContent TextContent;
+
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/LabelFollow.idl b/offapi/com/sun/star/text/LabelFollow.idl
new file mode 100644
index 000000000..24c944cbc
--- /dev/null
+++ b/offapi/com/sun/star/text/LabelFollow.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_text_LabelFollow_idl__
+#define __com_sun_star_text_LabelFollow_idl__
+
+
+
+ module com { module sun { module star { module text {
+
+
+/** These enumeration values specify character following the list label
+
+ @since OOo 3.0
+ */
+published constants LabelFollow
+{
+
+ /** list tab stop
+ */
+ const short LISTTAB = 0;
+
+
+ /** space
+ */
+ const short SPACE = 1;
+
+
+ /** nothing
+ */
+ const short NOTHING = 2;
+
+ /** new line
+ */
+ const short NEWLINE = 3;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/LineNumberingProperties.idl b/offapi/com/sun/star/text/LineNumberingProperties.idl
new file mode 100644
index 000000000..fe15d0c7c
--- /dev/null
+++ b/offapi/com/sun/star/text/LineNumberingProperties.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_text_LineNumberingProperties_idl__
+#define __com_sun_star_text_LineNumberingProperties_idl__
+
+#include <com/sun/star/text/XLineNumberingProperties.idl>
+
+
+ module com { module sun { module star { module text {
+
+/** provides access to the settings of the line numbering.
+ */
+published service LineNumberingProperties
+{
+
+ /** If `TRUE`, line numbering is used.
+ */
+ [property] boolean IsOn;
+
+
+ /** The name of the character style that is used for the line number.
+ */
+ [property] string CharStyleName;
+
+
+ /** If `TRUE`, empty lines are counted.
+ */
+ [property] boolean CountEmptyLines;
+
+ /** If `TRUE`, lines in frames are included in counting.
+ */
+ [property] boolean CountLinesInFrames;
+
+ /** specifies the distance between the line number and the start or
+ end of the text area.
+ */
+ [property] long Distance;
+
+ /** Line numbers are shown on every <var>Interval</var>th line.
+ */
+ [property] short Interval;
+
+ /** specifies the string that is used for the line separator.
+ */
+ [property] string SeparatorText;
+
+ /** The line separator is shown every <var>SeparatorInterval</var>th line.
+ */
+ [property] short SeparatorInterval;
+
+ /** specifies the position of the line number (constant LineNumberPositions
+ left/right/inside/outside).
+ */
+ [property] short NumberPosition;
+
+ /** specifies the type of the numbering.
+ */
+ [property] short NumberingType;
+
+ /** specifies if the line numbering should start from the
+ beginning at each page.
+
+ <p>If set to `FALSE` the line numbering will be continuous.</p>
+
+ @since OOo 2.0
+ */
+ [optional, property] boolean RestartAtEachPage;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/MailMerge.idl b/offapi/com/sun/star/text/MailMerge.idl
new file mode 100644
index 000000000..e7691c4b7
--- /dev/null
+++ b/offapi/com/sun/star/text/MailMerge.idl
@@ -0,0 +1,364 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_text_MailMerge_idl__
+#define __com_sun_star_text_MailMerge_idl__
+
+#include <com/sun/star/task/XJob.idl>
+#include <com/sun/star/sdbc/XResultSet.idl>
+#include <com/sun/star/sdbc/XConnection.idl>
+#include <com/sun/star/frame/XModel.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/text/XMailMergeBroadcaster.idl>
+#include <com/sun/star/sdb/DataAccessDescriptor.idl>
+#include <com/sun/star/util/XCancellable.idl>
+
+
+ module com { module sun { module star { module text {
+
+
+/** Gives access to mail merge functionality.
+
+ @since OOo 1.1.2
+ */
+published service MailMerge
+{
+ /** interface to execute the mail merge action.
+
+ <p>The com::sun::star::task::XJob::execute()
+ method of the interface accepts exactly the same properties
+ as provided by this service in its argument sequence.</p>
+
+ <p>The default values for the properties to be used in the method
+ call are those given by this service. If a property is also listed
+ in the argument sequence that value will be used for the call.
+ The value of the property in this service will remain unchanged
+ by that.</p>
+ */
+ interface com::sun::star::task::XJob;
+
+ /** interface to cancel the current mail merge job.
+
+ @since LibreOffice 4.3
+ */
+ [optional] interface com::sun::star::util::XCancellable;
+
+ /** interface to access the services properties.
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+ /** interface to notify mail merge listeners.
+ */
+ [optional] interface com::sun::star::text::XMailMergeBroadcaster;
+
+
+ /* database properties */
+
+ /** allows to specify the data which the mail merge should be based on.
+
+ <p>This service describe the interaction between all data access related properties,
+ namely #DataSourceName, #Command, #CommandType,
+ #ActiveConnection, #Selection, #ResultSet,
+ #Filter and #EscapeProcessing
+ */
+ service com::sun::star::sdb::DataAccessDescriptor;
+
+ /** contains the name of the data source that is to be used for merging.
+
+ <p>For the interaction of this property with other data access relevant properties, see
+ the com::sun::star::sdb::DataAccessDescriptor service.</p>
+ */
+ [property] string DataSourceName;
+
+
+ /** determines the type of the database command as
+ described in com::sun::star::sdb::CommandType
+
+ <p>For the interaction of this property with other data access relevant properties, see
+ the com::sun::star::sdb::DataAccessDescriptor service.</p>
+ */
+ [property] long CommandType;
+
+
+ /** contains the database command.
+
+ <p>For the interaction of this property with other data access relevant properties, see
+ the com::sun::star::sdb::DataAccessDescriptor service.</p>
+ */
+ [property] string Command;
+
+
+ /** provides access to a
+ com::sun::star::sdbc::XResultSet of
+ a com::sun::star::sdbc::ResultSet service.
+
+ <p>Note that any superservices of com::sun::star::sdbc::ResultSet
+ are also allowed. Especially, this member can denote an instance of the
+ com::sun::star::sdb::RowSet, or an instance obtained
+ by calling com::sun::star::sdb::XResultSetAccess::createResultSet()
+ on such a com::sun::star::sdb::RowSet. This becomes important in
+ conjunction with the #Selection property.</p>
+
+ <p>For the interaction of this property with other data access relevant properties, see
+ the com::sun::star::sdb::DataAccessDescriptor service.</p>
+ */
+ [property] com::sun::star::sdbc::XResultSet ResultSet;
+
+
+ /** contains the connection to the database.
+
+ <p>For the interaction of this property with other data access relevant properties, see
+ the com::sun::star::sdb::DataAccessDescriptor service.</p>
+ */
+ [property] com::sun::star::sdbc::XConnection ActiveConnection;
+
+
+ /** contains a selection that refers to bookmarks of the ResultSet.
+
+ <p>This property is relevant in conjunction with the #ResultSet
+ only. A single element of this array describes a bookmark relative to the result set.<br/>
+ Note that this implies that the #ResultSet needs to support the
+ com::sun::star::sdbcx::XRowLocate interface.</p>
+
+ <p>If this array is empty, the whole result set, as described by #ResultSet
+ respectively the triple (#DataSourceName, #CommandType,
+ #Command).</p>
+
+ <p>For the interaction of this property with other data access relevant properties, see
+ the com::sun::star::sdb::DataAccessDescriptor service.</p>
+ */
+ [property] sequence< any > Selection;
+
+
+ /** returns if escape processing is on or off.
+
+ <p>For the interaction of this property with other data access relevant properties, see
+ the com::sun::star::sdb::DataAccessDescriptor service.</p>
+ */
+ [property] boolean EscapeProcessing;
+
+
+ /** contains a filter expression for an SQL statement.
+
+ <p>For the interaction of this property with other data access relevant properties, see
+ the com::sun::star::sdb::DataAccessDescriptor service.</p>
+ */
+ [property] string Filter;
+
+
+ /* input properties */
+
+
+ /** contains the URL of a text document that is to be processed.
+
+ <p>If this property is not set an empty document is created.</p>
+ */
+ [property] string DocumentURL;
+
+
+ /** provides access to the model of the document to be processed.
+
+ <p>This property will automatically be set to the documents model
+ if a document URL was set.</p>
+ */
+ [property, readonly] com::sun::star::frame::XModel Model;
+
+
+ /* output properties */
+
+
+ /** determines the destination of the mail merge action.
+
+ @see com::sun::star::text::MailMergeType
+ */
+ [property] short OutputType;
+
+
+ /** determines whether single print jobs will be generated per output document.
+
+ <p>This property is only evaluated for printer output.</p>
+ */
+ [property] boolean SinglePrintJobs;
+
+
+ /** contains the path where generated files are created.
+
+ <p>If "OutputURL" or "FileNamePrefix" are empty the missing value is
+ generated from the location or title of the source documents.</p>
+
+ <p>This property is only evaluated for file output.</p>
+ */
+ [property] string OutputURL;
+
+
+ /** determines whether file names of created files are generated using
+ the content of a database column.
+
+ <p>This property is only evaluated for file output.</p>
+ */
+ [property] boolean FileNameFromColumn;
+
+
+ /** contains the name of the column to generate the output file names.
+
+ <p>If FileNameFromColumn is true the content of the related column
+ is added to the OutputURL.</p>
+ <p>If "OutputURL" or "FileNamePrefix" are empty the missing value is
+ generated from the location or title of the source documents.</p>
+
+ <p>This property is only evaluated for file output.</p>
+ */
+ [property] string FileNamePrefix;
+
+
+ /** Contains the password of the outgoing mail server. It is necessary to set this
+ if the password is not already stored in the configuration for security reasons.
+
+ <p>This property is only evaluated for e-Mail output.</p>
+
+ @since OOo 2.0
+ */
+ [property, optional] string OutServerPassword;
+
+ /** Contains the password of the incoming mail server. It is necessary to set this
+ if the mail server configuration is set to "SMTP after POP" authentication and
+ the password is not already stored in the configuration for security reasons.
+
+ <p>This property is only evaluated for e-Mail output.</p>
+
+ @since OOo 2.0
+ */
+ [property, optional] string InServerPassword;
+
+ /** contains the subject of the e-Mail message.
+
+ <p>This property is only evaluated for e-Mail output.</p>
+ @since OOo 2.0
+ */
+ [property, optional] string Subject;
+
+
+ /** contains the name of the data base column that contains the e-Mail address
+ to the e-Mail to.
+
+ <p>This property is only evaluated for e-Mail output.</p>
+
+ @since OOo 2.0
+ */
+ [property, optional] string AddressFromColumn;
+
+
+ /** determines that the created mail merge document is sent as body in HTML format.
+ This property is only valid if the property "SendAsAttachment" is set to `FALSE`.
+
+ <p>This property is only evaluated for e-Mail output.</p>
+
+ @since OOo 2.0
+ */
+ [property, optional] boolean SendAsHTML;
+
+
+
+ /** determines that the created mail merge document is sent as attachment.
+
+ <p>This property is only evaluated for e-Mail output.</p>
+
+ @since OOo 2.0
+ */
+ [property, optional] boolean SendAsAttachment;
+
+
+ /** contains the text of the mail body.
+ This property is only valid if the property "SendAsAttachment" is set to `TRUE`
+ <p>This property is only evaluated for e-Mail output.</p>
+
+ @since OOo 2.0
+ */
+ [property, optional] string MailBody;
+
+
+ /** contains the name of the attachment.
+ This property is only valid if "SendAsAttachment" is set to `TRUE`.
+
+ <p>This property is only evaluated for e-Mail output.</p>
+
+ @since OOo 2.0
+ */
+ [property, optional] string AttachmentName;
+
+
+ /** contains the name of the document filter to save the attached mail merge document.
+ This property is only valid if "SendAsAttachment" is set to `TRUE`.
+
+ <p>This property is only evaluated for e-Mail output.</p>
+
+ @since OOo 2.0
+ */
+ [property, optional] string AttachmentFilter;
+
+
+ /** contains a list of e-Mail addresses to
+ <p>This property is only evaluated for e-Mail output.</p>
+
+ @since OOo 2.0
+ */
+ [property, optional] sequence< string > CopiesTo;
+
+
+ /**
+ <p>This property is only evaluated for e-Mail output.</p>
+
+ @since OOo 2.0
+ */
+ [property, optional] sequence< string > BlindCopiesTo;
+
+
+
+ /** determines that the output of the mail merge is saved in one single file.
+ <p>This property is only evaluated for file output.</p>
+
+ @since OOo 2.0
+ */
+ [property, optional] boolean SaveAsSingleFile;
+
+
+ /** contains the name of the document filter to save the output file(s).
+ <p>This property is only evaluated for file output.</p>
+
+ @since OOo 2.0
+ */
+ [property, optional] string SaveFilter;
+
+
+ /** contains the properties that are defined in <com::sun::star::view::PrintOptions>.
+
+ <p>This property is only evaluated for printer output.</p>
+
+ @since OOo 2.0
+ */
+ [property, optional] sequence< com::sun::star::beans::PropertyValue > PrintOptions;
+
+};
+
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/MailMergeEvent.idl b/offapi/com/sun/star/text/MailMergeEvent.idl
new file mode 100644
index 000000000..c9764f51b
--- /dev/null
+++ b/offapi/com/sun/star/text/MailMergeEvent.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_text_MailMergeEvent_idl__
+#define __com_sun_star_text_MailMergeEvent_idl__
+
+
+
+#include <com/sun/star/lang/EventObject.idl>
+#include <com/sun/star/frame/XModel.idl>
+
+
+module com { module sun { module star { module text {
+
+/** represents a mail merge event.
+
+ <p>This type of event is being sent by the mail merge service
+ right before the merging of the next document to be processed.
+ This allows for example to modify the document specifically
+ before it gets merged.</p>
+
+ @see com::sun::star::text::MailMerge
+
+ @since OOo 1.1.2
+*/
+published struct MailMergeEvent : com::sun::star::lang::EventObject
+{
+ /** The model of the document to be processed next.
+ */
+ com::sun::star::frame::XModel Model;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/MailMergeType.idl b/offapi/com/sun/star/text/MailMergeType.idl
new file mode 100644
index 000000000..174a79c9e
--- /dev/null
+++ b/offapi/com/sun/star/text/MailMergeType.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_text_MailMergeType_idl__
+#define __com_sun_star_text_MailMergeType_idl__
+
+
+
+ module com { module sun { module star { module text {
+
+
+/** Defines the possible output types/devices for mail merge.
+
+ @since OOo 1.1.2
+ */
+published constants MailMergeType
+{
+
+ /** The output device is a printer.
+ */
+ const short PRINTER = 1;
+
+
+ /** The output device is a file.
+ */
+ const short FILE = 2;
+
+
+ /** The output is sent as e-Mail.
+ */
+ const short MAIL = 3;
+
+
+ /** The output is a document shell.
+
+ The successful mail merge returns a XTextDocument based component.
+
+ @since LibreOffice 4.4
+ */
+ const short SHELL = 4;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/ModuleDispatcher.idl b/offapi/com/sun/star/text/ModuleDispatcher.idl
new file mode 100644
index 000000000..eec8b4a85
--- /dev/null
+++ b/offapi/com/sun/star/text/ModuleDispatcher.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_text_ModuleDispatcher_idl__
+#define __com_sun_star_text_ModuleDispatcher_idl__
+
+#include <com/sun/star/frame/XDispatchProvider.idl>
+
+
+ module com { module sun { module star { module text {
+
+
+/**
+ @since LibreOffice 4.1
+ */
+service ModuleDispatcher : com::sun::star::frame::XDispatchProvider;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/NotePrintMode.idl b/offapi/com/sun/star/text/NotePrintMode.idl
new file mode 100644
index 000000000..7096d8209
--- /dev/null
+++ b/offapi/com/sun/star/text/NotePrintMode.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_text_NotePrintMode_idl__
+#define __com_sun_star_text_NotePrintMode_idl__
+
+
+
+ module com { module sun { module star { module text {
+
+/** enumeration values are used to define the printing of notes in a
+ document.
+ */
+published enum NotePrintMode
+{
+ /** Notes are not printed.
+ */
+ NOT,
+
+ /** Only notes are printed.
+ */
+ ONLY,
+
+ /** Notes are collected at the end of the document.
+ */
+ DOC_END,
+
+ /** Notes are collected at the end of a page and printed on an inserted page.
+ */
+ PAGE_END
+
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/NumberingLevel.idl b/offapi/com/sun/star/text/NumberingLevel.idl
new file mode 100644
index 000000000..18d98aa5f
--- /dev/null
+++ b/offapi/com/sun/star/text/NumberingLevel.idl
@@ -0,0 +1,244 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_text_NumberingLevel_idl__
+#define __com_sun_star_text_NumberingLevel_idl__
+
+#include <com/sun/star/util/Color.idl>
+#include <com/sun/star/awt/Size.idl>
+#include <com/sun/star/awt/FontDescriptor.idl>
+#include <com/sun/star/awt/XBitmap.idl>
+
+
+ module com { module sun { module star { module text {
+
+
+/** provides access to a numbering level as part of the Numbering Rules.
+ */
+published service NumberingLevel
+{
+
+ /** adjusts the numbering (HoriOrientation_LEFT/RIGHT/CENTER)
+
+ <p>
+ </p>
+ */
+ [property] short Adjust;
+
+
+ /** number of upper levels that are included in the current numbering symbol.
+ */
+ [optional, property] short ParentNumbering;
+
+
+ /** the prefix of the numbering symbol.
+ */
+ [property] string Prefix;
+
+
+ /** the suffix of the numbering symbol.
+ */
+ [property] string Suffix;
+
+
+ /** Name of the character style that is used for the numbering symbol.
+ */
+ [optional, property] string CharStyleName;
+
+
+ /** the ID of the symbol in the given font. This is only valid if the
+ numbering type is com::sun::star::style::NumberingType::CHAR_SPECIAL.
+ @deprecated
+ */
+ [optional, property] short BulletId;
+
+ /** contains the symbol in the given font. This is only valid if the
+ numbering type is com::sun::star::style::NumberingType::CHAR_SPECIAL.
+ */
+ [property] string BulletChar;
+
+ /** the name of the font for the symbol. This is only valid if the
+ numbering type is com::sun::star::style::NumberingType::CHAR_SPECIAL.
+ */
+ [property] string BulletFontName;
+
+
+ /** the font used to paint the bullet.
+ */
+ [optional, property] com::sun::star::awt::FontDescriptor BulletFont;
+
+
+ /** the URL of the graphic file that is used as the numbering symbol.
+
+ <p> This is only valid if the numbering type is
+ com::sun::star::style::NumberingType::BITMAP.</p>
+
+ @deprecated as of LibreOffice 6.1, use GraphicBitmap
+
+ Note the new behaviour since it this was deprecated:
+ This property can only be set and only external URLs are
+ supported (no more vnd.sun.star.GraphicObject scheme). When an
+ URL is set, then it will load the bitmap and set the GraphicBitmap
+ property.
+ */
+ [property] string GraphicURL;
+
+
+ /** the graphic file that is used as the numbering symbol.
+
+ <p> This is only valid if the numbering type is
+ com::sun::star::style::NumberingType::BITMAP.</p>
+ */
+ [optional, property] com::sun::star::awt::XBitmap GraphicBitmap;
+
+
+ /** size of the graphic that is used as bullet.
+ */
+ [optional, property] com::sun::star::awt::Size GraphicSize;
+
+
+ /** contains the vertical orientation of a graphic.
+
+ <p> It is set using com::sun::star::text::VertOrientation.</p>
+ */
+ [optional, property] short VertOrient;
+
+ /** specifies the start value for the numbering.
+
+ <p>This property is only valid if the numbering type is not
+ com::sun::star::style::NumberingType::BITMAP or
+ com::sun::star::style::NumberingType::CHAR_SPECIAL.</p>
+ */
+ [optional, property] short StartWith;
+
+
+ /** specifies the left margin of the numbering
+ */
+ [property] long LeftMargin;
+
+
+ /** specifies the distance between the numbering symbol and the text of
+ the paragraph.
+ */
+ [optional, property] long SymbolTextDistance;
+
+
+ /** specifies the offset between the beginning of the first line and
+ the beginning of the following lines of the paragraph.
+ */
+ [property] long FirstLineOffset;
+
+
+ /** specifies the type of numbering. @see com::sun::star::style::NumberingType
+ */
+ [property] short NumberingType;
+
+
+ /** contains the name of the paragraph style that is interpreted as the
+ header of this level. It is only contained in the levels of
+ chapter numbering rules.
+ */
+ [property] string HeadingStyleName;
+
+ /** contains the name of the paragraph style that should use this numbering.
+ This is ignored for chapter numbering rules, use HeadingStyleName.
+
+ @since LibreOffice 3.6
+ */
+ [optional, property] string ParagraphStyleName;
+
+ /** contains the color for the symbol. This is only valid if the
+ numbering type is com::sun::star::style::NumberingType::CHAR_SPECIAL.
+ */
+ [optional, property] com::sun::star::util::Color BulletColor;
+
+ /** contains the size of the symbol relative to the high of the paragraph. This is only valid if the
+ numbering type is com::sun::star::style::NumberingType::CHAR_SPECIAL.
+ */
+ [optional, property] short BulletRelSize;
+
+ /** position and space mode
+
+ <p>
+ Specifies the position and space mode of the numbering level.
+ For valid values see com::sun::star::text::PositionAndSpaceMode.
+ If it equals LABEL_WIDTH_AND_POSITION, properties Adjust,
+ LeftMargin, SymbolTextDistance and FirstLineOffset are used.
+ If it equals LABEL_ALIGNMENT, properties Adjust, LabelFollowedBy,
+ ListtabStopPosition, FirstLineIndent, IndentAt are used.
+ </p>
+
+ @since OOo 3.0
+ */
+ [optional, property] short PositionAndSpaceMode;
+
+ /** character following the list label
+
+ <p>
+ Specifies the character following the list label.
+ For valid values see com::sun::star::text::LabelFollow.
+ Only of relevance, if PositionAndSpaceMode equals LABEL_ALIGNMENT.
+ </p>
+
+ @since OOo 3.0
+ */
+ [optional, property] short LabelFollowedBy;
+
+ /** list tab position
+
+ <p>
+ Specifies the position of the list tab stop - only non-negative
+ values are allowed.
+ Only of relevance, if PositionAndSpaceMode equals LABEL_ALIGNMENT
+ and LabelFollowedBy equal LABELFOLLOW_LISTTAB
+ </p>
+
+ @since OOo 3.0
+ */
+ [optional, property] long ListtabStopPosition;
+
+ /** additional line indent for the first text line
+
+ <p>
+ Specifies the first line indent.
+ Only of relevance, if PositionAndSpaceMode equals LABEL_ALIGNMENT.
+ </p>
+
+ @since OOo 3.0
+ */
+ [optional, property] long FirstLineIndent;
+
+ /** indentation of the text lines
+
+ <p>
+ Specifies the indent of the text lines
+ Only of relevance, if PositionAndSpaceMode equals LABEL_ALIGNMENT.
+ </p>
+
+ @since OOo 3.0
+ */
+ [optional, property] long IndentAt;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/NumberingRules.idl b/offapi/com/sun/star/text/NumberingRules.idl
new file mode 100644
index 000000000..c92fe8a77
--- /dev/null
+++ b/offapi/com/sun/star/text/NumberingRules.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_text_NumberingRules_idl__
+#define __com_sun_star_text_NumberingRules_idl__
+
+#include <com/sun/star/container/XIndexReplace.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+
+module com { module sun { module star { module text {
+
+/** provides access to the numbering rules.
+ <p> Numbering rules may be set at a Paragraph object. The numbering rules are
+ levels of property values. Each level contains equal properties.
+
+ </p>
+ */
+published service NumberingRules
+{
+ /** provides access to the levels of the numbering rule.
+
+ <p>The numbering rules are levels of property values. Each
+ level contains equal properties.</p>
+ @see NumberingLevel;@see NumberingLevel;
+ */
+ interface com::sun::star::container::XIndexReplace;
+
+ [optional] interface com::sun::star::beans::XPropertySet;
+
+ /** determines if the margins are absolute or relative
+ to the preceding numbering level.
+ */
+ [optional, property] boolean IsAbsoluteMargins;
+
+ /** determines if the numbering rules are automatically created
+ as opposed to numbering rules that are part of a numbering style.
+ */
+ [optional, property] boolean IsAutomatic;
+
+ /** determines if the numbering levels are counted continuously or if
+ each numbering level is counted separately.
+ */
+ [optional, property] boolean IsContinuousNumbering;
+
+ /** contains the name of the numbering rules. It is used to identify a certain
+ numbering rules property
+ */
+ [optional, readonly, property] string Name;
+
+ /** This numbering is used in the outline of the document (e.g. headings).
+ */
+ [optional, property] boolean NumberingIsOutline;
+
+ /** the type of numbering (Arabic, characters, roman numbers, etc.).
+ */
+ [optional, property] short NumberingType;
+
+ /** id of default list for the numbering rules instance
+ */
+ [optional, readonly, property] string DefaultListId;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/NumberingStyle.idl b/offapi/com/sun/star/text/NumberingStyle.idl
new file mode 100644
index 000000000..8d624e2e3
--- /dev/null
+++ b/offapi/com/sun/star/text/NumberingStyle.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_text_NumberingStyle_idl__
+#define __com_sun_star_text_NumberingStyle_idl__
+
+#include <com/sun/star/style/Style.idl>
+#include <com/sun/star/text/NumberingRules.idl>
+
+
+module com { module sun { module star { module text {
+
+
+/** specifies a style sheet numberings within a
+ com::sun::star::text::Text.
+ */
+published service NumberingStyle
+{
+ /// specifies administrative properties.
+ service com::sun::star::style::Style;
+ service NumberingRules;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/ObjectIndex.idl b/offapi/com/sun/star/text/ObjectIndex.idl
new file mode 100644
index 000000000..a37282507
--- /dev/null
+++ b/offapi/com/sun/star/text/ObjectIndex.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_text_ObjectIndex_idl__
+#define __com_sun_star_text_ObjectIndex_idl__
+
+#include <com/sun/star/text/BaseIndex.idl>
+
+
+ module com { module sun { module star { module text {
+
+/** specifies service of object indexes within a document.@see com::sun::star::text::BaseIndex
+ */
+published service ObjectIndex
+{
+ service com::sun::star::text::BaseIndex;
+
+ /** Determines if star office math objects are included in the office.
+ */
+ [optional, property] boolean CreateFromStarMath;//objects
+ /** Determines if star office image objects are included in the office.
+ */
+ [optional, property] boolean CreateFromStarImage;//objects
+ /** Determines if star office chart objects are included in the office.
+ */
+ [optional, property] boolean CreateFromStarChart;//objects
+ /** Determines if star office calc objects are included in the office.
+ */
+ [optional, property] boolean CreateFromStarCalc;//objects
+ /** Determines if star office draw objects are included in the office.
+ */
+ [optional, property] boolean CreateFromStarDraw;//objects
+ /** Determines if external embedded objects are included in the office.
+ */
+ [optional, property] boolean CreateFromOtherEmbeddedObjects;//objects
+};
+
+
+}; }; }; };
+
+#endif
+
+
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/PageFootnoteInfo.idl b/offapi/com/sun/star/text/PageFootnoteInfo.idl
new file mode 100644
index 000000000..ed25fa967
--- /dev/null
+++ b/offapi/com/sun/star/text/PageFootnoteInfo.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_text_PageFootnoteInfo_idl__
+#define __com_sun_star_text_PageFootnoteInfo_idl__
+
+#include <com/sun/star/text/HorizontalAdjust.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+/** specifies the properties of the footnote area of a page or a
+ page style.
+ */
+published service PageFootnoteInfo
+{
+ /** contains the maximum height of the footnote section.
+
+
+
+ <p>If 0, the maximum is the height of the page.</p>
+ */
+ [property] long FootnoteHeight;
+
+ /** contains the relative width of the footnote separator line.
+ */
+ [property] long FootnoteSeparatorLineWidth;
+
+ /** contains the distance between the text and footnote section.
+ */
+ [property] long FootnoteTopDistance;
+
+ /** contains the distance between the separator line and the footnote section.
+ */
+ [property] long FootnoteBottomDistance;
+
+ /** contains the relative width of the footnote separator line.
+ */
+ [property] short FootnoteSeparatorLineWidthPercent;
+
+ /** contains the adjustment of the footnote separator line.
+ */
+ [property] com::sun::star::text::HorizontalAdjust FootnoteSeparatorLineAdjust;
+
+ /** contains the width of the pen for the footnote separator line.
+ */
+ [property] short FootnoteSeparatorLinePenWidth;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/PageNumberType.idl b/offapi/com/sun/star/text/PageNumberType.idl
new file mode 100644
index 000000000..b1999315d
--- /dev/null
+++ b/offapi/com/sun/star/text/PageNumberType.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_text_PageNumberType_idl__
+#define __com_sun_star_text_PageNumberType_idl__
+
+
+
+ module com { module sun { module star { module text {
+
+/** determines which page number is displayed in a page number text field.
+ */
+published enum PageNumberType
+{
+ /** The number of the previous page is displayed if there is any, otherwise the
+ field is empty.
+ */
+ PREV,
+
+ /** The number of the current page is displayed.
+ */
+ CURRENT,
+
+ /** The number of the next page is displayed if there is any, otherwise the
+ field is empty.
+ */
+ NEXT
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/PagePrintSettings.idl b/offapi/com/sun/star/text/PagePrintSettings.idl
new file mode 100644
index 000000000..854d365cd
--- /dev/null
+++ b/offapi/com/sun/star/text/PagePrintSettings.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_text_PagePrintSettings_idl__
+#define __com_sun_star_text_PagePrintSettings_idl__
+
+
+
+ module com { module sun { module star { module text {
+
+/** These properties describe the way the XPagePrintable interface
+ prints the page on one printer page.
+ */
+published service PagePrintSettings
+{
+ /** contains the number of pages per printed column of pages.
+ */
+ [property] short PageRows;
+
+ /** contains the number of pages per printed row of pages.
+ */
+ [property] short PageColumns;
+
+ /** contains the left margin of the printer page.
+ */
+ [property] long LeftMargin;
+
+ /** contains the right margin of the printer page.
+ */
+ [property] long RightMargin;
+
+ /** contains the top margin of the printer page.
+ */
+ [property] long TopMargin;
+
+ /** contains the right margin of the printer page.
+ */
+ [property] long BottomMargin;
+
+ /** contains the margin between the rows of printed pages.
+ */
+ [property] long HoriMargin;
+
+ /** contains the margin between the columns of printed pages.
+ */
+ [property] long VertMargin;
+
+ /** defines if the printer page is used in landscape format.
+ */
+ [property] boolean IsLandscape;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/Paragraph.idl b/offapi/com/sun/star/text/Paragraph.idl
new file mode 100644
index 000000000..2f84ec9fe
--- /dev/null
+++ b/offapi/com/sun/star/text/Paragraph.idl
@@ -0,0 +1,104 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_text_Paragraph_idl__
+#define __com_sun_star_text_Paragraph_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/style/CharacterProperties.idl>
+#include <com/sun/star/style/CharacterPropertiesAsian.idl>
+#include <com/sun/star/style/CharacterPropertiesComplex.idl>
+#include <com/sun/star/text/TextContent.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/beans/XTolerantMultiPropertySet.idl>
+#include <com/sun/star/beans/XPropertyState.idl>
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#include <com/sun/star/text/TextTable.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+/** is a piece of text which can take its own paragraph-specific
+ attributes (technically, properties).
+ */
+published service Paragraph
+{
+ /** This service is present when the paragraph object refers
+ to a text range */
+ [optional] service com::sun::star::style::ParagraphProperties;
+ /** This service is present when the paragraph object refers
+ to a text range */
+ [optional] service com::sun::star::style::ParagraphPropertiesAsian;
+ /** This service is present when the paragraph object refers
+ to a text range */
+ [optional] service com::sun::star::style::ParagraphPropertiesComplex;
+ /** This service is present when the paragraph object refers
+ to a text range */
+ [optional] service com::sun::star::style::CharacterProperties;
+ /** This service is present when the paragraph object refers
+ to a text range */
+ [optional] service com::sun::star::style::CharacterPropertiesAsian;
+ /** This service is present when the paragraph object refers
+ to a text range */
+ [optional] service com::sun::star::style::CharacterPropertiesComplex;
+ /** This service is present when the paragraph object refers
+ to a text table */
+ [optional] service com::sun::star::text::TextTable;
+ service com::sun::star::text::TextContent;
+
+ /** This interface gives access to the properties of the paragraph
+ itself (or its style sheet). So this interface may show
+ property values which are not valid for any of the
+ text portions of the paragraph, if the text itself has its
+ own style properties set.
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+ /** This interface gives access to the state of the property values
+ in these properties. So, it is possible to determine if a specific
+ properties value is defined in the paragraph or its style sheet.
+ */
+ interface com::sun::star::beans::XPropertyState;
+
+ /** This interface enumerates the text portions of this paragraph.
+
+ <p>A text portion is defined as the largest possible TextRange
+ within a paragraph with the same property values and the same bound objects.
+
+ <p>In general this interface is used for exporting into file
+ formats.
+
+ @see com::sun::star::text::TextRange@see com::sun::star::text::TextRange
+ */
+ interface com::sun::star::container::XEnumerationAccess;
+
+ /** gives access to a sequence of properties.
+ @since OOo 2.0
+ */
+ [optional] interface ::com::sun::star::beans::XTolerantMultiPropertySet;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/ParagraphEnumeration.idl b/offapi/com/sun/star/text/ParagraphEnumeration.idl
new file mode 100644
index 000000000..afdc2f610
--- /dev/null
+++ b/offapi/com/sun/star/text/ParagraphEnumeration.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_text_ParagraphEnumeration_idl__
+#define __com_sun_star_text_ParagraphEnumeration_idl__
+
+#include <com/sun/star/container/XEnumeration.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+/** provides access to the paragraphs of an XText
+ interface.
+ */
+published service ParagraphEnumeration
+{
+
+ /** provides access to the paragraph objects.
+ */
+ interface com::sun::star::container::XEnumeration;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/ParagraphVertAlign.idl b/offapi/com/sun/star/text/ParagraphVertAlign.idl
new file mode 100644
index 000000000..d08599a6a
--- /dev/null
+++ b/offapi/com/sun/star/text/ParagraphVertAlign.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_text_ParagraphVertAlign_idl__
+#define __com_sun_star_text_ParagraphVertAlign_idl__
+
+
+
+ module com { module sun { module star { module text {
+
+
+/** These enumeration values are used to specify the vertical alignment of paragraphs.
+ */
+published constants ParagraphVertAlign
+{
+ /** In automatic mode, horizontal text is aligned to the baseline. The same applies to
+ text that is rotated 90&deg;. Text that is rotated 270 &deg; is aligned to the center.
+ */
+ const short AUTOMATIC = 0;
+ /** The text is aligned to the baseline.
+ */
+ const short BASELINE = 1;
+ /** The text is aligned to the top.
+ */
+ const short TOP = 2;
+
+ /** The text is aligned to the center.
+ */
+ const short CENTER = 3;
+
+ /** The text is aligned to bottom.
+ */
+ const short BOTTOM = 4;
+};
+
+
+}; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/PlaceholderType.idl b/offapi/com/sun/star/text/PlaceholderType.idl
new file mode 100644
index 000000000..1a3473f07
--- /dev/null
+++ b/offapi/com/sun/star/text/PlaceholderType.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_text_PlaceholderType_idl__
+#define __com_sun_star_text_PlaceholderType_idl__
+
+
+
+ module com { module sun { module star { module text {
+
+/** These constants define how the place-holder text fields act in a document.
+ */
+published constants PlaceholderType
+{
+ /** The field represents a piece of text.
+ */
+ const short TEXT = 0;
+
+ /** The field initiates the insertion of a text table.
+ */
+ const short TABLE = 1;
+
+ /** The field initiates the insertion of a text frame.
+ */
+ const short TEXTFRAME = 2;
+
+ /** The field initiates the insertion of a graphic object.
+ */
+ const short GRAPHIC = 3;
+
+ /** The field initiates the insertion of an embedded object.
+ */
+ const short OBJECT = 4;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/PositionAndSpaceMode.idl b/offapi/com/sun/star/text/PositionAndSpaceMode.idl
new file mode 100644
index 000000000..63c8fdcf1
--- /dev/null
+++ b/offapi/com/sun/star/text/PositionAndSpaceMode.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_text_PositionAndSpaceMode_idl__
+#define __com_sun_star_text_PositionAndSpaceMode_idl__
+
+
+
+ module com { module sun { module star { module text {
+
+
+/** These enumeration values specify the position and space mode for a numbering level
+
+ @since OOo 3.0
+ */
+published constants PositionAndSpaceMode
+{
+
+ /** positioning and spacing of list label via label width and position
+ */
+ const short LABEL_WIDTH_AND_POSITION = 0;
+
+
+ /** positioning and spacing of list label via label alignment
+ */
+ const short LABEL_ALIGNMENT = 1;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/PositionLayoutDir.idl b/offapi/com/sun/star/text/PositionLayoutDir.idl
new file mode 100644
index 000000000..cd15a3b19
--- /dev/null
+++ b/offapi/com/sun/star/text/PositionLayoutDir.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_text_PositionLayoutDir_idl__
+#define __com_sun_star_text_PositionLayoutDir_idl__
+
+
+
+ module com { module sun { module star { module text {
+
+
+/** These values specify the layout direction, in which the position attributes
+ of a shape are given
+
+ @since OOo 2.0
+ */
+constants PositionLayoutDir
+{
+
+ /** position attributes are given in horizontal left-to-right direction
+ */
+ const short PositionInHoriL2R = 1;
+
+
+ /** position attributes are given in layout direction of the drawing
+ objects anchor
+ */
+ const short PositionInLayoutDirOfAnchor = 2;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/PrintSettings.idl b/offapi/com/sun/star/text/PrintSettings.idl
new file mode 100644
index 000000000..9e6bbd1b1
--- /dev/null
+++ b/offapi/com/sun/star/text/PrintSettings.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_text_PrintSettings_idl__
+#define __com_sun_star_text_PrintSettings_idl__
+
+#include <com/sun/star/text/NotePrintMode.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+/** These properties describe the printing of the content of a text document.
+ */
+published service PrintSettings
+{
+ /** determines if graphic objects are printed
+ */
+ [property] boolean PrintGraphics;
+
+ /** determines if text tables are printed.
+ */
+ [property] boolean PrintTables;
+
+ /** determines if shapes are printed.
+ */
+ [property] boolean PrintDrawings;
+
+ /** determines if left pages are printed.
+ */
+ [property] boolean PrintLeftPages;
+
+ /** determines if right pages are printed.
+ */
+ [property] boolean PrintRightPages;
+
+ /** determines if control shapes are printed.
+ */
+ [property] boolean PrintControls;
+
+ /** determines if the pages are printed in the reverse order, starting with the last page.
+ */
+ [property] boolean PrintReversed;
+
+ /** specifies if the printer paper tray selection of the system
+ printer is used.
+
+
+
+ <p>If com::sun::star::view::PrintSettings::PaperFromSetup is `FALSE`,
+ then the paper tray selection of the page styles is used.</p>
+ */
+ [property] boolean PrintPaperFromSetup;
+
+ /** contains the name of the fax.
+ */
+ [property] string PrintFaxName;
+
+ /** determines how notes are printed.@see NotePrintMode
+ */
+ [property] com::sun::star::text::NotePrintMode PrintAnnotationMode;
+
+ /** determines if prospect printing is used.
+ */
+ [property] boolean PrintProspect;
+
+ /** determines if the background color / background graphic of pages is printed.
+ */
+ [property] boolean PrintPageBackground;
+
+ /** determines if characters are always printed in black.
+ */
+ [property] boolean PrintBlackFonts;
+
+
+ /** determines if automatically inserted empty pages are printed.
+ */
+ [optional, property] boolean PrintEmptyPages;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/RedlinePortion.idl b/offapi/com/sun/star/text/RedlinePortion.idl
new file mode 100644
index 000000000..34da4c99d
--- /dev/null
+++ b/offapi/com/sun/star/text/RedlinePortion.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_text_RedlinePortion_idl__
+#define __com_sun_star_text_RedlinePortion_idl__
+
+#include <com/sun/star/text/TextPortion.idl>
+#include <com/sun/star/beans/PropertyValues.idl>
+#include <com/sun/star/util/DateTime.idl>
+
+
+module com { module sun { module star { module text {
+
+/** A RedlinePortion is a TextPortion that marks a change that has been recorded by
+the change tracking.
+
+*/
+published service RedlinePortion
+{
+ service com::sun::star::text::TextPortion;
+ /** contains the name of the author of the change.*/
+ [readonly, property] string RedlineAuthor;
+ /** contains the date and time of the change.*/
+ [readonly, property] com::sun::star::util::DateTime RedlineDateTime;
+ /** contains a comment for the change.*/
+ [readonly, property] string RedlineComment;
+ /** contains the type of the change
+ <p> Valid type names are:</p>
+ <UL>
+ <LI><P>Insert - marks an insertion</P>
+ <LI><P>Delete - marks a deletion</P>
+ <LI><P>Format - marks an attribute change</P>
+ <LI><P>TextTable - marks a text table</P>
+ <LI><P>Style - marks an applied style</P>
+ </UL>
+ */
+ [readonly, property] string RedlineType;
+ /** contains the data of a second level redline data
+ <p> The elements of the sequence are:</p>
+ <UL>
+ <LI><P>string RedlineAuthor; </P>
+ <LI><P>com::sun::star::util::DateTime RedlineDateTime; </P>
+ <LI><P>string RedlineComment; </P>
+ <LI><P>string RedlineType; </P>
+ </UL>
+ */
+ [readonly, property] com::sun::star::beans::PropertyValues RedlineSuccessorData;
+ /** contains a unique identifier for the redline.
+ This is necessary for file export filters to able to recognize redline portions
+ that point to the same redline.*/
+ [readonly, property] string RedlineIdentifier;
+ /** determines whether the portion is member of a header or footer text.*/
+ [readonly, property] boolean IsInHeaderFooter;
+ /** provides access to the text of the redline. This interface is only provided
+ if the change is not visible. The visibility depends on the redline display options that
+ are set at the documents property set (RedlineDisplayType).*/
+ [readonly, property] com::sun::star::text::XText RedlineText;
+ /** determines whether the last paragraph of a redline text has to be merged with a
+ possible following text content (i.e. a text table)*/
+ [readonly, property] boolean MergeLastPara;
+};
+
+
+}; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/ReferenceFieldPart.idl b/offapi/com/sun/star/text/ReferenceFieldPart.idl
new file mode 100644
index 000000000..d7d4c0790
--- /dev/null
+++ b/offapi/com/sun/star/text/ReferenceFieldPart.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_text_ReferenceFieldPart_idl__
+#define __com_sun_star_text_ReferenceFieldPart_idl__
+
+
+
+module com { module sun { module star { module text {
+
+/** These constants define how the reference position is displayed in
+ reference text fields.
+
+*/
+published constants ReferenceFieldPart
+{
+ /** The page number is displayed using Arabic numbers.
+ */
+ const short PAGE = 0;
+
+ /** The number of the chapter is displayed.
+ */
+ const short CHAPTER = 1;
+
+ /** The reference text is displayed.
+ <p>If the source of the reference is a sequence field, then the complete text
+ of the paragraph is displayed. This is useful to reference to captions. </p>
+ */
+ const short TEXT = 2;
+
+ /** The reference is displayed as one of the (localized) words, "above" or "below".
+ */
+ const short UP_DOWN = 3;
+
+ /** The page number is displayed using the numbering type defined in
+ the page style of the reference position.
+ */
+ const short PAGE_DESC = 4;
+ /** The category and the number of a caption is displayed.
+ <p>This option is only valid if the source of the reference is a sequence field.</p>
+ */
+ const short CATEGORY_AND_NUMBER = 5;
+ /** The caption text of a caption is displayed.
+ <p>This option is only valid if the source of the reference is a sequence field.</p>
+ */
+ const short ONLY_CAPTION = 6;
+ /** The number of a sequence field is displayed.
+ <p>This option is only valid if the source of the reference is a sequence field.</p>
+ */
+ const short ONLY_SEQUENCE_NUMBER = 7;
+ /** The numbering label and depending of the reference field context numbering labels of
+ superior list levels of the reference are displayed.
+
+ <p>This option is only valid, if the source of the reference is a bookmark or a set reference.</p>
+ <p>The contents of the list label of the paragraph, at which the bookmark respectively the
+ set reference starts - named "referenced item" in the following - is displayed. To unambiguous
+ identify the referenced item at the document position of the reference text field, the content
+ of all needed superior levels are added in front. The needed superior levels of the referenced
+ item are the ones, which differ from the superior levels of the document position of the reference
+ text field.
+ Additional condition, which suppresses the addition of a superior level's list label content:
+ The list label of the referenced item can already contain numbers of a superior levels. Assume X
+ be the level of the most superior level, then no list label content of superior levels greater or
+ equal than X are added.
+ If the referenced item isn't numbered, nothing is displayed.</p>
+
+ @since OOo 3.0
+ */
+ const short NUMBER = 8;
+ /** The numbering label of the reference is displayed.
+
+ <p>This option is only valid, if the source of the reference is a bookmark or a set reference.</p>
+ <p>The contents of the list label of the paragraph, at which the bookmark respectively the
+ set reference starts, is displayed. If this paragraph isn't numbered, nothing is displayed.</p>
+
+ @since OOo 3.0
+ */
+ const short NUMBER_NO_CONTEXT = 9;
+ /** The numbering label and numbering labels of superior list levels of the reference are displayed.
+
+ <p>This option is only valid, if the source of the reference is a bookmark or a set reference.</p>
+ <p>The contents of the list label of the paragraph, at which the bookmark respectively the
+ set reference starts - named "referenced item" in the following - is displayed and the contents
+ of all list labels of superior levels are added in front of it.
+ Additional condition, which suppresses the addition of a superior level's list label content:
+ The list label of the referenced item can already contain numbers of a superior levels. Assume X
+ be the level of the most superior level, then no list label content of superior levels greater or
+ equal than X are added.
+ If the referenced item is numbered nothing is displayed.</p>
+
+ @since OOo 3.0
+ */
+ const short NUMBER_FULL_CONTEXT = 10;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/ReferenceFieldSource.idl b/offapi/com/sun/star/text/ReferenceFieldSource.idl
new file mode 100644
index 000000000..7f2439f5c
--- /dev/null
+++ b/offapi/com/sun/star/text/ReferenceFieldSource.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_text_ReferenceFieldSource_idl__
+#define __com_sun_star_text_ReferenceFieldSource_idl__
+
+
+
+module com { module sun { module star { module text {
+
+/** These constants define the type of the source of a reference field.
+*/
+published constants ReferenceFieldSource
+{
+ /** The source is a reference mark.
+ */
+ const short REFERENCE_MARK = 0;
+
+ /** The source is a number sequence field.
+ */
+ const short SEQUENCE_FIELD = 1;
+
+ /** The source is a bookmark.
+ */
+ const short BOOKMARK = 2;
+
+ /** The source is a footnote.
+ */
+ const short FOOTNOTE = 3;
+
+ /** The source is an endnote.
+ */
+ const short ENDNOTE = 4;
+};
+
+
+}; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/ReferenceMark.idl b/offapi/com/sun/star/text/ReferenceMark.idl
new file mode 100644
index 000000000..beda59103
--- /dev/null
+++ b/offapi/com/sun/star/text/ReferenceMark.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_text_ReferenceMark_idl__
+#define __com_sun_star_text_ReferenceMark_idl__
+
+#include <com/sun/star/text/XTextContent.idl>
+#include <com/sun/star/container/XNamed.idl>
+
+
+
+module com { module sun { module star { module text {
+
+/** is used for cross references in text documents.
+*/
+published service ReferenceMark
+{
+ interface com::sun::star::text::XTextContent;
+ interface com::sun::star::container::XNamed;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/ReferenceMarks.idl b/offapi/com/sun/star/text/ReferenceMarks.idl
new file mode 100644
index 000000000..f04a4b4a7
--- /dev/null
+++ b/offapi/com/sun/star/text/ReferenceMarks.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_text_ReferenceMarks_idl__
+#define __com_sun_star_text_ReferenceMarks_idl__
+
+#include <com/sun/star/container/XIndexAccess.idl>
+#include <com/sun/star/container/XNameAccess.idl>
+
+
+
+module com { module sun { module star { module text {
+
+/** provides access to the reference marks in a document.
+*/
+published service ReferenceMarks
+{
+ interface com::sun::star::container::XIndexAccess;
+ interface com::sun::star::container::XNameAccess;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/RelOrientation.idl b/offapi/com/sun/star/text/RelOrientation.idl
new file mode 100644
index 000000000..3ce3160d4
--- /dev/null
+++ b/offapi/com/sun/star/text/RelOrientation.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_text_RelOrientation_idl__
+#define __com_sun_star_text_RelOrientation_idl__
+
+
+
+ module com { module sun { module star { module text {
+
+/** These values define the reference position of relative orientations.
+ */
+published constants RelOrientation
+{
+ /** paragraph, including margins
+ */
+ const short FRAME = 0;
+
+ /** paragraph, without margins
+ */
+ const short PRINT_AREA = 1;
+
+ /** at a character
+ */
+ const short CHAR = 2;
+
+ /** inside the left page margin
+ */
+ const short PAGE_LEFT = 3;
+
+ /** inside the right page margin
+ */
+ const short PAGE_RIGHT = 4;
+
+ /** inside the left paragraph margin
+ */
+ const short FRAME_LEFT = 5;
+
+ /** inside the right paragraph margin
+ */
+ const short FRAME_RIGHT = 6;
+
+ /** page includes margins for page-anchored frames identical with
+ RelOrientation::FRAME
+ */
+ const short PAGE_FRAME = 7;
+
+ /** page without borders (for page anchored frames identical with
+ RelOrientation::PRINT_AREA).
+
+<!-- JRH: does not make sense -->
+ */
+ const short PAGE_PRINT_AREA = 8;
+
+ /** at the top of the text line, only sensible for vertical orientation.
+
+ @since OOo 2.0
+ */
+ const short TEXT_LINE = 9;
+
+ /** Bottom page border (page area below PAGE_PRINT_AREA).
+
+ @since LibreOffice 7.0
+ */
+ const short PAGE_PRINT_AREA_BOTTOM = 10;
+
+ /** Top page border (page area above PAGE_PRINT_AREA).
+
+ @since LibreOffice 7.1
+ */
+ const short PAGE_PRINT_AREA_TOP = 11;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/RubyAdjust.idl b/offapi/com/sun/star/text/RubyAdjust.idl
new file mode 100644
index 000000000..6765963bc
--- /dev/null
+++ b/offapi/com/sun/star/text/RubyAdjust.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_text_RubyAdjust_idl__
+#define __com_sun_star_text_RubyAdjust_idl__
+
+
+
+ module com { module sun { module star { module text {
+
+
+/** These enumeration values describe the adjustment of ruby text.
+ */
+published enum RubyAdjust
+{
+ /** adjusted to the left.
+ */
+ LEFT,
+ /** centric adjusted.
+ */
+ CENTER,
+ /** adjusted to the right.
+ */
+ RIGHT,
+ /** adjusted to both borders / stretched
+ */
+ BLOCK,
+ /** adjusted to both borders except for a small indent on both sides
+ */
+ INDENT_BLOCK
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/RubyPosition.idl b/offapi/com/sun/star/text/RubyPosition.idl
new file mode 100644
index 000000000..39258e5f8
--- /dev/null
+++ b/offapi/com/sun/star/text/RubyPosition.idl
@@ -0,0 +1,39 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.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_text_RubyPosition_idl__
+#define __com_sun_star_text_RubyPosition_idl__
+
+
+
+ module com { module sun { module star { module text {
+
+
+/** These constants define the position of ruby text.
+ @since LibreOffice 6.1
+ */
+constants RubyPosition
+{
+ /** ruby text should be above or on the right side of base text.
+ */
+ const short ABOVE = 0;
+ /** ruby text should be below or on the left side of base text.
+ */
+ const short BELOW = 1;
+ /** Vertically aligned on right side of the base text in horizontal mode.
+ <P>This is the same as ABOVE in vertical writing mode.</P>
+ */
+ const short INTER_CHARACTER = 2;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/offapi/com/sun/star/text/SectionFileLink.idl b/offapi/com/sun/star/text/SectionFileLink.idl
new file mode 100644
index 000000000..aad3e2b5a
--- /dev/null
+++ b/offapi/com/sun/star/text/SectionFileLink.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_text_SectionFileLink_idl__
+#define __com_sun_star_text_SectionFileLink_idl__
+
+
+
+ module com { module sun { module star { module text {
+
+/** describes the link for a text section.
+
+
+
+ <p>If the URL is an empty string, then the section is not linked.
+
+ </p>
+ <p>The bookmark of the URL (after the "#") is the name of a bookmark
+ or a section name in the linked document. If a bookmark or section
+ with this name exists in the document, then only this part is linked
+ into the given text section.
+ </p>
+ <p>
+ SectionFileLink::FilterName is the internal name of
+ the document filter. To use this struct, it is not necessary to set
+ SectionFileLink::FilterName. It will be automatically
+ assigned.</p>
+ */
+published struct SectionFileLink
+{
+ /** contains the URL of the linked file.
+ */
+ string FileURL;
+
+ /** contains the name of the file filter that is used to load the linked file.
+ */
+ string FilterName;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/SetVariableType.idl b/offapi/com/sun/star/text/SetVariableType.idl
new file mode 100644
index 000000000..b45af88c4
--- /dev/null
+++ b/offapi/com/sun/star/text/SetVariableType.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_text_SetVariableType_idl__
+#define __com_sun_star_text_SetVariableType_idl__
+
+
+
+ module com { module sun { module star { module text {
+
+/** These constants define the type of a variable text field.
+ */
+published constants SetVariableType
+{
+ /** specifies a simple variable.
+ */
+ const short VAR = 0;
+ /** specifies a number sequence field.
+ */
+ const short SEQUENCE = 1;
+ /** specifies a formula field.
+ */
+ const short FORMULA = 2;
+ /** specifies a string field.
+ */
+ const short STRING = 3;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/Shape.idl b/offapi/com/sun/star/text/Shape.idl
new file mode 100644
index 000000000..7e8ba75a2
--- /dev/null
+++ b/offapi/com/sun/star/text/Shape.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_text_Shape_idl__
+#define __com_sun_star_text_Shape_idl__
+
+#include <com/sun/star/text/TextContent.idl>
+#include <com/sun/star/text/XTextFrame.idl>
+#include <com/sun/star/text/XTextRange.idl>
+#include <com/sun/star/drawing/Shape.idl>
+#include <com/sun/star/text/TextContentAnchorType.idl>
+#include <com/sun/star/text/WrapTextMode.idl>
+
+
+ module com { module sun { module star { module text {
+
+
+/** specifies the service of shapes in a text document
+ */
+published service Shape
+{
+ service com::sun::star::drawing::Shape;
+ /** contains the number of the page where the objects are anchored.
+ <p> The value is valid only if the
+ AnchorType is
+ TextContentAnchorType::AT_PAGE.</p>
+ */
+ [property] short AnchorPageNo;
+ /** contains the text frame the current frame is anchored to.
+ <p> The value is valid only if the
+ AnchorType is TextContentAnchorType::AT_FRAME.</p>
+ */
+ [property] com::sun::star::text::XTextFrame AnchorFrame;
+ /** specifies how the text content is attached to its surrounding
+ Text.
+ */
+ [optional, property] com::sun::star::text::TextContentAnchorType AnchorType;
+ /** determines the horizontal orientation of the object.
+
+ @see BaseFrame::HoriOrientation
+ */
+ [property] short HoriOrient;
+ /** contains the horizontal position of the object (1/100 mm).
+ <p> It is only valid if "HoriOrient" is HoriOrientation_NONE.</p>
+ */
+ [property] long HoriOrientPosition;
+
+ /** determines the environment of the object to which the orientation
+ is related.
+
+ @see BaseFrame::RelOrientation
+ */
+ [property] short HoriOrientRelation;
+
+ /** determines the vertical orientation of the object.
+
+ @see BaseFrame::VertOrientation
+ */
+ [property] short VertOrient;
+
+ /** contains the vertical position of the object (1/100 mm).
+
+ It is only valid if TextEmbeddedObject::VertOrient is
+ VertOrientation::NONE.
+ */
+ [property] long VertOrientPosition;
+
+
+ /** determines the environment of the object to which the orientation is related.
+
+ @see BaseFrame::RelOrientation
+ */
+ [property] short VertOrientRelation;
+ /** contains the left margin of the object.
+ */
+ [property] long LeftMargin;
+
+ /** contains the right margin of the object.
+ */
+ [property] long RightMargin;
+
+ /** contains the top margin of the object.
+ */
+ [property] long TopMargin;
+
+ /** contains the bottom margin of the object.
+ */
+ [property] long BottomMargin;
+ /** determines the type of the surrounding text.
+
+ @deprecated
+ */
+ [property] com::sun::star::text::WrapTextMode Surround;
+ /** determines if the text of the paragraph in which the object
+ is anchored, wraps around the object.
+ */
+ [property] boolean SurroundAnchorOnly;
+
+ /** determines if the text wraps around the contour of the object.
+ */
+ [property] boolean SurroundContour;
+
+ /** the text flows only around the contour of the object.
+ */
+ [property] boolean ContourOutside;
+ /** determines if the object is opaque or transparent for text.
+ */
+ [property] boolean Opaque;
+ /** contains a text range where the shape should be anchored to.
+ <p>There are two different ways to get newly created shapes into the
+ text document. One of them is to use the insertTextContent() method of
+ the com::sun::star::text::XSimpleText. The other is to call the add()
+ method of the com::sun::star::drawing::XShapes interface.
+ To be able to determine an anchor position for shape that are anchored at a certain
+ text position the property TextRange is used.</p>
+
+ <p>This property is used when the shape gets inserted/added
+ and becomes invalid after that.</p>
+
+ */
+ [property] com::sun::star::text::XTextRange TextRange;
+
+ /** determines the influence of the text wrap on the positioning of the
+ shape
+
+ <p>The value of this property is only evaluated for the positioning
+ of the shape, if the text document setting ConsiderTextWrapOnObjPos
+ is `TRUE`. Valid values are given by #WrapInfluenceOnPosition</p>
+
+ @since OOo 2.0
+ */
+ [optional, property] short WrapInfluenceOnPosition;
+
+ /** determines the transformation of the shape in horizontal left-to-right
+ layout
+
+ <p>This property is needed for the export of the OASIS Open Office
+ file format to the OpenOffice.org file format. It provides the
+ transformation property of the included service com::sun::star::drawing::Shape
+ converted to the horizontal left-to-right layout.</p>
+
+ @since OOo 2.0
+ */
+ [optional, readonly, property] com::sun::star::drawing::HomogenMatrix3 TransformationInHoriL2R;
+ /** determines layout direction the position attributes of the shape
+ is given
+
+ <p>Valid values are given by #PositionLayoutDir</p>
+
+ @since OOo 2.0
+ */
+ [optional, property] short PositionLayoutDir;
+ /** determines the start position of the shape in horizontal left-to-right
+ layout
+
+ <p>This property is needed for the export of the OASIS Open Office
+ file format to the OpenOffice.org file format. It provides the
+ start position property of the included service com::sun::star::drawing::Shape
+ converted to the horizontal left-to-right layout.</p>
+
+ @since OOo 2.0
+ */
+ [optional, readonly, property] com::sun::star::awt::Point StartPositionInHoriL2R;
+ /** determines the end position of the shape in horizontal left-to-right
+ layout
+
+ <p>This property is needed for the export of the OASIS Open Office
+ file format to the OpenOffice.org file format. It provides the
+ end position property of the included service com::sun::star::drawing::Shape
+ converted to the horizontal left-to-right layout.</p>
+
+ @since OOo 2.0
+ */
+ [optional, readonly, property] com::sun::star::awt::Point EndPositionInHoriL2R;
+
+ /** This defines if the shape is allowed to overlap with other anchored objects.
+ @since LibreOffice 6.4
+ */
+ [optional, property] boolean AllowOverlap;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/SizeType.idl b/offapi/com/sun/star/text/SizeType.idl
new file mode 100644
index 000000000..4849838a3
--- /dev/null
+++ b/offapi/com/sun/star/text/SizeType.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_text_SizeType_idl__
+#define __com_sun_star_text_SizeType_idl__
+
+
+
+ module com { module sun { module star { module text {
+
+/** The height value of objects like text frames or table rows may
+ be interpreted in different ways.
+
+ <p>The values may specify the absolute height (SIZETYPE_FIX), the
+ minimum height (SIZETYPE_MIN), or they are ignored (SIZETYPE_VAR),
+ in which case the real height depends on the content. This information
+ is contained in a property called "SizeType".
+ */
+published constants SizeType
+{
+ // The height of the object is determined by the content only.
+ const short VARIABLE = 0;
+
+ // The height property determines the height of the object.
+ const short FIX = 1;
+
+ /** The height property determines the minimum height of the object, but the
+ actual height will be increased if the content demands it.
+ */
+ const short MIN = 2;
+
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/TableColumnSeparator.idl b/offapi/com/sun/star/text/TableColumnSeparator.idl
new file mode 100644
index 000000000..7cf308091
--- /dev/null
+++ b/offapi/com/sun/star/text/TableColumnSeparator.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_text_TableColumnSeparator_idl__
+#define __com_sun_star_text_TableColumnSeparator_idl__
+
+
+
+ module com { module sun { module star { module text {
+
+
+/** The width of the cells of a text table is defined by the position
+ of the separator between neighboring cells.
+
+ <p>If cells of the table are merged, this separator is not removed, but
+ it is hidden.
+ </p>
+
+ <p>A text table or a text table row provides the separators in a
+ sequence of TableColumnSeparators. If the table only
+ consists of one column, then this sequence is empty.
+
+ </p>
+ <p>The real width of a table depends on the environment (page style and
+ number of text columns at the table's position, alignment, and left and
+ right margins). For that reason, the table column separator does not
+ contain metric values for the column widths. The values are relative
+ to the value of the property TextTable::TableColumnRelativeSum.
+
+ </p>
+ <p>A table provides this property only if all rows have the same structure.
+ If the table does not provide the property, then it cannot be set using.
+ </p>
+
+ <p>The state of TableColumnSeparator::IsVisible and the
+ count of the sequence must be the same in as it was in.
+ Hidden separators cannot be moved and they cannot be overtaken by visible
+ separators.</p>
+
+ @see com::sun::star::text::TextTable
+ */
+published struct TableColumnSeparator
+{
+ /** contains the position of the separator.
+ */
+ short Position;
+
+
+ /** determines if the separator is visible.
+ */
+ boolean IsVisible;
+
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/TableColumns.idl b/offapi/com/sun/star/text/TableColumns.idl
new file mode 100644
index 000000000..c3d3b4900
--- /dev/null
+++ b/offapi/com/sun/star/text/TableColumns.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_text_TableColumns_idl__
+#define __com_sun_star_text_TableColumns_idl__
+
+#include <com/sun/star/table/XTableColumns.idl>
+#include <com/sun/star/container/XIndexAccess.idl>
+#include <com/sun/star/container/XNameAccess.idl>
+
+
+module com { module sun { module star { module text {
+
+
+/** represents a collection of all columns of a table.
+
+ @see com::sun::star::table::TableColumn
+ @see com::sun::star::text::TextTable
+
+ @since OOo 1.1.2
+ */
+published service TableColumns
+{
+ /** provides methods to insert and remove columns.
+ */
+ interface com::sun::star::table::XTableColumns;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/TableIndex.idl b/offapi/com/sun/star/text/TableIndex.idl
new file mode 100644
index 000000000..420d57e1a
--- /dev/null
+++ b/offapi/com/sun/star/text/TableIndex.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_text_TableIndex_idl__
+#define __com_sun_star_text_TableIndex_idl__
+
+#include <com/sun/star/text/BaseIndex.idl>
+
+
+ module com { module sun { module star { module text {
+
+
+/** specifies service of table indexes within a document.
+ @see com::sun::star::text::BaseIndex
+ */
+published service TableIndex
+{
+ service com::sun::star::text::BaseIndex;
+
+ /** determines if the name or the label of an object is used to create the index.
+ */
+ [optional, property] boolean CreateFromLabels; //tables, illustrations
+
+ /** determines the name of the sequence field that is evaluated to create the index.
+ */
+ [optional, property] string LabelCategory; //tables, illustrations
+
+ /** determines the way the paragraph containing a label is included in the index.
+ @see ReferenceFieldPart allowed constant values: only TEXT, CATEGORY_AND_NUMBER and
+ ONLY_CAPTION
+ */
+ [optional, property] short LabelDisplayType;//tables, illustrations
+};
+
+
+}; }; }; };
+
+#endif
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/TableRows.idl b/offapi/com/sun/star/text/TableRows.idl
new file mode 100644
index 000000000..72c4986af
--- /dev/null
+++ b/offapi/com/sun/star/text/TableRows.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_text_TableRows_idl__
+#define __com_sun_star_text_TableRows_idl__
+
+#include <com/sun/star/table/XTableRows.idl>
+#include <com/sun/star/container/XIndexAccess.idl>
+
+
+module com { module sun { module star { module text {
+
+
+/** represents a collection of all rows of a text table.
+
+ @see com::sun::star::table::TableRow
+ @see com::sun::star::text::TextTable
+
+ @since OOo 1.1.2
+ */
+published service TableRows
+{
+ /** provides methods to insert and remove rows.
+ */
+ interface com::sun::star::table::XTableRows;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/TemplateDisplayFormat.idl b/offapi/com/sun/star/text/TemplateDisplayFormat.idl
new file mode 100644
index 000000000..853f05a56
--- /dev/null
+++ b/offapi/com/sun/star/text/TemplateDisplayFormat.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_text_TemplateDisplayFormat_idl__
+#define __com_sun_star_text_TemplateDisplayFormat_idl__
+
+
+
+ module com { module sun { module star { module text {
+
+/** These constants are used to specify which information about a template is
+ displayed in a field.
+ */
+published constants TemplateDisplayFormat
+{
+ // The complete path of the file will be displayed.
+ const short FULL = 0;
+
+ // Only the path of the template file will be displayed.
+ const short PATH = 1;
+
+ /** Only the file name, without file extension, of the template
+ file will be displayed.
+ */
+ const short NAME = 2;
+
+ /** The file name and the file extension of the template
+ file will be displayed.
+ */
+ const short NAME_AND_EXT = 3;
+
+ /** The name of the template area is displayed.
+ */
+ const short AREA = 4;
+
+ /** The title of the template file is displayed.
+ */
+ const short TITLE = 5;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/Text.idl b/offapi/com/sun/star/text/Text.idl
new file mode 100644
index 000000000..0c0a7e58c
--- /dev/null
+++ b/offapi/com/sun/star/text/Text.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_text_Text_idl__
+#define __com_sun_star_text_Text_idl__
+
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/beans/PropertyValues.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+ published interface XText;
+ published interface XTextRangeMover;
+ published interface XTextRangeCompare;
+ published interface XRelativeTextContentInsert;
+
+/** is an independent piece of text which consists of a
+ series of one or more paragraphs.
+
+ <p>This service is used, for example, for the text of a TextDocument
+ or the text in a cell or TextFrame.
+
+ @see com::sun::star::text::TextDocument
+ @see com::sun::star::text::TextFrame
+ @see com::sun::star::table::Cell
+ */
+published service Text
+{
+ /** This is the factory for an enumeration of the paragraphs in this text.
+
+ <p>This interface is mainly useful for exporting the text to a
+ data format.
+ */
+ interface com::sun::star::container::XEnumerationAccess;
+
+
+ /** provides a cursor factory and the possibility to insert and remove contents.
+ */
+ interface XText;
+
+
+ /** optional interface to compare positions of TextRange
+ instances within this text.
+ */
+ [optional] interface XTextRangeCompare;
+
+
+ /** makes it possible to change the position of paragraphs.
+
+ */
+ [optional] interface XTextRangeMover;
+
+
+ /** makes it possible to insert a new text content, before or
+ after existing text contents.
+
+ @deprecated hack
+ */
+ [optional] interface XRelativeTextContentInsert;
+
+
+ /** contains the properties of a redline at the start of the document.<br>
+ The sequence contains the following properties
+ <UL>
+ <LI><P>string RedlineAuthor </P></LI>
+ <LI><P>com::sun::star::util::DateTime RedlineDate_Time </P></LI>
+ <LI><P>string RedlineComment </P></LI>
+ <LI><P>string RedlineType </P></LI>
+ <LI><P>string RedlineIdentifier </P></LI>
+ <LI><P>boolean IsCollapsed </P></LI>
+ <LI><P>boolean IsStart </P></LI>
+ <LI><P>boolean MergeLastPara </P></LI>
+ <LI><P>[maybevoid] com::sun::star::text::XText RedlineText (maybevoid)</P></LI>
+ <LI><P>com::sun::star::beans::PropertyValues RedlineSuccessorData
+ (contains the same properties except for the RedlineSuccessorData)</P></LI>
+ </UL>
+ @see EndRedline
+ */
+ [optional, property] ::com::sun::star::beans::PropertyValues StartRedline;
+
+
+ /** contains the properties of a redline at the start of the document.
+ The sequence contains the following properties
+ <UL>
+ <LI><P>string RedlineAuthor </P></LI>
+ <LI><P>com::sun::star::util::DateTime RedlineDate_Time </P></LI>
+ <LI><P>string RedlineComment </P></LI>
+ <LI><P>string RedlineType </P></LI>
+ <LI><P>string RedlineIdentifier </P></LI>
+ <LI><P>boolean IsCollapsed </P></LI>
+ <LI><P>boolean IsStart </P></LI>
+ <LI><P>boolean MergeLastPara </P></LI>
+ <LI><P>[maybevoid] com::sun::star::text::XText RedlineText (maybevoid)</P></LI>
+ <LI><P>com::sun::star::beans::PropertyValues RedlineSuccessorData
+ (contains the same properties except for the RedlineSuccessorData)</P></LI>
+ </UL>
+ @see StartRedline
+ */
+ [optional, maybevoid, property] ::com::sun::star::beans::PropertyValues EndRedline;
+
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/TextColumn.idl b/offapi/com/sun/star/text/TextColumn.idl
new file mode 100644
index 000000000..0f501d6bf
--- /dev/null
+++ b/offapi/com/sun/star/text/TextColumn.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_text_TextColumn_idl__
+#define __com_sun_star_text_TextColumn_idl__
+
+
+
+ module com { module sun { module star { module text {
+
+/** defines a single text column.
+ */
+published struct TextColumn
+{
+ /** contains the relative width of the column, including both margins.
+
+
+ Width isn't a metric value, it's a relative value to the sum of the width of all columns.
+ */
+ long Width;
+
+ /** contains the left margin of the column.
+
+
+
+ <p>This is a metric value.</p>
+ */
+ long LeftMargin;
+
+ /** contains the right margin of the column.
+
+
+
+ <p>This is a metric value.</p>
+ */
+ long RightMargin;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/TextColumnSequence.idl b/offapi/com/sun/star/text/TextColumnSequence.idl
new file mode 100644
index 000000000..1b6d6e267
--- /dev/null
+++ b/offapi/com/sun/star/text/TextColumnSequence.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_text_TextColumnSequence_idl__
+#define __com_sun_star_text_TextColumnSequence_idl__
+
+#include <com/sun/star/text/TextColumn.idl>
+
+
+module com { module sun { module star { module text {
+
+published typedef sequence<TextColumn> TextColumnSequence;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/TextColumns.idl b/offapi/com/sun/star/text/TextColumns.idl
new file mode 100644
index 000000000..52de4fef7
--- /dev/null
+++ b/offapi/com/sun/star/text/TextColumns.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_text_TextColumns_idl__
+#define __com_sun_star_text_TextColumns_idl__
+
+#include <com/sun/star/text/XTextColumns.idl>
+#include <com/sun/star/style/VerticalAlignment.idl>
+#include <com/sun/star/util/Color.idl>
+
+
+ module com { module sun { module star { module text {
+
+/** provides access to columns in text (e.g., in TextFrames ).
+ */
+published service TextColumns
+{
+ interface com::sun::star::text::XTextColumns;
+
+ /** determines whether the columns all have equal width. This flag is set if XTextColumns::setColumnCount() is called
+ and it is reset if XTextColumns::setColumns() is called.
+ */
+ [readonly, property] boolean IsAutomatic;
+ /** contains the distance between the columns. It is valid if the property IsAutomatic is set.
+ <!-- The h -->Half of this distance is set to the left and right margins of all columns,
+ except for the left margin of the first column, and the right margin of the last column.*/
+ [property] long AutomaticDistance;
+ /** determines the width of the separator lines between the columns.
+ */
+ [property] long SeparatorLineWidth;
+ /** determines the color of the separator lines between the columns.
+ */
+ [property] com::sun::star::util::Color SeparatorLineColor;
+ /** determines the relative height of the separator lines between the columns.
+ */
+ [property] long SeparatorLineRelativeHeight;
+ /** determines the vertical alignment of the separator lines between the columns.
+ */
+ [property] com::sun::star::style::VerticalAlignment SeparatorLineVerticalAlignment;
+ /** determines whether separator lines are on.
+ */
+ [property] boolean SeparatorLineIsOn;
+ /** determines the style of the separator lines between the columns.
+ @see com::sun::star::text:ColumnSeparatorStyle
+ for the possible values.
+ */
+ [property, optional] short SeparatorLineStyle;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/TextContent.idl b/offapi/com/sun/star/text/TextContent.idl
new file mode 100644
index 000000000..50c494114
--- /dev/null
+++ b/offapi/com/sun/star/text/TextContent.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_text_TextContent_idl__
+#define __com_sun_star_text_TextContent_idl__
+
+#include <com/sun/star/text/XTextContent.idl>
+#include <com/sun/star/text/TextContentAnchorType.idl>
+#include <com/sun/star/text/WrapTextMode.idl>
+
+
+
+module com { module sun { module star { module text {
+
+/** is an object which can be anchored in a text, like instances of
+ TextFrame or TextField.
+
+ <p>If the concrete TextContent has a textual
+ representation which fades into the surrounding text, then
+ XTextField is used.
+
+ <p>If the concrete TextContent has a "floating" object,
+ like a graphic, com::sun::star::drawing::XShape
+ is used.
+
+ @see TextField
+ @see TextTable
+ @see TextFrame
+ @see TextSection
+ @see TextGraphicObject
+ @see TextEmbeddedObject
+*/
+published service TextContent
+{
+
+ /** This interface is used for the attachment of this text content
+ to the surrounding text.
+ */
+ interface com::sun::star::text::XTextContent;
+
+ /** specifies how the text content is attached to its surrounding
+ Text.
+ */
+ [optional, property] com::sun::star::text::TextContentAnchorType AnchorType;
+
+ /** contains the anchor type of the text content.
+ @see com::sun::star::text::TextContentAnchorType
+ */
+ [optional, readonly, property] sequence<com::sun::star::text::TextContentAnchorType> AnchorTypes;
+
+ /** specifies if the text content is a shape
+ and how the text is wrapped around the shape.
+ */
+ [optional, property] com::sun::star::text::WrapTextMode TextWrap;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/TextContentAnchorType.idl b/offapi/com/sun/star/text/TextContentAnchorType.idl
new file mode 100644
index 000000000..247555293
--- /dev/null
+++ b/offapi/com/sun/star/text/TextContentAnchorType.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_text_TextContentAnchorType_idl__
+#define __com_sun_star_text_TextContentAnchorType_idl__
+
+
+
+ module com { module sun { module star { module text {
+
+/** specify how the text content is attached to its
+ surrounding text.
+ */
+published enum TextContentAnchorType
+{
+ /** The anchor of the object is set at the top left position of the paragraph.
+ */
+ AT_PARAGRAPH,
+
+ /** The object is anchored instead of a character.
+
+
+
+ <p>The size of the object influences the height of the text line.</p>
+ */
+ AS_CHARACTER,
+
+ /** The object is anchored to the page.
+
+
+
+ <p>The position does not change if the content of the document is changed.</p>
+ */
+ AT_PAGE,
+
+ /** The object is anchored to a text frame.
+ */
+ AT_FRAME,
+
+ /** The object is anchored to a character.
+
+
+
+ <p>The position of the object changes if the position of this
+ character is changed.
+ </p>
+ */
+ AT_CHARACTER
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/TextContentCollection.idl b/offapi/com/sun/star/text/TextContentCollection.idl
new file mode 100644
index 000000000..b008f3edd
--- /dev/null
+++ b/offapi/com/sun/star/text/TextContentCollection.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_text_TextContentCollection_idl__
+#define __com_sun_star_text_TextContentCollection_idl__
+
+#include <com/sun/star/container/XNameAccess.idl>
+
+#include <com/sun/star/container/XContainer.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+/** Objects of this type are collections of text contents of the same type.@see Text
+ */
+published service TextContentCollection
+{
+
+ /** Each text content is accessible by its name, which is unique
+ within the collection.
+ */
+ interface com::sun::star::container::XNameAccess;
+
+ /** The insertion and removal of text contents of this type are
+ broadcasted via this interface.
+ */
+ interface com::sun::star::container::XContainer;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/TextCursor.idl b/offapi/com/sun/star/text/TextCursor.idl
new file mode 100644
index 000000000..864b12767
--- /dev/null
+++ b/offapi/com/sun/star/text/TextCursor.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_text_TextCursor_idl__
+#define __com_sun_star_text_TextCursor_idl__
+
+#include <com/sun/star/text/TextRange.idl>
+#include <com/sun/star/text/XTextCursor.idl>
+#include <com/sun/star/text/XWordCursor.idl>
+#include <com/sun/star/text/XSentenceCursor.idl>
+#include <com/sun/star/text/XParagraphCursor.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/beans/XPropertyState.idl>
+#include <com/sun/star/beans/XMultiPropertyStates.idl>
+#include <com/sun/star/document/XDocumentInsertable.idl>
+#include <com/sun/star/util/XSortable.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+/** A TextCursor is a TextRange which can be moved
+ within a Text object.
+ @see TextRange
+ */
+published service TextCursor
+{
+ service com::sun::star::text::TextRange;
+
+ interface com::sun::star::text::XTextCursor;
+ [optional] interface com::sun::star::text::XWordCursor;
+ [optional] interface com::sun::star::text::XSentenceCursor;
+ [optional] interface com::sun::star::text::XParagraphCursor;
+
+ /** This interface gives access to the properties of the range that is
+ selected by the cursor.
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+ /** This interface gives access to the state of the properties of the
+ range that is selected by the cursor.
+ */
+ interface com::sun::star::beans::XPropertyState;
+ interface com::sun::star::beans::XMultiPropertyStates;
+
+ /** This optional interface makes it possible to insert a document
+ from an external source at the cursor position.
+ */
+ [optional] interface com::sun::star::document::XDocumentInsertable;
+
+ /** This optional interface makes it possible to sort the contents at
+ the cursor position.
+ */
+ [optional] interface com::sun::star::util::XSortable;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/TextDocument.idl b/offapi/com/sun/star/text/TextDocument.idl
new file mode 100644
index 000000000..456b3e8f3
--- /dev/null
+++ b/offapi/com/sun/star/text/TextDocument.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_text_TextDocument_idl__
+#define __com_sun_star_text_TextDocument_idl__
+
+#include <com/sun/star/text/GenericTextDocument.idl>
+
+
+ module com { module sun { module star { module text {
+
+
+/** Specify the document service of the text module.
+ */
+published service TextDocument
+{
+ /** Provides the functionality of such text document. */
+ service GenericTextDocument;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/TextDocumentView.idl b/offapi/com/sun/star/text/TextDocumentView.idl
new file mode 100644
index 000000000..220dc9ead
--- /dev/null
+++ b/offapi/com/sun/star/text/TextDocumentView.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_text_TextDocumentView_idl__
+#define __com_sun_star_text_TextDocumentView_idl__
+
+#include <com/sun/star/view/OfficeDocumentView.idl>
+
+#include <com/sun/star/view/XViewSettingsSupplier.idl>
+
+#include <com/sun/star/text/XTextViewCursorSupplier.idl>
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+
+ module com { module sun { module star { module text {
+
+
+/** specifies the view of a TextDocument.
+ */
+published service TextDocumentView
+{
+ service com::sun::star::view::OfficeDocumentView;
+
+
+ /** This interface permits access to the properties of the view.
+ */
+ interface com::sun::star::view::XViewSettingsSupplier;
+
+
+ /** This interface makes it possible to access the cursor which belongs
+ to the view and can be visible for the user.
+ */
+ interface com::sun::star::text::XTextViewCursorSupplier;
+
+
+ /** Gives access to the objects properties.
+
+ @since OOo 2.0
+ */
+ [optional] interface com::sun::star::beans::XPropertySet;
+
+
+ /** returns the number of pages in the document
+
+ <p>Since the document needs to be formatted to get the result
+ obtaining this value may take some time.</p>
+
+ @since OOo 2.0
+ */
+ [optional, property, readonly] long PageCount;
+
+ /** returns the number of lines in the document
+
+ <p>Since the document needs to be formatted to get the result
+ obtaining this value may take some time.</p>
+
+ <p>Empty paragraphs are not counted.</p>
+
+ @since OOo 2.0
+ */
+ [optional, property, readonly] long LineCount;
+
+ /** specifies if spell checking should be done while typing.
+
+ @since OOo 2.0
+ */
+ [optional, property] boolean IsConstantSpellcheck;
+
+ /** specifies if the marks for misspelled text should be displayed.
+
+ @since OOo 2.0
+ */
+ [optional, property] boolean IsHideSpellMarks;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/TextEmbeddedObject.idl b/offapi/com/sun/star/text/TextEmbeddedObject.idl
new file mode 100644
index 000000000..a6315e733
--- /dev/null
+++ b/offapi/com/sun/star/text/TextEmbeddedObject.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_text_TextEmbeddedObject_idl__
+#define __com_sun_star_text_TextEmbeddedObject_idl__
+
+#include <com/sun/star/document/XEmbeddedObjectSupplier.idl>
+#include <com/sun/star/text/BaseFrame.idl>
+#include <com/sun/star/frame/XModel.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+/** provides access to the properties and methods of an embedded object.
+ */
+published service TextEmbeddedObject
+{
+ /** contains the definition of interfaces and properties that are supported by text frames,
+ graphic objects and embedded objects.
+ */
+ service BaseFrame;
+ interface com::sun::star::document::XEmbeddedObjectSupplier;
+ /* If you get this property you get the CLSID of the OLE2 document stream
+ contained in this OLE2 shape. If you set it, an empty OLE2 document stream
+ with this CLSID is created within this OLE2 shape.
+ The property can only be set as long as the object is not inserted into the document.
+ */
+ [property] string CLSID;
+
+ /** This is the model for the OLE2 object.
+ <p>This property if void if the OLE2 is not an
+ Office component.</p>
+
+ */
+ [readonly, maybevoid, property] com::sun::star::frame::XModel Model;
+
+ /** This is the component for the OLE2 object.
+
+ */
+ [readonly, maybevoid, property] com::sun::star::lang::XComponent Component;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/TextEmbeddedObjects.idl b/offapi/com/sun/star/text/TextEmbeddedObjects.idl
new file mode 100644
index 000000000..a92093148
--- /dev/null
+++ b/offapi/com/sun/star/text/TextEmbeddedObjects.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_text_TextEmbeddedObjects_idl__
+#define __com_sun_star_text_TextEmbeddedObjects_idl__
+
+#include <com/sun/star/container/XNameAccess.idl>
+#include <com/sun/star/container/XIndexAccess.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+
+/** provides access to all embedded objects in a document.
+ */
+published service TextEmbeddedObjects
+{
+ /** This interface makes it possible to access all TextEmbeddedObject
+ instances within this context (e.g. a document) by its name.
+
+ <p>The type of the interfaces returned by this collection is
+ always "XTextContent".
+ */
+ interface com::sun::star::container::XNameAccess;
+
+ /** This interface makes it possible to access all TextEmbeddedObject
+ instances within this context (e.g. a document) by its index.
+
+ <p>The type of the interfaces returned by this collection is
+ always "XTextContent".
+ */
+ interface com::sun::star::container::XIndexAccess;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/TextField.idl b/offapi/com/sun/star/text/TextField.idl
new file mode 100644
index 000000000..5499792b8
--- /dev/null
+++ b/offapi/com/sun/star/text/TextField.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_text_TextField_idl__
+#define __com_sun_star_text_TextField_idl__
+
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/text/TextContent.idl>
+#include <com/sun/star/text/XTextField.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+
+/** A TextField is a TextContent which fades its
+ textual representation into the text range to which it is anchored.
+ */
+published service TextField
+{
+ service com::sun::star::text::TextContent;
+
+
+ /** This interface is used to access the textual representation of
+ this field.
+ */
+ interface com::sun::star::text::XTextField;
+
+ /** makes it possible to access the properties of the field, if any.
+ */
+ [optional] interface com::sun::star::beans::XPropertySet;
+
+
+ /** specifies if the text field is actually used in the document.
+
+ <p>Not all available text fields are used, for example fields
+ that are part of unused styles.</p>
+
+ @since OOo 2.0.1
+ */
+ [optional, property, readonly] boolean IsFieldUsed;
+
+
+ /** specifies if the text field is actually displayed.
+
+ <p>Not all available text fields are actually displayed
+ even when they are used. For example hidden fields or fields
+ in hidden text are used in the document but get not displayed.</p>
+
+ @since OOo 2.0.1
+ */
+ [optional, property, readonly] boolean IsFieldDisplayed;
+
+ /** Contains short title for the field, used to for tooltip purposes if it's non-empty.
+
+ @since LibreOffice 7.4
+ */
+ [optional, property] string Title;
+
+
+};
+
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/TextFieldEnumeration.idl b/offapi/com/sun/star/text/TextFieldEnumeration.idl
new file mode 100644
index 000000000..0daff6853
--- /dev/null
+++ b/offapi/com/sun/star/text/TextFieldEnumeration.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_text_TextFieldEnumeration_idl__
+#define __com_sun_star_text_TextFieldEnumeration_idl__
+
+#include <com/sun/star/container/XEnumeration.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+
+/** This interface creates an enumeration of all text fields within a text document.
+ */
+published service TextFieldEnumeration
+{
+ /** This interface provides access to the text fields in a text document.
+ */
+ interface ::com::sun::star::container::XEnumeration;
+};
+
+
+}; }; }; };
+#endif
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/TextFieldMaster.idl b/offapi/com/sun/star/text/TextFieldMaster.idl
new file mode 100644
index 000000000..0de4c0ab5
--- /dev/null
+++ b/offapi/com/sun/star/text/TextFieldMaster.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_text_TextFieldMaster_idl__
+#define __com_sun_star_text_TextFieldMaster_idl__
+
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/text/XDependentTextField.idl>
+
+
+ module com { module sun { module star { module text {
+
+
+/** A TextFieldMaster specifies important data for its
+ DependentTextFields.
+ */
+published service TextFieldMaster
+{
+ /** This optional interface makes it possible to access properties of
+ this field master, if any.
+ */
+ [optional] interface com::sun::star::beans::XPropertySet;
+ /** determines the name of the field master. The name is void as long as the
+ instance is not member of the document structure. When the value is being set
+ the instance is inserted into the document and the name cannot be changed afterwards.
+ That does not apply to the Database text field master.
+ */
+ [optional, property] string Name;
+ /** contains a sequence of all fields that depend on this master.
+ */
+ [readonly, property] sequence< XDependentTextField> DependentTextFields;
+ /** contains the instance name as it is used in the
+ ::com::sun::star::text::XTextFieldsSupplier.
+ */
+ [readonly, property] string InstanceName;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/TextFieldMasters.idl b/offapi/com/sun/star/text/TextFieldMasters.idl
new file mode 100644
index 000000000..b4491ca85
--- /dev/null
+++ b/offapi/com/sun/star/text/TextFieldMasters.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_text_TextFieldMasters_idl__
+#define __com_sun_star_text_TextFieldMasters_idl__
+
+#include <com/sun/star/container/XNameAccess.idl>
+
+
+ module com { module sun { module star { module text {
+
+/** This is a collection of instances of TextFieldMaster, defined
+ in a context (e.g. in a document).
+ */
+published service TextFieldMasters
+{
+
+ /** This interface makes it possible to access the instances of service
+ TextFieldMaster defined in this context (e.g. this
+ document).
+
+ @see TextFieldMaster
+ */
+ interface com::sun::star::container::XNameAccess;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/TextFields.idl b/offapi/com/sun/star/text/TextFields.idl
new file mode 100644
index 000000000..d16106cdc
--- /dev/null
+++ b/offapi/com/sun/star/text/TextFields.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_text_TextFields_idl__
+#define __com_sun_star_text_TextFields_idl__
+
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#include <com/sun/star/util/XRefreshable.idl>
+
+
+ module com { module sun { module star { module text {
+
+/** This is a collection of TextField instances.
+ */
+published service TextFields
+{
+ /** This interface makes it possible to create an enumeration through
+ all text fields in this container.
+
+ <p>All elements are of type XTextField.</p>
+ */
+ interface com::sun::star::container::XEnumerationAccess;
+
+
+ /** makes it possible to refresh (recalculate etc.) all fields.
+ */
+ interface com::sun::star::util::XRefreshable;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/TextFrame.idl b/offapi/com/sun/star/text/TextFrame.idl
new file mode 100644
index 000000000..44f4139d9
--- /dev/null
+++ b/offapi/com/sun/star/text/TextFrame.idl
@@ -0,0 +1,160 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_text_TextFrame_idl__
+#define __com_sun_star_text_TextFrame_idl__
+
+#include <com/sun/star/text/XTextFrame.idl>
+#include <com/sun/star/text/BaseFrame.idl>
+
+
+ module com { module sun { module star { module text {
+
+
+/** specifies a rectangular shape which contains a Text object
+ and is attached to a piece of surrounding Text.
+
+ @see Text
+
+ <p>This example shows how to create a TextFrame and insert
+ it at the very beginning of Text component. The macro
+ is ready to run, if it is a script within a text document. </p>
+
+ @code{.bas}
+ Sub Main
+ oFrame = ThisComponent.createInstance( "com.sun.star.text.TextFrame" )
+ oFrame.Width = 6000
+ ThisComponent.Text.insertTextContent( ThisComponent.Text.Start, oFrame, false )
+ oFrame.Text.String = "Hello, this text is within the frame."
+ End Sub
+ @endcode
+ */
+published service TextFrame
+{
+ /** contains the definition of interfaces and properties that are supported by text frames,
+ graphic objects and embedded objects.
+ */
+ service BaseFrame;
+
+ /** This interface makes it possible to access the text within this
+ text frame.
+ */
+ interface com::sun::star::text::XTextFrame;
+ /** contains the metric height value of the frame.
+ */
+ [property] long FrameHeightAbsolute;
+
+ /** contains the metric width value of the frame.
+ */
+ [property] long FrameWidthAbsolute;
+
+
+ /** specifies a width relative to the width of the
+ surrounding text.
+ <p>If the value for "WidthPercent" is 0, the absolute value from
+ is used.</p>
+ */
+ [property] byte FrameWidthPercent;
+
+ /** specifies a width relative to the width of the
+ surrounding text.
+
+ <p>If the value for "HeightPercent" is 0, the absolute value from
+ is used.</p>
+ */
+ [property] byte FrameHeightPercent;
+ /** If "AutomaticHeight" is set, then the object grows if it is required
+ by the frame content.
+ */
+ [property] boolean FrameIsAutomaticHeight;
+ /** determines the interpretation of the height and relative
+ height properties.
+
+ @see SizeType
+ */
+ [property] short SizeType;
+ /** determines if the text frame should be editable in a read-only document.
+ (This is usually used in forms.)
+
+ */
+ [optional, property] boolean EditInReadonly;
+
+ /** determines the interpretation of the width and relative
+ width properties.
+
+ @see SizeType
+ @since OOo 2.4
+ */
+ [optional, property] short WidthType;
+
+ /** contains the writing direction, as represented by the
+ com::sun::star::text::WritingMode2 constants
+ */
+ [optional, property] short WritingMode;
+
+ /** controls, if the frame follows the text flow or can leave its layout environment
+
+ <p>If set, the frame follows the text flow and doesn't leaves the layout
+ environment, which is given by its anchor, above and below.
+ E.g.: Anchor resides in the document body then the frame doesn't leave
+ the document body above and below and follows the text flow through
+ the document bodies of the different pages.
+
+ If not set, the frame doesn't follow the text flow and stays on the page,
+ on which its anchor is found, but it may leave the layout environment,
+ which is given by its anchor.
+ E.g.: Anchor resides in the document body then the frame stays on page,
+ where this document body is, but it could leave the document body above
+ and below, e.g. overlapping with the page header.
+
+ Note: The areas for the vertical orientation relation at page areas are
+ interpreted in dependence to this property (@see BaseFrameProperties.VertOrientRelation).
+ If property is set, the page area is interpreted as the layout environment,
+ given by its anchor. E.g.: Anchor resides in the page header then the
+ page header determines the page area. If property isn't set, the page area is
+ determined by the document page, the anchor is on. E.g.: Anchor resides
+ in the page header then the document page, the page header is on, determines
+ the page area.
+ An exception of this interpretation rule is applied, if the anchor resides
+ in a table cell. In this situation the page area is always determined by
+ the table cell.</p>
+ */
+ [optional, property] boolean IsFollowingTextFlow;
+
+ /** adjusts the vertical position of the text inside of the frame.
+
+ @see com::sun::star::drawing::TextVerticalAdjust
+ @since LibreOffice 4.3
+ */
+ [optional, property] com::sun::star::drawing::TextVerticalAdjust TextVerticalAdjust;
+
+ /** Parent text of this text frame.
+
+ This might be a header text, body text, etc.
+
+ @since LibreOffice 6.3
+ */
+ [optional, readonly, property] com::sun::star::text::XText ParentText;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/TextFrames.idl b/offapi/com/sun/star/text/TextFrames.idl
new file mode 100644
index 000000000..cce2b872d
--- /dev/null
+++ b/offapi/com/sun/star/text/TextFrames.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_text_TextFrames_idl__
+#define __com_sun_star_text_TextFrames_idl__
+
+#include <com/sun/star/container/XNameAccess.idl>
+#include <com/sun/star/container/XIndexAccess.idl>
+#include <com/sun/star/container/XContainer.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+/** This is the collection of all TextFrame instances within a
+ context (e.g. a document).
+ */
+published service TextFrames
+{
+
+ /** This interface makes it possible to access all TextFrame
+ instances within this context (e.g. a document) by its name.
+
+ <p>The type of the interfaces returned by this collection is
+ always "XTextFrame".
+ */
+ interface com::sun::star::container::XNameAccess;
+ /** This interface makes it possible to access all TextFrame
+ instances within this context (e.g. a document) by its index.
+
+ <p>The type of the interfaces returned by this collection is
+ always "XTextFrame".
+ */
+ interface com::sun::star::container::XIndexAccess;
+
+ /** This optional interface makes it possible to register for events
+ which occur upon insertion and removal of TextFrame
+ instances.
+ */
+ [optional] interface com::sun::star::container::XContainer;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/TextGraphicObject.idl b/offapi/com/sun/star/text/TextGraphicObject.idl
new file mode 100644
index 000000000..02f9c3060
--- /dev/null
+++ b/offapi/com/sun/star/text/TextGraphicObject.idl
@@ -0,0 +1,142 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_text_TextGraphicObject_idl__
+#define __com_sun_star_text_TextGraphicObject_idl__
+
+#include <com/sun/star/text/BaseFrame.idl>
+#include <com/sun/star/text/GraphicCrop.idl>
+#include <com/sun/star/drawing/PointSequenceSequence.idl>
+#include <com/sun/star/drawing/ColorMode.idl>
+#include <com/sun/star/container/XIndexContainer.idl>
+#include <com/sun/star/graphic/XGraphic.idl>
+
+
+ module com { module sun { module star { module text {
+
+
+/** specifies a graphic which can be embedded in Text.
+ */
+published service TextGraphicObject
+{
+ /** contains the definition of interfaces and properties that are supported by text frames,
+ graphic objects and embedded objects.
+ */
+ service BaseFrame;
+ /** returns the client-side image map if one is assigned to the object.
+ */
+ [property] com::sun::star::container::XIndexContainer ImageMap;
+
+
+ /** determines if the content is protected against changes from the user interface.
+ */
+ [property] boolean ContentProtected;
+
+
+ /** determines if the text wraps around the contour of the object.
+ */
+ [property] boolean SurroundContour;
+
+ /** the text flows only around the contour of the object.
+ */
+ [property] boolean ContourOutside;
+ /** contains the contour of the object as PolyPolygon.
+ */
+ [optional, property] com::sun::star::drawing::PointSequenceSequence ContourPolyPolygon;
+
+ /** contains the cropping of the object.@see GraphicCrop
+ */
+ [property] com::sun::star::text::GraphicCrop GraphicCrop;
+
+ /** determines if the object is horizontally mirrored on even pages.
+ */
+ [property] boolean HoriMirroredOnEvenPages;
+ /** determines if the object is horizontally mirrored on odd pages.
+ */
+ [property] boolean HoriMirroredOnOddPages;
+ /** determines if the object is mirrored vertically.
+ */
+ [property] boolean VertMirrored;
+
+ /** contains the URL of the background graphic of the object
+
+ @deprecated as of LibreOffice 6.1 - use Graphic instead
+
+ Note the new behaviour since it was deprecated:
+ This property can only be set and only external URLs are
+ supported (no more vnd.sun.star.GraphicObject scheme). When a
+ URL is set, then it will load the image and set the Graphic
+ property.
+ */
+ [property] string GraphicURL;
+
+
+ /** contains the name of the filter of the background graphic of the object.
+ */
+ [property] string GraphicFilter;
+
+ /** contains the original size of the bitmap in the graphic object.
+ */
+ [property] com::sun::star::awt::Size ActualSize;
+ /** changes the display of the luminance.
+ It contains percentage values between -100 and +100.
+ */
+ [property] short AdjustLuminance;
+ /** changes the display of contrast.
+ It contains percentage values between -100 and +100.
+ */
+ [property] short AdjustContrast;
+ /** changes the display of the red color channel.
+ It contains percentage values between -100 and +100.
+ */
+ [property] short AdjustRed;
+ /** changes the display of the green color channel.
+ It contains percentage values between -100 and +100.
+ */
+ [property] short AdjustGreen;
+ /** changes the display of the blue color channel.
+ It contains percentage values between -100 and +100.
+ */
+ [property] short AdjustBlue;
+ /** determines the gamma value of the graphic.
+ */
+ [property] double Gamma;
+ /** determines if the graphic is display in inverted colors.
+ It contains percentage values between -100 and +100.
+ */
+ [property] boolean GraphicIsInverted;
+
+ /** contains percentage values between -100 and +100.
+ */
+ [property] short Transparency;
+ /** contains the ColorMode as com::sun::star::drawing::ColorMode.
+ */
+ [property] com::sun::star::drawing::ColorMode GraphicColorMode;
+
+ /** contains the background graphic of the object.
+ */
+ [optional, property] com::sun::star::graphic::XGraphic Graphic;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/TextGraphicObjects.idl b/offapi/com/sun/star/text/TextGraphicObjects.idl
new file mode 100644
index 000000000..4a153c58d
--- /dev/null
+++ b/offapi/com/sun/star/text/TextGraphicObjects.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_text_TextGraphicObjects_idl__
+#define __com_sun_star_text_TextGraphicObjects_idl__
+
+#include <com/sun/star/container/XNameAccess.idl>
+#include <com/sun/star/container/XIndexAccess.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+
+/** This is the collection of all TextGraphicObject instances within a
+ context (e.g. a document).
+ */
+published service TextGraphicObjects
+{
+
+
+ /** This interface makes it possible to access all TextGraphicObject
+ instances within this context (e.g. a document) by its name.
+
+ <p>The type of the interfaces returned by this collection is
+ always "XTextContent".
+ */
+ interface com::sun::star::container::XNameAccess;
+ /** This interface makes it possible to access all TextGraphicObject
+ instances within this context (e.g. a document) by its index.
+
+ <p>The type of the interfaces returned by this collection is
+ always "XTextContent".
+ */
+ interface com::sun::star::container::XIndexAccess;
+};
+
+
+}; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/TextGridMode.idl b/offapi/com/sun/star/text/TextGridMode.idl
new file mode 100644
index 000000000..b73c65b36
--- /dev/null
+++ b/offapi/com/sun/star/text/TextGridMode.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_text_TextGridMode_idl__
+#define __com_sun_star_text_TextGridMode_idl__
+
+
+
+ module com { module sun { module star { module text {
+
+
+/** this set of constants describes different modes for text grids
+ */
+published constants TextGridMode
+{
+
+ /** no text grid */
+ const short NONE = 0;
+
+
+ /** line positions will be determined by the grid */
+ const short LINES = 1;
+
+
+ /** character and line positions will be determined by the grid */
+ const short LINES_AND_CHARS = 2;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/TextLayoutCursor.idl b/offapi/com/sun/star/text/TextLayoutCursor.idl
new file mode 100644
index 000000000..7171b4db6
--- /dev/null
+++ b/offapi/com/sun/star/text/TextLayoutCursor.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_text_TextLayoutCursor_idl__
+#define __com_sun_star_text_TextLayoutCursor_idl__
+
+#include <com/sun/star/text/TextCursor.idl>
+#include <com/sun/star/text/XPageCursor.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+/** A TextLayoutCursor is a TextRange which can
+ travel within a layout of a Text object.
+ */
+published service TextLayoutCursor
+{
+ service com::sun::star::text::TextCursor;
+ interface com::sun::star::text::XPageCursor;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/TextMarkupDescriptor.idl b/offapi/com/sun/star/text/TextMarkupDescriptor.idl
new file mode 100644
index 000000000..2afd054a7
--- /dev/null
+++ b/offapi/com/sun/star/text/TextMarkupDescriptor.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_text_TextMarkupDescriptor_idl__
+#define __com_sun_star_text_TextMarkupDescriptor_idl__
+
+#include <com/sun/star/container/XStringKeyMap.idl>
+#include <com/sun/star/text/TextMarkupType.idl>
+
+
+
+module com { module sun { module star { module text {
+
+
+/** A descriptor for a single text markup.
+
+ @since OOo 3.0.1
+ */
+
+struct TextMarkupDescriptor
+{
+ /// Type of text markup see TextMarkupType
+ long nType;
+
+ /// A string used to identify the caller
+ string aIdentifier;
+
+ /// Start of the markup range
+ long nOffset;
+
+ /// Length of the markup range
+ long nLength;
+
+ /** contains additional information about the markup
+
+ Supported properties:
+
+ nType | aKey
+ ------------------------- | -------------
+ PROOFREADING or SMARTTAG | "LineColor": changes the markup color from default to RGB aValue (int32)
+ PROOFREADING or SMARTTAG | "LineType": changes the underlining style to aValue (short): WAVE, DASH
+ | @since 6.3: BOLDWAVE, BOLD
+ | See: com::sun::star::awt::FontUnderline
+ */
+ com::sun::star::container::XStringKeyMap xMarkupInfoContainer;
+};
+
+}; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/TextMarkupType.idl b/offapi/com/sun/star/text/TextMarkupType.idl
new file mode 100644
index 000000000..18ba4e698
--- /dev/null
+++ b/offapi/com/sun/star/text/TextMarkupType.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_text_TextMarkupType_idl__
+#define __com_sun_star_text_TextMarkupType_idl__
+
+
+module com { module sun { module star { module text {
+
+
+/** Constants to specify the type of text markup.
+
+ <p>These constants are used with
+ XTextMarkup::commitTextMarkup()</p>
+
+ @since OOo 2.3
+ */
+
+constants TextMarkupType
+{
+ /** Markup originates from spell checking.
+ */
+ const long SPELLCHECK = 1;
+
+ /** Markup originates from proofreading
+ @since OOo 3.0.1
+ */
+ const long PROOFREADING = 2;
+
+ /** Markup originates from smart tag checking.
+ */
+ const long SMARTTAG = 3;
+
+ /** Markup originates from proofreading
+ An invisible markup type used in proofreading API calls.
+ @since OOo 3.0.1
+ */
+ const long SENTENCE = 4;
+
+ /** Markups originates from change tracking.
+ @since OOo 3.3
+ */
+ const long TRACK_CHANGE_INSERTION = 5;
+ const long TRACK_CHANGE_DELETION = 6;
+ const long TRACK_CHANGE_FORMATCHANGE = 7;
+};
+
+}; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/TextPageStyle.idl b/offapi/com/sun/star/text/TextPageStyle.idl
new file mode 100644
index 000000000..de53e775b
--- /dev/null
+++ b/offapi/com/sun/star/text/TextPageStyle.idl
@@ -0,0 +1,173 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_text_TextPageStyle_idl__
+#define __com_sun_star_text_TextPageStyle_idl__
+
+#include <com/sun/star/util/Color.idl>
+#include <com/sun/star/table/ShadowFormat.idl>
+#include <com/sun/star/table/BorderLine.idl>
+#include <com/sun/star/style/PageStyleLayout.idl>
+#include <com/sun/star/style/GraphicLocation.idl>
+#include <com/sun/star/awt/Size.idl>
+#include <com/sun/star/text/XText.idl>
+#include <com/sun/star/text/XTextColumns.idl>
+#include <com/sun/star/container/XNameContainer.idl>
+
+
+module com { module sun { module star { module text {
+
+
+/** represents a page style for a text document.
+
+ <p>This service extends the service
+ com::sun::star::style::PageStyle with specific
+ properties for text documents.</p>
+ */
+published service TextPageStyle
+{
+
+ /** determines whether the register mode is active on that page.
+ */
+ [property] boolean RegisterModeActive;
+
+
+ /** contains the name of the paragraph style that is used as
+ reference of the register mode.
+ */
+ [property] string RegisterParagraphStyle;
+
+
+ /** contains the column settings of the page.
+ */
+ [property] com::sun::star::text::XTextColumns TextColumns;
+
+
+ /** contains the interface to the text of the header.
+
+ @see com::sun::star::text::Text
+ */
+ [property] com::sun::star::text::XText HeaderText;
+
+
+ /** contains the interface to the text of the header of left pages.
+
+ @see com::sun::star::text::Text
+ */
+ [property] com::sun::star::text::XText HeaderTextLeft;
+
+
+ /** contains the interface to the text of the header of right pages.
+
+ @see com::sun::star::text::Text
+ */
+ [property] com::sun::star::text::XText HeaderTextRight;
+
+
+ /** contains the interface to the text of the header of first pages.
+
+ @see com::sun::star::text::Text
+
+ @since LibreOffice 4.0
+ */
+ [optional, property] com::sun::star::text::XText HeaderTextFirst;
+
+
+ /** contains the interface to the text of the footer.
+
+ @see com::sun::star::text::Text
+ */
+ [property] com::sun::star::text::XText FooterText;
+
+
+ /** contains the interface to the text of the footer of a left page.
+
+ @see com::sun::star::text::Text
+ */
+ [property] com::sun::star::text::XText FooterTextLeft;
+
+
+ /** contains the interface to the text of the footer of a right page.
+
+ @see com::sun::star::text::Text
+ */
+ [property] com::sun::star::text::XText FooterTextRight;
+
+
+ /** contains the interface to the text of the footer of a first page.
+
+ @see com::sun::star::text::Text
+
+ @since LibreOffice 4.0
+ */
+ [optional, property] com::sun::star::text::XText FooterTextFirst;
+
+
+ /** contains the maximum height of the footnote area (in 1/100 mm).
+
+ <p>If set to zero, the height of the current page is used as limit.</p>
+ */
+ [property] long FootnoteHeight;
+
+
+ /** contains the weight of the separator line between the text and
+ the footnote area (in 1/100 mm).
+ */
+ [property] short FootnoteLineWeight;
+
+
+ /** contains the color of the separator line between the text and
+ the footnote area.
+ */
+ [property] com::sun::star::util::Color FootnoteLineColor;
+
+
+ /** contains the relative width of the separator line between the
+ text and the footnote area (in percent).
+ */
+ [property] byte FootnoteLineRelativeWidth;
+
+
+ /** contains the adjustment of the separator line between the text
+ and the footnote area.
+
+ @see com::sun::star::text::HorizontalAdjust
+ */
+ [property] short FootnoteLineAdjust;
+
+
+ /** contains the distance between the text and the separator line
+ between the text and the footnote area (in 1/100 mm).
+ */
+ [property] long FootnoteLineTextDistance;
+
+
+ /** contains the distance between the footnote area and the separator
+ line between the text and the footnote area (in 1/100 mm).
+ */
+ [property] long FootnoteLineDistance;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/TextPortion.idl b/offapi/com/sun/star/text/TextPortion.idl
new file mode 100644
index 000000000..3d490c3de
--- /dev/null
+++ b/offapi/com/sun/star/text/TextPortion.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_text_TextPortion_idl__
+#define __com_sun_star_text_TextPortion_idl__
+
+
+#include <com/sun/star/beans/XTolerantMultiPropertySet.idl>
+#include <com/sun/star/container/XContentEnumerationAccess.idl>
+#include <com/sun/star/text/TextRange.idl>
+#include <com/sun/star/text/XTextContent.idl>
+#include <com/sun/star/text/XTextField.idl>
+#include <com/sun/star/text/XFootnote.idl>
+
+
+
+module com { module sun { module star { module text {
+
+/** A TextPortion is a piece of text within a paragraph that does not
+ contain changes of its attributes inside.
+
+ <p>
+ It is created by an enumeration implemented in a paragraph service.
+ It may be used to export the content of the paragraph to an external
+ document format.
+ </p>
+
+ @see com::sun::star::text::TextPortionEnumeration
+ @see com::sun::star::text::XTextPortionEnumeration
+*/
+published service TextPortion
+{
+ service ::com::sun::star::text::TextRange;
+
+ /** contains text frames, graphic objects, embedded objects or
+ shapes that are anchored at or as character.
+ @see com::sun::star::text::TextFrame
+ @see com::sun::star::text::TextGraphicObject
+ */
+ [optional]
+ interface ::com::sun::star::container::XContentEnumerationAccess;
+
+ /** gives access to a sequence of properties.
+ @since OOo 2.0
+ */
+ [optional]
+ interface ::com::sun::star::beans::XTolerantMultiPropertySet;
+
+ /** contains the type of the text portion.
+
+ <p> Valid content type names are:</p>
+ <dl>
+ <dt>Text</dt><dd>string content</dd>
+ <dt>TextField</dt><dd>a text field</dd>
+ <dt>TextContent</dt><dd>text content - supplied via the
+ interface com::sun::star::container::XContentEnumerationAccess</dd>
+ <dt>ControlCharacter</dt><dd>a control character</dd>
+ <dt>Footnote</dt><dd>a footnote or an endnote</dd>
+ <dt>ReferenceMark</dt><dd>a reference mark</dd>
+ <dt>DocumentIndexMark</dt><dd>a document index mark</dd>
+ <dt>Bookmark</dt><dd>a bookmark</dd>
+ <dt>Redline</dt><dd>a redline portion which is a result
+ of the change tracking feature</dd>
+ <dt>Ruby</dt><dd>a ruby attribute which is used in Asian text</dd>
+ <dt>Frame</dt><dd>a frame</dd>
+ <dt>SoftPageBreak</dt><dd>a soft page break</dd>
+ <dt>InContentMetadata</dt><dd>a text range with attached metadata</dd>
+ </dl>
+ <p>For Reference marks, document index marks, etc., 2 text portions
+ will be generated, one for the start position and one for the
+ end position.</p>
+ */
+ [readonly, property] string TextPortionType;
+
+ /** contains the control character of a text portion of type
+ ControlCharacter.
+ @deprecated type ControlCharacter no longer implemented
+ */
+ [readonly, property] short ControlCharacter;
+
+ /** contains the bookmark of a text portion of type Bookmark. */
+ [optional, readonly, property]
+ ::com::sun::star::text::XTextContent Bookmark;
+
+ /** contains the document index mark of a text portion of type
+ DocumentIndexMark. */
+ [optional, readonly, property]
+ ::com::sun::star::text::XTextContent DocumentIndexMark;
+
+ /** contains the bookmark of a text portion of type ReferenceMark. */
+ [optional, readonly, property]
+ ::com::sun::star::text::XTextContent ReferenceMark;
+
+ /** contains the footnote of a text portion of type Footnote. */
+ [optional, readonly, property]
+ ::com::sun::star::text::XFootnote Footnote;
+
+ /** contains the text field of a text portion of type TextField. */
+ [optional, readonly, property]
+ ::com::sun::star::text::XTextField TextField;
+
+ /** contains the text range of a text portion of type InContentMetadata.
+ @since OOo 3.2
+ */
+ [optional, readonly, property]
+ ::com::sun::star::text::XTextContent InContentMetadata;
+
+ /** contains whether the portion is a point only. */
+ [optional, readonly, property] boolean IsCollapsed;
+
+ /** contains whether the portion is the start of the portion.
+
+ <p>This is used for portions which are represented by
+ 2 TextPortion objects (e.g., DocmentIndexMark).</p>
+ */
+ [optional, readonly, property] boolean IsStart;
+
+};
+
+
+}; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/TextPortionEnumeration.idl b/offapi/com/sun/star/text/TextPortionEnumeration.idl
new file mode 100644
index 000000000..d7c934b1d
--- /dev/null
+++ b/offapi/com/sun/star/text/TextPortionEnumeration.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_text_TextPortionEnumeration_idl__
+#define __com_sun_star_text_TextPortionEnumeration_idl__
+
+#include <com/sun/star/container/XEnumeration.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+
+/** This interface creates an enumeration of paragraph within a text document.
+ The elements created by this enumeration contains either parts of text with
+ equal properties or text content elements like text fields, reference marks or bookmarks.
+ */
+published service TextPortionEnumeration
+{
+ /** This interface provides access to the elements of a paragraph in a text document.
+ */
+ interface ::com::sun::star::container::XEnumeration;
+};
+
+
+}; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/TextPosition.idl b/offapi/com/sun/star/text/TextPosition.idl
new file mode 100644
index 000000000..deba3b67c
--- /dev/null
+++ b/offapi/com/sun/star/text/TextPosition.idl
@@ -0,0 +1,26 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.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_text_TextPosition_idl__
+#define __com_sun_star_text_TextPosition_idl__
+
+module com { module sun { module star { module text {
+
+struct TextPosition
+{
+ long Paragraph;
+
+ long PositionInParagraph;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/TextRange.idl b/offapi/com/sun/star/text/TextRange.idl
new file mode 100644
index 000000000..7619fa756
--- /dev/null
+++ b/offapi/com/sun/star/text/TextRange.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_text_TextRange_idl__
+#define __com_sun_star_text_TextRange_idl__
+
+#include <com/sun/star/text/XTextRange.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/beans/XPropertyState.idl>
+#include <com/sun/star/style/CharacterProperties.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/style/CharacterPropertiesAsian.idl>
+#include <com/sun/star/style/CharacterPropertiesComplex.idl>
+#include <com/sun/star/container/XContentEnumerationAccess.idl>
+
+
+module com { module sun { module star { module text {
+
+
+/** points to a sequence of characters within a Text.
+
+ <p>The service provides access to the string content and the properties
+ of this range of text and the TextContent instances which
+ are bound to this text range. </p>
+
+ <p>A TextRange is also used for a <i>text portion</i> which is
+ returned by the com::sun::star::container::XEnumeration
+ for a single paragraph. Because this is the mechanism to use to export
+ data, all formatting attributes and contents bound to this range have
+ to be available from implementations of this service. </p>
+
+ @see Text
+ */
+published service TextRange
+{
+ interface com::sun::star::text::XTextRange;
+
+ interface com::sun::star::beans::XPropertySet;
+
+ interface com::sun::star::beans::XPropertyState;
+
+ [optional] interface com::sun::star::container::XContentEnumerationAccess;
+
+ service com::sun::star::style::CharacterProperties;
+
+ [optional] service com::sun::star::style::CharacterPropertiesAsian;
+
+ [optional] service com::sun::star::style::CharacterPropertiesComplex;
+
+ service com::sun::star::style::ParagraphProperties;
+
+ [optional] service com::sun::star::style::ParagraphPropertiesAsian;
+
+ [optional] service com::sun::star::style::ParagraphPropertiesComplex;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/TextRangeContentProperties.idl b/offapi/com/sun/star/text/TextRangeContentProperties.idl
new file mode 100644
index 000000000..d79d1dfcf
--- /dev/null
+++ b/offapi/com/sun/star/text/TextRangeContentProperties.idl
@@ -0,0 +1,97 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_text_TextRangeContentProperties_idl__
+#define __com_sun_star_text_TextRangeContentProperties_idl__
+
+#include <com/sun/star/table/XCell.idl>
+#include <com/sun/star/text/XTextContent.idl>
+#include <com/sun/star/text/XDocumentIndex.idl>
+#include <com/sun/star/text/XTextTable.idl>
+#include <com/sun/star/text/XTextFrame.idl>
+#include <com/sun/star/text/XTextSection.idl>
+#include <com/sun/star/text/XDocumentIndexMark.idl>
+#include <com/sun/star/text/XFootnote.idl>
+
+
+
+module com { module sun { module star { module text {
+
+
+/** describes the structural properties to retrieve text contents.
+
+ @since OOo 3.3
+ */
+service TextRangeContentProperties
+{
+ /** may contain a document index. */
+ [optional, readonly, property] com::sun::star::text::XDocumentIndex
+ DocumentIndex;
+
+ /** may contain a text table. */
+ [optional, readonly, property] com::sun::star::text::XTextTable
+ TextTable;
+
+ /** may contain a table cell. */
+ [optional, readonly, property] com::sun::star::table::XCell Cell;
+
+ /** may contain a text frame. */
+ [optional, readonly, property] com::sun::star::text::XTextFrame
+ TextFrame;
+
+ /** may contain a text section. */
+ [optional, readonly, property] com::sun::star::text::XTextSection
+ TextSection;
+
+ /** may contain a document index mark. */
+ [optional, readonly, property] com::sun::star::text::XDocumentIndexMark
+ DocumentIndexMark;
+
+ /** may contain a reference mark. */
+ [optional, readonly, property] com::sun::star::text::XTextContent
+ ReferenceMark;
+
+ /** may contain a footnote. */
+ [optional, readonly, property] com::sun::star::text::XFootnote Footnote;
+
+ /** may contain an endnote. */
+ [optional, readonly, property] com::sun::star::text::XFootnote Endnote;
+
+ /** may contain a nested text content.
+
+ For example, may contain an InContentMetadata or a
+ com::sun::star::text::textfield::MetadataField.
+ */
+ [optional, readonly, property] com::sun::star::text::XTextContent
+ NestedTextContent;
+
+ /** Paragraph for the start of this range.
+
+ @since LibreOffice 6.0
+ */
+ [optional, readonly, property] com::sun::star::text::XTextContent TextParagraph;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/TextRangeSelection.idl b/offapi/com/sun/star/text/TextRangeSelection.idl
new file mode 100644
index 000000000..44464f48d
--- /dev/null
+++ b/offapi/com/sun/star/text/TextRangeSelection.idl
@@ -0,0 +1,28 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.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_text_TextRangeSelection_idl__
+#define __com_sun_star_text_TextRangeSelection_idl__
+
+#include <com/sun/star/text/TextPosition.idl>
+
+module com { module sun { module star { module text {
+
+struct TextRangeSelection
+{
+ TextPosition Start;
+
+ TextPosition End;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/TextRanges.idl b/offapi/com/sun/star/text/TextRanges.idl
new file mode 100644
index 000000000..bbba659c4
--- /dev/null
+++ b/offapi/com/sun/star/text/TextRanges.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_text_TextRanges_idl__
+#define __com_sun_star_text_TextRanges_idl__
+
+#include <com/sun/star/container/XIndexAccess.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+/** provides a container for XTextRange objects.
+ */
+published service TextRanges
+{
+ interface com::sun::star::container::XIndexAccess;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/TextSection.idl b/offapi/com/sun/star/text/TextSection.idl
new file mode 100644
index 000000000..c7911d1c2
--- /dev/null
+++ b/offapi/com/sun/star/text/TextSection.idl
@@ -0,0 +1,207 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_text_TextSection_idl__
+#define __com_sun_star_text_TextSection_idl__
+
+#include <com/sun/star/text/TextContent.idl>
+#include <com/sun/star/text/XTextSection.idl>
+#include <com/sun/star/container/XNamed.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/beans/XPropertyState.idl>
+#include <com/sun/star/text/SectionFileLink.idl>
+#include <com/sun/star/style/GraphicLocation.idl>
+#include <com/sun/star/text/XTextColumns.idl>
+#include <com/sun/star/xml/UserDefinedAttributesSupplier.idl>
+#include <com/sun/star/graphic/XGraphic.idl>
+
+module com { module sun { module star { module text {
+
+/** A TextSection is a range of complete paragraphs within a text.
+
+ <p>The content of the section may be the content of a link into another
+ document, a link from the same document, or the result of a DDE
+ operation.
+
+ <p>TextSection instances can be linked from and to other
+ texts.
+
+*/
+published service TextSection
+{
+ service com::sun::star::text::TextContent;
+
+ [optional] service com::sun::star::xml::UserDefinedAttributesSupplier;
+
+ interface com::sun::star::text::XTextSection;
+ interface com::sun::star::container::XNamed;
+ interface com::sun::star::beans::XPropertySet;
+ interface com::sun::star::beans::XPropertyState;
+
+ /** This property contains a conditional expression.
+
+ <p>If the result of the conditional expression is `TRUE` and the property
+ TextSection::IsVisible is `FALSE`, then the section is hidden.</p>
+ */
+ [property] string Condition;
+
+ /** If this property is `FALSE`, the text section is hidden.
+ */
+ [property] boolean IsVisible;
+
+ /** If this property is `TRUE`, the text section is protected
+ and cannot be modified from the user interface.
+ */
+ [property] boolean IsProtected;
+
+ /** If this property is set, then the content of the section is read
+ from the specified document.
+
+ */
+ [property] com::sun::star::text::SectionFileLink FileLink;
+
+ /** specifies the source of a file link in the document that is
+ specified in TextSection::FileLink.
+
+ <p>The source may be a text section or a bookmark.
+ If TextSection::FileLink is empty, then the
+ current document is searched for the source. If this property
+ is empty and TextSection::FileLink is set,
+ then the complete document content is linked into this section.</p>
+ */
+ [property] string LinkRegion;
+
+ /** specifies the type of the command string for a DDE operation.
+ <p>The type can be the name of the application that provides a DDE source.</p>
+ */
+ [property] string DDECommandType;
+
+ /** specifies the source file name of the command string for a DDE operation.
+ */
+ [property] string DDECommandFile;
+
+ /** specifies the source element of the command string for a DDE operation.
+ <p>The element can be i.e. a name of a cell in a sheet or a bookmark.</p>
+ */
+ [property] string DDECommandElement;
+
+ /** contains the URL for the background graphic.
+
+ @deprecated as of LibreOffice 6.1 - use BackGraphic instead
+
+ Note the new behaviour since it this was deprecated:
+ This property can only be set and only external URLs are
+ supported (no more vnd.sun.star.GraphicObject scheme). When an
+ URL is set, then it will load the graphic and set the BackGraphic
+ property.
+ */
+ [property] string BackGraphicURL;
+
+ /** contains the name of the file filter for the background graphic.
+ */
+ [property] string BackGraphicFilter;
+
+ /** determines the position of the background graphic.
+
+ @see GraphicLocation
+ */
+ [property] com::sun::star::style::GraphicLocation BackGraphicLocation;
+ /** determines whether footnotes inside the section are displayed at the end of the
+ section text.
+ */
+ [property] boolean FootnoteIsCollectAtTextEnd;
+ /** determines whether the footnotes numbering restarts within the section.
+ This is only valid if <code>FootnoteIsRestartNumbering</code> is set.
+ */
+ [property] boolean FootnoteIsRestartNumbering;
+ /** determines at which number the footnote numbering inside of the section starts.
+ This is only valid if <code>FootnoteIsRestartNumbering</code> is set.
+ */
+ [property] short FootnoteRestartNumberingAt;
+ /** determines whether the footnotes within the section use an own numbering format.
+ This is only valid if <code>FootnoteIsRestartNumbering</code> is set.
+ */
+ [property] boolean FootnoteIsOwnNumbering;
+ /** determines the numbering type of the footnote numbering as a value of
+ com::sun::star::style::NumberingType.
+ This is only valid if <code>FootnoteIsOwnNumbering</code> is set.
+ */
+ [property] short FootnoteNumberingType;
+ /** determines the prefix that is display before the footnote number.
+ This is only valid if <code>FootnoteIsOwnNumbering</code> is set.
+ */
+ [property] string FootnoteNumberingPrefix;
+ /** determines the suffix that is display after of the footnote number.
+ This is only valid if <code>FootnoteIsOwnNumbering</code> is set.
+ */
+ [property] string FootnoteNumberingSuffix;
+ /** determines whether endnotes inside the section are displayed at the end of the
+ section text.
+ */
+ [property] boolean EndnoteIsCollectAtTextEnd;
+ /** determines whether the endnotes numbering restarts within the section.
+ This is only valid if <code>EndnoteIsRestartNumbering</code> is set.
+ */
+ [property] boolean EndnoteIsRestartNumbering;
+ /** determines at which number the endnote numbering inside of the section starts.
+ This is only valid if <code>EndnoteIsRestartNumbering</code> is set.
+ */
+ [property] short EndnoteRestartNumberingAt;
+ /** determines whether the endnotes within the section use an own numbering format.
+ This is only valid if <code>EndnoteIsRestartNumbering</code> is set.
+ */
+ [property] boolean EndnoteIsOwnNumbering;
+ /** determines the numbering type of the endnote numbering as a value of
+ com::sun::star::style::NumberingType.
+ This is only valid if <code>EndoteIsOwnNumbering</code> is set.
+ */
+ [property] short EndnoteNumberingType;
+ /** determines the prefix that is display before the endnote number.
+ This is only valid if <code>EndnoteIsOwnNumbering</code> is set.
+ */
+ [property] string EndnoteNumberingPrefix;
+ /** determines the suffix that is display after the endnote number.
+ This is only valid if <code>EndnoteIsOwnNumbering</code> is set.
+ */
+ [property] string EndnoteNumberingSuffix;
+ /** determines if a DDE link is updated automatically.
+ */
+ [property] boolean IsAutomaticUpdate;
+ /** allows columns to be set into the text section
+ */
+ [property] com::sun::star::text::XTextColumns TextColumns;
+ /** determines the left margin of the section
+ */
+ [optional, property] long SectionLeftMargin;
+ /** determines the left margin of the section
+ */
+ [optional, property] long SectionRightMargin;
+
+ /** contains the graphic of the background.
+
+ @since LibreOffice 6.1
+ */
+ [optional, property] com::sun::star::graphic::XGraphic BackGraphic;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/TextSections.idl b/offapi/com/sun/star/text/TextSections.idl
new file mode 100644
index 000000000..06dd8f169
--- /dev/null
+++ b/offapi/com/sun/star/text/TextSections.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_text_TextSections_idl__
+#define __com_sun_star_text_TextSections_idl__
+
+#include <com/sun/star/container/XIndexAccess.idl>
+
+#include <com/sun/star/container/XNameAccess.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+/** provides access to the text sections in a text document.
+ */
+published service TextSections
+{
+ interface com::sun::star::container::XIndexAccess;
+ interface com::sun::star::container::XNameAccess;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/TextSortDescriptor.idl b/offapi/com/sun/star/text/TextSortDescriptor.idl
new file mode 100644
index 000000000..7f901dabe
--- /dev/null
+++ b/offapi/com/sun/star/text/TextSortDescriptor.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_text_TextSortDescriptor_idl__
+#define __com_sun_star_text_TextSortDescriptor_idl__
+
+#include <com/sun/star/util/SortDescriptor.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+/** describes sort criteria for sorting text.
+
+ @deprecated
+ */
+published service TextSortDescriptor
+{
+ service com::sun::star::util::SortDescriptor;
+
+ /** contains the character that marks the separation of columns.
+ */
+ [property] char Delimiter;
+
+ /** determines if the content of a table is to be sorted.
+ */
+ [property] boolean IsSortInTable;
+
+ /** contains the row or column index used in the first search key.
+ */
+ [property] long SortRowOrColumnNo0;
+
+ /** determines if the sorting in the first search key is done
+ numeric or alphanumeric order.
+ */
+ [property] boolean IsSortNumeric0;
+
+ /** determines if the sorting in the first search key is done
+ in ascending or descending order.
+ */
+ [property] boolean IsSortAscending0;
+
+ /** contains the row or column index used in the second search key.
+ */
+ [property] long SortRowOrColumnNo1;
+
+ /** determines if the sorting in the second search key is done
+ in numeric or alphanumeric order.
+ */
+ [property] boolean IsSortNumeric1;
+
+ /** determines if the sorting in the second search key is done
+ in ascending or descending order.
+ */
+ [property] boolean IsSortAscending1;
+
+ /** contains the row or column index used in the third search key.
+ */
+ [property] long SortRowOrColumnNo2;
+
+ /** determines if the sorting in the third search key is done
+ in numeric or alphanumeric order.
+ */
+ [property] boolean IsSortNumeric2;
+
+ /** determines if the sorting in the third search key is done
+ in ascending or descending order.
+ */
+ [property] boolean IsSortAscending2;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/TextSortDescriptor2.idl b/offapi/com/sun/star/text/TextSortDescriptor2.idl
new file mode 100644
index 000000000..f9f89fb46
--- /dev/null
+++ b/offapi/com/sun/star/text/TextSortDescriptor2.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_text_TextSortDescriptor2_idl__
+#define __com_sun_star_text_TextSortDescriptor2_idl__
+
+#include <com/sun/star/table/TableSortDescriptor2.idl>
+#include <com/sun/star/table/TableSortField.idl>
+#include <com/sun/star/table/TableSortFieldType.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+
+/** describes sort criteria for sorting paragraphs or table contents in
+ a text document.
+
+ @since OOo 1.1.2
+ */
+published service TextSortDescriptor2
+{
+ service com::sun::star::table::TableSortDescriptor2;
+
+ /** determines if the content of a table or a selection of
+ paragraphs is to be sorted.
+ */
+ [property] boolean IsSortInTable;
+
+ /** contains the character that marks the column separator
+ when a selection of paragraphs is to be sorted.
+ */
+ [property] char Delimiter;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/TextSortable.idl b/offapi/com/sun/star/text/TextSortable.idl
new file mode 100644
index 000000000..c1b7afb1d
--- /dev/null
+++ b/offapi/com/sun/star/text/TextSortable.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_text_TextSortable_idl__
+#define __com_sun_star_text_TextSortable_idl__
+
+#include <com/sun/star/text/TextSortDescriptor.idl>
+#include <com/sun/star/util/XSortable.idl>
+
+
+
+module com { module sun { module star { module text {
+
+
+/** provides an interface for sorting.
+
+ @deprecated
+
+ @since OOo 1.1.2
+
+ */
+published service TextSortable
+{
+ /** the properties returned by a call to the "createSortDescriptor" method
+ of this interfaces implementation are those of the
+ "com.sun.star.text.TextSortDescriptor" service.
+
+ @see com::sun::star::text::TextSortDescriptor
+ */
+ interface com::sun::star::util::XSortable;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/TextTable.idl b/offapi/com/sun/star/text/TextTable.idl
new file mode 100644
index 000000000..bbcb4c1fa
--- /dev/null
+++ b/offapi/com/sun/star/text/TextTable.idl
@@ -0,0 +1,248 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_text_TextTable_idl__
+#define __com_sun_star_text_TextTable_idl__
+
+#include <com/sun/star/text/TextContent.idl>
+#include <com/sun/star/util/Color.idl>
+#include <com/sun/star/text/XTextTable.idl>
+#include <com/sun/star/text/TableColumnSeparator.idl>
+#include <com/sun/star/container/XNamed.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/style/GraphicLocation.idl>
+#include <com/sun/star/style/BreakType.idl>
+#include <com/sun/star/table/ShadowFormat.idl>
+#include <com/sun/star/table/TableBorder.idl>
+#include <com/sun/star/table/XCellRange.idl>
+#include <com/sun/star/table/XAutoFormattable.idl>
+#include <com/sun/star/chart/XChartDataArray.idl>
+#include <com/sun/star/util/XSortable.idl>
+#include <com/sun/star/sheet/XCellRangeData.idl>
+#include <com/sun/star/xml/UserDefinedAttributesSupplier.idl>
+#include <com/sun/star/graphic/XGraphic.idl>
+
+module com { module sun { module star { module text {
+
+/** is a table of text cells which is anchored to a surrounding text.
+
+ <p>Note: The anchor of the actual implementation for text tables
+ does not have a position in the text. Thus that anchor can not be
+ used for some operation like XTextContent::attach() or
+ XText::insertTextContent()
+ or other function that require the object to have a position in the text.</p>
+
+ <p>The reason why a text table still needs an anchor is that for example
+ tables should be insertable via XText::insertTextContent()
+ and that interface uses a parameter of that type.</p>
+
+ <p>Example: Create and insert a TextTable:</p>
+
+ @code{.bas}
+ xTable = xTextDoc.createInstance( "com.sun.star.text.TextTable" )
+ xTable.initialize(5, 8)
+ xTable.HoriOrient = 0 'com::sun::star::text::HoriOrientation::NONE
+ xTable.LeftMargin = 2000
+ xTable.RightMargin = 1500
+ xTextDoc.getText.insertTextContent( xTextRange, xTable, false )
+ @endcode
+
+ @see com::sun::star::text::Cell
+ @see com::sun::star::text::CellRange
+ @see com::sun::star::text::TableColumns
+ @see com::sun::star::text::TableRows
+ @see com::sun::star::text::TextTableCursor
+ */
+published service TextTable
+{
+ service com::sun::star::text::TextContent;
+
+ [optional] service com::sun::star::xml::UserDefinedAttributesSupplier;
+
+ interface com::sun::star::text::XTextTable;
+
+ interface com::sun::star::container::XNamed;
+
+ interface com::sun::star::table::XCellRange;
+
+ interface com::sun::star::chart::XChartDataArray;
+
+ interface com::sun::star::table::XAutoFormattable;
+
+ interface com::sun::star::util::XSortable;
+
+ [optional] interface com::sun::star::sheet::XCellRangeData;
+
+ /** determines the type of break that is applied at the beginning of the table.@see com::sun::star::style::BreakType
+ */
+ [property] com::sun::star::style::BreakType BreakType;
+
+ /** contains the left margin of the table.
+ */
+ [property] long LeftMargin;
+
+ /** contains the right margin of the table.
+ */
+ [property] long RightMargin;
+
+ /** contains the horizontal orientation. @see com::sun::star::text::HoriOrientation
+ */
+ [property] short HoriOrient;
+
+ /** Setting this property to TRUE prevents page or column
+ breaks between this table and the following paragraph or text table.
+ */
+ [property] boolean KeepTogether;
+
+ /** Setting this property to FALSE prevents the table from
+ getting spread on two pages.
+ */
+ [property] boolean Split;
+
+ /** If a page break property is set at the table,
+ this property contains the new value for the page number.
+ */
+ [property] short PageNumberOffset;
+
+ /** If this property is set, it creates a page break before the
+ table and assigns the value as the name of the new page style sheet to use.
+ */
+ [property] string PageDescName;
+
+ /** determines the width of the table relative to its environment.
+ */
+ [property] short RelativeWidth;
+ /** determines if the value of the relative width is valid.
+ */
+ [property] boolean IsWidthRelative;
+
+ /** determines if the first row of the table is repeated on every new page.
+ */
+ [property] boolean RepeatHeadline;
+ /** determines the number of rows of the table repeated on every new page.
+ */
+ [optional, property] long HeaderRowCount;
+
+ /** determines the type, color and size of the shadow.@see com::sun::star::table::ShadowFormat
+ */
+ [property] com::sun::star::table::ShadowFormat ShadowFormat;
+
+ /** determines the top margin.
+ */
+ [property] long TopMargin;
+
+ /** determines the bottom margin.
+ */
+ [property] long BottomMargin;
+
+ /** determines if the background color is transparent.
+ */
+ [property] boolean BackTransparent;
+
+ /** contains the absolute table width.
+
+ <p>As this is only a describing property the value of the actual table may vary depending on the
+ environment the table is located in and the settings of LeftMargin,
+ RightMargin and HoriOrient. </p>
+ */
+ [property] long Width;
+
+ /** determines if the first row of the table should be treated as
+ axis labels when a chart is to be created.
+ */
+ [property] boolean ChartRowAsLabel;
+
+ /** determines if the first column of the table should be treated as
+ axis labels when a chart is to be created.
+ */
+ [property] boolean ChartColumnAsLabel;
+
+ /** contains the description of the table borders. @see com::sun::star::table::TableBorder
+ */
+ [property] com::sun::star::table::TableBorder TableBorder;
+
+ /** contains the column description of the table.
+ @see com::sun::star::text::TableColumnSeparator
+ */
+ [property] sequence<com::sun::star::text::TableColumnSeparator> TableColumnSeparators;
+
+ /** contains the sum of the column width values used in TableColumnSeparators.
+ */
+ [property] short TableColumnRelativeSum;
+
+ /** contains the color of the background.
+ */
+ [property] com::sun::star::util::Color BackColor;
+
+ /** contains the URL for the background graphic.
+
+ @deprecated as of LibreOffice 6.1 - use BackGraphic instead
+
+ Note the new behaviour since it this was deprecated:
+ This property can only be set and only external URLs are
+ supported (no more vnd.sun.star.GraphicObject scheme). When an
+ URL is set, then it will load the graphic and set the BackGraphic
+ property.
+ */
+ [property] string BackGraphicURL;
+
+ /** contains the name of the file filter for the background graphic.
+ */
+ [property] string BackGraphicFilter;
+
+
+ /** determines the position of the background graphic.@see GraphicLocation
+ */
+ [property] com::sun::star::style::GraphicLocation BackGraphicLocation;
+
+
+ /** determines whether borders of neighboring table cells are
+ * collapsed into one
+ */
+ [optional, property] boolean CollapsingBorders;
+
+ /** Grab bag of table properties, used as a string-any map for interim interop purposes.
+
+ @since LibreOffice 4.3
+
+ <p>This property is intentionally not handled by the ODF filter. Any
+ member that should be handled there should be first moved out from this grab
+ bag to a separate property.</p>
+ */
+ [optional, property] sequence<com::sun::star::beans::PropertyValue> TableInteropGrabBag;
+
+ /** contains the name of table style used by the table.
+
+ @since LibreOffice 5.3
+ */
+ [optional, property] string TableTemplateName;
+
+ /** contains the graphic for the background.
+
+ @since LibreOffice 6.1
+ */
+ [optional, property] com::sun::star::graphic::XGraphic BackGraphic;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/TextTableCursor.idl b/offapi/com/sun/star/text/TextTableCursor.idl
new file mode 100644
index 000000000..75912f3c2
--- /dev/null
+++ b/offapi/com/sun/star/text/TextTableCursor.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_text_TextTableCursor_idl__
+#define __com_sun_star_text_TextTableCursor_idl__
+
+#include <com/sun/star/text/XTextTableCursor.idl>
+#include <com/sun/star/beans/XPropertySet.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/xml/UserDefinedAttributesSupplier.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+
+/** specifies a cursor in text tables.
+
+ <p>This cursor can be used to:</p>
+ <ul>
+ <li>travel through text table cells</li>
+ <li>select text table cells</li>
+ <li>get property values from the selected cells</li>
+ <li>set property values in the selected cells</li>
+ </ul>
+
+ @see com::sun::star::text::TextTable
+ */
+published service TextTableCursor
+{
+ interface com::sun::star::text::XTextTableCursor;
+
+ interface com::sun::star::beans::XPropertySet;
+
+ service com::sun::star::style::CharacterProperties;
+ service com::sun::star::style::CharacterPropertiesAsian;
+ service com::sun::star::style::CharacterPropertiesComplex;
+ service com::sun::star::style::ParagraphProperties;
+
+ [optional] service com::sun::star::xml::UserDefinedAttributesSupplier;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/TextTableRow.idl b/offapi/com/sun/star/text/TextTableRow.idl
new file mode 100644
index 000000000..dcecda3f2
--- /dev/null
+++ b/offapi/com/sun/star/text/TextTableRow.idl
@@ -0,0 +1,124 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_text_TextTableRow_idl__
+#define __com_sun_star_text_TextTableRow_idl__
+
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/util/Color.idl>
+#include <com/sun/star/style/GraphicLocation.idl>
+#include <com/sun/star/text/TableColumnSeparator.idl>
+#include <com/sun/star/graphic/XGraphic.idl>
+
+module com { module sun { module star { module text {
+
+/** specifies the properties of a text table row.
+
+ @see com::sun::star::TextTable
+ */
+published service TextTableRow
+{
+ interface com::sun::star::beans::XPropertySet;
+
+
+ /** specifies the color of the background.
+ */
+ [property] com::sun::star::util::Color BackColor;
+
+
+ /** If `TRUE`, the background color value in "BackColor" is not visible.
+ */
+ [property] boolean BackTransparent;
+
+
+ /** contains the URL of a background graphic.
+
+ @deprecated as of LibreOffice 6.1 - use BackGraphic instead
+
+ Note the new behaviour since it this was deprecated:
+ This property can only be set and only external URLs are
+ supported (no more vnd.sun.star.GraphicObject scheme). When an
+ URL is set, then it will load the graphic and set the BackGraphic
+ property.
+ */
+ [property] string BackGraphicURL;
+
+ /** contains the name of the file filter of a background graphic.
+ */
+ [property] string BackGraphicFilter;
+
+
+ /** determines the position of the background graphic.@see GraphicLocation
+ */
+ [property] com::sun::star::style::GraphicLocation BackGraphicLocation;
+
+
+ /** contains the description of the columns in the table row.
+ */
+ [property] sequence< com::sun::star::text::TableColumnSeparator > TableColumnSeparators;
+
+
+ /** contains the height of the table row.
+ */
+ [property] long Height;
+
+
+ /** If the value of this property is `TRUE`, the height of the table row
+ depends on the content of the table cells.
+ */
+ [property] boolean IsAutoHeight;
+
+
+ /** If `TRUE`, the row is allowed to be split at page or column breaks.
+
+ @since OOo 2.0
+ */
+ [optional, property, maybevoid] boolean IsSplitAllowed;
+
+ /** Grab bag of row properties, used as a string-any map for interop purposes.
+
+ @since LibreOffice 4.4
+
+ <p>This property is intentionally not handled by the ODF filter. Any
+ member that should be handled there should be first moved out from this grab
+ bag to a separate property.</p>
+ */
+ [optional, property] sequence<com::sun::star::beans::PropertyValue> RowInteropGrabBag;
+
+ /** contains the graphic of the background.
+
+ @since LibreOffice 6.1
+ */
+ [optional, property] com::sun::star::graphic::XGraphic BackGraphic;
+
+ /** If TRUE, the table row wasn't deleted or inserted with its tracked cell content
+
+ @since LibreOffice 7.2
+ */
+
+ [optional, property] boolean HasTextChangesOnly;
+
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/TextTables.idl b/offapi/com/sun/star/text/TextTables.idl
new file mode 100644
index 000000000..0885de6ed
--- /dev/null
+++ b/offapi/com/sun/star/text/TextTables.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_text_TextTables_idl__
+#define __com_sun_star_text_TextTables_idl__
+
+#include <com/sun/star/container/XIndexAccess.idl>
+
+#include <com/sun/star/container/XNameAccess.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+/** provides access to all tables in a document.
+ */
+published service TextTables
+{
+ interface com::sun::star::container::XIndexAccess;
+ interface com::sun::star::container::XNameAccess;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/TextViewCursor.idl b/offapi/com/sun/star/text/TextViewCursor.idl
new file mode 100644
index 000000000..37d62f11b
--- /dev/null
+++ b/offapi/com/sun/star/text/TextViewCursor.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_text_TextViewCursor_idl__
+#define __com_sun_star_text_TextViewCursor_idl__
+
+#include <com/sun/star/text/TextLayoutCursor.idl>
+#include <com/sun/star/view/XScreenCursor.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+/** A TextViewCursor is a TextRange which can travel
+ within a view of a Text object.
+ @see TextDocumentView
+ */
+published service TextViewCursor
+{
+ service com::sun::star::text::TextLayoutCursor;
+ interface com::sun::star::view::XScreenCursor;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/TimeDisplayFormat.idl b/offapi/com/sun/star/text/TimeDisplayFormat.idl
new file mode 100644
index 000000000..adbf16ea2
--- /dev/null
+++ b/offapi/com/sun/star/text/TimeDisplayFormat.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_text_TimeDisplayFormat_idl__
+#define __com_sun_star_text_TimeDisplayFormat_idl__
+
+
+
+ module com { module sun { module star { module text {
+
+
+/** These constants define how a time field is formatted before it is displayed.
+ The format may also depend on the system or document locale.
+
+ @deprecated
+ */
+published constants TimeDisplayFormat
+{
+
+ /** the system standard
+ */
+ const short STANDARD = 0;
+
+
+ /** 13:49
+ */
+ const short HHMM = 1;
+
+
+ /** 13:49:20
+ */
+ const short HHMMSS = 2;
+
+
+ /** 13:49:20.30
+ */
+ const short HHMMSS00 = 3;
+
+
+ /** 01:49
+ */
+ const short HHMMAMPM = 4;
+
+
+ /** 01:49:20
+ */
+ const short HHMMSSAMPM = 5;
+
+
+ /** 01:49:20.30
+ */
+ const short HHMMSS00AMPM = 6;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/UserDataPart.idl b/offapi/com/sun/star/text/UserDataPart.idl
new file mode 100644
index 000000000..a9f7a4045
--- /dev/null
+++ b/offapi/com/sun/star/text/UserDataPart.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_text_UserDataPart_idl__
+#define __com_sun_star_text_UserDataPart_idl__
+
+
+
+ module com { module sun { module star { module text {
+
+/** These constants define which part of the user data is displayed in a
+ user data text field (service "sun.one.text.TextField.ExtendedUser")
+ */
+published constants UserDataPart
+{
+ /** The field shows the company name.
+ */
+ const short COMPANY = 0;
+
+ /** The field shows the first name.
+ */
+ const short FIRSTNAME = 1;
+
+ /** The field shows the name.
+ */
+ const short NAME = 2;
+
+ /** The field shows the initials.
+ */
+ const short SHORTCUT = 3;
+
+ /** The field shows the street.
+ */
+ const short STREET = 4;
+
+ /** The field shows the country.
+ */
+ const short COUNTRY = 5;
+
+ /** The field shows the zip code.
+ */
+ const short ZIP = 6;
+
+ /** The field shows the city.
+ */
+ const short CITY = 7;
+
+ /** The field shows the title.
+ */
+ const short TITLE = 8;
+
+ /** The field shows the position.
+ */
+ const short POSITION = 9;
+
+ /** The field shows the no of the private phone.
+ */
+ const short PHONE_PRIVATE = 10;
+
+ /** The field shows the number of the business phone.
+ */
+ const short PHONE_COMPANY = 11;
+
+ /** The field shows the fax no.
+ */
+ const short FAX = 12;
+
+ /** The field shows the e-Mail.
+ */
+ const short EMAIL = 13;
+
+ /** The field shows the state.
+ */
+ const short STATE = 14;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/UserDefinedIndex.idl b/offapi/com/sun/star/text/UserDefinedIndex.idl
new file mode 100644
index 000000000..fc7c7aaf9
--- /dev/null
+++ b/offapi/com/sun/star/text/UserDefinedIndex.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_text_UserDefinedIndex_idl__
+#define __com_sun_star_text_UserDefinedIndex_idl__
+
+#include <com/sun/star/text/BaseIndex.idl>
+#include <com/sun/star/text/XDocumentIndexMark.idl>
+
+
+module com { module sun { module star { module text {
+
+
+/** specifies service of user defined indexes within a document.@see com::sun::star::text::BaseIndex
+ */
+published service UserDefinedIndex
+{
+ service com::sun::star::text::BaseIndex;
+
+ /** contains the interface to access the paragraph style names that are included
+ in this index.
+ @see DocumentIndexParagraphStyles
+ */
+ [optional, property] com::sun::star::container::XIndexReplace LevelParagraphStyles;
+
+ /** determines if the document index marks are included in this index.
+ */
+ [optional, property] boolean CreateFromMarks;
+
+ /** determines if the outline level of the location of the indexed object is
+ used as index level of the index entry.*/
+ [optional, property] boolean UseLevelFromSource;
+
+ /** determines if tables are included in the index.
+ */
+ [optional, property] boolean CreateFromTables;
+
+ /** determines if text frames are included in the index.
+ */
+ [optional, property] boolean CreateFromTextFrames;
+
+ /** determines if graphic objects are included in the index.
+ */
+ [optional, property] boolean CreateFromGraphicObjects;
+
+ /** determines if embedded objects are included in the index.
+ */
+ [optional, property] boolean CreateFromEmbeddedObjects;
+
+ /**
+ contains all index marks that are related to this index.
+ */
+ [readonly, property] sequence <com::sun::star::text::XDocumentIndexMark> DocumentIndexMarks;
+};
+
+
+}; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/UserFieldFormat.idl b/offapi/com/sun/star/text/UserFieldFormat.idl
new file mode 100644
index 000000000..2ff364478
--- /dev/null
+++ b/offapi/com/sun/star/text/UserFieldFormat.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_text_UserFieldFormat_idl__
+#define __com_sun_star_text_UserFieldFormat_idl__
+
+
+
+ module com { module sun { module star { module text {
+
+/** These constants describe how the content of a user text field is
+ formatted.
+ */
+published constants UserFieldFormat
+{
+ /** The number format of the operating system is used.
+ */
+ const short SYSTEM = 0;
+
+ /** The content is formatted as text.
+ */
+ const short TEXT = 1;
+
+ /** The number format of the property "NumberFormat" is used.
+ */
+ const short NUM = 2;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/UserIndex.idl b/offapi/com/sun/star/text/UserIndex.idl
new file mode 100644
index 000000000..c6f7d431e
--- /dev/null
+++ b/offapi/com/sun/star/text/UserIndex.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_text_UserIndex_idl__
+#define __com_sun_star_text_UserIndex_idl__
+
+#include <com/sun/star/text/BaseIndex.idl>
+
+
+module com { module sun { module star { module text {
+
+/** specifies service of user defined indexes within a document.
+ @see com::sun::star::text::BaseIndex
+*/
+published service UserIndex
+{
+ service com::sun::star::text::BaseIndex;
+
+ /** contains the interface to access the paragraph style names that are included
+ in this index.
+ @see DocumentIndexParagraphStyles
+ */
+ [optional, property] com::sun::star::container::XIndexReplace LevelParagraphStyles;
+
+ /** determines if the document index marks are included in this index.
+ */
+ [optional, property] boolean CreateFromMarks;
+
+ /** determines if the outline level of the location of the indexed object is
+ used as index level of the index entry.*/
+ [optional, property] boolean UseLevelFromSource;
+
+ /** determines if tables are included in the index.
+ */
+ [optional, property] boolean CreateFromTables;
+
+ /** determines if text frames are included in the index.
+ */
+ [optional, property] boolean CreateFromTextFrames;
+
+ /** determines if graphic objects are included in the index.
+ */
+ [optional, property] boolean CreateFromGraphicObjects;
+
+ /** determines if embedded objects are included in the index.
+ */
+ [optional, property] boolean CreateFromEmbeddedObjects;
+ /** contains the name of the user index.
+ */
+ [property] string UserIndexName;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/UserIndexMark.idl b/offapi/com/sun/star/text/UserIndexMark.idl
new file mode 100644
index 000000000..f756fb48f
--- /dev/null
+++ b/offapi/com/sun/star/text/UserIndexMark.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_text_UserIndexMark_idl__
+#define __com_sun_star_text_UserIndexMark_idl__
+
+#include <com/sun/star/text/TextContent.idl>
+#include <com/sun/star/text/BaseIndexMark.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+
+/** is a TextRange which is explicitly marked
+ as an index entry for a UserIndex.
+ */
+published service UserIndexMark
+{
+ service com::sun::star::text::TextContent;
+
+ service com::sun::star::text::BaseIndexMark;
+ /** contains the name of the user index it belongs to.
+ */
+ [property] string UserIndexName;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/VertOrientation.idl b/offapi/com/sun/star/text/VertOrientation.idl
new file mode 100644
index 000000000..30b9e256a
--- /dev/null
+++ b/offapi/com/sun/star/text/VertOrientation.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_text_VertOrientation_idl__
+#define __com_sun_star_text_VertOrientation_idl__
+
+
+
+ module com { module sun { module star { module text {
+
+/** These enumeration values are used to specify the vertical orientation.
+ */
+published constants VertOrientation
+{
+ /** no hard alignment
+ */
+ const short NONE = 0;
+
+ /** aligned at the top
+ */
+ const short TOP = 1;
+
+ /** aligned at the center
+ */
+ const short CENTER = 2;
+
+ /** aligned at the bottom
+ */
+ const short BOTTOM = 3;
+
+ /** aligned at the top of a character (anchored to character)
+ */
+ const short CHAR_TOP = 4;
+
+ /** aligned at the center of a character (anchored to character )
+ */
+ const short CHAR_CENTER = 5;
+
+ /** aligned at the bottom of a character (anchored to character )
+ */
+ const short CHAR_BOTTOM = 6;
+
+ /** aligned at the top of the line (anchored to character )
+ */
+ const short LINE_TOP = 7;
+
+ /** aligned at the center of the line (anchored to character )
+ */
+ const short LINE_CENTER = 8;
+
+ /** aligned at the bottom of the line (anchored to character )
+ */
+ const short LINE_BOTTOM = 9;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/VertOrientationFormat.idl b/offapi/com/sun/star/text/VertOrientationFormat.idl
new file mode 100644
index 000000000..174f97f7d
--- /dev/null
+++ b/offapi/com/sun/star/text/VertOrientationFormat.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_text_VertOrientationFormat_idl__
+#define __com_sun_star_text_VertOrientationFormat_idl__
+
+
+
+ module com { module sun { module star { module text {
+
+/** describes the vertical orientation of an object.
+
+
+
+ <p>If <code>VerticalOrientation == VERT_NONE</code>, then the value "YPos"
+ describes the distance from the top of the context. Otherwise "YPos"
+ is ignored.
+ </p>
+ */
+published struct VertOrientationFormat
+{
+ /** contains the distance from top. Only valid if the property
+ VerticalOrientation contains the value VERT_NONE.
+ */
+ long YPos;
+
+ /** determines the vertical alignment of an object.
+ The values refer to com::sun::star::VertOrientation.
+ */
+ short VerticalOrientation;
+
+ /** determines the reference position of the vertical alignment.@see com::sun::star::text::RelOrientation
+ */
+ short VerticalRelation;
+
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/ViewSettings.idl b/offapi/com/sun/star/text/ViewSettings.idl
new file mode 100644
index 000000000..4439b7fc9
--- /dev/null
+++ b/offapi/com/sun/star/text/ViewSettings.idl
@@ -0,0 +1,311 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_text_ViewSettings_idl__
+#define __com_sun_star_text_ViewSettings_idl__
+
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/view/DocumentZoomType.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+module com { module sun { module star { module text {
+
+/** provides access to the settings of the controller of a text document.
+ */
+published service ViewSettings
+{
+ interface com::sun::star::beans::XPropertySet;
+
+ /** If this property is `TRUE`, annotations (notes) are visible.
+ */
+ [property] boolean ShowAnnotations;
+
+ /** If this property is `TRUE`, paragraph line breaks are visible.
+ */
+ [property] boolean ShowBreaks;
+
+ /** If this property is `TRUE`, shapes are visible.
+ */
+ [property] boolean ShowDrawings;
+
+ /** If this property is `TRUE`, text fields are shown with their commands; otherwise
+ the content is visible.
+ */
+ [property] boolean ShowFieldCommands;
+
+ /** If this property is `TRUE`, footnotes symbols are displayed with gray background.
+ */
+ [property] boolean ShowFootnoteBackground;
+
+ /** If this property is `TRUE`, graphic objects are visible.
+ */
+ [property] boolean ShowGraphics;
+
+ /** If this property is `TRUE`, hidden paragraphs are displayed.
+ */
+ [property] boolean ShowHiddenParagraphs;
+
+ /** If this property is `TRUE`, hidden text is displayed.
+ */
+ [property] boolean ShowHiddenText;
+
+ /** ShowHoriRuler and ShowVertRuler determine whether a ruler is visible.
+ */
+ [property] boolean ShowRulers;
+
+ /** If this property is `TRUE` and the property ShowRulers is `TRUE`,
+ the horizontal ruler is displayed.
+ */
+ [property] boolean ShowHoriRuler;
+
+ /** If this property is `TRUE` and the property ShowRulers is `TRUE`,
+ the horizontal scroll bar is displayed.
+ */
+ [property] boolean ShowHoriScrollBar;
+
+ /** If this property is `TRUE`, index marks are displayed with gray background.
+ */
+ [property] boolean ShowIndexMarkBackground;
+
+ /** If this property is `TRUE`, paragraph breaks are visible.
+ */
+ [property] boolean ShowParaBreaks;
+
+ /** If this property is `TRUE`, protected spaces (hard spaces) are displayed with gray
+ background.
+ */
+ [property] boolean ShowProtectedSpaces;
+
+ /** If this property is `TRUE`, soft hyphens are displayed with gray background.
+ */
+ [property] boolean ShowSoftHyphens;
+
+ /** If this property is `TRUE`, spaces are displayed with dots.
+ */
+ [property] boolean ShowSpaces;
+
+ /** If this property is `TRUE`, table boundaries are displayed.
+ */
+ [property] boolean ShowTableBoundaries;
+
+ /** If this property is `TRUE`, tables are visible.
+ */
+ [property] boolean ShowTables;
+
+ /** If this property is `TRUE`, tab stops are visible.
+ */
+ [property] boolean ShowTabstops;
+
+ /** If this property is `TRUE`, text boundaries are displayed.
+ */
+ [property] boolean ShowTextBoundaries;
+
+ /** If this property is `TRUE`, text fields are displayed with gray background.
+ */
+ [property] boolean ShowTextFieldBackground;
+
+ /** If this property is `TRUE`, the vertical ruler is displayed.
+ */
+ [property] boolean ShowVertRuler;
+
+ /** If this property is `TRUE`, the vertical scroll bar is displayed.
+ */
+ [property] boolean ShowVertScrollBar;
+
+ /** If this property is `TRUE`, smooth scrolling is active.
+ */
+ [property] boolean SmoothScrolling;
+
+ /** If this property is `TRUE`, the vertical ruler is aligned to the right side
+ of the view and the vertical scrollbar is on the left.
+ */
+ [property] boolean IsVertRulerRightAligned;
+
+ /** If this property is `TRUE` the document will be displayed as if it
+ were a HTML document.
+ */
+ [property] boolean ShowOnlineLayout;
+
+ /** 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;
+ /** If this property is `TRUE` hyperlinks in the document are executed (loaded) on
+ mouse click. Otherwise they are handled like normal text.
+ */
+ [optional, property] boolean IsExecuteHyperlinks;
+
+ /** Specifies whether to display the grid or not
+
+ @since OOo 2.0
+ */
+ [optional, property] boolean IsRasterVisible;
+
+ /** Specifies whether to move frames, drawing elements, and form
+ functions only between grid points.
+
+ @since OOo 2.0
+ */
+ [optional, property] boolean IsSnapToRaster;
+
+ /** Specifies the number of intervals between grid points on the X-axis.
+
+ <p>The value must be greater or equal to 0, and the application
+ may enforce an upper bound for the value.</p>
+
+ @since OOo 2.0
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the value is out of bounds.
+ */
+ [optional, property] long RasterSubdivisionX;
+
+ /** Specifies the number of intervals between grid points on the Y-axis.
+
+ <p>The value must be greater or equal to 0, and the application
+ may enforce an upper bound for the value.</p>
+
+ @since OOo 2.0
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the value is out of bounds.
+ */
+ [optional, property] long RasterSubdivisionY;
+
+ /** Defines the unit of measure for the spacing between grid points
+ on the X-axis.
+
+ <p>The value must be greater than 0. The application
+ may enforce more restricting bounds for the value.</p>
+
+ @since OOo 2.0
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the value is out of bounds.
+ */
+ [optional, property] long RasterResolutionX;
+
+ /** Defines the unit of measure for the spacing between grid points
+ on the Y-axis.
+
+ <p>The value must be greater than 0. The application
+ may enforce more restricting bounds for the value.</p>
+
+ @since OOo 2.0
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the value is out of bounds.
+ */
+ [optional, property] long RasterResolutionY;
+
+ /** If this property is `TRUE`, hidden characters are displayed
+
+ @since OOo 3.0
+ */
+ [optional, property] boolean ShowHiddenCharacters;
+ /** If this property is `TRUE`, the settings of non-printing characters are applied.
+
+ <p>This option controls the use of the settings ShowHiddenCharacters,
+ ShowTabstops, ShowSpaces, ShowBreaks and ShowParaBreaks </p>
+
+ @since OOo 3.0
+ */
+ [optional, property] boolean ShowNonprintingCharacters;
+
+ /** metric unit of the horizontal ruler
+
+ <p>Uses values com::sun::star::awt::FieldUnit</p>
+
+ @since OOo 3.1
+ */
+ [optional, property] long HorizontalRulerMetric;
+
+ /** metric unit of the vertical ruler
+
+ <p>Uses values from com::sun::star::awt::FieldUnit</p>
+
+ @since OOo 3.1
+ */
+ [optional, property] long VerticalRulerMetric;
+
+ /** If this property is `TRUE`, tips for document content are shown,
+ typically in a help balloon when the mouse is over the content.
+
+ @since LibreOffice 4.1
+ */
+ [optional, property] boolean ShowContentTips;
+
+ /** If this property is `TRUE`, and the scroll bar is shown, a tool tip
+ is displayed while scrolling.
+
+ @since LibreOffice 4.2
+ */
+ [optional, property] boolean ShowScrollBarTips;
+
+ /** If this property is `TRUE`, whitespaces around pages are hidden.
+
+ @since LibreOffice 5.1
+ */
+ [optional, property] boolean HideWhitespace;
+
+ /** If this property is `TRUE`, tooltips for tracked changes are shown.
+
+ @since LibreOffice 6.1
+ */
+ [optional, property] boolean ShowInlineTooltips;
+
+ /** If this property is `TRUE`, the advanced menu for header/footer is shown
+
+ @since LibreOffice 6.2
+ */
+ [optional, property] boolean UseHeaderFooterMenu;
+
+ /** If this property is `TRUE`, bookmark positions are displayed.
+
+ @since LibreOffice 7.0
+ */
+ [optional, property] boolean ShowBookmarks;
+
+ /** If this property is `TRUE`, the outline content visibility toggle button is shown.
+
+ @since LibreOffice 7.1
+ */
+ [optional, property] boolean ShowOutlineContentVisibilityButton;
+
+ /** If this property is `TRUE`, tracked deletions are shown in margin.
+
+ @since LibreOffice 7.1
+ */
+ [optional, property] boolean ShowChangesInMargin;
+
+ /** If this property is `TRUE`, sub outline levels are treated as content in
+ outline content visibility actions.
+
+ @since LibreOffice 7.2
+ */
+ [optional, property] boolean TreatSubOutlineLevelsAsContent;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/WebDocument.idl b/offapi/com/sun/star/text/WebDocument.idl
new file mode 100644
index 000000000..8b3e31921
--- /dev/null
+++ b/offapi/com/sun/star/text/WebDocument.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_text_WebDocument_idl__
+#define __com_sun_star_text_WebDocument_idl__
+
+#include <com/sun/star/text/GenericTextDocument.idl>
+
+
+ module com { module sun { module star { module text {
+
+
+/** Specify the document service of the web module.
+
+ @deprecated
+ */
+service WebDocument
+{
+ /** Provides the functionality of such web document. */
+ service GenericTextDocument;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/WrapInfluenceOnPosition.idl b/offapi/com/sun/star/text/WrapInfluenceOnPosition.idl
new file mode 100644
index 000000000..6be641fc1
--- /dev/null
+++ b/offapi/com/sun/star/text/WrapInfluenceOnPosition.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_text_WrapInfluenceOnPosition_idl__
+#define __com_sun_star_text_WrapInfluenceOnPosition_idl__
+
+
+
+ module com { module sun { module star { module text {
+
+
+/** These values specify the influence of the wrapping style of a floating
+ screen object when it's positioned.
+ */
+constants WrapInfluenceOnPosition
+{
+
+ /** wrapping style has no influence on the position and the floating screen
+ object is successive positioned.
+ */
+ const short ONCE_SUCCESSIVE = 1;
+
+
+ /** wrapping style has no influence on the position and the floating screen
+ object is concurrent positioned.
+ */
+ const short ONCE_CONCURRENT = 2;
+
+
+ /** wrapping style has influence on the position and the floating screen
+ object is iterative positioned.
+ */
+ const short ITERATIVE = 3;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/WrapTextMode.idl b/offapi/com/sun/star/text/WrapTextMode.idl
new file mode 100644
index 000000000..6344b9579
--- /dev/null
+++ b/offapi/com/sun/star/text/WrapTextMode.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_text_WrapTextMode_idl__
+#define __com_sun_star_text_WrapTextMode_idl__
+
+
+
+ module com { module sun { module star { module text {
+
+/** enumeration values specify the text wrap around objects in a text.
+ */
+published enum WrapTextMode
+{
+ /** text does not flow around the object.
+ */
+ NONE,
+
+ /** text flow ignores the object.
+ */
+ THROUGH,
+
+ /** text flow ignores the object: errant spelling deprecated in version 5.4
+ */
+ THROUGHT = THROUGH,
+
+ /** text flows to the left and right of the object.
+ */
+ PARALLEL,
+
+ /** text flow depends on the situation. The text formatting
+ decides the best way.
+ */
+ DYNAMIC,
+
+ /** text flows to the left side of the object.
+ */
+ LEFT,
+
+ /** text flows to the right side of the object.
+ */
+ RIGHT
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/WritingMode.idl b/offapi/com/sun/star/text/WritingMode.idl
new file mode 100644
index 000000000..2d431040f
--- /dev/null
+++ b/offapi/com/sun/star/text/WritingMode.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_text_WritingMode_idl__
+#define __com_sun_star_text_WritingMode_idl__
+
+
+
+ module com { module sun { module star { module text {
+
+
+/** this enum covers the different writing directions
+
+ @deprecated
+ Use WritingMode2 instead
+ */
+published enum WritingMode
+{
+
+ /** text within lines is written left-to-right. lines and blocks are placed
+ top-to-bottom.
+ <p>
+ Typically, this is the writing mode for normal "alphabetic" text.
+ */
+ LR_TB,
+
+
+ /** text within a line are written right-to-left. Lines and blocks are
+ placed top-to-bottom.
+ <p>
+ Typically, this writing mode is used in Arabic and Hebrew text.
+ */
+ RL_TB,
+
+
+ /** text within a line is written top-to-bottom. Lines and blocks are
+ placed right-to-left.
+ <p>
+ Typically, this writing mode is used in Chinese and Japanese text.
+ */
+ TB_RL
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/WritingMode2.idl b/offapi/com/sun/star/text/WritingMode2.idl
new file mode 100644
index 000000000..1edc467e7
--- /dev/null
+++ b/offapi/com/sun/star/text/WritingMode2.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_text_WritingMode2_idl__
+#define __com_sun_star_text_WritingMode2_idl__
+
+
+
+ module com { module sun { module star { module text {
+
+
+/** this set of constants describes different writing directions
+
+ <p>In addition to numerous explicit writing directions, it allows to specify to take the writing
+ direction from the object's context.</p>
+ */
+published constants WritingMode2
+{
+
+ /** text within lines is written left-to-right. Lines and blocks are placed
+ top-to-bottom.
+ <p>
+ Typically, this is the writing mode for normal "alphabetic" text.
+ */
+ const short LR_TB = 0;
+
+
+ /** text within a line are written right-to-left. Lines and blocks are
+ placed top-to-bottom.
+ <p>
+ Typically, this writing mode is used in Arabic and Hebrew text.
+ */
+ const short RL_TB = 1;
+
+
+ /** text within a line is written top-to-bottom. Lines and blocks are
+ placed right-to-left.
+ <p>
+ Typically, this writing mode is used in Chinese and Japanese text.
+ */
+ const short TB_RL = 2;
+
+
+ /** text within a line is written top-to-bottom. Lines and blocks are
+ placed left-to-right.
+ <p>
+ Typically, this writing mode is used in Mongolian text.
+ */
+ const short TB_LR = 3;
+
+
+ /** obtain writing mode from the current page.
+
+ <p>May not be used in page styles.</p>
+
+ @deprecated
+ Use CONTEXT instead.
+ */
+ const short PAGE = 4;
+
+ /** obtain actual writing mode from the context of the object.
+ */
+ const short CONTEXT = 4;
+
+ /** text within a line is written bottom-to-top. Lines and blocks are
+ placed left-to-right.
+
+ @since LibreOffice 6.3
+ */
+ const short BT_LR = 5;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/XAutoTextContainer.idl b/offapi/com/sun/star/text/XAutoTextContainer.idl
new file mode 100644
index 000000000..a44fba34c
--- /dev/null
+++ b/offapi/com/sun/star/text/XAutoTextContainer.idl
@@ -0,0 +1,86 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_text_XAutoTextContainer_idl__
+#define __com_sun_star_text_XAutoTextContainer_idl__
+
+#include <com/sun/star/container/ElementExistException.idl>
+#include <com/sun/star/container/NoSuchElementException.idl>
+#include <com/sun/star/container/XNameAccess.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/text/XAutoTextGroup.idl>
+
+module com { module sun { module star { module text {
+
+/** handles blocks of AutoTextEntry.
+ @see AutoTextContainer
+*/
+published interface XAutoTextContainer: com::sun::star::container::XNameAccess
+{
+ /** creates a new AutoText group.
+
+ @param aGroupName the name of the AutoTextContainer
+
+ <p>The name must follow the pattern <code>groupname*pathid</code>, where:</p>
+
+ <ul>
+ <li><code>groupname</code> should contain only alphanumeric characters
+ (A-Za-z0-9), underscore (_) or space (0x20)</li>
+ <li>an asterisk (*) delimiter separates the group name from the path
+ identifier</li>
+ <li><code>pathid</code> is a number (0 or 1) identifying the directory
+ where the AutoText file is stored. Paths are stored in the Office
+ configuration and accessed through
+ com::sun::star::util::PathSettings::AutoText.
+ <ul>
+ <li>0 indicates the path of the <b>Office Basis</b> layer</li>
+ <li>1 indicates the path of the <b>user</b> directory</li>
+ </ul>
+ </li>
+ </ul>
+ If only <code>groupname</code> is specified, the path defaults to 0, the
+ <b>Office Basis</b> layer.<br>Note that in some systems the user may lack of
+ write access to the Office Basis directory.
+
+ Example:
+
+ <ul>
+ <li><code>standard*0</code><br>the "standard" AutoTextGroup in the Office Basis layer</li>
+ <li><code>template</code><br>the "template" AutoTextGroup in the Office Basis layer</li>
+ <li><code>mytexts*1</code><br>the "mytexts" AutoTextGroup in the user directory</li>
+ </ul>
+
+ */
+ com::sun::star::text::XAutoTextGroup insertNewByName( [in] string aGroupName )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::container::ElementExistException );
+
+ /** deletes the specified AutoText group.
+ @param aGroupName
+ see the documentation for XAutoTextContainer::insertNewByName()
+ */
+ void removeByName( [in] string aGroupName )
+ raises( com::sun::star::container::NoSuchElementException );
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/XAutoTextContainer2.idl b/offapi/com/sun/star/text/XAutoTextContainer2.idl
new file mode 100644
index 000000000..8d018f1a2
--- /dev/null
+++ b/offapi/com/sun/star/text/XAutoTextContainer2.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_text_XAutoTextContainer2_idl__
+#define __com_sun_star_text_XAutoTextContainer2_idl__
+
+#include <com/sun/star/text/XAutoTextContainer.idl>
+#include <com/sun/star/container/XIndexAccess.idl>
+
+
+module com { module sun { module star { module text {
+
+
+/**
+ @since LibreOffice 4.1
+ */
+published interface XAutoTextContainer2
+{
+ interface com::sun::star::text::XAutoTextContainer;
+
+ interface com::sun::star::container::XIndexAccess;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/XAutoTextEntry.idl b/offapi/com/sun/star/text/XAutoTextEntry.idl
new file mode 100644
index 000000000..46d0c1576
--- /dev/null
+++ b/offapi/com/sun/star/text/XAutoTextEntry.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_text_XAutoTextEntry_idl__
+#define __com_sun_star_text_XAutoTextEntry_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/text/XTextRange.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+/** identifies an autotext entry.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ @deprecated
+ */
+published interface XAutoTextEntry: com::sun::star::uno::XInterface
+{
+ /** inserts the contents represented by this auto text entry at the
+ specified text range.
+ */
+ void applyTo( [in] com::sun::star::text::XTextRange xRange );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/XAutoTextGroup.idl b/offapi/com/sun/star/text/XAutoTextGroup.idl
new file mode 100644
index 000000000..87c4b05da
--- /dev/null
+++ b/offapi/com/sun/star/text/XAutoTextGroup.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_text_XAutoTextGroup_idl__
+#define __com_sun_star_text_XAutoTextGroup_idl__
+
+#include <com/sun/star/container/XNameAccess.idl>
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+#include <com/sun/star/container/ElementExistException.idl>
+
+#include <com/sun/star/io/IOException.idl>
+
+#include <com/sun/star/text/XAutoTextEntry.idl>
+
+#include <com/sun/star/text/XTextRange.idl>
+
+#include <com/sun/star/container/NoSuchElementException.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+/** The interface provide methods to insert, rename and delete autotext entries from the current autotext group.
+ */
+published interface XAutoTextGroup: com::sun::star::container::XNameAccess
+{
+ /** returns the titles of all autotext entries. The order of the entries
+ corresponds to the output of the function getElementNames().
+ */
+ sequence<string> getTitles();
+
+ /** renames an entry in the autotext group.
+
+
+
+ <p>The position of the autotext entry is not changed.
+
+ </p>
+ */
+ void renameByName( [in] string aElementName,
+ [in] string aNewElementName,
+ [in] string aNewElementTitle )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::container::ElementExistException,
+ com::sun::star::io::IOException );
+
+ /** creates a new AutoTextEntry entry.
+ */
+ com::sun::star::text::XAutoTextEntry insertNewByName( [in] string aName,
+ [in] string aTitle,
+ [in] com::sun::star::text::XTextRange xTextRange )
+ raises( com::sun::star::container::ElementExistException );
+
+ /** removes the specified autotext entry.
+ */
+ void removeByName( [in] string aEntryName )
+ raises( com::sun::star::container::NoSuchElementException );
+
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/XBookmarkInsertTool.idl b/offapi/com/sun/star/text/XBookmarkInsertTool.idl
new file mode 100644
index 000000000..4ed608f43
--- /dev/null
+++ b/offapi/com/sun/star/text/XBookmarkInsertTool.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_text_XBookmarkInsertTool_idl__
+#define __com_sun_star_text_XBookmarkInsertTool_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/text/XTextContent.idl>
+
+#include <com/sun/star/text/XTextRange.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+/** offers an easy way to insert bookmarks by name.@see Text
+ */
+published interface XBookmarkInsertTool: com::sun::star::uno::XInterface
+{
+ /** inserts a bookmark at the specified text position.
+ */
+ com::sun::star::text::XTextContent insertNewBookmark( [in] com::sun::star::text::XTextRange xTextRange,
+ [in] string aName );
+
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/XBookmarksSupplier.idl b/offapi/com/sun/star/text/XBookmarksSupplier.idl
new file mode 100644
index 000000000..d3f66410c
--- /dev/null
+++ b/offapi/com/sun/star/text/XBookmarksSupplier.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_text_XBookmarksSupplier_idl__
+#define __com_sun_star_text_XBookmarksSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/container/XNameAccess.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+/** provides access to the collection of all bookmarks within this text container.
+ */
+published interface XBookmarksSupplier: com::sun::star::uno::XInterface
+{
+ /** @returns
+ the collection of all Bookmark instances which are
+ within this context and which support the Bookmarks service.
+ */
+ com::sun::star::container::XNameAccess getBookmarks();
+
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/XChapterNumberingSupplier.idl b/offapi/com/sun/star/text/XChapterNumberingSupplier.idl
new file mode 100644
index 000000000..c7788bcde
--- /dev/null
+++ b/offapi/com/sun/star/text/XChapterNumberingSupplier.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_text_XChapterNumberingSupplier_idl__
+#define __com_sun_star_text_XChapterNumberingSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/container/XIndexReplace.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+/** contains the settings of the chapter numbering in a text
+ document.
+ */
+published interface XChapterNumberingSupplier: com::sun::star::uno::XInterface
+{
+ /** @returns
+ the collection of numbering rules for this document.
+
+ <P>This interface allows access to the properties
+ of the numbering level via a sequence of com::sun::star::beans::PropertyValues.
+ */
+ com::sun::star::container::XIndexReplace getChapterNumberingRules();
+
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/XDefaultNumberingProvider.idl b/offapi/com/sun/star/text/XDefaultNumberingProvider.idl
new file mode 100644
index 000000000..a520d9e04
--- /dev/null
+++ b/offapi/com/sun/star/text/XDefaultNumberingProvider.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_text_XDefaultNumberingProvider_idl__
+#define __com_sun_star_text_XDefaultNumberingProvider_idl__
+
+#include <com/sun/star/container/XIndexAccess.idl>
+#include <com/sun/star/lang/Locale.idl>
+#include <com/sun/star/beans/PropertyValues.idl>
+
+module com { module sun { module star { module text {
+
+/**
+ provides access to default com::sun::star::text::NumberingRules
+ according to a given locale information.
+ <p></p>
+ @see com::sun::star::text::NumberingRules
+ @see com::sun::star::lang::Locale
+ @version 1.0
+*/
+published interface XDefaultNumberingProvider : com::sun::star::uno::XInterface
+{
+ /**
+ provides access to outline numberings according to
+ a given com::sun::star::lang::Locale.
+ <p>Outline numberings usually consist of levels
+ with different settings. </p>
+ @see com::sun::star::text::NumberingLevel
+ */
+ sequence<com::sun::star::container::XIndexAccess>
+ getDefaultOutlineNumberings([in]com::sun::star::lang::Locale aLocale);
+ /**
+ provides access to outline numberings according
+ to a given com::sun::star::lang::Locale.
+ <p>In contrast to outline numberings the continuous
+ numberings consist of
+ level using the equal settings in all numbering levels.</P>
+ @see com::sun::star::text::NumberingLevel
+ @see com::sun::star::lang::Locale
+ */
+ sequence<com::sun::star::beans::PropertyValues>
+ getDefaultContinuousNumberingLevels([in]com::sun::star::lang::Locale aLocale);
+};
+};};};};
+
+#endif
+
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/XDependentTextField.idl b/offapi/com/sun/star/text/XDependentTextField.idl
new file mode 100644
index 000000000..6386d6b49
--- /dev/null
+++ b/offapi/com/sun/star/text/XDependentTextField.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_text_XDependentTextField_idl__
+#define __com_sun_star_text_XDependentTextField_idl__
+
+#include <com/sun/star/text/XTextField.idl>
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+
+/** makes it possible to attach this TextField to a
+ TextFieldMaster.
+ */
+published interface XDependentTextField: com::sun::star::text::XTextField
+{
+
+ /** method must be called to attach the
+ TextFieldMaster to this TextField.
+ <p>A TextFieldMaster can only be assigned once.
+ </p>
+
+ Example: Create and insert a user field (with a <code>UserField</code>):
+
+ @code{.java}
+ // Create a fieldmaster for our newly created User Text field, and access it's
+ // XPropertySet interface
+ XPropertySet xMasterPropSet = (XPropertySet) UnoRuntime.queryInterface(
+ XPropertySet.class, mxDocFactory.createInstance(
+ "com.sun.star.text.FieldMaster.User"));
+ // Set the name and value of the FieldMaster
+ xMasterPropSet.setPropertyValue ("Name", "UserEmperor");
+ xMasterPropSet.setPropertyValue ("Value", new Integer(42));
+ // Attach the field master to the user field
+ xUserField.attachTextFieldMaster (xMasterPropSet);
+ // Move the cursor to the end of the document
+ mxDocCursor.gotoEnd(false);
+ // insert a paragraph break using the XSimpleText interface
+ mxDocText.insertControlCharacter(
+ mxDocCursor, ControlCharacter.PARAGRAPH_BREAK, false);
+ // Insert the user field at the end of the document
+ mxDocText.insertTextContent(mxDocText.getEnd(), xUserField, false);
+ @endcode
+ */
+ void attachTextFieldMaster( [in] com::sun::star::beans::XPropertySet xFieldMaster )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+
+ /** @returns
+ the previously attached TextFieldMaster
+ */
+ com::sun::star::beans::XPropertySet getTextFieldMaster();
+
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/XDocumentIndex.idl b/offapi/com/sun/star/text/XDocumentIndex.idl
new file mode 100644
index 000000000..cfde98615
--- /dev/null
+++ b/offapi/com/sun/star/text/XDocumentIndex.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_text_XDocumentIndex_idl__
+#define __com_sun_star_text_XDocumentIndex_idl__
+
+#include <com/sun/star/text/XTextContent.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+/** This is the main interface for a document index.
+
+
+
+ <p>Use com::sun::star::util::XRefreshable and
+ com::sun::star::lang::XServiceInfo instead, if available.
+
+ </p>
+
+
+
+
+
+
+ @deprecated
+ @see com::sun::star::util::XRefreshable
+ @see com::sun::star::lang::XServiceInfo
+ */
+published interface XDocumentIndex: com::sun::star::text::XTextContent
+{
+ /** returns the service name that was used to create this document index type.
+ */
+ string getServiceName();
+
+ /** initiates an update to the document index.
+ */
+ void update();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/XDocumentIndexMark.idl b/offapi/com/sun/star/text/XDocumentIndexMark.idl
new file mode 100644
index 000000000..fc1b56f4d
--- /dev/null
+++ b/offapi/com/sun/star/text/XDocumentIndexMark.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_text_XDocumentIndexMark_idl__
+#define __com_sun_star_text_XDocumentIndexMark_idl__
+
+#include <com/sun/star/text/XTextContent.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+/** gives access to the mark of a document index entry.@see DocumentIndexMark
+ */
+published interface XDocumentIndexMark: com::sun::star::text::XTextContent
+{
+ /** @returns
+ the explicitly set string for the index mark.
+
+ @see setMarkEntry
+ */
+ string getMarkEntry();
+
+ /** sets an explicit string for this index mark to use
+ in the index.
+
+
+
+ <p>If empty, the string of the TextRange to which
+ the TextContent refers is used in the index.</p>
+ */
+ void setMarkEntry( [in] string aIndexEntry );
+
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/XDocumentIndexesSupplier.idl b/offapi/com/sun/star/text/XDocumentIndexesSupplier.idl
new file mode 100644
index 000000000..0918c6bb9
--- /dev/null
+++ b/offapi/com/sun/star/text/XDocumentIndexesSupplier.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_text_XDocumentIndexesSupplier_idl__
+#define __com_sun_star_text_XDocumentIndexesSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/container/XIndexAccess.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+/** gives access to the collection of document indexes.
+
+
+
+ <p>In general this interface is supported by a TextDocument.</p>
+ */
+published interface XDocumentIndexesSupplier: com::sun::star::uno::XInterface
+{
+ /** @returns
+ the collection of "DocumentIndexes" currently contained in the object.
+ */
+ com::sun::star::container::XIndexAccess getDocumentIndexes();
+
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/XEndnotesSettingsSupplier.idl b/offapi/com/sun/star/text/XEndnotesSettingsSupplier.idl
new file mode 100644
index 000000000..f6db5181c
--- /dev/null
+++ b/offapi/com/sun/star/text/XEndnotesSettingsSupplier.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_text_XEndnotesSettingsSupplier_idl__
+#define __com_sun_star_text_XEndnotesSettingsSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+/** makes it possible to access the FootnoteSettings
+ within the context (e.g. document).
+ */
+published interface XEndnotesSettingsSupplier: com::sun::star::uno::XInterface
+{
+ /** @returns
+ EndnoteSettings of the object.
+ */
+ com::sun::star::beans::XPropertySet getEndnotesSettings();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/XEndnotesSupplier.idl b/offapi/com/sun/star/text/XEndnotesSupplier.idl
new file mode 100644
index 000000000..812bf28fa
--- /dev/null
+++ b/offapi/com/sun/star/text/XEndnotesSupplier.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_text_XEndnotesSupplier_idl__
+#define __com_sun_star_text_XEndnotesSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/container/XIndexAccess.idl>
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+/** makes it possible to access the endnotes within the
+ context (e.g. document).
+ */
+published interface XEndnotesSupplier: com::sun::star::uno::XInterface
+{
+ /** @returns
+ a collection of endnotes.
+ */
+ com::sun::star::container::XIndexAccess getEndnotes();
+
+ /** @returns
+ the endnote settings of the document.
+ */
+ com::sun::star::beans::XPropertySet getEndnoteSettings();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/XFlatParagraph.idl b/offapi/com/sun/star/text/XFlatParagraph.idl
new file mode 100644
index 000000000..2948e4675
--- /dev/null
+++ b/offapi/com/sun/star/text/XFlatParagraph.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_text_XFlatParagraph_idl__
+#define __com_sun_star_text_XFlatParagraph_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/Locale.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/text/XTextMarkup.idl>
+
+
+module com { module sun { module star { module text {
+
+
+/** provides functionality to ...
+
+ @since OOo 3.0
+ */
+
+interface XFlatParagraph: com::sun::star::text::XTextMarkup
+{
+
+ /** get the content of the paragraph
+
+ @returns
+ the content of the paragraph.
+ */
+ string getText();
+
+ /** check whether the content has been modified
+
+ @returns
+ `TRUE` if the content has been modified,
+ `FALSE` otherwise.
+ */
+ boolean isModified();
+
+ /** change the "checked" flag of the respective text node, i.e., mark the
+ text node as "processed"
+
+ @param nType
+ type, see TextMarkupType.
+
+ @param bVal
+ `TRUE` the respective text node has been processed
+ `FALSE` the respective text node needs to be processed again
+ later
+ */
+ void setChecked( [in] long nType, [in] boolean bVal );
+
+ /** returns whether the respective text node has already been processed
+
+ @param nType
+ type, see TextMarkupType.
+
+ @returns
+ `TRUE` if the respective text node has been checked
+ `FALSE` otherwise.
+ */
+ boolean isChecked( [in] long nType );
+
+ /** get the language of the specific text
+
+ @param nPos
+ start index of the text.
+
+ @param nLen
+ the length of the text.
+
+ @returns
+ the locale for the language identified.
+ If no language could be identified, the locale will be empty.
+
+ @throws IllegalArgumentException
+ when any argument is wrong.
+ */
+ com::sun::star::lang::Locale getLanguageOfText( [in] long nPos, [in] long nLen )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** get the single most probable language of the specific text,
+ especially after getLanguageOfText fails
+
+ @param nPos
+ start index of the text.
+
+ @param nLen
+ the length of the text.
+
+ @returns
+ the locale for the language identified.
+
+ @throws IllegalArgumentException
+ when any argument is wrong.
+ */
+ com::sun::star::lang::Locale getPrimaryLanguageOfText( [in] long nPos,
+ [in] long nLen )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** replace the specific text with new text.
+
+ @param nPos
+ start index of the text.
+
+ @param nLen
+ the length of the text.
+
+ @param NewText
+ new text.
+
+ @param aAttributes
+ the given set of attributes e.g. Language
+
+ @throws IllegalArgumentException
+ when any argument is wrong.
+ */
+ void changeText( [in] long nPos, [in] long nLen, [in] string NewText,
+ [in] sequence<::com::sun::star::beans::PropertyValue> aAttributes )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** replace the attributes of the specific text with the given set of attributes.
+
+ @param nPos
+ start index of the text.
+
+ @param nLen
+ the length of the text.
+
+ @param aAttributes
+ the given set of attributes e.g. Language.
+
+ @throws IllegalArgumentException
+ when any argument is wrong.
+ */
+ void changeAttributes( [in] long nPos, [in] long nLen,
+ [in] sequence<::com::sun::star::beans::PropertyValue> aAttributes )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** get a list of indexes that separate each two different languages
+
+ @returns
+ a list of indices.
+ */
+ sequence< long > getLanguagePortions();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/XFlatParagraphIterator.idl b/offapi/com/sun/star/text/XFlatParagraphIterator.idl
new file mode 100644
index 000000000..a50f457c0
--- /dev/null
+++ b/offapi/com/sun/star/text/XFlatParagraphIterator.idl
@@ -0,0 +1,96 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_text_XFlatParagraphIterator_idl__
+#define __com_sun_star_text_XFlatParagraphIterator_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/text/XFlatParagraph.idl>
+
+
+module com { module sun { module star { module text {
+
+
+/** provides functionality to ...
+
+ @since OOo 3.0
+ */
+
+interface XFlatParagraphIterator: com::sun::star::uno::XInterface
+{
+
+ /** get the first flat paragraph to be checked or an empty reference if
+ there are no more paragraphs to check.
+
+ @returns
+ the paragraph.
+ */
+ com::sun::star::text::XFlatParagraph getFirstPara();
+
+ /** get the next flat paragraph to be checked or an empty reference if
+ there are no more paragraphs to check.
+
+ @returns
+ the paragraph.
+ */
+ com::sun::star::text::XFlatParagraph getNextPara();
+
+ /** get the last flat paragraph
+
+ @returns
+ the paragraph.
+ */
+ com::sun::star::text::XFlatParagraph getLastPara();
+
+ /** get the flat paragraph before this one
+
+ @param xPara
+ the current flat paragraph
+
+ @returns
+ the flat paragraph.
+
+ @throws IllegalArgumentException
+ if any argument is wrong.
+ */
+ com::sun::star::text::XFlatParagraph getParaBefore( [in] com::sun::star::text::XFlatParagraph xPara )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** get the flat paragraph just following this one
+
+ @param xPara
+ the current flat paragraph
+
+ @returns
+ the flat paragraph.
+
+ @throws IllegalArgumentException
+ if any argument is wrong.
+ */
+ com::sun::star::text::XFlatParagraph getParaAfter( [in] com::sun::star::text::XFlatParagraph xPara )
+ raises( com::sun::star::lang::IllegalArgumentException );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/XFlatParagraphIteratorProvider.idl b/offapi/com/sun/star/text/XFlatParagraphIteratorProvider.idl
new file mode 100644
index 000000000..f93a61749
--- /dev/null
+++ b/offapi/com/sun/star/text/XFlatParagraphIteratorProvider.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_text_XFlatParagraphIteratorProvider_idl__
+#define __com_sun_star_text_XFlatParagraphIteratorProvider_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/text/XFlatParagraphIterator.idl>
+
+//---------------------------------------Note----------------------------------
+// allows for different iterators for grammar checking and smart tags,
+// interface must be implemented exactly once for each document since
+// the interface pointer will be used to get a unique document id.
+
+
+module com { module sun { module star { module text {
+
+
+/** provides functionality to ...
+
+ @since OOo 3.0
+ */
+
+interface XFlatParagraphIteratorProvider: com::sun::star::uno::XInterface
+{
+ /** get XFlatParagraphIterator
+
+ @param nType
+ Type of text markup see TextMarkupType.
+
+ @param bAutomatic
+ Automatic or interactive checking.
+
+ @returns
+ the iterator.
+
+ @throws IllegalArgumentException
+ if any argument is wrong.
+
+ */
+ com::sun::star::text::XFlatParagraphIterator getFlatParagraphIterator( [in] long nType,
+ [in] boolean bAutomatic )
+ raises( com::sun::star::lang::IllegalArgumentException );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/XFootnote.idl b/offapi/com/sun/star/text/XFootnote.idl
new file mode 100644
index 000000000..4fb215980
--- /dev/null
+++ b/offapi/com/sun/star/text/XFootnote.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_text_XFootnote_idl__
+#define __com_sun_star_text_XFootnote_idl__
+
+#include <com/sun/star/text/XTextContent.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+/** specifies a footnote within a Text.@see Footnote
+ */
+published interface XFootnote: com::sun::star::text::XTextContent
+{
+ /** @returns the label of the footnote.
+
+ @see XFootnote::setLabel
+ */
+ string getLabel();
+
+ /** sets the label of the footnote.
+ */
+ void setLabel( [in] string aLabel );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/XFootnotesSettingsSupplier.idl b/offapi/com/sun/star/text/XFootnotesSettingsSupplier.idl
new file mode 100644
index 000000000..fa2b650e1
--- /dev/null
+++ b/offapi/com/sun/star/text/XFootnotesSettingsSupplier.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_text_XFootnotesSettingsSupplier_idl__
+#define __com_sun_star_text_XFootnotesSettingsSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+/** makes it possible to access the FootnoteSettings
+ with the context (e.g. document).
+ */
+published interface XFootnotesSettingsSupplier: com::sun::star::uno::XInterface
+{
+ /** @returns
+ FootnoteSettings of the object.
+ */
+ com::sun::star::beans::XPropertySet getFootnotesSettings();
+
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/XFootnotesSupplier.idl b/offapi/com/sun/star/text/XFootnotesSupplier.idl
new file mode 100644
index 000000000..fdbd5b4c9
--- /dev/null
+++ b/offapi/com/sun/star/text/XFootnotesSupplier.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_text_XFootnotesSupplier_idl__
+#define __com_sun_star_text_XFootnotesSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/container/XIndexAccess.idl>
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+/** makes it possible to access the footnotes within
+ the context (e.g. document).
+ */
+published interface XFootnotesSupplier: com::sun::star::uno::XInterface
+{
+ /** returns a collection of footnotes.
+ */
+ com::sun::star::container::XIndexAccess getFootnotes();
+
+ /** @returns
+ the footnotes settings of the document.
+ */
+ com::sun::star::beans::XPropertySet getFootnoteSettings();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/XFormField.idl b/offapi/com/sun/star/text/XFormField.idl
new file mode 100644
index 000000000..152b12b0b
--- /dev/null
+++ b/offapi/com/sun/star/text/XFormField.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_text_XFormField_idl__
+#define __com_sun_star_text_XFormField_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/container/XNameContainer.idl>
+
+module com { module sun { module star { module text {
+
+ /** @deprecated
+ */
+ interface XFormField : com::sun::star::uno::XInterface
+ {
+ string getFieldType();
+ void setFieldType([in] string fieldType);
+ com::sun::star::container::XNameContainer getParameters();
+ };
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/XLineNumberingProperties.idl b/offapi/com/sun/star/text/XLineNumberingProperties.idl
new file mode 100644
index 000000000..f5cec957d
--- /dev/null
+++ b/offapi/com/sun/star/text/XLineNumberingProperties.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_text_XLineNumberingProperties_idl__
+#define __com_sun_star_text_XLineNumberingProperties_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+
+
+ module com { module sun { module star { module text {
+
+
+/** contains the settings of the line numbering in a text document.
+ */
+published interface XLineNumberingProperties: com::sun::star::uno::XInterface
+{
+
+ /** @return
+ the LineNumberingProperties of the object.
+ */
+ com::sun::star::beans::XPropertySet getLineNumberingProperties();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/XMailMergeBroadcaster.idl b/offapi/com/sun/star/text/XMailMergeBroadcaster.idl
new file mode 100644
index 000000000..2e00e2034
--- /dev/null
+++ b/offapi/com/sun/star/text/XMailMergeBroadcaster.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_text_XMailMergeBroadcaster_idl__
+#define __com_sun_star_text_XMailMergeBroadcaster_idl__
+
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/text/XMailMergeListener.idl>
+
+//module com { module sun { module star { module text {
+// published interface XMailMergeListener;
+//}; }; }; };
+
+
+module com { module sun { module star { module text {
+
+/** allows for adding/removing of mail merge event listeners.
+
+ <p>Registered listeners will be notified with a
+ com::sun::star::text::MailMergeEvent
+ when a document is about to get merged.</p>
+
+ @see com::sun::star::text::MailMergeEvent
+ @see com::sun::star::text::MailMerge
+
+ @since OOo 1.1.2
+*/
+published interface XMailMergeBroadcaster : com::sun::star::uno::XInterface
+{
+ /** Adds an entry to the list of mail merge listeners.
+
+ @param xListener
+ The listener to be added.
+ */
+ void addMailMergeEventListener(
+ [in] com::sun::star::text::XMailMergeListener xListener );
+
+ /** Removes an entry to the list of mail merge listeners.
+
+ @param xListener
+ The listener to be removed.
+ */
+ void removeMailMergeEventListener(
+ [in] com::sun::star::text::XMailMergeListener xListener );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/XMailMergeListener.idl b/offapi/com/sun/star/text/XMailMergeListener.idl
new file mode 100644
index 000000000..664090568
--- /dev/null
+++ b/offapi/com/sun/star/text/XMailMergeListener.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_text_XMailMergeListener_idl__
+#define __com_sun_star_text_XMailMergeListener_idl__
+
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/text/MailMergeEvent.idl>
+
+
+
+module com { module sun { module star { module text {
+
+/** used to notify listeners about mail merge events.
+
+ <p>Registered listeners will be notified with a
+ com::sun::star::text::MailMergeEvent
+ when a document is about to get merged.</p>
+
+ @see com::sun::star::text::MailMerge
+ @see com::sun::star::text::MailMergeEvent
+
+ @since OOo 1.1.2
+*/
+published interface XMailMergeListener : com::sun::star::uno::XInterface
+{
+ /** Notifies the listener about mail merge events.
+
+ @param aEvent
+ The Event containing the model of the document to be merged
+ that is send to the listener.
+ */
+ void notifyMailMergeEvent(
+ [in] com::sun::star::text::MailMergeEvent aEvent );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/XMarkingAccess.idl b/offapi/com/sun/star/text/XMarkingAccess.idl
new file mode 100644
index 000000000..35762b6d2
--- /dev/null
+++ b/offapi/com/sun/star/text/XMarkingAccess.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_text_XMarkingAccess_idl__
+#define __com_sun_star_text_XMarkingAccess_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module text {
+
+/** extends a text range by method to modify its position.
+ */
+interface XMarkingAccess
+{
+ void invalidateMarkings([in] long nType);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/XMultiTextMarkup.idl b/offapi/com/sun/star/text/XMultiTextMarkup.idl
new file mode 100644
index 000000000..c110ec78c
--- /dev/null
+++ b/offapi/com/sun/star/text/XMultiTextMarkup.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_text_XMultiTextMarkup_idl__
+#define __com_sun_star_text_XMultiTextMarkup_idl__
+
+#include <com/sun/star/container/XStringKeyMap.idl>
+#include <com/sun/star/text/TextMarkupDescriptor.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+module com { module sun { module star { module text {
+
+
+/** provides functionality to apply multiple text markups in one call.
+
+ @since OOo 3.0.1
+ */
+
+interface XMultiTextMarkup
+{
+ /** submits multiple new markup ranges.
+
+ <p>The main use of this function will probably be for proofreading to
+ allow for setting the markup of all found errors in a sentence in a single
+ call. For this the sequence needs to provide the markups for all errors along
+ with the markup for the identified sentence boundaries.
+ The order of those entries is arbitrary.</p>
+
+ @param aMarkups
+ a sequence of single text markups.
+
+ @see com::sun::star::text::XTextMarkup
+ @see com::sun::star::text::TextMarkupType
+
+ */
+ void commitMultiTextMarkup(
+ [in] sequence< com::sun::star::text::TextMarkupDescriptor > aMarkups )
+ raises( com::sun::star::lang::IllegalArgumentException );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/XNumberingFormatter.idl b/offapi/com/sun/star/text/XNumberingFormatter.idl
new file mode 100644
index 000000000..a44157922
--- /dev/null
+++ b/offapi/com/sun/star/text/XNumberingFormatter.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_text_XNumberingFormatter_idl__
+#define __com_sun_star_text_XNumberingFormatter_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/lang/Locale.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+module com { module sun { module star { module text {
+/**
+ supports the formatting of numberings
+ in various language environments.
+ @see com::sun::star::text::NumberingRules
+ @see com::sun::star::text::NumberingLevel
+ @version 1.0
+*/
+published interface XNumberingFormatter : com::sun::star::uno::XInterface
+{
+/** @returns
+ the formatted numbering string according to the given
+ com::sun::star::text::NumberingLevel
+ and the given com::sun::star::lang::Locale.
+*/
+ string makeNumberingString(
+ [in]sequence <com::sun::star::beans::PropertyValue> aProperties,
+ [in]com::sun::star::lang::Locale aLocale)
+ raises( com::sun::star::lang::IllegalArgumentException );
+};
+};};};};
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/XNumberingRulesSupplier.idl b/offapi/com/sun/star/text/XNumberingRulesSupplier.idl
new file mode 100644
index 000000000..d3019ad8c
--- /dev/null
+++ b/offapi/com/sun/star/text/XNumberingRulesSupplier.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_text_XNumberingRulesSupplier_idl__
+#define __com_sun_star_text_XNumberingRulesSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/container/XIndexAccess.idl>
+
+
+
+module com { module sun { module star { module text {
+
+/** This interface enables the object to handle numbering rules.
+ @see com::sun::star::text::NumberingRules
+*/
+published interface XNumberingRulesSupplier : com::sun::star::uno::XInterface
+{
+ /** @returns
+ the collection of "NumberingRules" currently contained in the object.
+ */
+ com::sun::star::container::XIndexAccess getNumberingRules();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/XNumberingTypeInfo.idl b/offapi/com/sun/star/text/XNumberingTypeInfo.idl
new file mode 100644
index 000000000..33f24eb1d
--- /dev/null
+++ b/offapi/com/sun/star/text/XNumberingTypeInfo.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_text_XNumberingTypeInfo_idl__
+#define __com_sun_star_text_XNumberingTypeInfo_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module text {
+
+/** provides access to the numbering types that are supported by a component.
+ <p>To be able to store unknown numbering types in a file format the numbering types
+ correspond to an identifier.</p>
+ @see com::sun::star::text::NumberingRules
+ @see com::sun::star::style::NumberingType
+ @version 1.0
+*/
+published interface XNumberingTypeInfo : com::sun::star::uno::XInterface
+{
+ /** returns the numbering type values that are supported by the component.
+ @see
+ */
+ sequence<short> getSupportedNumberingTypes();
+ /** returns the corresponding numbering type to an identifier.
+ */
+ short getNumberingType([in]string NumberingIdentifier);
+ /** determines whether an identifier is supported.
+ */
+ boolean hasNumberingType([in]string NumberingIdentifier);
+ /** returns the corresponding identifier to a numbering type.
+ */
+ string getNumberingIdentifier([in]short NumberingType);
+};
+};};};};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/XPageCursor.idl b/offapi/com/sun/star/text/XPageCursor.idl
new file mode 100644
index 000000000..9d65b326a
--- /dev/null
+++ b/offapi/com/sun/star/text/XPageCursor.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_text_XPageCursor_idl__
+#define __com_sun_star_text_XPageCursor_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+module com { module sun { module star { module text {
+
+/** makes it possible to perform cursor movements between pages.
+ */
+published interface XPageCursor: com::sun::star::uno::XInterface
+{
+ /** moves the cursor to the first page.
+ */
+ boolean jumpToFirstPage();
+
+ /** moves the cursor to the last page.
+ */
+ boolean jumpToLastPage();
+
+ /** moves the cursor to the specified page.
+ */
+ boolean jumpToPage( [in] short nPage );
+
+ /** @returns
+ the number of the page within the document of this cursor.
+ */
+ short getPage();
+
+ /** moves the cursor to the next page.
+
+ @see XPageCursor::jumpToPreviousPage
+ */
+ boolean jumpToNextPage();
+
+ /** moves the cursor to the previous page.
+
+ @see XPageCursor::jumpToNextPage
+ */
+ boolean jumpToPreviousPage();
+
+ /** moves the cursor to the end of the current page.
+
+ @see XPageCursor::jumpToEndOfPreviousPage
+ */
+ boolean jumpToEndOfPage();
+
+ /** moves the cursor to the start of the current page.
+ */
+ boolean jumpToStartOfPage();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/XPagePrintable.idl b/offapi/com/sun/star/text/XPagePrintable.idl
new file mode 100644
index 000000000..49f3d8e21
--- /dev/null
+++ b/offapi/com/sun/star/text/XPagePrintable.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_text_XPagePrintable_idl__
+#define __com_sun_star_text_XPagePrintable_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+
+/** Print several pages on one printer page.
+ */
+published interface XPagePrintable: com::sun::star::uno::XInterface
+{
+
+ /** @returns the settings of printing of pages.
+ <p>
+ These settings contains:
+ <UL>
+ <LI><P>short PageRows - number of rows of pages printed to one page </P>
+ <LI><P>short PageColumns - number of columns of pages printed to one page</P>
+ <LI><P>long LeftMargin - left margin of the page</P>
+ <LI><P>long RightMargin - right margin of the page</P>
+ <LI><P>long TopMargin - top margin of the page</P>
+ <LI><P>long BottomMargin - bottom margin of the page</P>
+ <LI><P>long HoriMargin - margin between rows of pages</P>
+ <LI><P>long VertMargin - margin between columns of pages</P>
+ <LI><P>boolean IsLandscape - determines if the output page is printed in landscape format</P>
+ </UL>
+ </p>
+ */
+ sequence<com::sun::star::beans::PropertyValue> getPagePrintSettings();
+
+ /** adjusts the settings of the page printing.
+ @see getPagePrintSettings
+ */
+ void setPagePrintSettings( [in] sequence<com::sun::star::beans::PropertyValue> aSettings );
+
+ /** prints the pages according to the PagePrintSettings.
+
+ @see com::sun::star::view::PrintOptions
+ */
+ void printPages( [in] sequence<com::sun::star::beans::PropertyValue> xOptions )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/XParagraphAppend.idl b/offapi/com/sun/star/text/XParagraphAppend.idl
new file mode 100644
index 000000000..5413a3f42
--- /dev/null
+++ b/offapi/com/sun/star/text/XParagraphAppend.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_text_XParagraphAppend_idl__
+#define __com_sun_star_text_XParagraphAppend_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/beans/PropertyValues.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+#include <com/sun/star/beans/UnknownPropertyException.idl>
+
+#include <com/sun/star/text/XTextRange.idl>
+
+
+ module com { module sun { module star { module text {
+
+
+/** allows inserting and appending paragraphs.
+ */
+interface XParagraphAppend : com::sun::star::uno::XInterface
+{
+ /** appends a new and empty paragraph at the end of the text.
+
+ <p>The properties are applied to the last paragraph before the new paragraph is inserted.
+ </p>
+
+ @param
+ CharacterAndParagraphProperties can contain all the properties defined by the service
+ Paragraph.
+
+ */
+ com::sun::star::text::XTextRange finishParagraph( [in] com::sun::star::beans::PropertyValues CharacterAndParagraphProperties )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::beans::UnknownPropertyException );
+
+ /** inserts a new and empty paragraph to the text at a given position.
+
+ <p>The properties are applied to the last paragraph before the new paragraph is inserted.
+ </p>
+
+ @param
+ CharacterAndParagraphProperties can contain all the properties defined by the service
+ Paragraph.
+
+ @param
+ TextRange specifies the position of the insertion.
+
+ @since LibreOffice 4.0
+
+ */
+ com::sun::star::text::XTextRange finishParagraphInsert( [in] com::sun::star::beans::PropertyValues CharacterAndParagraphProperties,
+ [in] com::sun::star::text::XTextRange TextRange )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::beans::UnknownPropertyException );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/XParagraphCursor.idl b/offapi/com/sun/star/text/XParagraphCursor.idl
new file mode 100644
index 000000000..d7986130b
--- /dev/null
+++ b/offapi/com/sun/star/text/XParagraphCursor.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_text_XParagraphCursor_idl__
+#define __com_sun_star_text_XParagraphCursor_idl__
+
+#include <com/sun/star/text/XTextCursor.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+
+/** makes it possible to move paragraph by paragraph.
+ */
+published interface XParagraphCursor: com::sun::star::text::XTextCursor
+{
+
+ /** determines if the cursor is positioned at the start of a paragraph.
+ */
+ boolean isStartOfParagraph();
+
+
+ /** determines if the cursor is positioned at the end of a paragraph.
+ */
+ boolean isEndOfParagraph();
+
+
+ /** moves the cursor to the start of the current paragraph.
+
+ @returns
+ `TRUE` if the cursor is now at the start of a paragraph,
+ `FALSE` otherwise. If `FALSE` was returned the cursor
+ will remain at its original position.
+ */
+ boolean gotoStartOfParagraph( [in] boolean bExpand );
+
+
+ /** moves the cursor to the end of the current paragraph.
+
+ @returns
+ `TRUE` if the cursor is now at the end of a paragraph,
+ `FALSE` otherwise. If `FALSE` was returned the cursor
+ will remain at its original position.
+ */
+ boolean gotoEndOfParagraph( [in] boolean bExpand );
+
+
+ /** moves the cursor to the next paragraph.
+
+ @returns
+ `TRUE` if the cursor was moved. It returns `FALSE` it the
+ cursor can not advance further.
+ */
+ boolean gotoNextParagraph( [in] boolean bExpand );
+
+
+ /** moves the cursor to the previous paragraph.
+
+ @returns
+ `TRUE` if the cursor was moved. It returns `FALSE` it the
+ cursor can not advance further.
+ */
+ boolean gotoPreviousParagraph( [in] boolean bExpand );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/XPasteBroadcaster.idl b/offapi/com/sun/star/text/XPasteBroadcaster.idl
new file mode 100644
index 000000000..faddd99b6
--- /dev/null
+++ b/offapi/com/sun/star/text/XPasteBroadcaster.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/.
+ */
+#ifndef __com_sun_star_text_XPasteBroadcaster_idl__
+#define __com_sun_star_text_XPasteBroadcaster_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/text/XPasteListener.idl>
+
+module com { module sun { module star { module text {
+
+/** allows for adding/removing of paste event listeners.
+
+ @since LibreOffice 6.3
+*/
+interface XPasteBroadcaster : com::sun::star::uno::XInterface
+{
+ /** Adds an entry to the list of paste listeners.
+
+ @param xListener
+ The listener to be added.
+ */
+ void addPasteEventListener([in] com::sun::star::text::XPasteListener xListener);
+
+ /** Removes an entry to the list of paste listeners.
+
+ @param xListener
+ The listener to be removed.
+ */
+ void removePasteEventListener( [in] com::sun::star::text::XPasteListener xListener );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/XPasteListener.idl b/offapi/com/sun/star/text/XPasteListener.idl
new file mode 100644
index 000000000..b1a98cae5
--- /dev/null
+++ b/offapi/com/sun/star/text/XPasteListener.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.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_text_XPasteListener_idl__
+#define __com_sun_star_text_XPasteListener_idl__
+
+#include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module text {
+
+/** used to notify listeners about paste events.
+
+ @since LibreOffice 6.3
+*/
+interface XPasteListener : com::sun::star::uno::XInterface
+{
+ /** Notifies the listener about paste events.
+
+ @param aEvent
+ The event containing details about the paste.
+
+ <p>The following keys may be used:
+ <ul>
+ <li>TextRange</li>
+ <li>TextGraphicObject</li>
+ </ul></p>
+ */
+ void notifyPasteEvent([in] sequence< ::com::sun::star::beans::PropertyValue > aEvent);
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/XRedline.idl b/offapi/com/sun/star/text/XRedline.idl
new file mode 100644
index 000000000..a07c92ddf
--- /dev/null
+++ b/offapi/com/sun/star/text/XRedline.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_text_XRedline_idl__
+#define __com_sun_star_text_XRedline_idl__
+
+#include <com/sun/star/beans/PropertyValues.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+ module com { module sun { module star { module text {
+
+
+/** enables creation of redlines (change tracking).
+ */
+published interface XRedline
+{
+
+ /**
+ @param RedlineType
+ <p> Valid type names are:</p>
+ <UL>
+ <LI><P>Insert - marks an insertion</P>
+ <LI><P>Delete - marks a deletion</P>
+ <LI><P>Format - marks an attribute change</P>
+ <LI><P>TextTable - marks a text table</P>
+ <LI><P>Style - marks an applied style</P>
+ </UL>
+ @param RedlineProperties
+ contains the following parameters
+ [readonly, property] string RedlineAuthor;
+ [readonly, property] com::sun::star::util::DateTime RedlineDateTime;
+ [readonly, property] string RedlineComment;
+ [readonly, optional, property] boolean RedlineMoved;
+ */
+ void makeRedline( [in]string RedlineType, [in] com::sun::star::beans::PropertyValues RedlineProperties)
+ raises( com::sun::star::lang::IllegalArgumentException );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/XReferenceMarksSupplier.idl b/offapi/com/sun/star/text/XReferenceMarksSupplier.idl
new file mode 100644
index 000000000..7daaf16eb
--- /dev/null
+++ b/offapi/com/sun/star/text/XReferenceMarksSupplier.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_text_XReferenceMarksSupplier_idl__
+#define __com_sun_star_text_XReferenceMarksSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/container/XNameAccess.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+/** provides access to the reference marks within this context (i.e. document).
+
+
+
+ <p>A reference mark is used to refer to text positions in a text
+ document.
+
+ </p>
+ */
+published interface XReferenceMarksSupplier: com::sun::star::uno::XInterface
+{
+ /** @returns
+ the collection of reference marks.
+ */
+ com::sun::star::container::XNameAccess getReferenceMarks();
+
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/XRelativeTextContentInsert.idl b/offapi/com/sun/star/text/XRelativeTextContentInsert.idl
new file mode 100644
index 000000000..55480d0ce
--- /dev/null
+++ b/offapi/com/sun/star/text/XRelativeTextContentInsert.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_text_XRelativeTextContentInsert_idl__
+#define __com_sun_star_text_XRelativeTextContentInsert_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+ module com { module sun { module star { module text {
+
+ published interface XTextContent;
+
+/** makes it possible to insert new text contents before or
+ after existing text contents.
+
+
+
+
+
+
+
+ @deprecated
+ */
+published interface XRelativeTextContentInsert: com::sun::star::uno::XInterface
+{
+ /** inserts text the new text content before of the successor argument.
+
+ <p> This is helpful to insert paragraphs before of text tables. </p>
+ */
+ void insertTextContentBefore(
+ [in] XTextContent xNewContent,
+ [in] XTextContent xSuccessor )
+ raises( com::sun::star::lang::IllegalArgumentException );
+ /** inserts text the new text content after the predecessor argument.
+
+ <p> This is helpful to insert paragraphs after text tables especially in
+ headers, footers or text frames. </p>
+ */
+ void insertTextContentAfter(
+ [in] XTextContent xNewContent,
+ [in] XTextContent xPredecessor )
+ raises( com::sun::star::lang::IllegalArgumentException );
+};
+
+};};};};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/XRelativeTextContentRemove.idl b/offapi/com/sun/star/text/XRelativeTextContentRemove.idl
new file mode 100644
index 000000000..effc94946
--- /dev/null
+++ b/offapi/com/sun/star/text/XRelativeTextContentRemove.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_text_XRelativeTextContentRemove_idl__
+#define __com_sun_star_text_XRelativeTextContentRemove_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+ module com { module sun { module star { module text {
+
+ published interface XTextContent;
+/** makes it possible to remove text contents before or
+ after existing text contents.
+
+
+
+
+
+
+
+ @deprecated
+ */
+published interface XRelativeTextContentRemove: com::sun::star::uno::XInterface
+{
+ /** removes the text content that precedes the argument.
+
+ <p> This is helpful to remove empty paragraphs before text tables. </p>
+ */
+ void removeTextContentBefore(
+ [in] XTextContent xSuccessor )
+ raises( com::sun::star::lang::IllegalArgumentException );
+ /** removes the text content that follows the argument.
+
+ <p> This is helpful to remove empty paragraphs following text tables especially in
+ headers, footers or text frames. </p>
+ */
+ void removeTextContentAfter(
+ [in] XTextContent xPredecessor )
+ raises( com::sun::star::lang::IllegalArgumentException );
+};
+};};};};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/XRubySelection.idl b/offapi/com/sun/star/text/XRubySelection.idl
new file mode 100644
index 000000000..3d04094f3
--- /dev/null
+++ b/offapi/com/sun/star/text/XRubySelection.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_text_XRubySelection_idl__
+#define __com_sun_star_text_XRubySelection_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/beans/PropertyValues.idl>
+
+
+
+
+ module com { module sun { module star { module text {
+
+
+/** This interface enables the object to handle list of ruby lines (aka Furigana lines).
+
+ */
+published interface XRubySelection : com::sun::star::uno::XInterface
+{
+ /** returns a sequence of ruby elements.
+ <p>Each element contains at least a string that contains the selected text and the ruby text.
+ Additional parameters can be the ruby adjustment, the name of a character style.</p>
+ @returns
+ a sequence of ruby properties
+ @param Automatic
+ if Automatic is set the selection is parsed for words and applied ruby attributes
+ */
+ sequence<com::sun::star::beans::PropertyValues> getRubyList( [in] boolean Automatic );
+ /** applies the RubyList to the current selection. The number of elements must be
+ equal to the number of elements that are returned by getRubyList. Automatic must be
+ set equally, too.
+ */
+ void setRubyList( [in] sequence<com::sun::star::beans::PropertyValues > RubyList, [in] boolean Automatic );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/XSentenceCursor.idl b/offapi/com/sun/star/text/XSentenceCursor.idl
new file mode 100644
index 000000000..d8a0da6f0
--- /dev/null
+++ b/offapi/com/sun/star/text/XSentenceCursor.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_text_XSentenceCursor_idl__
+#define __com_sun_star_text_XSentenceCursor_idl__
+
+#include <com/sun/star/text/XTextCursor.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+
+/** makes it possible to perform cursor movements through sentences.
+ */
+published interface XSentenceCursor: com::sun::star::text::XTextCursor
+{
+
+ /** determines if the cursor is positioned at the start of a sentence.
+ */
+ boolean isStartOfSentence();
+
+
+ /** determines if the cursor is positioned at the end of a sentence.
+ */
+ boolean isEndOfSentence();
+
+
+ /** moves the cursor to the start of the next sentence.
+
+ @returns
+ `TRUE` if the cursor was moved. It returns `FALSE` it the
+ cursor can not advance further.
+ */
+ boolean gotoNextSentence( [in] boolean Expand );
+
+
+ /** moves the cursor to the start of the previous sentence.
+
+ @returns
+ `TRUE` if the cursor was moved. It returns `FALSE` it the
+ cursor can not advance further.
+ */
+ boolean gotoPreviousSentence( [in] boolean Expand );
+
+
+ /** moves the cursor to the start of the current sentence.
+
+ @returns
+ `TRUE` if the cursor is now at the start of a sentence,
+ `FALSE` otherwise. If `FALSE` was returned the cursor
+ will remain at its original position.
+ */
+ boolean gotoStartOfSentence( [in] boolean Expand );
+
+
+ /** moves the cursor to the end of the current sentence.
+
+ @returns
+ `TRUE` if the cursor is now at the end of a sentence,
+ `FALSE` otherwise. If `FALSE` was returned the cursor
+ will remain at its original position.
+ */
+ boolean gotoEndOfSentence( [in] boolean Expand );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/XSimpleText.idl b/offapi/com/sun/star/text/XSimpleText.idl
new file mode 100644
index 000000000..f93339180
--- /dev/null
+++ b/offapi/com/sun/star/text/XSimpleText.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_text_XSimpleText_idl__
+#define __com_sun_star_text_XSimpleText_idl__
+
+#include <com/sun/star/text/XTextRange.idl>
+
+#include <com/sun/star/text/XTextCursor.idl>
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+#include <com/sun/star/text/XTextContent.idl>
+
+#include <com/sun/star/container/NoSuchElementException.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+
+/** is the main interface for a distinct text unit, i.e. the main text of
+ a document, the text for headers and footers or for single cells of a
+ table.@see XText
+ */
+published interface XSimpleText: com::sun::star::text::XTextRange
+{
+
+ /** @returns
+ a new instance of a TextCursor service which can
+ be used to travel in the given text context.
+
+ @see com::sun::star::text::TextCursor
+ */
+ com::sun::star::text::XTextCursor createTextCursor();
+
+
+ /** @returns
+ a new instance of a TextCursor which is located
+ at the specified TextRange to travel in the
+ given text context.
+
+ <p>The initial position is set to <var>aTextPosition</var>.
+
+ @param aTextPosition
+ specifies the start position for the new
+ TextCursor.
+
+ @see com::sun::star::text::TextCursor
+ */
+ com::sun::star::text::XTextCursor createTextCursorByRange( [in] com::sun::star::text::XTextRange aTextPosition );
+
+
+ /** inserts a string of characters into the text.
+
+ <p>The string may contain the following white spaces:
+ </p>
+ <ul>
+ <li>blank</li>
+ <li>tab</li>
+ <li>cr (which will insert a paragraph break)</li>
+ <li>lf (which will insert a line break)</li>
+ </ul>
+
+ @param xRange
+ specifies the position of insertion. For example,
+ XSimpleText::createTextCursor() can be used to
+ get an XTextRange for this argument.
+
+ <p>If the parameter bAbsorb() was `TRUE`
+ the text range will contain the new inserted string, otherwise
+ the range (and it's text) will remain unchanged.
+
+ @param aString
+ specifies the string to insert.
+
+ @param bAbsorb
+ specifies whether the text spanned by <var>xRange</var> will be
+ replaced. If `TRUE` then the content of <var>xRange</var> will
+ be replaced by <var>aString</var>, otherwise <var>aString</var>
+ will be inserted at the beginning of <var>xRange</var>.
+
+ @code{.java}
+ xText.insertString( xTextCursor, "Hello " + aName + ",", false )
+
+ xText.insertControlCharacter( xTextCursor,
+ ControlCharacter.PARAGRAPH_BREAK, false );
+
+ xText.insertString( xTextCursor, "more text ...", false )
+ @endcode
+ */
+ void insertString( [in] com::sun::star::text::XTextRange xRange,
+ [in] string aString,
+ [in] boolean bAbsorb );
+
+
+ /** inserts a control character (like a paragraph break or a hard
+ space) into the text.@see com::sun::star::text::ControlCharacter
+ */
+ void insertControlCharacter( [in] com::sun::star::text::XTextRange xRange,
+ [in] short nControlCharacter,
+ [in] boolean bAbsorb )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/XText.idl b/offapi/com/sun/star/text/XText.idl
new file mode 100644
index 000000000..2e4a629a4
--- /dev/null
+++ b/offapi/com/sun/star/text/XText.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_text_XText_idl__
+#define __com_sun_star_text_XText_idl__
+
+#include <com/sun/star/text/XSimpleText.idl>
+
+#include <com/sun/star/text/XTextCursor.idl>
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+#include <com/sun/star/text/XTextContent.idl>
+
+#include <com/sun/star/container/NoSuchElementException.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+
+/** extends a XSimpleText by the capability of inserting
+ XTextContents.
+ */
+published interface XText: com::sun::star::text::XSimpleText
+{
+
+ /** inserts a content, such as a text table, text frame or text
+ field.
+
+ <p>Which contents are accepted is implementation-specific. Some
+ implementations may only accept contents which were created by the
+ factory that supplied the same text or the document which contains
+ the text.
+ </p>
+
+ @param xRange
+ specifies the position of insertion.
+
+ @param xContent
+ the text content to be inserted.
+
+ @param bAbsorb
+ specifies whether the text spanned by <var>xRange</var> will be
+ replaced. If `TRUE` then the content of <var>xRange</var> will
+ be replaced by <var>xContent</var>, otherwise <var>xContent</var>
+ will be inserted at the end of <var>xRange</var>.
+ */
+ void insertTextContent( [in] com::sun::star::text::XTextRange xRange,
+ [in] com::sun::star::text::XTextContent xContent,
+ [in] boolean bAbsorb )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+
+ /** removes the specified content from the text object.
+ @param xContent
+ the content that is to be removed.
+ */
+ void removeTextContent( [in] com::sun::star::text::XTextContent xContent )
+ raises( com::sun::star::container::NoSuchElementException );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/XTextAppend.idl b/offapi/com/sun/star/text/XTextAppend.idl
new file mode 100644
index 000000000..bac545c31
--- /dev/null
+++ b/offapi/com/sun/star/text/XTextAppend.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_text_XTextAppend_idl__
+#define __com_sun_star_text_XTextAppend_idl__
+
+
+#include <com/sun/star/text/XText.idl>
+#include <com/sun/star/text/XTextPortionAppend.idl>
+#include <com/sun/star/text/XParagraphAppend.idl>
+
+
+ module com { module sun { module star { module text {
+
+
+/** is a meta-interface for manipulating and inserting text.
+ */
+ interface XTextAppend
+{
+ interface com::sun::star::text::XText;
+ interface com::sun::star::text::XParagraphAppend;
+ interface com::sun::star::text::XTextPortionAppend ;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/XTextAppendAndConvert.idl b/offapi/com/sun/star/text/XTextAppendAndConvert.idl
new file mode 100644
index 000000000..e4ae77854
--- /dev/null
+++ b/offapi/com/sun/star/text/XTextAppendAndConvert.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_text_XTextAppendAndConvert_idl__
+#define __com_sun_star_text_XTextAppendAndConvert_idl__
+
+
+#include <com/sun/star/text/XTextAppend.idl>
+#include <com/sun/star/text/XTextContentAppend.idl>
+#include <com/sun/star/text/XTextConvert.idl>
+
+
+ module com { module sun { module star { module text {
+
+
+/** merges the functions of XTextAppend,
+ XTextContentAppend and XTextConvert.
+ */
+ interface XTextAppendAndConvert
+{
+ interface com::sun::star::text::XTextAppend;
+ interface com::sun::star::text::XTextContentAppend;
+ interface com::sun::star::text::XTextConvert;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/XTextColumns.idl b/offapi/com/sun/star/text/XTextColumns.idl
new file mode 100644
index 000000000..e92a248b1
--- /dev/null
+++ b/offapi/com/sun/star/text/XTextColumns.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_text_XTextColumns_idl__
+#define __com_sun_star_text_XTextColumns_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/text/TextColumn.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+/** manages columns within the object.
+
+
+
+ <p>The values used are relative. So it is not necessary to know the
+ width of the object. The sum of the relative width values depends on
+ the object and is defined in "ReferenceValue."
+
+ </p>
+ */
+published interface XTextColumns: com::sun::star::uno::XInterface
+{
+ /** @returns
+ the sum of all values.
+
+ <p>As described above, the width values are relative.
+ */
+ long getReferenceValue();
+
+ /** @returns
+ the number of columns.
+ */
+ short getColumnCount();
+
+ /** sets the number of columns.
+
+
+
+ <p>The minimum is 1 column.</p>
+ */
+ void setColumnCount( [in] short nColumns );
+
+ /** returns the column description of the object.
+ @see TextColumn
+ */
+ sequence<com::sun::star::text::TextColumn> getColumns();
+
+ /** sets the descriptors of all columns.
+
+
+
+ <p>The number of members in the sequence must be the same as the
+ number of columns of the object.
+
+ </p>@see TextColumn
+ */
+ void setColumns( [in] sequence<com::sun::star::text::TextColumn> Columns );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/XTextContent.idl b/offapi/com/sun/star/text/XTextContent.idl
new file mode 100644
index 000000000..9cb28cb88
--- /dev/null
+++ b/offapi/com/sun/star/text/XTextContent.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_text_XTextContent_idl__
+#define __com_sun_star_text_XTextContent_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/text/XTextRange.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+
+/** enables objects to be inserted into a text and to provide their
+ location in a text once they are inserted into it.
+ */
+published interface XTextContent: com::sun::star::lang::XComponent
+{
+
+ /** is called when this object gets embedded in a text.
+
+ <p>This acts like a multi-phase construction, thus the object may be
+ invalid until it is attached to a text position. Usually this method
+ is called from within XText::insertTextContent().
+ </p>
+
+ <p>Both text objects and text content objects may only be connected
+ to each other if they are created by the same component. When
+ implementing new components, this behavior is deprecated.</p>
+ */
+ void attach( [in] com::sun::star::text::XTextRange xTextRange )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+
+ /** @returns
+ the text range to which the content is attached.
+
+ <p>Note: The anchor of the actual implementation for text tables
+ does not have a position in the text. Thus that anchor can not be
+ used for some operation like attach() for example or
+ com::sun::star::text::insertTextContent
+ or other function that require the object to have a position in the text.</p>
+
+ <p>The reason why a text table still needs an anchor is that for example
+ tables should be insertable via com::sun::star::text::insertTextContent
+ and that interface uses a parameter of that type.</p>
+ */
+ com::sun::star::text::XTextRange getAnchor();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/XTextContentAppend.idl b/offapi/com/sun/star/text/XTextContentAppend.idl
new file mode 100644
index 000000000..d28f6d62d
--- /dev/null
+++ b/offapi/com/sun/star/text/XTextContentAppend.idl
@@ -0,0 +1,86 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_text_XTextContentAppend_idl__
+#define __com_sun_star_text_XTextContentAppend_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/beans/PropertyValues.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+#include <com/sun/star/beans/UnknownPropertyException.idl>
+#include <com/sun/star/text/XTextContent.idl>
+
+
+ module com { module sun { module star { module text {
+
+
+/** allows inserting and appending text content.
+ */
+interface XTextContentAppend : com::sun::star::uno::XInterface
+{
+
+ /** appends a text content at the end of the text.
+
+ <p> The sequence can contain all the properties defined by the service
+ Paragraph.
+ </p>
+
+ @param TextContent
+ contains the object to be inserted.
+ @param CharacterAndParagraphProperties
+ can contain all the properties defined by the service
+ Paragraph.
+ @return
+ the anchor text range of the inserted text content.
+ */
+ com::sun::star::text::XTextRange appendTextContent(
+ [in] com::sun::star::text::XTextContent TextContent,
+ [in] com::sun::star::beans::PropertyValues CharacterAndParagraphProperties )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::beans::UnknownPropertyException );
+
+ /** inserts a text content at the given position.
+
+ @param TextContent
+ contains the object to be inserted.
+ @param CharacterAndParagraphProperties
+ can contain all the properties defined by the service
+ Paragraph.
+ @param TextRange
+ insert position
+ @return
+ the anchor text range of the inserted text content.
+
+ @since LibreOffice 4.0
+ */
+ com::sun::star::text::XTextRange insertTextContentWithProperties(
+ [in] com::sun::star::text::XTextContent TextContent,
+ [in] com::sun::star::beans::PropertyValues CharacterAndParagraphProperties,
+ [in] com::sun::star::text::XTextRange TextRange )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::beans::UnknownPropertyException );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/XTextConvert.idl b/offapi/com/sun/star/text/XTextConvert.idl
new file mode 100644
index 000000000..2de810cf5
--- /dev/null
+++ b/offapi/com/sun/star/text/XTextConvert.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_text_XTextConvert_idl__
+#define __com_sun_star_text_XTextConvert_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/beans/PropertyValues.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/beans/PropertyVetoException,idl>
+#include <com/sun/star/beans/UnknownPropertyException.idl>
+#include <com/sun/star/text/XTextRange.idl>
+#include <com/sun/star/text/XTextContent.idl>
+#include <com/sun/star/text/XTextTable.idl>
+
+
+
+
+ module com { module sun { module star { module text {
+
+
+/** allows converting selections of text to frames or tables.
+ */
+interface XTextConvert : com::sun::star::uno::XInterface
+{
+
+ /** moves the paragraphs from Start to End into a text frame.
+
+
+ @param Start start position of frame content
+
+ @param End end position of frame content
+
+ @param FrameProperties
+ contains the properties of the to-be-created text frame
+
+ @return the newly created text frame
+
+ */
+ ::com::sun::star::text::XTextContent convertToTextFrame(
+ [in] com::sun::star::text::XTextRange Start,
+ [in] com::sun::star::text::XTextRange End,
+ [in] com::sun::star::beans::PropertyValues FrameProperties )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::beans::UnknownPropertyException,
+ com::sun::star::beans::PropertyVetoException );
+
+ /** converts the paragraphs marked in TableRanges into a table.
+
+
+ @param TableRanges contains the TextRange interfaces of the paragraphs, cells and rows of the table.
+ <p>The inner sequence contains the start and end paragraphs of each table cell.
+ The next sequence groups the cells to a row and the outer sequence groups the rows of the table.</p>
+
+ @param CellProperties contains the properties of each cell.
+ @param RowProperties contains the properties of each table row.
+ @param TableProperties contains the properties of the table.
+ @return the created table.
+
+ */
+ ::com::sun::star::text::XTextTable convertToTable(
+ [in] sequence< sequence< sequence< com::sun::star::text::XTextRange > > > TableRanges,
+ [in] sequence< sequence< com::sun::star::beans::PropertyValues > > CellProperties,
+ [in] sequence< com::sun::star::beans::PropertyValues > RowProperties,
+ [in] com::sun::star::beans::PropertyValues TableProperties )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::beans::UnknownPropertyException );
+
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/XTextCopy.idl b/offapi/com/sun/star/text/XTextCopy.idl
new file mode 100644
index 000000000..6530b12b1
--- /dev/null
+++ b/offapi/com/sun/star/text/XTextCopy.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_text_XTextCopy_idl__
+#define __com_sun_star_text_XTextCopy_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+ module com { module sun { module star { module text {
+
+
+/** enables a text object to copy attributed text from another text object.
+ */
+published interface XTextCopy: com::sun::star::uno::XInterface
+{
+
+ /** copies the content from another text object.
+
+ @param xSource
+ specifies the source text object.
+ */
+ void copyText( [in] com::sun::star::text::XTextCopy xSource );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/XTextCursor.idl b/offapi/com/sun/star/text/XTextCursor.idl
new file mode 100644
index 000000000..42f8465fd
--- /dev/null
+++ b/offapi/com/sun/star/text/XTextCursor.idl
@@ -0,0 +1,115 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_text_XTextCursor_idl__
+#define __com_sun_star_text_XTextCursor_idl__
+
+#include <com/sun/star/text/XTextRange.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+
+/** extends a text range by method to modify its position.
+ */
+published interface XTextCursor: com::sun::star::text::XTextRange
+{
+
+ /** sets the end of the position to the start.
+ */
+ void collapseToStart();
+
+
+ /** sets the start of the position to the end.
+ */
+ void collapseToEnd();
+
+
+ /** determines if the start and end positions are the same.
+ */
+ boolean isCollapsed();
+
+
+ /** moves the cursor the specified number of characters to the left.
+
+ @param nCount
+ the number of characters to move.
+
+ @param bExpand
+ specifies if the current selection of the cursor should
+ be expanded or not.
+
+ @returns
+ `TRUE` if the command was successfully completed.
+ `FALSE` otherwise.
+
+ <p>Note: Even if the command was not completed successfully
+ it may be completed partially. E.g. if it was required to move
+ 5 characters but it is only possible to move 3 `FALSE` will
+ be returned and the cursor moves only those 3 characters.<p>
+ */
+ boolean goLeft( [in] short nCount,
+ [in] boolean bExpand );
+
+
+ /** moves the cursor the specified number of characters to the right.
+
+ @param nCount
+ the number of characters to move.
+
+ @param bExpand
+ specifies if the current selection of the cursor should
+ be expanded or not.
+
+ @returns
+ `TRUE` if the command was successfully completed.
+ `FALSE` otherwise.
+
+ <p>Note: Even if the command was not completed successfully
+ it may be completed partially. E.g. if it was required to move
+ 5 characters but it is only possible to move 3 `FALSE` will
+ be returned and the cursor moves only those 3 characters.<p>
+ */
+ boolean goRight( [in] short nCount,
+ [in] boolean bExpand );
+
+
+ /** moves the cursor to the start of the text.
+ */
+ void gotoStart( [in] boolean bExpand );
+
+
+ /** moves the cursor to the end of the text.
+ */
+ void gotoEnd( [in] boolean bExpand );
+
+
+ /** moves or expands the cursor to a specified TextRange.
+ */
+ void gotoRange( [in] com::sun::star::text::XTextRange xRange,
+ [in] boolean bExpand );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/XTextDocument.idl b/offapi/com/sun/star/text/XTextDocument.idl
new file mode 100644
index 000000000..187b37272
--- /dev/null
+++ b/offapi/com/sun/star/text/XTextDocument.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_text_XTextDocument_idl__
+#define __com_sun_star_text_XTextDocument_idl__
+
+#include <com/sun/star/frame/XModel.idl>
+
+#include <com/sun/star/text/XText.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+/** is the main interface of a text document.@see com::sun::star::text::TextDocument
+ */
+published interface XTextDocument: com::sun::star::frame::XModel
+{
+ /** @returns
+ the major com::sun::star::text::Text of the text document.
+
+ <p>This text does not contain texts in TextFrames,
+ or cells of TextTables etc. directly. These are
+ accessible from the contents via <code>X...Supplier</code>
+ (e.g. XTextTablesSupplier).
+ */
+ com::sun::star::text::XText getText();
+
+ /** reformats the contents of the document.
+ */
+ void reformat();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/XTextEmbeddedObjectsSupplier.idl b/offapi/com/sun/star/text/XTextEmbeddedObjectsSupplier.idl
new file mode 100644
index 000000000..950aa6e68
--- /dev/null
+++ b/offapi/com/sun/star/text/XTextEmbeddedObjectsSupplier.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_text_XTextEmbeddedObjectsSupplier_idl__
+#define __com_sun_star_text_XTextEmbeddedObjectsSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/container/XNameAccess.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+/** provides the collection of all embedded objects within this context
+ (i.e. this document).
+ */
+published interface XTextEmbeddedObjectsSupplier: com::sun::star::uno::XInterface
+{
+ /** @returns
+ the collection of embedded objects.
+ */
+ com::sun::star::container::XNameAccess getEmbeddedObjects();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/XTextField.idl b/offapi/com/sun/star/text/XTextField.idl
new file mode 100644
index 000000000..fdcd68899
--- /dev/null
+++ b/offapi/com/sun/star/text/XTextField.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_text_XTextField_idl__
+#define __com_sun_star_text_XTextField_idl__
+
+#include <com/sun/star/text/XTextContent.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+/** is the base interface for all text fields.
+
+
+
+ <p>A text field is embedded in text and expands to a sequence of
+ characters.
+
+ </p>@see TextField
+ */
+published interface XTextField: com::sun::star::text::XTextContent
+{
+ /** @returns the display string of the text field either as the command
+ of the field or as the output string.
+ @param bShowCommand
+ if `TRUE` the command of the field will be returned
+ */
+ string getPresentation( [in] boolean bShowCommand );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/XTextFieldsSupplier.idl b/offapi/com/sun/star/text/XTextFieldsSupplier.idl
new file mode 100644
index 000000000..e5edc36ea
--- /dev/null
+++ b/offapi/com/sun/star/text/XTextFieldsSupplier.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_text_XTextFieldsSupplier_idl__
+#define __com_sun_star_text_XTextFieldsSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#include <com/sun/star/container/XNameAccess.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+/** makes it possible to access the text fields used in this context
+ (e.g. this document).@see com::sun::star::sheet::SpreadsheetDocument
+ @see TextDocument
+ */
+published interface XTextFieldsSupplier: com::sun::star::uno::XInterface
+{
+ /** @returns
+ the collection of TextField instances
+ in this context (i.e. this document).
+ */
+ com::sun::star::container::XEnumerationAccess getTextFields();
+
+ /** @returns
+ the collection of TextFieldMaster instances
+ which are defined in this context (i.e. this document).
+ */
+ com::sun::star::container::XNameAccess getTextFieldMasters();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/XTextFrame.idl b/offapi/com/sun/star/text/XTextFrame.idl
new file mode 100644
index 000000000..94ed9e2ac
--- /dev/null
+++ b/offapi/com/sun/star/text/XTextFrame.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_text_XTextFrame_idl__
+#define __com_sun_star_text_XTextFrame_idl__
+
+#include <com/sun/star/text/XTextContent.idl>
+#include <com/sun/star/text/XText.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+/** provides access to the Text of a TextFrame.
+ @see TextFrame
+ */
+published interface XTextFrame: com::sun::star::text::XTextContent
+{
+ /** @returns
+ the text within this frame. The returned interface belongs
+ to an object which implements the service Text.
+ */
+ com::sun::star::text::XText getText();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/XTextFramesSupplier.idl b/offapi/com/sun/star/text/XTextFramesSupplier.idl
new file mode 100644
index 000000000..b60ce9dc9
--- /dev/null
+++ b/offapi/com/sun/star/text/XTextFramesSupplier.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_text_XTextFramesSupplier_idl__
+#define __com_sun_star_text_XTextFramesSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/container/XNameAccess.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+/** makes it possible to access the TextFrame instances in this
+ context (e.g. document).
+ */
+published interface XTextFramesSupplier: com::sun::star::uno::XInterface
+{
+ /** returns a collection of text frames.
+ */
+ com::sun::star::container::XNameAccess getTextFrames();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/XTextGraphicObjectsSupplier.idl b/offapi/com/sun/star/text/XTextGraphicObjectsSupplier.idl
new file mode 100644
index 000000000..fc7635ae8
--- /dev/null
+++ b/offapi/com/sun/star/text/XTextGraphicObjectsSupplier.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_text_XTextGraphicObjectsSupplier_idl__
+#define __com_sun_star_text_XTextGraphicObjectsSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/container/XNameAccess.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+/** provides access to the collection of all embedded and linked graphics
+ within this context (i.e. within this document).
+ */
+published interface XTextGraphicObjectsSupplier: com::sun::star::uno::XInterface
+{
+ /** @returns
+ the collection of graphic objects in this object (document).
+ */
+ com::sun::star::container::XNameAccess getGraphicObjects();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/XTextMarkup.idl b/offapi/com/sun/star/text/XTextMarkup.idl
new file mode 100644
index 000000000..ee977897f
--- /dev/null
+++ b/offapi/com/sun/star/text/XTextMarkup.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_text_XTextMarkup_idl__
+#define __com_sun_star_text_XTextMarkup_idl__
+
+#include <com/sun/star/container/XStringKeyMap.idl>
+#include <com/sun/star/text/TextMarkupType.idl>
+#include <com/sun/star/text/XTextRange.idl>
+
+
+module com { module sun { module star { module text {
+
+
+/** provides functionality to markup text.
+
+ @since OOo 2.3
+ */
+
+interface XTextMarkup
+{
+ /** obtains a container to store additional user defined text markup
+ information.
+
+ @return
+ a container to store additional user defined text markup
+ information.
+ */
+ com::sun::star::container::XStringKeyMap getMarkupInfoContainer();
+
+
+ /** submits a new markup range.
+
+ @param nType
+ Type of text markup see TextMarkupType.
+
+ @param aIdentifier
+ A string used to identify the caller.
+
+ @param nStart
+ Start of the markup range.
+
+ @param nLength
+ Length of the markup range.
+
+ @param xMarkupInfoContainer
+ contains additional information about the markup.
+ */
+ void commitStringMarkup( [in] long nType,
+ [in] string aIdentifier,
+ [in] long nStart,
+ [in] long nLength,
+ [in] com::sun::star::container::XStringKeyMap xMarkupInfoContainer );
+
+ void commitTextRangeMarkup( [in] long nType,
+ [in] string aIdentifier,
+ [in] com::sun::star::text::XTextRange xRange,
+ [in] com::sun::star::container::XStringKeyMap xMarkupInfoContainer );
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/XTextPortionAppend.idl b/offapi/com/sun/star/text/XTextPortionAppend.idl
new file mode 100644
index 000000000..8930ab897
--- /dev/null
+++ b/offapi/com/sun/star/text/XTextPortionAppend.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_text_XTextPortionAppend_idl__
+#define __com_sun_star_text_XTextPortionAppend_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/beans/PropertyValues.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/beans/UnknownPropertyException.idl>
+#include <com/sun/star/beans/PropertyVetoException,idl>
+#include <com/sun/star/text/XTextRange.idl>
+
+
+ module com { module sun { module star { module text {
+
+
+/** allows inserting and appending formatted text portions.
+ */
+interface XTextPortionAppend : com::sun::star::uno::XInterface
+{
+
+ /** appends a new text portion to the paragraph at the end of the text.
+
+ <p> The sequence can contain all the properties defined by the service TextPortion.
+ </p>
+
+ @param
+ Text contains the text to be appended.
+
+ @param
+ CharacterAndParagraphProperties can contain all the properties defined by the service
+ Paragraph.
+ */
+ com::sun::star::text::XTextRange appendTextPortion(
+ [in] string Text,
+ [in] com::sun::star::beans::PropertyValues CharacterAndParagraphProperties )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::beans::UnknownPropertyException,
+ com::sun::star::beans::PropertyVetoException );
+
+ /** inserts a new text portion to the paragraph at a given position.
+
+ <p> The sequence can contain all the properties defined by the service TextPortion.
+ </p>
+
+ @param
+ Text contains the text to be inserted.
+
+ @param
+ CharacterAndParagraphProperties can contain all the properties defined by the service
+ Paragraph.
+
+ @param
+ TextRange specifies the position of the insert.
+
+ @since LibreOffice 4.0
+
+ */
+ com::sun::star::text::XTextRange insertTextPortion(
+ [in] string Text,
+ [in] com::sun::star::beans::PropertyValues CharacterAndParagraphProperties,
+ [in] com::sun::star::text::XTextRange TextRange)
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::beans::UnknownPropertyException,
+ com::sun::star::beans::PropertyVetoException );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/XTextRange.idl b/offapi/com/sun/star/text/XTextRange.idl
new file mode 100644
index 000000000..e53e23925
--- /dev/null
+++ b/offapi/com/sun/star/text/XTextRange.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_text_XTextRange_idl__
+#define __com_sun_star_text_XTextRange_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+ module com { module sun { module star { module text {
+
+ published interface XText;
+
+/** describes the object's position in a text.
+
+
+
+ <p>It represents a text range. The beginning and end of the range may
+ be identical.
+ </p>
+ */
+published interface XTextRange: com::sun::star::uno::XInterface
+{
+ /** @returns
+ the text interface in which the text position is contained.
+ */
+ XText getText();
+
+ /** @returns
+ a text range which contains only the start of this text range.
+ */
+ XTextRange getStart();
+
+ /** @returns
+ a text range which contains only the end of this text range.
+ */
+ XTextRange getEnd();
+
+ /** @returns
+ the string that is included in this text range.
+ */
+ string getString();
+
+ /** the whole string of characters of this piece of text is replaced.
+
+
+
+ <p>All styles are removed when applying this method.
+
+ </p>
+ */
+ void setString( [in] string aString );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/XTextRangeCompare.idl b/offapi/com/sun/star/text/XTextRangeCompare.idl
new file mode 100644
index 000000000..b79c709a7
--- /dev/null
+++ b/offapi/com/sun/star/text/XTextRangeCompare.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_text_XTextRangeCompare_idl__
+#define __com_sun_star_text_XTextRangeCompare_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+ module com { module sun { module star { module text {
+
+ published interface XText;
+ published interface XTextRange;
+
+/** compares the positions of two TextRanges within a
+ Text.
+
+
+
+ <p>Only TextRange instances within the same Text
+ can be compared.
+ </p>
+ */
+published interface XTextRangeCompare: com::sun::star::uno::XInterface
+{
+ /** @returns
+ 1 if <var>xR1</var> starts before <var>xR2</var>,
+ 0 if <var>xR1</var> starts at the same position as <var>xR2</var> and
+ -1 if <var>xR1</var> starts behind <var>xR2</var>.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if either <var>xR1</var> or <var>xR2</var> is not within this
+ text.
+ */
+ short compareRegionStarts( [in] XTextRange xR1, [in] XTextRange xR2 )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** @returns
+ 1, if <var>xR1</var> ends before <var>xR2</var>,
+ 0, if <var>xR1</var> ends at the same position as <var>xR2</var> and
+ -1, if <var>xR1</var> ends behind <var>xR2</var>.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if either <var>xR1</var> or <var>xR2</var> is not within this
+ text.
+ */
+ short compareRegionEnds( [in] XTextRange xR1, [in] XTextRange xR2 )
+ raises( com::sun::star::lang::IllegalArgumentException );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/XTextRangeMover.idl b/offapi/com/sun/star/text/XTextRangeMover.idl
new file mode 100644
index 000000000..afaf4115e
--- /dev/null
+++ b/offapi/com/sun/star/text/XTextRangeMover.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_text_XTextRangeMover_idl__
+#define __com_sun_star_text_XTextRangeMover_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/text/XTextRange.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+/** makes it possible to move a text range (e.g. a paragraph by itself)
+ within this text.
+
+
+
+ <p>The movement is specified by the number of paragraphs within the order
+ of paragraphs.
+
+ </p>@see Text
+ */
+published interface XTextRangeMover: com::sun::star::uno::XInterface
+{
+ /** moves the contents to which <var>xRange</var> refers forward or
+ backward.
+ */
+ void moveTextRange( [in] com::sun::star::text::XTextRange xRange,
+ [in] short nParagraphs );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/XTextSection.idl b/offapi/com/sun/star/text/XTextSection.idl
new file mode 100644
index 000000000..d249d8cc0
--- /dev/null
+++ b/offapi/com/sun/star/text/XTextSection.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_text_XTextSection_idl__
+#define __com_sun_star_text_XTextSection_idl__
+
+#include <com/sun/star/text/XTextContent.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+/** provide special data of a TextSection.@see TextSection
+ */
+published interface XTextSection: com::sun::star::text::XTextContent
+{
+ /** If the object is a child section, then this method returns
+ the parent text section.
+ */
+ com::sun::star::text::XTextSection getParentSection();
+
+ /** @returns
+ all text sections that are children of this text section (recursive).
+ */
+ sequence<com::sun::star::text::XTextSection> getChildSections();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/XTextSectionsSupplier.idl b/offapi/com/sun/star/text/XTextSectionsSupplier.idl
new file mode 100644
index 000000000..58ed2fd47
--- /dev/null
+++ b/offapi/com/sun/star/text/XTextSectionsSupplier.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_text_XTextSectionsSupplier_idl__
+#define __com_sun_star_text_XTextSectionsSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/container/XNameAccess.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+/** manages the text sections within the context (i.e. the document).
+ */
+published interface XTextSectionsSupplier: com::sun::star::uno::XInterface
+{
+ /** @returns
+ the collection of text sections.
+ */
+ com::sun::star::container::XNameAccess getTextSections();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/XTextShapesSupplier.idl b/offapi/com/sun/star/text/XTextShapesSupplier.idl
new file mode 100644
index 000000000..0994dd107
--- /dev/null
+++ b/offapi/com/sun/star/text/XTextShapesSupplier.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_text_XTextShapesSupplier_idl__
+#define __com_sun_star_text_XTextShapesSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/container/XIndexAccess.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+/** provides the collection of com::sun::star::drawing::TextShapes.
+ */
+published interface XTextShapesSupplier: com::sun::star::uno::XInterface
+{
+ /** returns the collection of shapes.
+
+ @see com::sun::star::drawing::DrawPage
+ */
+ com::sun::star::container::XIndexAccess getShapes();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/XTextTable.idl b/offapi/com/sun/star/text/XTextTable.idl
new file mode 100644
index 000000000..559b45929
--- /dev/null
+++ b/offapi/com/sun/star/text/XTextTable.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_text_XTextTable_idl__
+#define __com_sun_star_text_XTextTable_idl__
+
+#include <com/sun/star/text/XTextContent.idl>
+
+#include <com/sun/star/table/XTableRows.idl>
+
+#include <com/sun/star/table/XTableColumns.idl>
+
+#include <com/sun/star/table/XCell.idl>
+
+#include <com/sun/star/text/XTextTableCursor.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+
+/** manages a text table.
+
+ @see com::sun::star::text::TextTable
+ @see com::sun::star::text::Cell
+ */
+published interface XTextTable: com::sun::star::text::XTextContent
+{
+
+ /** determines the numbers of rows and columns of the text table.
+
+ <p> This method must be called after the object is created and
+ before the object is insert or attached elsewhere.
+ </p>
+ */
+ void initialize( [in] long nRows,
+ [in] long nColumns );
+
+
+ /** @returns
+ the access object for the text table rows.
+
+ @see com::sun::star::table::XTableRows
+ */
+ com::sun::star::table::XTableRows getRows();
+
+
+ /** @returns
+ the access object for the text table columns.
+
+ @see com::sun::star::table::XTableColumns
+ */
+ com::sun::star::table::XTableColumns getColumns();
+
+
+ /** @returns
+ the com::sun::star::table::XCell interface of the cell with the specified name.
+
+ @param aCellName
+ is a concatenation of the alphanumeric column name and the
+ index of the row.
+
+ <p>Example: The cell in the 4th column and third row has the name "D3".
+
+ <p>In cells that are split, the naming convention is more complex.
+ In this case the name is a concatenation of the former cell name
+ (i.e. "D3") and the number of the new column and row index inside
+ of the original table cell separated by dots. This is done
+ recursively.
+
+ <p>Example: If the cell "D3" is horizontally split, it now contains
+ the cells "D3.1.1" and "D3.1.2"
+
+ @see com::sun::star::table::Cell
+ @see com::sun::star::table::XCell
+ */
+ com::sun::star::table::XCell getCellByName( [in] string aCellName );
+
+
+ /** @returns
+ the names of all cells of this text table.
+ */
+ sequence<string> getCellNames();
+
+
+ /** creates a text table cursor and returns the
+ XTextTableCursor interface.
+
+ <p>Initially the cursor is positioned in the cell with the specified name.
+ </p>
+
+ @see com::sun::star::text::TextTableCursor
+ */
+ com::sun::star::text::XTextTableCursor createCursorByCellName( [in] string aCellName );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/XTextTableCursor.idl b/offapi/com/sun/star/text/XTextTableCursor.idl
new file mode 100644
index 000000000..a89b816fb
--- /dev/null
+++ b/offapi/com/sun/star/text/XTextTableCursor.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_text_XTextTableCursor_idl__
+#define __com_sun_star_text_XTextTableCursor_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+module com { module sun { module star { module text {
+
+
+/** The TextTableCursor provide methods to navigate through the table structure, to merge and split cells
+
+ @see com::sun::star::text::TextTable
+ @see com::sun::star::text::TextTableCursor
+ @see com::sun::star::text::Cell
+ @see com::sun::star::text::XTextTable
+ */
+published interface XTextTableCursor: com::sun::star::uno::XInterface
+{
+
+ /** @returns
+ the name of the cell range that is selected by this cursor.
+ <p>The name is the cell name of the top left table cell of the range
+ concatenated by ":" with the table cell name of the bottom left table cell of the cell range.
+ If the range consists of one table cell only then the name of that table cell is returned.
+ </p>
+ @see com::sun:star::text::CellRange
+ */
+ string getRangeName();
+
+
+ /** moves the cursor to the cell with the specified name.
+
+ @param aCellName
+ specifies the name of the cell to go to.
+
+ @param bExpand
+ determines whether the selection is to be expanded.
+
+ @see com::sun::star::text::Cell
+ */
+ boolean gotoCellByName( [in] string aCellName,
+ [in] boolean bExpand );
+
+
+ /** moves the cursor to the left neighbor.
+
+ @param nCount
+ the number of cells to move.
+
+ @param bExpand
+ determines whether the selection is to be expanded.
+ */
+ boolean goLeft( [in] short nCount,
+ [in] boolean bExpand );
+
+
+ /** moves the cursor to the right neighbor.
+
+ @param nCount
+ the number of cells to move.
+
+ @param bExpand
+ determines whether the selection is to be expanded.
+ */
+ boolean goRight( [in] short nCount,
+ [in] boolean bExpand );
+
+
+ /** moves the cursor to the top neighbor.
+
+ @param nCount
+ the number of cells to move.
+
+ @param bExpand
+ determines whether the selection is to be expanded.
+ */
+ boolean goUp( [in] short nCount,
+ [in] boolean bExpand );
+
+
+ /** moves the cursor to the bottom neighbor cell.
+
+ @param nCount
+ the number of cells to move.
+
+ @param bExpand
+ determines whether the selection is to be expanded.
+ */
+ boolean goDown( [in] short nCount,
+ [in] boolean bExpand );
+
+
+ /** moves the cursor to the top left cell of the table.
+
+ @param bExpand
+ determines whether the selection is to be expanded.
+ */
+ void gotoStart( [in] boolean bExpand );
+
+
+ /** moves the cursor to the bottom right cell of the table.
+
+ @param bExpand
+ determines whether the selection is to be expanded.
+ */
+ void gotoEnd( [in] boolean bExpand );
+
+
+ /** merges the selected range of cells.
+
+ @see com::sun::star::CellRange
+ */
+ boolean mergeRange();
+
+
+ /** splits the range of cells.
+
+ @param nCount
+ specifies the number of new cells that will be created
+ for each cell contained in the range.
+
+ @param bHorizontal
+ `TRUE` if the range should be split vertically.
+ Otherwise it will be split horizontally.
+
+ @see com::sun::star::Cell
+ @see com::sun::star::CellRange
+ */
+ boolean splitRange( [in] short nCount,
+ [in] boolean bHorizontal );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/XTextTablesSupplier.idl b/offapi/com/sun/star/text/XTextTablesSupplier.idl
new file mode 100644
index 000000000..7f156497e
--- /dev/null
+++ b/offapi/com/sun/star/text/XTextTablesSupplier.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_text_XTextTablesSupplier_idl__
+#define __com_sun_star_text_XTextTablesSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/container/XNameAccess.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+
+/** enables the object to handle text tables.
+ */
+published interface XTextTablesSupplier: com::sun::star::uno::XInterface
+{
+ /** @returns
+ the collection of "TextTables" currently contained in the object.
+
+ @see com::sun::star::text::TextTables
+ @see com::sun::star::text::TextTable
+ */
+ com::sun::star::container::XNameAccess getTextTables();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/XTextViewCursor.idl b/offapi/com/sun/star/text/XTextViewCursor.idl
new file mode 100644
index 000000000..637d7872b
--- /dev/null
+++ b/offapi/com/sun/star/text/XTextViewCursor.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_text_XTextViewCursor_idl__
+#define __com_sun_star_text_XTextViewCursor_idl__
+
+#include <com/sun/star/text/XTextCursor.idl>
+
+#include <com/sun/star/awt/Point.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+/** describes a cursor in a text document's view.
+ */
+published interface XTextViewCursor: com::sun::star::text::XTextCursor
+{
+ /** @returns
+ `TRUE` if this cursor is visible for the user.
+ */
+ boolean isVisible();
+
+ /** shows or hides this cursor for the user.
+ */
+ void setVisible( [in] boolean bVisible );
+
+ /** @returns
+ the cursor's coordinates relative to the top left position of
+ the first page of the document.
+ */
+ com::sun::star::awt::Point getPosition();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/XTextViewCursorSupplier.idl b/offapi/com/sun/star/text/XTextViewCursorSupplier.idl
new file mode 100644
index 000000000..01af60e63
--- /dev/null
+++ b/offapi/com/sun/star/text/XTextViewCursorSupplier.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_text_XTextViewCursorSupplier_idl__
+#define __com_sun_star_text_XTextViewCursorSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/text/XTextViewCursor.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+/** supplies access to the cursor in the view.
+
+
+
+ <p>This cursor is the same instance that is available in the user
+ interface.
+
+ </p>@see TextDocumentView
+ */
+published interface XTextViewCursorSupplier: com::sun::star::uno::XInterface
+{
+ /** @returns
+ the cursor of the document view.
+ */
+ com::sun::star::text::XTextViewCursor getViewCursor();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/XTextViewTextRangeSupplier.idl b/offapi/com/sun/star/text/XTextViewTextRangeSupplier.idl
new file mode 100644
index 000000000..57adf359f
--- /dev/null
+++ b/offapi/com/sun/star/text/XTextViewTextRangeSupplier.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_text_XTextViewTextRangeSupplier_idl__
+#define __com_sun_star_text_XTextViewTextRangeSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/text/awt/Point.idl>
+#include <com/sun/star/text/XTextRange.idl>
+
+module com { module sun { module star { module text {
+
+/** supplies access to a document model position at a view-dependent pixel position.
+
+ @since LibreOffice 7.2
+ */
+interface XTextViewTextRangeSupplier: com::sun::star::uno::XInterface
+{
+ /** @returns
+ the text range of the document position.
+ */
+ com::sun::star::text::XTextRange createTextRangeByPixelPosition([in] com::sun::star::awt::Point PixelPosition);
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/XWordCursor.idl b/offapi/com/sun/star/text/XWordCursor.idl
new file mode 100644
index 000000000..52c877def
--- /dev/null
+++ b/offapi/com/sun/star/text/XWordCursor.idl
@@ -0,0 +1,96 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_text_XWordCursor_idl__
+#define __com_sun_star_text_XWordCursor_idl__
+
+#include <com/sun/star/text/XTextCursor.idl>
+
+
+
+ module com { module sun { module star { module text {
+
+
+/** makes it possible to move a cursor word by word.
+ */
+published interface XWordCursor: com::sun::star::text::XTextCursor
+{
+
+ /** determines if the cursor is positioned at the start of a word.
+ */
+ boolean isStartOfWord();
+
+
+ /** determines if the cursor is positioned at the end of a word.
+ */
+ boolean isEndOfWord();
+
+
+ /** moves the cursor to the next word.
+
+ <p>Note: the function returning `TRUE` does not necessarily mean
+ that the cursor is located at the next word, or any word at all!
+ This may happen for example if it travels over empty paragraphs.</p>
+
+ @returns
+ `TRUE` if the cursor was moved. It returns `FALSE` it the
+ cursor can not advance further.
+ */
+ boolean gotoNextWord( [in] boolean bExpand );
+
+
+ /** moves the cursor to the previous word.
+
+ <p>Note: the function returning `TRUE` does not necessarily mean
+ that the cursor is located at the previous word, or any word at all!
+ This may happen for example if it travels over empty paragraphs.</p>
+
+ @returns
+ `TRUE` if the cursor was moved. It returns `FALSE` it the
+ cursor can not advance further.
+ */
+ boolean gotoPreviousWord( [in] boolean bExpand );
+
+
+ /** moves the cursor to the end of the current word.
+
+ @returns
+ `TRUE` if the cursor is now at the end of a word,
+ `FALSE` otherwise. If `FALSE` was returned the cursor
+ will remain at its original position.
+ */
+ boolean gotoEndOfWord( [in] boolean bExpand );
+
+
+ /** moves the cursor to the start of the current word.
+
+ @returns
+ `TRUE` if the cursor is now at the start of a word,
+ `FALSE` otherwise. If `FALSE` was returned the cursor
+ will remain at its original position.
+ */
+ boolean gotoStartOfWord( [in] boolean bExpand );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/fieldmaster/Bibliography.idl b/offapi/com/sun/star/text/fieldmaster/Bibliography.idl
new file mode 100644
index 000000000..f2412dd32
--- /dev/null
+++ b/offapi/com/sun/star/text/fieldmaster/Bibliography.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_text_fieldmaster_Bibliography_idl_
+#define __com_sun_star_text_fieldmaster_Bibliography_idl_
+
+#include <com/sun/star/text/TextFieldMaster.idl>
+#include <com/sun/star/beans/PropertyValues.idl>
+#include <com/sun/star/lang/Locale.idl>
+
+
+module com { module sun { module star { module text { module fieldmaster {
+
+/** specifies service of a Bibliography field master.
+ @see com::sun::star::text::TextField
+*/
+published service Bibliography
+{
+ service com::sun::star::text::TextFieldMaster;
+
+ /** determines whether the bibliography text fields are numbered. If `FALSE` the
+ short name of the bibliography entry is displayed instead.
+ */
+ [property] boolean IsNumberEntries;
+ /** determines whether the bibliography entries in a bibliography index are sorted
+ by the document position. If `FALSE` the SortKey property determines the
+ sorting of the entries.
+ */
+ [property] boolean IsSortByPosition;
+ /** determines the opening bracket used to display the bibliography text fields.
+ */
+ [property] string BracketBefore;
+ /** determines the closing bracket used to display the bibliography text fields.
+ */
+ [property] string BracketAfter;
+ /** determines the sorting of the bibliography entries in a bibliography index.
+ This property is used if the property IsSortByPosition is not set.
+ Each contained element of the sequence is a sequence of the following
+ two properties:
+ <UL>
+ <LI><P>[property] short SortKey;</P>
+ <UL>
+ <LI><P>Determines the bibliography field that is used to sort by.</P>
+ </UL>
+ <LI><P>[property] boolean IsSortAscending;</P>
+ <UL>
+ <LI><P>Determines whether the sorting is ascending or descending.
+ It uses the type com::sun::star::text::BibliographyDataField</P>
+ </UL>
+ </UL>
+ */
+ [property] sequence< com::sun::star::beans::PropertyValues > SortKeys;
+ /** contains the locale of the field master
+ */
+ [property] com::sun::star::lang::Locale Locale;
+ /** contains the name of the sort algorithm that is used to sort the text fields.
+ */
+ [property] string SortAlgorithm;
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/fieldmaster/DDE.idl b/offapi/com/sun/star/text/fieldmaster/DDE.idl
new file mode 100644
index 000000000..7cbcbec89
--- /dev/null
+++ b/offapi/com/sun/star/text/fieldmaster/DDE.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_text_fieldmaster_DDE_idl_
+#define __com_sun_star_text_fieldmaster_DDE_idl_
+
+#include <com/sun/star/text/TextFieldMaster.idl>
+#include <com/sun/star/beans/PropertyValues.idl>
+
+
+module com { module sun { module star { module text { module fieldmaster {
+
+/** specifies service of a DDE field master.
+ @see com::sun::star::text::TextField
+*/
+published service DDE
+{
+ service com::sun::star::text::TextFieldMaster;
+
+ /** contains the element string of the DDE command.
+ */
+ [property] string DDECommandElement;
+ /** contains the file string of the DDE command.
+ */
+ [property] string DDECommandFile;
+ /** contains the type string of the DDE command.
+ */
+ [property] string DDECommandType;
+ /** determines whether DDE link is updated automatically.
+ */
+ [property] boolean IsAutomaticUpdate;
+ /** contains the content.
+ */
+ [optional, property] string Content;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/fieldmaster/Database.idl b/offapi/com/sun/star/text/fieldmaster/Database.idl
new file mode 100644
index 000000000..928227cca
--- /dev/null
+++ b/offapi/com/sun/star/text/fieldmaster/Database.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_text_fieldmaster_Database_idl_
+#define __com_sun_star_text_fieldmaster_Database_idl_
+
+#include <com/sun/star/text/TextFieldMaster.idl>
+#include <com/sun/star/beans/PropertyValues.idl>
+
+
+module com { module sun { module star { module text { module fieldmaster {
+
+/** specifies service of a Database field master.
+ @see com::sun::star::text::TextField
+
+ Only one of the properties #DataBaseName,
+ #DataBaseURL and #DataBaseResource
+ should be set. If more than one are set the last one will be used.
+*/
+published service Database
+{
+ service com::sun::star::text::TextFieldMaster;
+
+ /** specifies the database name.
+ */
+ [property] string DataBaseName;
+
+ /** contains the CommandType this
+ can be the name of a data base table, a data query or a statement.
+ (0 = table, 1 = query, 2 = statement)
+ */
+ [property] long CommandType;
+ /** contains the command string. Depending on the CommandType property this
+ can be the name of a data base table, a data query or a statement.
+ */
+ [property] string DataTableName;
+ /** contains the name of the data base table.
+ */
+ [property] string DataColumnName;
+
+ /** indicates the URL of a database file.
+ @since OOo 2.0
+ */
+ [optional, property] string DataBaseURL;
+
+ /** indicates a connection URL, which locates a database driver.
+ @since OOo 2.0
+ */
+ [optional, property] string DataBaseResource;
+ /** contains the DataColumnName but it enables the fieldmaster and its
+ depending fields to work without setting DataSourceName, DataTableName and CommandType
+ @since OOo 2.3
+ */
+ [optional, property] string Name;
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/fieldmaster/SetExpression.idl b/offapi/com/sun/star/text/fieldmaster/SetExpression.idl
new file mode 100644
index 000000000..55ed6c70e
--- /dev/null
+++ b/offapi/com/sun/star/text/fieldmaster/SetExpression.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_text_fieldmaster_SetExpression_idl_
+#define __com_sun_star_text_fieldmaster_SetExpression_idl_
+
+#include <com/sun/star/text/TextFieldMaster.idl>
+#include <com/sun/star/beans/PropertyValues.idl>
+
+
+module com { module sun { module star { module text { module fieldmaster {
+
+/** Specifies the service of a set expression field master.
+ @see com::sun::star::text::TextFieldMaster
+*/
+published service SetExpression
+{
+ service com::sun::star::text::TextFieldMaster;
+
+ /** determines the number of the chapter. This values is used if the field master
+ is set as number sequence.
+ */
+ [property] byte ChapterNumberingLevel;
+ /** determines the numbering separator string if the field master
+ is set as number sequence.
+ */
+ [property] string NumberingSeparator;
+
+ /** determines the type of the field as
+ com::sun::star::text::SetVariableType
+ */
+ [property] short SubType;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/fieldmaster/User.idl b/offapi/com/sun/star/text/fieldmaster/User.idl
new file mode 100644
index 000000000..72029e7d9
--- /dev/null
+++ b/offapi/com/sun/star/text/fieldmaster/User.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_text_fieldmaster_User_idl_
+#define __com_sun_star_text_fieldmaster_User_idl_
+
+#include <com/sun/star/text/TextFieldMaster.idl>
+#include <com/sun/star/beans/PropertyValues.idl>
+
+
+module com { module sun { module star { module text { module fieldmaster {
+
+/** Specifies the service of a user field master.
+ @see com::sun::star::text::TextFieldMaster
+*/
+published service User
+{
+ service com::sun::star::text::TextFieldMaster;
+
+ /** determines whether the field contains an expression.
+ */
+ [property] boolean IsExpression;
+ /** contains the value.
+ */
+ [property] double Value;
+ /** contains the content.
+ */
+ [property] string Content;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/textfield/Annotation.idl b/offapi/com/sun/star/text/textfield/Annotation.idl
new file mode 100644
index 000000000..f6140b7e3
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/Annotation.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_text_textfield_Annotation_idl__
+#define __com_sun_star_text_textfield_Annotation_idl__
+
+#include <com/sun/star/text/TextField.idl>
+#include <com/sun/star/util/Date.idl>
+#include <com/sun/star/util/DateTime.idl>
+
+
+module com { module sun { module star { module text { module textfield {
+
+/** specifies service of an annotation text field.
+ @see com::sun::star::text::TextField
+*/
+published service Annotation
+{
+ service com::sun::star::text::TextField;
+ /** contains the name of the author of the annotation.
+ */
+ [property]string Author;
+ /** contains the initials of the author of the annotation.
+
+ @since LibreOffice 4.0
+ */
+ [optional, property]string Initials;
+ /** contains the name of the annotation.
+
+ @since LibreOffice 4.0
+ */
+ [optional, property]string Name;
+ /** contains the annotation's content
+ */
+ [property]string Content;
+ /** contains the creation date.
+ */
+ [property]com::sun::star::util::Date Date;
+ /** contains the creation date.
+ */
+ [optional, property]com::sun::star::util::DateTime DateTimeValue;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/textfield/Author.idl b/offapi/com/sun/star/text/textfield/Author.idl
new file mode 100644
index 000000000..598a2fc63
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/Author.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_text_textfield_Author_idl__
+#define __com_sun_star_text_textfield_Author_idl_
+
+#include <com/sun/star/text/TextField.idl>
+
+
+module com { module sun { module star { module text { module textfield {
+
+/** specifies service of an author text field.
+ @see com::sun::star::text::TextField
+*/
+published service Author
+{
+ service com::sun::star::text::TextField;
+
+ /** If this flag is set to false the author
+ will be overridden by the current author
+ each time the document is saved.
+ */
+ [optional, property] boolean IsFixed;
+
+ /** the is the content of this field
+ */
+ [optional, property] string Content;
+
+ /** this is the display format for this field
+ @see com::sun::star::text::AuthorDisplayFormat
+ */
+ [optional, property] short AuthorFormat;
+ /** contains the current content of the text field.
+ <p> This property is especially useful for import/export purposes. </p>
+ */
+ [optional, property]string CurrentPresentation;
+ /** determines whether the full name of the author is displayed rather than
+ the initials.
+ */
+ [optional, property]boolean FullName;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/textfield/Bibliography.idl b/offapi/com/sun/star/text/textfield/Bibliography.idl
new file mode 100644
index 000000000..1205fd0bc
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/Bibliography.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_text_textfield_Bibliography_idl__
+#define __com_sun_star_text_textfield_Bibliography_idl_
+
+#include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/text/TextField.idl>
+#include <com/sun/star/text/DependentTextField.idl>
+
+
+module com { module sun { module star { module text { module textfield {
+
+/** specifies service of a bibliography text field.
+ @see com::sun::star::text::TextField
+*/
+published service Bibliography
+{
+ service com::sun::star::text::DependentTextField;
+
+ /** contains the bibliography fields of the text field.
+ */
+ [property] sequence <com::sun::star::beans::PropertyValue> Fields;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/textfield/Chapter.idl b/offapi/com/sun/star/text/textfield/Chapter.idl
new file mode 100644
index 000000000..79791d0e2
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/Chapter.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_text_textfield_Chapter_idl__
+#define __com_sun_star_text_textfield_Chapter_idl_
+
+#include <com/sun/star/text/TextField.idl>
+
+
+module com { module sun { module star { module text { module textfield {
+
+/** specifies service of a chapter text field.
+ @see com::sun::star::text::TextField
+*/
+published service Chapter
+{
+ service com::sun::star::text::TextField;
+ /** determines how the chapter should be displayed as described in
+ com::sun::star::text::ChapterFormat.
+ */
+ [property]short ChapterFormat;
+ /** determines which chapter level should be used. The highest chapter
+ level has the value 0.
+ */
+ [property]byte Level;
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/textfield/CharacterCount.idl b/offapi/com/sun/star/text/textfield/CharacterCount.idl
new file mode 100644
index 000000000..6d90e8cf9
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/CharacterCount.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_text_textfield_CharacterCount_idl__
+#define __com_sun_star_text_textfield_CharacterCount_idl_
+
+#include <com/sun/star/text/TextField.idl>
+
+
+module com { module sun { module star { module text { module textfield {
+
+/** specifies service of a text field that displays the number of characters
+ contained in the document.
+ @see com::sun::star::text::TextField
+*/
+published service CharacterCount
+{
+ service com::sun::star::text::TextField;
+
+ /** specifies the type of the numbering as
+ com::sun::star::style::NumberingType
+ */
+ [property]short NumberingType;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/textfield/CombinedCharacters.idl b/offapi/com/sun/star/text/textfield/CombinedCharacters.idl
new file mode 100644
index 000000000..8d7899a31
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/CombinedCharacters.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_text_textfield_CombinedCharacters_idl__
+#define __com_sun_star_text_textfield_CombinedCharacters_idl_
+
+#include <com/sun/star/text/TextField.idl>
+
+
+module com { module sun { module star { module text { module textfield {
+
+/** specifies service of a text field to combine 1 to 6 characters that are treated
+ as one normal character.
+ @see com::sun::star::text::TextField
+*/
+published service CombinedCharacters
+{
+ service com::sun::star::text::TextField;
+ /** contains the characters to be combined.
+ */
+ [property]string Content;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/textfield/ConditionalText.idl b/offapi/com/sun/star/text/textfield/ConditionalText.idl
new file mode 100644
index 000000000..c51ab839b
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/ConditionalText.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_text_textfield_ConditionalText_idl__
+#define __com_sun_star_text_textfield_ConditionalText_idl_
+
+#include <com/sun/star/text/TextField.idl>
+
+
+module com { module sun { module star { module text { module textfield {
+
+/** specifies service of a conditional text field.
+ @see com::sun::star::text::TextField
+*/
+published service ConditionalText
+{
+ service com::sun::star::text::TextField;
+
+ /** contains the text that is displayed if the condition evaluates to `TRUE`.
+ */
+ [property] string TrueContent;
+ /** contains the text that is displayed if the condition evaluates to `FALSE`.
+ */
+ [property] string FalseContent;
+ /** contains the condition.
+ */
+ [property] string Condition;
+ /** contains the result of the last evaluation of the condition.
+ <p>This property has to be read/written in file export/import to save and
+ restore the result without initiation of a new evaluation.</p>
+ */
+ [property] boolean IsConditionTrue;
+ /** contains the current content of the text field.
+ <p> This property is especially useful for import/export purposes. </p>
+ */
+ [optional, property]string CurrentPresentation;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/textfield/DDE.idl b/offapi/com/sun/star/text/textfield/DDE.idl
new file mode 100644
index 000000000..e7d04d6c3
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/DDE.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_text_textfield_DDE_idl__
+#define __com_sun_star_text_textfield_DDE_idl_
+
+#include <com/sun/star/text/TextField.idl>
+
+
+module com { module sun { module star { module text { module textfield {
+
+/** specifies service of text field that visualizes a DDE connection.
+
+ @see com::sun::star::text::TextFieldMaster::DDE
+
+ @since OOo 1.1.2
+*/
+published service DDE
+{
+ service com::sun::star::text::TextField;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/textfield/Database.idl b/offapi/com/sun/star/text/textfield/Database.idl
new file mode 100644
index 000000000..e02656ac3
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/Database.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_text_textfield_Database_idl__
+#define __com_sun_star_text_textfield_Database_idl_
+
+#include <com/sun/star/text/TextField.idl>
+#include <com/sun/star/text/DependentTextField.idl>
+
+
+module com { module sun { module star { module text { module textfield {
+
+/** specifies service of a database text field which is used as mail merge field.
+ @see com::sun::star::text::TextField
+*/
+published service Database
+{
+ service com::sun::star::text::DependentTextField;
+
+ /** contains the database content that was merged in the last database merge action.
+ Initially it contains the column name in parenthesis (<>).
+ */
+ [property]string Content;
+ /** contains the current content of the text field.
+ <p> This property is especially useful for import/export purposes. </p>
+ */
+ [property]string CurrentPresentation;
+ /** determines whether the number format is number display format is read
+ from the database settings.
+ */
+ [property]boolean DataBaseFormat;
+ /** this is the number format for this field.
+ @see com::sun::star::util::NumberFormatter
+ */
+ [property]long NumberFormat;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/textfield/DatabaseName.idl b/offapi/com/sun/star/text/textfield/DatabaseName.idl
new file mode 100644
index 000000000..9a4840f4c
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/DatabaseName.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_text_textfield_DatabaseName_idl__
+#define __com_sun_star_text_textfield_DatabaseName_idl_
+
+
+#include <com/sun/star/text/DependentTextField.idl>
+
+
+module com { module sun { module star { module text { module textfield {
+
+/** specifies service of text field that displays the name of a database.
+ @see com::sun::star::text::TextField
+
+ Only one of the properties #DataBaseName,
+ #DataBaseURL and #DataBaseResource
+ should be set. If more than one are set the last one will be used.
+*/
+published service DatabaseName
+{
+ service com::sun::star::text::DependentTextField;
+
+ /** specifies the database name.
+ */
+ [property] string DataBaseName;
+
+ /** determines the interpretation of the property DataTableName.
+ @see com::sun::star::sdb::CommandType
+ */
+ [property] long DataCommandType;
+
+ /** contains the name of the database table, query or a statement depending
+ on the DataCommandType property.
+ */
+ [property] string DataTableName;
+
+ /** indicates the URL of a database file.
+ @since OOo 2.0
+ */
+ [optional, property] string DataBaseURL;
+
+ /** indicates a connection URL, which locates a database driver.
+ @since OOo 2.0
+ */
+ [optional, property] string DataBaseResource;
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/textfield/DatabaseNextSet.idl b/offapi/com/sun/star/text/textfield/DatabaseNextSet.idl
new file mode 100644
index 000000000..b5bb38b23
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/DatabaseNextSet.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_text_textfield_DatabaseNextSet_idl__
+#define __com_sun_star_text_textfield_DatabaseNextSet_idl_
+
+#include <com/sun/star/text/TextField.idl>
+#include <com/sun/star/text/DependentTextField.idl>
+
+
+module com { module sun { module star { module text { module textfield {
+
+/** specifies service of a text field that increments a database selection.
+ @see com::sun::star::text::TextField
+
+ Only one of the properties #DataBaseName,
+ #DataBaseURL and #DataBaseResource
+ should be set. If more than one are set the last one will be used.
+*/
+published service DatabaseNextSet
+{
+ service com::sun::star::text::DependentTextField;
+
+ /** specifies the database name.
+ */
+ [property] string DataBaseName;
+
+ /** determines the interpretation of the property DataTableName.
+ @see com::sun::star::sdb::CommandType
+ */
+ [property] long DataCommandType;
+
+ /** contains the name of the database table, query or a statement depending
+ on the DataCommandType property.
+ */
+ [property] string DataTableName;
+
+ /** determines whether the database selection is set to the next position or not.
+ */
+ [property] string Condition;
+
+ /** indicates the URL of a database file.
+ @since OOo 2.0
+ */
+ [optional, property] string DataBaseURL;
+
+ /** indicates a connection URL, which locates a database driver.
+ @since OOo 2.0
+ */
+ [optional, property] string DataBaseResource;
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/textfield/DatabaseNumberOfSet.idl b/offapi/com/sun/star/text/textfield/DatabaseNumberOfSet.idl
new file mode 100644
index 000000000..efe9cd947
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/DatabaseNumberOfSet.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_text_textfield_DatabaseNumberOfSet_idl__
+#define __com_sun_star_text_textfield_DatabaseNumberOfSet_idl_
+
+#include <com/sun/star/text/TextField.idl>
+#include <com/sun/star/text/DependentTextField.idl>
+
+
+module com { module sun { module star { module text { module textfield {
+
+/** specifies service of text field that conditionally set the selection of
+ a database cursor.
+ @see com::sun::star::text::TextField
+
+ Only one of the properties #DataBaseName,
+ #DataBaseURL and #DataBaseResource
+ should be set. If more than one are set the last one will be used.
+*/
+published service DatabaseNumberOfSet
+{
+ service com::sun::star::text::DependentTextField;
+
+ /** specifies the database name.
+ */
+ [property] string DataBaseName;
+
+ /** determines the interpretation of the property DataTableName.
+ @see com::sun::star::sdb::CommandType
+ */
+ [property] long DataCommandType;
+
+ /** contains the name of the database table, query or a statement depending
+ on the DataCommandType property.
+ */
+ [property] string DataTableName;
+
+ /** contains the conditions that determines whether the SetNumber is applied or not.
+ */
+ [property] string Condition;
+
+ /** contains the set number that is to be applied.
+ */
+ [property] long SetNumber;
+
+ /** indicates the URL of a database file.
+ @since OOo 2.0
+ */
+ [optional, property] string DataBaseURL;
+
+ /** indicates a connection URL, which locates a database driver.
+ @since OOo 2.0
+ */
+ [optional, property] string DataBaseResource;
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/textfield/DatabaseSetNumber.idl b/offapi/com/sun/star/text/textfield/DatabaseSetNumber.idl
new file mode 100644
index 000000000..a10f9cf97
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/DatabaseSetNumber.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_text_textfield_DatabaseSetNumber_idl__
+#define __com_sun_star_text_textfield_DatabaseSetNumber_idl_
+
+#include <com/sun/star/text/TextField.idl>
+#include <com/sun/star/text/DependentTextField.idl>
+
+
+module com { module sun { module star { module text { module textfield {
+
+/** specifies service of a text field that displays the current set number of
+ a database.
+ @see com::sun::star::text::TextField
+
+ Only one of the properties #DataBaseName,
+ #DataBaseURL and #DataBaseResource
+ should be set. If more than one are set the last one will be used.
+*/
+published service DatabaseSetNumber
+{
+ service com::sun::star::text::DependentTextField;
+
+ /** specifies the database name.
+ */
+ [property] string DataBaseName;
+
+ /** determines the interpretation of the property DataTableName.
+ @see com::sun::star::sdb::CommandType
+ */
+ [property] long DataCommandType;
+
+ /** contains the name of the database table, query or a statement depending
+ on the DataCommandType property.
+ */
+ [property] string DataTableName;
+
+ /** specifies the type of the numbering as
+ com::sun::star::style::NumberingType
+ */
+ [property] short NumberingType;
+
+ /** contains the number of the database set.
+ */
+ [property] long SetNumber;
+
+ /** indicates the URL of a database file.
+ @since OOo 2.0
+ */
+ [optional, property] string DataBaseURL;
+
+ /** indicates a connection URL, which locates a database driver.
+ @since OOo 2.0
+ */
+ [optional, property] string DataBaseResource;
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/textfield/DateTime.idl b/offapi/com/sun/star/text/textfield/DateTime.idl
new file mode 100644
index 000000000..2f7950735
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/DateTime.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_text_textfield_DateTime_idl__
+#define __com_sun_star_text_textfield_DateTime_idl_
+
+#include <com/sun/star/text/TextField.idl>
+#include <com/sun/star/util/DateTime.idl>
+
+
+module com { module sun { module star { module text { module textfield {
+
+/** specifies service of a date or time text field.
+ @see com::sun::star::text::TextField
+*/
+published service DateTime
+{
+ service com::sun::star::text::TextField;
+
+ /** If this flag is set to `FALSE` the date or time
+ is always displayed as the current date or time.
+
+ @since OOo 1.1.2
+ */
+ [optional, property] boolean IsFixed;
+
+ /** If this flag is set to `TRUE` this field represents
+ a date with an optional time. If it is set to `FALSE`
+ only the time is used here.
+ */
+ [property] boolean IsDate;
+
+ /** the is the content of this field.
+ */
+ [optional, property] com::sun::star::util::DateTime DateTimeValue;
+
+ /** this is the number format for this field
+ @see com::sun::star::util::NumberFormatter
+ */
+ [optional, property] long NumberFormat;
+
+ /** this is the display format for this field.
+ Depending on #IsDate, this
+ is either a
+ com::sun::star::text::DateDisplayFormat or
+ com::sun::star::text::TimeDisplayFormat.
+
+ This property is deprecated and is here only
+ for components that do not support a
+ com::sun::star::util::NumberFormatter.
+
+ @see com::sun::star::text::DateDisplayFormat
+ @see com::sun::star::text::TimeDisplayFormat
+
+ @deprecated
+ */
+ [optional, property] short DateTimeFormat;
+ /** contains an offset to the date or time value in minutes.
+ */
+ [optional, property] long Adjust;
+ /** determines whether changes in language attributes at the position the text field
+ is located also change the number format as appropriate for this language.
+ */
+ [optional, property] boolean IsFixedLanguage;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/textfield/DropDown.idl b/offapi/com/sun/star/text/textfield/DropDown.idl
new file mode 100644
index 000000000..ec93e664f
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/DropDown.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_text_textfield_DropDown_idl__
+#define __com_sun_star_text_textfield_DropDown_idl_
+
+#include <com/sun/star/text/TextField.idl>
+
+
+module com { module sun { module star { module text { module textfield {
+
+/** specifies service of an author text field.
+ @see com::sun::star::text::TextField
+*/
+published service DropDown
+{
+ service com::sun::star::text::TextField;
+
+ /**
+ The name of the drop down field.
+ */
+ [property] string Name;
+
+ /**
+ The items of the dropdown field.
+ */
+ [property] sequence<string> Items;
+
+ /**
+ The selected item. If no item is selected this property
+ contains an empty string. If this property is set to a value
+ not present in the items of the dropdown field it is
+ invalidated, i.e. it is set to an empty string.
+ */
+ [property] string SelectedItem;
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/textfield/EmbeddedObjectCount.idl b/offapi/com/sun/star/text/textfield/EmbeddedObjectCount.idl
new file mode 100644
index 000000000..57c78ca5a
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/EmbeddedObjectCount.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_text_textfield_EmbeddedObjectCount_idl__
+#define __com_sun_star_text_textfield_EmbeddedObjectCount_idl_
+
+#include <com/sun/star/text/TextField.idl>
+
+
+module com { module sun { module star { module text { module textfield {
+
+/** specifies service of a text field that displays the number of embedded objects
+ contained in the document.
+ @see com::sun::star::text::TextField
+*/
+published service EmbeddedObjectCount
+{
+ service com::sun::star::text::TextField;
+
+ /** specifies the type of the numbering as
+ com::sun::star::style::NumberingType
+ */
+ [property]short NumberingType;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/textfield/ExtendedUser.idl b/offapi/com/sun/star/text/textfield/ExtendedUser.idl
new file mode 100644
index 000000000..75e559402
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/ExtendedUser.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_text_textfield_ExtendedUser_idl__
+#define __com_sun_star_text_textfield_ExtendedUser_idl_
+
+#include <com/sun/star/text/TextField.idl>
+
+
+module com { module sun { module star { module text { module textfield {
+
+/** specifies service of a text field that shows and element of the user data
+ (name, address, phone, ...)
+ @see com::sun::star::text::TextField
+*/
+published service ExtendedUser
+{
+ service com::sun::star::text::TextField;
+ /** contains the content.
+ */
+ [property]string Content;
+ /** contains the current content of the text field.
+ <p> This property is especially useful for import/export purposes. </p>
+ */
+ [property]string CurrentPresentation;
+ /** If this flag is set to `FALSE` the content is regularly updated.
+ */
+ [property]boolean IsFixed;
+ /** specifies which part of the user data is displayed as described in
+ com::sun::star::text::UserDataPart.
+ */
+ [property]short UserDataType;
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/textfield/FileName.idl b/offapi/com/sun/star/text/textfield/FileName.idl
new file mode 100644
index 000000000..4a5ab163d
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/FileName.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_text_textfield_FileName_idl__
+#define __com_sun_star_text_textfield_FileName_idl_
+
+#include <com/sun/star/text/TextField.idl>
+
+
+module com { module sun { module star { module text { module textfield {
+
+/** specifies service of text field that displays the file name (URL) of
+ the document.
+ @see com::sun::star::text::TextField
+*/
+published service FileName
+{
+ service com::sun::star::text::TextField;
+ /** contains the current content of the text field.
+ <p> This property is especially useful for import/export purposes. </p>
+ */
+ [property]string CurrentPresentation;
+ /** determines the format the file name is displayed as specified in
+ com::sun::star::text::FilenameDisplayFormat.
+ */
+ [property]short FileFormat;
+ /** If this flag is set to `FALSE` the content is regularly updated.
+ */
+ [property]boolean IsFixed;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/textfield/GetExpression.idl b/offapi/com/sun/star/text/textfield/GetExpression.idl
new file mode 100644
index 000000000..d29702a66
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/GetExpression.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_text_textfield_GetExpression_idl__
+#define __com_sun_star_text_textfield_GetExpression_idl_
+
+#include <com/sun/star/text/TextField.idl>
+
+
+module com { module sun { module star { module text { module textfield {
+
+/** specifies service of a get expression text field.
+ @see com::sun::star::text::TextField
+*/
+published service GetExpression
+{
+ service com::sun::star::text::TextField;
+ /** contains the textual content of the field.
+ */
+ [property]string Content;
+ /** contains the current content of the text field.
+ <p> This property is especially useful for import/export purposes. </p>
+ */
+ [property]string CurrentPresentation;
+ /** this is the number format for this field.
+ @see com::sun::star::util::NumberFormatter
+ */
+ [property]long NumberFormat;
+
+ /** determines whether the content is displayed or evaluated.
+ */
+ [property]boolean IsShowFormula;
+ /** determines the type of the variable as described in
+ com::sun::star::text::SetVariableType
+ */
+ [property]short SubType;
+ /** contains the numerical value of the field.
+ */
+ [property, readonly] double Value;
+
+ /** deprecated
+ */
+ [property]short VariableSubtype;
+ /** determines whether changes in language attributes at the position the text field
+ is located also change the number format as appropriate for this language.
+
+ @since OOo 1.1.2
+ */
+ [optional, property] boolean IsFixedLanguage;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/textfield/GetReference.idl b/offapi/com/sun/star/text/textfield/GetReference.idl
new file mode 100644
index 000000000..f561053c8
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/GetReference.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_text_textfield_GetReference_idl__
+#define __com_sun_star_text_textfield_GetReference_idl__
+
+#include <com/sun/star/text/TextField.idl>
+
+
+module com { module sun { module star { module text { module textfield {
+
+/** specifies service of a reference field.
+ @see com::sun::star::text::TextField
+*/
+published service GetReference
+{
+ service com::sun::star::text::TextField;
+
+ /** contains the current content of the text field.
+ <p> This property is especially useful for import/export purposes. </p>
+ */
+ [property] string CurrentPresentation;
+ /** contains the source of the reference.
+ @see com::sun::star::text::ReferenceFieldSource
+ */
+ [property] short ReferenceFieldSource;
+ /** contains the name of the source.
+ <p> Depending on the property ReferenceFieldSource it may be the name of
+ a bookmark, a reference mark.</p>
+ */
+ [property] string SourceName;
+ /** contains the type of the reference.
+ @see com::sun::star::text::ReferenceFieldPart
+ */
+ [property] short ReferenceFieldPart;
+ /** contains the sequence number of a set expression field that is used as sequence field
+ or the value of the ReferenceId property of a footnote or endnote.
+ @see com::sun::star::text::Footnote
+ */
+ [property] short SequenceNumber;
+ /** contains the language id of the alternative language-dependent references.
+ <p> Alternative language-dependent forms of reference types. </p>
+
+ @since LibreOffice 6.1
+
+ <p> The current set of supported languages is:
+ <ul>
+ <li>hu : Hungarian, reference with lowercase article "a" or "az"</li>
+ <li>Hu : Hungarian, reference with uppercase article "A" or "Az"</li>
+ </ul>
+ </p>
+ */
+ [optional, property] string ReferenceFieldLanguage;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/textfield/GraphicObjectCount.idl b/offapi/com/sun/star/text/textfield/GraphicObjectCount.idl
new file mode 100644
index 000000000..57509aa20
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/GraphicObjectCount.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_text_textfield_GraphicObjectCount_idl__
+#define __com_sun_star_text_textfield_GraphicObjectCount_idl_
+
+#include <com/sun/star/text/TextField.idl>
+
+
+module com { module sun { module star { module text { module textfield {
+
+/** specifies service of a text field that displays the number of graphic objects
+ contained in the document.
+ @see com::sun::star::text::TextField
+*/
+published service GraphicObjectCount
+{
+ service com::sun::star::text::TextField;
+
+ /** specifies the type of the numbering as
+ com::sun::star::style::NumberingType
+ */
+ [property]short NumberingType;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/textfield/HiddenParagraph.idl b/offapi/com/sun/star/text/textfield/HiddenParagraph.idl
new file mode 100644
index 000000000..add73fb18
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/HiddenParagraph.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_text_textfield_HiddenParagraph_idl__
+#define __com_sun_star_text_textfield_HiddenParagraph_idl_
+
+#include <com/sun/star/text/TextField.idl>
+
+
+module com { module sun { module star { module text { module textfield {
+
+/** specifies service of a hidden paragraph field.
+ @see com::sun::star::text::TextField
+*/
+published service HiddenParagraph
+{
+ service com::sun::star::text::TextField;
+
+ /** contains the condition.
+ */
+ [property] string Condition;
+ /** contains the result of the last evaluation of the condition.
+ <p>This property has to be read/written in file export/import to save and
+ restore the result without initiation of a new evaluation.</p>
+ */
+ [property] boolean IsHidden;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/textfield/HiddenText.idl b/offapi/com/sun/star/text/textfield/HiddenText.idl
new file mode 100644
index 000000000..fcbdeff4f
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/HiddenText.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_text_textfield_HiddenText_idl__
+#define __com_sun_star_text_textfield_HiddenText_idl_
+
+#include <com/sun/star/text/TextField.idl>
+
+
+module com { module sun { module star { module text { module textfield {
+
+/** specifies service of a hidden text field.
+ @see com::sun::star::text::TextField
+*/
+published service HiddenText
+{
+ service com::sun::star::text::TextField;
+
+ /** contains the text content of the hidden text field.
+ <p> The content is displayed if the condition evaluates to `FALSE`.</p>
+ */
+ [property] string Content;
+ /** contains the condition.
+ */
+ [property] string Condition;
+ /** contains the result of the last evaluation of the condition.
+ <p>This property has to be read/written in file export/import to save and
+ restore the result without initiation of a new evaluation.</p>
+ */
+ [property] boolean IsHidden;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/textfield/Input.idl b/offapi/com/sun/star/text/textfield/Input.idl
new file mode 100644
index 000000000..0f88a4f46
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/Input.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_text_textfield_Input_idl__
+#define __com_sun_star_text_textfield_Input_idl__
+
+#include <com/sun/star/text/TextField.idl>
+
+
+module com { module sun { module star { module text { module textfield {
+
+/** specifies service of a text input field.
+ @see com::sun::star::text::TextField
+*/
+published service Input
+{
+ service com::sun::star::text::TextField;
+
+ /** contains the text content of the text field.
+ <p> The field displays the text content.</p>
+ */
+ [optional, property] string Content;
+
+ /** contains a hint text.
+ <p> This hint may be used as help tip or as headline of a corresponding
+ dialog to edit the field content.</p>
+ */
+ [optional, property] string Hint;
+
+ /** contains an internal-use-only multi purpose string.
+ <p>This is an internal multi purpose string used in WW8 import/export.
+ Usually it holds the help text for form fields.</p>
+ <p>It's content must NEVER be modified by the user.</p>
+ */
+ [optional, property] string Help;
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/textfield/InputUser.idl b/offapi/com/sun/star/text/textfield/InputUser.idl
new file mode 100644
index 000000000..92fcbbd4e
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/InputUser.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_text_textfield_InputUser_idl__
+#define __com_sun_star_text_textfield_InputUser_idl__
+
+#include <com/sun/star/text/TextField.idl>
+
+
+module com { module sun { module star { module text { module textfield {
+
+/** specifies service of an input field that is used to change the content of a corresponding
+ field master of a user defined text field.
+
+ @see com::sun::star::text::TextField
+*/
+published service InputUser
+{
+ service com::sun::star::text::TextField;
+
+ /** contains the name of the corresponding field master.
+ */
+ [optional, property] string Content;
+
+ /** contains a hint text.
+ <p> This hint may be used as help tip or as headline of a corresponding
+ dialog to edit the field content.</p>
+ */
+ [optional, property] string Hint;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/textfield/JumpEdit.idl b/offapi/com/sun/star/text/textfield/JumpEdit.idl
new file mode 100644
index 000000000..cd9c5f131
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/JumpEdit.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_text_textfield_JumpEdit_idl__
+#define __com_sun_star_text_textfield_JumpEdit_idl_
+
+#include <com/sun/star/text/TextField.idl>
+
+
+module com { module sun { module star { module text { module textfield {
+
+/** specifies service of a place holder text field.
+ @see com::sun::star::text::TextField
+*/
+published service JumpEdit
+{
+ service com::sun::star::text::TextField;
+ /** determines a hint that is displayed at the user interface as tip.
+ */
+ [property]string Hint;
+ /** determines the text of the place holder.
+ */
+ [property]string PlaceHolder;
+ /** determines the type of the place holder as described in
+ com::sun::star::text::PlaceholderType.
+ */
+ [property]short PlaceHolderType;
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/textfield/Macro.idl b/offapi/com/sun/star/text/textfield/Macro.idl
new file mode 100644
index 000000000..004954ad0
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/Macro.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_text_textfield_Macro_idl__
+#define __com_sun_star_text_textfield_Macro_idl_
+
+#include <com/sun/star/text/TextField.idl>
+
+
+module com { module sun { module star { module text { module textfield {
+
+/** specifies service of a macro text field.
+ @see com::sun::star::text::TextField
+*/
+published service Macro
+{
+ service com::sun::star::text::TextField;
+ /** contains a tip that is displayed at the user interface.
+ */
+ [property]string Hint;
+ /** contains the macro name of a StarBASIC macro.
+ */
+ [property]string MacroName;
+ /** contains the library name of a StarBASIC macro.
+ */
+ [property]string MacroLibrary;
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/textfield/MetadataField.idl b/offapi/com/sun/star/text/textfield/MetadataField.idl
new file mode 100644
index 000000000..a4f237cd4
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/MetadataField.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_text_textfield_MetadataField_idl__
+#define __com_sun_star_text_textfield_MetadataField_idl__
+
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#include <com/sun/star/container/XChild.idl>
+#include <com/sun/star/text/TextField.idl>
+#include <com/sun/star/text/XText.idl>
+#include <com/sun/star/rdf/XMetadatable.idl>
+
+
+
+module com { module sun { module star { module text { module textfield {
+
+/** is a com::sun::star::text::TextField whose content
+ is specified by RDF metadata.
+
+ @since OOo 3.2
+
+ @see com::sun::star::rdf
+*/
+service MetadataField
+{
+ /** None of the properties of
+ com::sun::star::text::TextContent are supported. */
+ service com::sun::star::text::TextField;
+
+ /** The MetadataField can have RDF metadata attached. */
+ interface com::sun::star::rdf::XMetadatable;
+
+ /** Allows for insertion of text content into, and creating cursors
+ that are bound within, the MetadataField. */
+ interface com::sun::star::text::XText;
+
+ /** The com::sun::star::text::TextContents that are
+ contained in the MetadataField can be enumerated. */
+ interface com::sun::star::container::XEnumerationAccess;
+
+ /** The com::sun::star::text::TextContent
+ that is the parent of this MetadataField.
+ @since OOo 3.3
+ */
+ interface com::sun::star::container::XChild;
+
+ /** this is the number format for this field.
+ @see com::sun::star::util::NumberFormatter
+ */
+ [optional, property] long NumberFormat;
+
+ /** determines whether changes in language attributes at the
+ position of the text field also change the number format
+ as appropriate for this language.
+ */
+ [optional, property] boolean IsFixedLanguage;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/textfield/PageCount.idl b/offapi/com/sun/star/text/textfield/PageCount.idl
new file mode 100644
index 000000000..2ae0a408d
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/PageCount.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_text_textfield_PageCount_idl__
+#define __com_sun_star_text_textfield_PageCount_idl_
+
+#include <com/sun/star/text/TextField.idl>
+
+
+module com { module sun { module star { module text { module textfield {
+
+/** specifies service of a text field that displays the number of pages
+ contained in the document.
+ @see com::sun::star::text::TextField
+*/
+published service PageCount
+{
+ service com::sun::star::text::TextField;
+
+ /** specifies the type of the numbering as
+ com::sun::star::style::NumberingType
+ */
+ [property]short NumberingType;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/textfield/PageNumber.idl b/offapi/com/sun/star/text/textfield/PageNumber.idl
new file mode 100644
index 000000000..dc172303e
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/PageNumber.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_text_textfield_PageNumber_idl__
+#define __com_sun_star_text_textfield_PageNumber_idl__
+
+#include <com/sun/star/text/TextField.idl>
+#include <com/sun/star/text/PageNumberType.idl>
+
+
+module com { module sun { module star { module text { module textfield {
+
+/** specifies service of a page number text field.
+ @see com::sun::star::text::TextField
+*/
+published service PageNumber
+{
+ service com::sun::star::text::TextField;
+
+ /** determines the type of the numbering.
+ @see com::sun::star::style::NumberingType
+ */
+ [property] short NumberingType;
+
+ /** determines an offset value to show a different page number.
+ */
+ [property] short Offset;
+ /** determines which page the field refers to.
+ @see com::sun::star::text::PageNumberType
+ */
+ [property] PageNumberType SubType;
+ /** if the user text string is set then it is displayed when the value
+ of NumberingType is set to com::sun::star::style::NumberingType::CHAR_SPECIAL
+ */
+ [property] string UserText;
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/textfield/ParagraphCount.idl b/offapi/com/sun/star/text/textfield/ParagraphCount.idl
new file mode 100644
index 000000000..dc5626b48
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/ParagraphCount.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_text_textfield_ParagraphCount_idl__
+#define __com_sun_star_text_textfield_ParagraphCount_idl_
+
+#include <com/sun/star/text/TextField.idl>
+
+
+module com { module sun { module star { module text { module textfield {
+
+/** specifies service of a text field that displays the number of paragraphs
+ contained in the document.
+ @see com::sun::star::text::TextField
+*/
+published service ParagraphCount
+{
+ service com::sun::star::text::TextField;
+
+ /** specifies the type of the numbering as
+ com::sun::star::style::NumberingType
+ */
+ [property]short NumberingType;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/textfield/ReferencePageGet.idl b/offapi/com/sun/star/text/textfield/ReferencePageGet.idl
new file mode 100644
index 000000000..1b0a8761f
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/ReferencePageGet.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_text_textfield_ReferencePageGet_idl__
+#define __com_sun_star_text_textfield_ReferencePageGet_idl_
+
+#include <com/sun/star/text/TextField.idl>
+
+
+module com { module sun { module star { module text { module textfield {
+
+/** specifies service of a text field that
+ displays the page number with respect to a reference point.
+ The reference point is determined by a ReferencePageSet text field.
+ @see com::sun::star::text::TextField
+ @see com::sun::star::text::textfield::ReferencePageSet
+*/
+published service ReferencePageGet
+{
+ service com::sun::star::text::TextField;
+ /** specifies the type of the numbering as
+ com::sun::star::style::NumberingType
+ */
+ [property]short NumberingType;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/textfield/ReferencePageSet.idl b/offapi/com/sun/star/text/textfield/ReferencePageSet.idl
new file mode 100644
index 000000000..1157d8d58
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/ReferencePageSet.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_text_textfield_ReferencePageSet_idl__
+#define __com_sun_star_text_textfield_ReferencePageSet_idl_
+
+#include <com/sun/star/text/TextField.idl>
+
+
+module com { module sun { module star { module text { module textfield {
+
+/** specifies service of a text field that inserts additional page numbers.
+ @see com::sun::star::text::TextField
+ @see com::sun::star::text::textfield::ReferencePageGet
+*/
+published service ReferencePageSet
+{
+ service com::sun::star::text::TextField;
+ /** determines an offset value to change the displayed value of a ReferencePageGet text field.
+ */
+ [property]short Offset;
+ /** determines whether the ReferencePageGet text fields are displayed or not.
+ */
+ [property]boolean NameOn;
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/textfield/Script.idl b/offapi/com/sun/star/text/textfield/Script.idl
new file mode 100644
index 000000000..3e74c4ef0
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/Script.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_text_textfield_Script_idl__
+#define __com_sun_star_text_textfield_Script_idl_
+
+#include <com/sun/star/text/TextField.idl>
+
+
+module com { module sun { module star { module text { module textfield {
+
+/** specifies service of a text field .
+ @see com::sun::star::text::TextField
+*/
+published service Script
+{
+ service com::sun::star::text::TextField;
+ /** contains the script text or a URL that points to a script depending on
+ the URLContent property.
+ */
+ [property]string Content;
+ /** contains the name of the script type (i.e. JavaScript)
+ */
+ [property]string ScriptType;
+ /** determines whether the property Content contains a URL or a script.
+ */
+ [property]boolean URLContent;
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/textfield/SetExpression.idl b/offapi/com/sun/star/text/textfield/SetExpression.idl
new file mode 100644
index 000000000..269ada8cc
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/SetExpression.idl
@@ -0,0 +1,104 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_text_textfield_SetExpression_idl__
+#define __com_sun_star_text_textfield_SetExpression_idl_
+
+#include <com/sun/star/text/TextField.idl>
+#include <com/sun/star/text/DependentTextField.idl>
+
+
+module com { module sun { module star { module text { module textfield {
+
+/** specifies service of an expression text field.
+ @see com::sun::star::text::TextField
+*/
+published service SetExpression
+{
+ service com::sun::star::text::DependentTextField;
+
+ /** contains the textual content of the field.
+ */
+ [property] string Content;
+
+ /** contains the current content of the text field.
+ <p>This property is especially useful for import/export purposes.</p>
+ */
+ [property] string CurrentPresentation;
+
+ /** this is the number format for this field.
+ @see com::sun::star::util::NumberFormatter
+ */
+ [property] long NumberFormat;
+
+ /** specifies the type of the numbering as
+ com::sun::star::style::NumberingType
+ */
+ [property] short NumberingType;
+
+ /** determines whether the content is displayed or evaluated.
+ */
+ [property] boolean IsShowFormula;
+
+ /** contains an informational text that is displayed at the user
+ interface if it's an input field.
+ */
+ [property] string Hint;
+
+ /** determines whether this field is an input field.
+ */
+ [property] boolean IsInput;
+
+ /** determines whether the field is visible.
+ */
+ [property] boolean IsVisible;
+
+ /** contains the sequence value when this field is used as sequence field.
+ */
+ [property] short SequenceValue;
+
+ /** determines the type of the variable as described in
+ com::sun::star::text::SetVariableType
+ */
+ [property] short SubType;
+
+ /** contains the numerical value of the field.
+ */
+ [property]double Value;
+
+ /** contains the name of the set expression field master this field is
+ connected to.
+ */
+ [property, readonly] string VariableName;
+
+ /** determines whether changes in language attributes at the position
+ the text field is located also change the number format as appropriate
+ for this language.
+
+ @since OOo 1.1.2
+ */
+ [optional, property] boolean IsFixedLanguage;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/textfield/TableCount.idl b/offapi/com/sun/star/text/textfield/TableCount.idl
new file mode 100644
index 000000000..d0dbe48ca
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/TableCount.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_text_textfield_TableCount_idl__
+#define __com_sun_star_text_textfield_TableCount_idl_
+
+#include <com/sun/star/text/TextField.idl>
+
+
+module com { module sun { module star { module text { module textfield {
+
+/** specifies service of a text field that displays the number of tables
+ contained in the document.
+ @see com::sun::star::text::TextField
+*/
+published service TableCount
+{
+ service com::sun::star::text::TextField;
+
+ /** specifies the type of the numbering as
+ com::sun::star::style::NumberingType
+ */
+ [property]short NumberingType;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/textfield/TableFormula.idl b/offapi/com/sun/star/text/textfield/TableFormula.idl
new file mode 100644
index 000000000..d44307ccb
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/TableFormula.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_text_textfield_TableFormula_idl__
+#define __com_sun_star_text_textfield_TableFormula_idl_
+
+#include <com/sun/star/text/TextField.idl>
+
+
+module com { module sun { module star { module text { module textfield {
+
+/** specifies service of a table formula text field.
+ @deprecated
+ @see com::sun::star::text::TextField
+*/
+published service TableFormula
+{
+ service com::sun::star::text::TextField;
+
+ /** contains the formula. */
+ [property] string Formula;
+
+ /** contains the current content of the text field.
+ <p> This property is especially useful for import/export purposes. </p>
+ */
+ [property] string CurrentPresentation;
+
+ /** determines whether the formula displayed as text or evaluated.
+ */
+ [property] boolean IsShowFormula;
+ /** this is the number format for this field.
+ @see com::sun::star::util::NumberFormatter
+ */
+ [property] short NumberFormat;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/textfield/TemplateName.idl b/offapi/com/sun/star/text/textfield/TemplateName.idl
new file mode 100644
index 000000000..d8bd1aad6
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/TemplateName.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_text_textfield_TemplateName_idl__
+#define __com_sun_star_text_textfield_TemplateName_idl_
+
+#include <com/sun/star/text/TextField.idl>
+
+
+module com { module sun { module star { module text { module textfield {
+
+/** specifies service text field that displays the name of the template the document
+ has been created from.
+ @see com::sun::star::text::TextField
+*/
+published service TemplateName
+{
+ service com::sun::star::text::TextField;
+ /** determines the format the template file name is displayed as specified in
+ com::sun::star::text::FilenameDisplayFormat.
+ */
+ [property]short FileFormat;
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/textfield/Type.idl b/offapi/com/sun/star/text/textfield/Type.idl
new file mode 100644
index 000000000..648400a22
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/Type.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/.
+ */
+
+#ifndef __com_sun_star_text_textfield_Type_idl__
+#define __com_sun_star_text_textfield_Type_idl__
+
+
+module com { module sun { module star { module text { module textfield {
+
+/**
+ * Text field types.
+ *
+ * Right now this only contains the types that are supported by the edit engine,
+ * but it should eventually contain all field types that are used across all
+ * engines.
+ *
+ * @since LibreOffice 3.6
+ */
+constants Type
+{
+ const long UNSPECIFIED = -1;
+
+ const long DATE = 0;
+ const long URL = 1;
+ const long PAGE = 2;
+ const long PAGES = 3;
+ const long TIME = 4;
+ const long TABLE = 5;
+ const long EXTENDED_TIME = 6;
+ const long EXTENDED_FILE = 7;
+ const long AUTHOR = 8;
+ const long MEASURE = 9;
+
+ const long DOCINFO_TITLE = 10;
+
+ const long PRESENTATION_HEADER = 11;
+ const long PRESENTATION_FOOTER = 12;
+ const long PRESENTATION_DATE_TIME = 13;
+ const long PAGE_NAME = 14;
+ const long DOCINFO_CUSTOM = 15;
+};
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/textfield/URL.idl b/offapi/com/sun/star/text/textfield/URL.idl
new file mode 100644
index 000000000..a6edcdf78
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/URL.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_text_textfield_URL_idl__
+#define __com_sun_star_text_textfield_URL_idl_
+
+#include <com/sun/star/text/TextField.idl>
+
+
+module com { module sun { module star { module text { module textfield {
+
+/** specifies service of text field that displays a URL
+
+ @see com::sun::star::text::TextField
+*/
+published service URL
+{
+ service com::sun::star::text::TextField;
+
+ /** Specifies how the URL is formatted on output.
+ */
+ [property] short Format;
+
+ /** contains the unparsed original URL, for example,
+ http://me:pass@www.sun.de:8080/pub/test/foo.txt?a=b#xyz
+ */
+ [property] string URL;
+
+ /** contains the content that will be displayed to the user.
+ <p> If this string is empty, the <code>URL</code> will be shown.
+ */
+ [property] string Representation;
+
+ /** Specifies the frame name in that the URL will be opened
+ */
+ [property] string TargetFrame;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/textfield/User.idl b/offapi/com/sun/star/text/textfield/User.idl
new file mode 100644
index 000000000..4da8faea4
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/User.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_text_textfield_User_idl__
+#define __com_sun_star_text_textfield_User_idl__
+
+#include <com/sun/star/text/TextField.idl>
+#include <com/sun/star/text/DependentTextField.idl>
+#include <com/sun/star/text/XDependentTextField.idl>
+
+
+module com { module sun { module star { module text { module textfield {
+
+/** specifies service of a user defined field.
+ @see com::sun::star::text::TextField
+*/
+published service User
+{
+ service com::sun::star::text::DependentTextField;
+
+ /** determines if the content is shown as text rather than as value.
+ */
+ [optional, property] boolean IsShowFormula;
+
+ /** determines if the field is visible.
+ */
+ [optional, property] boolean IsVisible;
+
+ /** this is the number format for this field.
+ @see com::sun::star::util::NumberFormatter
+ */
+ [optional, property] long NumberFormat;
+ /** determines whether changes in language attributes at the position the text field
+ is located also change the number format as appropriate for this language.
+
+ @since OOo 1.1.2
+ */
+ [optional, property] boolean IsFixedLanguage;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/textfield/WordCount.idl b/offapi/com/sun/star/text/textfield/WordCount.idl
new file mode 100644
index 000000000..5bd269f57
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/WordCount.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_text_textfield_WordCount_idl__
+#define __com_sun_star_text_textfield_WordCount_idl_
+
+#include <com/sun/star/text/TextField.idl>
+
+
+module com { module sun { module star { module text { module textfield {
+
+/** specifies service of a text field that displays the number of words
+ contained in the document.
+ @see com::sun::star::text::TextField
+*/
+published service WordCount
+{
+ service com::sun::star::text::TextField;
+
+ /** specifies the type of the numbering as
+ com::sun::star::style::NumberingType
+ */
+ [property]short NumberingType;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/textfield/docinfo/ChangeAuthor.idl b/offapi/com/sun/star/text/textfield/docinfo/ChangeAuthor.idl
new file mode 100644
index 000000000..a44418dfa
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/docinfo/ChangeAuthor.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_text_textfield_docinfo_ChangeAuthor_idl__
+#define __com_sun_star_text_textfield_docinfo_ChangeAuthor_idl_
+
+#include <com/sun/star/text/TextField.idl>
+
+
+module com { module sun { module star {
+ module text { module textfield { module docinfo {
+
+/** specifies service of a text field that provides information about the author
+ of the last change.
+ @see com::sun::star::text::TextField
+*/
+published service ChangeAuthor
+{
+ service com::sun::star::text::TextField;
+
+ /** contains the name of the author.
+ */
+ [property]string Author;
+ /** contains the current content of the text field.
+ <p> This property is especially useful for import/export purposes. </p>
+ */
+ [property]string CurrentPresentation;
+ /** If this flag is set to false the author
+ will be overridden by the current author
+ each time the document is saved.
+ */
+ [optional, property] boolean IsFixed;
+};
+
+
+}; }; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/textfield/docinfo/ChangeDateTime.idl b/offapi/com/sun/star/text/textfield/docinfo/ChangeDateTime.idl
new file mode 100644
index 000000000..3d0023d4c
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/docinfo/ChangeDateTime.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_text_textfield_docinfo_ChangeDateTime_idl__
+#define __com_sun_star_text_textfield_docinfo_ChangeDateTime_idl_
+
+#include <com/sun/star/text/TextField.idl>
+
+
+module com { module sun { module star {
+ module text { module textfield { module docinfo {
+
+/** specifies service of a text field that provides information about the date
+ and time the document was last changed.
+ @see com::sun::star::text::TextField
+*/
+published service ChangeDateTime
+{
+ service com::sun::star::text::TextField;
+ /** contains the current content of the text field.
+ <p> This property is especially useful for import/export purposes. </p>
+ */
+ [property]string CurrentPresentation;
+ /** If this flag is set to false the author
+ will be overridden by the current author
+ each time the document is saved.
+ */
+ /** If this flag is set to `FALSE` the date or time
+ is always displayed as the current date or time.
+
+ @since OOo 1.1.2
+ */
+ [optional, property] boolean IsFixed;
+ /** If this flag is set to `TRUE` this field represents,
+ a date with an optional time. If it is set to `FALSE`
+ only the time is used here.
+ */
+ [property]boolean IsDate;
+ /** contains the date and time as double value.
+ */
+ [property]double DateTimeValue;
+ /** this is the number format for this field.
+ @see com::sun::star::util::NumberFormatter
+ */
+ [property]long NumberFormat;
+ /** determines whether changes in language attributes at the position the text field
+ is located also change the number format as appropriate for this language.
+ */
+ [optional, property] boolean IsFixedLanguage;
+};
+
+
+}; }; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/textfield/docinfo/CreateAuthor.idl b/offapi/com/sun/star/text/textfield/docinfo/CreateAuthor.idl
new file mode 100644
index 000000000..8beda78d1
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/docinfo/CreateAuthor.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_text_textfield_docinfo_CreateAuthor_idl__
+#define __com_sun_star_text_textfield_docinfo_CreateAuthor_idl_
+
+#include <com/sun/star/text/TextField.idl>
+
+
+module com { module sun { module star {
+ module text { module textfield { module docinfo {
+
+/** specifies service of a text field that provides information about the author
+ who created the document.
+ @see com::sun::star::text::TextField
+*/
+published service CreateAuthor
+{
+ service com::sun::star::text::TextField;
+
+ /** contains the name of the author.
+ */
+ [property]string Author;
+ /** contains the current content of the text field.
+ <p> This property is especially useful for import/export purposes. </p>
+ */
+ [property]string CurrentPresentation;
+ /** If this flag is set to false the author
+ will be overridden by the current author
+ each time the document is saved.
+ */
+ [optional, property] boolean IsFixed;
+};
+
+
+}; }; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/textfield/docinfo/CreateDateTime.idl b/offapi/com/sun/star/text/textfield/docinfo/CreateDateTime.idl
new file mode 100644
index 000000000..277d726ab
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/docinfo/CreateDateTime.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_text_textfield_docinfo_CreateDateTime_idl__
+#define __com_sun_star_text_textfield_docinfo_CreateDateTime_idl_
+
+#include <com/sun/star/text/TextField.idl>
+
+
+module com { module sun { module star {
+ module text { module textfield { module docinfo {
+
+/** specifies service of a text field that provides information about the date
+ and time of the document creation.
+ @see com::sun::star::text::TextField
+*/
+published service CreateDateTime
+{
+ service com::sun::star::text::TextField;
+ /** contains the current content of the text field.
+ <p> This property is especially useful for import/export purposes. </p>
+ */
+ [property]string CurrentPresentation;
+ /** If this flag is set to false the author
+ will be overridden by the current author
+ each time the document is saved.
+ */
+ /** If this flag is set to `FALSE` the date or time
+ is always displayed as the current date or time.
+
+ @since OOo 1.1.2
+ */
+ [optional, property] boolean IsFixed;
+ /** If this flag is set to `TRUE` this field represents,
+ a date with an optional time. If it is set to `FALSE`
+ only the time is used here.
+ */
+ [property]boolean IsDate;
+ /** contains the date and time as double value.
+ */
+ [property]double DateTimeValue;
+ /** this is the number format for this field.
+ @see com::sun::star::util::NumberFormatter
+ */
+ [property]long NumberFormat;
+ /** determines whether changes in language attributes at the position the text field
+ is located also change the number format as appropriate for this language.
+ */
+ [optional, property] boolean IsFixedLanguage;
+};
+
+
+}; }; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/textfield/docinfo/Custom.idl b/offapi/com/sun/star/text/textfield/docinfo/Custom.idl
new file mode 100644
index 000000000..4903b1ddb
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/docinfo/Custom.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_text_textfield_docinfo_Custom_idl__
+#define __com_sun_star_text_textfield_docinfo_Custom_idl_
+
+#include <com/sun/star/text/TextField.idl>
+
+
+module com { module sun { module star {
+ module text { module textfield { module docinfo {
+
+/** specifies service of a text field that refers to the content of a
+ user-defined field in the document information.
+
+ @since OOo 3.0
+
+ @see com::sun::star::text::TextField
+*/
+published service Custom
+{
+ service com::sun::star::text::TextField;
+
+ /** the name of the user-defined property that this field refers to.
+ */
+ [property] string Name;
+
+ /** contains the current content of the text field.
+ <p>This property is useful for import/export purposes.</p>
+ */
+ [property] string CurrentPresentation;
+
+ /** If this flag is set to `FALSE`, the content is updated when
+ the document information changes.
+ */
+ [property] boolean IsFixed;
+};
+
+
+}; }; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/textfield/docinfo/Description.idl b/offapi/com/sun/star/text/textfield/docinfo/Description.idl
new file mode 100644
index 000000000..6b017363e
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/docinfo/Description.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_text_textfield_docinfo_Description_idl__
+#define __com_sun_star_text_textfield_docinfo_Description_idl_
+
+#include <com/sun/star/text/TextField.idl>
+
+
+module com { module sun { module star {
+ module text { module textfield { module docinfo {
+
+/** specifies service of a text field that provides the description that is contained
+ in the document information.
+ @see com::sun::star::text::TextField
+*/
+published service Description
+{
+ service com::sun::star::text::TextField;
+
+ /** contains content information.
+ */
+ [property] string Content;
+ /** contains the current content of the text field.
+ <p> This property is especially useful for import/export purposes. </p>
+ */
+ [property]string CurrentPresentation;
+ /** If this flag is set to `FALSE` the content updated every time the document
+ information is changed.
+ */
+ [property]boolean IsFixed;
+};
+
+
+}; }; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/textfield/docinfo/EditTime.idl b/offapi/com/sun/star/text/textfield/docinfo/EditTime.idl
new file mode 100644
index 000000000..d133bfcae
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/docinfo/EditTime.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_text_textfield_docinfo_EditTime_idl__
+#define __com_sun_star_text_textfield_docinfo_EditTime_idl_
+
+#include <com/sun/star/text/TextField.idl>
+
+
+module com { module sun { module star {
+ module text { module textfield { module docinfo {
+
+/** specifies service of a text field that provides information about the
+ duration the document has been edited.
+ @see com::sun::star::text::TextField
+*/
+published service EditTime
+{
+ service com::sun::star::text::TextField;
+ /** contains the current content of the text field.
+ <p> This property is especially useful for import/export purposes. </p>
+ */
+ [property]string CurrentPresentation;
+ /** If this flag is set to false the author
+ will be overridden by the current author
+ each time the document is saved.
+ */
+ /** If this flag is set to `FALSE` the date or time
+ is always displayed as the current date or time.
+
+ @since OOo 1.1.2
+ */
+ [optional, property] boolean IsFixed;
+ /** contains the date and time as double value.
+ */
+ [property]double DateTimeValue;
+ /** this is the number format for this field.
+ @see com::sun::star::util::NumberFormatter
+ */
+ [property]long NumberFormat;
+ /** determines whether changes in language attributes at the position the text field
+ is located also change the number format as appropriate for this language.
+ */
+ [optional, property] boolean IsFixedLanguage;
+};
+
+
+}; }; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/textfield/docinfo/Keywords.idl b/offapi/com/sun/star/text/textfield/docinfo/Keywords.idl
new file mode 100644
index 000000000..e7a95235a
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/docinfo/Keywords.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_text_textfield_docinfo_Keywords_idl__
+#define __com_sun_star_text_textfield_docinfo_Keywords_idl_
+
+#include <com/sun/star/text/TextField.idl>
+
+
+module com { module sun { module star {
+ module text { module textfield { module docinfo {
+
+/** specifies service of a text field that provides the keywords that are contained
+ in the document information.
+ @see com::sun::star::text::TextField
+*/
+published service Keywords
+{
+ service com::sun::star::text::TextField;
+
+ /** contains content information.
+ */
+ [property] string Content;
+ /** contains the current content of the text field.
+ <p> This property is especially useful for import/export purposes. </p>
+ */
+ [property]string CurrentPresentation;
+ /** If this flag is set to `FALSE` the content updated every time the document
+ information is changed.
+ */
+ [property]boolean IsFixed;
+};
+
+
+}; }; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/textfield/docinfo/PrintAuthor.idl b/offapi/com/sun/star/text/textfield/docinfo/PrintAuthor.idl
new file mode 100644
index 000000000..4deb0427c
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/docinfo/PrintAuthor.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_text_textfield_docinfo_PrintAuthor_idl__
+#define __com_sun_star_text_textfield_docinfo_PrintAuthor_idl_
+
+#include <com/sun/star/text/TextField.idl>
+
+
+module com { module sun { module star {
+ module text { module textfield { module docinfo {
+
+/** specifies service of a text field that provides information about the author
+ of the last print operation.
+ @see com::sun::star::text::TextField
+*/
+published service PrintAuthor
+{
+ service com::sun::star::text::TextField;
+
+ /** contains the name of the author.
+ */
+ [property]string Author;
+ /** contains the current content of the text field.
+ <p> This property is especially useful for import/export purposes. </p>
+ */
+ [property]string CurrentPresentation;
+ /** If this flag is set to false the author
+ will be overridden by the current author
+ each time the document is saved.
+ */
+ [optional, property] boolean IsFixed;
+};
+
+
+}; }; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/textfield/docinfo/PrintDateTime.idl b/offapi/com/sun/star/text/textfield/docinfo/PrintDateTime.idl
new file mode 100644
index 000000000..86b0445d5
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/docinfo/PrintDateTime.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_text_textfield_docinfo_PrintDateTime_idl__
+#define __com_sun_star_text_textfield_docinfo_PrintDateTime_idl__
+
+#include <com/sun/star/text/TextField.idl>
+
+
+module com { module sun { module star {
+ module text { module textfield { module docinfo {
+
+/** specifies service of a text field that provides information about the date
+ and time the document was last printed.
+ @see com::sun::star::text::TextField
+*/
+published service PrintDateTime
+{
+ service com::sun::star::text::TextField;
+ /** contains the current content of the text field.
+ <p> This property is especially useful for import/export purposes. </p>
+ */
+ [property]string CurrentPresentation;
+ /** If this flag is set to false the author
+ will be overridden by the current author
+ each time the document is saved.
+ */
+ /** If this flag is set to `FALSE` the date or time
+ is always displayed as the current date or time.
+
+ @since OOo 1.1.2
+ */
+ [optional, property] boolean IsFixed;
+ /** If this flag is set to `TRUE` this field represents,
+ a date with an optional time. If it is set to `FALSE`
+ only the time is used here.
+ */
+ [property]boolean IsDate;
+ /** contains the date and time as double value.
+ */
+ [property]double DateTimeValue;
+ /** this is the number format for this field.
+ @see com::sun::star::util::NumberFormatter
+ */
+ [property]long NumberFormat;
+ /** determines whether changes in language attributes at the position the text field
+ is located also change the number format as appropriate for this language.
+ */
+ [optional, property] boolean IsFixedLanguage;
+};
+
+
+}; }; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/textfield/docinfo/Revision.idl b/offapi/com/sun/star/text/textfield/docinfo/Revision.idl
new file mode 100644
index 000000000..04ca64c15
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/docinfo/Revision.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_text_textfield_docinfo_Revision_idl__
+#define __com_sun_star_text_textfield_docinfo_Revision_idl_
+
+#include <com/sun/star/text/TextField.idl>
+
+
+module com { module sun { module star {
+ module text { module textfield { module docinfo {
+
+/** specifies service of a text field that provides the revision that is contained
+ in the document information.
+ @see com::sun::star::text::TextField
+*/
+published service Revision
+{
+ service com::sun::star::text::TextField;
+
+ /** contains content information.
+ */
+ [property] string Content;
+ /** contains the current content of the text field.
+ <p> This property is especially useful for import/export purposes. </p>
+ */
+ [property]string CurrentPresentation;
+ /** If this flag is set to `FALSE` the content updated every time the document
+ information is changed.
+ */
+ [property]boolean IsFixed;
+};
+
+
+}; }; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/textfield/docinfo/Subject.idl b/offapi/com/sun/star/text/textfield/docinfo/Subject.idl
new file mode 100644
index 000000000..5f3348080
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/docinfo/Subject.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_text_textfield_docinfo_Subject_idl__
+#define __com_sun_star_text_textfield_docinfo_Subject_idl_
+
+#include <com/sun/star/text/TextField.idl>
+
+
+module com { module sun { module star {
+ module text { module textfield { module docinfo {
+
+/** specifies service of a text field that provides the subject that is contained
+ in the document information.
+ @see com::sun::star::text::TextField
+*/
+published service Subject
+{
+ service com::sun::star::text::TextField;
+
+ /** contains content information.
+ */
+ [property] string Content;
+ /** contains the current content of the text field.
+ <p> This property is especially useful for import/export purposes. </p>
+ */
+ [property]string CurrentPresentation;
+ /** If this flag is set to `FALSE` the content updated every time the document
+ information is changed.
+ */
+ [property]boolean IsFixed;
+};
+
+
+}; }; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/text/textfield/docinfo/Title.idl b/offapi/com/sun/star/text/textfield/docinfo/Title.idl
new file mode 100644
index 000000000..29730bffa
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/docinfo/Title.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_text_textfield_docinfo_Title_idl__
+#define __com_sun_star_text_textfield_docinfo_Title_idl_
+
+#include <com/sun/star/text/TextField.idl>
+
+
+module com { module sun { module star {
+ module text { module textfield { module docinfo {
+
+/** specifies service of a text field that provides the title that is contained
+ in the document information.
+ @see com::sun::star::text::TextField
+*/
+published service Title
+{
+ service com::sun::star::text::TextField;
+
+ /** contains content information.
+ */
+ [property] string Content;
+ /** contains the current content of the text field.
+ <p> This property is especially useful for import/export purposes. </p>
+ */
+ [property]string CurrentPresentation;
+ /** If this flag is set to `FALSE` the content updated every time the document
+ information is changed.
+ */
+ [property]boolean IsFixed;
+};
+
+
+}; }; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/tiledrendering/XTiledRenderable.idl b/offapi/com/sun/star/tiledrendering/XTiledRenderable.idl
new file mode 100644
index 000000000..43624867e
--- /dev/null
+++ b/offapi/com/sun/star/tiledrendering/XTiledRenderable.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_awt_XTiledRenderable_idl__
+#define __com_sun_star_awt_XTiledRenderable_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module tiledrendering {
+
+/** tiled rendering using a system-specific handle to a window
+ */
+interface XTiledRenderable : com::sun::star::uno::XInterface
+{
+
+ /** paint a tile to a system-specific window
+ *
+
+ @param Parent
+ a system-specific handle to a window.
+
+ <p>You must check the machine ID and the process ID.<BR>
+ WIN32: HWND.<BR>
+ WIN16: HWND.<BR>
+
+ JAVA: global reference to a java.awt.Component
+ object provided from the JNI-API.<BR>
+
+ MAC: (NSView*) pointer.<BR></p>
+
+ @param nOutputWidth
+ horizontal output parameter measured in pixels.
+
+ @param nOutputHeight
+ vertical output parameter measured in pixels.
+
+ @param nTilePosX
+ logical X position of the top left corner of the rendered rectangle, in TWIPs.
+
+ @param nTilePosY
+ logical Y position of the top left corner of the rendered rectangle, in TWIPs.
+
+ @param nTileWidth
+ logical width of the rendered rectangle, in TWIPs.
+
+ @param nTileHeight
+ logical height of the rendered rectangle, in TWIPs.
+
+ @since LibreOffice 5.0
+ */
+ void paintTile( [in] any Parent,
+ [in] long nOutputWidth,
+ [in] long nOutputHeight,
+ [in] long nTilePosX,
+ [in] long nTilePosY,
+ [in] long nTileWidth,
+ [in] long nTileHeight );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/AlreadyInitializedException.idl b/offapi/com/sun/star/ucb/AlreadyInitializedException.idl
new file mode 100644
index 000000000..124424ec0
--- /dev/null
+++ b/offapi/com/sun/star/ucb/AlreadyInitializedException.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_ucb_AlreadyInitializedException_idl__
+#define __com_sun_star_ucb_AlreadyInitializedException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** This exception is thrown to indicate that an attempt was made to
+ reinitialize an object that can only be initialized once.
+
+ @version 1.0
+*/
+published exception AlreadyInitializedException: com::sun::star::uno::Exception
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/AnyCompareFactory.idl b/offapi/com/sun/star/ucb/AnyCompareFactory.idl
new file mode 100644
index 000000000..c482af312
--- /dev/null
+++ b/offapi/com/sun/star/ucb/AnyCompareFactory.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_ucb_AnyCompareFactory_idl__
+#define __com_sun_star_ucb_AnyCompareFactory_idl__
+
+#include <com/sun/star/ucb/XAnyCompareFactory.idl>
+#include <com/sun/star/lang/Locale.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** is a factory to get XAnyCompare service implementations.
+
+ @since OOo 1.1.2
+*/
+published service AnyCompareFactory : XAnyCompareFactory
+{
+ createWithLocale([in] com::sun::star::lang::Locale aLocale);
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/AuthenticationFallbackRequest.idl b/offapi/com/sun/star/ucb/AuthenticationFallbackRequest.idl
new file mode 100644
index 000000000..3147bbb85
--- /dev/null
+++ b/offapi/com/sun/star/ucb/AuthenticationFallbackRequest.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_ucb_AuthenticationFallbackRequest_idl__
+#define __com_sun_star_ucb_AuthenticationFallbackRequest_idl__
+
+#include <com/sun/star/task/ClassifiedInteractionRequest.idl>
+
+module com { module sun { module star { module ucb {
+
+/** An interaction continuation handing back some authentication data
+
+ @since LibreOffice 4.4
+*/
+exception AuthenticationFallbackRequest: com::sun::star::task::ClassifiedInteractionRequest
+{
+ /** Instructions to be followed by the user
+ */
+ string instructions;
+
+ /** url to be opened in browser
+ */
+ string url;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/AuthenticationRequest.idl b/offapi/com/sun/star/ucb/AuthenticationRequest.idl
new file mode 100644
index 000000000..a2c718819
--- /dev/null
+++ b/offapi/com/sun/star/ucb/AuthenticationRequest.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_ucb_AuthenticationRequest_idl__
+#define __com_sun_star_ucb_AuthenticationRequest_idl__
+
+#include <com/sun/star/task/ClassifiedInteractionRequest.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** An error specifying lack of correct authentication data (e.g., to log into
+ an account).
+*/
+published exception AuthenticationRequest: com::sun::star::task::ClassifiedInteractionRequest
+{
+ /** The name of the server (if applicable).
+ */
+ string ServerName;
+
+ /** Any diagnostic message about the failure to log in (if applicable; it
+ will typically be an English phrase or sentence).
+ */
+ string Diagnostic;
+
+ /** Specifies if the authentication involves a "realm" (as can be the case
+ for HTTP).
+ */
+ boolean HasRealm;
+
+ /** Any already specified realm.
+
+ If HasRealm is false, this member should be ignored.
+ */
+ string Realm;
+
+ /** Specifies if the authentication involves a "user name" (as is almost
+ always the case).
+ */
+ boolean HasUserName;
+
+ /** Any already specified user name.
+
+ If HasUserName is false, this member should be ignored.
+ */
+ string UserName;
+
+ /** Specifies if the authentication involves a "password" (as is almost
+ always the case).
+ */
+ boolean HasPassword;
+
+ /** Any already specified password.
+
+ If HasPassword is false, this member should be ignored.
+ */
+ string Password;
+
+ /** Specifies if the authentication involves an "account" (as can be the
+ case for FTP).
+ */
+ boolean HasAccount;
+
+ /** Any already specified account.
+
+ If HasAccount is false, this member should be ignored.
+ */
+ string Account;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/CachedContentResultSet.idl b/offapi/com/sun/star/ucb/CachedContentResultSet.idl
new file mode 100644
index 000000000..98eb67d74
--- /dev/null
+++ b/offapi/com/sun/star/ucb/CachedContentResultSet.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_ucb_CachedContentResultSet_idl__
+#define __com_sun_star_ucb_CachedContentResultSet_idl__
+
+#include <com/sun/star/ucb/ContentResultSet.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** is used on client side to access a ContentResultSet
+ remote optimized.
+
+ <p>The CachedContentResultSet will not load every single
+ property or even row just in that moment you ask for it, but load the data
+ for some rows beforehand.
+
+ <p>Every time when a new package of data is loaded, the so far loaded data
+ will be released, so the cash will not grow and grow and grow.
+*/
+
+published service CachedContentResultSet
+{
+ service com::sun::star::ucb::ContentResultSet;
+
+ /** contains the number of result set rows that should be fetched from
+ an underlying database.
+
+ <p>The default fetch size is implementation specific.
+
+ <p>Every negative value for parameter #FetchSize will
+ force an implementation specific value to be set.
+ */
+ [property] long FetchSize;
+
+ /** contains the direction for fetching rows from an underlying database.
+
+ <p>The value can be one of the
+ com::sun::star::sdbc::FetchDirection constants group.
+
+ <p>The default value is implementation specific.
+
+ <p>If you set the value to
+ com::sun::star::sdbc::FetchDirection::UNKNOWN an
+ implementation specific direction will be used.
+ */
+ [property] long FetchDirection;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/CachedContentResultSetFactory.idl b/offapi/com/sun/star/ucb/CachedContentResultSetFactory.idl
new file mode 100644
index 000000000..ecfa073a8
--- /dev/null
+++ b/offapi/com/sun/star/ucb/CachedContentResultSetFactory.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_ucb_CachedContentResultSetFactory_idl__
+#define __com_sun_star_ucb_CachedContentResultSetFactory_idl__
+
+#include <com/sun/star/ucb/XCachedContentResultSetFactory.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** is a factory for CachedContentResultSet implementations.
+*/
+published service CachedContentResultSetFactory : XCachedContentResultSetFactory;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/CachedContentResultSetStub.idl b/offapi/com/sun/star/ucb/CachedContentResultSetStub.idl
new file mode 100644
index 000000000..7cf72072e
--- /dev/null
+++ b/offapi/com/sun/star/ucb/CachedContentResultSetStub.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_ucb_CachedContentResultSetStub_idl__
+#define __com_sun_star_ucb_CachedContentResultSetStub_idl__
+
+#include <com/sun/star/ucb/ContentResultSet.idl>
+#include <com/sun/star/ucb/XFetchProvider.idl>
+#include <com/sun/star/ucb/XFetchProviderForContentAccess.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** is used on provider side to access a ContentResultSet
+ remote optimized.
+*/
+
+published service CachedContentResultSetStub
+{
+ service com::sun::star::ucb::ContentResultSet;
+
+ /** Provides the possibility to get the contents of the columns of several
+ rows with only one call.
+
+ <p>This interface is required.
+ */
+ interface com::sun::star::ucb::XFetchProvider;
+
+ /** Provides the possibility load information offered by a
+ XContentAccess for several rows of one result set at once.
+
+ <p>This interface is required.
+ */
+ interface com::sun::star::ucb::XFetchProviderForContentAccess;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/CachedContentResultSetStubFactory.idl b/offapi/com/sun/star/ucb/CachedContentResultSetStubFactory.idl
new file mode 100644
index 000000000..6d6ca92a9
--- /dev/null
+++ b/offapi/com/sun/star/ucb/CachedContentResultSetStubFactory.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_ucb_CachedContentResultSetStubFactory_idl__
+#define __com_sun_star_ucb_CachedContentResultSetStubFactory_idl__
+
+#include <com/sun/star/ucb/XCachedContentResultSetStubFactory.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** is a factory for CachedContentResultSetStub implementations.
+*/
+published service CachedContentResultSetStubFactory
+ : XCachedContentResultSetStubFactory;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/CachedDynamicResultSet.idl b/offapi/com/sun/star/ucb/CachedDynamicResultSet.idl
new file mode 100644
index 000000000..fc045394f
--- /dev/null
+++ b/offapi/com/sun/star/ucb/CachedDynamicResultSet.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_ucb_CachedDynamicResultSet_idl__
+#define __com_sun_star_ucb_CachedDynamicResultSet_idl__
+
+#include <com/sun/star/ucb/XDynamicResultSet.idl>
+#include <com/sun/star/ucb/XSourceInitialization.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** provides read access to a static or dynamically changing
+ ContentResultSet.
+
+ <p>For example, a DynamicResultSet is returned from the
+ open-command executed by an XCommandProcessor of the service
+ Content.
+*/
+
+published service CachedDynamicResultSet
+{
+ /** Provides remote optimized read access to a static or a dynamically
+ changing ContentResultSet.
+
+ <p>The com::sun::star::sdbc::XResultSets given to
+ the listener in the first notification in the
+ WelcomeDynamicResultSetStruct are implementations of the
+ CachedContentResultSet service.
+
+ <p>This interface is required.
+ */
+ interface com::sun::star::ucb::XDynamicResultSet;
+
+ /** provides the initialization of the CachedDynamicResultSet
+ with a source object.
+
+ <p>The <var>Source</var> in
+ XSourceInitialization::setSource() has to be an
+ implementation of service CachedDynamicResultSetStub
+
+ <p>This interface is required.
+ */
+ interface com::sun::star::ucb::XSourceInitialization;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/CachedDynamicResultSetFactory.idl b/offapi/com/sun/star/ucb/CachedDynamicResultSetFactory.idl
new file mode 100644
index 000000000..6a82cba0b
--- /dev/null
+++ b/offapi/com/sun/star/ucb/CachedDynamicResultSetFactory.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_ucb_CachedDynamicResultSetFactory_idl__
+#define __com_sun_star_ucb_CachedDynamicResultSetFactory_idl__
+
+#include <com/sun/star/ucb/XCachedDynamicResultSetFactory.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** is a factory for CachedDynamicResultSet implementations.
+*/
+published service CachedDynamicResultSetFactory
+ : XCachedDynamicResultSetFactory;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/CachedDynamicResultSetStub.idl b/offapi/com/sun/star/ucb/CachedDynamicResultSetStub.idl
new file mode 100644
index 000000000..49c0bae01
--- /dev/null
+++ b/offapi/com/sun/star/ucb/CachedDynamicResultSetStub.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_ucb_CachedDynamicResultSetStub_idl__
+#define __com_sun_star_ucb_CachedDynamicResultSetStub_idl__
+
+#include <com/sun/star/ucb/XDynamicResultSet.idl>
+#include <com/sun/star/ucb/XSourceInitialization.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** provides read access to a static or dynamically changing
+ ContentResultSet.
+
+ <p>For example, a DynamicResultSet is returned from the
+ open-command executed by an XCommandProcessor of the service
+ Content.
+*/
+
+published service CachedDynamicResultSetStub
+{
+ /** In Combination with a CachedDynamicResultSet this provides
+ remote optimized read access to a static or dynamically changing
+ ContentResultSet.
+
+ <p>The com::sun::star::sdbc::XResultSets given to
+ the listener in the first notification in the
+ WelcomeDynamicResultSetStruct are implementations of
+ CachedContentResultSetStub.
+
+ <p>This interface is required.
+ */
+ interface com::sun::star::ucb::XDynamicResultSet;
+
+ /** provides the initialization of the CachedDynamicResultSetStub
+ with a source object.
+
+ <p>The <var>Source</var> in
+ XSourceInitialization::setSource() has to be an
+ implementation of service DynamicResultSet
+
+ <p>This interface is required.
+ */
+ interface com::sun::star::ucb::XSourceInitialization;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/CachedDynamicResultSetStubFactory.idl b/offapi/com/sun/star/ucb/CachedDynamicResultSetStubFactory.idl
new file mode 100644
index 000000000..c71b81adb
--- /dev/null
+++ b/offapi/com/sun/star/ucb/CachedDynamicResultSetStubFactory.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_ucb_CachedDynamicResultSetStubFactory_idl__
+#define __com_sun_star_ucb_CachedDynamicResultSetStubFactory_idl__
+
+#include <com/sun/star/ucb/XCachedDynamicResultSetStubFactory.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** is a factory for CachedDynamicResultSetStub implementations.
+*/
+published service CachedDynamicResultSetStubFactory
+ : XCachedDynamicResultSetStubFactory;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/CertificateValidationRequest.idl b/offapi/com/sun/star/ucb/CertificateValidationRequest.idl
new file mode 100644
index 000000000..1add779bc
--- /dev/null
+++ b/offapi/com/sun/star/ucb/CertificateValidationRequest.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_ucb_CertificateValidationRequest_idl__
+#define __com_sun_star_ucb_CertificateValidationRequest_idl__
+
+#include <com/sun/star/task/ClassifiedInteractionRequest.idl>
+#include <com/sun/star/security/XCertificate.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** An error specifying an invalid certificate.
+*/
+exception CertificateValidationRequest: com::sun::star::task::ClassifiedInteractionRequest
+{
+ /** This value describes the validity of the certificate.
+ */
+ long CertificateValidity;
+
+ /** The certificate himself.
+ */
+ com::sun::star::security::XCertificate Certificate;
+
+ /** The host name.
+ */
+ string HostName;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/CheckinArgument.idl b/offapi/com/sun/star/ucb/CheckinArgument.idl
new file mode 100644
index 000000000..08f6822a2
--- /dev/null
+++ b/offapi/com/sun/star/ucb/CheckinArgument.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/.
+ */
+#ifndef __com_sun_star_ucb_CheckinArgument_idl__
+#define __com_sun_star_ucb_CheckinArgument_idl__
+
+
+
+module com { module sun { module star { module ucb {
+
+/** contains information needed to checkin a document.
+
+ <p>The checkin command is always called on the target private
+ working copy document.</p>
+*/
+struct CheckinArgument
+{
+ /** Tells whether to create a new major or minor version during the
+ checkin.
+ */
+ boolean MajorVersion;
+
+ /** Contains the version comment to set during the checkin.
+ */
+ string VersionComment;
+
+ /** contains the URL of the source of the action (e.g. the URL of
+ the temporary file to checkin).
+ */
+ string SourceURL;
+
+ /** contains the URL of the private working copy to checkin.
+ */
+ string TargetURL;
+
+ /** contains the title of the transferred object, if it is different
+ from the original one.
+
+ <p>If this field is filled, for example, a file will be renamed
+ while it is being checked in.</p>
+ */
+ string NewTitle;
+
+ /** contains the Mime-Type of the content to check-in as it may be
+ different from the original one.
+ */
+ string MimeType;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/CmisContentProvider.idl b/offapi/com/sun/star/ucb/CmisContentProvider.idl
new file mode 100644
index 000000000..decd4b545
--- /dev/null
+++ b/offapi/com/sun/star/ucb/CmisContentProvider.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_ucb_CmisContentProvider_idl__
+#define __com_sun_star_ucb_CmisContentProvider_idl__
+
+#include <com/sun/star/ucb/XContentProvider.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** The Cmis Content Provider implements a ContentProvider
+ for the UniversalContentBroker (UCB).
+
+ <p>The served contents enable access to directories and files on a
+ cmis-enabled server.</p>
+
+ @see com::sun::star::ucb::Content
+
+ @since LibreOffice 3.5
+*/
+
+service CmisContentProvider : com::sun::star::ucb::XContentProvider
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/Command.idl b/offapi/com/sun/star/ucb/Command.idl
new file mode 100644
index 000000000..95731c118
--- /dev/null
+++ b/offapi/com/sun/star/ucb/Command.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_ucb_Command_idl__
+#define __com_sun_star_ucb_Command_idl__
+
+#include <com/sun/star/ucb/CommandInfo.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** contains a command.
+
+ @see XCommandProcessor
+*/
+published struct Command
+{
+ /** contains the name of the command.
+ */
+ string Name;
+
+ /** contains an implementation specific handle for the command.
+
+ <p>It must be <code>-1</code> if the implementation has no handle.
+ <code>0</code> is a valid command handle.
+ */
+ long Handle;
+
+ /** contains the argument of the command
+ */
+ any Argument;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/CommandAbortedException.idl b/offapi/com/sun/star/ucb/CommandAbortedException.idl
new file mode 100644
index 000000000..3a7645ea5
--- /dev/null
+++ b/offapi/com/sun/star/ucb/CommandAbortedException.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_ucb_CommandAbortedException_idl__
+#define __com_sun_star_ucb_CommandAbortedException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** This exception is thrown to indicate that a command was aborted.
+
+ @version 1.0
+ @see XCommandProcessor
+*/
+published exception CommandAbortedException : com::sun::star::uno::Exception
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/CommandEnvironment.idl b/offapi/com/sun/star/ucb/CommandEnvironment.idl
new file mode 100644
index 000000000..8133e799e
--- /dev/null
+++ b/offapi/com/sun/star/ucb/CommandEnvironment.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_ucb_CommandEnvironment_idl_
+#define _com_sun_star_ucb_CommandEnvironment_idl_
+
+#include <com/sun/star/ucb/XCommandEnvironment.idl>
+#include <com/sun/star/task/XInteractionHandler.idl>
+#include <com/sun/star/ucb/XProgressHandler.idl>
+
+module com { module sun { module star { module ucb {
+
+ /* This service implements an XCommandEnvironment that can be
+ initialized with any implementation of
+ com::sun::star::task::XInteractionHandler and
+ com::sun::star::ucb::XProgressHandler. The respective
+ get methods will simply return these handlers.
+
+ @since OOo 3.3
+ */
+ published service CommandEnvironment : ::com::sun::star::ucb::XCommandEnvironment
+ {
+ /** Constructor.
+
+ @param InteractionHandler the interaction handler instance that will be
+ returned by this service's implementation of
+ XCommandEnvironemt::getInteractionHandler()
+
+ @param ProgressHandler the progress handler instance that will be
+ returned by this service's implementation of
+ XCommandEnvironemt::getProgressHandler()
+ */
+ create( [in] com::sun::star::task::XInteractionHandler InteractionHandler,
+ [in] com::sun::star::ucb::XProgressHandler ProgressHandler );
+ };
+
+};};};};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/CommandFailedException.idl b/offapi/com/sun/star/ucb/CommandFailedException.idl
new file mode 100644
index 000000000..edd201c22
--- /dev/null
+++ b/offapi/com/sun/star/ucb/CommandFailedException.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_ucb_CommandFailedException_idl__
+#define __com_sun_star_ucb_CommandFailedException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** This exception is thrown if an exception situation occurred during the
+ processing of a command and an
+ com::sun::star::task::XInteractionHandler was able
+ to handle the request for the error condition and the requesting code
+ decided to abort the command execution according to the selection made
+ by the interaction handler.
+
+ @version 1.0
+ @see XCommandProcessor
+*/
+published exception CommandFailedException : com::sun::star::uno::Exception
+{
+ /** contains the exception that was passed to the
+ com::sun::star::task::XInteractionHandler.
+ */
+ any Reason;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/CommandInfo.idl b/offapi/com/sun/star/ucb/CommandInfo.idl
new file mode 100644
index 000000000..f02c31c70
--- /dev/null
+++ b/offapi/com/sun/star/ucb/CommandInfo.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_ucb_CommandInfo_idl__
+#define __com_sun_star_ucb_CommandInfo_idl__
+
+#include <com/sun/star/reflection/XIdlClass.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** describes a command.
+
+ @see XCommandProcessor
+*/
+published struct CommandInfo
+{
+ /** contains the name of a command.
+ */
+ string Name;
+
+ /** contains an implementation specific handle for the command.
+
+ <p>It may be <code>-1</code> if the implementation has no handle.
+ */
+ long Handle;
+
+ /** contains the type of the command's argument.
+ */
+ type ArgType;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/CommandInfoChange.idl b/offapi/com/sun/star/ucb/CommandInfoChange.idl
new file mode 100644
index 000000000..99a7bcc42
--- /dev/null
+++ b/offapi/com/sun/star/ucb/CommandInfoChange.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_ucb_CommandInfoChange_idl__
+#define __com_sun_star_ucb_CommandInfoChange_idl__
+
+
+
+module com { module sun { module star { module ucb {
+
+/** specifies reasons for sending CommandInfoChangeEvents.
+
+ @see CommandInfoChangeEvent
+ @see XCommandInfo
+*/
+published constants CommandInfoChange
+{
+ /** A command was inserted into a XCommandInfo.
+ */
+ const long COMMAND_INSERTED = 0;
+
+ /** A command was removed from a XCommandInfo.
+ */
+ const long COMMAND_REMOVED = 1;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/CommandInfoChangeEvent.idl b/offapi/com/sun/star/ucb/CommandInfoChangeEvent.idl
new file mode 100644
index 000000000..97985c5ae
--- /dev/null
+++ b/offapi/com/sun/star/ucb/CommandInfoChangeEvent.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_ucb_CommandInfoChangeEvent_idl__
+#define __com_sun_star_ucb_CommandInfoChangeEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** This event gets delivered whenever a XCommandInfo is changed.
+
+ <p>A CommandInfoChangeEvent object is sent to
+ XCommandInfoChangeListeners.
+*/
+published struct CommandInfoChangeEvent: com::sun::star::lang::EventObject
+{
+ /** contains the name of the command.
+ */
+ string Name;
+
+ /** contains the implementation handle for the command.
+
+ <p>May be <code>-1</code> if the implementation has no handle.
+ */
+ long Handle;
+
+ /** contains the reason for the event.
+
+ <p>The value can be one of the CommandInfoChange constants.
+ */
+ long Reason;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/ConnectionMode.idl b/offapi/com/sun/star/ucb/ConnectionMode.idl
new file mode 100644
index 000000000..76f6ff557
--- /dev/null
+++ b/offapi/com/sun/star/ucb/ConnectionMode.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_ucb_ConnectionMode_idl__
+#define __com_sun_star_ucb_ConnectionMode_idl__
+
+
+
+module com { module sun { module star { module ucb {
+
+/** These are the possible values for the property "ConnectionMode".
+
+ @see XCommandProcessor
+ @see Content
+*/
+published constants ConnectionMode
+{
+ /** "Online" - Network access is allowed.
+ */
+ const short ONLINE = 0;
+
+ /** "Offline" - Network access is not allowed.
+ */
+ const short OFFLINE = 1;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/Content.idl b/offapi/com/sun/star/ucb/Content.idl
new file mode 100644
index 000000000..c80bdb872
--- /dev/null
+++ b/offapi/com/sun/star/ucb/Content.idl
@@ -0,0 +1,983 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_ucb_Content_idl__
+#define __com_sun_star_ucb_Content_idl__
+
+#include <com/sun/star/ucb/XContent.idl>
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/ucb/XCommandProcessor.idl>
+#include <com/sun/star/ucb/XCommandProcessor2.idl>
+#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl>
+#include <com/sun/star/beans/XPropertyContainer.idl>
+#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl>
+#include <com/sun/star/beans/XPropertiesChangeNotifier.idl>
+#include <com/sun/star/ucb/XContentCreator.idl>
+#include <com/sun/star/container/XChild.idl>
+
+module com { module sun { module star { module ucb {
+
+/** A Content is a service that provides access to data of a
+ content provided by an implementation of the service
+ ContentProvider.
+*/
+published service Content
+{
+
+ /** provides access to the identity and the type of the content and
+ allows the registration of listeners for ContentEvents.
+
+ <p>This interface is required.
+ */
+ interface com::sun::star::ucb::XContent;
+
+ /** must be implemented to make it possible to resolve cyclic object
+ references.
+
+ <p>Those references i.e. may occur if there are listeners
+ registered at the content ( the content holds the listeners ) and
+ the implementation of the listener interface holds a reference on
+ the content. If the content shall be released,
+ com::sun::star::lang::XComponent::dispose() must
+ be called at the content. The implementation of this method must call
+ com::sun::star::lang::XEventListener::disposing()
+ on the registered listeners and release the appropriate object
+ references. At the other hand, the implementation of
+ XEventListener::disposing must release its appropriate references.
+
+ <p>This interface is required.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ /** enables the caller to let the content execute commands.
+
+ <p>It is strongly recommended that any implementation supports the
+ improved XCommandProcessor2 interface.</p>
+
+ <p>Typical commands are "open", "delete", "getPropertyValues" and
+ "setPropertyValues". Each content must support a set of standard
+ commands and properties. Also there is a set of predefined optionally
+ commands and properties. A content may define additional commands and
+ properties. </p>
+
+ <p>This interface is required.</p>
+
+ <h3>Commands</h3>
+ <h4>Mandatory commands</h4>
+
+ <table style="border-width: 1px; border-spacing: 0px; border-style: solid; border-color: gray; border-collapse: collapse; background-color: white;" class="devdoc">
+ <tr>
+ <th>Command Name</th>
+ <th>Return Type</th>
+ <th>Parameters</th>
+ <th>Description</th>
+ </tr>
+ <tr>
+ <td>getCommandInfo</td>
+ <td>XCommandInfo</td>
+ <td>void</td>
+ <td>This command obtains an interface which allows to query
+ information on commands supported by a content.
+ </td>
+ </tr>
+ <tr>
+ <td>getPropertySetInfo</td>
+ <td>com::sun::star::beans::XPropertySetInfo</td>
+ <td>void</td>
+ <td>This command obtains an interface which allows to query
+ information on properties supported by a content.
+ </td>
+ </tr>
+ <tr>
+ <td>getPropertyValues</td>
+ <td>com::sun::star::sdbc::XRow</td>
+ <td>sequence&lt; com::sun::star::beans::Property &gt; aProps</td>
+ <td>This command obtains property values from the content.
+ <blockquote>
+ <b>Note</b>: The execution will not be aborted, if there
+ are properties requested, that are unknown to the
+ content. The returned row object must contain a NULL
+ value in the corresponding column instead.
+ </blockquote>
+ </td>
+ </tr>
+ <tr>
+ <td>setPropertyValues</td>
+ <td>sequence&lt; any &gt;</td>
+ <td>sequence&lt; com::sun::star::beans::PropertyValue &gt; aValues</td>
+ <td>This command sets property values of the content.
+ <p>Note that setPropertyValues does not throw an exception in the case
+ that one or more of the requested property values cannot be set.
+ The implementation should set as much property values as possible.</p>
+
+ <p>This command returns a sequence< any > which has exactly the same number
+ of elements like the number of properties to set. Every sequence
+ element contains the status for a property. The first sequence
+ elements corresponds to the first element in the sequence of
+ com::sun::star::beans::PropertyValue passed as
+ command argument, and so on. The exceptions will never be passed to
+ a com::sun::star::task::InteractionHandler.</p>
+
+ <p>Every element in the returned sequence is an any containing:</p>
+ <ul>
+ <li>No value indicates, that the property value was set successfully.</li>
+ <li>com::sun::star::beans::UnknownPropertyException
+ indicates, that the property is not known to the content
+ implementation.</li>
+ <li>com::sun::star::beans::IllegalTypeException
+ indicates, that the data type of the property value is not
+ acceptable.</li>
+ <li>com::sun::star::lang::IllegalAccessException
+ indicates, that the property is constant
+ (com::sun::star::beans::PropertyAttribute::READONLY
+ is set).</li>
+ <li>com::sun::star::lang::IllegalArgumentException
+ indicates, that the property value is not acceptable. For instance,
+ setting an empty title may be illegal.</li>
+ <li>Any other exception derived from com::sun::star::uno::Exception
+ indicates, that the value was not set successfully. For example,
+ this can be an InteractiveAugmentedIOException
+ transporting the error code IOErrorCode::ACCESS_DENIED.</li>
+ </ul>
+
+ <p>If the value to set is equal to the current value, no exception must
+ be added to the returned sequence</p>
+ </td>
+ </tr>
+ </table>
+
+ <h4>Optional commands</h4>
+ <table style="border-width: 1px; border-spacing: 0px; border-style: solid; border-color: gray; border-collapse: collapse; background-color: white;" class="devdoc">
+ <tr>
+ <th>Command Name</th>
+ <th>Return Type</th>
+ <th>Parameters</th>
+ <th>Description</th>
+ </tr>
+ <tr>
+ <td>open</td>
+ <td>XDynamicResultSet</td>
+ <td>OpenCommandArgument2 aOpenCommandArg</td>
+ <td>
+ For <b>folder</b> objects, this command will return an
+ implementation of service DynamicResultSet.
+ <p>The OpenCommandArgument2 members must be
+ filled as follows:</p>
+ <ul>
+ <li>com::sun::star::ucb::OpenCommandArgument::Mode:
+ com::sun::star::ucb::OpenMode::ALL or
+ com::sun::star::ucb::OpenMode::FOLDERS or
+ com::sun::star::ucb::OpenMode::DOCUMENTS.
+ The implementation of the open command MUST support all these modes!
+ </li>
+ <li>com::sun::star::ucb::OpenCommandArgument::Priority:
+ can be set, but implementation may ignore the value
+ </li>
+ <li>com::sun::star::ucb::OpenCommandArgument::Sink:
+ empty( ignored )
+ </li>
+ <li>com::sun::star::ucb::OpenCommandArgument::Properties:
+ The properties for which the result set shall
+ contain the property values. The order of the
+ sequence is the same as the order of result set
+ columns. First element of sequence will be row
+ number one, second will be row number two, ...
+ </li>
+ <li>com::sun::star::ucb::OpenCommandArgument2::SortingInfo:
+ contains sort criteria, if result set shall
+ be sorted, otherwise it can be left empty.
+ </li>
+ </ul>
+ The execution must be aborted by the implementation of this command
+ (by throwing a CommandAbortedException), if an
+ unsupported mode is requested.
+ </td>
+ </tr>
+ <tr>
+ <td>open</td>
+ <td>void</td>
+ <td>OpenCommandArgument2 aOpenCommandArg</td>
+ <td>For non-folder objects, the OpenCommandArgument2
+ struct will be prefilled with a data sink object, which
+ will be filled with the content data.
+ <p>The OpenCommandArgument2 members must be
+ filled as follows:</p>
+ <ul>
+ <li>com::sun::star::ucb::OpenCommandArgument::Mode:
+ com::sun::star::ucb::OpenMode::DOCUMENT or
+ com::sun::star::ucb::OpenMode::DOCUMENT_SHARE_DENY_NONE or
+ com::sun::star::ucb::OpenMode::DOCUMENT_SHARE_DENY_WRITE.
+ Support for DOCUMENT is mandatory, all others are optional.
+ </li>
+ <li>com::sun::star::ucb::OpenCommandArgument::Priority:
+ can be set, but implementation may ignore the value
+ </li>
+ <li>com::sun::star::ucb::OpenCommandArgument::Sink:
+ a sink, where the implementation can put the document data into.
+ </li>
+ <li>com::sun::star::ucb::OpenCommandArgument::Properties: empty ( ignored )</li>
+ <li>com::sun::star::ucb::OpenCommandArgument2::SortingInfo: empty ( ignored )</li>
+ </ul>
+ <p>The execution must be aborted by the implementation of this command
+ (by throwing a CommandAbortedException), if an
+ unsupported mode is requested.</p>
+ </td>
+ </tr>
+ <tr>
+ <td>createNewContent</td>
+ <td>XContent</td>
+ <td>ContentInfo contentinfo</td>
+ <td>
+ This command creates a new <b>non-persistent</b> content of a given type.
+ <p>This command must be supported by every Content
+ that supports the property "CreatableContentsInfo", if the returned
+ property value contains a non-empty sequence of creatable types.
+ <blockquote>
+ Note: This command is part of the replacement for the deprecated
+ interface XContentCreator.
+ </blockquote>
+ <p>Creation of a new <b>persistent</b> content:
+ <ol>
+ <li>creatabletypes = obtain "CreatableContentsInfo" property from creator</li>
+ <li>choose a suitable type from creatabletypes</li>
+ <li>newObject = execute command "createNewContent(type)" at creator</li>
+ <li>initialize the new object (i.e. newObject.Property1 = ...)</li>
+ <li>execute command "insert" at new content. This command
+ commits the data and makes the new content persistent.</li>
+ </ol>
+ </td>
+ </tr>
+ <tr>
+ <td>insert</td>
+ <td>void</td>
+ <td>InsertCommandArgument aInsertCommandArg</td>
+ <td>
+ <ol>
+ <li>
+ This command inserts a <b>new content</b>. It commits the process of
+ creating a new content via executing the command "createNewContent"
+ and initializing it via setting properties, afterwards.<br>
+ The command is not called on the content which created the new
+ content, because the new object already knows where it is to be
+ inserted (i.e. Calling createNewContent with the content type for a
+ message on a News Group creates a content which internally belongs
+ to the Outbox. Calling "insert" on that message will result in
+ posting the article to the appropriate News Group). Not calling
+ "insert" for the new content, i.e. because the user cancels writing
+ a new message, simply discards the new object. No extra call to
+ "delete" is necessary.<br>
+ On successful completion of this command, the parent of the inserted
+ content must propagate the change by notifying a
+ ContentEvent - ContentAction::INSERTED.
+ </li>
+ <li>
+ Additionally this command can be called at any time to overwrite
+ the data of an <b>existing content</b>.
+ </li>
+ </ol>
+ </td>
+ </tr>
+ <tr>
+ <td>update</td>
+ <td>void</td>
+ <td>OpenCommandArgument2 aOpenCommandArg</td>
+ <td>This command triggers an update operation on a content.
+ For example, when "updating" a POP3-Inbox, the content
+ for that box will get and store all new objects on the
+ appropriate server. The inserted contents will be
+ notified by calling
+ XContentEventListener::contentEvent().
+ </td>
+ </tr>
+ <tr>
+ <td>synchronize</td>
+ <td>void</td>
+ <td>OpenCommandArgument2 aOpenCommandArg</td>
+ <td>
+ This command triggers a synchronization operation between locally
+ cached data and remote server's data. For example, when
+ "synchronizing" a POP3-Inbox the content for that box will get and
+ store all new objects and destroy all cached data for objects no
+ longer existing on the server. The inserted/deleted contents will
+ be notified by calling
+ XContent::contentEvent().
+ </td>
+ </tr>
+ <tr>
+ <td>close</td>
+ <td>void</td>
+ <td>void</td>
+ <td>This command closes an object.</td>
+ </tr>
+ <tr>
+ <td>delete</td>
+ <td>void</td>
+ <td>boolean bDeletePhysically</td>
+ <td>
+ This command deletes an object. If `TRUE` is passed as parameter,
+ the object will be destroyed physically. Otherwise it will be put
+ into trash can, if such a service is available and the object to
+ be deleted supports the command "undelete".
+ On successful completion of this command, the deleted content
+ must propagate its deletion by notifying a ContentEvent
+ - ContentAction::DELETED. Additionally, the contents
+ parent must notify a ContentEvent
+ - ContentAction::REMOVED
+ </td>
+ </tr>
+ <tr>
+ <td>undelete</td>
+ <td>void</td>
+ <td>void</td>
+ <td>
+ This command restores an object previously deleted into trash. It
+ must be supported by objects which claim to be undeletable, but
+ should never be called directly.
+ </td>
+ </tr>
+ <tr>
+ <td>search</td>
+ <td>XDynamicResultSet</td>
+ <td>SearchCommandArgument aSearchCommandArg</td>
+ <td>
+ This command searches for subcontents of a content matching the
+ given search criteria. The command will return an implementation
+ of service DynamicResultSet.
+ </td>
+ </tr>
+ <tr>
+ <td>transfer</td>
+ <td>void</td>
+ <td>TransferInfo aTransferInfo</td>
+ <td>
+ <blockquote>
+ <b>Important note:</b> A client that wants to transfer data should
+ not execute this command, but it should execute the command
+ "globalTransfer" at the UniversalContentBroker.
+ This command is able to transfer all kind of content
+ supported by that UCB.
+ </blockquote>
+ This command transfers (copies/moves) an object from one location
+ to another. It must be executed at the folder content representing
+ the <b>destination</b> of the transfer operation.<br>
+ Note that the implementation need not be able to handle
+ any type of contents.<br>
+ Generally, there are good chances that a transfer of a content will
+ succeed, if source and target folder have the same URL scheme.
+ But there is no guaranty for that.<br>
+ For instance, moving a message from a folder on IMAP server A
+ to a folder on IMAP server B may fail, because the transfer
+ command can't be implemented efficiently for this scenario,
+ because it is not directly supported by the IMAP protocol.
+ On the other hand, moving a message from one folder to
+ another folder on the same IMAP server should work, because it can
+ be implemented efficiently.<br>
+ If an implementation is not able to handle a given source URL,
+ it should indicate this by issuing a
+ InteractiveBadTransferURLException interaction request.<br>
+ Source and target folder may be the same when doing a move operation.
+ <br>
+ Transfers without the transfer command can be done as follows:
+ <ol>
+ <li>Create a new content at the target folder<br>
+ <code>targetContent = target.execute( "createNewContent", type )</code>
+ </li>
+ <li>Transfer data from source to target content<br>
+ <code>props = sourceContent.execute( "getPropertyValues", ... )</code>
+ <code>dataStream = sourceContent.execute( "open", ... )</code>
+ <code>targetContent.execute( "setPropertyValues", props )</code>
+ </li>
+ <li>Insert ( commit ) the new content<br>
+ <code>targetContent.execute( "insert", dataStream )</code>
+ </li>
+ <li>For move operations only: destroy the source content<br>
+ <code>sourceContent.execute( "delete", ... )</code>
+ </li>
+ </ol>
+ <p>This mechanism should work for all transfer operations, but generally
+ it's less efficient than the transfer command.</p>
+ </td>
+ </tr>
+ <tr>
+ <td>lock</td>
+ <td>void</td>
+ <td>void</td>
+ <td>
+ This command obtains an exclusive write lock for the resource. The
+ lock is active until command "unlock" is executed, or the OOo
+ session that obtained the lock ends, or until the lock is released by
+ a third party (e.g. a system administrator).<br>
+ Exceptions:
+ <ul>
+ <li>InteractiveLockingLockedException</li>
+ <li>InteractiveLockingLockExpiredException</li>
+ </ul>
+ </td>
+ </tr>
+ <tr>
+ <td>unlock</td>
+ <td>void</td>
+ <td>void</td>
+ <td>
+ This command removes a lock obtained by executing the command "lock"
+ from the resource.<br>
+ <p>Exceptions:
+ <ul>
+ <li>InteractiveLockingLockedException</li>
+ <li>InteractiveLockingLockExpiredException</li>
+ </ul>
+ </p>
+ <p>Note that InteractiveLockingLockExpiredException might
+ be raised by any command that requires a previously obtained lock.
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td>addProperty</td>
+ <td>void</td>
+ <td>PropertyCommandArgument aCmdArg</td>
+ <td>
+ Adds a new properties to the content.
+ <p>
+ PropertyCommandArgument::Property
+ contains information about the property to be added.
+ PropertyCommandArgument::DefaultValue
+ may contain the default value for the property. Its type must
+ match the one specified in com::sun::star::beans::Property::Type.
+ </p>
+ <p>Note that the dynamic properties must be kept persistent. The
+ service Store (UCB persistence service) may be used to
+ implement this.</p>
+ <p><b>Important:</b> The implementation must at least support
+ adding properties of the following basic data types:</p>
+ <p>
+ <ul>
+ <li>boolean
+ <li>char
+ <li>byte
+ <li>string
+ <li>short
+ <li>long
+ <li>hyper
+ <li>float
+ <li>double
+ </ul>
+ </p>
+ <p>
+ Raises a ::com::sun::star::beans::PropertyExistException
+ if a property with the same name already exists;
+ ::com::sun::star::beans::IllegalTypeException
+ if the property has an unsupported type;
+ ::com::sun::star::lang::IllegalArgumentException
+ if the Name of the property is empty.</p>
+ <blockquote>
+ Note: This command is new since Apache OpenOffice 4.0, LibreOffice 4.2 and replaces the deprecated interface method
+ com::sun::star::beans::XPropertyContainer::addProperty.
+ </blockquote>
+ </td>
+ </tr>
+ <tr>
+ <td>removeProperty</td>
+ <td>void</td>
+ <td>string PropertyName</td>
+ <td>Removes the properties from the content.
+ <p>Raises a ::com::sun::star::beans::UnknownPropertyException
+ if the property does not exist;
+ ::com::sun::star::beans::NotRemoveableException
+ if the property is not removable.</p>
+ <blockquote>
+ Note: This command is new since Apache OpenOffice 4.0, LibreOffice 4.2 and replaces the deprecated interface method
+ com::sun::star::beans::XPropertyContainer::removeProperty.
+ </blockquote>
+ </td>
+ </tr>
+ </table>
+
+ <h3>Properties</h3>
+ <h4>Mandatory properties</h4>
+
+ <table style="border-width: 1px; border-spacing: 0px; border-style: solid; border-color: gray; border-collapse: collapse; background-color: white;" class="devdoc">
+ <tr>
+ <th>Name</th>
+ <th>Type</th>
+ <th>Description</th>
+ </tr>
+ <tr>
+ <td>ContentType</td>
+ <td>string</td>
+ <td>
+ contains a unique type string for the content
+ ( i.e. "application/vnd.sun.star.hierarchy-link" ).
+ <p>This property is always read-only.</p>
+ <p>The ContentType should not be confused with the MIME
+ media type ( MIME types ) of the content. Media types
+ may be provided through the optional property "MediaType".</p>
+ <p>The value of this property should match the information on creatable
+ contents given by UCB contents that implement the property
+ "CreatableContentsInfo".</p>
+ </td>
+ </tr>
+ <tr>
+ <td>IsFolder</td>
+ <td>boolean</td>
+ <td>indicates, whether a content can contain other contents.</td>
+ </tr>
+ <tr>
+ <td>IsDocument</td>
+ <td>boolean</td>
+ <td>indicates, whether a content is a document. This means,
+ the content can dump itself into a data sink.
+ </td>
+ </tr>
+ <tr>
+ <td>Title</td>
+ <td>string</td>
+ <td>contains the title of an object (e.g. the subject of a message).</td>
+ </tr>
+ </table>
+
+ <h4>Optional properties</h4>
+
+ <table style="border-width: 1px; border-spacing: 0px; border-style: solid; border-color: gray; border-collapse: collapse; background-color: white;" class="devdoc">
+ <tr>
+ <th>Name</th>
+ <th>Type</th>
+ <th>Description</th>
+ </tr>
+ <tr>
+ <td>AutoUpdateInterval</td>
+ <td>long</td>
+ <td>contains the interval for automatic updates of an object.
+ It is specified in seconds.
+ </td>
+ </tr>
+ <tr>
+ <td>ConnectionLimit</td>
+ <td>short</td>
+ <td>contains the maximum number of network connections
+ allowed for one (internet) protocol at a time. (e.g. The HTTP
+ cache can be configured to use a maximum for the number of
+ connections used for browsing.)
+ </td>
+ </tr>
+ <tr>
+ <td>ConnectionMode</td>
+ <td>short</td>
+ <td>contains the current connection mode for the object.
+ (see ConnectionMode)
+ </td>
+ </tr>
+ <tr>
+ <td>CreatableContentsInfo</td>
+ <td>sequence ContentInfo</td>
+ <td>
+ contains the types of Contents a Content object can create via
+ command "createNewContent".
+ <p>If the property value can be a non-empty sequence, the
+ Content must also support command "createNewContent".</p>
+ <blockquote>
+ Note: This property is part of the replacement for the deprecated
+ interface XContentCreator.
+ </blockquote>
+ </td>
+ </tr>
+ <tr>
+ <td>DateCreated</td>
+ <td>com::sun::star::util::DateTime</td>
+ <td>contains the date and time the object was created.</td>
+ </tr>
+ <tr>
+ <td>DateModified</td>
+ <td>com::sun::star::util::DateTime</td>
+ <td>contains the date and time the object was last modified.</td>
+ </tr>
+ <tr>
+ <td>DocumentCount</td>
+ <td>long</td>
+ <td>contains the count of documents of a folder.</td>
+ </tr>
+ <tr>
+ <td>DocumentCountMarked</td>
+ <td>long</td>
+ <td>contains the count of marked documents within a folder.</td>
+ </tr>
+ <tr>
+ <td>DocumentHeader</td>
+ <td>sequence&lt; DocumentHeaderField &gt; </td>
+ <td>contains a sequence of document header fields (i.e. header
+ fields of a MIME-message, or the document info of an
+ office document ). For some standard header fields there
+ are predefined separate properties, like &quot;MessageTo&quot;.
+ </td>
+ </tr>
+ <tr>
+ <td>DocumentStoreMode</td>
+ <td>DocumentStoreMode</td>
+ <td>contains information about the way a folder stores the
+ contents of (remote) documents.
+ </td>
+ </tr>
+ <tr>
+ <td>FolderCount</td>
+ <td>long</td>
+ <td>contains the count of subfolders of a folder.</td>
+ </tr>
+ <tr>
+ <td>FreeSpace</td>
+ <td>hyper</td>
+ <td>contains the free space left on a storage device. It is
+ specified in bytes.</td>
+ </tr>
+ <tr>
+ <td>HasDocuments</td>
+ <td>boolean</td>
+ <td>indicates whether a content has subcontents, which are documents.</td>
+ </tr>
+ <tr>
+ <td>HasFolders</td>
+ <td>boolean</td>
+ <td>indicates whether a content has subcontents, which are folders.</td>
+ </tr>
+ <tr>
+ <td>IsMarked</td>
+ <td>boolean</td>
+ <td>indicates whether a content is &quot;marked&quot;.</td>
+ </tr>
+ <tr>
+ <td>IsRead</td>
+ <td>boolean</td>
+ <td>indicates whether a content has been "read".</td>
+ </tr>
+ <tr>
+ <td>IsReadOnly</td>
+ <td>boolean</td>
+ <td>indicates whether a content is read-only.</td>
+ </tr>
+ <tr>
+ <td>IsSubscribed</td>
+ <td>boolean</td>
+ <td>indicates whether a content is subscribed.</td>
+ </tr>
+ <tr>
+ <td>IsTimeLimitedStore</td>
+ <td>boolean</td>
+ <td>indicates whether the feature to store contents
+ depending on their age is active.</td>
+ </tr>
+ <tr>
+ <td>UpdateOnOpen</td>
+ <td>boolean</td>
+ <td>indicates whether (sub)contents shall be automatically updated
+ every time a (folder) content is opened.<br>This property may be
+ used to control whether a folder content should read data only
+ from local cache when it is opened, or whether it should connect
+ to a server to obtain latest data.</td>
+ </tr>
+ <tr>
+ <td>Keywords</td>
+ <td>string</td>
+ <td>contains the keywords of a document (e.g. the value
+ of the &quot;keywords&quot; header field of a news article).</td>
+ </tr>
+ <tr>
+ <td>MediaType</td>
+ <td>string</td>
+ <td>contains the media type ( MIME type ) of a content. It is highly
+ recommended to support this property if the content's implementation
+ can obtain the media type natively from its data source ( i.e.
+ HTTP servers provide media types for all their documents ).
+ </td>
+ </tr>
+ <tr>
+ <td>MessageBCC</td>
+ <td>string</td>
+ <td>contains the BCC (blind carbon copy) receiver(s) of a message.</td>
+ </tr>
+ <tr>
+ <td>MessageCC</td>
+ <td>string</td>
+ <td>contains the CC (carbon copy) receiver(s) of a message.</td>
+ </tr>
+ <tr>
+ <td>MessageFrom</td>
+ <td>string</td>
+ <td>contains (the address of) the sender of a message.</td>
+ </tr>
+ <tr>
+ <td>MessageId</td>
+ <td>string</td>
+ <td>contains the ID of a message.</td>
+ </tr>
+ <tr>
+ <td>MessageInReplyTo</td>
+ <td>string</td>
+ <td>contains the &quot;In-Reply-To&quot; field of a message.</td>
+ </tr>
+ <tr>
+ <td>MessageReplyTo</td>
+ <td>string</td>
+ <td>contains the &quot;Reply-To&quot; field of a message.</td>
+ </tr>
+ <tr>
+ <td>MessageTo</td>
+ <td>string</td>
+ <td>contains the recipient(s) of a message.</td>
+ </tr>
+ <tr>
+ <td>NewsGroups</td>
+ <td>string</td>
+ <td>contains the name(s) of the newsgroup(s) into which a message was posted.</td>
+ </tr>
+ <tr>
+ <td>Password</td>
+ <td>string</td>
+ <td>contains a password (e.g. needed to access a POP3-Server).</td>
+ </tr>
+ <tr>
+ <td>Priority</td>
+ <td>Priority</td>
+ <td>contains a priority (i.e. of a message).</td>
+ </tr>
+ <tr>
+ <td>References</td>
+ <td>string</td>
+ <td>contains the &quot;References&quot; field of a news article.</td>
+ </tr>
+ <tr>
+ <td>Rules</td>
+ <td>RuleSet</td>
+ <td>contains the rules set for a content.</td>
+ </tr>
+ <tr>
+ <td>SeenCount</td>
+ <td>long</td>
+ <td>contains the count of seen/read subcontents of a folder content.</td>
+ </tr>
+ <tr>
+ <td>ServerBase</td>
+ <td>string</td>
+ <td>contains the base directory to use on a server. (e.g. Setting
+ the server base of an FTP-Account to &quot;/pub/incoming&quot;
+ will result in showing contents from that directory and not from
+ server's root directory)
+ </td>
+ </tr>
+ <tr>
+ <td>ServerName</td>
+ <td>string</td>
+ <td>contains a server name (e.g. The name of the server to use for
+ a POP3-Account).
+ </td>
+ </tr>
+ <tr>
+ <td>ServerPort</td>
+ <td>short</td>
+ <td>contains a numeric server port.</td>
+ </tr>
+ <tr>
+ <td>Size</td>
+ <td>hyper</td>
+ <td>contains the size (usually in bytes) of an object.</td>
+ </tr>
+ <tr>
+ <td>SizeLimit</td>
+ <td>hyper</td>
+ <td>contains a size limit for an object. (e.g. One may specify the
+ maximum size of the HTTP-Cache)
+ </td>
+ </tr>
+ <tr>
+ <td>SubscribedCount</td>
+ <td>long</td>
+ <td>contains the count of subscribed contents of a folder.</td>
+ </tr>
+ <tr>
+ <td>SynchronizePolicy</td>
+ <td>SynchronizePolicy</td>
+ <td>contains the policy to use when synchronizing two objects.</td>
+ </tr>
+ <tr>
+ <td>TargetFrames</td>
+ <td>string</td>
+ <td>contains information about the target frame to use when displaying
+ an object.
+ <p>The value is a string containing three tokens, separated by &quot;;&quot;
+ (A semicolon):<br/>
+ <dl>
+ <dt>1st token</dt>
+ <dd>Behavior on &quot;select&quot; ( single click )</dd>
+ <dt>2nd token</dt>
+ <dd>Behavior on &quot;open&quot; ( double click )</dd>
+ <dt>3rd token</dt>
+ <dd>Behavior on &quot;open in new task&quot; ( double click + CTRL key )</dd>
+ </dl>
+ </p>
+ <p> Each token may contain the following values:<br/>
+ <dl>
+ <dt>&quot;_beamer&quot;</dt>
+ <dd>Show in &quot;Beamer&quot;</dd>
+ <dt>&quot;_top&quot;</dt>
+ <dd>Show in current frame (replaces old)</dd>
+ <dt>&quot;_blank&quot;</dt>
+ <dd>Show in new task</dd>
+ </dl>
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td>TargetURL</td>
+ <td>string</td>
+ <td>for contents that are links to other contents, contains the URL of
+ the target content</td>
+ </tr>
+ <tr>
+ <td>TimeLimitStore</td>
+ <td>short</td>
+ <td>contains the value to use if the property "IsTimeLimitedStore" is set.</td>
+ </tr>
+ <tr>
+ <td>UserName</td>
+ <td>string</td>
+ <td>contains a user name. (e.g. the user name needed to access a
+ POP3-Account)</td>
+ </tr>
+ <tr>
+ <td>VerificationMode</td>
+ <td>VerificationMode </td>
+ <td>describes a verification policy.</td>
+ </tr>
+ </table>
+ */
+ interface com::sun::star::ucb::XCommandProcessor;
+
+
+ /** is an enhanced version of XCommandProcessor that has an
+ additional method for releasing command identifiers obtained via
+ XCommandProcessor::createCommandIdentifier() to avoid
+ resource leaks. For a detailed description of the problem refer to
+ XCommandProcessor2::releaseCommandIdentifier().
+
+ <p>Where many existing Content implementations do not
+ (yet), every new implementation should support this interface.
+ */
+ [optional] interface com::sun::star::ucb::XCommandProcessor2;
+
+ /** notifies changes of property values to listeners registered for
+ those properties.
+
+ <p>This interface is required.
+ */
+ interface com::sun::star::beans::XPropertiesChangeNotifier;
+
+ /** can be used to add new properties to the content and to remove
+ properties from the content dynamically.
+
+ <p>Note that the dynamic properties must be kept persistent. The
+ service Store (UCB persistence service) may be used to
+ implement this.
+
+ <p><b>Important:</b> The implementation of
+ com::sun::star::beans::XPropertyContainer::addProperty()
+ must at least support adding properties of the following basic data
+ types:
+
+ <p>
+ <ul>
+ <li>boolean
+ <li>char
+ <li>byte
+ <li>string
+ <li>short
+ <li>long
+ <li>hyper
+ <li>float
+ <li>double
+ </ul>
+ </p>
+
+ <p>If a property with an unsupported type shall be added a
+ com::sun::star::beans::IllegalTypeException must
+ be raised.
+
+ @deprecated
+ <p>This interface is <b>deprecated</b>, because a
+ ContentProvider might need a
+ XCommandEnvironment to perform the tasks of adding and
+ removing properties. New implementations should implement the
+ respective commands "addProperty" and "removeProperty" instead.
+ */
+ interface com::sun::star::beans::XPropertyContainer;
+
+ /** can be used to notify properties removed from or added to the
+ content's property set.
+
+ <p>This interface must be implemented, if the implementation can
+ dynamically change it's property set ( e.g. because it implements
+ the interface
+ com::sun::star::beans::XPropertyContainer. )
+ */
+ [optional] interface com::sun::star::beans::XPropertySetInfoChangeNotifier;
+
+ /** can be used to notify commands removed from or added to the
+ content's command set.
+
+ <p>This interface must be implemented, if the implementation can
+ dynamically change it's command set ( e.g. because the set of
+ available commands depends on the value of a property of the
+ content ).
+
+ <p>This interface is optional.
+ */
+ [optional] interface com::sun::star::ucb::XCommandInfoChangeNotifier;
+
+ /** creates new contents (i.e. creates a new folder in another folder
+ somewhere in the local file system).
+
+ <p>A content is "new", if it does not physically exist before creating
+ it using this interface.
+
+ <p>This interface is optional. It should be implemented by contents
+ which shall be able to create new objects.
+
+ @deprecated
+
+ <p>This interface is <b>deprecated</b>. Use property
+ "CreatableContentsInfo" and command "createNewContent" instead.
+ */
+ [optional] interface com::sun::star::ucb::XContentCreator;
+
+ /** provides access to the parent content of this content.
+
+ <p>The object returned by the implementation of the method
+ com::sun::star::container::XChild::getParent()
+ must implement the service Content. If the content is a
+ root object, an empty interface may be returned.
+
+ <p>This interface must be implemented by a content which is a (logical)
+ child of a content.
+ */
+ [optional] interface com::sun::star::container::XChild;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/ContentAction.idl b/offapi/com/sun/star/ucb/ContentAction.idl
new file mode 100644
index 000000000..4e3127756
--- /dev/null
+++ b/offapi/com/sun/star/ucb/ContentAction.idl
@@ -0,0 +1,147 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_ucb_ContentAction_idl__
+#define __com_sun_star_ucb_ContentAction_idl__
+
+
+
+module com { module sun { module star { module ucb {
+
+/** specifies actions which can be transported with content events.
+
+ <p>
+ The situations under which contents will send ContentEvents of the various
+ action types are described below. The description is broken into a list of
+ useful definitions, a list of events that happen to contents, and a list of
+ reactions taken by contents in response to those events.
+ </p>
+
+ <p>
+ The definitions are as follows:
+ </p>
+
+ <table border =1>
+ <tr><td>D1</td><td>A content C has an identifier id(C).</td></tr>
+ <tr><td>D2</td><td>A content C is in one of two states, Alive or Deleted.
+ </td></tr>
+ <tr><td>D3</td><td>A folder content F has a set of children H(F) that is a
+ set of content identifiers. For example, an "open"
+ command will usually return a subset of the contents
+ denoted by H(F).</td></tr>
+ </table>
+
+ <p>
+ The events that can happen to contents (and that are of interest in this
+ context) are listed next. Note that "event" here does not mean an
+ ContentEvent, but rather some event that occurs either because some content
+ processes a command, or because a content gets informed about a relevant
+ change in the underlying system it represents.
+ </p>
+
+ <table border =1>
+ <tr><td>E1</td><td>The identifier of a content C changes from id1(C) == A
+ to id2(C) == B, denoted as E1(C: A->B). For example,
+ this event may occur when content C processes a
+ "setPropertyValues" command changing its "Title" property,
+ or when a folder that hierarchically contains C changes
+ its identity.</td></tr>
+ <tr><td>E2</td><td>The state of a content C changes from Alive to Deleted,
+ denoted as E2(C). For example, this event may occur when
+ content C processes a "delete" command, or when a content
+ representing an IMAP message gets informed by the IMAP
+ server that the message has been deleted.</td></tr>
+ <tr><td>E3</td><td>The set of children of a folder content F is enlarged by
+ some identifier A (that was not previously in that set,
+ i.e., !(A in H1(F)) && (A in H2(F))), denoted as E3(F, A).
+ For example, this event may occur when a new content
+ created at folder F processes its "insert" command, or
+ when a folder representing an IMAP mailbox gets informed
+ by the IMAP server that a new message has arrived at that
+ mailbox.</td></tr>
+ </table>
+
+ <p>
+ Finally, the list of reactions taken by contents in response to the above
+ events gives a description of what kinds of ContentEvents are sent in which
+ situations:
+ </p>
+
+ <table border =1>
+ <tr><td>R1</td><td>E1(C: A->B) results in C sending an EXCHANGED
+ ContentEvent, which then results in the following: All
+ folders F that used to have A as a child, but will not
+ have B as a child, i.e., (A in H1(F)) && !(B in H2(F)),
+ send a REMOVED ContentEvent.</td></tr>
+ <tr><td>R2</td><td>E2(C) results in C sending a DELETED ContentEvent,
+ which then results in the following: All folders F that
+ used to have A as a child, but will not continue to have
+ A as a child, i.e., (A in H1(F)) && !(A in H2(F)), send
+ a REMOVED event.</td></tr>
+ <tr><td>R3</td><td>E3(F, A) results in F sending an INSERTED event.</td></tr>
+ </table>
+*/
+published constants ContentAction
+{
+ /** A content was inserted into a folder content (i.e., while updating the
+ folder).
+
+ <p>This action must be notified at the listeners of the folder content.
+ */
+ const long INSERTED = 0;
+
+ /** A content was removed from a folder content, but not physically
+ destroyed (i.e., due to rules just applied to the folder).
+
+ <p>This action must be notified at the listeners of the folder content.
+ */
+ const long REMOVED = 1;
+
+ /** A content was physically destroyed.
+
+ <p>Events containing this action may be generated at any time. So a
+ content event listener should be prepared to get notified the "death"
+ of the related content!
+
+ <p>This action must be notified at the listeners of the deleted
+ content.
+ */
+ const long DELETED = 2;
+
+ /** This Action indicates that a content has changed its identity (i.e.
+ after renaming a file system folder).
+
+ <p>This action must be notified at the listeners of the exchanged
+ content.
+ */
+ const long EXCHANGED = 4;
+
+ /** This is obsolete and should no longer be used.
+
+ @deprecated
+ */
+ const long SEARCH_MATCHED = 128;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/ContentCreationError.idl b/offapi/com/sun/star/ucb/ContentCreationError.idl
new file mode 100644
index 000000000..e849d4e5f
--- /dev/null
+++ b/offapi/com/sun/star/ucb/ContentCreationError.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_ucb_ContentCreationError_idl__
+#define __com_sun_star_ucb_ContentCreationError_idl__
+
+
+
+module com { module sun { module star { module ucb {
+
+/** Codes for content creation errors.
+*/
+published enum ContentCreationError
+{
+ /** Unknown.
+ */
+ UNKNOWN,
+
+ /** @deprecated
+ */
+ NO_CONTENT_BROKER,
+
+ /** @deprecated
+ */
+ NO_IDENTIFIER_FACTORY,
+
+ /** Creation of content identifier failed.
+ */
+ IDENTIFIER_CREATION_FAILED,
+
+ /** No Content Provider for given content identifier available.
+ */
+ NO_CONTENT_PROVIDER,
+
+ /** Provider was unable to create the content instance.
+ */
+ CONTENT_CREATION_FAILED
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/ContentCreationException.idl b/offapi/com/sun/star/ucb/ContentCreationException.idl
new file mode 100644
index 000000000..9f8bcfbe0
--- /dev/null
+++ b/offapi/com/sun/star/ucb/ContentCreationException.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_ucb_ContentCreationException_idl__
+#define __com_sun_star_ucb_ContentCreationException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+#include <com/sun/star/ucb/ContentCreationError.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** This exception is thrown to indicate that the creation of a UCB content
+ failed.
+
+ @version 1.0
+*/
+published exception ContentCreationException : com::sun::star::uno::Exception
+{
+ /** An error code.
+ */
+ ContentCreationError eError;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/ContentEvent.idl b/offapi/com/sun/star/ucb/ContentEvent.idl
new file mode 100644
index 000000000..bc5a74023
--- /dev/null
+++ b/offapi/com/sun/star/ucb/ContentEvent.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_ucb_ContentEvent_idl__
+#define __com_sun_star_ucb_ContentEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+
+
+module com { module sun { module star { module ucb {
+
+ published interface XContent;
+ published interface XContentIdentifier;
+
+/** A structure for content events.
+*/
+published struct ContentEvent: com::sun::star::lang::EventObject
+{
+ /** The action.
+
+ <p>The value can be one of the ContentAction constants.
+ */
+ long Action;
+
+ /** The content to that the action is related (e.g., the content that was
+ just physically destroyed, the content that was just inserted into a
+ folder content).
+
+ <p>This member must be filled as follows:
+
+ <table border=1>
+ <tr align=left>
+ <td>ContentAction::INSERTED</td>
+ <td>The content inserted into a folder</td>
+ </tr>
+ <tr align=left>
+ <td>ContentAction::REMOVED</td>
+ <td>The content removed from a folder</td>
+ </tr>
+ <tr align=left>
+ <td>ContentAction::DELETED</td>
+ <td>The deleted content</td>
+ </tr>
+ <tr align=left>
+ <td>ContentAction::EXCHANGED</td>
+ <td>The exchanged content (that already has the new content id)</td>
+ </tr>
+ </table>
+ */
+ XContent Content;
+
+ /** A content identifier, which must be filled according to the action
+ notified (e.g., the id of the folder content into which another content
+ was inserted).
+
+ <p>This member must be filled as follows:
+
+ <table border=1>
+ <tr align=left>
+ <td>ContentAction::INSERTED</td>
+ <td>Id of the folder the content was inserted into</td>
+ </tr>
+ <tr align=left>
+ <td>ContentAction::REMOVED</td>
+ <td>Id of the folder the content was removed from</td>
+ </tr>
+ <tr align=left>
+ <td>ContentAction::DELETED</td>
+ <td>Id of the deleted content</td>
+ </tr>
+ <tr align=left>
+ <td>ContentAction::EXCHANGED</td>
+ <td>Previous(!) id of the exchanged content</td>
+ </tr>
+ </table>
+ */
+ XContentIdentifier Id;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/ContentInfo.idl b/offapi/com/sun/star/ucb/ContentInfo.idl
new file mode 100644
index 000000000..f10c8527b
--- /dev/null
+++ b/offapi/com/sun/star/ucb/ContentInfo.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_ucb_ContentInfo_idl__
+#define __com_sun_star_ucb_ContentInfo_idl__
+
+#include <com/sun/star/beans/Property.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** A structure for information about contents.
+
+ @see XContentCreator
+ @see XCommandProcessor
+*/
+published struct ContentInfo
+{
+ /** A type identifier string for a content.
+
+ <p>This is an implementation specific string characterizing the
+ kind of a content (e.g. "application/vnd.sun.star.hierarchy-link").
+ The value of this member should match the value returned by
+ XContent::getContentType() of an appropriate content.
+ */
+ string Type;
+
+ /** Additional attributes.
+
+ <p>These flags contain extra information on the content, like its kind
+ (KIND_FOLDER, KIND_DOCUMENT, KIND_LINK).
+
+ <p>It is highly recommended to fill these flags very accurately, as
+ they are very important when transferring contents between different
+ ContentProviders.
+
+ <p>The value can be one of the ContentInfoAttribute
+ constants.
+ */
+ long Attributes;
+
+ /** This field contains a list with the properties which must be set at
+ a content that was just created using
+ XContentCreator::createNewContent() before it can be
+ committed (by executing the command "insert" at the new content).
+
+ <p>If one of the properties is missing, the insert command will fail.
+
+ <p>In example, a new file system folder content will need a title. The
+ Properties member of the ContentInfo provided for this kind of
+ content must include the property "Title".
+
+ <p><b>Important:</b> The required properties must have one of the
+ following basic data types (in order to make it possible to implement
+ client applications with a small set of generic input methods for the
+ values):
+
+ <p>
+ <ul>
+ <li>boolean
+ <li>char
+ <li>byte
+ <li>string
+ <li>short
+ <li>long
+ <li>hyper
+ <li>float
+ <li>double
+ </ul>
+ */
+ sequence< com::sun::star::beans::Property > Properties;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/ContentInfoAttribute.idl b/offapi/com/sun/star/ucb/ContentInfoAttribute.idl
new file mode 100644
index 000000000..ac1207797
--- /dev/null
+++ b/offapi/com/sun/star/ucb/ContentInfoAttribute.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_ucb_ContentInfoAttribute_idl__
+#define __com_sun_star_ucb_ContentInfoAttribute_idl__
+
+
+
+module com { module sun { module star { module ucb {
+
+/** These are the possible values for ContentInfo::Attributes.
+*/
+published constants ContentInfoAttribute
+{
+ /** No extra attributes.
+ */
+ const short NONE = 0;
+
+ /** Supply an input stream with the InsertCommandArgument,
+ when committing the new content by executing the command "insert" at it.
+ */
+ const short INSERT_WITH_INPUTSTREAM = 1;
+
+ /** The new content is of kind document.
+
+ <p>It's value for the property "IsDocument" will be true.
+ */
+ const short KIND_DOCUMENT = 2;
+
+ /** The new content is of kind folder.
+
+ <p>It's value for the property "IsFolder" will be true.
+ */
+ const short KIND_FOLDER = 4;
+
+ /** The new content is of kind link.
+
+ <p>It will support the property "TargetURL" ( which identifies it as
+ a link ).
+ */
+ const short KIND_LINK = 8;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/ContentProvider.idl b/offapi/com/sun/star/ucb/ContentProvider.idl
new file mode 100644
index 000000000..27328f3ef
--- /dev/null
+++ b/offapi/com/sun/star/ucb/ContentProvider.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_ucb_ContentProvider_idl__
+#define __com_sun_star_ucb_ContentProvider_idl__
+
+#include <com/sun/star/ucb/XContentProvider.idl>
+#include <com/sun/star/ucb/XContentIdentifierFactory.idl>
+#include <com/sun/star/ucb/XParameterizedContentProvider.idl>
+#include <com/sun/star/ucb/XContentProviderSupplier.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** provides access to a set of Contents.
+*/
+published service ContentProvider
+{
+ /** gives access to all contents provided by this provider.
+ */
+ interface com::sun::star::ucb::XContentProvider;
+
+ /** creates special XContentIdentifier implementation
+ objects for the contents provided by this content provider.
+
+ <p>This interface can be implemented in case the provider wants to
+ provide some additional interfaces with its implementation of the
+ identifier objects.
+ */
+ [optional] interface com::sun::star::ucb::XContentIdentifierFactory;
+
+ /** allows a ContentProvider to adjust itself to special
+ needs.
+
+ <p>Whenever a ContentProvider that supports this interface is
+ registered at a XContentProviderManager, the method
+ XParameterizedContentProvider::registerInstance()
+ should first be called, using the returned XContentProvider
+ to register at the XContentProviderManager.
+ */
+ [optional] interface com::sun::star::ucb::XParameterizedContentProvider;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/ContentProviderInfo.idl b/offapi/com/sun/star/ucb/ContentProviderInfo.idl
new file mode 100644
index 000000000..04cc88c22
--- /dev/null
+++ b/offapi/com/sun/star/ucb/ContentProviderInfo.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_ucb_ContentProviderInfo_idl__
+#define __com_sun_star_ucb_ContentProviderInfo_idl__
+
+#include <com/sun/star/ucb/XContentProvider.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** A structure for content provider information.
+
+ @see XContentProviderManager
+*/
+published struct ContentProviderInfo
+{
+ /** The content provider.
+ */
+ com::sun::star::ucb::XContentProvider ContentProvider;
+
+ /** The scheme the Provider is registered for.
+ */
+ string Scheme;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/ContentProviderProxy.idl b/offapi/com/sun/star/ucb/ContentProviderProxy.idl
new file mode 100644
index 000000000..3320affa5
--- /dev/null
+++ b/offapi/com/sun/star/ucb/ContentProviderProxy.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_ucb_ContentProviderProxy_idl__
+#define __com_sun_star_ucb_ContentProviderProxy_idl__
+
+#include <com/sun/star/ucb/XContentProviderSupplier.idl>
+#include <com/sun/star/ucb/XContentProvider.idl>
+#include <com/sun/star/ucb/XParameterizedContentProvider.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** is a proxy for a content provider.
+
+ <p>Implementing a content provider proxy can be useful if the creation of
+ the real content provider object shall be deferred for some reason
+ (i.e. performance) until the first method gets called on it. Instead of
+ instantiating and registering the real provider at the UCB, a proxy for
+ the real provider can be created and registered at the UCB.
+
+ @see XContentProviderProxyFactory
+*/
+published service ContentProviderProxy
+{
+ /** The implementation of
+ com::sun::star::uno::XInterface::queryInterface()
+ must instantiate the real provider and return the return value
+ of a queryInterface call at the real provider, except for queries
+ for the interfaces implemented by the proxy itself. So the caller of
+ the queryInterface method at the proxy will get access to the real
+ provider in a completely transparent way.
+ */
+ interface com::sun::star::uno::XInterface;
+
+ /** gives access to the original content provider behind the proxy.
+
+ <p>The implementation will instantiate the real content provider only
+ on demand using its UNO service name. This will load the content
+ providers implementation code (dynamic library), if not already done.
+ */
+ interface com::sun::star::ucb::XContentProviderSupplier;
+
+ /** a content provider implementation that wraps the original provider.
+ */
+ interface com::sun::star::ucb::XContentProvider;
+
+ /** a parameterized content provider implementation that wraps the
+ original provider.
+ */
+ interface com::sun::star::ucb::XParameterizedContentProvider;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/ContentProviderProxyFactory.idl b/offapi/com/sun/star/ucb/ContentProviderProxyFactory.idl
new file mode 100644
index 000000000..caf7263cf
--- /dev/null
+++ b/offapi/com/sun/star/ucb/ContentProviderProxyFactory.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_ucb_ContentProviderProxyFactory_idl__
+#define __com_sun_star_ucb_ContentProviderProxyFactory_idl__
+
+#include <com/sun/star/ucb/XContentProviderFactory.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** is a factory for ContentProviderProxy implementations.
+*/
+published service ContentProviderProxyFactory : XContentProviderFactory;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/ContentResultSet.idl b/offapi/com/sun/star/ucb/ContentResultSet.idl
new file mode 100644
index 000000000..513b25458
--- /dev/null
+++ b/offapi/com/sun/star/ucb/ContentResultSet.idl
@@ -0,0 +1,193 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_ucb_ContentResultSet_idl__
+#define __com_sun_star_ucb_ContentResultSet_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/sdbc/XResultSet.idl>
+#include <com/sun/star/sdbc/XResultSetMetaDataSupplier.idl>
+#include <com/sun/star/sdbc/XRow.idl>
+#include <com/sun/star/sdbc/XCloseable.idl>
+#include <com/sun/star/ucb/XContentAccess.idl>
+#include <com/sun/star/sdbc/ResultSet.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** provides access to the children of a folder content.
+
+ <p>It can be understand as a table containing a row for each child. The
+ table columns may contain values of properties of the children.
+*/
+published service ContentResultSet
+{
+ /** must be implemented to make it possible to resolve cyclic object
+ references ( i.e. between an implementation of
+ com::sun::star::beans::XPropertySet
+ - which may hold property change listeners - and
+ com::sun::star::beans::XPropertyChangeListener
+ - which may hold the property set ).
+
+ <p>This interface is required.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ /** provides access to the result set meta data. Meta data are for
+ example the number of columns of the result set, information
+ on the data types of columns, column names, and more.
+
+ <p>This interface is required.
+ */
+ interface com::sun::star::sdbc::XResultSetMetaDataSupplier;
+
+ /** enables traveling through the result set members ( the contents ).
+ This interface mainly provides a cursor for the result set.
+
+ <p>Note that every method of this interface implementation additionally
+ may throw a ResultSetException ( which is derived from
+ com::sun::star::sdbc::SQLException to be compatible
+ to that interface ). The new exception transports another exception,
+ which indicates the reason for the failure of the method call.
+
+ <p>This interface is required.
+ */
+ interface com::sun::star::sdbc::XResultSet;
+
+ /** provides access to data of the content the cursor is pointing to.
+
+ <p>Note that every method of this interface implementation additionally
+ may throw a ResultSetException ( which is derived from
+ com::sun::star::sdbc::SQLException to be compatible
+ to that interface ). The new exception transports another exception,
+ which indicates the reason for the failure of the method call.
+
+ <p>This interface is required.
+ */
+ interface com::sun::star::sdbc::XRow;
+
+ /** makes it possible to abort running activities ( i.e. to cancel
+ retrieving data from a server ).
+
+ <p>Note that every method of this interface implementation additionally
+ may throw a ResultSetException ( which is derived from
+ com::sun::star::sdbc::SQLException to be compatible
+ to that interface ). The new exception transports another exception,
+ which indicates the reason for the failure of the method call.
+
+ <p>This interface is required.
+ */
+ interface com::sun::star::sdbc::XCloseable;
+
+ /** holds properties of the result set.
+
+ <p>This interface is required.
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+ /** controls the travel mode of the result set cursor.
+
+ <p>There are two possible travel modes:
+
+ <p><table border=1>
+ <tr><td>CursorTravelMode::BLOCKING</td>
+ <td>Each travel method of the result set will not return until the
+ data for the new position were retrieved.</td></tr>
+ <tr><td>CursorTravelMode::NONBLOCKING</td>
+ <td>The implementation will throw a
+ <code>CursorWouldBlockException</code>, if the data for the new
+ position are not retrieved yet.</td></tr>
+ </table>
+
+ <p>The following pseudo-code illustrates the usage of a non-blocking
+ cursor:
+
+ @code{.java}
+ bProcessedAllRows = false
+ while ( !bProcessedAllRows )
+ {
+ cursor.setPropertyValue( "CursorTravelMode", BLOCKING )
+
+ cursor.travelSomeWhere()
+ collectRowData()
+
+ cursor.setPropertyValue( "CursorTravelMode", NONBLOCKING )
+
+ bGoOn = true;
+ while ( bGoOn )
+ {
+ try
+ {
+ cursor.travelSomeWhere()
+ collectRowData()
+ }
+ catch ( CursorWouldBlockException )
+ {
+ // No more data at the moment.
+ bGoOn = false
+ }
+ }
+
+ doSomethingWithCollectedRowData()
+
+ bProcessedAllRows = ...
+ }
+ @endcode
+
+ <p>
+ If this property is not supported, the implementation needs to provide
+ a blocking cursor.
+ </p>
+
+ <p>
+ The implementation initially needs to set the value of this property
+ to CursorTravelMode::BLOCKING.
+ </p>
+
+ @see CursorTravelMode
+ */
+ [optional, property] long CursorTravelMode;
+
+ /** contains the number of rows obtained (so far) from the data source. */
+ [readonly, property] long RowCount;
+
+ /** indicates that all rows of the result set have been obtained. */
+ [readonly, property] boolean IsRowCountFinal;
+
+ /** provides access to the content identifier and the content object
+ itself.
+
+ <p>This interface is required.
+ */
+ interface XContentAccess;
+
+ /** can be implemented to provide a complete JDBC conform result set
+ interface for the implementation of this service.
+
+ <p>The implementation of this service is optional.
+ */
+ service com::sun::star::sdbc::ResultSet;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/ContentResultSetCapability.idl b/offapi/com/sun/star/ucb/ContentResultSetCapability.idl
new file mode 100644
index 000000000..71b90cf67
--- /dev/null
+++ b/offapi/com/sun/star/ucb/ContentResultSetCapability.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_ucb_ContentResultSetCapability_idl__
+#define __com_sun_star_ucb_ContentResultSetCapability_idl__
+
+
+
+module com { module sun { module star { module ucb {
+
+/** These values are used to specify the capabilities of an
+ XDynamicResultSet.
+*/
+published constants ContentResultSetCapability
+{
+ /** indicates that a ContentResultSet is properly sorted,
+ exactly following the rules given during the ContentResultSet was
+ created.
+ */
+ const short SORTED = 1;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/ContentTransmitter.idl b/offapi/com/sun/star/ucb/ContentTransmitter.idl
new file mode 100644
index 000000000..c7725beaa
--- /dev/null
+++ b/offapi/com/sun/star/ucb/ContentTransmitter.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_ucb_ContentTransmitter_idl__
+#define __com_sun_star_ucb_ContentTransmitter_idl__
+
+#include <com/sun/star/ucb/XContentTransmitter.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** A ContentTransmitter is a service that provides
+
+ @deprecated
+*/
+published service ContentTransmitter
+{
+ /**
+
+ This interface is required.
+ */
+ interface com::sun::star::ucb::XContentTransmitter;
+};
+
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/CrossReference.idl b/offapi/com/sun/star/ucb/CrossReference.idl
new file mode 100644
index 000000000..ef06a54cc
--- /dev/null
+++ b/offapi/com/sun/star/ucb/CrossReference.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_ucb_CrossReference_idl__
+#define __com_sun_star_ucb_CrossReference_idl__
+
+
+
+module com { module sun { module star { module ucb {
+
+/** This struct contains information describing a cross reference.
+
+ <p>Such references are kept by news servers for managing articles
+ contained in multiple groups. An article can have a sequence of
+ cross references.
+*/
+published struct CrossReference
+{
+ /** The name of a news group.
+ */
+ string Group;
+
+ /** The unique identifier (relative to the server) of an article in the
+ given group.
+ */
+ long Id;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/DefaultHierarchyDataSource.idl b/offapi/com/sun/star/ucb/DefaultHierarchyDataSource.idl
new file mode 100644
index 000000000..bf795cc76
--- /dev/null
+++ b/offapi/com/sun/star/ucb/DefaultHierarchyDataSource.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_ucb_DefaultHierarchyDataSource_idl__
+#define __com_sun_star_ucb_DefaultHierarchyDataSource_idl__
+
+#include <com/sun/star/ucb/HierarchyDataSource.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** is a concrete implementation of service HierarchyDataSource,
+ which uses the service
+ com::sun::star::configuration::ConfigurationProvider
+ for reading and writing hierarchy data.
+*/
+published service DefaultHierarchyDataSource
+{
+ /** is a concrete implementation of service HierarchyDataSource,
+ which uses the service
+ com::sun::star::configuration::ConfigurationProvider
+ for reading and writing hierarchy data.
+
+ <p>com::sun::star::lang::XMultiServiceFactory::createInstanceWithArguments()
+ supports the service specifiers
+ <code>"com.sun.star.ucb.HierarchyDataReadAccess"</code> and
+ <code>"com.sun.star.ucb.HierarchyDataReadWriteAccess"</code>.
+ */
+ service HierarchyDataSource;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/DocumentHeaderField.idl b/offapi/com/sun/star/ucb/DocumentHeaderField.idl
new file mode 100644
index 000000000..2445d3bd8
--- /dev/null
+++ b/offapi/com/sun/star/ucb/DocumentHeaderField.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_ucb_DocumentHeaderField_idl__
+#define __com_sun_star_ucb_DocumentHeaderField_idl__
+
+
+
+module com { module sun { module star { module ucb {
+
+/** This struct contains a name-value pair of a document header (i.e.
+ the "subject" field and the appropriate value of a MIME message).
+*/
+published struct DocumentHeaderField
+{
+ /** The name of the header field.
+ */
+ string Name;
+
+ /** The value of the header field.
+ */
+ string Value;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/DocumentStoreMode.idl b/offapi/com/sun/star/ucb/DocumentStoreMode.idl
new file mode 100644
index 000000000..32c16422e
--- /dev/null
+++ b/offapi/com/sun/star/ucb/DocumentStoreMode.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_ucb_DocumentStoreMode_idl__
+#define __com_sun_star_ucb_DocumentStoreMode_idl__
+
+
+
+module com { module sun { module star { module ucb {
+
+/** These are the possible values for the property "DocumentStoreMode".
+
+ @see XCommandProcessor
+ @see Content
+*/
+published enum DocumentStoreMode
+{
+ /** Document contents are not stored locally.
+ */
+ REMOTE,
+
+ /** Document contents are stored locally.
+ */
+ LOCAL
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/DuplicateCommandIdentifierException.idl b/offapi/com/sun/star/ucb/DuplicateCommandIdentifierException.idl
new file mode 100644
index 000000000..4cdbfbc7f
--- /dev/null
+++ b/offapi/com/sun/star/ucb/DuplicateCommandIdentifierException.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_ucb_DuplicateCommandIdentifierException_idl__
+#define __com_sun_star_ucb_DuplicateCommandIdentifierException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** is thrown by XCommandProcessor::execute() to indicate that
+ the same command identifier was used for two threads.
+
+ <p>Each thread must use its own command identifier, which must be obtained
+ using XCommandProcessor::createCommandIdentifier(). Command
+ identifier <code>0</code>, which indicates that the command shall never
+ be aborted by a client, can be used by any thread.
+
+ @version 1.0
+ @see XCommandProcessor
+*/
+published exception DuplicateCommandIdentifierException : com::sun::star::uno::Exception
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/DuplicateProviderException.idl b/offapi/com/sun/star/ucb/DuplicateProviderException.idl
new file mode 100644
index 000000000..f0255d008
--- /dev/null
+++ b/offapi/com/sun/star/ucb/DuplicateProviderException.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_ucb_DuplicateProviderException_idl__
+#define __com_sun_star_ucb_DuplicateProviderException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** is thrown to indicate that a content provider with the same
+ identifier already was registered with a content provider manager.
+
+ @version 1.0
+ @see XContentProviderManager
+*/
+published exception DuplicateProviderException: com::sun::star::uno::Exception
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/DynamicResultSet.idl b/offapi/com/sun/star/ucb/DynamicResultSet.idl
new file mode 100644
index 000000000..b62a6588c
--- /dev/null
+++ b/offapi/com/sun/star/ucb/DynamicResultSet.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_ucb_DynamicResultSet_idl__
+#define __com_sun_star_ucb_DynamicResultSet_idl__
+
+#include <com/sun/star/ucb/XDynamicResultSet.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** provides read access to a static or dynamically changing
+ ContentResultSet.
+
+ <p>For example, a DynamicResultSet is returned from the
+ open-command executed by an XCommandProcessor of the service
+ Content.
+*/
+
+published service DynamicResultSet
+{
+ /** Provides read access to a static or a dynamically changing
+ ContentResultSet.
+
+ <p>This interface is required.
+ */
+ interface com::sun::star::ucb::XDynamicResultSet;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/Error.idl b/offapi/com/sun/star/ucb/Error.idl
new file mode 100644
index 000000000..559c549e1
--- /dev/null
+++ b/offapi/com/sun/star/ucb/Error.idl
@@ -0,0 +1,336 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_ucb_Error_idl__
+#define __com_sun_star_ucb_Error_idl__
+
+
+
+module com { module sun { module star { module ucb {
+
+/** These codes are used to indicate errors.
+
+ @deprecated
+*/
+published constants Error
+{
+ // DOCUMENTATION MISSING FOR constants::0
+ const long NONE = 0;
+
+ // DOCUMENTATION MISSING FOR constants::122880
+ const long LOGIN_FAILURE_RECEIVE = 122880;
+
+ // DOCUMENTATION MISSING FOR constants::122881
+ const long LOGIN_FAILURE_NEWSSEND = 122881;
+
+ // DOCUMENTATION MISSING FOR constants::122882
+ const long LOGIN_FAILURE_MAILSEND = 122882;
+
+ // DOCUMENTATION MISSING FOR constants::122883
+ const long CONNECT_FAILURE = 122883;
+
+ // DOCUMENTATION MISSING FOR constants::122884
+ const long UCB_OFFLINE = 122884;
+
+ // DOCUMENTATION MISSING FOR constants::122885
+ const long UCB_SERVER_ERROR = 122885;
+
+ // DOCUMENTATION MISSING FOR constants::122886
+ const long STORAGE_READONLY = 122886;
+
+ // DOCUMENTATION MISSING FOR constants::122887
+ const long STORAGE_KILLED = 122887;
+
+ // DOCUMENTATION MISSING FOR constants::122888
+ const long WRONG_FILE_FORMAT = 122888;
+
+ // DOCUMENTATION MISSING FOR constants::122889
+ const long UNSUPPORTED_URL = 122889;
+
+ // DOCUMENTATION MISSING FOR constants::122890
+ const long CNTOUT_NO_FROM = 122890;
+
+ // DOCUMENTATION MISSING FOR constants::122891
+ const long TOO_MANY_GROUPS = 122891;
+
+ // DOCUMENTATION MISSING FOR constants::122892
+ const long DELETE_ABORTED = 122892;
+
+ // DOCUMENTATION MISSING FOR constants::122893
+ const long QUERY_DELETE = 122893;
+
+ // DOCUMENTATION MISSING FOR constants::122894
+ const long NOTAVAILABLE = 122894;
+
+ // DOCUMENTATION MISSING FOR constants::122895
+ const long VIM_LIBRARY_ERROR = 122895;
+
+ // DOCUMENTATION MISSING FOR constants::122896
+ const long FOLDER_INVALID = 122896;
+
+ // DOCUMENTATION MISSING FOR constants::122897
+ const long FTP_RESOLVERERROR = 122897;
+
+ // DOCUMENTATION MISSING FOR constants::122898
+ const long FTP_NETWORKERROR = 122898;
+
+ // DOCUMENTATION MISSING FOR constants::122899
+ const long FTP_NOTNECESSARYCMD = 122899;
+
+ // DOCUMENTATION MISSING FOR constants::122900
+ const long FTP_SERVICEUNAVAILABLE = 122900;
+
+ // DOCUMENTATION MISSING FOR constants::122901
+ const long FTP_DCONFAILURE = 122901;
+
+ // DOCUMENTATION MISSING FOR constants::122902
+ const long FTP_TRANSFERABORTED = 122902;
+
+ // DOCUMENTATION MISSING FOR constants::122903
+ const long NO_VIM_LIBRARY = 122903;
+
+ // DOCUMENTATION MISSING FOR constants::122904
+ const long VIM_LIBRARY_CORRUPTED = 122904;
+
+ // DOCUMENTATION MISSING FOR constants::122905
+ const long CCMAIL_EXPORT_ERROR = 122905;
+
+ // DOCUMENTATION MISSING FOR constants::122906
+ const long NO_CCMAIL_EXPORT_FILE = 122906;
+
+ // DOCUMENTATION MISSING FOR constants::122907
+ const long ILLEGAL_CCMAIL_EXPORT_FILE = 122907;
+
+ // DOCUMENTATION MISSING FOR constants::122908
+ const long MESSAGE_NOT_FOUND = 122908;
+
+ // DOCUMENTATION MISSING FOR constants::122909
+ const long BAD_CCMAIL_EXPORT_PASSWORD = 122909;
+
+ // DOCUMENTATION MISSING FOR constants::122910
+ const long CCMAIL_EXPORT_TOO_LONG = 122910;
+
+ // DOCUMENTATION MISSING FOR constants::122911
+ const long FOLDER_EXISTS = 122911;
+
+ // DOCUMENTATION MISSING FOR constants::122912
+ const long FOLDER_NOT_EXISTS = 122912;
+
+ // DOCUMENTATION MISSING FOR constants::122913
+ const long NO_VIM_BBOARDLIST = 122913;
+
+ // DOCUMENTATION MISSING FOR constants::122914
+ const long ILLEGAL_MESSAGE_ID = 122914;
+
+ // DOCUMENTATION MISSING FOR constants::122915
+ const long SERVER_PORT_SYNTAX = 122915;
+
+ // DOCUMENTATION MISSING FOR constants::122916
+ const long SERVERNAME_SYNTAX = 122916;
+
+ // DOCUMENTATION MISSING FOR constants::122917
+ const long USERNAME_SYNTAX = 122917;
+
+ // DOCUMENTATION MISSING FOR constants::122918
+ const long IS_RESCHEDULED = 122918;
+
+ // DOCUMENTATION MISSING FOR constants::122919
+ const long VIM_NO_FAKE_MESSAGE_ID = 122919;
+
+ // DOCUMENTATION MISSING FOR constants::122920
+ const long FSYS_ROOT_DELETE = 122920;
+
+ // DOCUMENTATION MISSING FOR constants::122921
+ const long FILE_EXISTS = 122921;
+
+ // DOCUMENTATION MISSING FOR constants::122922
+ const long FILE_NOT_EXISTS = 122922;
+
+ // DOCUMENTATION MISSING FOR constants::122923
+ const long FSYS_MISPLACED_CHAR = 122923;
+
+ // DOCUMENTATION MISSING FOR constants::122924
+ const long FSYS_INVALID_CHAR = 122924;
+
+ // DOCUMENTATION MISSING FOR constants::122925
+ const long FSYS_INVALID_DEVICE = 122925;
+
+ // DOCUMENTATION MISSING FOR constants::122926
+ const long FSYS_ACCESS_DENIED = 122926;
+
+ // DOCUMENTATION MISSING FOR constants::122927
+ const long FSYS_LOCK_VIOLATION = 122927;
+
+ // DOCUMENTATION MISSING FOR constants::122928
+ const long FSYS_VOLUME_FULL = 122928;
+
+ // DOCUMENTATION MISSING FOR constants::122929
+ const long FSYS_NOT_SUPPORTED = 122929;
+
+ // DOCUMENTATION MISSING FOR constants::122930
+ const long FSYS_UNKNOWN = 122930;
+
+ // DOCUMENTATION MISSING FOR constants::122931
+ const long FSYS_NOT_A_FILE = 122931;
+
+ // DOCUMENTATION MISSING FOR constants::122932
+ const long FSYS_NOT_A_DIRECTORY = 122932;
+
+ // DOCUMENTATION MISSING FOR constants::122933
+ const long FSYS_IS_WILDCARD = 122933;
+
+ // DOCUMENTATION MISSING FOR constants::122934
+ const long RENAMED_WRONG_FILE_FORMAT = 122934;
+
+ // DOCUMENTATION MISSING FOR constants::122935
+ const long FSYS_UPDATE_NEEDED = 122935;
+
+ // DOCUMENTATION MISSING FOR constants::122936
+ const long FSYS_CANT_RESOLVE_CONFLICT = 122936;
+
+ // DOCUMENTATION MISSING FOR constants::122937
+ const long FSYS_CANT_ITERATE = 122937;
+
+ // DOCUMENTATION MISSING FOR constants::122938
+ const long ONE_NOT_SEARCHABLE = 122938;
+
+ // DOCUMENTATION MISSING FOR constants::122939
+ const long MULTIPLE_NOT_SEARCHABLE = 122939;
+
+ // DOCUMENTATION MISSING FOR constants::122940
+ const long FSYS_CACHE_INCONSISTENT = 122940;
+
+ // DOCUMENTATION MISSING FOR constants::122941
+ const long FSYS_READONLY = 122941;
+
+ // DOCUMENTATION MISSING FOR constants::122942
+ const long FSYS_LOCK = 122942;
+
+ // DOCUMENTATION MISSING FOR constants::122943
+ const long FSYS_UNLOCK = 122943;
+
+ // DOCUMENTATION MISSING FOR constants::122944
+ const long FSYS_DELETE = 122944;
+
+ // DOCUMENTATION MISSING FOR constants::122945
+ const long FSYS_IS_MARKED = 122945;
+
+ // DOCUMENTATION MISSING FOR constants::122946
+ const long FTP_GENERAL_FAILURE = 122946;
+
+ // DOCUMENTATION MISSING FOR constants::122947
+ const long DO_LOG = 122947;
+
+ // DOCUMENTATION MISSING FOR constants::122948
+ const long HTTP_COOKIE_REQUEST = 122948;
+
+ // DOCUMENTATION MISSING FOR constants::122949
+ const long FSYS_LOST_ROOT = 122949;
+
+ // DOCUMENTATION MISSING FOR constants::122950
+ const long FTP_PROXY = 122950;
+
+ // DOCUMENTATION MISSING FOR constants::122951
+ const long SOURCE_SAME_AS_TARGET = 122951;
+
+ // DOCUMENTATION MISSING FOR constants::122952
+ const long CONFIRM_EMPTY_TRASH = 122952;
+
+ // DOCUMENTATION MISSING FOR constants::122953
+ const long FSYS_NO_TARGET = 122953;
+
+ // DOCUMENTATION MISSING FOR constants::122954
+ const long FSYS_RECURSIVE = 122954;
+
+ // DOCUMENTATION MISSING FOR constants::122955
+ const long FSYS_INSERT_MEDIUM = 122955;
+
+ // DOCUMENTATION MISSING FOR constants::122956
+ const long NO_DOCINFO = 122956;
+
+ // DOCUMENTATION MISSING FOR constants::122957
+ const long CCMAIL_EXPORT_NOT_TERMINATING = 122957;
+
+ // DOCUMENTATION MISSING FOR constants::122958
+ const long EXTERNAL_COMMAND_FAILED = 122958;
+
+ // DOCUMENTATION MISSING FOR constants::122959
+ const long RENAME_FAILED = 122959;
+
+ // DOCUMENTATION MISSING FOR constants::122960
+ const long NOT_HANDLED = 122960;
+
+ // DOCUMENTATION MISSING FOR constants::122961
+ const long COULD_NOT_INIT_COMPONENT = 122961;
+
+ // DOCUMENTATION MISSING FOR constants::122962
+ const long TRANSFER_URL_NOT_SUPPORTED = 122962;
+
+ // DOCUMENTATION MISSING FOR constants::122963
+ const long EMPTY_SERVERNAME = 122963;
+
+ // DOCUMENTATION MISSING FOR constants::122964
+ const long EMPTY_USERNAME = 122964;
+
+ // DOCUMENTATION MISSING FOR constants::122965
+ const long BAD_INET = 122965;
+
+ // DOCUMENTATION MISSING FOR constants::122966
+ const long IMAP_SERVER_MSG = 122966;
+
+ // DOCUMENTATION MISSING FOR constants::122967
+ const long IMAP_CONNECTION_CLOSED = 122967;
+
+ // DOCUMENTATION MISSING FOR constants::122968
+ const long IMAP_NOT_IMAP4 = 122968;
+
+ // DOCUMENTATION MISSING FOR constants::122969
+ const long IMAP_BAD_SERVER = 122969;
+
+ // DOCUMENTATION MISSING FOR constants::122970
+ const long REORGANIZE_FILE_LOCKED = 122970;
+
+ // DOCUMENTATION MISSING FOR constants::122971
+ const long IMAP_BAD_TITLE = 122971;
+
+ // DOCUMENTATION MISSING FOR constants::122972
+ const long SERVER_CONNECT_FAILURE = 122972;
+
+ // DOCUMENTATION MISSING FOR constants::122973
+ const long PASSWORD_SYNTAX = 122973;
+
+ // DOCUMENTATION MISSING FOR constants::122974
+ const long QUERY_DELETE_CACHE = 122974;
+
+ // DOCUMENTATION MISSING FOR constants::122975
+ const long REORGANIZE_NO_DISKSPACE = 122975;
+
+ // DOCUMENTATION MISSING FOR constants::122976
+ const long LOGIN_FAILURE_ACCOUNT = 122976;
+
+ // DOCUMENTATION MISSING FOR constants::122977
+ const long ACCOUNT_SYNTAX = 122977;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/ExpandContentProvider.idl b/offapi/com/sun/star/ucb/ExpandContentProvider.idl
new file mode 100644
index 000000000..873203f89
--- /dev/null
+++ b/offapi/com/sun/star/ucb/ExpandContentProvider.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_ucb_ExpandContentProvider_idl__
+#define __com_sun_star_ucb_ExpandContentProvider_idl__
+
+#include <com/sun/star/ucb/ContentProvider.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** The Expand Content Provider implements a ContentProvider
+ for the UniversalContentBroker (UCB).
+
+ <p>
+ It provides access to content via macrofied URLs, e.g.
+ vnd.sun.star.expand://$UNO_USER_PACKAGES/abc.
+
+ Macros which will be expanded using the singleton
+ /singletons/com.sun.star.util.theMacroExpander
+ of the process's initial component context.
+
+ @see Content
+*/
+service ExpandContentProvider
+{
+ service ContentProvider;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/ExportStreamInfo.idl b/offapi/com/sun/star/ucb/ExportStreamInfo.idl
new file mode 100644
index 000000000..140d983c5
--- /dev/null
+++ b/offapi/com/sun/star/ucb/ExportStreamInfo.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_ucb_ExportStreamInfo_idl__
+#define __com_sun_star_ucb_ExportStreamInfo_idl__
+
+#include <com/sun/star/io/XOutputStream.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** information needed to export an object in mbx format (supplying an output
+ stream to export into).
+*/
+published struct ExportStreamInfo
+{
+ /** the output stream to export into.
+ */
+ com::sun::star::io::XOutputStream Target;
+
+ /** tries hard to make message (document) bodies available for export.
+ */
+ boolean ForceBodies;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/FTPContent.idl b/offapi/com/sun/star/ucb/FTPContent.idl
new file mode 100644
index 000000000..80bb55794
--- /dev/null
+++ b/offapi/com/sun/star/ucb/FTPContent.idl
@@ -0,0 +1,189 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_ucb_FTPContent_idl__
+#define __com_sun_star_ucb_FTPContent_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/ucb/XContent.idl>
+#include <com/sun/star/ucb/XContentCreator.idl>
+#include <com/sun/star/ucb/XCommandProcessor.idl>
+#include <com/sun/star/beans/XPropertiesChangeNotifier.idl>
+#include <com/sun/star/beans/XPropertyContainer.idl>
+#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl>
+#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl>
+#include <com/sun/star/container/XChild.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** A FTPContent provides an object representing either a (ftp-server-side)
+ directory object allowing listing of children or a content object providing
+ access to a (ftp-server-side) file.
+
+ @see com::sun::star::ucb::FTPContentProvider
+
+ @since OOo 1.1.2
+*/
+published service FTPContent
+{
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::ucb::XContent;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+
+ <p>An object representing a directory in the file system is able
+ to create a new object, which in turn can become the representation
+ of a physical file/directory being contained in the initial directory.
+ The precise way is the following:
+
+ <p>
+
+ <ol>
+ <li>
+ Let the parent folder create a new content by calling
+ XContentCreator::createNewContent() on it. The content
+ type to use for new directories is
+ "application/vnd.sun.staroffice.ftp-folder". To create a new file
+ use the type "application/vnd.sun.staroffice.ftp-file".
+ As return value you get a new file content object.
+ </li>
+ <li>
+ Set a title at the new object by letting it execute
+ the command "setPropertyValues", which sets at least the property
+ "Title" to a non-empty value ).
+ </li>
+ <li>
+ Let the new object ( not the parent! ) execute the command "insert".
+ This will create the corresponding physical file or directory.
+ For files, you need to supply the implementation of
+ a com::sun::star::io::XInputStream with the
+ command's parameters, that provides access to the stream data.
+ </li>
+ </ol>
+
+ </p>
+ */
+ interface com::sun::star::ucb::XContentCreator;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+
+ <p>
+
+ <b>Supported Commands</b>
+
+ <ul>
+ <li>
+ getCommandInfo
+ </li>
+ <li>
+ getPropertySetInfo
+ </li>
+ <li>
+ getPropertyValues
+ </li>
+ <li>
+ setPropertyValues
+ </li>
+ <li>
+ open
+ </li>
+ <li>
+ insert
+ </li>
+ <li>
+ delete
+ </li>
+ </ul>
+
+ <b>Supported Properties</b>
+ <ul>
+ <li>
+ string ContentType ( read-only, either
+ "application/vnd.sun.staroffice.ftp-folder" or
+ "application/vnd.sun.staroffice.ftp-file" )
+ </li>
+ <li>
+ boolean IsDocument ( read-only, always `TRUE` for files, always
+ `FALSE` for directories )
+ </li>
+ <li>
+ boolean IsFolder ( read-only ), always `FALSE` for files, always
+ `TRUE` for directories )
+ </li>
+ <li>
+ boolean IsReadOnly ( read-only attribute )
+ </li>
+ <li>
+ string Title ( file name )
+ </li>
+ <li>
+ hyper Size ( file size )
+ </li>
+ <li>
+ string Title ( file name )
+ </li>
+ <li>
+ com::sun::star::util::DateTimeDateCreated ( read-only )
+ </li>
+ </ul>
+ </p>
+ */
+ interface com::sun::star::ucb::XCommandProcessor;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertiesChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertyContainer;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertySetInfoChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::ucb::XCommandInfoChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::container::XChild;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/FTPContentProvider.idl b/offapi/com/sun/star/ucb/FTPContentProvider.idl
new file mode 100644
index 000000000..585367af8
--- /dev/null
+++ b/offapi/com/sun/star/ucb/FTPContentProvider.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_ucb_FTPContentProvider_idl__
+#define __com_sun_star_ucb_FTPContentProvider_idl__
+
+#include <com/sun/star/ucb/XContentProvider.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** The FTP Content Provider (FCP) implements a ContentProvider
+ for the UniversalContentBroker (UCB).
+
+ <p>The served contents enable access to directories and files on a
+ ftp-server.
+
+ @see com::sun::star::ucb::Content
+
+ @since OOo 1.1.2
+*/
+
+published service FTPContentProvider
+{
+ /** provides an object representing either a (ftp-server side) directory
+ object allowing listing of children or a content object providing
+ access a (ftp-server side) file.
+
+ @see com::sun::star::ucb::FTPContent
+ */
+
+ interface com::sun::star::ucb::XContentProvider;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/FetchError.idl b/offapi/com/sun/star/ucb/FetchError.idl
new file mode 100644
index 000000000..0b9b95d9f
--- /dev/null
+++ b/offapi/com/sun/star/ucb/FetchError.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_ucb_FetchError_idl__
+#define __com_sun_star_ucb_FetchError_idl__
+
+
+module com { module sun { module star { module ucb {
+
+/** These values are used to specify whether and which error has occurred
+ while fetching data of some ContentResultSet rows.
+
+ @see FetchResult
+*/
+published constants FetchError
+{
+ /** indicates that fetching of data was successful.
+ */
+ const short SUCCESS = 0;
+
+ /** indicates that during fetching we went beyond the last or first row.
+
+ <p>Therefore the FetchResult does not contain the full
+ count of demanded rows, but the maximum possible count must be
+ contained.
+ */
+ const short ENDOFDATA = 1;
+
+ /** indicates that during fetching we got an exception.
+
+ <p>The row, that causes the exception, and all following ( "following"
+ in read order! ) rows are not contained in the FetchResult.
+ Therefore the FetchResult does not contain the full count
+ of demanded rows. But all properly read rows so far must be contained.
+ */
+ const short EXCEPTION = 2;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/FetchResult.idl b/offapi/com/sun/star/ucb/FetchResult.idl
new file mode 100644
index 000000000..c4aee33a0
--- /dev/null
+++ b/offapi/com/sun/star/ucb/FetchResult.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_ucb_FetchResult_idl__
+#define __com_sun_star_ucb_FetchResult_idl__
+
+
+module com { module sun { module star { module ucb {
+
+/** contains data of several rows of a ContentResultSet.
+
+ <p>This struct is returned from XFetchProvider::fetch(),
+ for example.
+*/
+
+published struct FetchResult
+{
+ /** contains the demanded data.
+
+ <p>One any contains the data of one whole row. Those methods which
+ use this struct have to specify, what the any has to contain.
+ */
+ sequence< any > Rows;
+
+ /** indicates the index of the first row contained in
+ FetchResult::Rows in the original result set. So if
+ FetchResult::StartIndex equals <code>3</code>, the
+ first element in the sequence FetchResult::Rows
+ contains the data of the index <code>3</code> in the original result set.
+
+ <p>The following rows are one after the other, but the direction
+ depends on the value of FetchResult::Direction
+ */
+ long StartIndex;
+
+ /** indicates the orientation in which the rows are fetched and set into
+ the sequence FetchResult::Rows.
+
+ <p>When FetchResult::Orientation equals `TRUE`, the
+ rows in FetchResult::Rows are ordered in the same way
+ as in the original result set.
+ */
+ boolean Orientation;
+
+ /** indicates whether and which error has occurred, while fetching.
+
+ <p>The value may contain zero or more constants of the
+ FetchError constants group.
+ */
+ short FetchError;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/FileContent.idl b/offapi/com/sun/star/ucb/FileContent.idl
new file mode 100644
index 000000000..89eda3997
--- /dev/null
+++ b/offapi/com/sun/star/ucb/FileContent.idl
@@ -0,0 +1,220 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_ucb_FileContent_idl__
+#define __com_sun_star_ucb_FileContent_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/ucb/XContent.idl>
+#include <com/sun/star/ucb/XCommandProcessor.idl>
+#include <com/sun/star/ucb/XCommandProcessor2.idl>
+#include <com/sun/star/ucb/XContentCreator.idl>
+#include <com/sun/star/beans/XPropertiesChangeNotifier.idl>
+#include <com/sun/star/beans/XPropertyContainer.idl>
+#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl>
+#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl>
+#include <com/sun/star/container/XChild.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** A File Content represents either a directory or a file in the local file
+ system.
+
+ <p>Whether a content represents a folder or a file can be determined by
+ inspecting its property <b>IsFolder</b> or <b>IsDocument</b>.
+
+ @see com::sun::star::ucb::FileContentProvider
+*/
+published service FileContent
+{
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::ucb::XContent;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+
+ <p>An object representing a directory in the file system is able
+ to create a new object, which in turn can become the representation
+ of a physical file/directory being contained in the initial directory.
+ The precise way is the following:
+
+ <p>
+
+ <ol>
+ <li>
+ Let the parent folder create a new content by calling
+ XContentCreator::createNewContent() on it. The content
+ type to use for new directories is
+ "application/vnd.sun.staroffice.fsys-folder". To create a new file
+ use the type "application/vnd.sun.staroffice.fsys-file".
+ As return value you get a new file content object.
+ </li>
+ <li>
+ Set a title at the new object by letting it execute
+ the command "setPropertyValues", which sets at least the property
+ "Title" to a non-empty value ).
+ </li>
+ <li>
+ Let the new object ( not the parent! ) execute the command "insert".
+ This will create the corresponding physical file or directory.
+ For files, you need to supply the implementation of
+ a com::sun::star::io::XInputStream with the
+ command's parameters, that provides access to the stream data.
+ </li>
+ </ol>
+
+ </p>
+ */
+ interface com::sun::star::ucb::XContentCreator;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+
+ <p>
+
+ <b>Supported Commands</b>
+
+ <ul>
+ <li>
+ getCommandInfo
+ </li>
+ <li>
+ getPropertySetInfo
+ </li>
+ <li>
+ getPropertyValues
+ </li>
+ <li>
+ setPropertyValues
+ </li>
+ <li>
+ insert ( makes a newly created document persistent )
+ </li>
+ <li>
+ delete
+ </li>
+ <li>
+ open
+ </li>
+ <li>
+ transfer
+ </li>
+ </ul>
+
+ <b>Supported Properties</b>
+ <ul>
+ <li>
+ string ContentType ( read-only, either
+ "application/vnd.sun.staroffice.fsys-folder" or
+ "application/vnd.sun.staroffice.fsys-file" )
+ </li>
+ <li>
+ boolean IsDocument ( read-only, always `TRUE` for files, always
+ `FALSE` for directories )
+ </li>
+ <li>
+ boolean IsFolder ( read-only ), always `FALSE` for files, always
+ `TRUE` for directories )
+ </li>
+ <li>
+ com::sun::star::util::DateTime DateModified ( read-only )
+ </li>
+ <li>
+ boolean IsReadOnly ( read-only attribute )
+ </li>
+ <li>
+ hyper Size ( file size )
+ </li>
+ <li>
+ string Title ( file name )
+ </li>
+ <li>
+ boolean IsVolume ( read-only )
+ </li>
+ <li>
+ boolean IsRemoveable ( read-only )
+ </li>
+ <li>
+ boolean IsRemote ( read-only )
+ </li>
+ <li>
+ boolean IsCompactDisc ( read-only )
+ </li>
+ <li>
+ boolean IsFloppy ( read-only )
+ </li>
+ <li>
+ boolean IsHidden ( read-only )
+ </li>
+ </ul>
+
+ </p>
+ */
+ interface com::sun::star::ucb::XCommandProcessor;
+
+ /** is an enhanced version of XCommandProcessor that has an
+ additional method for releasing command identifiers obtained via
+ XCommandProcessor::createCommandIdentifier() to avoid
+ resource leaks. For a detailed description of the problem refer to
+ XCommandProcessor2::releaseCommandIdentifier().
+
+ <p>Where many existing Content implementations do not
+ (yet), every new implementation should support this interface.
+ */
+ [optional] interface com::sun::star::ucb::XCommandProcessor2;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertiesChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertyContainer;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertySetInfoChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::ucb::XCommandInfoChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::container::XChild;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/FileContentProvider.idl b/offapi/com/sun/star/ucb/FileContentProvider.idl
new file mode 100644
index 000000000..e0f313429
--- /dev/null
+++ b/offapi/com/sun/star/ucb/FileContentProvider.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_ucb_FileContentProvider_idl__
+#define __com_sun_star_ucb_FileContentProvider_idl__
+
+#include <com/sun/star/ucb/XContentProvider.idl>
+#include <com/sun/star/ucb/XFileIdentifierConverter.idl>
+#include <com/sun/star/ucb/XContentIdentifierFactory.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** The File Content Provider (FCP) implements a ContentProvider
+ for the UniversalContentBroker (UCB).
+
+ <p>The served contents enable access to the local file system.
+
+ <p>The FCP is able to restrict access to the local file system to a number
+ of directories shown to the client under configurable alias names.
+
+ @see com::sun::star::ucb::Content
+*/
+published service FileContentProvider
+{
+ /** provides an object representing either a directory or a file in the
+ local file system.
+
+ @see com::sun::star::ucb::FileContent
+ */
+
+ interface com::sun::star::ucb::XContentProvider;
+
+ /** This interface is implemented according to the specification of
+ service ContentProvider.
+ */
+
+ interface com::sun::star::ucb::XContentIdentifierFactory;
+
+ /** provides access to properties supported by the UCP.
+
+ <p> The supported properties give two kinds of meta-information about
+ the environment of the FCP, namely property <b>HostName</b> containing
+ the name of the computer, and property <b>FileSystemNotation</b>
+ determining which system dependent notation the file system identifier
+ follow.
+
+ <p>
+
+ <b>Supported Properties</b>
+ <ul>
+ <li>
+ string HostName ( read-only )
+ </li>
+ <li>
+ long FileSystemNotation ( read-only, the value is one of the
+ FileSystemNotation constants )
+ </li>
+ </ul>
+
+ </p>
+ */
+
+ interface com::sun::star::beans::XPropertySet;
+
+ /** specifies methods to convert between (file) URLs and file paths in
+ system dependent notation
+ */
+
+ interface com::sun::star::ucb::XFileIdentifierConverter;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/FileSystemNotation.idl b/offapi/com/sun/star/ucb/FileSystemNotation.idl
new file mode 100644
index 000000000..9c97e6428
--- /dev/null
+++ b/offapi/com/sun/star/ucb/FileSystemNotation.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_ucb_FileSystemNotation_idl__
+#define __com_sun_star_ucb_FileSystemNotation_idl__
+
+
+module com { module sun { module star { module ucb {
+
+/** The notational conventions used to denote file system paths on different
+ file systems or operating systems.
+*/
+published constants FileSystemNotation
+{
+ /** No information regarding any conventions is available.
+ */
+ const long UNKNOWN_NOTATION = 0;
+
+ /** The conventions of Unix like file systems (e.g.,
+ <code>/dir1/dir2/file</code>).
+ */
+ const long UNIX_NOTATION = 1;
+
+ /** The conventions of DOS like file systems (e.g.,
+ <code>a:\\dir1\\dir2\\file</code> or UNC notation like
+ <code>\\\\host\\dir1\\dir2\\file</code>).
+ */
+ const long DOS_NOTATION = 2;
+
+ /** The conventions of Mac like file systems (e.g.,
+ <code>volume:dir1:dir2:file</code>).
+ */
+ const long MAC_NOTATION = 3;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/FolderList.idl b/offapi/com/sun/star/ucb/FolderList.idl
new file mode 100644
index 000000000..0f9598289
--- /dev/null
+++ b/offapi/com/sun/star/ucb/FolderList.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_ucb_FolderList_idl__
+#define __com_sun_star_ucb_FolderList_idl__
+
+#include <com/sun/star/ucb/FolderListCommand.idl>
+#include <com/sun/star/ucb/FolderListEntry.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** A list of folders.
+*/
+published struct FolderList
+{
+ /** The command to process on this list of folders.
+ */
+ FolderListCommand Command;
+
+ /** The list of folders (only used in conjunction with
+ FolderListCommand::SET).
+ */
+ sequence<FolderListEntry> List;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/FolderListCommand.idl b/offapi/com/sun/star/ucb/FolderListCommand.idl
new file mode 100644
index 000000000..cc5674a56
--- /dev/null
+++ b/offapi/com/sun/star/ucb/FolderListCommand.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_ucb_FolderListCommand_idl__
+#define __com_sun_star_ucb_FolderListCommand_idl__
+
+
+
+module com { module sun { module star { module ucb {
+
+/** The various commands to process on a list of folders.
+
+ @see FolderList
+*/
+published enum FolderListCommand
+{
+ /** Get a list of all folders.
+ */
+ GET,
+
+ /** Get a list of subscribed folders.
+ */
+ GET_SUBSCRIBED,
+
+ /** Set a list of folders.
+ */
+ SET
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/FolderListEntry.idl b/offapi/com/sun/star/ucb/FolderListEntry.idl
new file mode 100644
index 000000000..63eb8af2a
--- /dev/null
+++ b/offapi/com/sun/star/ucb/FolderListEntry.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_ucb_FolderListEntry_idl__
+#define __com_sun_star_ucb_FolderListEntry_idl__
+
+
+
+module com { module sun { module star { module ucb {
+
+/** Information about a single folder in a FolderList.
+*/
+published struct FolderListEntry
+{
+ /** The title of the folder.
+ */
+ string Title;
+
+ /** A (unique) identifier for the folder (used by IMAP, where different
+ folders with equal human-readable titles may exist; otherwise, it may
+ be left empty).
+ */
+ string ID;
+
+ /** The folder is subscribed.
+ */
+ boolean Subscribed;
+
+ /** The folder is new.
+ */
+ boolean New;
+
+ /** The folder has been removed.
+ */
+ boolean Removed;
+
+ /** The folder shall be purged (only used in conjunction with the
+ FolderListCommand::SET).
+ */
+ boolean Purge;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/GIOContentProvider.idl b/offapi/com/sun/star/ucb/GIOContentProvider.idl
new file mode 100644
index 000000000..76f4a61da
--- /dev/null
+++ b/offapi/com/sun/star/ucb/GIOContentProvider.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_ucb_GIOContentProvider_idl__
+#define __com_sun_star_ucb_GIOContentProvider_idl__
+
+#include <com/sun/star/ucb/XContentProvider.idl>
+
+module com { module sun { module star { module ucb {
+service GIOContentProvider
+{
+ interface com::sun::star::ucb::XContentProvider;
+};
+
+}; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/GlobalTransferCommandArgument.idl b/offapi/com/sun/star/ucb/GlobalTransferCommandArgument.idl
new file mode 100644
index 000000000..e7b2125a4
--- /dev/null
+++ b/offapi/com/sun/star/ucb/GlobalTransferCommandArgument.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_ucb_GlobalTransferCommandArgument_idl__
+#define __com_sun_star_ucb_GlobalTransferCommandArgument_idl__
+
+#include <com/sun/star/ucb/TransferCommandOperation.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** This struct contains information needed to transfer objects from one
+ location to another.
+*/
+published struct GlobalTransferCommandArgument
+{
+ /** contains the action to perform ( COPY, MOVE, LINK ).
+ */
+ TransferCommandOperation Operation;
+
+ /** contains the URL of the source object.
+ */
+ string SourceURL;
+
+ /** contains the URL of the target folder.
+ */
+ string TargetURL;
+
+ /** contains the title of the transferred object, if it is different
+ from the original one.
+
+ <p>If this field is filled, for example, a file will be renamed
+ while it is being transferred.
+ */
+ string NewTitle;
+
+ /** describes how to act in case of title clashes while transferring
+ the data.
+
+ <p>A title clash for instance occurs, if a file named "foo.txt" is
+ to be transferred to a folder already containing another file named
+ "foo.txt". Refer to NameClash for possible values for
+ this field.
+ */
+ long NameClash;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/GlobalTransferCommandArgument2.idl b/offapi/com/sun/star/ucb/GlobalTransferCommandArgument2.idl
new file mode 100644
index 000000000..d7ba69b31
--- /dev/null
+++ b/offapi/com/sun/star/ucb/GlobalTransferCommandArgument2.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_ucb_GlobalTransferCommandArgument2_idl__
+#define __com_sun_star_ucb_GlobalTransferCommandArgument2_idl__
+
+#include <com/sun/star/ucb/GlobalTransferCommandArgument.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** This struct extends the one for transfers arguments by adding a Mime
+ type and a Document Id property to it.
+ */
+struct GlobalTransferCommandArgument2 : GlobalTransferCommandArgument
+{
+ /** contains the MIME type of the source object.
+ */
+ string MimeType;
+
+ /** contains the DocumentId of the source object.
+ */
+ string DocumentId;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/GnomeVFSContentProvider.idl b/offapi/com/sun/star/ucb/GnomeVFSContentProvider.idl
new file mode 100644
index 000000000..a4949a34d
--- /dev/null
+++ b/offapi/com/sun/star/ucb/GnomeVFSContentProvider.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_ucb_GnomeVFSContentProvider_idl__
+#define __com_sun_star_ucb_GnomeVFSContentProvider_idl__
+
+#include <com/sun/star/ucb/XContentProvider.idl>
+
+
+module com { module sun { module star { module ucb {
+
+service GnomeVFSContentProvider
+{
+ interface com::sun::star::ucb::XContentProvider;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/GnomeVFSDocumentContent.idl b/offapi/com/sun/star/ucb/GnomeVFSDocumentContent.idl
new file mode 100644
index 000000000..0d7ae62cd
--- /dev/null
+++ b/offapi/com/sun/star/ucb/GnomeVFSDocumentContent.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_ucb_GnomeVFSDocumentContent_idl__
+#define __com_sun_star_ucb_GnomeVFSDocumentContent_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/ucb/XContent.idl>
+#include <com/sun/star/ucb/XCommandProcessor.idl>
+#include <com/sun/star/ucb/XCommandProcessor2.idl>
+#include <com/sun/star/beans/XPropertiesChangeNotifier.idl>
+#include <com/sun/star/beans/XPropertyContainer.idl>
+#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl>
+#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl>
+#include <com/sun/star/container/XChild.idl>
+
+
+module com { module sun { module star { module ucb {
+
+service GnomeVFSDocumentContent
+{
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::ucb::XContent;
+
+ interface com::sun::star::ucb::XCommandProcessor;
+
+ [optional] interface com::sun::star::ucb::XCommandProcessor2;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertiesChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertyContainer;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertySetInfoChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::ucb::XCommandInfoChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::container::XChild;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/GnomeVFSFolderContent.idl b/offapi/com/sun/star/ucb/GnomeVFSFolderContent.idl
new file mode 100644
index 000000000..040f4de3b
--- /dev/null
+++ b/offapi/com/sun/star/ucb/GnomeVFSFolderContent.idl
@@ -0,0 +1,91 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_ucb_GnomeVFSFolderContent_idl__
+#define __com_sun_star_ucb_GnomeVFSFolderContent_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/ucb/XContent.idl>
+#include <com/sun/star/ucb/XCommandProcessor.idl>
+#include <com/sun/star/ucb/XCommandProcessor2.idl>
+#include <com/sun/star/beans/XPropertiesChangeNotifier.idl>
+#include <com/sun/star/beans/XPropertyContainer.idl>
+#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl>
+#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl>
+#include <com/sun/star/container/XChild.idl>
+#include <com/sun/star/ucb/XContentCreator.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** A DCP Folder is a container for other DCP Folders or Documents.
+
+ @see com::sun::star::ucb::GnomeVFSContentProvider
+ @see com::sun::star::ucb::GnomeVFSDocumentContent
+*/
+service GnomeVFSFolderContent
+{
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::ucb::XContent;
+
+ interface com::sun::star::ucb::XCommandProcessor;
+
+ [optional] interface com::sun::star::ucb::XCommandProcessor2;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertiesChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertyContainer;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertySetInfoChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::ucb::XCommandInfoChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::container::XChild;
+
+ interface com::sun::star::ucb::XContentCreator;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/HelpContent.idl b/offapi/com/sun/star/ucb/HelpContent.idl
new file mode 100644
index 000000000..7047c61dd
--- /dev/null
+++ b/offapi/com/sun/star/ucb/HelpContent.idl
@@ -0,0 +1,171 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_ucb_HelpContent_idl__
+#define __com_sun_star_ucb_HelpContent_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/ucb/XContent.idl>
+#include <com/sun/star/ucb/XCommandProcessor.idl>
+#include <com/sun/star/ucb/XCommandProcessor2.idl>
+#include <com/sun/star/beans/XPropertiesChangeNotifier.idl>
+#include <com/sun/star/beans/XPropertyContainer.idl>
+#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl>
+#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl>
+#include <com/sun/star/container/XChild.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** A Help Content represents either a directory object allowing access to a
+ search engine and to index information for the respective module, or an
+ object allowing access to the concrete written help content.
+
+ @see com::sun::star::ucb::HelpContentProvider
+*/
+published service HelpContent
+{
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::ucb::XContent;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+
+ <p>
+
+ <b>Supported Commands</b>
+
+ <ul>
+ <li>
+ getCommandInfo
+ </li>
+ <li>
+ getPropertySetInfo
+ </li>
+ <li>
+ getPropertyValues
+ </li>
+ <li>
+ setPropertyValues
+ </li>
+ <li>
+ open
+ </li>
+ </ul>
+
+ <b>Supported Properties</b>
+ <ul>
+ <li>
+ string ContentType ( read-only,
+ ""application/vnd.sun.star.help" )
+ </li>
+ <li>
+ boolean IsReadOnly ( read-only, always "true" )
+ </li>
+ <li>
+ boolean IsDocument ( read-only )
+ </li>
+ <li>
+ boolean IsFolder ( read-only )
+ </li>
+ <li>
+ string Title ( read-only, content title )
+ </li>
+ <li>
+ string MediaType ( read only, either "image/gif", "text/plain",
+ "text/html" or "text/css" )
+ </li>
+ <li>
+ sequence&lt;string&gt; KeywordList ( read-only, only if IsFolder is true,
+ contains the index )
+ </li>
+ <li>
+ sequence&lt;sequence&lt;string&gt;&gt; KeywordRef ( read-only, only if IsFolder is true,
+ contains the links belonging to the index )
+ </li>
+ <li>
+ sequence&lt;sequence&lt;string&gt;&gt; KeywordAnchorForRef ( read-only, only if IsFolder is true,
+ contains the anchor names belonging to the index )
+ </li>
+ <li>
+ sequence&lt;sequence&lt;string&gt;&gt; KeywordTitleForRef ( read-only, , only if IsFolder is true,
+ contains the titles of the documents in which the keywords are found. )
+ </li>
+ <li>
+ sequence&lt;string&gt; SearchScopes ( read only, , only if IsFolder is true,
+ contains the scopes in which to search ).
+ </li>
+ <li>
+ string AnchorName ( readonly, only if content is has media type "text/html".
+ </li>
+ </ul>
+
+ </p>
+ */
+ interface com::sun::star::ucb::XCommandProcessor;
+
+ /** is an enhanced version of XCommandProcessor that has an
+ additional method for releasing command identifiers obtained via
+ XCommandProcessor::createCommandIdentifier() to avoid
+ resource leaks. For a detailed description of the problem refer to
+ XCommandProcessor2::releaseCommandIdentifier().
+
+ <p>Where many existing Content implementations do not
+ (yet), every new implementation should support this interface.
+ */
+ [optional] interface com::sun::star::ucb::XCommandProcessor2;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertiesChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertyContainer;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertySetInfoChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::ucb::XCommandInfoChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::container::XChild;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/HelpContentProvider.idl b/offapi/com/sun/star/ucb/HelpContentProvider.idl
new file mode 100644
index 000000000..86302d41d
--- /dev/null
+++ b/offapi/com/sun/star/ucb/HelpContentProvider.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_ucb_HelpContentProvider_idl__
+#define __com_sun_star_ucb_HelpContentProvider_idl__
+
+#include <com/sun/star/ucb/XContentProvider.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** The Help Content Provider (HCP) implements a ContentProvider
+ for the UniversalContentBroker (UCB).
+
+ <p>The served contents enable access to the help contents and to the
+ search engine.
+
+ @see com::sun::star::ucb::Content
+*/
+
+published service HelpContentProvider
+{
+ /** provides an object representing either a directory object allowing
+ searching or a help content object providing access to the help content.
+
+ @see com::sun::star::ucb::HelpContent
+ */
+
+ interface com::sun::star::ucb::XContentProvider;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/HierarchyContentProvider.idl b/offapi/com/sun/star/ucb/HierarchyContentProvider.idl
new file mode 100644
index 000000000..5d9fa601a
--- /dev/null
+++ b/offapi/com/sun/star/ucb/HierarchyContentProvider.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_ucb_HierarchyContentProvider_idl__
+#define __com_sun_star_ucb_HierarchyContentProvider_idl__
+
+#include <com/sun/star/ucb/XContentProvider.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** The Hierarchy Content Provider (HCP) implements a
+ ContentProvider for the UniversalContentBroker
+ (UCB).
+
+ <p>It provides access to a persistent, customizable hierarchy of contents
+ (folders and links).
+
+ @see com::sun::star::ucb::Content
+*/
+published service HierarchyContentProvider
+{
+ /** provides three types of contents: Link, Folder and Root Folder.
+
+ <p>
+
+ <b>HCP Contents</b>
+ <ol>
+ <li>
+ A HCP Link (HierarchyLinkContent) is a content which
+ points to another (UCB) content. It is always contained in HCP Folder.
+ A HCP Link has no children.
+ </li>
+ <li>
+ A HCP Folder (HierarchyFolderContent) is a container for
+ other HCP Folders and HCP Links.
+ </li>
+ <li>
+ There is at most one instance of a HCP Root Folder
+ ( HierarchyRootFolderContent ) at a time.
+ All other HCP contents are children of this folder. The HCP Root
+ Folder can contain HCP Folders and HCP Links. It has the URL
+ "vnd.sun.star.hier:/".
+ </li>
+ </ol>
+
+ <p><b>URL Scheme for HCP Contents</b>
+
+ <p>Each HCP content has an identifier corresponding to the following
+ scheme:
+
+ <ul>
+ <li>
+ vnd.sun.star.hier:/&lt;path&gt;, where &lt;path&gt; is a
+ hierarchical path of the form &lt;name&gt;/.../&lt;name&gt; and
+ where &lt;name&gt; is a string encoded according to the URL
+ conventions.
+ </li>
+ </ul>
+
+ <p>Examples:
+
+ <ul>
+ <li>
+ vnd.sun.star.hier:/ (The URL of the HCP Root Folder)
+ </li>
+ <li>
+ vnd.sun.star.hier:/Bookmarks/Sun%20Microsystems%20Home%20Page
+ </li>
+ <li>
+ vnd.sun.star.hier:/Workplace/Printers
+ </li>
+ </ul>
+
+ </p>
+ */
+ interface com::sun::star::ucb::XContentProvider;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/HierarchyDataReadAccess.idl b/offapi/com/sun/star/ucb/HierarchyDataReadAccess.idl
new file mode 100644
index 000000000..1c034f2e8
--- /dev/null
+++ b/offapi/com/sun/star/ucb/HierarchyDataReadAccess.idl
@@ -0,0 +1,150 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_ucb_HierarchyDataReadAccess_idl__
+#define __com_sun_star_ucb_HierarchyDataReadAccess_idl__
+
+#include <com/sun/star/container/XNameAccess.idl>
+#include <com/sun/star/container/XHierarchicalNameAccess.idl>
+#include <com/sun/star/util/XChangesNotifier.idl>
+#include <com/sun/star/lang/XComponent.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** provides read access to a fragment of the hierarchy data.
+
+ <p>A hierarchy data source provides access to a tree of hierarchy data
+ nodes. Each hierarchy data node, except the root node, has a parent that
+ is a hierarchy data node too. A hierarchy data node has a name.
+
+ <p>Each hierarchy data node has three data members:
+
+ <ul>
+ <li>"Title", which is of type `string`. It contains a title
+ for the node. This value must not be empty.
+ <li>"TargetURL", which is of type `string`</li> It may contain
+ any URL, which will be treated as the target of a hierarchy link.
+ <li>"Children", which is of type HierarchyDataReadAccess or
+ of type HierarchyDataReadWriteAccess</li>, depending on the
+ type of the node. This member provides access to the children of a node.
+ </ul>
+*/
+published service HierarchyDataReadAccess
+{
+ /** gives access to the data members of a hierarchy data node.
+
+ <p>Examples:
+ <ul>
+ <li><code>getByName( "Title" )</code> will return an `any`
+ containing a string containing the title of the node.
+ </li>
+ <li><code>getByName( "Children" )</code> will return an `any`
+ containing an implementation of service
+ HierarchyDataReadAccess, if it was called on a read-only
+ node. It will return an implementation of service
+ HierarchyDataReadWriteAccess if it was called on a
+ writable node.
+ </li>
+ </ul>
+ */
+ interface com::sun::star::container::XNameAccess;
+
+ /** gives access to the data members of a hierarchy data node as well
+ as to any child nodes or to the data members of child nodes using a
+ hierarchical name.
+
+ <p>A hierarchical name consists of segments that are separated by a
+ single slash ("/"). There is neither a leading nor a trailing slash
+ allowed.
+
+ <ul>
+ <li>
+ path = segment ( '/' segment )*
+ </li>
+ <li>
+ segment = '[' quoted-string ']'
+ </li>
+ <li>
+ quoted-string = "'" escaped-string "'"
+ </li>
+ <li>
+ escaped-string = escaped according to XML attribute naming conventions
+ </li>
+ </ul>
+
+ <p>Examples:
+ <ul>
+ <li>
+ <code>getByHierarchicalName( "Title" )</code> will return an
+ `any` containing a string containing the title of the node
+ itself.
+ </li>
+ <li>
+ <code>getByHierarchicalName( "Children/['subnode1']" )</code> will give
+ access to the child node named "subnode1" of the node. It will return
+ an `any` containing an implementation of service
+ HierarchyDataReadAccess, if it was called on a read-only
+ node. It will return an implementation of service
+ HierarchyDataReadWriteAccess if it was called on a
+ writable node.
+ </li>
+ <li>
+ <code>getByHierarchicalName( "Children/['subnode2']/TargetURL" )</code>
+ will give direct access to the "TargetURL" data member of the child node
+ named "subnode2" of the node. It will return an `any`
+ containing a `string` containing the target URL of the node.
+ </li>
+ <li>
+ <code>getByHierarchicalName( "Children/['subnode3']/Children" )</code>
+ will give direct access to the "Children" data member of the child node
+ named "subnode3" of the node. It will return an `any`
+ containing an implementation of service
+ HierarchyDataReadAccess, if it was called on a read-only
+ node. It will return an implementation of service
+ HierarchyDataReadWriteAccess if it was called on a
+ writable node.
+ </li>
+ </ul>
+ */
+ interface com::sun::star::container::XHierarchicalNameAccess;
+
+ /** allows registering listeners that observe the hierarchy data source.
+
+ <p>A client can register an
+ com::sun::star::util::XChangesListener, which will
+ receive notifications for any changes within the hierarchy (fragment)
+ this object represents.
+
+ <p>An implementation should collect as many changes as possible into a
+ single com::sun::star::util::ChangesEvent.
+ */
+ interface com::sun::star::util::XChangesNotifier;
+
+ /** allows controlling or observing the lifetime of the hierarchy data
+ access object.
+ */
+ interface com::sun::star::lang::XComponent;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/HierarchyDataReadWriteAccess.idl b/offapi/com/sun/star/ucb/HierarchyDataReadWriteAccess.idl
new file mode 100644
index 000000000..ba0336632
--- /dev/null
+++ b/offapi/com/sun/star/ucb/HierarchyDataReadWriteAccess.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_ucb_HierarchyDataReadWriteAccess_idl__
+#define __com_sun_star_ucb_HierarchyDataReadWriteAccess_idl__
+
+#include <com/sun/star/ucb/HierarchyDataReadAccess.idl>
+#include <com/sun/star/container/XNameContainer.idl>
+#include <com/sun/star/lang/XSingleServiceFactory.idl>
+#include <com/sun/star/util/XChangesBatch.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** provides read and write access to a fragment of the hierarchy data.
+*/
+published service HierarchyDataReadWriteAccess
+{
+ /** provides read access to a fragment of the hierarchy data
+ */
+ service HierarchyDataReadAccess;
+
+ /** allows adding and removing of hierarchy data nodes, replacing of
+ the value of hierarchy data node members, as well as obtaining the
+ value of hierarchy data node members.
+
+ <p>Adding and removing must only be supported if the access object
+ points to the "Children" data member of a node or to the root node.
+ It will insert a new node or remove an existing one. If supported
+ on data nodes, adding must add new data members to the node, removing
+ must remove data members. However, the mandatory data members (Title,
+ TargetURL, Children) must never be removable.
+
+ <p>Replacing and getting values must be supported be every data node.
+ */
+ interface com::sun::star::container::XNameContainer;
+
+ /** gives access to all contents provided by this provider.
+
+ <p>com::sun::star::lang::XSingleServiceFactory::createInstance()
+ will create a new empty hierarchy data node. After it was created
+ it's data members can be filled. Last, the node can be inserted as child
+ of another node using
+ com::sun::star::container::XNameContainer::insertByName().
+
+ <p>There are no special arguments that must be supported by
+ com::sun::star::lang::XSingleServiceFactory::createInstanceWithArguments()
+ */
+ interface com::sun::star::lang::XSingleServiceFactory;
+
+ /** allows managing changes within the hierarchy.
+
+ <p>com::sun::star::util::XChangesBatch::getPendingChanges()
+ reports all changes within the hierarchy that are done through (direct
+ or indirect) descendants of this element. The same set of changes is
+ committed to persistent storage and/or made visible to other objects
+ accessing the same data set, when
+ com::sun::star::util::XChangesBatch::commitChanges()
+ is invoked.
+ */
+ interface com::sun::star::util::XChangesBatch;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/HierarchyDataSource.idl b/offapi/com/sun/star/ucb/HierarchyDataSource.idl
new file mode 100644
index 000000000..4a9842cb6
--- /dev/null
+++ b/offapi/com/sun/star/ucb/HierarchyDataSource.idl
@@ -0,0 +1,104 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_ucb_HierarchyDataSource_idl__
+#define __com_sun_star_ucb_HierarchyDataSource_idl__
+
+#include <com/sun/star/lang/XMultiServiceFactory.idl>
+#include <com/sun/star/lang/XComponent.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** manages one or more complete sets of hierarchy data and serves as a factory
+ for objects that provide access to a subset of the data.
+
+ <p><b>Note:</b> This is an abstract service. This means, that there should
+ never be implementations that can be instantiated using the service name
+ <code>com.sun.star.ucb.HierarchyDataSource</code>. Each implementation must
+ provide its own service name that can be used to create instances of that
+ service implementation. Important for those service specifications is also
+ to specify which of the optional parts are supported by the implementation.
+*/
+published service HierarchyDataSource
+{
+ /** allows creating access objects for specific views such as subsets and
+ fragments of the hierarchy data.
+
+ <p>The parameter <var>aServiceSpecifier</var> passed to
+ com::sun::star::lang::XMultiServiceFactory::createInstanceWithArguments()
+ supports at least the service specifier
+ <code>"com.sun.star.ucb.HierarchyDataReadAccess"</code>, which will
+ create a <b>read-only view</b> to the data. The object that is created
+ implements the service HierarchyDataReadAccess.
+
+ <p><b>Optionally</b> the factory may support <b>writable views</b>. A
+ writable view is requested by passing the service specifier
+ <code>"com.sun.star.ucb.HierarchyDataReadWriteAccess"</code> to
+ com::sun::star::lang::XMultiServiceFactory::createInstanceWithArguments()
+ The object that is created implements the service
+ HierarchyDataReadWriteAccess.
+
+ <p>The arguments passed to
+ com::sun::star::lang::XMultiServiceFactory::createInstanceWithArguments()
+ in parameter <var>aArguments</var> specify the view of the data that
+ should be created. That is, they determine the subset of elements that
+ can be accessed starting from the returned object. Each element of the
+ argument sequence should be a
+ com::sun::star::beans::PropertyValue, so that the
+ parameters can be identified by name rather than by position.
+
+ <p>With both of the standard service specifiers above, an implementation
+ must accept a property named <code>nodepath</code> of type
+ `string`. This property must contain the absolute path to an
+ element of the data. The view that is selected consists of the named
+ element and all its descendants. A path consists of segments that are
+ separated by a single slash ("/"). There is neither a leading nor a
+ trailing slash allowed. The <b>root</b> of the hierarchy data always
+ has an empty path. Refer to HierarchyDataReadAccess for
+ more information on hierarchical names.
+
+ <p>Other arguments can be used to control the behavior of the view.
+ These are different for different implementations. Whether and how they
+ are used may also depend on the configuration store and configuration
+ that were selected when the provider was created.
+
+ <p>An implementation must ignore unknown arguments.
+
+ <p>The implementation of
+ com::sun::star::lang::XMultiServiceFactory::createInstance()
+ must behave exactly as if
+ com::sun::star::lang::XMultiServiceFactory::createInstanceWithArguments()
+ were called passing one single property named <code>nodepath</code>
+ where the property value is an empty string. Thus it always creates a
+ view to the root of the hierarchy data.
+ */
+ interface com::sun::star::lang::XMultiServiceFactory;
+
+ /** allows controlling or observing the lifetime of the hierarchy data
+ source and its views.
+ */
+ interface com::sun::star::lang::XComponent;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/HierarchyFolderContent.idl b/offapi/com/sun/star/ucb/HierarchyFolderContent.idl
new file mode 100644
index 000000000..2f6c5b87b
--- /dev/null
+++ b/offapi/com/sun/star/ucb/HierarchyFolderContent.idl
@@ -0,0 +1,180 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_ucb_HierarchyFolderContent_idl__
+#define __com_sun_star_ucb_HierarchyFolderContent_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/ucb/XContent.idl>
+#include <com/sun/star/ucb/XCommandProcessor.idl>
+#include <com/sun/star/ucb/XCommandProcessor2.idl>
+#include <com/sun/star/beans/XPropertiesChangeNotifier.idl>
+#include <com/sun/star/beans/XPropertyContainer.idl>
+#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl>
+#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl>
+#include <com/sun/star/container/XChild.idl>
+#include <com/sun/star/ucb/XContentCreator.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** A HCP Folder is a container for other HCP Folders and HCP Links.
+
+ @see com::sun::star::ucb::HierarchyContentProvider
+ @see com::sun::star::ucb::HierarchyRootFolderContent
+ @see com::sun::star::ucb::HierarchyLinkContent
+*/
+published service HierarchyFolderContent
+{
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::ucb::XContent;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+
+ <p>
+
+ <b>Supported Commands</b>
+ <ul>
+ <li>
+ getCommandInfo
+ </li>
+ <li>
+ getPropertySetInfo
+ </li>
+ <li>
+ getPropertyValues
+ </li>
+ <li>
+ setPropertyValues
+ </li>
+ <li>
+ insert ( makes a newly created folder persistent )
+ </li>
+ <li>
+ delete
+ </li>
+ <li>
+ open
+ </li>
+ <li>
+ transfer ( only transfers from one hierarchy folder to another supported )
+ </li>
+ </ul>
+
+ <b>Supported Properties</b>
+ <ul>
+ <li>
+ string ContentType ( read-only, always "application/vnd.sun.star.hier-folder" )
+ </li>
+ <li>
+ boolean IsDocument ( read-only, always false )
+ </li>
+ <li>
+ boolean IsFolder ( read-only, always true )
+ </li>
+ <li>
+ string Title
+ </li>
+ </ul>
+
+ </p>
+ */
+ interface com::sun::star::ucb::XCommandProcessor;
+
+ /** is an enhanced version of XCommandProcessor that has an
+ additional method for releasing command identifiers obtained via
+ XCommandProcessor::createCommandIdentifier() to avoid
+ resource leaks. For a detailed description of the problem refer to
+ XCommandProcessor2::releaseCommandIdentifier().
+
+ <p>Where many existing Content implementations do not
+ (yet), every new implementation should support this interface.
+ */
+ [optional] interface com::sun::star::ucb::XCommandProcessor2;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertiesChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertyContainer;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertySetInfoChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::ucb::XCommandInfoChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::container::XChild;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+
+ <p>
+
+ A HCP Folder can create other HCP Folders and HCP Links. To create
+ a new child of a HCP Folder:
+
+ <ol>
+ <li>
+ Let the parent folder create a new content by calling
+ XContentCreator::createNewContent() on it. The content
+ type to use for new folders is "application/vnd.sun.star.hier-folder".
+ To create a new link, use the type "application/vnd.sun.star.hier-link".
+ </li>
+ <li>
+ Set a title at the new folder / link. ( Let the new child execute
+ the command "setPropertyValues", which sets at least the property
+ "Title" to a non-empty value ). For a link, you need to set the
+ property "TargetURL" as well to a non-empty value.
+ </li>
+ <li>
+ Let the new child ( not the parent! ) execute the command "insert".
+ This will commit the creation process.
+ </li>
+ </ol>
+
+ </p>
+ */
+ interface com::sun::star::ucb::XContentCreator;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/HierarchyLinkContent.idl b/offapi/com/sun/star/ucb/HierarchyLinkContent.idl
new file mode 100644
index 000000000..a72cf7c66
--- /dev/null
+++ b/offapi/com/sun/star/ucb/HierarchyLinkContent.idl
@@ -0,0 +1,147 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_ucb_HierarchyLinkContent_idl__
+#define __com_sun_star_ucb_HierarchyLinkContent_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/ucb/XContent.idl>
+#include <com/sun/star/ucb/XCommandProcessor.idl>
+#include <com/sun/star/ucb/XCommandProcessor2.idl>
+#include <com/sun/star/beans/XPropertiesChangeNotifier.idl>
+#include <com/sun/star/beans/XPropertyContainer.idl>
+#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl>
+#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl>
+#include <com/sun/star/container/XChild.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** A HCP Link is a content which points to another location.
+
+ <p>It is always contained in HCP Folder. A HCP Link has no children.
+
+ @see com::sun::star::ucb::HierarchyContentProvider
+ @see com::sun::star::ucb::HierarchyRootFolderContent
+ @see com::sun::star::ucb::HierarchyFolderContent
+*/
+published service HierarchyLinkContent
+{
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::ucb::XContent;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+
+ <p>
+
+ <b>Supported Commands</b>
+ <ul>
+ <li>
+ getCommandInfo
+ </li>
+ <li>
+ getPropertySetInfo
+ </li>
+ <li>
+ getPropertyValues
+ </li>
+ <li>
+ setPropertyValues
+ </li>
+ <li>
+ insert ( makes a newly created link persistent )
+ </li>
+ <li>
+ delete
+ </li>
+ </ul>
+
+ <b>Supported Properties</b>
+ <ul>
+ <li>
+ string ContentType ( read-only, always "application/vnd.sun.star.hier-link" )
+ </li>
+ <li>
+ boolean IsDocument ( read-only, always true )
+ </li>
+ <li>
+ boolean IsFolder ( read-only, always false )
+ </li>
+ <li>
+ string Title
+ </li>
+ <li>
+ string TargetURL ( the URL of the link target )
+ </li>
+ </ul>
+
+ </p>
+ */
+ interface com::sun::star::ucb::XCommandProcessor;
+
+ /** is an enhanced version of XCommandProcessor that has an
+ additional method for releasing command identifiers obtained via
+ XCommandProcessor::createCommandIdentifier() to avoid
+ resource leaks. For a detailed description of the problem refer to
+ XCommandProcessor2::releaseCommandIdentifier().
+
+ <p>Where many existing Content implementations do not
+ (yet), every new implementation should support this interface.
+ */
+ [optional] interface com::sun::star::ucb::XCommandProcessor2;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertiesChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertyContainer;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertySetInfoChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::ucb::XCommandInfoChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::container::XChild;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/HierarchyRootFolderContent.idl b/offapi/com/sun/star/ucb/HierarchyRootFolderContent.idl
new file mode 100644
index 000000000..e0483ebac
--- /dev/null
+++ b/offapi/com/sun/star/ucb/HierarchyRootFolderContent.idl
@@ -0,0 +1,178 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_ucb_HierarchyRootFolderContent_idl__
+#define __com_sun_star_ucb_HierarchyRootFolderContent_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/ucb/XContent.idl>
+#include <com/sun/star/ucb/XCommandProcessor.idl>
+#include <com/sun/star/ucb/XCommandProcessor2.idl>
+#include <com/sun/star/beans/XPropertiesChangeNotifier.idl>
+#include <com/sun/star/beans/XPropertyContainer.idl>
+#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl>
+#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl>
+#include <com/sun/star/container/XChild.idl>
+#include <com/sun/star/ucb/XContentCreator.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** A HCP Root Folder is the root container for all other HCP Folders and HCP
+ Links.
+
+ <p>It always has the URL "vnd.sun.star.hier:/". A HCP Root Folder neither
+ can't be created nor deleted by a UCB client.
+
+ @see com::sun::star::ucb::HierarchyContentProvider
+ @see com::sun::star::ucb::HierarchyFolderContent
+ @see com::sun::star::ucb::HierarchyLinkContent
+*/
+published service HierarchyRootFolderContent
+{
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::ucb::XContent;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+
+ <p>
+
+ <b>Supported Commands</b>
+ <ul>
+ <li>
+ getCommandInfo
+ </li>
+ <li>
+ getPropertySetInfo
+ </li>
+ <li>
+ getPropertyValues
+ </li>
+ <li>
+ setPropertyValues
+ </li>
+ <li>
+ open
+ </li>
+ <li>
+ transfer ( only transfers from one hierarchy folder to another supported )
+ </li>
+ </ul>
+
+ <b>Supported Properties</b>
+ <ul>
+ <li>
+ string ContentType ( read-only, always "application/vnd.sun.star.hier-folder" )
+ </li>
+ <li>
+ boolean IsDocument ( read-only, always false )
+ </li>
+ <li>
+ boolean IsFolder ( read-only, always true )
+ </li>
+ <li>
+ string Title ( read-only, always an empty string )
+ </li>
+ </ul>
+
+ </p>
+ */
+ interface com::sun::star::ucb::XCommandProcessor;
+
+ /** is an enhanced version of XCommandProcessor that has an
+ additional method for releasing command identifiers obtained via
+ XCommandProcessor::createCommandIdentifier() to avoid
+ resource leaks. For a detailed description of the problem refer to
+ XCommandProcessor2::releaseCommandIdentifier().
+
+ <p>Where many existing Content implementations do not
+ (yet), every new implementation should support this interface.
+ */
+ [optional] interface com::sun::star::ucb::XCommandProcessor2;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertiesChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertyContainer;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertySetInfoChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::ucb::XCommandInfoChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::container::XChild;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+
+ <p>
+
+ A HCP Root Folder can create HCP Folders and HCP Links. To create
+ a new child of a HCP Root Folder:
+
+ <ol>
+ <li>
+ Let the parent folder create a new content by calling
+ XContentCreator::createNewContent() on it. The content
+ type to use for new folders is "application/vnd.sun.star.hier-folder".
+ To create a new link, use the type "application/vnd.sun.star.hier-link".
+ </li>
+ <li>
+ Set a title at the new folder / link. ( Let the new child execute
+ the command "setPropertyValues", which sets at least the property
+ "Title" to a non-empty value ). For a link, you need to set the
+ property "TargetURL" as well to a non-empty value.
+ </li>
+ <li>
+ Let the new child ( not the parent! ) execute the command "insert".
+ This will commit the creation process.
+ </li>
+ </ol>
+
+ </p>
+ */
+ interface com::sun::star::ucb::XContentCreator;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/IOErrorCode.idl b/offapi/com/sun/star/ucb/IOErrorCode.idl
new file mode 100644
index 000000000..d92d8c696
--- /dev/null
+++ b/offapi/com/sun/star/ucb/IOErrorCode.idl
@@ -0,0 +1,188 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_ucb_IOErrorCode_idl__
+#define __com_sun_star_ucb_IOErrorCode_idl__
+
+
+
+module com { module sun { module star { module ucb {
+
+/** Types of input/output errors.
+
+ <P>See com::sun::star::task::InteractionHandler for a
+ description of what kinds of arguments
+ InteractiveAugmentedIOException should use with each of these
+ error codes.</P>
+*/
+published enum IOErrorCode
+{
+ /** An operation was aborted.
+ */
+ ABORT,
+
+ /** An object cannot be accessed due to insufficient user rights.
+ */
+ ACCESS_DENIED,
+
+ /** An object already exists.
+ */
+ ALREADY_EXISTING,
+
+ /** A bad checksum.
+ */
+ BAD_CRC,
+
+ /** An object could not be created.
+ */
+ CANT_CREATE,
+
+ /** Data could not be read from a file.
+ */
+ CANT_READ,
+
+ /** A seek operation could not be run.
+ */
+ CANT_SEEK,
+
+ /** A tell operation could not be run.
+ */
+ CANT_TELL,
+
+ /** Data could not be written to a file.
+ */
+ CANT_WRITE,
+
+ /** A function is not possible because the path contains the current
+ directory.
+ */
+ CURRENT_DIRECTORY,
+
+ /** A device (drive) not ready.
+ */
+ DEVICE_NOT_READY,
+
+ /** A function is not possible because the devices (drives) are not
+ identical.
+ */
+ DIFFERENT_DEVICES,
+
+ /** A general input/output error.
+ */
+ GENERAL,
+
+ /** An invalid attempt was made to access an object.
+ */
+ INVALID_ACCESS,
+
+ /** A file name contains invalid characters.
+ */
+ INVALID_CHARACTER,
+
+ /** A specified device is invalid.
+ */
+ INVALID_DEVICE,
+
+ /** Invalid data length.
+ */
+ INVALID_LENGTH,
+
+ /** An operation was started with an invalid parameter.
+ */
+ INVALID_PARAMETER,
+
+ /** An operation cannot be run on file names containing wildcards.
+ */
+ IS_WILDCARD,
+
+ /** A locking problem.
+ */
+ LOCKING_VIOLATION,
+
+ /** An invalid file name.
+ */
+ MISPLACED_CHARACTER,
+
+ /** A file name is too long.
+ */
+ NAME_TOO_LONG,
+
+ /** A nonexistent object.
+ */
+ NOT_EXISTING,
+
+ /** The path to a file does not exist.
+ */
+ NOT_EXISTING_PATH,
+
+ /** An action is not supported.
+ */
+ NOT_SUPPORTED,
+
+ /** An object is not a directory.
+ */
+ NO_DIRECTORY,
+
+ /** An object is not a file.
+ */
+ NO_FILE,
+
+ /** No more space on a device.
+ */
+ OUT_OF_DISK_SPACE,
+
+ /** No more file handles available.
+ */
+ OUT_OF_FILE_HANDLES,
+
+ /** An operation could not be run due to insufficient memory.
+ */
+ OUT_OF_MEMORY,
+
+ /** An operation is still pending.
+ */
+ PENDING,
+
+ /** An object cannot be copied into itself.
+ */
+ RECURSIVE,
+
+ /** An unknown I/O error has occurred.
+ */
+ UNKNOWN,
+
+ /** A function is not possible because the object is write protected.
+ */
+ WRITE_PROTECTED,
+
+ /** An incorrect file format.
+ */
+ WRONG_FORMAT,
+
+ /** An incorrect file version.
+ */
+ WRONG_VERSION
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/IllegalIdentifierException.idl b/offapi/com/sun/star/ucb/IllegalIdentifierException.idl
new file mode 100644
index 000000000..a0221a97e
--- /dev/null
+++ b/offapi/com/sun/star/ucb/IllegalIdentifierException.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_ucb_IllegalIdentifierException_idl__
+#define __com_sun_star_ucb_IllegalIdentifierException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** This exception is thrown to indicate an illegal content identifier.
+
+ @version 1.0
+ @see XContent
+ @see XContentIdentifier
+*/
+published exception IllegalIdentifierException: com::sun::star::uno::Exception
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/InsertCommandArgument.idl b/offapi/com/sun/star/ucb/InsertCommandArgument.idl
new file mode 100644
index 000000000..372c802a8
--- /dev/null
+++ b/offapi/com/sun/star/ucb/InsertCommandArgument.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_ucb_InsertCommandArgument_idl__
+#define __com_sun_star_ucb_InsertCommandArgument_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/io/XInputStream.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** The argument for the command "insert".
+
+ @see XCommandProcessor
+*/
+published struct InsertCommandArgument
+{
+ /** A stream containing document data.
+
+ <p>This member can be left blank, if no (new) document data shall be
+ written by the implementation of the "insert" command.
+ */
+ com::sun::star::io::XInputStream Data;
+
+ /** A flag indicating whether a possibly existing content (and its data)
+ shall be overwritten.
+
+ <p>Implementations that are not able to detect whether there are
+ previous data may ignore this parameter and will always write the
+ new data.
+ */
+ boolean ReplaceExisting;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/InsertCommandArgument2.idl b/offapi/com/sun/star/ucb/InsertCommandArgument2.idl
new file mode 100644
index 000000000..c3d1ab883
--- /dev/null
+++ b/offapi/com/sun/star/ucb/InsertCommandArgument2.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_ucb_InsertCommandArgument2_idl__
+#define __com_sun_star_ucb_InsertCommandArgument2_idl__
+
+#include <com/sun/star/ucb/InsertCommandArgument.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** The argument for the command "insert" augmented with some properties
+*/
+struct InsertCommandArgument2 : InsertCommandArgument
+{
+ /** contains the MIME type of the document to insert
+ */
+ string MimeType;
+
+ /** contains the Document Id of the document to insert
+ */
+ string DocumentId;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/InteractiveAppException.idl b/offapi/com/sun/star/ucb/InteractiveAppException.idl
new file mode 100644
index 000000000..46c4cdbea
--- /dev/null
+++ b/offapi/com/sun/star/ucb/InteractiveAppException.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_ucb_InteractiveAppException_idl__
+#define __com_sun_star_ucb_InteractiveAppException_idl__
+
+#include <com/sun/star/task/ClassifiedInteractionRequest.idl>
+#include <com/sun/star/ucb/IOErrorCode.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** An application error.
+
+ @since OOo 1.1.2
+*/
+published exception InteractiveAppException: com::sun::star::task::ClassifiedInteractionRequest
+{
+ /** The type of application error.
+ */
+ unsigned long Code;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/InteractiveAugmentedIOException.idl b/offapi/com/sun/star/ucb/InteractiveAugmentedIOException.idl
new file mode 100644
index 000000000..723195643
--- /dev/null
+++ b/offapi/com/sun/star/ucb/InteractiveAugmentedIOException.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_ucb_InteractiveAugmentedIOException_idl__
+#define __com_sun_star_ucb_InteractiveAugmentedIOException_idl__
+
+#include <com/sun/star/ucb/InteractiveIOException.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** An input/output error with arguments.
+*/
+published exception InteractiveAugmentedIOException : com::sun::star::ucb::InteractiveIOException
+{
+ /** Additional arguments.
+
+ <P>See com::sun::star::task::InteractionHandler
+ for a description of well-known arguments.</P>
+ */
+ sequence< any > Arguments;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/InteractiveBadTransferURLException.idl b/offapi/com/sun/star/ucb/InteractiveBadTransferURLException.idl
new file mode 100644
index 000000000..cb25859f8
--- /dev/null
+++ b/offapi/com/sun/star/ucb/InteractiveBadTransferURLException.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_ucb_InteractiveBadTransferURLException_idl__
+#define __com_sun_star_ucb_InteractiveBadTransferURLException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** An interaction request to inform the client of a "transfer" command
+ that the supplied source URL is not supported.
+
+ @see XCommandProcessor
+*/
+published exception InteractiveBadTransferURLException: com::sun::star::uno::Exception
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/InteractiveFileIOException.idl b/offapi/com/sun/star/ucb/InteractiveFileIOException.idl
new file mode 100644
index 000000000..3aba573c2
--- /dev/null
+++ b/offapi/com/sun/star/ucb/InteractiveFileIOException.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_ucb_InteractiveFileIOException_idl__
+#define __com_sun_star_ucb_InteractiveFileIOException_idl__
+
+#include <com/sun/star/ucb/InteractiveIOException.idl>
+#include <com/sun/star/ucb/IOErrorCode.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** An input/output error while processing a file.
+
+ <p>This exception is deprecated. Use
+ InteractiveAugmentedIOException instead.
+
+ @deprecated
+*/
+published exception InteractiveFileIOException: com::sun::star::ucb::InteractiveIOException
+{
+ /** The file url where the i/o error occurred
+ */
+ string FileName;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/InteractiveIOException.idl b/offapi/com/sun/star/ucb/InteractiveIOException.idl
new file mode 100644
index 000000000..aa3f88f3f
--- /dev/null
+++ b/offapi/com/sun/star/ucb/InteractiveIOException.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_ucb_InteractiveIOException_idl__
+#define __com_sun_star_ucb_InteractiveIOException_idl__
+
+#include <com/sun/star/task/ClassifiedInteractionRequest.idl>
+#include <com/sun/star/ucb/IOErrorCode.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** An input/output error.
+*/
+published exception InteractiveIOException: com::sun::star::task::ClassifiedInteractionRequest
+{
+ /** The type of input/output error.
+ */
+ com::sun::star::ucb::IOErrorCode Code;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/InteractiveLockingException.idl b/offapi/com/sun/star/ucb/InteractiveLockingException.idl
new file mode 100644
index 000000000..cbb00d46b
--- /dev/null
+++ b/offapi/com/sun/star/ucb/InteractiveLockingException.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_ucb_InteractiveLockingException_idl__
+#define __com_sun_star_ucb_InteractiveLockingException_idl__
+
+#include <com/sun/star/task/ClassifiedInteractionRequest.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** An error related to locking operations.
+
+ <p> Various meaningful errors are derived from this exception. </p>
+
+ @since OOo 3.3
+*/
+/*published*/ exception InteractiveLockingException : com::sun::star::task::ClassifiedInteractionRequest
+{
+ /** The Url of the resource this exception is related to.
+ */
+ string Url;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/InteractiveLockingLockExpiredException.idl b/offapi/com/sun/star/ucb/InteractiveLockingLockExpiredException.idl
new file mode 100644
index 000000000..75d1cb276
--- /dev/null
+++ b/offapi/com/sun/star/ucb/InteractiveLockingLockExpiredException.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_ucb_InteractiveLockingLockExpiredException_idl__
+#define __com_sun_star_ucb_InteractiveLockingLockExpiredException_idl__
+
+#include <com/sun/star/ucb/InteractiveLockingException.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** An error indicating that a lock that has been previously obtained by this
+ OOo session has expired.
+
+ @since OOo 3.3
+*/
+/*published*/ exception InteractiveLockingLockExpiredException : com::sun::star::ucb::InteractiveLockingException
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/InteractiveLockingLockedException.idl b/offapi/com/sun/star/ucb/InteractiveLockingLockedException.idl
new file mode 100644
index 000000000..bde18ef43
--- /dev/null
+++ b/offapi/com/sun/star/ucb/InteractiveLockingLockedException.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_ucb_InteractiveLockingLockedException_idl__
+#define __com_sun_star_ucb_InteractiveLockingLockedException_idl__
+
+#include <com/sun/star/ucb/InteractiveLockingException.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** An error indicating that the resource is locked.
+
+ @since OOo 3.3
+*/
+/*published*/ exception InteractiveLockingLockedException : com::sun::star::ucb::InteractiveLockingException
+{
+ /** The owner of the lock.
+
+ `TRUE`, the lock has been obtained by this OOo session.
+ `FALSE` the lock has been obtained by another principal.
+ */
+ boolean SelfOwned;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/InteractiveLockingNotLockedException.idl b/offapi/com/sun/star/ucb/InteractiveLockingNotLockedException.idl
new file mode 100644
index 000000000..11c9bc202
--- /dev/null
+++ b/offapi/com/sun/star/ucb/InteractiveLockingNotLockedException.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_ucb_InteractiveLockingNotLockedException_idl__
+#define __com_sun_star_ucb_InteractiveLockingNotLockedException_idl__
+
+#include <com/sun/star/ucb/InteractiveLockingException.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** An error indicating that the resource is not locked.
+
+ <p>This error for instance can occur when trying to unlock a resource
+ that is not locked.
+ </p>
+
+ @since OOo 3.3
+*/
+/*published*/ exception InteractiveLockingNotLockedException : com::sun::star::ucb::InteractiveLockingException
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/InteractiveNetworkConnectException.idl b/offapi/com/sun/star/ucb/InteractiveNetworkConnectException.idl
new file mode 100644
index 000000000..f060be081
--- /dev/null
+++ b/offapi/com/sun/star/ucb/InteractiveNetworkConnectException.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_ucb_InteractiveNetworkConnectException_idl__
+#define __com_sun_star_ucb_InteractiveNetworkConnectException_idl__
+
+#include <com/sun/star/ucb/InteractiveNetworkException.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** A network error specifying a connection failure.
+*/
+published exception InteractiveNetworkConnectException: InteractiveNetworkException
+{
+ /** The name of the server to which connecting failed.
+ */
+ string Server;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/InteractiveNetworkException.idl b/offapi/com/sun/star/ucb/InteractiveNetworkException.idl
new file mode 100644
index 000000000..25575617c
--- /dev/null
+++ b/offapi/com/sun/star/ucb/InteractiveNetworkException.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_ucb_InteractiveNetworkException_idl__
+#define __com_sun_star_ucb_InteractiveNetworkException_idl__
+
+#include <com/sun/star/task/ClassifiedInteractionRequest.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** An error related to network operations.
+
+ <p> Various meaningful errors are derived from this exception. </p>
+*/
+published exception InteractiveNetworkException: com::sun::star::task::ClassifiedInteractionRequest
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/InteractiveNetworkGeneralException.idl b/offapi/com/sun/star/ucb/InteractiveNetworkGeneralException.idl
new file mode 100644
index 000000000..32172282b
--- /dev/null
+++ b/offapi/com/sun/star/ucb/InteractiveNetworkGeneralException.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_ucb_InteractiveNetworkGeneralException_idl__
+#define __com_sun_star_ucb_InteractiveNetworkGeneralException_idl__
+
+#include <com/sun/star/ucb/InteractiveNetworkException.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** A network error specifying a general failure.
+*/
+published exception InteractiveNetworkGeneralException: com::sun::star::ucb::InteractiveNetworkException
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/InteractiveNetworkOffLineException.idl b/offapi/com/sun/star/ucb/InteractiveNetworkOffLineException.idl
new file mode 100644
index 000000000..cf8165d9c
--- /dev/null
+++ b/offapi/com/sun/star/ucb/InteractiveNetworkOffLineException.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_ucb_InteractiveNetworkOffLineException_idl__
+#define __com_sun_star_ucb_InteractiveNetworkOffLineException_idl__
+
+#include <com/sun/star/ucb/InteractiveNetworkException.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** A network error specifying an off line condition.
+*/
+published exception InteractiveNetworkOffLineException: com::sun::star::ucb::InteractiveNetworkException
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/InteractiveNetworkReadException.idl b/offapi/com/sun/star/ucb/InteractiveNetworkReadException.idl
new file mode 100644
index 000000000..00c0a1615
--- /dev/null
+++ b/offapi/com/sun/star/ucb/InteractiveNetworkReadException.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_ucb_InteractiveNetworkReadException_idl__
+#define __com_sun_star_ucb_InteractiveNetworkReadException_idl__
+
+#include <com/sun/star/ucb/InteractiveNetworkException.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** A network error specifying a read failure.
+*/
+published exception InteractiveNetworkReadException: com::sun::star::ucb::InteractiveNetworkException
+{
+ /** Any diagnostic message about the failure (which will typically be an
+ English phrase or sentence).
+ */
+ string Diagnostic;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/InteractiveNetworkResolveNameException.idl b/offapi/com/sun/star/ucb/InteractiveNetworkResolveNameException.idl
new file mode 100644
index 000000000..b0da035cf
--- /dev/null
+++ b/offapi/com/sun/star/ucb/InteractiveNetworkResolveNameException.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_ucb_InteractiveNetworkResolveNameException_idl__
+#define __com_sun_star_ucb_InteractiveNetworkResolveNameException_idl__
+
+#include <com/sun/star/ucb/InteractiveNetworkException.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** A network error specifying a name resolution failure.
+*/
+published exception InteractiveNetworkResolveNameException: com::sun::star::ucb::InteractiveNetworkException
+{
+ /** The server name for which resolution failed.
+ */
+ string Server;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/InteractiveNetworkWriteException.idl b/offapi/com/sun/star/ucb/InteractiveNetworkWriteException.idl
new file mode 100644
index 000000000..ffeea77d4
--- /dev/null
+++ b/offapi/com/sun/star/ucb/InteractiveNetworkWriteException.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_ucb_InteractiveNetworkWriteException_idl__
+#define __com_sun_star_ucb_InteractiveNetworkWriteException_idl__
+
+#include <com/sun/star/ucb/InteractiveNetworkException.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** A network error specifying a write failure.
+*/
+published exception InteractiveNetworkWriteException: com::sun::star::ucb::InteractiveNetworkException
+{
+ /** Any diagnostic message about the failure (which will typically be an
+ English phrase or sentence).
+ */
+ string Diagnostic;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/InteractiveWrongMediumException.idl b/offapi/com/sun/star/ucb/InteractiveWrongMediumException.idl
new file mode 100644
index 000000000..a18b329fd
--- /dev/null
+++ b/offapi/com/sun/star/ucb/InteractiveWrongMediumException.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_ucb_InteractiveWrongMediumException_idl__
+#define __com_sun_star_ucb_InteractiveWrongMediumException_idl__
+
+#include <com/sun/star/task/ClassifiedInteractionRequest.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** is thrown when the wrong medium is inserted into a removable drive during
+ an operation.
+*/
+published exception InteractiveWrongMediumException: com::sun::star::task::ClassifiedInteractionRequest
+{
+ /** identifies the medium that's needed to continue with the pending
+ operation.
+ */
+ any Medium;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/Link.idl b/offapi/com/sun/star/ucb/Link.idl
new file mode 100644
index 000000000..e5b5f5c5c
--- /dev/null
+++ b/offapi/com/sun/star/ucb/Link.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_ucb_Link_idl__
+#define __com_sun_star_ucb_Link_idl__
+
+
+module com { module sun { module star { module ucb {
+
+/** defines a link.
+
+ @see XCommandProcessor
+*/
+published struct Link
+{
+ /** contains the source URI of the link.
+ */
+ string Source;
+
+ /** contains the destination URI of the link.
+ */
+ string Destination;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/ListAction.idl b/offapi/com/sun/star/ucb/ListAction.idl
new file mode 100644
index 000000000..59d1f4a14
--- /dev/null
+++ b/offapi/com/sun/star/ucb/ListAction.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_ucb_ListAction_idl__
+#define __com_sun_star_ucb_ListAction_idl__
+
+
+
+module com { module sun { module star { module ucb {
+
+/** This struct contains information needed in the notifications of a
+ XDynamicResultSet.
+
+ @see ListEvent
+*/
+
+published struct ListAction
+{
+ /** The position where something has happened (index begins with
+ <code>1</code> as usual with JDBC ).
+
+ <p>Its value does not necessary indicate the new position in the new
+ com::sun::star::sdbc::XResultSet, but a position
+ while doing the changes step by step beginning with the old
+ com::sun::star::sdbc::XResultSet.
+ */
+ long Position;
+
+ /** The count of involved rows.
+ */
+ long Count;
+
+
+ /** specifies the kind of modification happened to all assigned rows.
+
+ <p>The value of the other members of this struct depend on the value
+ of this member:
+
+ <table border=1>
+ <tr align=left> <th>ListActionType</th>
+ <th>Position</th>
+ <th>Count</th>
+ <th>ActionInfo</th></tr>
+
+ <tr align=left> <td>WELCOME</td>
+ <td>n/a</td>
+ <td>n/a</td>
+ <td>WelcomeDynamicResultSetStruct required</td></tr>
+
+ <tr align=left> <td>CLEARED</td>
+ <td>n/a</td>
+ <td>n/a</td>
+ <td>n/a</td></tr>
+
+ <tr align=left> <td>INSERTED</td>
+ <td>required 1-x</td>
+ <td>required 1-x</td>
+ <td>allowed but not required... @todo </td></tr>
+
+ <tr align=left> <td>REMOVED</td>
+ <td>required 1-x</td>
+ <td>required 1-x</td>
+ <td>n/a</td></tr>
+
+ <tr align=left> <td>MOVED</td>
+ <td>required 1-x</td>
+ <td>required 1-x</td>
+ <td>type long required</td></tr>
+
+ <tr align=left> <td>PROPERTIES_CHANGED</td>
+ <td>required 1-x</td>
+ <td>required 1-x</td>
+ <td>allowed but not required... @todo</td></tr>
+ </table>
+
+ <p>The value for this member can be one of the
+ ListActionType constants group.
+ */
+ long ListActionType;
+
+ /** depending on the content of ListAction::ListActionType
+ the ListAction::ActionInfo could contain additional
+ information about the changes happened (see table above).
+ */
+
+ any ActionInfo;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/ListActionType.idl b/offapi/com/sun/star/ucb/ListActionType.idl
new file mode 100644
index 000000000..365eb60eb
--- /dev/null
+++ b/offapi/com/sun/star/ucb/ListActionType.idl
@@ -0,0 +1,174 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_ucb_ListActionType_idl__
+#define __com_sun_star_ucb_ListActionType_idl__
+
+
+
+module com { module sun { module star { module ucb {
+
+/** These values are used to specify the type of change happened to a list.
+
+ <p>A change happened is sent from an XDynamicResultSet
+ as ListAction to a XDynamicResultSetListener.
+
+ <p>The values are contained in ListAction::ListActionType.
+*/
+
+published constants ListActionType
+{
+ /** First notification to a single listener for purpose of initialization.
+
+ <p>This type of notification is required to be sent first and only once
+ to a new listener.
+
+ <p>The member ListAction::ActionInfo is required to
+ contain a struct WelcomeDynamicResultSetStruct.
+ This struct contains two
+ com::sun::star::sdbc::XResultSets (old and new).
+ During and after the notification only the new set is valid for access.
+ But the listener is required to remind both
+ com::sun::star::sdbc::XResultSets as he will not get
+ another chance to get them again.
+
+ <p>The members ListAction::Count and
+ ListAction::Position are not used.
+ */
+ const long WELCOME = 20;
+
+ /** One or more rows were inserted into the list.
+
+ <p>This action is related to ContentAction::INSERTED.
+
+ <p>The members ListAction::Count and
+ ListAction::Position contain the position and count of
+ newly inserted rows. If the count is greater than one, the inserted rows
+ have to be one after the other.
+
+ <p> ListAction::ActionInfo could contain something but
+ this is not required. For example, it could contain the properties of
+ the new rows (i.e. for remote optimizing), but this is not required
+ nor unrestrictedly recommended.
+
+ <p>@todo ... further description of allowed contents for
+ ListAction::ActionInfo is needed
+ */
+ const long INSERTED = 21;
+
+ /** One or more rows were removed from the list.
+
+ <p>This action is related to ContentAction::REMOVED.
+
+ <p>The members ListAction::Count and
+ ListAction::Position contain the position and count of the
+ removed rows. If the count is greater than one, the removed rows have to be
+ one after the other.
+
+ <p>The member ListAction::ListActionType is not used.
+ */
+ const long REMOVED = 22;
+
+
+ /** The whole list was destroyed and independently rebuild.
+
+ <p>If "CLEARED" is sent you don't need to refer to the old ResultSet.
+
+ <p>The members ListAction::ListActionType,
+ ListAction::Count and ListAction::Position
+ are ignored.
+ */
+ const long CLEARED = 23;
+
+ /** One or more rows were moved to another position.
+
+ <p>The members ListAction::Count and
+ ListAction::Position contain the position and count of the
+ moved rows. If the count is greater than one, the moved rows have to be
+ one after the other.
+
+ <p>ListAction::ListActionType is required to contain a "long",
+ which gives the shift of position.
+ (i.e. When two rows at position 3 and 4 are moved for a shift "+1",
+ they will appear at the positions 4 and 5. In this action is included, that
+ the row on old position 5 now appears on position 3.
+ No other notification is needed, to explain or complete this action).
+ */
+ const long MOVED = 24;
+
+ /** The properties of one or more rows have changed.
+
+ <p>This action is related to a com::sun::star::beans::PropertyChangeEvent.
+
+ <p>The members ListAction::Count and
+ ListAction::Position contain the position and count of the
+ rows, whose properties have changed. If the count is greater than one, the
+ rows with modified properties have to be one after the other.
+
+ <p> ListAction::ActionInfo could contain something but
+ this is not required. For example, it could contain the new properties
+ (i.e. for remote optimizing), but this is not required nor unrestrictedly
+ recommended.
+
+ <p>@todo ... further description of allowed contents for
+ ListAction::ActionInfo is needed
+ */
+ const long PROPERTIES_CHANGED = 25;
+
+ /*??????????????????????????? we probably will not need this
+
+ The identity of a row has changed.
+
+ <p>This action is related to ContentAction == EXCHANGED.
+
+ <p>The members ListAction::Count and
+ ListAction::Position contain the position and count of the
+ rows, whose identity have changed. If the count is greater than one, the
+ rows with changed identity have to be one after the other.
+
+ <p>ListAction::ListActionType must contain the new identities
+
+ <p>@todo ...
+
+ const long EXCHANGED = 26;
+ */
+
+ /*??????????????????????????? we probably will need this
+ After a completely notified Iteration send "COMPLETED".
+
+ <p>This notification is required to be send, to indicate, that now the full
+ result is reached.
+
+ <p>E.g. while a new given list is sorted, some intermediate states are
+ notified. After the last portion of sorting is done and notified you have
+ to send "COMPLETED". So a listener has the possibility to wait for
+ "COMPLETED" e.g. to print the full result. )
+
+ <p>The members ListAction::ListActionType,
+ ListAction::Count and ListAction::Position
+ are useless.
+ */
+ const long COMPLETED = 27;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/ListEvent.idl b/offapi/com/sun/star/ucb/ListEvent.idl
new file mode 100644
index 000000000..84a4f663b
--- /dev/null
+++ b/offapi/com/sun/star/ucb/ListEvent.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_ucb_ListEvent_idl__
+#define __com_sun_star_ucb_ListEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+#include <com/sun/star/ucb/ListAction.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** specifies the type of event fired by an XDynamicResultSet
+*/
+
+published struct ListEvent: com::sun::star::lang::EventObject
+{
+ /** If you apply the given ListActions one after the other
+ to the old version of a result set in given order, you will get the
+ positions in the new version.
+ */
+ sequence<ListAction> Changes;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/ListenerAlreadySetException.idl b/offapi/com/sun/star/ucb/ListenerAlreadySetException.idl
new file mode 100644
index 000000000..40b309f71
--- /dev/null
+++ b/offapi/com/sun/star/ucb/ListenerAlreadySetException.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_ucb_ListenerAlreadySetException_idl__
+#define __com_sun_star_ucb_ListenerAlreadySetException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** This exception is thrown to indicate that a Listener is already set while
+only one is allowed.
+*/
+
+published exception ListenerAlreadySetException: com::sun::star::uno::Exception
+{
+};
+
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/Lock.idl b/offapi/com/sun/star/ucb/Lock.idl
new file mode 100644
index 000000000..f27ee84de
--- /dev/null
+++ b/offapi/com/sun/star/ucb/Lock.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_ucb_Lock_idl__
+#define __com_sun_star_ucb_Lock_idl__
+
+#include <com/sun/star/ucb/LockEntry.idl>
+#include <com/sun/star/ucb/LockDepth.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** defines a lock.
+*/
+published struct Lock : LockEntry
+{
+ /** defines the lock's depth.
+ */
+ LockDepth Depth;
+
+ /** the owner of the lock.
+
+ <p>This element provides information sufficient for either directly
+ contacting a principal (such as a telephone number or email URI), or
+ for discovering the principal (such as the URL of a homepage) who
+ owns the lock.
+ */
+ any Owner;
+
+ /** a timeout value for the lock.
+
+ <p>This element specifies the number of seconds between granting
+ of the lock and the automatic removal of that lock. The value
+ must not be greater than <code>2^32-1</code>. A value of <code>-1</code>
+ stands for an infinite lock, that will never be removed automatically.
+ */
+ hyper Timeout;
+
+ /** the lock tokens.
+
+ <p>Each lock token is a URI.
+ */
+ sequence< string > LockTokens;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/LockDepth.idl b/offapi/com/sun/star/ucb/LockDepth.idl
new file mode 100644
index 000000000..6baef2b4e
--- /dev/null
+++ b/offapi/com/sun/star/ucb/LockDepth.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_ucb_LockDepth_idl__
+#define __com_sun_star_ucb_LockDepth_idl__
+
+
+module com { module sun { module star { module ucb {
+
+/** defines a depth for a lock.
+
+ @see Lock
+*/
+published enum LockDepth
+{
+ /** Zero (includes no children).
+ */
+ ZERO,
+
+ /** One (includes children).
+ */
+ ONE,
+
+ /** Infinity (includes children and children's children and ...).
+ */
+ INFINITY
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/LockEntry.idl b/offapi/com/sun/star/ucb/LockEntry.idl
new file mode 100644
index 000000000..f2396dd44
--- /dev/null
+++ b/offapi/com/sun/star/ucb/LockEntry.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_ucb_LockEntry_idl__
+#define __com_sun_star_ucb_LockEntry_idl__
+
+#include <com/sun/star/ucb/LockScope.idl>
+#include <com/sun/star/ucb/LockType.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** defines the types of locks that can be used with a resource.
+*/
+published struct LockEntry
+{
+ /** defines the lock's scope.
+ */
+ LockScope Scope;
+
+ /** defines the type of the lock.
+ */
+ LockType Type;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/LockScope.idl b/offapi/com/sun/star/ucb/LockScope.idl
new file mode 100644
index 000000000..0e8933df5
--- /dev/null
+++ b/offapi/com/sun/star/ucb/LockScope.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_ucb_LockScope_idl__
+#define __com_sun_star_ucb_LockScope_idl__
+
+
+module com { module sun { module star { module ucb {
+
+/** defines the scope of a lock.
+
+ @see LockEntry
+*/
+published enum LockScope
+{
+ /** the lock is exclusive.
+ */
+ EXCLUSIVE,
+
+ /** the lock is shared.
+ */
+ SHARED
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/LockType.idl b/offapi/com/sun/star/ucb/LockType.idl
new file mode 100644
index 000000000..bfe0dc72c
--- /dev/null
+++ b/offapi/com/sun/star/ucb/LockType.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_ucb_LockType_idl__
+#define __com_sun_star_ucb_LockType_idl__
+
+
+module com { module sun { module star { module ucb {
+
+/** specifies the access type of a lock.
+
+ @see LockEntry
+*/
+published enum LockType
+{
+ /** specifies a write lock.
+ */
+ WRITE
+
+
+// /** read lock.
+// */
+// READ,
+
+// /** read-write lock.
+// */
+// READWRITE
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/MissingInputStreamException.idl b/offapi/com/sun/star/ucb/MissingInputStreamException.idl
new file mode 100644
index 000000000..80b16eb45
--- /dev/null
+++ b/offapi/com/sun/star/ucb/MissingInputStreamException.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_ucb_MissingInputStreamException_idl__
+#define __com_sun_star_ucb_MissingInputStreamException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** This exception is used to indicate that there is an
+ com::sun::star::io::XInputStream missing.
+
+ <p>For example, the command "insert" may fail, if the implementation
+ expects that an input stream is supplied with the given
+ InsertCommandArgument.
+
+ @version 1.0
+ @see Content
+*/
+published exception MissingInputStreamException : com::sun::star::uno::Exception
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/MissingPropertiesException.idl b/offapi/com/sun/star/ucb/MissingPropertiesException.idl
new file mode 100644
index 000000000..d26cbb685
--- /dev/null
+++ b/offapi/com/sun/star/ucb/MissingPropertiesException.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_ucb_MissingPropertiesException_idl__
+#define __com_sun_star_ucb_MissingPropertiesException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** This exception is used to indicate that there are properties missing.
+
+ <p>For example, to create a new resource, usually one ore more property
+ values must be set prior to executing the command "insert", which makes
+ the new resource persistent.
+
+ @version 1.0
+ @see Content
+*/
+published exception MissingPropertiesException : com::sun::star::uno::Exception
+{
+ /** contains the names of the missing properties.
+ */
+ sequence< string > Properties;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/NameClash.idl b/offapi/com/sun/star/ucb/NameClash.idl
new file mode 100644
index 000000000..75c7a63ff
--- /dev/null
+++ b/offapi/com/sun/star/ucb/NameClash.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_ucb_NameClash_idl__
+#define __com_sun_star_ucb_NameClash_idl__
+
+
+
+module com { module sun { module star { module ucb {
+
+/** These are the possible values for TransferInfo::NameClash.
+*/
+published constants NameClash
+{
+ /** Means to set an error and cancel the operation.
+ */
+ const long ERROR = 0;
+
+ /** Means to overwrite the object in the target folder with the object to
+ transfer.
+ */
+ const long OVERWRITE = 1;
+
+ /** Means to rename the object to transfer to solve the clash.
+
+ <p>The implementation needs to supply and set a suitable new name.
+ */
+ const long RENAME = 2;
+
+ /** Deprecated. Do not use!
+
+ @deprecated
+ */
+ const long KEEP = 3;
+
+ /** Means to use a NameClashResolveRequest in order to solve
+ the name clash.
+
+ @see com::sun::star::task::XInteractionHandler
+ */
+ const long ASK = 4;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/NameClashException.idl b/offapi/com/sun/star/ucb/NameClashException.idl
new file mode 100644
index 000000000..5526b6a0c
--- /dev/null
+++ b/offapi/com/sun/star/ucb/NameClashException.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_ucb_NameClashException_idl__
+#define __com_sun_star_ucb_NameClashException_idl__
+
+#include <com/sun/star/task/ClassifiedInteractionRequest.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** An exception used to notify a name clash.
+*/
+published exception NameClashException : com::sun::star::task::ClassifiedInteractionRequest
+{
+ /** contains the clashing name.
+ */
+ string Name;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/NameClashResolveRequest.idl b/offapi/com/sun/star/ucb/NameClashResolveRequest.idl
new file mode 100644
index 000000000..cb9893f7f
--- /dev/null
+++ b/offapi/com/sun/star/ucb/NameClashResolveRequest.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_ucb_NameClashResolveRequest_idl__
+#define __com_sun_star_ucb_NameClashResolveRequest_idl__
+
+#include <com/sun/star/task/ClassifiedInteractionRequest.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** This request is used to indicate a name clash.
+
+ <p>For example, when copying a file there might be another file in the
+ target folder that has the same file name as the source file.
+
+ <p>If this exception is passed to an
+ com::sun::star::task::XInteractionHandler an
+ XInteractionSupplyName and an
+ XInteractionReplaceExistingData should be supplied with
+ the com::sun::star::task::XInteractionRequest. On
+ return the XInteractionSupplyName, if selected, will contain
+ a new name supposed to resolve the name clash. The
+ XInteractionReplaceExistingData will be selected if the
+ clashing resource shall be overwritten.
+
+ @version 1.0
+*/
+published exception NameClashResolveRequest : com::sun::star::task::ClassifiedInteractionRequest
+{
+ /** contains the URL of the folder that contains the clashing resource.
+ */
+ string TargetFolderURL;
+
+ /** contains the clashing name.
+ */
+ string ClashingName;
+
+ /** contains a proposal for a new, non-clashing name.
+ <p>This field may be left empty if the implementation is not able
+ to suggest a new name.
+ */
+ string ProposedNewName;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/NumberedSortingInfo.idl b/offapi/com/sun/star/ucb/NumberedSortingInfo.idl
new file mode 100644
index 000000000..d438578df
--- /dev/null
+++ b/offapi/com/sun/star/ucb/NumberedSortingInfo.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_ucb_NumberedSortingInfo_idl__
+#define __com_sun_star_ucb_NumberedSortingInfo_idl__
+
+
+module com { module sun { module star { module ucb {
+
+/** contains information for sorting a ContentResultSet.
+
+ <p> In contrast to the struct SortingInfo this struct is
+ used to be on the safe side, that no one asks for sorting by a property
+ which is not contained in a ContentResultSet.
+*/
+published struct NumberedSortingInfo
+{
+ /** sort the result set by this column. Index starts with <code>1</code>.
+ */
+ long ColumnIndex;
+
+ /** contains a flag indicating the sort mode (ascending or descending).
+ */
+ boolean Ascending;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/ODMAContent.idl b/offapi/com/sun/star/ucb/ODMAContent.idl
new file mode 100644
index 000000000..5f1a11ea1
--- /dev/null
+++ b/offapi/com/sun/star/ucb/ODMAContent.idl
@@ -0,0 +1,167 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_ucb_ODMAContent_idl__
+#define __com_sun_star_ucb_ODMAContent_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/ucb/XContent.idl>
+#include <com/sun/star/ucb/XCommandProcessor.idl>
+#include <com/sun/star/ucb/XCommandProcessor2.idl>
+#include <com/sun/star/beans/XPropertiesChangeNotifier.idl>
+#include <com/sun/star/beans/XPropertyContainer.idl>
+#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl>
+#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl>
+#include <com/sun/star/container/XChild.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** A OCP content is representation of a document saved in a DMS.
+
+ <p>The document Content corresponds to a document stored in a Document Management System.
+ </p>
+
+ @see com::sun::star::ucb::ODMAContentProvider
+ @see com::sun::star::ucb::Content
+
+ @since OOo 1.1.2
+*/
+published service ODMAContent
+{
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::ucb::XContent;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+
+ <p>
+
+ <b>Supported Commands</b>
+ <ul>
+ <li>
+ getCommandInfo
+ </li>
+ <li>
+ getPropertySetInfo
+ </li>
+ <li>
+ getPropertyValues
+ </li>
+ <li>
+ setPropertyValues
+ </li>
+ <li>
+ delete
+ </li>
+ <li>
+ open
+ </li>
+ <li>
+ close
+ </li>
+ </ul>
+
+ <b>Supported Properties</b>
+ <ul>
+ <li>
+ string ContentType ( read-only, always "application/vnd.sun.star.odma" )
+ </li>
+ <li>
+ boolean IsDocument
+ </li>
+ <li>
+ boolean IsFolder
+ </li>
+ <li>
+ com::sun::star::util::DateTime DateCreated ( read-only )
+ </li>
+ <li>
+ com::sun::star::util::DateTime DateModified ( read-only )
+ </li>
+ <li>
+ string Author
+ </li>
+ <li>
+ string Subject
+ </li>
+ <li>
+ string Keywords
+ </li>
+ <li>
+ string Size ( read-only )
+ </li>
+ <li>
+ string Title
+ </li>
+ </ul>
+
+ </p>
+ */
+ interface com::sun::star::ucb::XCommandProcessor;
+
+ /** is an enhanced version of XCommandProcessor that has an
+ additional method for releasing command identifiers obtained via
+ XCommandProcessor::createCommandIdentifier() to avoid
+ resource leaks. For a detailed description of the problem refer to
+ XCommandProcessor2::releaseCommandIdentifier().
+
+ <p>Where many existing Content implementations do not
+ (yet), every new implementation should support this interface.
+ */
+ [optional] interface com::sun::star::ucb::XCommandProcessor2;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertiesChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertyContainer;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertySetInfoChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::ucb::XCommandInfoChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::container::XChild;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/ODMAContentProvider.idl b/offapi/com/sun/star/ucb/ODMAContentProvider.idl
new file mode 100644
index 000000000..29e23357b
--- /dev/null
+++ b/offapi/com/sun/star/ucb/ODMAContentProvider.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_ucb_ODMAContentProvider_idl__
+#define __com_sun_star_ucb_ODMAContentProvider_idl__
+
+#include <com/sun/star/ucb/XContentProvider.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** The ODMA Content Provider (OCP) implements a ContentProvider
+ for the UniversalContentBroker (UCB).
+
+ <p>It provides access to a document structure stored on a Document Management System (DMS).</p>
+
+
+ @see com::sun::star::ucb::ContentProvider
+ @see com::sun::star::ucb::Content
+ @see com::sun::star::ucb::ODMAContent
+
+ @since OOo 1.1.2
+*/
+published service ODMAContentProvider
+{
+ /** provides two types of content; the document and the Root Folder.
+
+ <p>
+
+ <ol>
+ <li><p>The document Content corresponds to a document stored on the
+ DMS.</p>
+ <li><p>The Root Folder exists at any time and is used to show all
+ documents available at that time. All other OCP contents are children
+ of this folder. The OCP Root Folder can only contain OCP Documents.
+ It has the URL <code><b>vnd.sun.star.odma:/</b></code>.</p>
+ </ol>
+
+
+
+ <p><b>URL Scheme for OCP Contents</b>
+ <p>Each OCP content has an identifier corresponding to the following
+ scheme:</p>
+ <p>vnd.sun.star.odma:/&lt;name&gt;</p>
+ <p>where &lt;name&gt; is the DocumentID given by the DMS.</p>
+ <p STYLE="font-weight: medium">Examples:</p>
+ <p><b>vnd.sun.star.odma:/ </b><span STYLE="font-weight: medium">( The
+ URL of the OCP Root Folder )</span></p>
+ <p STYLE="font-weight: medium"><b>vnd.sun.star.odma:/</b> a document
+ id given by the DMS</p>
+ <p><b>vnd.sun.star.odma:/</b>`ODMA\DMS_ID\DM_SPECIFIC_INFO`</p>
+
+ </p>
+ */
+ interface com::sun::star::ucb::XContentProvider;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/OpenCommandArgument.idl b/offapi/com/sun/star/ucb/OpenCommandArgument.idl
new file mode 100644
index 000000000..14c5b7444
--- /dev/null
+++ b/offapi/com/sun/star/ucb/OpenCommandArgument.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_ucb_OpenCommandArgument_idl__
+#define __com_sun_star_ucb_OpenCommandArgument_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/beans/Property.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** The argument for commands like "open", "update", and "synchronize".
+
+ @see XCommandProcessor
+*/
+published struct OpenCommandArgument
+{
+ /** A mode.
+
+ <p>The value can be one of the OpenMode constants.
+ */
+ long Mode;
+
+ /** The command's priority, in the range <code>0</code> (highest) to
+ <code>65535</code> (lowest).
+ */
+ long Priority;
+
+ /** The data sink to write the contents into (supporting either
+ com::sun::star::io::XActiveDataSink,
+ com::sun::star::io::XOutputStream or
+ com::sun::star::io::XActiveDataStreamer).
+
+ <p>XActiveDataSink and XOutputStream give the caller read-only
+ access to the contents. XActiveDataStreamer offers both read and
+ write access to the contents.
+
+ <p>If an XActiveDataSink is supplied, the implementation of the command
+ needs to provide an implementation of an object implementing the
+ interface com::sun::star::io::XInputStream. It is
+ highly recommended that this object also implements the interface
+ com::sun::star::io::XSeekable, if this can be done
+ without wasting resources (i.e. allocating huge memory buffers).
+ The implementation object has to be supplied to the data sink.
+ */
+ com::sun::star::uno::XInterface Sink;
+
+ /** The properties, for that the values shall be provided by the
+ DynamicResultSet returned by the command).
+ */
+ sequence< com::sun::star::beans::Property > Properties;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/OpenCommandArgument2.idl b/offapi/com/sun/star/ucb/OpenCommandArgument2.idl
new file mode 100644
index 000000000..1e90dad16
--- /dev/null
+++ b/offapi/com/sun/star/ucb/OpenCommandArgument2.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_ucb_OpenCommandArgument2_idl__
+#define __com_sun_star_ucb_OpenCommandArgument2_idl__
+
+#include <com/sun/star/ucb/OpenCommandArgument.idl>
+#include <com/sun/star/ucb/NumberedSortingInfo.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** The argument for commands like "open", "update", and "synchronize".
+
+ <p>This struct extends the original OpenCommandArgument, which must not be
+ changed for compatibility reasons.
+
+ @see XCommandProcessor
+*/
+published struct OpenCommandArgument2 : OpenCommandArgument
+{
+ /** The sort criteria for the rows of the returned
+ ContentResultSet.
+
+ <p>The result set implementation may ignore this parameter, if it
+ cannot sort the data by the given criteria in an efficient way (i.e.
+ directly using the underlying data source -> SQL-database -> ORDER BY).
+ */
+ sequence< com::sun::star::ucb::NumberedSortingInfo > SortingInfo;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/OpenCommandArgument3.idl b/offapi/com/sun/star/ucb/OpenCommandArgument3.idl
new file mode 100644
index 000000000..c8392d4d9
--- /dev/null
+++ b/offapi/com/sun/star/ucb/OpenCommandArgument3.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_ucb_OpenCommandArgument3_idl__
+#define __com_sun_star_ucb_OpenCommandArgument3_idl__
+
+#include <com/sun/star/ucb/OpenCommandArgument2.idl>
+#include <com/sun/star/beans/NamedValue.idl>
+
+module com { module sun { module star { module ucb {
+
+/** Extended argument for commands like "open"
+
+ <p>We're extending OpenCommandArgument even more, to provide some opening flags on to webdav.
+
+ @see XCommandProcessor
+*/
+published struct OpenCommandArgument3 : OpenCommandArgument2
+{
+ /** Flags to use for opening.
+
+ <p>WebDav e.g. uses "KeepAlive" to enable/disable the respective http feature.
+ */
+ sequence< com::sun::star::beans::NamedValue > OpeningFlags;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/OpenMode.idl b/offapi/com/sun/star/ucb/OpenMode.idl
new file mode 100644
index 000000000..ddd6d7534
--- /dev/null
+++ b/offapi/com/sun/star/ucb/OpenMode.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_ucb_OpenMode_idl__
+#define __com_sun_star_ucb_OpenMode_idl__
+
+
+
+module com { module sun { module star { module ucb {
+
+/** These are the possible values for OpenCommandArgument::Mode.
+*/
+published constants OpenMode
+{
+ /** open a folder, include all children in result set (documents and
+ folders).
+ */
+ const short ALL = 0;
+
+ /** open a folder, include only children, that are folders, in result set.
+ */
+ const short FOLDERS = 1;
+
+ /** open a folder, include only children, that are documents, in result set.
+ */
+ const short DOCUMENTS = 3;
+
+ /** open a document. There are no special requirements for data access
+ sharing.
+
+ <p>Note: There must be a data sink supplied in the
+ OpenCommandArgument struct, if this value is set. This
+ sink will be used by the content implementation to supply the document
+ data.
+ */
+ const short DOCUMENT = 2;
+
+ /** open a document. Allow shared read and write access.
+
+ <p>Note: There must be a data sink supplied in the
+ OpenCommandArgument struct, if this value is set. This
+ sink will be used by the content implementation to supply the document
+ data.
+ */
+ const short DOCUMENT_SHARE_DENY_NONE = 4;
+
+ /** open a document. Deny shared write access.
+
+ <p>Note: There must be a data sink supplied in the
+ OpenCommandArgument struct, if this value is set. This
+ sink will be used by the content implementation to supply the document
+ data.
+ */
+ const short DOCUMENT_SHARE_DENY_WRITE = 5;
+
+// const short DOCUMENT_SHARE_DENY_READ = 6;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/OutgoingMessageState.idl b/offapi/com/sun/star/ucb/OutgoingMessageState.idl
new file mode 100644
index 000000000..1cb37f1c8
--- /dev/null
+++ b/offapi/com/sun/star/ucb/OutgoingMessageState.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_ucb_OutgoingMessageState_idl__
+#define __com_sun_star_ucb_OutgoingMessageState_idl__
+
+
+
+module com { module sun { module star { module ucb {
+
+/** These are the possible values for RecipientInfo::State.
+*/
+published enum OutgoingMessageState
+{
+ /** Message has just been placed into the out tray.
+ */
+ WRITTEN,
+
+ /** Message has been sent upstream to some recipients.
+ */
+ PARTIALLY_LOCALLY_SENT,
+
+ /** Message has been sent upstream to all recipients.
+ */
+ COMPLETELY_LOCALLY_SENT,
+
+ /** Local, non-fatal error (e.g. network temporarily not available).
+ */
+ RECOVERABLE_LOCAL_ERROR,
+
+ /** Local fatal error (e.g. first SMTP server upstream did not accept the
+ message).
+ */
+ NONRECOVERABLE_LOCAL_ERROR,
+
+ /** Global fatal error (e.g. last member in SMTP chain could not deliver
+ the message).
+ */
+ EXTERNAL_ERROR,
+
+ /** Message was sent; we are waiting for confirmation.
+ */
+ WAITING_CONFIRMATION,
+
+ /** Recipient confirmed reading.
+ */
+ CONFIRMED
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/PackageContentProvider.idl b/offapi/com/sun/star/ucb/PackageContentProvider.idl
new file mode 100644
index 000000000..ae51059ce
--- /dev/null
+++ b/offapi/com/sun/star/ucb/PackageContentProvider.idl
@@ -0,0 +1,120 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_ucb_PackageContentProvider_idl__
+#define __com_sun_star_ucb_PackageContentProvider_idl__
+
+#include <com/sun/star/ucb/XContentProvider.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** The Package Content Provider (PCP) implements a ContentProvider
+ for the UniversalContentBroker (UCB).
+
+ <p>It provides access to packages ( zip / jar archive files ) containing
+ folders and streams.
+
+ @see com::sun::star::ucb::Content
+*/
+published service PackageContentProvider
+{
+ /** provides two types of contents: Stream and Folder.
+
+ <p>
+
+ <b>PCP Contents</b>
+ <ol>
+ <li>
+ A PCP Stream (PackageStreamContent) is a content which
+ represents a file inside a package. It is always contained in a PCP
+ Folder. A PCP Stream has no children.
+ </li>
+ <li>
+ A PCP Folder (PackageFolderContent) is a container for
+ other PCP Folders and PCP Streams.
+ </li>
+ </ol>
+
+ <p><b>URL Scheme for PCP Contents</b>
+
+ <p>Each HCP content has an identifier corresponding to the following
+ scheme:
+
+ <ul>
+ <li>
+ package-URL = "vnd.sun.star.pkg://" orig-URL [ abs-path ]
+ </li>
+ <li>
+ abs-path = "/" path-segments
+ </li>
+ <li>
+ path-segments = segment *( "/" segment )
+ </li>
+ <li>
+ segment = pchar
+ </li>
+ <li>
+ pchar = unreserved | escaped | ":" | "@" | "&" | "="
+ | "+" | "$" | ","
+ </li>
+ <li>
+ unreserved = alphanum | mark
+ </li>
+ <li>
+ mark = "-" | "_" | "." | "!" | "~" | "*" | "'" | "(" | ")"
+ </li>
+ <li>
+ escaped = "%" hex hex
+ </li>
+ <li>
+ orig-URL = 1 *( unreserved | escaped | "$" | "," | ";"
+ | ":" | "@" | "&" | "&" | "=" | "+"
+ </li>
+ </ul>
+
+ <p>Examples:
+
+ <ul>
+ <li>
+ vnd.sun.star.pkg://file:%2F%2F%2Fe:%2Fmy.xsw/
+ ( The root folder of the package located at file:///e:/my.xsw )
+ </li>
+ <li>
+ vnd.sun.star.pkg://file:%2F%2F%2Fe:%2Fmy.xsw/Content
+ ( The folder/stream named "Content" that is contained in the root
+ folder of the located at file:///e:/my.xsw )
+ </li>
+ <li>
+ vnd.sun.star.pkg://file:%2F%2F%2Fe:%2Fmy.xsw/Content%20A
+ ( The folder/stream named "Content A" that is contained in the root
+ folder of the located at file:///e:/my.xsw )
+ </li>
+ </ul>
+
+ </p>
+ */
+ interface com::sun::star::ucb::XContentProvider;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/PackageFolderContent.idl b/offapi/com/sun/star/ucb/PackageFolderContent.idl
new file mode 100644
index 000000000..1252125c1
--- /dev/null
+++ b/offapi/com/sun/star/ucb/PackageFolderContent.idl
@@ -0,0 +1,208 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_ucb_PackageFolderContent_idl__
+#define __com_sun_star_ucb_PackageFolderContent_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/ucb/XContent.idl>
+#include <com/sun/star/ucb/XCommandProcessor.idl>
+#include <com/sun/star/ucb/XCommandProcessor2.idl>
+#include <com/sun/star/beans/XPropertiesChangeNotifier.idl>
+#include <com/sun/star/beans/XPropertyContainer.idl>
+#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl>
+#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl>
+#include <com/sun/star/container/XChild.idl>
+#include <com/sun/star/ucb/XContentCreator.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** A PCP Folder is a container for other PCP Folders and PCP Streams.
+
+ @see com::sun::star::ucb::PackageContentProvider
+ @see com::sun::star::ucb::PackageStreamContent
+*/
+published service PackageFolderContent
+{
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::ucb::XContent;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+
+ <p>
+
+ <b>Supported Commands</b>
+ <ul>
+ <li>
+ getCommandInfo
+ </li>
+ <li>
+ getPropertySetInfo
+ </li>
+ <li>
+ getPropertyValues
+ </li>
+ <li>
+ setPropertyValues
+ </li>
+ <li>
+ insert ( makes a newly created folder persistent )
+ </li>
+ <li>
+ delete
+ </li>
+ <li>
+ open
+ </li>
+ <li>
+ transfer ( only transfers from PCP Folders/PCP Streams to other
+ PCP folders. It does not handle contents with a URL scheme other
+ then the PCP-URL-scheme. )
+ </li>
+ <li>
+ flush ( a command introduced by the PCP Folder. It takes a
+ void-argument and returns void. This command is used to write unsaved
+ changes to the underlying package file. Note that the current
+ implementation of PCP contents never flushes automatically! Operations
+ which require a flush to get persistent, are:
+ "setPropertyValues( < any_non_read_only_property > ) ", "delete",
+ "insert" )
+ </li>
+ </ul>
+
+ <b>Supported Properties</b>
+ <ul>
+ <li>
+ string ContentType ( read-only, always "application/vnd.sun.star.pkg-folder" )
+ </li>
+ <li>
+ boolean IsDocument ( read-only, always false )
+ </li>
+ <li>
+ boolean IsFolder ( read-only, always true )
+ </li>
+ <li>
+ string MediaType
+ </li>
+ <li>
+ string Title
+ </li>
+ </ul>
+
+ </p>
+ */
+ interface com::sun::star::ucb::XCommandProcessor;
+
+ /** is an enhanced version of XCommandProcessor that has an
+ additional method for releasing command identifiers obtained via
+ XCommandProcessor::createCommandIdentifier() to avoid
+ resource leaks. For a detailed description of the problem refer to
+ XCommandProcessor2::releaseCommandIdentifier().
+
+ <p>Where many existing Content implementations do not
+ (yet), every new implementation should support this interface.
+ */
+ [optional] interface com::sun::star::ucb::XCommandProcessor2;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertiesChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertyContainer;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertySetInfoChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::ucb::XCommandInfoChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::container::XChild;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+
+ <p>
+
+ A PCP Folder can create other PCP Folders and PCP Streams. To create
+ a new child of a PCP Folder:
+
+ <ol>
+ <li>
+ Let the parent folder create a new content by calling
+ XContentCreator::createNewContent() on it. The content
+ type to use for new folders is "application/vnd.sun.star.pkg-folder".
+ To create a new PCP Stream, use the type
+ "application/vnd.sun.star.pkg-stream".
+ </li>
+ <li>
+ Set a title at the new folder / stream. ( Let the new child execute
+ the command "setPropertyValues", which sets at least the property
+ "Title" to a non-empty value ).
+ </li>
+ <li>
+ Let the new child ( not the parent! ) execute the command "insert".
+ This will commit the creation process. For streams, you need to supply
+ the implementation of an
+ com::sun::star::io::XInputStream with the command's
+ parameters, that provides access to the stream data.
+ </li>
+ </ol>
+
+ </p>
+
+ <p>
+ Another, more convenient way for creating streams is simply to assemble
+ the URL for the new content ( last part of the path will become the
+ title of the new stream ) and to obtain a Content object for that URL
+ from the UCB. Then let the content execute the command "insert". The
+ command will fail, if you set the command's parameter
+ InsertCommandArgument::ReplaceExisting"
+ to false and there is already a stream with the title given by the
+ content's URL.
+
+ </p>
+ */
+ interface com::sun::star::ucb::XContentCreator;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/PackageStreamContent.idl b/offapi/com/sun/star/ucb/PackageStreamContent.idl
new file mode 100644
index 000000000..f3a1c3902
--- /dev/null
+++ b/offapi/com/sun/star/ucb/PackageStreamContent.idl
@@ -0,0 +1,162 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_ucb_PackageStreamContent_idl__
+#define __com_sun_star_ucb_PackageStreamContent_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/ucb/XContent.idl>
+#include <com/sun/star/ucb/XCommandProcessor.idl>
+#include <com/sun/star/ucb/XCommandProcessor2.idl>
+#include <com/sun/star/beans/XPropertiesChangeNotifier.idl>
+#include <com/sun/star/beans/XPropertyContainer.idl>
+#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl>
+#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl>
+#include <com/sun/star/container/XChild.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** A PCP Stream is a content which represents a file inside a package.
+
+ <p>It is always contained in a PCP Folder. A PCP Stream has no children.
+
+ @see com::sun::star::ucb::PackageContentProvider
+ @see com::sun::star::ucb::PackageFolderContent
+*/
+published service PackageStreamContent
+{
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::ucb::XContent;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+
+ <p>
+
+ <b>Supported Commands</b>
+ <ul>
+ <li>
+ getCommandInfo
+ </li>
+ <li>
+ getPropertySetInfo
+ </li>
+ <li>
+ getPropertyValues
+ </li>
+ <li>
+ setPropertyValues
+ </li>
+ <li>
+ insert ( makes a newly created stream persistent )
+ </li>
+ <li>
+ delete
+ </li>
+ <li>
+ open
+ </li>
+ </ul>
+
+ <b>Supported Properties</b>
+ <ul>
+ <li>
+ string ContentType ( read-only, always "application/vnd.sun.star.pkg-stream" )
+ </li>
+ <li>
+ boolean IsDocument ( read-only, always true )
+ </li>
+ <li>
+ boolean IsFolder ( read-only, always false )
+ </li>
+ <li>
+ string MediaType
+ </li>
+ <li>
+ string Size ( read-only )
+ </li>
+ <li>
+ string Title
+ </li>
+ <li>
+ boolean Compressed ( allows you to explicitly state whether you want a
+ stream to be compressed or not. The default value of this property
+ will be determined according to the value of the property "MediaType".
+ If it is empty or prefixed by "text/", the value of "Compressed" is set
+ to true. Otherwise the value will be false. )
+ </li>
+ <li>
+ boolean Encrypted ( are the stream data encrypted or not ).
+ </li>
+ </ul>
+
+ </p>
+ */
+ interface com::sun::star::ucb::XCommandProcessor;
+
+ /** is an enhanced version of XCommandProcessor that has an
+ additional method for releasing command identifiers obtained via
+ XCommandProcessor::createCommandIdentifier() to avoid
+ resource leaks. For a detailed description of the problem refer to
+ XCommandProcessor2::releaseCommandIdentifier().
+
+ <p>Where many existing Content implementations do not
+ (yet), every new implementation should support this interface.
+ */
+ [optional] interface com::sun::star::ucb::XCommandProcessor2;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertiesChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertyContainer;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertySetInfoChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::ucb::XCommandInfoChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::container::XChild;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/PersistentPropertySet.idl b/offapi/com/sun/star/ucb/PersistentPropertySet.idl
new file mode 100644
index 000000000..212f87cb2
--- /dev/null
+++ b/offapi/com/sun/star/ucb/PersistentPropertySet.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_ucb_PersistentPropertySet_idl__
+#define __com_sun_star_ucb_PersistentPropertySet_idl__
+
+#include <com/sun/star/ucb/XPersistentPropertySet.idl>
+#include <com/sun/star/beans/XPropertyContainer.idl>
+#include <com/sun/star/beans/XPropertyAccess.idl>
+#include <com/sun/star/container/XNamed.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** This service contains the interfaces to implement by objects
+ returned by XPropertySetRegistry::openPropertySet().
+ */
+published service PersistentPropertySet
+{
+ /** An interface implementing a persistent property set.
+ */
+ interface com::sun::star::ucb::XPersistentPropertySet;
+
+ /** An interface for getting/setting the name (key) of the property set.
+ */
+ interface com::sun::star::container::XNamed;
+
+ /** An interface for adding/removing a property to/from the set.
+ */
+ interface com::sun::star::beans::XPropertyContainer;
+
+ /** An interface for getting/setting multiple properties at once.
+ */
+ interface com::sun::star::beans::XPropertyAccess;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/PostCommandArgument.idl b/offapi/com/sun/star/ucb/PostCommandArgument.idl
new file mode 100644
index 000000000..458581bf4
--- /dev/null
+++ b/offapi/com/sun/star/ucb/PostCommandArgument.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_ucb_PostCommandArgument_idl__
+#define __com_sun_star_ucb_PostCommandArgument_idl__
+
+#include <com/sun/star/io/XInputStream.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** The argument for the command "post".
+
+ @see XCommandProcessor
+*/
+published struct PostCommandArgument
+{
+ /** The data source containing the data to post.
+ */
+ com::sun::star::io::XInputStream Source;
+
+ /** The data sink receiving the returned contents (supporting either
+ com::sun::star::io::XActiveDataSink or
+ com::sun::star::io::XOutputStream).
+ */
+ com::sun::star::uno::XInterface Sink;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/PostCommandArgument2.idl b/offapi/com/sun/star/ucb/PostCommandArgument2.idl
new file mode 100644
index 000000000..63ee42b7d
--- /dev/null
+++ b/offapi/com/sun/star/ucb/PostCommandArgument2.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_ucb_PostCommandArgument2_idl__
+#define __com_sun_star_ucb_PostCommandArgument2_idl__
+
+#include <com/sun/star/ucb/PostCommandArgument.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** The argument for the command "post".
+
+ @see XCommandProcessor
+ @see WebDAVDocumentContent
+*/
+published struct PostCommandArgument2 : PostCommandArgument
+{
+ /** The media type (mime type) for the data to post.
+ */
+ string MediaType;
+
+ /** The URL of the referrer.
+ */
+ string Referer;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/Priority.idl b/offapi/com/sun/star/ucb/Priority.idl
new file mode 100644
index 000000000..0f3a17a7a
--- /dev/null
+++ b/offapi/com/sun/star/ucb/Priority.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_ucb_Priority_idl__
+#define __com_sun_star_ucb_Priority_idl__
+
+
+
+module com { module sun { module star { module ucb {
+
+/** These are the possible values for the property "Priority".
+
+ @see XCommandProcessor
+ @see Content
+*/
+published enum Priority
+{
+ /** Highest priority.
+ */
+ HIGHEST,
+
+ /** High priority.
+ */
+ HIGH,
+
+ /** Normal priority.
+ */
+ NORMAL,
+
+ /** Low priority.
+ */
+ LOW,
+
+ /** Lowest priority.
+ */
+ LOWEST
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/PropertiesManager.idl b/offapi/com/sun/star/ucb/PropertiesManager.idl
new file mode 100644
index 000000000..b2ff8f0ec
--- /dev/null
+++ b/offapi/com/sun/star/ucb/PropertiesManager.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_ucb_PropertiesManager_idl__
+#define __com_sun_star_ucb_PropertiesManager_idl__
+
+#include <com/sun/star/beans/XPropertySetInfo.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** This service provides access to the meta data of the well known
+ (predefined) UCB properties.
+
+ @see com::sun::star::ucb::UniversalContentBroker
+ @see com::sun::star::ucb::ContentProvider
+ @see com::sun::star::ucb::Content
+*/
+published service PropertiesManager
+ : com::sun::star::beans::XPropertySetInfo;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/PropertyCommandArgument.idl b/offapi/com/sun/star/ucb/PropertyCommandArgument.idl
new file mode 100644
index 000000000..10ffaa04c
--- /dev/null
+++ b/offapi/com/sun/star/ucb/PropertyCommandArgument.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_ucb_PropertyCommandArgument_idl__
+#define __com_sun_star_ucb_PropertyCommandArgument_idl__
+
+#include <com/sun/star/beans/Property.idl>
+
+module com { module sun { module star { module ucb {
+
+/** The argument for the "addProperty" command.
+
+ @see XCommandProcessor
+ @since Apache OpenOffice 4.0, LibreOffice 4.2
+*/
+struct PropertyCommandArgument
+{
+ /** The property that the command has to add.
+ */
+ com::sun::star::beans::Property Property;
+
+ /** The default value of the property.
+ */
+ any DefaultValue;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/PropertySetRegistry.idl b/offapi/com/sun/star/ucb/PropertySetRegistry.idl
new file mode 100644
index 000000000..54f21471d
--- /dev/null
+++ b/offapi/com/sun/star/ucb/PropertySetRegistry.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_ucb_PropertySetRegistry_idl__
+#define __com_sun_star_ucb_PropertySetRegistry_idl__
+
+#include <com/sun/star/ucb/XPropertySetRegistry.idl>
+#include <com/sun/star/container/XNameAccess.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** This service contains the interfaces to implement by objects
+ returned by XPropertySetRegistryFactory::createRegistry().
+ */
+published service PropertySetRegistry
+{
+ /** A property set registry.
+ */
+ interface com::sun::star::ucb::XPropertySetRegistry;
+
+ /** An interface for accessing registry entries.
+ */
+ interface com::sun::star::container::XNameAccess;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/PropertyValueInfo.idl b/offapi/com/sun/star/ucb/PropertyValueInfo.idl
new file mode 100644
index 000000000..1525bf478
--- /dev/null
+++ b/offapi/com/sun/star/ucb/PropertyValueInfo.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_ucb_PropertyValueInfo_idl__
+#define __com_sun_star_ucb_PropertyValueInfo_idl__
+
+#include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/ucb/PropertyValueState.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** contains value and state of a
+ com::sun::star::beans::Property.
+*/
+published struct PropertyValueInfo: com::sun::star::beans::PropertyValue
+{
+ /** the state of the property value.
+ */
+ com::sun::star::ucb::PropertyValueState ValueState;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/PropertyValueState.idl b/offapi/com/sun/star/ucb/PropertyValueState.idl
new file mode 100644
index 000000000..36c6b0766
--- /dev/null
+++ b/offapi/com/sun/star/ucb/PropertyValueState.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_ucb_PropertyValueState_idl__
+#define __com_sun_star_ucb_PropertyValueState_idl__
+
+
+
+module com { module sun { module star { module ucb {
+
+/** defines the states of a property value in the process of obtaining the
+ value (asynchronously).
+
+ @see PropertyValueInfo
+*/
+published enum PropertyValueState
+{
+ /** The property value was not obtained yet.
+ */
+ UNPROCESSED,
+
+ /** The value was obtained.
+
+ <p>The value is stored in PropertyValueInfo::Value.
+ */
+ PROCESSED,
+
+ /** The given property name/handle is invalid.
+ */
+ INVALID_NAME,
+
+ /** The given property type is invalid.
+ */
+ INVALID_TYPE
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/RecipientInfo.idl b/offapi/com/sun/star/ucb/RecipientInfo.idl
new file mode 100644
index 000000000..bf6caafaf
--- /dev/null
+++ b/offapi/com/sun/star/ucb/RecipientInfo.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_ucb_RecipientInfo_idl__
+#define __com_sun_star_ucb_RecipientInfo_idl__
+
+#include <com/sun/star/ucb/OutgoingMessageState.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** contains all information needed to send a message using one send protocol.
+
+ <p>To send one message via two different protocols, two RecipientInfos
+ are needed - to send one message to different users with one protocol,
+ one RecipientInfo can be used.
+*/
+published struct RecipientInfo
+{
+ /** the protocol to use for sending (i.e. "NNTP", "SMTP", "VIM").
+ */
+ string ProtocolType;
+
+ /** the current state of the message.
+ */
+ com::sun::star::ucb::OutgoingMessageState State;
+
+ /** the recipient(s) (e.g. e-mail address/es).
+
+ <p>Multiple addresses are separated by commas.
+ */
+ string To;
+
+ /** the recipient(s) of a "carbon copy" (e.g. e-mail address/es).
+
+ <p>Multiple addresses are separated by commas.
+ */
+ string CC;
+
+ /** the recipient(s) of "blind carbon copy" (e.g. e-mail address/es).
+
+ <p>Multiple addresses are separated by commas.
+ */
+ string BCC;
+
+ /** the newsgroup(s) to which an article is be posted.
+
+ <p>Multiple addresses are separated by commas.
+ */
+ string Newsgroups;
+
+ /** the name of the server to be used for sending the message.
+ */
+ string Server;
+
+ /** the user name to be used for authorizing on the send server.
+ */
+ string Username;
+
+ /** the password to be used for authorizing on the send server.
+ */
+ string Password;
+
+ /** the Post Office Path (VIM only).
+ */
+ string VIMPostOfficePath;
+
+ /** string representing the last error (generated by send server).
+ */
+ string ProtocolErrorString;
+
+ /** the number representing the last error (generated by send server).
+ */
+ long ProtocolErrorNumber;
+
+ /** the count of tries to send a message. This count is <code>1</code>
+ if the message was sent with the first try and increases with every
+ unsuccessful retry.
+ */
+ long SendTries;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/RememberAuthentication.idl b/offapi/com/sun/star/ucb/RememberAuthentication.idl
new file mode 100644
index 000000000..1afb0d352
--- /dev/null
+++ b/offapi/com/sun/star/ucb/RememberAuthentication.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_ucb_RememberAuthentication_idl__
+#define __com_sun_star_ucb_RememberAuthentication_idl__
+
+
+
+module com { module sun { module star { module ucb {
+
+/** A specification of how long to remember some authentication data.
+*/
+published enum RememberAuthentication
+{
+ /** Do not remember the authentication data (use it once and immediately
+ forget about it).
+ */
+ NO,
+
+ /** Remember the authentication data, but only until the end of the
+ current session.
+ */
+ SESSION,
+
+ /** Remember the authentication data "forever".
+ */
+ PERSISTENT
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/RemoteAccessContentProvider.idl b/offapi/com/sun/star/ucb/RemoteAccessContentProvider.idl
new file mode 100644
index 000000000..520ba755e
--- /dev/null
+++ b/offapi/com/sun/star/ucb/RemoteAccessContentProvider.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_ucb_RemoteAccessContentProvider_idl__
+#define __com_sun_star_ucb_RemoteAccessContentProvider_idl__
+
+#include <com/sun/star/ucb/ContentProvider.idl>
+#include <com/sun/star/ucb/XParameterizedContentProvider.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** A RemoteAccessContentProvider is a
+ ContentProvider that provides access to contents available at
+ other (remote) UCBs.
+*/
+published service RemoteAccessContentProvider
+{
+ /** A RemoteAccessContentProvider is a specialized
+ ContentProvider.
+ */
+ service com::sun::star::ucb::ContentProvider;
+
+ /** allows configuration of the RemoteAccessContentProvider,
+ to specify that certain XContentIdentifiers map to
+ XContents from a certain remote UCB. The Arguments
+ string in the
+ XParameterizedContentProvider::registerInstance()
+ call must contain the UNO URL of the remote UCB.
+
+ The XContentProviders obtained through this interface
+ implement the service ContentProvider and, if
+ appropriate, also the interface XFileIdentifierConverter.
+ */
+ interface com::sun::star::ucb::XParameterizedContentProvider;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/RemoteContentProviderAcceptor.idl b/offapi/com/sun/star/ucb/RemoteContentProviderAcceptor.idl
new file mode 100644
index 000000000..b26b53903
--- /dev/null
+++ b/offapi/com/sun/star/ucb/RemoteContentProviderAcceptor.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_ucb_RemoteContentProviderAcceptor_idl__
+#define __com_sun_star_ucb_RemoteContentProviderAcceptor_idl__
+
+module com { module sun { module star { module ucb {
+
+ published interface XRemoteContentProviderAcceptor;
+ published interface XRemoteContentProviderActivator;
+
+/** allows content providers running in remote processes to be registered at
+ the local content provider broker.
+ */
+published service RemoteContentProviderAcceptor
+{
+ /** This interface provides the base functionality to register and
+ deregister content providers running in remote processes.
+ */
+ interface XRemoteContentProviderAcceptor;
+
+ /** This optional interface can be used to adopt a lazy implement strategy
+ for this service, which can improve performance in certain situations.
+
+ <p>The way this works might change, therefore this interface is marked
+ as deprecated.
+
+ @deprecated
+ */
+ [optional] interface XRemoteContentProviderActivator;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/RemoteContentProviderChangeAction.idl b/offapi/com/sun/star/ucb/RemoteContentProviderChangeAction.idl
new file mode 100644
index 000000000..563852216
--- /dev/null
+++ b/offapi/com/sun/star/ucb/RemoteContentProviderChangeAction.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_ucb_RemoteContentProviderChangeAction_idl__
+#define __com_sun_star_ucb_RemoteContentProviderChangeAction_idl__
+
+module com { module sun { module star { module ucb {
+
+/** An indication used in a
+ com::sun::star::ucb::RemoteContentProviderChangeEvent to
+ specify whether a remote content provider has been added to or removed
+ from an
+ com::sun::star::ucb::XRemoteContentProviderSupplier.
+
+ @version 1.0
+ */
+published enum RemoteContentProviderChangeAction
+{
+ /** The indicator that a remote content provider has been added.
+ */
+ ADDED,
+
+ /** The indicator that a remote content provider has been removed.
+ */
+ REMOVED
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/RemoteContentProviderChangeEvent.idl b/offapi/com/sun/star/ucb/RemoteContentProviderChangeEvent.idl
new file mode 100644
index 000000000..aa2eeb3e7
--- /dev/null
+++ b/offapi/com/sun/star/ucb/RemoteContentProviderChangeEvent.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_ucb_RemoteContentProviderChangeEvent_idl__
+#define __com_sun_star_ucb_RemoteContentProviderChangeEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+#include <com/sun/star/ucb/RemoteContentProviderChangeAction.idl>
+
+module com { module sun { module star { module ucb {
+
+/** The description of a change to a
+ com::sun::star::ucb::XRemoteContentProviderSupplier.
+
+ @version 1.0
+ */
+published struct RemoteContentProviderChangeEvent: com::sun::star::lang::EventObject
+{
+ /** The identifier with which the remote content provider is registered
+ at the
+ com::sun::star::ucb::XRemoteContentProviderSupplier.
+ */
+ string Identifier;
+
+ /** An indicator whether a remote content provider has been added or
+ removed.
+ */
+ RemoteContentProviderChangeAction Action;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/RemoteProxyContentProvider.idl b/offapi/com/sun/star/ucb/RemoteProxyContentProvider.idl
new file mode 100644
index 000000000..bb09062a5
--- /dev/null
+++ b/offapi/com/sun/star/ucb/RemoteProxyContentProvider.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_ucb_RemoteProxyContentProvider_idl__
+#define __com_sun_star_ucb_RemoteProxyContentProvider_idl__
+
+module com { module sun { module star { module ucb {
+
+ published interface XContentIdentifierFactory;
+ published interface XContentProvider;
+ published interface XParameterizedContentProvider;
+
+/** A ContentProvider that wraps remote content providers that
+ (potentially) have been distributed to a UCB.
+
+ <p>Before trying to pass a request to a "real", underlying content provider
+ (which will most likely be a remote content provider distributed to this
+ UCB), this proxy first activates any remote content providers that have
+ been distributed here, but are still inactive (see
+ RemoteContentProviderAcceptor and
+ XRemoteContentProviderActivator for more information).
+
+ <p>The way this works might change, therefore this interface is marked as
+ deprecated.
+
+ @deprecated
+ */
+published service RemoteProxyContentProvider
+{
+ /** activates any potentially inactive remote content providers before
+ passing on requests to the underlying XContentProvider.
+ */
+ interface XContentProvider;
+
+ /** activates any potentially inactive remote content providers before
+ passing on requests to the underlying
+ XContentIdentifierFactory.
+ */
+ [optional] interface XContentIdentifierFactory;
+
+ /** allows this ContentProvider to adjust itself to special
+ needs.
+ */
+ [optional] interface XParameterizedContentProvider;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/ResultSetException.idl b/offapi/com/sun/star/ucb/ResultSetException.idl
new file mode 100644
index 000000000..9bea5cbf3
--- /dev/null
+++ b/offapi/com/sun/star/ucb/ResultSetException.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_ucb_ResultSetException_idl__
+#define __com_sun_star_ucb_ResultSetException_idl__
+
+#include <com/sun/star/sdbc/SQLException.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** This exception is thrown to propagate exceptions thrown by operations
+ on ContentResultSets.
+
+ @version 1.0
+*/
+published exception ResultSetException: com::sun::star::sdbc::SQLException
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/Rule.idl b/offapi/com/sun/star/ucb/Rule.idl
new file mode 100644
index 000000000..ddf20924a
--- /dev/null
+++ b/offapi/com/sun/star/ucb/Rule.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_ucb_Rule_idl__
+#define __com_sun_star_ucb_Rule_idl__
+
+#include <com/sun/star/ucb/RuleTerm.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** describes a rule that can be applies to a number of objects.
+
+ <p>A rule consists of a sequence of RuleTerms describing the
+ objects to which the rule should be applied, the RuleAction
+ which should be used on the matching objects, and a parameter.
+*/
+published struct Rule
+{
+ /** the rule terms describing the objects to which the rule should be
+ applied.
+ */
+ sequence<com::sun::star::ucb::RuleTerm> Terms;
+
+ /** Some RuleActions require a parameter.
+
+ <table border =1>
+ <tr>
+ <th>Action</th>
+ <th>Parameter</th>
+ </tr>
+ <tr>
+ <td>COPY, MOVE, LINK</td>
+ <td>The URL to the destination folder.</td>
+ </tr>
+ <tr>
+ <td>FORWARD</td>
+ <td>The email address of the recipient</td>
+ </tr>
+ <tr>
+ <td>All other actions</td>
+ <td>n/a</td>
+ </tr>
+ </table>
+ */
+ string Parameter;
+
+ /** the action to perform on the matching objects.
+
+ <p>The value can be one of the RuleAction constants.
+ */
+ short Action;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/RuleAction.idl b/offapi/com/sun/star/ucb/RuleAction.idl
new file mode 100644
index 000000000..358621409
--- /dev/null
+++ b/offapi/com/sun/star/ucb/RuleAction.idl
@@ -0,0 +1,91 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_ucb_RuleAction_idl__
+#define __com_sun_star_ucb_RuleAction_idl__
+
+
+
+module com { module sun { module star { module ucb {
+
+/** These are the possible values for Rule::Action.
+
+ @see RuleSet
+*/
+published constants RuleAction
+{
+ /** "None" - Do nothing.
+ */
+ const short NONE = 0;
+
+ /** "Show" - Shows object when term matches.
+ */
+ const short SHOW = 1;
+
+ /** "Hide" - Hides object when term matches.
+ */
+ const short HIDE = 2;
+
+ /** "Mark" - Marks object when term matches.
+ */
+ const short MARK = 3;
+
+ /** "UnMark" - Removes mark from object when term matches.
+ */
+ const short UNMARK = 4;
+
+ /** "MarkRead" - Marks object as read when term matches.
+ */
+ const short MARKREAD = 5;
+
+ /** "MarkUnRead" - Marks object as not read when term matches.
+ */
+ const short MARKUNREAD = 6;
+
+ /** "Move" - Moves object to Rule::Parameter when term
+ matches.
+ */
+ const short MOVE = 7;
+
+ /** "Copy" - Copies object to Rule::Parameter when term
+ matches.
+ */
+ const short COPY = 8;
+
+ /** "Delete" - Deletes object when term matches.
+ */
+ const short DELETE = 9;
+
+ /** "Link" - Creates a link to Rule::Parameter when term
+ matches.
+ */
+ const short LINK = 10;
+
+ /** "Forward" - Forwards object to Rule::Parameter when
+ term matches.
+ */
+ const short FORWARD = 11;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/RuleOperator.idl b/offapi/com/sun/star/ucb/RuleOperator.idl
new file mode 100644
index 000000000..442adda69
--- /dev/null
+++ b/offapi/com/sun/star/ucb/RuleOperator.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_ucb_RuleOperator_idl__
+#define __com_sun_star_ucb_RuleOperator_idl__
+
+
+
+module com { module sun { module star { module ucb {
+
+/** These are the possible values for RuleTerm::RuleOperator.
+
+ @see RuleSet
+ @see Rule
+*/
+published constants RuleOperator
+{
+ /** "Contains" - Object contains RuleTerm::Operand.
+ */
+ const short CONTAINS = 1;
+
+ /** "ContainsNot" - Object does not contain
+ RuleTerm::Operand.
+ */
+ const short CONTAINSNOT = 2;
+
+ /** "GreaterEqual" - Object is greater than or equal to
+ RuleTerm::Operand.
+ */
+ const short GREATEREQUAL = 3;
+
+ /** "LessEqual" - Object is less than or equal to
+ RuleTerm::Operand.
+ */
+ const short LESSEQUAL = 4;
+
+ /** "Equal" - Object is equal to RuleTerm::Operand.
+ */
+ const short EQUAL = 5;
+
+ /** "NotEqual" - Object is not equal to RuleTerm::Operand.
+ */
+ const short NOTEQUAL = 6;
+
+ /** "True" - Object has the value `TRUE`.
+ */
+ const short VALUE_TRUE = 7;
+
+ /** "False" - Object has the value `FALSE`.
+ */
+ const short VALUE_FALSE = 8;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/RuleSet.idl b/offapi/com/sun/star/ucb/RuleSet.idl
new file mode 100644
index 000000000..bf4a061f3
--- /dev/null
+++ b/offapi/com/sun/star/ucb/RuleSet.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_ucb_RuleSet_idl__
+#define __com_sun_star_ucb_RuleSet_idl__
+
+#include <com/sun/star/ucb/Rule.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** describes a set of Rules.
+
+ <p>A RuleSet is applied to a folder. It consists of a sequence of rules.
+ Each rule consists of a sequence of RuleTerms describing the
+ objects to which the rule should by applied and the RuleAction
+ which should be performed on the matching objects.
+*/
+published struct RuleSet
+{
+ /** contains a number of rules.
+ */
+ sequence<com::sun::star::ucb::Rule> Rules;
+
+ /** is a flag indicating whether the rules apply to folders, too.
+ */
+ boolean HandleFolder;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/RuleTerm.idl b/offapi/com/sun/star/ucb/RuleTerm.idl
new file mode 100644
index 000000000..49b2a51df
--- /dev/null
+++ b/offapi/com/sun/star/ucb/RuleTerm.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_ucb_RuleTerm_idl__
+#define __com_sun_star_ucb_RuleTerm_idl__
+
+
+
+module com { module sun { module star { module ucb {
+
+/** describes a term.
+
+ <p>A term is used to select objects to which a rule should apply.
+*/
+published struct RuleTerm
+{
+ /** the name of the property used to match the term.
+ */
+ string Property;
+
+ /** the value of the property used to compare with the document
+ property.
+ */
+ any Operand;
+
+ /** the operator used to compare the property of the document with
+ the given value (e.g. "contains" or "greater equal").
+
+ <p>The value can be one of the RuleOperator constants.
+ */
+ short Operator;
+
+ /** this flag indicates whether a string "operand" shall be compared
+ case sensitive.
+ */
+ boolean CaseSensitive;
+
+ /** this flag indicates whether a string "operand" shall be treated
+ as a regular expression.
+ */
+ boolean RegularExpression;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/SearchCommandArgument.idl b/offapi/com/sun/star/ucb/SearchCommandArgument.idl
new file mode 100644
index 000000000..6c5d112e1
--- /dev/null
+++ b/offapi/com/sun/star/ucb/SearchCommandArgument.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_ucb_SearchCommandArgument_idl__
+#define __com_sun_star_ucb_SearchCommandArgument_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/beans/Property.idl>
+#include <com/sun/star/ucb/SearchInfo.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** The argument for the command "search".
+
+ @see XCommandProcessor
+*/
+published struct SearchCommandArgument
+{
+ /** the search criteria.
+ */
+ SearchInfo Info;
+
+ /** the properties for which values shall be provided through the
+ ContentResultSet returned by the search command.
+ */
+ sequence< com::sun::star::beans::Property > Properties;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/SearchCriterium.idl b/offapi/com/sun/star/ucb/SearchCriterium.idl
new file mode 100644
index 000000000..09c6fceed
--- /dev/null
+++ b/offapi/com/sun/star/ucb/SearchCriterium.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_ucb_SearchCriterium_idl__
+#define __com_sun_star_ucb_SearchCriterium_idl__
+
+#include <com/sun/star/ucb/RuleTerm.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** a criterion describing how an object must match some rules that specify
+ (part of) a search.
+*/
+published struct SearchCriterium
+{
+ /** a number of rule terms.
+ */
+ sequence<com::sun::star::ucb::RuleTerm> Terms;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/SearchInfo.idl b/offapi/com/sun/star/ucb/SearchInfo.idl
new file mode 100644
index 000000000..0fcb43dad
--- /dev/null
+++ b/offapi/com/sun/star/ucb/SearchInfo.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_ucb_SearchInfo_idl__
+#define __com_sun_star_ucb_SearchInfo_idl__
+
+#include <com/sun/star/ucb/SearchCriterium.idl>
+#include <com/sun/star/ucb/SearchRecursion.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** information needed to (recursively) search an object.
+*/
+published struct SearchInfo
+{
+ /** the search criteria.
+ */
+ sequence<com::sun::star::ucb::SearchCriterium> Criteria;
+
+ /** the mode of recursion to use.
+ */
+ com::sun::star::ucb::SearchRecursion Recursion;
+
+ /** whether to include the object itself in the search or only (some of)
+ its sub-objects.
+ */
+ boolean IncludeBase;
+
+ /** whether to respect the "view restrictions" specified for the folders
+ hierarchically contained within an object (e.g., only searches through
+ subscribed folders).
+ */
+ boolean RespectFolderViewRestrictions;
+
+ /** whether to respect the "view restrictions" specified for the documents
+ hierarchically contained within an object (e.g., only searches through
+ marked documents).
+ */
+ boolean RespectDocViewRestrictions;
+
+ /** whether to follow indirections (link objects) and search through their
+ respective targets also.
+ */
+ boolean FollowIndirections;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/SearchRecursion.idl b/offapi/com/sun/star/ucb/SearchRecursion.idl
new file mode 100644
index 000000000..8bd03dcdd
--- /dev/null
+++ b/offapi/com/sun/star/ucb/SearchRecursion.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_ucb_SearchRecursion_idl__
+#define __com_sun_star_ucb_SearchRecursion_idl__
+
+
+
+module com { module sun { module star { module ucb {
+
+/** the various modes of recursion when searching through a hierarchical
+ object.
+
+ @see SearchInfo
+*/
+published enum SearchRecursion
+{
+ /** Does not search through any sub-objects.
+ */
+ NONE,
+
+ /** Only searches through sub-objects of the first hierarchy level.
+ */
+ ONE_LEVEL,
+
+ /** Searches through the complete hierarchy of all sub-objects.
+ */
+ DEEP
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/SendInfo.idl b/offapi/com/sun/star/ucb/SendInfo.idl
new file mode 100644
index 000000000..9f8037088
--- /dev/null
+++ b/offapi/com/sun/star/ucb/SendInfo.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_ucb_SendInfo_idl__
+#define __com_sun_star_ucb_SendInfo_idl__
+
+
+
+module com { module sun { module star { module ucb {
+
+/** contains information related to a send protocol.
+
+ <p>It can contain any string values (server names, user names, passwords,
+ ...).
+*/
+published struct SendInfo
+{
+ /** the protocol to which the info is related (i.e. "NNTP", "SMTP", "VIM").
+ */
+ string ProtocolType;
+
+ /** the value.
+ */
+ string Value;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/SendMediaTypes.idl b/offapi/com/sun/star/ucb/SendMediaTypes.idl
new file mode 100644
index 000000000..def07946e
--- /dev/null
+++ b/offapi/com/sun/star/ucb/SendMediaTypes.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_ucb_SendMediaTypes_idl__
+#define __com_sun_star_ucb_SendMediaTypes_idl__
+
+
+
+module com { module sun { module star { module ucb {
+
+/** contains a list of Internet media types (like "text/plain" and "text/html"),
+ that are related to a send protocol.
+*/
+published struct SendMediaTypes
+{
+ /** the protocol to which the information is related (i.e. "NNTP", "SMTP",
+ "VIM").
+ */
+ string ProtocolType;
+
+ /** a list of Internet media types
+ */
+ sequence<string> Value;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/ServiceNotFoundException.idl b/offapi/com/sun/star/ucb/ServiceNotFoundException.idl
new file mode 100644
index 000000000..9bc74906e
--- /dev/null
+++ b/offapi/com/sun/star/ucb/ServiceNotFoundException.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_ucb_ServiceNotFoundException_idl__
+#define __com_sun_star_ucb_ServiceNotFoundException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** This exception is thrown to indicate that a needed service was
+ not registered.
+*/
+published exception ServiceNotFoundException: com::sun::star::uno::Exception
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/SimpleFileAccess.idl b/offapi/com/sun/star/ucb/SimpleFileAccess.idl
new file mode 100644
index 000000000..8b7902baf
--- /dev/null
+++ b/offapi/com/sun/star/ucb/SimpleFileAccess.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_ucb_SimpleFileAccess_idl__
+#define __com_sun_star_ucb_SimpleFileAccess_idl__
+
+#include <com/sun/star/ucb/XSimpleFileAccess3.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** Offers a simple access to resources, like files and folders located in a
+local file system or on a WebDAV server.
+
+ @version 1.0 07/25/2000
+*/
+published service SimpleFileAccess : XSimpleFileAccess3;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/SortedDynamicResultSetFactory.idl b/offapi/com/sun/star/ucb/SortedDynamicResultSetFactory.idl
new file mode 100644
index 000000000..a5b0a14ac
--- /dev/null
+++ b/offapi/com/sun/star/ucb/SortedDynamicResultSetFactory.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_ucb_SortedDynamicResultSetFactory_idl__
+#define __com_sun_star_ucb_SortedDynamicResultSetFactory_idl__
+
+#include <com/sun/star/ucb/XSortedDynamicResultSetFactory.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** is a factory for DynamicResultSet implementations, which
+ will be sorted according to the given sorting options.
+*/
+published service SortedDynamicResultSetFactory
+ : XSortedDynamicResultSetFactory;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/SortingInfo.idl b/offapi/com/sun/star/ucb/SortingInfo.idl
new file mode 100644
index 000000000..189d38590
--- /dev/null
+++ b/offapi/com/sun/star/ucb/SortingInfo.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_ucb_SortingInfo_idl__
+#define __com_sun_star_ucb_SortingInfo_idl__
+
+
+
+module com { module sun { module star { module ucb {
+
+/** contains a sorting info.
+*/
+published struct SortingInfo
+{
+ /** specifies the name of a property to use for sorting ( e.g. "Title" ).
+ */
+ string PropertyName;
+
+ /** contains a flag indicating the sort mode (ascending or descending).
+ */
+ boolean Ascending;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/Store.idl b/offapi/com/sun/star/ucb/Store.idl
new file mode 100644
index 000000000..500d2999c
--- /dev/null
+++ b/offapi/com/sun/star/ucb/Store.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_ucb_Store_idl__
+#define __com_sun_star_ucb_Store_idl__
+
+#include <com/sun/star/ucb/XPropertySetRegistryFactory.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** creates instances of the service PropertySetRegistry.
+ */
+published service Store : XPropertySetRegistryFactory;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/SynchronizePolicy.idl b/offapi/com/sun/star/ucb/SynchronizePolicy.idl
new file mode 100644
index 000000000..cd05a269d
--- /dev/null
+++ b/offapi/com/sun/star/ucb/SynchronizePolicy.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_ucb_SynchronizePolicy_idl__
+#define __com_sun_star_ucb_SynchronizePolicy_idl__
+
+
+
+module com { module sun { module star { module ucb {
+
+/** These are the possible values for the property "SynchronizePolicy".
+
+ @see XCommandProcessor
+ @see Content
+*/
+published enum SynchronizePolicy
+{
+ /** Server is master.
+ */
+ SERVER_IS_MASTER,
+
+ /** Client is master.
+ */
+ CLIENT_IS_MASTER,
+
+ /** None is master.
+ */
+ NONE_IS_MASTER
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/TransferCommandOperation.idl b/offapi/com/sun/star/ucb/TransferCommandOperation.idl
new file mode 100644
index 000000000..bf9e7aa91
--- /dev/null
+++ b/offapi/com/sun/star/ucb/TransferCommandOperation.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_ucb_TransferCommandOperation_idl__
+#define __com_sun_star_ucb_TransferCommandOperation_idl__
+
+
+
+module com { module sun { module star { module ucb {
+
+/** These are the possible values for
+ GlobalTransferCommandArgument::Operation.
+*/
+published enum TransferCommandOperation
+{
+ /** Copy the source to the target folder. */
+ COPY,
+
+ /** Move the source to the target folder. */
+ MOVE,
+
+ /** Create a link in the target folder. The link's target is the source
+ object. */
+ LINK
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/TransferInfo.idl b/offapi/com/sun/star/ucb/TransferInfo.idl
new file mode 100644
index 000000000..1d6bb2eb5
--- /dev/null
+++ b/offapi/com/sun/star/ucb/TransferInfo.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_ucb_TransferInfo_idl__
+#define __com_sun_star_ucb_TransferInfo_idl__
+
+
+
+module com { module sun { module star { module ucb {
+
+/** contains information needed to transfer objects from one location to another.
+
+ <p>The transfer command is always called on the target folder. For a
+ details description of the transfer command refer to the documentation
+ of service Content.
+*/
+published struct TransferInfo
+{
+ /** contains the flags describing whether the data shall be moved
+ instead of copied.
+ */
+ boolean MoveData;
+
+ /** contains the URL of the source of the action (e.g. the URL of a
+ file to move).
+ */
+ string SourceURL;
+
+ /** contains the title of the transferred object, if it is different
+ from the original one.
+
+ <p>If this field is filled, for example, a file will be renamed
+ while it is being transferred.</p>
+ */
+ string NewTitle;
+
+ /** describes how to act in case of title clashes while transferring
+ the data.
+
+ <p>A title clash for instance occurs, if a file named "foo.txt" is
+ to be transferred to a folder already containing another file named
+ "foo.txt".
+
+ <p>The value can be one of the NameClash constants.
+
+ <p>Implementations that are not able to detect whether there is a
+ clashing resource may ignore NameClash::ERROR and
+ NameClash::RENAME always write the new data.
+ */
+ long NameClash;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/TransferInfo2.idl b/offapi/com/sun/star/ucb/TransferInfo2.idl
new file mode 100644
index 000000000..c7bcef22d
--- /dev/null
+++ b/offapi/com/sun/star/ucb/TransferInfo2.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_ucb_TransferInfo2_idl__
+#define __com_sun_star_ucb_TransferInfo2_idl__
+
+#include <com/sun/star/ucb/TransferInfo.idl>
+
+module com { module sun { module star { module ucb {
+
+/** extends TransferInfo structure to give some additional parameters
+ for transfers.
+ */
+struct TransferInfo2 : TransferInfo
+{
+ /** contains the MIME type of the source of the action
+ */
+ string MimeType;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/TransferResult.idl b/offapi/com/sun/star/ucb/TransferResult.idl
new file mode 100644
index 000000000..ed7961f3c
--- /dev/null
+++ b/offapi/com/sun/star/ucb/TransferResult.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_ucb_TransferResult_idl__
+#define __com_sun_star_ucb_TransferResult_idl__
+
+
+
+module com { module sun { module star { module ucb {
+
+/** Information about a transfer activity.
+*/
+published struct TransferResult
+{
+ /** The URL of the source object.
+ */
+ string Source;
+
+ /** The URL of the target folder into which to transfer (a copy of) the
+ source object.
+ */
+ string Target;
+
+ /** Either void if the transfer has been carried out successfully, or an
+ exception indicating the kind of failure.
+ */
+ any Result;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/TransientDocumentsContentProvider.idl b/offapi/com/sun/star/ucb/TransientDocumentsContentProvider.idl
new file mode 100644
index 000000000..012a3dd46
--- /dev/null
+++ b/offapi/com/sun/star/ucb/TransientDocumentsContentProvider.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_ucb_TransientDocumentsContentProvider_idl__
+#define __com_sun_star_ucb_TransientDocumentsContentProvider_idl__
+
+#include <com/sun/star/ucb/XContentProvider.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** The Transient Documents Content Provider (TDCP) implements a
+ ContentProvider for the UniversalContentBroker
+ (UCB).
+
+ <p>It provides access to the hierarchical structure of the documents that
+ are active in a running OpenOffice.org process. As long as a document was
+ not closed, the TDCP can access it. All documents that have been loaded -
+ regardless of their persistent document format (sxw, doc, sxc, xls, ...)
+ or that have been created but not yet saved to any storage medium, are
+ supported. The TDCP is not able to load any documents itself. This is
+ exclusively done by the OpenOffice.org document handling framework. The
+ document contents provided by the TDCP represent live data, which may
+ differ from any persistent representation of the document, for instance,
+ because the user modified the document after loading, but did not yet save
+ it.
+
+ @see TransientDocumentsRootContent
+ @see TransientDocumentsDocumentContent
+ @see TransientDocumentsFolderContent
+ @see TransientDocumentsStreamContent
+
+ @since OOo 2.0
+*/
+service TransientDocumentsContentProvider
+{
+ /** provides four different types of contents: Stream, Folder, Document and
+ Root.
+
+ <p>
+
+ <b>TDCP Contents</b>
+ <ol>
+ <li>
+ A TDCP Stream (TransientDocumentsStreamContent) is a
+ content which represents a data stream of an Office document. It is
+ contained in a TDCP Folder or TDCP Document. A TDCP Stream has no
+ children.
+ </li>
+ <li>
+ A TDCP Folder (TransientDocumentsFolderContent) is a
+ container for other TDCP Folders and TDCP Streams. It may be contained
+ in another TDCP Folder or in a TDCP Document.
+ </li>
+ <li>
+ A TDCP Document (TransientDocumentsDocumentContent)
+ represents the root folder of a transient document. It is a container
+ for other TDCP Folders and TDCP Streams. It is always a child of the
+ TDCP Root.
+ </li>
+ <li>
+ There is at most one instance of a TDCP Root
+ (TransientDocumentsRootContent) at a time. All other TDCP
+ contents are children of this folder. The TDCP Root Folder can contain
+ only TDCP Documents. It has the fixed URL "vnd.sun.star.tdoc:/".
+ </li>
+ </ol>
+
+ <p><b>URL Scheme for TDCP Contents</b>
+
+ <p>Each TDCP content has an identifier corresponding to the following
+ scheme:
+
+ <ul>
+ <li>
+ tdcp-URL = "vnd.sun.star.tdoc:" abs-path
+ </li>
+ <li>
+ abs-path = +( "/" segment )
+ </li>
+ <li>
+ segment = *( pchar )
+ </li>
+ <li>
+ pchar = unreserved | escaped | ":" | "@" | "&" | "=" | "+" | "$" | ","
+ </li>
+ <li>
+ unreserved = alphanum | mark
+ </li>
+ <li>
+ mark = "-" | "_" | "." | "!" | "~" | "*" | "'" | "(" | ")"
+ </li>
+ <li>
+ escaped = "%" hex hex
+ </li>
+ </ul>
+
+ <p>Examples:
+
+ <ul>
+ <li>
+ vnd.sun.star.tdoc:/
+ ( The TDCP Root )
+ </li>
+ <li>
+ vnd.sun.star.tdoc:/22
+ ( The document with the id 22 )
+ </li>
+ <li>
+ vnd.sun.star.tdoc:/22/
+ ( The document with the id 22 )
+ </li>
+ <li>
+ vnd.sun.star.tdoc:/42/folder/subfolder
+ ( The folder/stream named subfolder contained in folder named folder,
+ which is contained in the document with the id 42 )
+ </li>
+ </ul>
+
+ </p>
+ */
+ interface com::sun::star::ucb::XContentProvider;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/TransientDocumentsDocumentContent.idl b/offapi/com/sun/star/ucb/TransientDocumentsDocumentContent.idl
new file mode 100644
index 000000000..7f9969019
--- /dev/null
+++ b/offapi/com/sun/star/ucb/TransientDocumentsDocumentContent.idl
@@ -0,0 +1,182 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_ucb_TransientDocumentsDocumentContent_idl__
+#define __com_sun_star_ucb_TransientDocumentsDocumentContent_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/ucb/XContent.idl>
+#include <com/sun/star/ucb/XCommandProcessor.idl>
+#include <com/sun/star/ucb/XCommandProcessor2.idl>
+#include <com/sun/star/beans/XPropertiesChangeNotifier.idl>
+#include <com/sun/star/beans/XPropertyContainer.idl>
+#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl>
+#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl>
+#include <com/sun/star/container/XChild.idl>
+#include <com/sun/star/ucb/XContentCreator.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** A TDCP Document represents the root folder of a transient document.
+
+ <p>It is a container for other TDCP Folders and TDCP Streams. It is always
+ a child of the TDCP Root.
+
+ @see TransientDocumentsContentProvider
+ @see TransientDocumentsRootContent
+ @see TransientDocumentsFolderContent
+ @see TransientDocumentsStreamContent
+
+ @since OOo 2.0
+*/
+service TransientDocumentsDocumentContent
+{
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::ucb::XContent;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+
+ <p>
+
+ <b>Supported Commands</b>
+ <ul>
+ <li>
+ getCommandInfo
+ </li>
+ <li>
+ getPropertySetInfo
+ </li>
+ <li>
+ getPropertyValues
+ </li>
+ <li>
+ setPropertyValues
+ </li>
+ <li>
+ open
+ </li>
+ <li>
+ transfer (only transfers TDCP documents, TDCP folders and TDCP streams.
+ It does not handle contents with a URL scheme other than the TDOC URL
+ scheme)
+ </li>
+ </ul>
+
+ <b>Supported Properties</b>
+ <ul>
+ <li>
+ string ContentType ( read-only, always "application/vnd.sun.star.tdoc-document" )
+ </li>
+ <li>
+ boolean IsDocument ( read-only, always false )
+ </li>
+ <li>
+ boolean IsFolder ( read-only, always true )
+ </li>
+ <li>
+ string Title ( read-only )
+ </li>
+ </ul>
+
+ </p>
+ */
+ interface com::sun::star::ucb::XCommandProcessor;
+
+ /** is an enhanced version of XCommandProcessor that has an
+ additional method for releasing command identifiers obtained via
+ XCommandProcessor::createCommandIdentifier() to avoid
+ resource leaks. For a detailed description of the problem refer to
+ XCommandProcessor2::releaseCommandIdentifier().
+
+ <p>Where many existing Content implementations do not
+ (yet), every new implementation should support this interface.
+ */
+ [optional] interface com::sun::star::ucb::XCommandProcessor2;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertiesChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertyContainer;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertySetInfoChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::ucb::XCommandInfoChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::container::XChild;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+
+ <p>To create a new child of a TDCP Document:
+
+ <ol>
+ <li>
+ Let the parent folder create a new content by calling
+ XContentCreator::createNewContent() on it. The content
+ type to use for new folders is "application/vnd.sun.star.tdoc-folder".
+ To create a new stream, use the type string
+ "application/vnd.sun.star.tdoc-stream".
+ </li>
+ <li>
+ Set a title for the new folder/stream. (Let the new child execute the
+ command "setPropertyValues"; pass a non-empty value for the property
+ "Title").
+ </li>
+ <li>
+ Let the new child ( not the parent! ) execute the command "insert".
+ This will commit the creation process. For streams, you need to supply
+ the implementation of an
+ com::sun::star::io::XInputStream with the command's
+ parameters, that provides access to the stream data.
+ </li>
+ </ol>
+
+ </p>
+ */
+ interface com::sun::star::ucb::XContentCreator;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/TransientDocumentsFolderContent.idl b/offapi/com/sun/star/ucb/TransientDocumentsFolderContent.idl
new file mode 100644
index 000000000..f9dd69144
--- /dev/null
+++ b/offapi/com/sun/star/ucb/TransientDocumentsFolderContent.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_ucb_TransientDocumentsFolderContent_idl__
+#define __com_sun_star_ucb_TransientDocumentsFolderContent_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/ucb/XContent.idl>
+#include <com/sun/star/ucb/XCommandProcessor.idl>
+#include <com/sun/star/ucb/XCommandProcessor2.idl>
+#include <com/sun/star/beans/XPropertiesChangeNotifier.idl>
+#include <com/sun/star/beans/XPropertyContainer.idl>
+#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl>
+#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl>
+#include <com/sun/star/container/XChild.idl>
+#include <com/sun/star/ucb/XContentCreator.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** A TDCP Folder is a container for other TDCP Folders and TDCP Streams.
+
+ <p>It may be contained in another TDCP Folder or in a TDCP Document.
+
+ @see TransientDocumentsContentProvider
+ @see TransientDocumentsRootContent
+ @see TransientDocumentsDocumentContent
+ @see TransientDocumentsStreamContent
+
+ @since OOo 2.0
+*/
+service TransientDocumentsFolderContent
+{
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::ucb::XContent;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+
+ <p>
+
+ <b>Supported Commands</b>
+ <ul>
+ <li>
+ getCommandInfo
+ </li>
+ <li>
+ getPropertySetInfo
+ </li>
+ <li>
+ getPropertyValues
+ </li>
+ <li>
+ setPropertyValues
+ </li>
+ <li>
+ open
+ </li>
+ <li>
+ insert
+ </li>
+ <li>
+ delete
+ </li>
+ <li>
+ transfer (only transfers TDCP documents, TDCP folders and TDCP streams.
+ It does not handle contents with a URL scheme other than the TDOC URL
+ scheme)
+ </li>
+ </ul>
+
+ <b>Supported Properties</b>
+ <ul>
+ <li>
+ string ContentType ( read-only, always "application/vnd.sun.star.tdoc-folder" )
+ </li>
+ <li>
+ boolean IsDocument ( read-only, always false )
+ </li>
+ <li>
+ boolean IsFolder ( read-only, always true )
+ </li>
+ <li>
+ string Title
+ </li>
+ <li>
+ com::sun::star::embed::XStorage Storage ( read-only,
+ always a reference to a storage opened in read-only mode. No write
+ operations are possible. TDCP contents must be used for writing.)
+ </li>
+ </ul>
+
+ </p>
+ */
+ interface com::sun::star::ucb::XCommandProcessor;
+
+ /** is an enhanced version of XCommandProcessor that has an
+ additional method for releasing command identifiers obtained via
+ XCommandProcessor::createCommandIdentifier() to avoid
+ resource leaks. For a detailed description of the problem refer to
+ XCommandProcessor2::releaseCommandIdentifier().
+
+ <p>Where many existing Content implementations do not
+ (yet), every new implementation should support this interface.
+ */
+ [optional] interface com::sun::star::ucb::XCommandProcessor2;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertiesChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertyContainer;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertySetInfoChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::ucb::XCommandInfoChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::container::XChild;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+
+ <p>To create a new child of a TDCP Folder:
+
+ <ol>
+ <li>
+ Let the parent folder create a new content by calling
+ XContentCreator::createNewContent() on it. The content
+ type to use for new folders is "application/vnd.sun.star.tdoc-folder".
+ To create a new stream, use the type string
+ "application/vnd.sun.star.tdoc-stream".
+ </li>
+ <li>
+ Set a title for the new folder/stream. (Let the new child execute the
+ command "setPropertyValues"; pass a non-empty value for the property
+ "Title").
+ </li>
+ <li>
+ Let the new child ( not the parent! ) execute the command "insert".
+ This will commit the creation process. For streams, you need to supply
+ the implementation of an
+ com::sun::star::io::XInputStream with the command's
+ parameters, that provides access to the stream data.
+ </li>
+ </ol>
+
+ </p>
+ */
+ interface com::sun::star::ucb::XContentCreator;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/TransientDocumentsRootContent.idl b/offapi/com/sun/star/ucb/TransientDocumentsRootContent.idl
new file mode 100644
index 000000000..a8de4dd6c
--- /dev/null
+++ b/offapi/com/sun/star/ucb/TransientDocumentsRootContent.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_ucb_TransientDocumentsRootContent_idl__
+#define __com_sun_star_ucb_TransientDocumentsRootContent_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/ucb/XContent.idl>
+#include <com/sun/star/ucb/XCommandProcessor.idl>
+#include <com/sun/star/ucb/XCommandProcessor2.idl>
+#include <com/sun/star/beans/XPropertiesChangeNotifier.idl>
+#include <com/sun/star/beans/XPropertyContainer.idl>
+#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl>
+#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl>
+#include <com/sun/star/container/XChild.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** A TDCP Root Folder is the root container for all other TDCP contents.
+
+ <p>There is at most one instance of a TDCP Root at a time. All other TDCP
+ contents are children of this folder. The TDCP Root Folder can contain
+ only TDCP Documents. It has the fixed URL "vnd.sun.star.tdoc:/".
+
+ @see TransientDocumentsContentProvider
+ @see TransientDocumentsDocumentContent
+ @see TransientDocumentsFolderContent
+ @see TransientDocumentsStreamContent
+
+ @since OOo 2.0
+*/
+service TransientDocumentsRootContent
+{
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::ucb::XContent;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+
+ <p>
+
+ <b>Supported Commands</b>
+ <ul>
+ <li>
+ getCommandInfo
+ </li>
+ <li>
+ getPropertySetInfo
+ </li>
+ <li>
+ getPropertyValues
+ </li>
+ <li>
+ setPropertyValues
+ </li>
+ <li>
+ open
+ </li>
+ </ul>
+
+ <b>Supported Properties</b>
+ <ul>
+ <li>
+ string ContentType ( read-only, always "application/vnd.sun.star.tdoc-root" )
+ </li>
+ <li>
+ boolean IsDocument ( read-only, always false )
+ </li>
+ <li>
+ boolean IsFolder ( read-only, always true )
+ </li>
+ <li>
+ string Title ( read-only, always an empty string )
+ </li>
+ </ul>
+
+ </p>
+ */
+ interface com::sun::star::ucb::XCommandProcessor;
+
+ /** is an enhanced version of XCommandProcessor that has an
+ additional method for releasing command identifiers obtained via
+ XCommandProcessor::createCommandIdentifier() to avoid
+ resource leaks. For a detailed description of the problem refer to
+ XCommandProcessor2::releaseCommandIdentifier().
+
+ <p>Where many existing Content implementations do not
+ (yet), every new implementation should support this interface.
+ */
+ [optional] interface com::sun::star::ucb::XCommandProcessor2;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertiesChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertyContainer;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertySetInfoChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::ucb::XCommandInfoChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::container::XChild;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/TransientDocumentsStreamContent.idl b/offapi/com/sun/star/ucb/TransientDocumentsStreamContent.idl
new file mode 100644
index 000000000..0382a61a4
--- /dev/null
+++ b/offapi/com/sun/star/ucb/TransientDocumentsStreamContent.idl
@@ -0,0 +1,153 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_ucb_TransientDocumentsStreamContent_idl__
+#define __com_sun_star_ucb_TransientDocumentsStreamContent_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/ucb/XContent.idl>
+#include <com/sun/star/ucb/XCommandProcessor.idl>
+#include <com/sun/star/ucb/XCommandProcessor2.idl>
+#include <com/sun/star/beans/XPropertiesChangeNotifier.idl>
+#include <com/sun/star/beans/XPropertyContainer.idl>
+#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl>
+#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl>
+#include <com/sun/star/container/XChild.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** A TDCP Stream is a content which represents a data stream of an Office
+ document.
+
+ <p>It is contained in a TDCP Folder or TDCP Document. A TDCP Stream has no
+ children.
+
+ @see TransientDocumentsContentProvider
+ @see TransientDocumentsRootContent
+ @see TransientDocumentsDocumentContent
+ @see TransientDocumentsFolderContent
+
+ @since OOo 2.0
+*/
+service TransientDocumentsStreamContent
+{
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::ucb::XContent;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+
+ <p>
+
+ <b>Supported Commands</b>
+ <ul>
+ <li>
+ getCommandInfo
+ </li>
+ <li>
+ getPropertySetInfo
+ </li>
+ <li>
+ getPropertyValues
+ </li>
+ <li>
+ setPropertyValues
+ </li>
+ <li>
+ open
+ </li>
+ <li>
+ insert
+ </li>
+ <li>
+ delete
+ </li>
+ </ul>
+
+ <b>Supported Properties</b>
+ <ul>
+ <li>
+ string ContentType ( read-only, always "application/vnd.sun.star.tdoc-stream" )
+ </li>
+ <li>
+ boolean IsDocument ( read-only, always true )
+ </li>
+ <li>
+ boolean IsFolder ( read-only, always false )
+ </li>
+ <li>
+ string Title
+ </li>
+ </ul>
+
+ </p>
+ */
+ interface com::sun::star::ucb::XCommandProcessor;
+
+ /** is an enhanced version of XCommandProcessor that has an
+ additional method for releasing command identifiers obtained via
+ XCommandProcessor::createCommandIdentifier() to avoid
+ resource leaks. For a detailed description of the problem refer to
+ XCommandProcessor2::releaseCommandIdentifier().
+
+ <p>Where many existing Content implementations do not
+ (yet), every new implementation should support this interface.
+ */
+ [optional] interface com::sun::star::ucb::XCommandProcessor2;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertiesChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertyContainer;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertySetInfoChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::ucb::XCommandInfoChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::container::XChild;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/URLAuthenticationRequest.idl b/offapi/com/sun/star/ucb/URLAuthenticationRequest.idl
new file mode 100644
index 000000000..72de8e7e1
--- /dev/null
+++ b/offapi/com/sun/star/ucb/URLAuthenticationRequest.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_ucb_URLAuthenticationRequest_idl__
+#define __com_sun_star_ucb_URLAuthenticationRequest_idl__
+
+#include <com/sun/star/ucb/AuthenticationRequest.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** An error specifying lack of correct authentication data (e.g., to log into
+ an account).
+
+ @since OOo 3.2
+*/
+exception URLAuthenticationRequest : AuthenticationRequest
+{
+ /** The URL for which authentication is requested.
+ */
+ string URL;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/UniversalContentBroker.idl b/offapi/com/sun/star/ucb/UniversalContentBroker.idl
new file mode 100644
index 000000000..938595475
--- /dev/null
+++ b/offapi/com/sun/star/ucb/UniversalContentBroker.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_ucb_UniversalContentBroker_idl__
+#define __com_sun_star_ucb_UniversalContentBroker_idl__
+
+#include <com/sun/star/ucb/XUniversalContentBroker.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** is a one-instance service that provides access to a set of
+ Contents via ContentProviders.
+
+ <p>Traditionally, this service implements
+ com::sun::star::lang::XInitialization and needed to be
+ instantiated once with two arguments via
+ com::sun::star::lang::XMultiComponentFactory::createInstanceWithArgumentsAndContext()
+ for configuration before it could be obtained via plain
+ com::sun::star::lang::XMultiComponentFactory::createInstanceWithContext().
+
+ <p>However, the only pair of initialization arguments used in practice is
+ <code>"Local"</code>/<code>"Office"</code>, so this service is simplified
+ now to automatically configure itself with that argument pair upon first
+ instantiation.
+
+ <p>(For backwards compatibility, the service implementation still supports
+ com::sun::star::lang::XInitialization and can still
+ explicitly be initialized via
+ com::sun::star::lang::XMultiComponentFactory::createInstanceWithArgumentsAndContext()
+ with two arguments of type string. These strings are used as a pair of keys
+ to retrieve a set of content provider descriptions from the configuration
+ management (stored at
+ <code>org.openoffice.ucb.Configuration.ContentProviders.<var>key<sub>1</sub></var>.SecondaryKeys.<var>key<sub>2</sub></var>.ProviderData</code>
+ within the configuration management's hierarchy). The retrieved
+ descriptions are in turn used to register the corresponding content provider
+ services at the broker.)
+*/
+published service UniversalContentBroker : XUniversalContentBroker
+{
+ /** The (default) constructor.
+
+ <p>(This default constructor is only mentioned explicitly for technical
+ reasons, so that its implementation calls the service implementation's
+ com::sun::star::lang::XInitialization::initialize().)
+ */
+ create();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/UnsupportedCommandException.idl b/offapi/com/sun/star/ucb/UnsupportedCommandException.idl
new file mode 100644
index 000000000..4706c19c2
--- /dev/null
+++ b/offapi/com/sun/star/ucb/UnsupportedCommandException.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_ucb_UnsupportedCommandException_idl__
+#define __com_sun_star_ucb_UnsupportedCommandException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** is thrown to indicate that a command is not known by the
+ implementation of an interface.
+
+ @version 1.0
+ @see XCommandProcessor
+*/
+published exception UnsupportedCommandException: com::sun::star::uno::Exception
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/UnsupportedDataSinkException.idl b/offapi/com/sun/star/ucb/UnsupportedDataSinkException.idl
new file mode 100644
index 000000000..57e89a424
--- /dev/null
+++ b/offapi/com/sun/star/ucb/UnsupportedDataSinkException.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_ucb_UnsupportedDataSinkException_idl__
+#define __com_sun_star_ucb_UnsupportedDataSinkException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** This exception is used to indicate that the requested type of data sink
+ is not supported.
+
+ <p>For example, each OpenCommandArgument supplied as argument
+ of the command "open" contains such a data sink.
+
+ @version 1.0
+ @see Content
+*/
+published exception UnsupportedDataSinkException : com::sun::star::uno::Exception
+{
+ /** contains the data sink that is not supported.
+ */
+ com::sun::star::uno::XInterface Sink;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/UnsupportedNameClashException.idl b/offapi/com/sun/star/ucb/UnsupportedNameClashException.idl
new file mode 100644
index 000000000..efa6e201c
--- /dev/null
+++ b/offapi/com/sun/star/ucb/UnsupportedNameClashException.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_ucb_UnsupportedNameClashException_idl__
+#define __com_sun_star_ucb_UnsupportedNameClashException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** <p>This exception must be thrown in case the requested name clash
+ directive is not supported, because it is not possible to implement
+ it or if it is just not (yet) implemented.
+
+ <p>Command "transfer": Used if the name clash directive specified in
+ parameter NameClash of the supplied TransferInfo is not
+ supported. For example, if the NameClash was set to NameClash::ERROR,
+ to NameClash::RENAME or to NameClash::ASK, the implementation must be
+ able determine whether there are existing data. This exception must also
+ be used if NameClash::RENAME was specified and the implementation is
+ unable to create a valid new name after a suitable number of tries.
+
+ <p>Command "insert": Used if the parameter ReplaceExisting of the
+ supplied InsertCommandArgument was set to `FALSE` and the
+ implementation is unable to determine whether there are existing data.
+ The member NameClash of the exception must be set to NameClash::ERROR
+
+ @version 1.0
+ @see Content
+*/
+published exception UnsupportedNameClashException : com::sun::star::uno::Exception
+{
+ /** contains the NameClash that is not supported.
+ */
+ long NameClash;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/UnsupportedOpenModeException.idl b/offapi/com/sun/star/ucb/UnsupportedOpenModeException.idl
new file mode 100644
index 000000000..f74c6d6ad
--- /dev/null
+++ b/offapi/com/sun/star/ucb/UnsupportedOpenModeException.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_ucb_UnsupportedOpenModeException_idl__
+#define __com_sun_star_ucb_UnsupportedOpenModeException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** This exception is used to indicate that the requested OpenMode
+ is not supported.
+
+ <p>For example, each OpenCommandArgument supplied as argument
+ of the command "open" contains such an open mode.
+
+ @version 1.0
+ @see Content
+*/
+published exception UnsupportedOpenModeException : com::sun::star::uno::Exception
+{
+ /** contains the OpenMode that is not supported.
+ */
+ short Mode;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/VerificationMode.idl b/offapi/com/sun/star/ucb/VerificationMode.idl
new file mode 100644
index 000000000..25073996f
--- /dev/null
+++ b/offapi/com/sun/star/ucb/VerificationMode.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_ucb_VerificationMode_idl__
+#define __com_sun_star_ucb_VerificationMode_idl__
+
+
+
+module com { module sun { module star { module ucb {
+
+/** These are the possible values for the property "VerificationMode".
+
+ @see XCommandProcessor
+ @see Content
+*/
+published enum VerificationMode
+{
+ /** Always.
+ */
+ ALWAYS,
+
+ /** Once.
+ */
+ ONCE,
+
+ /** Never.
+ */
+ NEVER
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/WebDAVContentProvider.idl b/offapi/com/sun/star/ucb/WebDAVContentProvider.idl
new file mode 100644
index 000000000..6a27e7f17
--- /dev/null
+++ b/offapi/com/sun/star/ucb/WebDAVContentProvider.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_ucb_WebDAVContentProvider_idl__
+#define __com_sun_star_ucb_WebDAVContentProvider_idl__
+
+#include <com/sun/star/ucb/XContentProvider.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** The WebDAV Content Provider (DCP) implements a ContentProvider
+ for the UniversalContentBroker (UCB).
+
+ <p>It provides access to WebDAV and standard HTTP servers. The DCP
+ communicates with the server using the WebDAV protocol which is an
+ extension to the HTTP protocol or using the plain HTTP protocol in case
+ the server is not WebDAV enabled.
+
+ @see com::sun::star::ucb::Content
+*/
+published service WebDAVContentProvider
+{
+ /** provides two types of content: a Folder or Document which corresponds
+ to a collection or non-collection (nodes and leafs) in WebDAV
+ respectively.
+
+ <p>
+
+ <b>DCP Contents</b>
+ <ol>
+ <li>
+ A DCP Folder (WebDAVFolderContent) is a container for
+ other DCP Folders or Documents.
+ </li>
+ <li>
+ A DCP Document (WebDAVDocumentContent) is a container for
+ Document data/content. The data/content may be anything, a WebDAV
+ server, like an HTTP server, does not necessarily mandate what type of
+ data/content may be contained within Documents. The type of data/content
+ is defined by the MediaType property which is different from the content
+ type returned from the getContentType method. The MediaType property is
+ mapped to the equivalent WebDAV property and the WebDAV server
+ calculates the value.
+ </li>
+ </ol>
+
+ <p><b>URL Scheme for DCP Contents</b>
+
+ <p>Each DCP content has an identifier corresponding to the following
+ scheme:
+
+ <ul>
+ <li>
+ vnd.sun.star.webdav://host:port/&lt;path&gt; where &lt;path&gt; is
+ a hierarchical path of the form &lt;name&gt;/.../&lt;name&gt; and
+ where &lt;name&gt; is a string encoded according to the URL
+ conventions.
+ </li>
+ </ul>
+
+ <p>It is also possible to use standard HTTP-URLs. In this case the
+ implementation will determine by itself, if the requested resource
+ is DAV enabled.
+
+ <p>Examples:
+
+ <ul>
+ <li>
+ vnd.sun.star.webdav://localhost/davhome/ ( a DAV collection )
+ </li>
+ <li>
+ vnd.sun.star.webdav://dav.foo.com/Documents/report.sdw
+ </li>
+ <li>
+ http://dav.foo.com/Documents/report.sdw
+ </li>
+ </ul>
+
+ </p>
+ */
+ interface com::sun::star::ucb::XContentProvider;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/WebDAVDocumentContent.idl b/offapi/com/sun/star/ucb/WebDAVDocumentContent.idl
new file mode 100644
index 000000000..495c47866
--- /dev/null
+++ b/offapi/com/sun/star/ucb/WebDAVDocumentContent.idl
@@ -0,0 +1,167 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_ucb_WebDAVDocumentContent_idl__
+#define __com_sun_star_ucb_WebDAVDocumentContent_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/ucb/XContent.idl>
+#include <com/sun/star/ucb/XCommandProcessor.idl>
+#include <com/sun/star/ucb/XCommandProcessor2.idl>
+#include <com/sun/star/beans/XPropertiesChangeNotifier.idl>
+#include <com/sun/star/beans/XPropertyContainer.idl>
+#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl>
+#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl>
+#include <com/sun/star/container/XChild.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** A DCP Document is a container for Document data/content.
+
+ <p>The data/content may be anything, a WebDAV server, like an HTTP server,
+ does not necessarily mandate what type of data/content may be contained
+ within Documents. The type of data/content is defined by the MediaType
+ property which is different from the content type returned from the
+ XContent::getContentType() method. The MediaType property
+ is mapped to the equivalent WebDAV property and the WebDAV server calculates
+ the value.
+
+ @see com::sun::star::ucb::WebDAVContentProvider
+ @see com::sun::star::ucb::WebDAVFolderContent
+*/
+published service WebDAVDocumentContent
+{
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::ucb::XContent;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+
+ <p>
+
+ <b>Supported Commands</b>
+ <ul>
+ <li>
+ getCommandInfo
+ </li>
+ <li>
+ getPropertySetInfo
+ </li>
+ <li>
+ getPropertyValues
+ </li>
+ <li>
+ setPropertyValues
+ </li>
+ <li>
+ insert ( makes a newly created document persistent )
+ </li>
+ <li>
+ delete
+ </li>
+ <li>
+ open
+ </li>
+ <li>
+ post ( Argument: PostCommandArgument2 - does a HTTP POST )
+ </li>
+ </ul>
+
+ <b>Supported Properties</b>
+ <ul>
+ <li>
+ string ContentType ( read-only, always "application/http-content" )
+ </li>
+ <li>
+ boolean IsDocument ( read-only, always true )
+ </li>
+ <li>
+ boolean IsFolder ( read-only, always false )
+ </li>
+ <li>
+ com::sun::star::util::DateTime DateCreated ( read-only )
+ </li>
+ <li>
+ com::sun::star::util::DateTime DateModified ( read-only )
+ </li>
+ <li>
+ string MediaType ( read-only, the MIME type - as delivered by the server )
+ </li>
+ <li>
+ string Size ( read-only )
+ </li>
+ <li>
+ string Title
+ </li>
+ </ul>
+
+ </p>
+ */
+ interface com::sun::star::ucb::XCommandProcessor;
+
+ /** is an enhanced version of XCommandProcessor that has an
+ additional method for releasing command identifiers obtained via
+ XCommandProcessor::createCommandIdentifier() to avoid
+ resource leaks. For a detailed description of the problem refer to
+ XCommandProcessor2::releaseCommandIdentifier().
+
+ <p>Where many existing Content implementations do not
+ (yet), every new implementation should support this interface.
+ */
+ [optional] interface com::sun::star::ucb::XCommandProcessor2;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertiesChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertyContainer;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertySetInfoChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::ucb::XCommandInfoChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::container::XChild;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/WebDAVFolderContent.idl b/offapi/com/sun/star/ucb/WebDAVFolderContent.idl
new file mode 100644
index 000000000..78cd31d48
--- /dev/null
+++ b/offapi/com/sun/star/ucb/WebDAVFolderContent.idl
@@ -0,0 +1,195 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_ucb_WebDAVFolderContent_idl__
+#define __com_sun_star_ucb_WebDAVFolderContent_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/ucb/XContent.idl>
+#include <com/sun/star/ucb/XCommandProcessor.idl>
+#include <com/sun/star/ucb/XCommandProcessor2.idl>
+#include <com/sun/star/beans/XPropertiesChangeNotifier.idl>
+#include <com/sun/star/beans/XPropertyContainer.idl>
+#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl>
+#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl>
+#include <com/sun/star/container/XChild.idl>
+#include <com/sun/star/ucb/XContentCreator.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** A DCP Folder is a container for other DCP Folders or Documents.
+
+ @see com::sun::star::ucb::WebDAVContentProvider
+ @see com::sun::star::ucb::WebDAVDocumentContent
+*/
+published service WebDAVFolderContent
+{
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::ucb::XContent;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+
+ <p>
+
+ <b>Supported Commands</b>
+ <ul>
+ <li>
+ getCommandInfo
+ </li>
+ <li>
+ getPropertySetInfo
+ </li>
+ <li>
+ getPropertyValues
+ </li>
+ <li>
+ setPropertyValues
+ </li>
+ <li>
+ insert ( makes a newly created folder persistent )
+ </li>
+ <li>
+ delete
+ </li>
+ <li>
+ open
+ </li>
+ <li>
+ transfer ( only transfers from DCP Folders/DCP Documents to other
+ DCP folders. Source and target must reside on the same server. )
+ </li>
+ </ul>
+
+ <b>Supported Properties</b>
+ <ul>
+ <li>
+ string ContentType ( read-only, always "application/vnd.sun.star.webdav-collection" )
+ </li>
+ <li>
+ boolean IsDocument ( read-only, always false )
+ </li>
+ <li>
+ boolean IsFolder ( read-only, always true )
+ </li>
+ <li>
+ com::sun::star::util::DateTime DateCreated ( read-only )
+ </li>
+ <li>
+ com::sun::star::util::DateTime DateModified ( read-only )
+ </li>
+ <li>
+ string MediaType
+ </li>
+ <li>
+ string Size ( read-only, always zero )
+ </li>
+ <li>
+ string Title
+ </li>
+ </ul>
+
+ </p>
+ */
+ interface com::sun::star::ucb::XCommandProcessor;
+
+ /** is an enhanced version of XCommandProcessor that has an
+ additional method for releasing command identifiers obtained via
+ XCommandProcessor::createCommandIdentifier() to avoid
+ resource leaks. For a detailed description of the problem refer to
+ XCommandProcessor2::releaseCommandIdentifier().
+
+ <p>Where many existing Content implementations do not
+ (yet), every new implementation should support this interface.
+ */
+ [optional] interface com::sun::star::ucb::XCommandProcessor2;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertiesChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertyContainer;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertySetInfoChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::ucb::XCommandInfoChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::container::XChild;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+
+ <p>
+
+ A DCP Folder can create other DCP Folders and DCP Documents. To create
+ a new child of a PCP Folder:
+
+ <ol>
+ <li>
+ Let the parent folder create a new content by calling
+ XContentCreator::createNewContent() on it. The content
+ type to use for new folders is
+ "application/vnd.sun.star.webdav-collection". To create a new DCP
+ Document, use the type "application/http-content".
+ </li>
+ <li>
+ Set a title at the new folder / document. ( Let the new child execute
+ the command "setPropertyValues", which sets at least the property
+ "Title" to a non-empty value ).
+ </li>
+ <li>
+ Let the new child ( not the parent! ) execute the command "insert".
+ This will commit the creation process and persist the newly created
+ content on the server. For documents, you need to supply the
+ implementation of a com::sun::star::io::XInputStream
+ with the command's parameters, that provides access to the stream data.
+ </li>
+ </ol>
+
+ </p>
+ */
+ interface com::sun::star::ucb::XContentCreator;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/WebDAVHTTPMethod.idl b/offapi/com/sun/star/ucb/WebDAVHTTPMethod.idl
new file mode 100644
index 000000000..209b4ca4a
--- /dev/null
+++ b/offapi/com/sun/star/ucb/WebDAVHTTPMethod.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_ucb_WebDAVHTTPMethod_idl__
+#define __com_sun_star_ucb_WebDAVHTTPMethod_idl__
+
+module com { module sun { module star { module ucb {
+
+
+/** Standard WebDAV/HTTP methods.
+
+ @since Apache OpenOffice 4.0, LibreOffice 4.2
+*/
+enum WebDAVHTTPMethod
+{
+ /** HTTP request method as defined in
+ <a target="_blank" href="http://tools.ietf.org/html/rfc2616#section-9.3">RFC 2616: Hypertext Transfer Protocol -- HTTP/1.1</a>
+ */
+ GET,
+
+ /** HTTP request method as defined in
+ <a target="_blank" href="http://tools.ietf.org/html/rfc2616#section-9.4">RFC 2616: Hypertext Transfer Protocol -- HTTP/1.1</a>
+ */
+ HEAD,
+
+ /** HTTP request method as defined in
+ <a target="_blank" href="http://tools.ietf.org/html/rfc2616#section-9.5">RFC 2616: Hypertext Transfer Protocol -- HTTP/1.1</a>
+ */
+ POST,
+
+ /** HTTP request method as defined in
+ <a target="_blank" href="http://tools.ietf.org/html/rfc2616#section-9.6">RFC 2616: Hypertext Transfer Protocol -- HTTP/1.1</a>
+ */
+ PUT,
+
+ /** HTTP request method as defined in
+ <a target="_blank" href="http://tools.ietf.org/html/rfc2616#section-9.7">RFC 2616: Hypertext Transfer Protocol -- HTTP/1.1</a>
+ */
+ DELETE,
+
+ /** HTTP request method as defined in
+ <a target="_blank" href="http://tools.ietf.org/html/rfc2616#section-9.8">RFC 2616: Hypertext Transfer Protocol -- HTTP/1.1</a>
+ */
+ TRACE,
+
+ /** HTTP request method as defined in
+ <a target="_blank" href="http://tools.ietf.org/html/rfc2616#section-9.2">RFC 2616: Hypertext Transfer Protocol -- HTTP/1.1</a>
+ */
+ OPTIONS,
+
+ /** HTTP request method as defined in
+ <a target="_blank" href="http://tools.ietf.org/html/rfc2616#section-9.9">RFC 2616: Hypertext Transfer Protocol -- HTTP/1.1</a>
+ */
+ CONNECT,
+
+ /** HTTP request method as defined in
+ <a target="_blank" href="http://tools.ietf.org/html/rfc5789">RFC 5789: PATCH Method for HTTP</a>
+ */
+ PATCH,
+
+ /** WebDAV methods as defined in
+ <a target="_blank" href="http://tools.ietf.org/html/rfc4918#section-9.1">HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)</a>
+ */
+ PROPFIND,
+
+ /** WebDAV methods as defined in
+ <a target="_blank" href="http://tools.ietf.org/html/rfc4918#section-9.2">HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)</a>
+ */
+ PROPPATCH,
+
+ /** WebDAV methods as defined in
+ <a target="_blank" href="http://tools.ietf.org/html/rfc4918#section-9.3">HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)</a>
+ */
+ MKCOL,
+
+ /** WebDAV methods as defined in
+ <a target="_blank" href="http://tools.ietf.org/html/rfc4918#section-9.8">HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)</a>
+ */
+ COPY,
+
+ /** WebDAV methods as defined in
+ <a target="_blank" href="http://tools.ietf.org/html/rfc4918#section-9.9">HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)</a>
+ */
+ MOVE,
+
+ /** WebDAV methods as defined in
+ <a target="_blank" href="http://tools.ietf.org/html/rfc4918#section-9.10">HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)</a>
+ */
+ LOCK,
+
+ /** WebDAV methods as defined in
+ <a target="_blank" href="http://tools.ietf.org/html/rfc4918#section-9.11">HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)</a>
+ */
+ UNLOCK
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/WelcomeDynamicResultSetStruct.idl b/offapi/com/sun/star/ucb/WelcomeDynamicResultSetStruct.idl
new file mode 100644
index 000000000..ce6b78af5
--- /dev/null
+++ b/offapi/com/sun/star/ucb/WelcomeDynamicResultSetStruct.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_ucb_WelcomeDynamicResultSetStruct_idl__
+#define __com_sun_star_ucb_WelcomeDynamicResultSetStruct_idl__
+
+#include <com/sun/star/sdbc/XResultSet.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** This struct is to be contained in the first notification of an
+ XDynamicResultSet.
+
+ @see XDynamicResultSet
+ @see ListEvent
+ @see ListAction
+ @see ListActionType
+*/
+
+published struct WelcomeDynamicResultSetStruct
+{
+ /** The static result set containing the previous version of result set data.
+ */
+ com::sun::star::sdbc::XResultSet Old;
+
+ /** The static result set containing the new version of result set data.
+ */
+ com::sun::star::sdbc::XResultSet New;
+};
+
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XAnyCompare.idl b/offapi/com/sun/star/ucb/XAnyCompare.idl
new file mode 100644
index 000000000..cac854fd5
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XAnyCompare.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_ucb_XAnyCompare_idl__
+#define __com_sun_star_ucb_XAnyCompare_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** compares two `any`s.
+*/
+
+published interface XAnyCompare: com::sun::star::uno::XInterface
+{
+ /** allows comparison of two `any`s.
+
+ @param Any1
+ is the first compare value
+
+ @param Any2
+ is the second compare value
+
+ @returns
+ <ul>
+ <li>
+ <code>-1</code>, if the first any is less than the second ( Any1 &lt; Any2 )
+ </li>
+ <li>
+ <code>0</code>, if the first any is equal to the second ( Any1 == Any2 )
+ </li>
+ <li>
+ <code>+1</code>, if the first any is greater than the second ( Any1 &gt; Any2 )
+ </li>
+ </ul>
+ */
+
+ short compare( [in] any Any1, [in] any Any2 );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XAnyCompareFactory.idl b/offapi/com/sun/star/ucb/XAnyCompareFactory.idl
new file mode 100644
index 000000000..1fb0956b3
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XAnyCompareFactory.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_ucb_XAnyCompareFactory_idl__
+#define __com_sun_star_ucb_XAnyCompareFactory_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/ucb/XAnyCompare.idl>
+#include <com/sun/star/beans/Property.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** creates an XAnyCompare instance.
+*/
+
+published interface XAnyCompareFactory: com::sun::star::uno::XInterface
+{
+ /** creates an XAnyCompare instance.
+
+ @param PropertyName
+ is the name of a property
+
+ @returns
+ a compare interface
+ */
+ com::sun::star::ucb::XAnyCompare createAnyCompareByName(
+ [in] string PropertyName );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XCachedContentResultSetFactory.idl b/offapi/com/sun/star/ucb/XCachedContentResultSetFactory.idl
new file mode 100644
index 000000000..b29629a58
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XCachedContentResultSetFactory.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_ucb_XCachedContentResultSetFactory_idl__
+#define __com_sun_star_ucb_XCachedContentResultSetFactory_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/sdbc/XResultSet.idl>
+#include <com/sun/star/ucb/XContentIdentifierMapping.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** creates a CachedContentResultSet.
+*/
+
+published interface XCachedContentResultSetFactory: com::sun::star::uno::XInterface
+{
+ /** creates a remote optimized
+ com::sun::star::sdbc::XResultSet.
+
+ @param xSource
+ must be an instance of service CachedContentResultSetStub.
+
+ @param xMapping
+ can be used for optimization of remote access via the interface
+ XContentAccess of the CachedContentResultSet.
+ This parameter can be `NULL`.
+
+ @returns
+ an instance of service CachedContentResultSet.
+ */
+ com::sun::star::sdbc::XResultSet createCachedContentResultSet(
+ [in] com::sun::star::sdbc::XResultSet xSource,
+ [in] com::sun::star::ucb::XContentIdentifierMapping xMapping );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XCachedContentResultSetStubFactory.idl b/offapi/com/sun/star/ucb/XCachedContentResultSetStubFactory.idl
new file mode 100644
index 000000000..dd9fa74cc
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XCachedContentResultSetStubFactory.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_ucb_XCachedContentResultSetStubFactory_idl__
+#define __com_sun_star_ucb_XCachedContentResultSetStubFactory_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/sdbc/XResultSet.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** creates a CachedContentResultSetStub.
+*/
+
+published interface XCachedContentResultSetStubFactory: com::sun::star::uno::XInterface
+{
+ /** creates a remote optimized
+ com::sun::star::sdbc::XResultSet.
+
+ @param xSource
+ must be an instance of service ContentResultSet.
+
+ @returns
+ an instance of service CachedContentResultSetStub.
+ */
+ com::sun::star::sdbc::XResultSet createCachedContentResultSetStub(
+ [in] com::sun::star::sdbc::XResultSet xSource );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XCachedDynamicResultSetFactory.idl b/offapi/com/sun/star/ucb/XCachedDynamicResultSetFactory.idl
new file mode 100644
index 000000000..23be7fcc8
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XCachedDynamicResultSetFactory.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_ucb_XCachedDynamicResultSetFactory_idl__
+#define __com_sun_star_ucb_XCachedDynamicResultSetFactory_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/ucb/XDynamicResultSet.idl>
+#include <com/sun/star/ucb/XContentIdentifierMapping.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** creates a CachedDynamicResultSet.
+
+ <p>Pay attention to instantiate this helper on client side where your want
+ to read the data respectively where you have instantiated the listener to
+ the XDynamicResultSet.
+
+ <p>The needed stub on server side can be created using
+ XCachedDynamicResultSetStubFactory.
+*/
+
+published interface XCachedDynamicResultSetFactory: com::sun::star::uno::XInterface
+{
+ /** creates a remote optimizes XDynamicResultSet.
+
+ @param SourceStub
+ must be an instance of service CachedDynamicResultSetStub.
+ It can be `NULL`. In this case you can use the interface
+ XSourceInitialization of the returned
+ CachedDynamicResultSet to set the stub later.
+
+ @param ContentIdentifierMapping
+ is not required, but can be set if it is necessary to change the
+ identity of the contents accessible via the interface
+ XContentAccess of the ContentResultSet
+ (e.g., if merging two sources of the same type).
+
+ @returns
+ an instance of service CachedDynamicResultSet.
+ */
+ com::sun::star::ucb::XDynamicResultSet createCachedDynamicResultSet(
+ [in] com::sun::star::ucb::XDynamicResultSet SourceStub
+ , [in] com::sun::star::ucb::XContentIdentifierMapping ContentIdentifierMapping );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XCachedDynamicResultSetStubFactory.idl b/offapi/com/sun/star/ucb/XCachedDynamicResultSetStubFactory.idl
new file mode 100644
index 000000000..ab31a085a
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XCachedDynamicResultSetStubFactory.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_ucb_XCachedDynamicResultSetStubFactory_idl__
+#define __com_sun_star_ucb_XCachedDynamicResultSetStubFactory_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/ucb/XDynamicResultSet.idl>
+#include <com/sun/star/ucb/NumberedSortingInfo.idl>
+#include <com/sun/star/ucb/XAnyCompareFactory.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** creates a CachedDynamicResultSetStub and connects a non-remote
+ optimized DynamicResultSet to a remote optimized
+ CachedDynamicResultSet.
+
+ <p>Pay attention to instantiate this helper on server side where your source
+ DynamicResultSet was instantiated.
+
+ <p>Method
+ XCachedDynamicResultSetStubFactory::createCachedDynamicResultSetStub()
+ can be used to create a stub on server side.
+
+ <p>If you have instantiated a CachedDynamicResultSet on client
+ side already, use method connectToCache() to connect your
+ given DynamicResultSet with this Cache.
+
+ <p>The needed cache on server side you can create using
+ XCachedDynamicResultSetFactory.
+*/
+
+published interface XCachedDynamicResultSetStubFactory: com::sun::star::uno::XInterface
+{
+ /** creates a remote optimizes XDynamicResultSet.
+
+ @param Source
+ must be an instance of service DynamicResultSet.
+
+ @returns
+ an instance of service CachedDynamicResultSetStub.
+ */
+
+ com::sun::star::ucb::XDynamicResultSet createCachedDynamicResultSetStub(
+ [in] com::sun::star::ucb::XDynamicResultSet Source );
+
+ /** If you have instantiated a CachedDynamicResultSet on
+ client side already, use this to connect your given Source on server
+ side to the TargetCache.
+
+ @param Source
+ is an instance of service DynamicResultSet.
+
+ @param TargetCache
+ is an instance of service CachedDynamicResultSet.
+
+ @param SortingInfo
+ can be an empty sequence. Otherwise, Source will be sorted according
+ to the given sorting data.
+
+ @param CompareFactory
+ will be ignored unless SortingInfo is not empty. Then the supplied
+ factory will be used to instantiate objects used to compare the
+ properties that are involved in sorting.
+
+ @throws ListenerAlreadySetException
+ if \p Source is already in use.
+
+ @throws AlreadyInitializedException
+ if \p TargetCache already has been initialized.
+ */
+ void connectToCache(
+ [in] com::sun::star::ucb::XDynamicResultSet Source
+ , [in] com::sun::star::ucb::XDynamicResultSet TargetCache
+ , [in] sequence< com::sun::star::ucb::NumberedSortingInfo > SortingInfo
+ , [in] com::sun::star::ucb::XAnyCompareFactory CompareFactory
+ )
+ raises(
+ com::sun::star::ucb::ListenerAlreadySetException
+ , com::sun::star::ucb::AlreadyInitializedException
+ );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XCommandEnvironment.idl b/offapi/com/sun/star/ucb/XCommandEnvironment.idl
new file mode 100644
index 000000000..eb43af9c7
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XCommandEnvironment.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_ucb_XCommandEnvironment_idl__
+#define __com_sun_star_ucb_XCommandEnvironment_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/task/XInteractionHandler.idl>
+#include <com/sun/star/ucb/XProgressHandler.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** defines the environment for a command.
+
+ @version 1.0
+ @see XCommandProcessor
+*/
+published interface XCommandEnvironment : com::sun::star::uno::XInterface
+{
+ /** returns the command's interaction handler.
+
+ <p>If called multiple times, this method should consistently return the
+ same value (to allow caching).
+
+ @returns
+ an interaction handler
+ */
+ com::sun::star::task::XInteractionHandler getInteractionHandler();
+
+ /** returns the command's progress handler.
+
+ <p>If called multiple times, this method should consistently return the
+ same value (to allow caching).
+
+ @returns
+ a progress handler
+ */
+ com::sun::star::ucb::XProgressHandler getProgressHandler();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XCommandInfo.idl b/offapi/com/sun/star/ucb/XCommandInfo.idl
new file mode 100644
index 000000000..2267157da
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XCommandInfo.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_ucb_XCommandInfo_idl__
+#define __com_sun_star_ucb_XCommandInfo_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/ucb/CommandInfo.idl>
+#include <com/sun/star/ucb/UnsupportedCommandException.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** provides access to information on a set of commands.
+
+ @version 1.0
+*/
+published interface XCommandInfo: com::sun::star::uno::XInterface
+{
+ /** obtains information for all supported commands.
+
+ @returns
+ a sequence with information for all supported commands.
+ */
+ sequence<com::sun::star::ucb::CommandInfo> getCommands();
+
+ /** returns information for a specific command.
+
+ @returns
+ the information for the requested command.
+
+ @param Name
+ specifies the name of the requested command.
+
+ @throws UnsupportedCommandException
+ if the command is not supported.
+ */
+ com::sun::star::ucb::CommandInfo getCommandInfoByName( [in] string Name )
+ raises( com::sun::star::ucb::UnsupportedCommandException );
+
+ /** returns information for a specific command.
+
+ @returns
+ the information for the requested command.
+
+ @param Handle
+ specifies the handle of the requested command.
+
+ @throws UnsupportedCommandException
+ if the command is not supported.
+ */
+ com::sun::star::ucb::CommandInfo getCommandInfoByHandle( [in] long Handle )
+ raises( com::sun::star::ucb::UnsupportedCommandException );
+
+ /** checks whether a command specific is supported.
+
+ @returns
+ `TRUE` if a command with the specified name is supported;
+ otherwise `FALSE` is returned.
+
+ @param Name
+ specifies the name of the requested command.
+ */
+ boolean hasCommandByName( [in] string Name );
+
+ /** checks whether a specific command is supported.
+
+ @returns
+ `TRUE` if a command with the specified handle is supported;
+ otherwise `FALSE` is returned.
+
+ @param Handle
+ specifies the handle of the requested command.
+ */
+ boolean hasCommandByHandle( [in] long Handle );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XCommandInfoChangeListener.idl b/offapi/com/sun/star/ucb/XCommandInfoChangeListener.idl
new file mode 100644
index 000000000..6da2de836
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XCommandInfoChangeListener.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_ucb_XCommandInfoChangeListener_idl__
+#define __com_sun_star_ucb_XCommandInfoChangeListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+#include <com/sun/star/ucb/CommandInfoChangeEvent.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** a listener for events related to changing XCommandInfos.
+
+ @version 1.0
+ @see CommandInfoChangeEvent
+ @see XCommandInfoChangeNotifier
+*/
+published interface XCommandInfoChangeListener : com::sun::star::lang::XEventListener
+{
+ /** gets called whenever changes of a XCommandInfo shall
+ be propagated.
+
+ @param evt
+ the event.
+ */
+ void commandInfoChange( [in] CommandInfoChangeEvent evt );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XCommandInfoChangeNotifier.idl b/offapi/com/sun/star/ucb/XCommandInfoChangeNotifier.idl
new file mode 100644
index 000000000..c9ca0d1f4
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XCommandInfoChangeNotifier.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_ucb_XCommandInfoChangeNotifier_idl__
+#define __com_sun_star_ucb_XCommandInfoChangeNotifier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/ucb/XCommandInfoChangeListener.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** a notifier for changes of XCommandInfos.
+
+ @version 1.0
+ @see CommandInfoChangeEvent
+ @see XCommandInfoChangeListener
+*/
+published interface XCommandInfoChangeNotifier : com::sun::star::uno::XInterface
+{
+ /** registers a listener for CommandInfoChangeEvents.
+
+ @param Listener
+ the listener to add.
+ */
+ void addCommandInfoChangeListener(
+ [in] XCommandInfoChangeListener Listener );
+
+ /** removes a listener for CommandInfoChangeEvents.
+
+ @param Listener
+ the listener to remove.
+ */
+ void removeCommandInfoChangeListener(
+ [in] XCommandInfoChangeListener Listener );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XCommandProcessor.idl b/offapi/com/sun/star/ucb/XCommandProcessor.idl
new file mode 100644
index 000000000..df82f435f
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XCommandProcessor.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_ucb_XCommandProcessor_idl__
+#define __com_sun_star_ucb_XCommandProcessor_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/ucb/XCommandEnvironment.idl>
+#include <com/sun/star/ucb/Command.idl>
+#include <com/sun/star/ucb/CommandAbortedException.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** defines a processor for synchronous commands, which are executed in a
+ specific execution environment.
+
+ @version 1.0
+
+ @see com::sun::star::ucb::XCommandProcessor2
+ for the improved version of this interface.
+
+ @see Command
+ @see XCommandEnvironment
+ @see XContent
+*/
+published interface XCommandProcessor : com::sun::star::uno::XInterface
+{
+ /** creates a unique identifier for a command.
+
+ <p>This identifier can be used to abort the execution of the command
+ associated with that identifier. Note that it is generally not
+ necessary to obtain a new id for each command, because commands are
+ executed synchronously. So the id for a command is valid again after a
+ command previously associated with this id has finished. In fact you
+ only should get one identifier per thread and assign it to every
+ command executed by that thread.</p>
+
+ <p>Also, after a call to XCommandProcessor::abort(), an
+ identifier should not be used any longer (and instead be released by a
+ call to XCommandProcessor2::releaseCommandIdentifier()),
+ because it may well abort <em>all</em> further calls to
+ XCommandProcessor::execute().</p>
+
+ <p>To avoid ever-increasing resource consumption, the identifier
+ should be released via
+ XCommandProcessor2::releaseCommandIdentifier()
+ when it is no longer used.</p>
+
+ @returns
+ a command identifier.
+ */
+ long createCommandIdentifier();
+
+ /** executes a command.
+
+ <p>Common command definitions can be found in the specification of the
+ service Content.
+
+ @param aCommand
+ is the command to execute.
+
+ @param CommandId
+ is a unique id for the command. This identifier was obtained by calling
+ XCommandProcessor::createCommandIdentifier(). A value of
+ zero can be used, if the command never shall be aborted. Different
+ threads MUST NOT share one command identifier (except <code>0</code>).
+ This can easily achieved, if every thread that wants to use an
+ XCommandProcessor, obtains exactly one identifier
+ using XCommandProcessor::createCommandIdentifier().
+ This identifier can be used for every call to
+ XCommandProcessor::execute() done by that thread.
+
+ @param Environment
+ is the execution environment.
+
+ @returns
+ the result according to the specification of the command.
+
+ @throws CommandAbortedException
+ to indicate that the command was aborted.
+
+ @throws DuplicateCommandIdentifierException
+ to indicate that two threads tried to use the same command identifier
+
+ @throws Exception
+ if an error occurred during the execution of the command.
+ */
+ any execute( [in] Command aCommand,
+ [in] long CommandId,
+ [in] XCommandEnvironment Environment )
+ raises ( com::sun::star::uno::Exception, CommandAbortedException );
+
+ /** ends the command associated with the given id.
+
+ <p>Not every command can be aborted. It's up to the implementation
+ to decide whether this method will actually end the processing of
+ the command or simply do nothing.
+
+ @param CommandId
+ is a unique id for the command to abort. This must be the identifier
+ passed to XCommandProcessor::execute() for the command
+ to abort.
+ */
+ void abort( [in] long CommandId );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XCommandProcessor2.idl b/offapi/com/sun/star/ucb/XCommandProcessor2.idl
new file mode 100644
index 000000000..0ad842e92
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XCommandProcessor2.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_ucb_XCommandProcessor2_idl__
+#define __com_sun_star_ucb_XCommandProcessor2_idl__
+
+#include <com/sun/star/ucb/XCommandProcessor.idl>
+
+module com { module sun { module star { module ucb {
+
+/** An improved version of a
+ com::sun::star::ucb::XCommandProcessor that helps avoid
+ ever-increasing resource consumption.
+ */
+published interface XCommandProcessor2: com::sun::star::ucb::XCommandProcessor
+{
+ /** releases a command identifier obtained through
+ XCommandProcessor::createCommandIdentifier() when it is
+ no longer used.
+
+ <p>After this call the command identifier cannot be used any longer in
+ calls to XCommandProcessor::execute() and
+ XCommandProcessor::abort(). (But it can happen that a
+ call to XCommandProcessor::createCommandIdentifier()
+ reuses this identifier.)</p>
+
+ @param CommandId
+ A command identifier obtained through
+ XCommandProcessor::createCommandIdentifier(). If the
+ identifier is zero, the request is silently ignored; but if the
+ identifier is invalid (not obtained via
+ XCommandProcessor::createCommandIdentifier() or already
+ handed to XCommandProcessor2::releaseCommandIdentifier()
+ before), the behavior is undefined.
+ */
+ void releaseCommandIdentifier([in] long CommandId);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XContent.idl b/offapi/com/sun/star/ucb/XContent.idl
new file mode 100644
index 000000000..8b4a86251
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XContent.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_ucb_XContent_idl__
+#define __com_sun_star_ucb_XContent_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/ucb/XContentIdentifier.idl>
+#include <com/sun/star/ucb/XContentEventListener.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** specifies a content with a type and an identifier, which is able to manage
+ listeners for events that are related to contents.
+
+ @version 1.0
+ @see XContentIdentifier
+ @see XContentEventListener
+*/
+published interface XContent: com::sun::star::uno::XInterface
+{
+ /** returns the identifier of the content.
+
+ @returns
+ the identifier.
+ */
+ com::sun::star::ucb::XContentIdentifier getIdentifier();
+
+ /** returns a type string, which is unique for that type of content (e.g.
+ "application/vnd.sun.star.hierarchy-folder").
+
+ @returns
+ the content type string.
+ */
+ string getContentType();
+
+ /** adds a listener for content events.
+
+ @param Listener
+ the listener to add.
+
+ @see ContentEvent
+ */
+ void addContentEventListener(
+ [in] com::sun::star::ucb::XContentEventListener Listener );
+
+ /** removes a listener for content events.
+
+ @param Listener
+ the listener to remove.
+
+ @see ContentEvent
+ */
+ void removeContentEventListener(
+ [in] com::sun::star::ucb::XContentEventListener Listener );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XContentAccess.idl b/offapi/com/sun/star/ucb/XContentAccess.idl
new file mode 100644
index 000000000..62a34bf4f
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XContentAccess.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_ucb_XContentAccess_idl__
+#define __com_sun_star_ucb_XContentAccess_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module ucb {
+
+ published interface XContent;
+ published interface XContentIdentifier;
+
+/** specifies methods for obtaining information on a content in different
+ levels.
+
+ <p>For example, if there is a cursor which points to XContents,
+ this interface could be used to give the user access to the content under
+ the cursor. If the client only needs the identifier string of the content,
+ there is no need to first create the content object, then to obtain the
+ string from it and after that to release the content.
+
+ @version 1.0
+ @see XContent
+ @see XContentIdentifier
+*/
+
+published interface XContentAccess : com::sun::star::uno::XInterface
+{
+ /** returns the identifier string of the content ( "cheap method" ).
+
+ <p>Note that this string can be used later to recreate the content.
+
+ @returns
+ the identifier string.
+ */
+ string queryContentIdentifierString();
+
+ /** returns the identifier object of the content.
+
+ @returns
+ the identifier object.
+ */
+ XContentIdentifier queryContentIdentifier();
+
+ /** returns the content ( "most expensive method" ).
+
+ @returns
+ the content.
+ */
+ XContent queryContent();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XContentCreator.idl b/offapi/com/sun/star/ucb/XContentCreator.idl
new file mode 100644
index 000000000..1283ac07a
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XContentCreator.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_ucb_XContentCreator_idl__
+#define __com_sun_star_ucb_XContentCreator_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/ucb/ContentInfo.idl>
+#include <com/sun/star/ucb/XContent.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** A creator for new (persistent) contents, like file system folders.
+
+ <p>Creation of a new (persistent) content:
+ <ol>
+ <li>creatabletypes = creator.queryCreatableContentsInfo()
+ <li>choose a suitable type from creatabletypes
+ <li>newObject = creator.createNewContent( type )
+ <li>initialize the new object (i.e. newObject.Property1 = ...)
+ <li>let the new content execute the command "insert". That command
+ commits the data and makes the new content persistent.
+ </ol>
+
+ @deprecated
+
+ <p>This interface is deprecated. Use Content property
+ "CreatableContentsInfo" and command "createNewContent" instead.
+
+ @version 1.0
+ @see XContent
+ @see XCommandProcessor
+*/
+published interface XContentCreator: com::sun::star::uno::XInterface
+{
+ /** returns a list with information about the creatable contents.
+
+ @returns
+ the list with information about the creatable contents.
+ */
+ sequence<com::sun::star::ucb::ContentInfo> queryCreatableContentsInfo();
+
+ /** creates a new content of given type.
+
+ @param Info
+ the content information.
+
+ @returns
+ the new content, if operation was successful.
+ */
+ com::sun::star::ucb::XContent createNewContent(
+ [in] com::sun::star::ucb::ContentInfo Info );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XContentEventListener.idl b/offapi/com/sun/star/ucb/XContentEventListener.idl
new file mode 100644
index 000000000..61cd24d77
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XContentEventListener.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_ucb_XContentEventListener_idl__
+#define __com_sun_star_ucb_XContentEventListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+#include <com/sun/star/ucb/ContentEvent.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** a listener for events related to XContents.
+
+ @version 1.0
+ @see XContent
+*/
+published interface XContentEventListener: com::sun::star::lang::XEventListener
+{
+ /** gets called whenever a content wishes to notify changes.
+
+ @param evt
+ the event.
+ */
+ void contentEvent( [in] ContentEvent evt );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XContentIdentifier.idl b/offapi/com/sun/star/ucb/XContentIdentifier.idl
new file mode 100644
index 000000000..e1d6dbe4c
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XContentIdentifier.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_ucb_XContentIdentifier_idl__
+#define __com_sun_star_ucb_XContentIdentifier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** An identifier for contents.
+
+ @version 1.0
+ @see XContent
+*/
+published interface XContentIdentifier: com::sun::star::uno::XInterface
+{
+ /** returns the content identifier string.
+
+ @returns
+ the content identifier string. This must be a valid URI
+ (Uniform Resource Identifier, see RFC 2396). This string
+ is required. If a content provider "implements" some
+ existent URI scheme (e.g., a content provider offering
+ access to a file system would implement the "file" scheme,
+ and a content provider offering access to IMAP servers
+ would implement the "imap" scheme), the content identifier
+ strings should use that scheme. If on the other hand a
+ content provider offers access to content for which no
+ appropriate URI scheme exists, a vendor-specific URL scheme
+ starting with "vnd." must be created (see the Internet Draft
+ draft-king-vnd-urlscheme-00.txt).
+ */
+ string getContentIdentifier();
+
+ /** returns the content provider scheme string.
+
+ <p>This string will be calculated from the content identifier string
+ and must be lower-cased(!). It is the "scheme" the content provider is
+ registered for. In example, a provider for FTP contents will use
+ ftp-URLs as content identifiers. The content provider scheme for all
+ contents provided by that provider will be "ftp".
+ </p>
+
+ @returns
+ the content provider scheme string.
+ */
+ string getContentProviderScheme();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XContentIdentifierFactory.idl b/offapi/com/sun/star/ucb/XContentIdentifierFactory.idl
new file mode 100644
index 000000000..570b53f32
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XContentIdentifierFactory.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_ucb_XContentIdentifierFactory_idl__
+#define __com_sun_star_ucb_XContentIdentifierFactory_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/ucb/XContentIdentifier.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** A factory for content identifiers.
+
+ @version 1.0
+ @see XContentIdentifier
+*/
+published interface XContentIdentifierFactory: com::sun::star::uno::XInterface
+{
+ /** creates an identifier.
+
+ @param ContentId
+ the content identifier string.
+
+ @returns
+ the identifier.
+ */
+ com::sun::star::ucb::XContentIdentifier createContentIdentifier( [in] string ContentId );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XContentIdentifierMapping.idl b/offapi/com/sun/star/ucb/XContentIdentifierMapping.idl
new file mode 100644
index 000000000..3bf1dd3df
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XContentIdentifierMapping.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_ucb_XContentIdentifierMapping_idl__
+#define __com_sun_star_ucb_XContentIdentifierMapping_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module ucb {
+
+ published interface XContent;
+ published interface XContentIdentifier;
+
+/** A mapping from a (source) set of XContentIdentifiers to
+ another (target) set of XContentIdentifiers.
+
+ <p>For convenience and performance, mapping between the string
+ representations of source/target XContentIdentifiers, as well as mapping
+ between XContents identified by source/target
+ XContentIdentifiers is also supported.
+
+ <p>This interface can be useful in cases where the identifiers (and
+ associated contents) returned by the various methods of an
+ XContentAccess need to be mapped to some other space of
+ identifiers (and associated contents).
+
+ @see XContent
+ @see XContentAccess
+ @see XContentIdentifier
+*/
+
+published interface XContentIdentifierMapping: com::sun::star::uno::XInterface
+{
+ /** Map the string representation of an XContentIdentifier.
+
+ @param Source The string representation of an XContentIdentifier
+ from the source set.
+
+ @returns The string representation of the target set's
+ XContentIdentifier corresponding to the source identifier. The
+ returned string may be empty if either Source was empty already, or if
+ there's no applicable target to map to.
+ */
+ string mapContentIdentifierString([in] string Source);
+
+ /** Map an XContentIdentifier.
+
+ @param Source An XContentIdentifier from the source set.
+
+ @returns The target set's XContentIdentifier corresponding to the
+ source identifier. The returned XContentIdentifier may be null if
+ either Source was null already, or if there's no applicable target to
+ map to.
+ */
+ XContentIdentifier mapContentIdentifier([in] XContentIdentifier Source);
+
+ /** Map the XContent identified by an
+ XContentIdentifier.
+
+ @param Source The XContent identified by an XContentIdentifier from
+ the source set.
+
+ @returns The XContent identified by the target set's
+ XContentIdentifier corresponding to the source identifier. The
+ returned XContent may be null if either Source was null already, or if
+ there's no applicable target to map to.
+ */
+ XContent mapContent([in] XContent Source);
+
+ /** Map the content identifiers (or related data) contained in the columns
+ of a com::sun::star::sdbc::XRow.
+
+ @param Value On input, a sequence of anys corresponding to the columns
+ of the XRow (the first column goes into the zeroth position of the
+ sequence, and so on). On output, the same sequence, but with the
+ entries mapped as necessary. This is an inout parameter rather than a
+ combination of in parameter and return value for performance reasons
+ (assuming that in most cases most elements in the input sequence will
+ be returned unmodified).
+
+ @returns `TRUE` if any of the columns contain data that (potentially)
+ needs mapping (though maybe no mapping occurred for the concrete input
+ data of this call). This information can be useful to decide whether,
+ for another row, a call to this function is at all necessary.
+ */
+ boolean mapRow([inout] sequence< any > Value);
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XContentProvider.idl b/offapi/com/sun/star/ucb/XContentProvider.idl
new file mode 100644
index 000000000..7a3b11606
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XContentProvider.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_ucb_XContentProvider_idl__
+#define __com_sun_star_ucb_XContentProvider_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/ucb/XContentIdentifier.idl>
+#include <com/sun/star/ucb/XContent.idl>
+#include <com/sun/star/ucb/IllegalIdentifierException.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** a content provider which creates and manages XContents.
+
+ @version 1.0
+ @see XContent
+ @see XContentIdentifier
+*/
+published interface XContentProvider: com::sun::star::uno::XInterface
+{
+ /** creates a new XContent instance, if the given
+ XContentIdentifier matches a content provided by the
+ implementation of this interface.
+
+ @param Identifier
+ an identifier for the content to query.
+
+ @returns
+ the content.
+
+ @throws IllegalIdentifierException
+ if the given identifier does not match a content provided by the
+ implementation of this interface
+ */
+ com::sun::star::ucb::XContent queryContent(
+ [in] com::sun::star::ucb::XContentIdentifier Identifier )
+ raises ( com::sun::star::ucb::IllegalIdentifierException );
+
+ /** compares two XContentIdentifiers.
+
+ @param Id1
+ first content identifier.
+
+ @param Id2
+ second content identifier.
+
+ @returns
+ <code>0</code> is returned, if the identifiers are equal.
+ A value less than <code>0</code> indicates, that the Id1
+ is less than Id2. A value greater than <code>0</code>
+ is returned, if Id1 is greater than Id2.
+ */
+ long compareContentIds(
+ [in] com::sun::star::ucb::XContentIdentifier Id1,
+ [in] com::sun::star::ucb::XContentIdentifier Id2 );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XContentProviderFactory.idl b/offapi/com/sun/star/ucb/XContentProviderFactory.idl
new file mode 100644
index 000000000..f0ae2d265
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XContentProviderFactory.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_ucb_XContentProviderFactory_idl__
+#define __com_sun_star_ucb_XContentProviderFactory_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/ucb/XContentProvider.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** a factory for a XContentProvider.
+
+ @version 1.0
+ @see XContentProvider
+*/
+published interface XContentProviderFactory : com::sun::star::uno::XInterface
+{
+ /** creates a XContentProvider implementation object.
+
+ @param Service
+ the name of the UNO service to be used to create the implementation of
+ the content provider.
+
+ @returns
+ a content provider.
+ */
+ XContentProvider createContentProvider( [in] string Service );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XContentProviderManager.idl b/offapi/com/sun/star/ucb/XContentProviderManager.idl
new file mode 100644
index 000000000..f54e8ab6b
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XContentProviderManager.idl
@@ -0,0 +1,159 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_ucb_XContentProviderManager_idl__
+#define __com_sun_star_ucb_XContentProviderManager_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/ucb/XContentProvider.idl>
+#include <com/sun/star/ucb/DuplicateProviderException.idl>
+#include <com/sun/star/ucb/ContentProviderInfo.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** makes it possible to query/register/deregister content providers.
+
+ @version 1.0
+ @see XContentProvider
+*/
+published interface XContentProviderManager: com::sun::star::uno::XInterface
+{
+ /** registers a content provider for a specific URL template.
+
+ @see XContentIdentifier
+
+ @param Provider
+ the content provider to register.
+
+ <p>This may be `NULL`, in which case a later
+ XContentProvider::queryContent() with an
+ XContentIdentifier that matches the <var>Scheme</var>
+ will simply return `NULL`. These "dummy" content providers are useful
+ in combination with other content providers that are registered on a
+ wildcard URL template: For example, imagine that you want to route all
+ http URLs to a HTTP content provider, but want to block all URLs for
+ the server <code>www.dont.go</code>. One solution would be to register
+ the HTTP content provider on the <var>Scheme</var> <code>http</code>,
+ and to register a "dummy" (i.e., `NULL`) content provider on the
+ <var>Scheme</var> <code>"http://www.dont.go"([/?#].*)?</code>.
+
+ @param Scheme
+ the URL scheme for the provided contents. More generally, this may not
+ only be a URL scheme, but a URL template.
+
+ <p>A URL template is a regular expression (represented as a string) that
+ specifies a subset of the set of all possible URLs (this subset
+ consists of exactly those URLs that match the regular expression). The
+ language to denote the regular expressions is initially quite limited,
+ but it may be extended in the future:
+
+ <p><ul>
+ <li><code>regexp = scheme / simple / translation</code></li>
+ <li><code>scheme = ALPHA *(ALPHA / DIGIT / "+" / "-" / ".")</code></li>
+ <li><code>simple = simple-prefix / simple-authority / simple-domain</code></li>
+ <li><code>translation = trans-prefix / trans-authority / trans-domain</code></li>
+ <li><code>simple-prefix = [string] ".*"</code></li>
+ <li><code>trans-prefix = [string] "(.*)->" [string] "\1"</code></li>
+ <li><code>simple-authority = [string] "([/?#].*)?"</code></li>
+ <li><code>trans-authority = [string] "(([/?#].*)?)->" string "\1"</code></li>
+ <li><code>simple-domain = [string] "[^/?#]*" string "([/?#].*)?"</code></li>
+ <li><code>trans-domain = [string] "([^/?#]*" string "([/?#].*)?)->" string "\1"</code></li>
+ <li><code>string = DQUOTE 1*(schar / sescape) DQUOTE ; DQUOTE is "</code></li>
+ <li><code>schar = &lt any UTF-16 character except " or \></code></li>
+ <li><code>sescape = "\" (DQUOTE / "\")</code></li>
+ </ul>
+
+ <p>A <code>&lt;scheme&gt:</code> matches any URL of exactly the given
+ scheme (ignoring case), keeping the extension from URL schemes to URL
+ templates backwards compatible. The <code>&lt;simple&gt:</code>
+ regexps match any URL starting with a given string literal, followed
+ by arbitrary characters (<code>&lt;simple-prefix&gt:</code>), or
+ by arbitrary characters that start with one of '/', '?', or '#', if any
+ (<code>&lt;simple-authority&gt:</code>), or by arbitrary characters not
+ including any of '/', '?', or '#', followed by a given string literal,
+ followed by arbitrary characters that start with one of '/', '?', or
+ '#', if any. The comparison of string literals is done ignoring the
+ case of ASCII letters. The <code>&lt;translation&gt:</code> regexps
+ match the same URLs as their <code>&lt;simple&gt:</code> counterparts,
+ but they also describe how a (local) URL is mapped to another (remote)
+ URL. This mapping is only relevant for methods of the
+ RemoteAccessContentProvider's
+ XParameterizedContentProvider interface; in all other
+ cases, <code>&lt;translation&gt:</code> regexps have the same semantics
+ as their <code>&lt;simple&gt:</code> counterparts.
+
+ @param ReplaceExisting
+ `TRUE`: replace the provider possibly registered for the given URL
+ template. The replaced provider will not be deregistered automatically!
+ If the superseding provider gets deregistered, the superseded one will
+ become active again.
+ <p>`FALSE`: do not register, if another provider is already registered
+ for the given URL template.
+
+ @returns
+ the replaced content provider, if there was one.
+ */
+ com::sun::star::ucb::XContentProvider registerContentProvider(
+ [in] com::sun::star::ucb::XContentProvider Provider,
+ [in] string Scheme,
+ [in] boolean ReplaceExisting )
+ raises( com::sun::star::ucb::DuplicateProviderException );
+
+ /** deregisters a content provider.
+
+ @param Provider
+ a content provider to deregister.
+
+ @param Scheme
+ the URL scheme for the provided contents. More generally, this
+ may not only be a URL scheme, but a URL template (see
+ registerContentProvider() for a discussion of URL
+ templates).
+ */
+ void deregisterContentProvider(
+ [in] com::sun::star::ucb::XContentProvider Provider,
+ [in] string Scheme );
+
+ /** returns a list of information on all registered content providers.
+
+ @returns
+ a list information on content providers.
+ */
+ sequence<com::sun::star::ucb::ContentProviderInfo> queryContentProviders();
+
+ /** returns the currently active content provider for a content
+ identifier.
+
+ @param Identifier
+ a content identifier (i.e., a URL).
+
+ @returns
+ a content provider, or null.
+ */
+ com::sun::star::ucb::XContentProvider queryContentProvider(
+ [in] string Identifier );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XContentProviderSupplier.idl b/offapi/com/sun/star/ucb/XContentProviderSupplier.idl
new file mode 100644
index 000000000..1c0caf263
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XContentProviderSupplier.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_ucb_XContentProviderSupplier_idl__
+#define __com_sun_star_ucb_XContentProviderSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/ucb/XContentProvider.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** a supplier for a content provider.
+
+ @version 1.0
+ @see XContentProvider
+*/
+published interface XContentProviderSupplier : com::sun::star::uno::XInterface
+{
+ /** returns a content provider.
+
+ @returns
+ a content provider.
+ */
+ com::sun::star::ucb::XContentProvider getContentProvider();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XContentTransmitter.idl b/offapi/com/sun/star/ucb/XContentTransmitter.idl
new file mode 100644
index 000000000..f92516b2d
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XContentTransmitter.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_ucb_XContentTransmitter_idl__
+#define __com_sun_star_ucb_XContentTransmitter_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/**
+ @deprecated
+
+ @version 1.0
+ @see
+*/
+
+published interface XContentTransmitter: com::sun::star::uno::XInterface
+{
+ void transmit( [in] string Source,
+ [in] string Destination,
+ [in] long Flags );
+
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XDataContainer.idl b/offapi/com/sun/star/ucb/XDataContainer.idl
new file mode 100644
index 000000000..ca0a30ab5
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XDataContainer.idl
@@ -0,0 +1,86 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_ucb_XDataContainer_idl__
+#define __com_sun_star_ucb_XDataContainer_idl__
+
+#include <com/sun/star/container/XIndexContainer.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** specifies a container for (binary) data.
+
+ <p>A data container may contain data and/or other data containers.
+ A typical container with children is a MIME message with
+ attachments.
+
+ @version 1.0
+
+ @deprecated
+*/
+published interface XDataContainer: com::sun::star::container::XIndexContainer
+{
+ /** returns the content type (MIME Type) of the data container.
+
+ @returns
+ the content type
+ */
+ string getContentType();
+
+ /** sets the content type (MIME Type) of the data container.
+
+ @param aType
+ the content type
+ */
+ void setContentType( [in] string aType );
+
+ /** returns the data of the data container.
+
+ @returns
+ the data
+ */
+ sequence<byte> getData();
+
+ /** sets the data of the data container.
+
+ @param aData
+ the data
+ */
+ void setData( [in] sequence<byte> aData );
+
+ /** Deprecated. Do not use!
+
+ @deprecated
+ */
+ string getDataURL();
+
+ /** Deprecated. Do not use!
+
+ @deprecated
+ */
+ void setDataURL( [in] string aURL );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XDynamicResultSet.idl b/offapi/com/sun/star/ucb/XDynamicResultSet.idl
new file mode 100644
index 000000000..f84b81235
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XDynamicResultSet.idl
@@ -0,0 +1,177 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_ucb_XDynamicResultSet_idl__
+#define __com_sun_star_ucb_XDynamicResultSet_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/ucb/XDynamicResultSetListener.idl>
+#include <com/sun/star/ucb/ListenerAlreadySetException.idl>
+#include <com/sun/star/sdbc/XResultSet.idl>
+#include <com/sun/star/ucb/AlreadyInitializedException.idl>
+#include <com/sun/star/ucb/ServiceNotFoundException.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** Provides read access to a ContentResultSet.
+
+ <p>
+ You can either get a simple static ContentResultSet or you can
+ listen to change-notifications and then swap from the old to a new
+ ContentResultSet.
+ </p>
+
+ <p>The following describes the dynamic use:</p>
+
+ <p>
+ XDynamicResultSet provides the possibility to get notifications
+ about changes on a ContentResultSet and have an
+ listener-controlled update from one version to the next version. Two
+ ContentResultSet implementations were given to the listener in
+ the first notification as interface
+ com::sun::star::sdbc::XResultSet.
+ </p>
+
+ <p>
+ To get notifications the listener has to be of type
+ XDynamicResultSetListener.
+ </p>
+
+ <p>
+ After registration you will get notifications for events of type
+ ListEvent.
+ </p>
+
+ <p>
+ The calling of XDynamicResultSetListener::notify() has
+ to happen in an own thread, because it could take a longer time and any
+ actions ??? until the listener returns the call. So don't block the notify-causing
+ action.
+ </p>
+
+ <p>
+ While one notify-call is going on:
+ </p>
+
+ <ol>
+ <li> The listener is allowed to access both ContentResultSets,
+ they must be both valid.</li>
+ <li> It is not allowed to start a second notify-call.</li>
+ <li> All additional things we want to send as notification are to be
+ queued.</li>
+ <li> Any other calls are to be accepted and treated.</li>
+ </ol>
+
+ <p>
+ After the listener has returned the notify-call:
+ </p>
+
+ <ol>
+ <li> The listener is allowed to access the new
+ ContentResultSet. The new one is first assigned in the
+ WELCOME-event and then the ResultSets are always swapped.</li>
+ <li> The listener is not allowed to access the old
+ ContentResultSet.</li>
+ </ol>
+*/
+
+published interface XDynamicResultSet: com::sun::star::lang::XComponent
+{
+ /** Call this, if you don't care about any changes.
+
+ @returns
+ a com::sun::star::sdbc::XResultSet that is
+ implemented as ContentResultSet. Its content will never
+ change.
+
+ @throws ListenerAlreadySetException
+ if someone already has registered as listener via
+ XDynamicResultSet::setListener() or if someone has
+ established a connection to a CachedDynamicResultSet
+ via XDynamicResultSet::connectToCache().
+ */
+ com::sun::star::sdbc::XResultSet getStaticResultSet()
+ raises( com::sun::star::ucb::ListenerAlreadySetException );
+
+ /** Call this, if you want to get notifications about changes.
+
+ <p>The implementor has to call
+ com::sun::star::lang::XComponent::addEventListener()
+ in this method, so that we can call
+ com::sun::star::lang::XEventListener::disposing()
+ at the listener
+
+ @param Listener
+ a listener for result set notifications
+
+ @throws ListenerAlreadySetException
+ if this method is called more than once during the life of the
+ implementation object or if this method is called if someone already
+ has fetched the ContentResultSet via
+ XDynamicResultSet::getStaticResultSet().
+
+ */
+ void setListener( [in] XDynamicResultSetListener Listener )
+ raises( com::sun::star::ucb::ListenerAlreadySetException );
+
+ /** Connects this to a CachedDynamicResultSet for optimized
+ remote data transport.
+
+ <p>This method creates a CachedDynamicResultSetStub
+ and sets it as Source to the given cache.
+
+ <p>After this method has returned you can and have to use the given
+ result set cache for further access.
+
+ @param Cache
+ has to be an implementation of the service
+ CachedDynamicResultSet. In particular it has to support
+ the interface XSourceInitialization.
+
+ @throws ListenerAlreadySetException
+ if someone already has fetched the ContentResultSet via
+ XDynamicResultSet::getStaticResultSet().
+
+ @throws AlreadyInitializedException
+ if <var>Cache</var> was already initialized with another source.
+
+ @throws ServiceNotFoundException
+ */
+ void connectToCache( [in] XDynamicResultSet Cache )
+ raises( com::sun::star::ucb::ListenerAlreadySetException
+ , com::sun::star::ucb::AlreadyInitializedException
+ , com::sun::star::ucb::ServiceNotFoundException );
+
+ /** Using this method you can get information, whether the offered
+ ContentResultSets are sorted or filtered etc correctly as
+ demanded during the creation of the XDynamicResultSet.
+
+ @returns
+ zero or more constants of the ContentResultSetCapability
+ constants group.
+ */
+ short getCapabilities();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XDynamicResultSetListener.idl b/offapi/com/sun/star/ucb/XDynamicResultSetListener.idl
new file mode 100644
index 000000000..ddf977a97
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XDynamicResultSetListener.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_ucb_XDynamicResultSetListener_idl__
+#define __com_sun_star_ucb_XDynamicResultSetListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+#include <com/sun/star/ucb/ListEvent.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** used to receive notifications from an XDynamicResultSet.
+*/
+
+published interface XDynamicResultSetListener: com::sun::star::lang::XEventListener
+{
+ /** A method used to propagate changes of a result set.
+
+ <p>In the first notify-call the listener gets two(!)
+ com::sun::star::sdbc::XResultSets and has to hold
+ them. The com::sun::star::sdbc::XResultSets are
+ implementations of the service ContentResultSet.
+
+ <p>The notified new
+ com::sun::star::sdbc::XResultSet will stay valid
+ after returning from this method. The old one will become invalid after
+ returning.
+
+ <p>While in notify-call the listener is allowed to read from old and
+ new result set, except in the first call, where only the new result set
+ is valid.
+
+ <p>The Listener is allowed to stay (block) this call, until he really
+ wants to use the new result set. The only situation, where the listener
+ has to return immediately is while he disposes his broadcaster or while
+ he is removing himself as listener (otherwise you deadlock)!!!
+
+ @param Changes
+ the changes to notify.
+ */
+ void notify( [in] ListEvent Changes );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XFetchProvider.idl b/offapi/com/sun/star/ucb/XFetchProvider.idl
new file mode 100644
index 000000000..2d0a28d99
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XFetchProvider.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_ucb_XFetchProvider_idl__
+#define __com_sun_star_ucb_XFetchProvider_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/ucb/FetchResult.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** provides the possibility to get the contents of the columns of several
+ rows of a ContentResultSet with a single function call.
+*/
+
+published interface XFetchProvider: com::sun::star::uno::XInterface
+{
+ /** returns the contents of the columns of the indicated rows
+
+ @returns
+ FetchResult::Rows contains a sequence of anys. Each
+ of these anys contains a sequence of anys.
+
+ @param nRowStartPosition
+ the starting row of the result set
+
+ @param nRowCount
+ the count of rows
+
+ @param bDirection
+ `TRUE`, if you want the rows to be read in the same order, as they
+ are contained in the result set ( `TRUE` &lt;-&gt; forward step;
+ `FALSE` &lt;-&gt; backward step )
+ */
+ com::sun::star::ucb::FetchResult fetch( [in] long nRowStartPosition
+ , [in] long nRowCount
+ , [in] boolean bDirection );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XFetchProviderForContentAccess.idl b/offapi/com/sun/star/ucb/XFetchProviderForContentAccess.idl
new file mode 100644
index 000000000..a0690b440
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XFetchProviderForContentAccess.idl
@@ -0,0 +1,108 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_ucb_XFetchProviderForContentAccess_idl__
+#define __com_sun_star_ucb_XFetchProviderForContentAccess_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/ucb/FetchResult.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** provides the possibility to load information offered by a
+ XContentAccess for several rows of a
+ ContentResultSet with a single function call.
+*/
+published interface XFetchProviderForContentAccess: com::sun::star::uno::XInterface
+{
+ /** returns the content identifier strings of the columns of the indicated
+ rows
+
+ @returns
+ FetchResult::Rows contains a sequence of anys. Each
+ of these anys contains a string.
+
+ @param nRowStartPosition
+ the starting row of the result set
+
+ @param nRowCount
+ the count of rows
+
+ @param bDirection
+ `TRUE`, if you want the rows to be read in the same order, as they
+ are contained in the result set ( `TRUE` &lt;-&gt; forward step;
+ `FALSE` &lt;-&gt; backward step )
+ */
+ com::sun::star::ucb::FetchResult
+ fetchContentIdentifierStrings( [in] long nRowStartPosition
+ , [in] long nRowCount
+ , [in] boolean bDirection );
+
+ /** returns the XContentIdentifiers of the columns of the
+ indicated rows
+
+ @returns
+ FetchResult::Rows contains a sequence of anys. Each
+ of these anys contains an XContentIdentifier.
+
+ @param nRowStartPosition
+ the starting row of the result set
+
+ @param nRowCount
+ the count of rows
+
+ @param bDirection
+ `TRUE`, if you want the rows to be read in the same order, as they
+ are contained in the result set ( `TRUE` &lt;-&gt; forward step;
+ `FALSE` &lt;-&gt; backward step )
+ */
+ com::sun::star::ucb::FetchResult
+ fetchContentIdentifiers( [in] long nRowStartPosition
+ , [in] long nRowCount
+ , [in] boolean bDirection );
+
+ /** returns the XContent s of the columns of the indicated rows
+
+ @returns
+ FetchResult::Rows contains a sequence of anys. Each
+ of these anys contains an XContent.
+
+ @param nRowStartPosition
+ the starting row of the result set
+
+ @param nRowCount
+ the count of rows
+
+ @param bDirection
+ `TRUE`, if you want the rows to be read in the same order, as they
+ are contained in the result set ( `TRUE` &lt;-&gt; forward step;
+ `FALSE` &lt;-&gt; backward step )
+ */
+ com::sun::star::ucb::FetchResult
+ fetchContents( [in] long nRowStartPosition
+ , [in] long nRowCount
+ , [in] boolean bDirection );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XFileIdentifierConverter.idl b/offapi/com/sun/star/ucb/XFileIdentifierConverter.idl
new file mode 100644
index 000000000..618cfa33b
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XFileIdentifierConverter.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_ucb_XFileIdentifierConverter_idl__
+#define __com_sun_star_ucb_XFileIdentifierConverter_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** specifies methods to convert between (file) URLs and file paths in system
+ dependent notation.
+
+ @version 1.0
+*/
+published interface XFileIdentifierConverter : com::sun::star::uno::XInterface
+{
+ /** Get information about the "locality" of a file content provider.
+
+ <p>The returned information can be used to choose the "best" among a
+ number of file content providers implementing this interface.
+
+ @param BaseURL
+ the base (file) URL used to specify a file content provider.
+
+ @returns
+ an appropriate value representing the "locality" of the specified file
+ content provider. Generally, higher (non-negative) numbers denote
+ file content providers that are more "local", and negative numbers
+ denote content providers that are not file content providers at all.
+ As a convention (and to keep this useful), values should be restricted
+ to the range from -1 to +10, inclusive.
+ */
+ long getFileProviderLocality( [in] string BaseURL );
+
+ /** converts a file path in system dependent notation to a (file) URL.
+
+ @param BaseURL
+ the base (file) URL relative to which the file path shall be
+ interpreted.
+
+ @param SystemPath
+ a file path in system dependent notation.
+
+ @returns
+ the URL corresponding to the file path, or an empty string if the file
+ path cannot be converted into a URL.
+ */
+ string getFileURLFromSystemPath( [in] string BaseURL,
+ [in] string SystemPath );
+
+ /** converts a (file) URL to a file path in system dependent notation.
+
+ @param URL
+ a (file) URL.
+
+ @returns
+ the file path corresponding to the URL, or an empty string if the URL
+ cannot be converted into a file path.
+ */
+ string getSystemPathFromFileURL( [in] string URL );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XInteractionAuthFallback.idl b/offapi/com/sun/star/ucb/XInteractionAuthFallback.idl
new file mode 100644
index 000000000..3a70c813b
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XInteractionAuthFallback.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_task_XInteractionApprove_idl__
+#define __com_sun_star_task_XInteractionApprove_idl__
+
+#include <com/sun/star/task/XInteractionContinuation.idl>
+
+
+
+ module com { module sun { module star { module ucb {
+
+/** An interaction continuation specifying authentication success.
+
+ @since LibreOffice 4.4
+ */
+interface XInteractionAuthFallback: com::sun::star::task::XInteractionContinuation
+{
+ /* Authentication code submitted by the user */
+ void setCode( [in] string code );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XInteractionHandlerSupplier.idl b/offapi/com/sun/star/ucb/XInteractionHandlerSupplier.idl
new file mode 100644
index 000000000..db3386a94
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XInteractionHandlerSupplier.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_ucb_XInteractionHandlerSupplier_idl__
+#define __com_sun_star_ucb_XInteractionHandlerSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** This interface should be implemented by an internal
+ XCommandEnvironment that can not supply an
+ com::sun::star::task::XInteractionHandler, but instead
+ wants interaction requests to be handled by other internal error handling
+ mechanism.
+*/
+published interface XInteractionHandlerSupplier: com::sun::star::uno::XInterface
+{
+ /** Returns whether an
+ com::sun::star::task::XInteractionHandler can be
+ supplied.
+
+ @returns
+ `TRUE`, if an
+ com::sun::star::task::XInteractionHandler can be
+ supplied, `FALSE` otherwise.
+ */
+ boolean hasInteractionHandler();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XInteractionReplaceExistingData.idl b/offapi/com/sun/star/ucb/XInteractionReplaceExistingData.idl
new file mode 100644
index 000000000..fe457a74f
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XInteractionReplaceExistingData.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_ucb_XInteractionReplaceExistingData_idl__
+#define __com_sun_star_ucb_XInteractionReplaceExistingData_idl__
+
+#include <com/sun/star/task/XInteractionContinuation.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** is an interaction continuation used to instruct the requester to replace
+ existing data.
+
+ <p>For example, this continuation can be selected when handling a
+ NameClashResolveRequest in order to instruct the requester
+ to overwrite the clashing data.
+
+ @version 1.0
+*/
+published interface XInteractionReplaceExistingData : com::sun::star::task::XInteractionContinuation
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XInteractionSupplyAuthentication.idl b/offapi/com/sun/star/ucb/XInteractionSupplyAuthentication.idl
new file mode 100644
index 000000000..5e0427a9b
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XInteractionSupplyAuthentication.idl
@@ -0,0 +1,151 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_ucb_XInteractionSupplyAuthentication_idl__
+#define __com_sun_star_ucb_XInteractionSupplyAuthentication_idl__
+
+#include <com/sun/star/task/XInteractionContinuation.idl>
+#include <com/sun/star/ucb/RememberAuthentication.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** An interaction continuation handing back some authentication data.
+
+ <p> This continuation is typically used in conjunction with
+ AuthenticationRequest. </p>
+*/
+published interface XInteractionSupplyAuthentication: com::sun::star::task::XInteractionContinuation
+{
+ /** Specifies if a new "realm" value can be handed back.
+ */
+ boolean canSetRealm();
+
+ /** Set a new "realm" value to hand back.
+
+ <p>This method should be called before
+ com::sun::star::task::XInteractionContinuation::select(),
+ and should only be called if
+ XInteractionSupplyAuthentication::canSetRealm() returned
+ `TRUE`.</p>
+ */
+ void setRealm( [in] string Realm );
+
+ /** Specifies if a "user name" value can be handed back.
+ */
+ boolean canSetUserName();
+
+ /** Set a new "user name" value to hand back.
+
+ <p>This method should be called before
+ com::sun::star::task::XInteractionContinuation::select(),
+ and should only be called if
+ XInteractionSupplyAuthentication::canSetUserName()
+ returned `TRUE`.</p>
+ */
+ void setUserName( [in] string UserName );
+
+ /** Specifies if a "password" value can be handed back.
+ */
+ boolean canSetPassword();
+
+ /** Set a new "password" value to hand back.
+
+ <p>This method should be called before
+ com::sun::star::task::XInteractionContinuation::select(),
+ and should only be called if
+ XInteractionSupplyAuthentication::canSetPassword()
+ returned `TRUE`.</p>
+ */
+ void setPassword( [in] string Password );
+
+ /** Specifies the available modes of how long to remember the password.
+
+ @param Default
+ Returns the default mode (to be initially displayed to the user).
+
+ @returns
+ A sequence of available modes to hand back. Each individual mode
+ should appear at most once in the sequence. If the sequence is empty,
+ a new mode cannot be handed back.
+ */
+ sequence<com::sun::star::ucb::RememberAuthentication> getRememberPasswordModes( [out] com::sun::star::ucb::RememberAuthentication Default );
+
+ /** Set a new mode of how long to remember the password.
+
+ <p>This method should be called before
+ com::sun::star::task::XInteractionContinuation::select(),
+ and should only be called if
+ XInteractionSupplyAuthentication::setPassword()
+ is also called.</p>
+
+ @param Remember
+ The mode to hand back, should be contained in the sequence returned by
+ XInteractionSupplyAuthentication::getRememberPasswordModes().
+ */
+ void setRememberPassword( [in] com::sun::star::ucb::RememberAuthentication Remember );
+
+ /** Specifies if an "account" value can be handed back.
+ */
+ boolean canSetAccount();
+
+ /** Set a new "account" value to hand back.
+
+ <p>This method should be called before
+ com::sun::star::task::XInteractionContinuation::select(),
+ and should only be called if
+ XInteractionSupplyAuthentication::canSetAccount()
+ returned `TRUE`.</p>
+
+ */
+ void setAccount( [in] string Account );
+
+ /** Specifies the available modes of how long to remember the account.
+
+ @param Default Returns the default mode (to be initially displayed to
+ the user).
+
+ @returns A sequence of available modes to hand back. Each individual
+ mode should appear at most once in the sequence. If the sequence is
+ empty, a new mode cannot be handed back.
+ */
+ sequence<com::sun::star::ucb::RememberAuthentication> getRememberAccountModes( [out] com::sun::star::ucb::RememberAuthentication Default );
+
+ /** Set a new mode of how long to remember the account.
+
+ <p>This method should be called before
+ com::sun::star::task::XInteractionContinuation::select(),
+ and should only be called if
+ XInteractionSupplyAuthentication::setAccount()
+ is also called.</p>
+
+ @param Remember The mode to hand back, should be contained in the
+ sequence returned by
+ XInteractionSupplyAuthentication::getRememberAccountModes().
+ */
+ void setRememberAccount( [in] com::sun::star::ucb::RememberAuthentication Remember );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XInteractionSupplyAuthentication2.idl b/offapi/com/sun/star/ucb/XInteractionSupplyAuthentication2.idl
new file mode 100644
index 000000000..9b13d1fed
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XInteractionSupplyAuthentication2.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_ucb_XInteractionSupplyAuthentication2_idl__
+#define __com_sun_star_ucb_XInteractionSupplyAuthentication2_idl__
+
+#include <com/sun/star/ucb/XInteractionSupplyAuthentication.idl>
+
+
+
+
+module com { module sun { module star { module ucb {
+
+/** An interaction continuation handing back some authentication data.
+
+ <p> This continuation is typically used in conjunction with
+ AuthenticationRequest. </p>
+
+ @since OOo 3.2
+*/
+interface XInteractionSupplyAuthentication2 : XInteractionSupplyAuthentication
+{
+ /** Specifies if "system credentials" can be obtained and used by the issuer
+ of the authentication request.
+
+ @param Default
+ Returns the default behavior for system credentials handling (to be
+ initially displayed to the user).
+
+ @returns
+ `TRUE` if the issuer is able to obtain and use system credentials.
+ `FALSE` otherwise.
+ */
+ boolean canUseSystemCredentials( [out] boolean Default );
+
+ /** Set a new "use system credentials" value to hand back.
+
+ @param UseSystemCredentials
+ `TRUE` means the request issuer shall obtain and use system credentials.
+ */
+ void setUseSystemCredentials( [in] boolean UseSystemCredentials );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XInteractionSupplyName.idl b/offapi/com/sun/star/ucb/XInteractionSupplyName.idl
new file mode 100644
index 000000000..aa6df6cda
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XInteractionSupplyName.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_ucb_XInteractionSupplyName_idl__
+#define __com_sun_star_ucb_XInteractionSupplyName_idl__
+
+#include <com/sun/star/task/XInteractionContinuation.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** is an interaction continuation used to hand back a new name for something.
+
+ <p>For example, this continuation can be selected when handling a
+ NameClashResolveRequest in order to supply a new name
+ for a clashing resource.
+
+ @version 1.0
+*/
+published interface XInteractionSupplyName : com::sun::star::task::XInteractionContinuation
+{
+ /** sets the name to supply.
+
+ @param Name
+ contains the name to supply.
+ */
+ void setName( [in] string Name );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XParameterizedContentProvider.idl b/offapi/com/sun/star/ucb/XParameterizedContentProvider.idl
new file mode 100644
index 000000000..f57d98367
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XParameterizedContentProvider.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_ucb_XParameterizedContentProvider_idl__
+#define __com_sun_star_ucb_XParameterizedContentProvider_idl__
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/ucb/XContentProvider.idl>
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** Register specially adjusted instances of content providers on URL
+ templates and supplementary arguments.
+
+ @version 1.0
+*/
+published interface XParameterizedContentProvider: com::sun::star::uno::XInterface
+{
+ /** Register a content provider on a URL template and supplementary
+ arguments.
+
+ @param Template A URL template. If the input is malformed or too
+ complex, a com::sun::star::lang::IllegalArgumentException may be raised.
+
+ @param Arguments Any supplementary arguments required by this
+ XContentProvider, represented as a single string. If the
+ input is malformed, an
+ com::sun::star::lang::IllegalArgumentException
+ may be raised.
+
+ @param ReplaceExisting If true, and if the given Template conflicts
+ with an already registered instance, the old registration is replaced
+ by the new one. If false, and if the given Template conflicts with an
+ already registered instance, the new registration is not performed,
+ and null is returned.
+
+ @return Either this XContentProvider, or another,
+ specially adjusted version of this XContentProvider (this
+ flexibility allows for different implementation strategies), or null
+ if the given Template conflicts with an already registered instance
+ and ReplaceExisting is false. Note that the returned
+ XContentProvider must still be registered at the content
+ provider manager!
+ */
+ com::sun::star::ucb::XContentProvider
+ registerInstance([in] string Template,
+ [in] string Arguments,
+ [in] boolean ReplaceExisting)
+ raises (com::sun::star::lang::IllegalArgumentException);
+
+ /** Deregisters a content provider.
+
+ @param Template A URL template. If the input is malformed or too
+ complex, an IllegalArgumentException may be raised.
+
+ @param Arguments Any supplementary arguments required by this
+ XContentProvider, represented as a single string. If the
+ input is malformed, an
+ com::sun::star::lang::IllegalArgumentException
+ may be raised.
+
+ @return Either this XContentProvider, or another,
+ specially adjusted version of this XContentProvider (this
+ flexibility allows for different implementation strategies), or null
+ if no instance is registered for the given Template. Note that the
+ returned XContentProvider must still be deregistered at
+ the content provider manager!
+ */
+ com::sun::star::ucb::XContentProvider
+ deregisterInstance([in] string Template,
+ [in] string Arguments)
+ raises (com::sun::star::lang::IllegalArgumentException);
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XPersistentPropertySet.idl b/offapi/com/sun/star/ucb/XPersistentPropertySet.idl
new file mode 100644
index 000000000..5d64eeec7
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XPersistentPropertySet.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_ucb_XPersistentPropertySet_idl__
+#define __com_sun_star_ucb_XPersistentPropertySet_idl__
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+
+module com { module sun { module star { module ucb {
+
+// forward.
+ published interface XPropertySetRegistry;
+
+/** A persistent property set, which can be saved in and restored from a
+ XPropertySetRegistry.
+
+ @version 1.0
+ */
+published interface XPersistentPropertySet : com::sun::star::beans::XPropertySet
+{
+ /** returns the registry used to store the property set.
+
+ @returns
+ The registry.
+ */
+ com::sun::star::ucb::XPropertySetRegistry getRegistry();
+
+ /** returns the key used to address the set in the property set registry.
+
+ @returns
+ The key.
+ */
+ string getKey();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XProgressHandler.idl b/offapi/com/sun/star/ucb/XProgressHandler.idl
new file mode 100644
index 000000000..bfa4d5644
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XProgressHandler.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_ucb_XProgressHandler_idl__
+#define __com_sun_star_ucb_XProgressHandler_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** Handle a tasks notification that it has made some progress.
+*/
+published interface XProgressHandler: com::sun::star::uno::XInterface
+{
+ /** The task notifies the handler that it has started some new activity
+ (possibly a sub-activity of another activity already making progress;
+ therefore, these notifications behave in a stack-like manner).
+
+ @param Status An object representing the new activity. There has to
+ be an agreement between caller and callee of methods
+ XProgressHandler::push() and
+ XProgressHandler::update() as to which Status
+ arguments are meaningful. For example, a `string` argument
+ to XProgressHandler::push() should be used to transport
+ some status text that describes the progress being made (possibly
+ followed by one or more XProgressHandler::update()s with
+ `string` arguments, if the appropriate status text changes
+ as progress is being made).
+ */
+ void push([in] any Status);
+
+ /** The task notifies the handler that its current activity is making
+ progress.
+
+ @param Status An object representing the progress made. See the
+ documentation of XProgressHandler::push() for more
+ information.
+ */
+ void update([in] any Status);
+
+ /** The task notifies the handler that it has finished its current
+ activity.
+ */
+ void pop();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XPropertyMatcher.idl b/offapi/com/sun/star/ucb/XPropertyMatcher.idl
new file mode 100644
index 000000000..de77c7f74
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XPropertyMatcher.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_ucb_XPropertyMatcher_idl__
+#define __com_sun_star_ucb_XPropertyMatcher_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/ucb/XCommandProcessor.idl>
+#include <com/sun/star/ucb/XCommandEnvironment.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** Checks whether a set of properties matches a set of search criteria.
+
+ @see XPropertyMatcherFactory.
+*/
+published interface XPropertyMatcher : com::sun::star::uno::XInterface
+{
+ /** Checks whether a set of properties matches the given search criteria.
+
+ @param Properties
+ A Command Processor through which the set of properties is accessible.
+
+ @param Environment
+ The environment to use when accessing the property set via the given
+ Command Processor. It may be null.
+
+ @returns
+ `TRUE` if the properties match, `FALSE` otherwise.
+ */
+ boolean matches([in] com::sun::star::ucb::XCommandProcessor Properties,
+ [in] com::sun::star::ucb::XCommandEnvironment Environment);
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XPropertyMatcherFactory.idl b/offapi/com/sun/star/ucb/XPropertyMatcherFactory.idl
new file mode 100644
index 000000000..4d3d0fce8
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XPropertyMatcherFactory.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_ucb_XPropertyMatcherFactory_idl__
+#define __com_sun_star_ucb_XPropertyMatcherFactory_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/ucb/XPropertyMatcher.idl>
+#include <com/sun/star/ucb/SearchCriterium.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** Creates an XPropertyMatcher, given a set of search criteria.
+*/
+published interface XPropertyMatcherFactory : com::sun::star::uno::XInterface
+{
+ /** Creates an XPropertyMatcher.
+
+ @param Criteria
+ The set of search criteria the returned XPropertyMatcher will use.
+
+ @returns
+ An XPropertyMatcher with the given search criteria.
+ */
+ com::sun::star::ucb::XPropertyMatcher createPropertyMatcher(
+ [in] sequence<com::sun::star::ucb::SearchCriterium> Criteria);
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XPropertySetRegistry.idl b/offapi/com/sun/star/ucb/XPropertySetRegistry.idl
new file mode 100644
index 000000000..d812e8abc
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XPropertySetRegistry.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_ucb_XPropertySetRegistry_idl__
+#define __com_sun_star_ucb_XPropertySetRegistry_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/ucb/XPersistentPropertySet.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** A registry (storage medium) for persistent property sets.
+
+ @version 1.0
+ @see XPersistentPropertySet
+ */
+published interface XPropertySetRegistry : com::sun::star::uno::XInterface
+{
+ /** creates a new or opens an existing property set in the registry.
+
+ @param key
+ The key to use for addressing the property set.
+
+ @param create
+ Indicates whether a new set shall be created in case there
+ does not already exist one for the given key.
+
+ @returns
+ The property set.
+ */
+ com::sun::star::ucb::XPersistentPropertySet
+ openPropertySet( [in] string key, [in] boolean create );
+
+ /** removes a property set from the registry.
+
+ @param key
+ The key to use for addressing the property set.
+ */
+ void removePropertySet( [in] string key );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XPropertySetRegistryFactory.idl b/offapi/com/sun/star/ucb/XPropertySetRegistryFactory.idl
new file mode 100644
index 000000000..0e9f856b9
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XPropertySetRegistryFactory.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_ucb_XPropertySetRegistryFactory_idl__
+#define __com_sun_star_ucb_XPropertySetRegistryFactory_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/ucb/XPropertySetRegistry.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** A factory for property set registries.
+
+ @version 1.0
+ */
+published interface XPropertySetRegistryFactory : com::sun::star::uno::XInterface
+{
+ /** creates a property set registry.
+
+ @param URL
+ The identifier of the registry to create ( e.g. file-URL ). The
+ value can be an empty string.
+
+ @returns
+ The registry.
+ */
+ com::sun::star::ucb::XPropertySetRegistry createPropertySetRegistry(
+ [in] string URL );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XRecycler.idl b/offapi/com/sun/star/ucb/XRecycler.idl
new file mode 100644
index 000000000..c201153dc
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XRecycler.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_ucb_XRecycler_idl__
+#define __com_sun_star_ucb_XRecycler_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/ucb/XContentIdentifier.idl>
+#include <com/sun/star/ucb/XCommandProcessor.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** Allows an XContent to delete itself into the trash can.
+
+ <p>This is an additional interface the XContent representing the trash
+ can (URL: "vnd.sun.staroffice.trashcan:///") should support.
+*/
+published interface XRecycler : com::sun::star::uno::XInterface
+{
+ /** Notify the trash can that an XContent is deleting itself
+ into it.
+
+ @param Properties
+ The trash can uses this interface to access the properties of the
+ content being deleted, to copy them for later display etc. The
+ trash can will not use the interface after it has returned from this
+ method.
+
+ @param Identifier
+ When the deleted content is later restored or ultimately deleted, the
+ trash can will use this identifier to query an XContent that it will
+ send the undelete or delete command to.
+ */
+ void trashContent([in] com::sun::star::ucb::XCommandProcessor Properties,
+ [in] com::sun::star::ucb::XContentIdentifier Identifier);
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XRemoteContentProviderAcceptor.idl b/offapi/com/sun/star/ucb/XRemoteContentProviderAcceptor.idl
new file mode 100644
index 000000000..c26037f86
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XRemoteContentProviderAcceptor.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_ucb_XRemoteContentProviderAcceptor_idl__
+#define __com_sun_star_ucb_XRemoteContentProviderAcceptor_idl__
+
+#include <com/sun/star/lang/XMultiServiceFactory.idl>
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+ published interface XRemoteContentProviderDoneListener;
+
+/** Accept remote content providers that want to make themselves known to the
+ local process.
+
+ @version 1.0
+*/
+published interface XRemoteContentProviderAcceptor: com::sun::star::uno::XInterface
+{
+ /** Add a remote content provider.
+
+ @param Identifier An arbitrary identifier uniquely identifying the
+ remote content provider.
+
+ @param Factory A factory through which the remote content provider's
+ UniversalContentBroker service can be instantiated.
+
+ @param Templates A sequence of URL templates the remote content
+ provider is willing to handle.
+
+ @param DoneListener If not null, the implementation of this interface
+ can---through this callback---tell the calling side that the
+ implementation no longer needs the remote content provider. (And the
+ calling side should call
+ XRemoteContentProviderAcceptor::removeRemoteContentProvider()
+ then.)
+
+ To enable connection control, it is recommended that this argument
+ also implements the interface
+ XRemoteContentProviderConnectionControl.
+
+ @return true if the remote content provider has successfully been
+ added.
+ */
+ boolean
+ addRemoteContentProvider([in] string Identifier,
+ [in] com::sun::star::lang::XMultiServiceFactory
+ Factory,
+ [in] sequence< string > Templates,
+ [in] XRemoteContentProviderDoneListener
+ DoneListener);
+
+ /** Remove a remote content provider.
+
+ @param Identifier An arbitrary identifier uniquely identifying the
+ remote content provider.
+
+ @return true if the remote content provider has successfully been
+ removed.
+ */
+ boolean
+ removeRemoteContentProvider([in] string Identifier);
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XRemoteContentProviderActivator.idl b/offapi/com/sun/star/ucb/XRemoteContentProviderActivator.idl
new file mode 100644
index 000000000..b68c4bfeb
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XRemoteContentProviderActivator.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_ucb_XRemoteContentProviderActivator_idl__
+#define __com_sun_star_ucb_XRemoteContentProviderActivator_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module ucb {
+
+ published interface XContentProviderManager;
+
+/** This interface should be implemented together with
+ XRemoteContentProviderAcceptor and allows for a lazy
+ implementation of
+ XRemoteContentProviderAcceptor::addRemoteContentProvider().
+
+ The way this works might change, therefore this interface is marked as
+ deprecated.
+
+ @deprecated
+ */
+published interface XRemoteContentProviderActivator: com::sun::star::uno::XInterface
+{
+ /** Activate (i.e., register at the broker) the remote content providers
+ that until now have only been remembered by
+ XRemoteContentProviderAcceptor::addRemoteContentProvider(),
+ but not registered.
+
+ <p>This allows for
+ XRemoteContentProviderAcceptor::addRemoteContentProvider()
+ to be implemented in a lazy fashion (remember the remote content
+ providers, but do not register them right away), which can increase
+ performance in certain situations. But it is not required that an
+ implementation of XRemoteContentProviderAcceptor uses this
+ lazy strategy (and thus also implements this interface).
+
+ @return
+ the broker at which the remote content providers have been registered.
+ */
+ XContentProviderManager activateRemoteContentProviders();
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XRemoteContentProviderChangeListener.idl b/offapi/com/sun/star/ucb/XRemoteContentProviderChangeListener.idl
new file mode 100644
index 000000000..793940554
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XRemoteContentProviderChangeListener.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_ucb_XRemoteContentProviderChangeListener_idl__
+#define __com_sun_star_ucb_XRemoteContentProviderChangeListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+#include <com/sun/star/ucb/RemoteContentProviderChangeEvent.idl>
+
+module com { module sun { module star { module ucb {
+
+/** A listener interested in changes to a
+ com::sun::star::ucb::XRemoteContentProviderSupplier.
+
+ @version 1.0
+ */
+published interface XRemoteContentProviderChangeListener:
+ com::sun::star::lang::XEventListener
+{
+ /** gets called whenever changes to a
+ com::sun::star::ucb::XRemoteContentProviderSupplier
+ occur.
+
+ @param Event
+ describes the change that has occurred.
+ */
+ void
+ remoteContentProviderChange([in] RemoteContentProviderChangeEvent Event);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XRemoteContentProviderChangeNotifier.idl b/offapi/com/sun/star/ucb/XRemoteContentProviderChangeNotifier.idl
new file mode 100644
index 000000000..ae50ae898
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XRemoteContentProviderChangeNotifier.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_ucb_XRemoteContentProviderChangeNotifier_idl__
+#define __com_sun_star_ucb_XRemoteContentProviderChangeNotifier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module ucb {
+ published interface XRemoteContentProviderChangeListener;
+}; }; }; };
+
+module com { module sun { module star { module ucb {
+
+/** Notify about changes to a XRemoteContentProviderSupplier.
+
+ @version 1.0
+ */
+published interface XRemoteContentProviderChangeNotifier:
+ com::sun::star::uno::XInterface
+{
+ /** Add a listener.
+
+ @param Listener
+ Some listener.
+ */
+ void
+ addRemoteContentProviderChangeListener(
+ [in] XRemoteContentProviderChangeListener Listener);
+
+ /** Remove a listener.
+
+ @param Listener
+ Some listener previously added via
+ XRemoteContentProviderChangeNotifier::addRemoteContentProviderChangeListener().
+ */
+ void
+ removeRemoteContentProviderChangeListener(
+ [in] XRemoteContentProviderChangeListener Listener);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XRemoteContentProviderConnectionControl.idl b/offapi/com/sun/star/ucb/XRemoteContentProviderConnectionControl.idl
new file mode 100644
index 000000000..fb50534d3
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XRemoteContentProviderConnectionControl.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_ucb_XRemoteContentProviderConnectionControl_idl__
+#define __com_sun_star_ucb_XRemoteContentProviderConnectionControl_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module ucb {
+ published interface XRemoteContentProviderAcceptor;
+}; }; }; };
+
+module com { module sun { module star { module ucb {
+
+/** A simple mechanism to find out if the connection between a remote content
+ provider distributor and acceptor gets lost.
+
+ <p>This interface should be supported by the <var>DoneListener</var>
+ parameter of
+ XRemoteContentProviderAcceptor::addRemoteContentProvider().
+
+ @version 1.0
+ */
+published interface XRemoteContentProviderConnectionControl:
+ com::sun::star::uno::XInterface
+{
+ /** Enable connection control, using as a token some object implemented on
+ the remote content provider acceptor's side.
+
+ <p>The implementation of this interface must hold a reference to the
+ supplied token. If the connection gets lost, the reference count of
+ the token will drop, which the remote content provider acceptor can
+ observe.
+
+ @param Acceptor
+ The remote content provider acceptor on the other side of the
+ connection.
+
+ @param Token
+ Some object implemented on the remote content provider acceptor's side
+ of the connection.
+ */
+ void
+ enableConnectionControl([in] XRemoteContentProviderAcceptor Acceptor,
+ [in] com::sun::star::uno::XInterface Token);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XRemoteContentProviderDistributor.idl b/offapi/com/sun/star/ucb/XRemoteContentProviderDistributor.idl
new file mode 100644
index 000000000..922f959d0
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XRemoteContentProviderDistributor.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_ucb_XRemoteContentProviderDistributor_idl__
+#define __com_sun_star_ucb_XRemoteContentProviderDistributor_idl__
+
+#include <com/sun/star/connection/ConnectionSetupException.idl>
+#include <com/sun/star/connection/NoConnectException.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** Distribute a content broker to various
+ XRemoteContentProviderAcceptors.
+
+ @version 1.0
+ @see XRemoteContentProviderAcceptor
+*/
+published interface XRemoteContentProviderDistributor: com::sun::star::uno::XInterface
+{
+ /** Offer the local content broker to a remote content provider acceptor.
+
+ <p> The Uno Url is handed to the
+ com::sun::star::bridge::UnoUrlResolver service,
+ which is responsible for raising any of the advertised exceptions. </p>
+
+ @param Url A Uno Url to address the
+ XRemoteContentProviderAcceptor.
+
+ @param Identifier An identifier handed to the
+ XRemoteContentProviderAcceptor.
+
+ @returns success indicator. Especially, if there's already a
+ connection to the given Url, the call will fail, no matter whether
+ that connection uses the same identifier as the given one or not.
+ */
+ boolean connectToRemoteAcceptor([in] string Url,
+ [in] string Identifier)
+ raises (com::sun::star::connection::NoConnectException,
+ com::sun::star::connection::ConnectionSetupException,
+ com::sun::star::lang::IllegalArgumentException);
+
+ /** Undo the offering of the local content broker to a specific remote
+ content provider acceptor.
+
+ @param Url A Uno Url to address the
+ XRemoteContentProviderAcceptor.
+
+ @returns success indicator.
+ */
+ boolean disconnectFromRemoteAcceptor([in] string Url);
+
+ /** Undo the offering of the local content broker to all remote content
+ provider acceptors.
+ */
+ void disconnectFromAll();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XRemoteContentProviderDoneListener.idl b/offapi/com/sun/star/ucb/XRemoteContentProviderDoneListener.idl
new file mode 100644
index 000000000..d52f5a13d
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XRemoteContentProviderDoneListener.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_ucb_XRemoteContentProviderDoneListener_idl__
+#define __com_sun_star_ucb_XRemoteContentProviderDoneListener_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module ucb {
+
+ published interface XRemoteContentProviderAcceptor;
+
+/** A notification mechanism that a
+ XRemoteContentProviderAcceptor no longer needs a remote
+ content provider.
+
+ @version 1.0
+*/
+published interface XRemoteContentProviderDoneListener: com::sun::star::uno::XInterface
+{
+ /** A notification that all remote content providers added to the given
+ XRemoteContentProviderAcceptor should be removed,
+ because the acceptor no longer needs them.
+
+ @param Acceptor
+ If null, all remote content providers added to any acceptor shall be
+ removed.
+ */
+ void
+ doneWithRemoteContentProviders(
+ [in] XRemoteContentProviderAcceptor Acceptor);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XRemoteContentProviderSupplier.idl b/offapi/com/sun/star/ucb/XRemoteContentProviderSupplier.idl
new file mode 100644
index 000000000..86d873004
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XRemoteContentProviderSupplier.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_ucb_XRemoteContentProviderSupplier_idl__
+#define __com_sun_star_ucb_XRemoteContentProviderSupplier_idl__
+
+#include <com/sun/star/lang/XMultiServiceFactory.idl>
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** Provide access to a collection of remote content providers.
+
+ @version 1.0
+ @see XRemoteContentProviderAcceptor
+*/
+published interface XRemoteContentProviderSupplier: com::sun::star::uno::XInterface
+{
+ /** Get a factory through which a remote content provider's
+ UniversalContentBroker service can be instantiated.
+
+ @param Identifier An arbitrary identifier uniquely identifying a
+ remote content provider.
+
+ @return the appropriate factory, or null if none is available.
+ */
+ com::sun::star::lang::XMultiServiceFactory
+ queryRemoteContentProvider([in] string Identifier);
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XSimpleFileAccess.idl b/offapi/com/sun/star/ucb/XSimpleFileAccess.idl
new file mode 100644
index 000000000..cc30de7e9
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XSimpleFileAccess.idl
@@ -0,0 +1,244 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_ucb_XSimpleFileAccess_idl__
+#define __com_sun_star_ucb_XSimpleFileAccess_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/RuntimeException.idl>
+#include <com/sun/star/uno/Exception.idl>
+#include <com/sun/star/ucb/CommandAbortedException.idl>
+#include <com/sun/star/task/XInteractionHandler.idl>
+#include <com/sun/star/util/DateTime.idl>
+#include <com/sun/star/io/XOutputStream.idl>
+#include <com/sun/star/io/XInputStream.idl>
+#include <com/sun/star/io/XStream.idl>
+
+
+
+
+module com { module sun { module star { module ucb {
+
+/** This is the basic interface to read data from a stream.
+*/
+published interface XSimpleFileAccess: com::sun::star::uno::XInterface
+{
+
+ /** Copies a file
+
+ @param SourceURL
+ URL of the file to be copied
+ @param DestURL
+ URL of the location the file should be copied to
+
+ @see move
+ */
+ void copy( [in] string SourceURL, [in] string DestURL )
+ raises( com::sun::star::ucb::CommandAbortedException, com::sun::star::uno::Exception );
+
+ /** Moves a file
+
+ @param SourceURL
+ URL of the file to be moved
+ @param DestURL
+ URL of the location the file should be moved to
+
+ @see move
+ */
+ void move( [in] string SourceURL, [in] string DestURL )
+ raises( com::sun::star::ucb::CommandAbortedException, com::sun::star::uno::Exception );
+
+ /** Removes a file. If the URL represents a folder, the folder will be
+ removed, even if it's not empty.
+
+ @param FileURL
+ File/folder to be removed
+
+ @see move
+ */
+ void kill( [in] string FileURL )
+ raises( com::sun::star::ucb::CommandAbortedException, com::sun::star::uno::Exception );
+
+ /** Checks if a URL represents a folder
+
+ @param FileURL
+ URL to be checked
+
+ @return
+ true, if the given URL represents a folder, otherwise false
+ */
+ boolean isFolder( [in] string FileURL )
+ raises( com::sun::star::ucb::CommandAbortedException, com::sun::star::uno::Exception );
+
+ /** Checks if a file is "read only"
+
+ @param FileURL
+ URL to be checked
+
+ @return
+ true, if the given File is "read only", false otherwise
+ */
+ boolean isReadOnly( [in] string FileURL )
+ raises( com::sun::star::ucb::CommandAbortedException, com::sun::star::uno::Exception );
+
+ /** Sets the "read only" of a file according to the boolean parameter,
+ if the actual process has the right to do so.
+
+ @param FileURL
+ URL of the file
+
+ @param bReadOnly
+ true; "read only" flag will be set, false; "read only" flag will be reset
+ */
+ void setReadOnly( [in] string FileURL, [in] boolean bReadOnly )
+ raises( com::sun::star::ucb::CommandAbortedException, com::sun::star::uno::Exception );
+
+ /** Creates a new Folder
+
+ @param NewFolderURL
+ URL describing the location of the new folder
+ */
+ void createFolder( [in] string NewFolderURL )
+ raises( com::sun::star::ucb::CommandAbortedException, com::sun::star::uno::Exception );
+
+ /** Returns the size of a file.
+
+ @param FileURL
+ URL of the file
+
+ @return Size of the file in bytes
+ */
+ long getSize( [in] string FileURL )
+ raises( com::sun::star::ucb::CommandAbortedException, com::sun::star::uno::Exception );
+
+ /** Returns the content type of a file.
+
+ @see XContent::getContentType
+
+ @param FileURL
+ URL of the file
+
+ @return Content type of the file
+ */
+ string getContentType( [in] string FileURL )
+ raises( com::sun::star::ucb::CommandAbortedException, com::sun::star::uno::Exception );
+
+ /** Returns the last modified date for the file
+
+ @param FileURL
+ URL of the file
+
+ @return Last modified date for the file
+ */
+ ::com::sun::star::util::DateTime getDateTimeModified( [in] string FileURL )
+ raises( com::sun::star::ucb::CommandAbortedException, com::sun::star::uno::Exception );
+
+ /** Returns the contents of a folder
+
+ @param FolderURL
+ URL of the folder
+ @param bIncludeFolders
+ true: Subfolders are included, false: No subfolders
+
+ @return The content of a folder, each file as one string
+ in a string sequence
+ */
+ sequence<string> getFolderContents( [in] string FolderURL, [in] boolean bIncludeFolders )
+ raises( com::sun::star::ucb::CommandAbortedException, com::sun::star::uno::Exception );
+
+ /** Checks if a file exists
+
+ @param FileURL
+ URL to be checked
+
+ @return
+ true, if the File exists, false otherwise
+ */
+ boolean exists( [in] string FileURL )
+ raises( com::sun::star::ucb::CommandAbortedException, com::sun::star::uno::Exception );
+
+
+ /** Opens file to read
+
+ @param FileURL
+ File to open
+
+ @return
+ An XInputStream, if the file can be opened for reading
+ */
+ com::sun::star::io::XInputStream openFileRead( [in] string FileURL )
+ raises( com::sun::star::ucb::CommandAbortedException, com::sun::star::uno::Exception );
+
+ /** Opens file to write.
+
+ @param FileURL
+ File to open
+
+ @return
+ An XOutputStream, if the file can be opened for writing
+
+ @throws
+ UnsupportedDataSinkException, if the file cannot be
+ opened for random write access. Some resources do not allow random
+ write access. To write data for those resources
+ XSimpleFileAccess2::writeFile() may be used.
+ */
+ com::sun::star::io::XOutputStream openFileWrite( [in] string FileURL )
+ raises( com::sun::star::ucb::CommandAbortedException, com::sun::star::uno::Exception );
+
+ /** Opens file to read and write
+
+ @param FileURL
+ File to open
+
+ @return
+ An XStream, if the file can be opened for reading and writing
+
+ @throws
+ UnsupportedDataSinkException, if the file cannot be
+ opened for random write access. Some resources do not allow random
+ write access. To write data for those resources
+ XSimpleFileAccess2::writeFile() may be used.
+ */
+ com::sun::star::io::XStream openFileReadWrite( [in] string FileURL )
+ raises( com::sun::star::ucb::CommandAbortedException, com::sun::star::uno::Exception );
+
+ /** Sets an interaction handler to be used for further operations.
+
+ <p>
+ A default interaction handler is available as service
+ com::sun::star::task::InteractionHandler.
+ The documentation of this service also contains further
+ information about the interaction handler concept.
+ </p>
+
+ @see com::sun::star::task::InteractionHandler
+
+ @param Handler
+ The interaction handler to be set
+ */
+ void setInteractionHandler( [in] com::sun::star::task::XInteractionHandler Handler );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XSimpleFileAccess2.idl b/offapi/com/sun/star/ucb/XSimpleFileAccess2.idl
new file mode 100644
index 000000000..71de89dd2
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XSimpleFileAccess2.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_ucb_XSimpleFileAccess2_idl__
+#define __com_sun_star_ucb_XSimpleFileAccess2_idl__
+
+#include <com/sun/star/ucb/XSimpleFileAccess.idl>
+#include <com/sun/star/io/XInputStream.idl>
+#include <com/sun/star/uno/Exception.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** This is an extension to the interface XSimpleFileAccess.
+*/
+published interface XSimpleFileAccess2 : com::sun::star::ucb::XSimpleFileAccess
+{
+
+ /** Overwrites the file content with the given data.
+
+ <p>If the file does not exist, it will be created.
+
+ @param FileURL
+ File to write
+
+ @param data
+ A stream containing the data for the file to be (over-)written
+ */
+ void writeFile( [in] string FileURL,
+ [in] com::sun::star::io::XInputStream data )
+ raises( com::sun::star::uno::Exception );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XSimpleFileAccess3.idl b/offapi/com/sun/star/ucb/XSimpleFileAccess3.idl
new file mode 100644
index 000000000..e67c9d7b8
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XSimpleFileAccess3.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_ucb_XSimpleFileAccess3_idl__
+#define __com_sun_star_ucb_XSimpleFileAccess3_idl__
+
+#include <com/sun/star/ucb/XSimpleFileAccess2.idl>
+#include <com/sun/star/io/XInputStream.idl>
+#include <com/sun/star/uno/Exception.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** This is an extension to the interface XSimpleFileAccess2.
+
+ @since OOo 1.1.2
+*/
+published interface XSimpleFileAccess3 : com::sun::star::ucb::XSimpleFileAccess2
+{
+ /** Checks if a file is "hidden"
+
+ @param FileURL
+ URL to be checked
+
+ @return
+ true, if the given File is "hidden", false otherwise
+ */
+ boolean isHidden( [in] string FileURL )
+ raises( com::sun::star::ucb::CommandAbortedException, com::sun::star::uno::Exception );
+
+ /** Sets the "hidden" of a file according to the boolean parameter,
+ if the actual process has the right to do so and the used
+ operation system supports this operation.
+
+ @param FileURL
+ URL of the file
+
+ @param bHidden
+ true; "hidden" flag will be set, false; "hidden" flag will be reset
+ */
+ void setHidden( [in] string FileURL, [in] boolean bHidden )
+ raises( com::sun::star::ucb::CommandAbortedException, com::sun::star::uno::Exception );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XSortedDynamicResultSetFactory.idl b/offapi/com/sun/star/ucb/XSortedDynamicResultSetFactory.idl
new file mode 100644
index 000000000..7ec634e89
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XSortedDynamicResultSetFactory.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_ucb_XSortedDynamicResultSetFactory_idl__
+#define __com_sun_star_ucb_XSortedDynamicResultSetFactory_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/ucb/XDynamicResultSet.idl>
+#include <com/sun/star/ucb/NumberedSortingInfo.idl>
+#include <com/sun/star/ucb/XAnyCompareFactory.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** Provides a method to create an XDynamicResultSet which
+ will be sorted according to the given sorting options.
+*/
+
+published interface XSortedDynamicResultSetFactory: com::sun::star::uno::XInterface
+{
+ /** creates a sorted XDynamicResultSet depending on internal
+ data, an (unsorted) XDynamicResultSet and the sorting info.
+
+ @returns
+ a sorted result set.
+
+ @param Source
+ the (unsorted) source result set
+
+ @param Info
+ the sort criteria
+
+ @param CompareFactory
+ a factory for compare objects.
+ */
+ com::sun::star::ucb::XDynamicResultSet createSortedDynamicResultSet(
+ [in] com::sun::star::ucb::XDynamicResultSet Source,
+ [in] sequence<com::sun::star::ucb::NumberedSortingInfo> Info,
+ [in] com::sun::star::ucb::XAnyCompareFactory CompareFactory );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XSourceInitialization.idl b/offapi/com/sun/star/ucb/XSourceInitialization.idl
new file mode 100644
index 000000000..c77c98845
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XSourceInitialization.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_ucb_XSourceInitialization_idl__
+#define __com_sun_star_ucb_XSourceInitialization_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/ucb/AlreadyInitializedException.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** provides the initialization of a component with any source object.
+*/
+
+published interface XSourceInitialization: com::sun::star::uno::XInterface
+{
+ /** provides the initialization of a component with any source object.
+
+ <p>The service description has to specify which type of interface must
+ be set as parameter.
+
+ <p>Hopefully you will only use this, when <var>Source</var>
+ is a com::sun::star::lang::XComponent and this
+ is a com::sun::star::lang::XEventListener.
+ Then you should call
+ com::sun::star::lang::XComponent::addEventListener()
+ from inside the implementation of this method.
+
+ @param Source
+ the source.
+
+ @throws AlreadyInitializedException
+ if this method is called more than once during the lifetime of the
+ object implementing this interface.
+
+ */
+ void setSource( [in] com::sun::star::uno::XInterface Source )
+ raises (AlreadyInitializedException);
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XUniversalContentBroker.idl b/offapi/com/sun/star/ucb/XUniversalContentBroker.idl
new file mode 100644
index 000000000..6df4b2f46
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XUniversalContentBroker.idl
@@ -0,0 +1,131 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_ucb_XUniversalContentBroker_idl__
+#define __com_sun_star_ucb_XUniversalContentBroker_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/ucb/XCommandProcessor.idl>
+#include <com/sun/star/ucb/XCommandProcessor2.idl>
+#include <com/sun/star/ucb/XContentProviderManager.idl>
+#include <com/sun/star/ucb/XContentProvider.idl>
+#include <com/sun/star/ucb/XContentIdentifierFactory.idl>
+
+module com { module sun { module star { module ucb {
+
+/**
+
+ @since LibreOffice 4.0
+*/
+published interface XUniversalContentBroker
+{
+ /** must be implemented to make it possible to resolve cyclic object
+ references.
+
+ <p>Those references i.e. may occur if content provider implementations
+ hold references to the Broker. The Broker itself always holds its
+ providers. If the Broker shall be released,
+ com::sun::star::lang::XComponent::dispose()
+ must be called at the Broker. The implementation of this method must
+ call
+ com::sun::star::lang::XEventListener::disposing()
+ on the registered listeners (the providers holding the Broker must be
+ those listeners) and release the appropriate object references. At
+ the other hand, the implementation of XEventListener::disposing must
+ release its appropriate references.
+
+ <p>This interface is required.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ /** provides access to all kind of contents provided by the registered
+ content providers.
+
+ <p>This interface is required.
+ */
+ interface com::sun::star::ucb::XContentProvider;
+
+ /** provides access to a set of content providers registered with the UCB.
+
+ <p>This interface is required.
+ */
+ interface com::sun::star::ucb::XContentProviderManager;
+
+ /** creates XContentIdentifier implementation objects for
+ all kind of contents provided by the UCB.
+
+ <p>This interface is required.
+ */
+ interface com::sun::star::ucb::XContentIdentifierFactory;
+
+ /** Enables the caller to execute commands at the broker.
+
+ Is an enhanced version of XCommandProcessor that has an
+ additional method for releasing command identifiers obtained via
+ XCommandProcessor::createCommandIdentifier() to avoid
+ resource leaks. For a detailed description of the problem refer to
+ XCommandProcessor2::releaseCommandIdentifier().
+
+
+ <p>This interface is required.
+
+ <p><pre>
+ =======================================================================
+ Commands:
+ =======================================================================
+
+ [return type]
+ [command name]
+ [parameter type and name]
+
+ -----------------------------------------------------------------------
+ Required commands:
+ -----------------------------------------------------------------------
+
+ // This command obtains an interface which allows to query
+ // information on commands supported by the Content Broker.
+
+ XCommandInfo
+ getCommandInfo
+ void
+
+ // This command transfers Contents from one location to another.
+ // Additionally, it can be used to create a link to a Content.
+ // The implementation must be able to handle Contents provided
+ // by any Content Provider. This is different from the command
+ // "transfer" that can be supported by a Content. That command
+ // typically can only handle Contents provided by one
+ // ContentProvider.
+
+ void
+ globalTransfer
+ GlobalTransferCommandArgument
+ </pre>
+
+ */
+ interface com::sun::star::ucb::XCommandProcessor2;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XWebDAVCommandEnvironment.idl b/offapi/com/sun/star/ucb/XWebDAVCommandEnvironment.idl
new file mode 100644
index 000000000..3203cefd7
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XWebDAVCommandEnvironment.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_ucb_XWebDAVCommandEnvironment_idl__
+#define __com_sun_star_ucb_XWebDAVCommandEnvironment_idl__
+
+#include <com/sun/star/ucb/XCommandEnvironment.idl>
+#include <com/sun/star/ucb/WebDAVHTTPMethod.idl>
+#include <com/sun/star/beans/StringPair.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** A command environment that can be used to deal with WebDAV/HTTP specific
+ commands.
+*/
+interface XWebDAVCommandEnvironment : XCommandEnvironment
+{
+ /** This method gets called while assembling a WebDAV/HTTP request.
+ The returned headername-headervalue pairs will be appended to
+ the list of request headers before the request is dispatched.
+
+ @param aURI
+ The request URI.
+
+ @param eMethod
+ The WebDAV/HTTP method ("GET","PUT","MKCOL",...) as defined in WebDAVHTTPMethod.
+
+ @return
+ A sequence of header name, header value pairs. The header
+ names must be the plain names and contain no trailing ":".
+ */
+ sequence<com::sun::star::beans::StringPair> getUserRequestHeaders(
+ [in] string aURI,
+ [in] WebDAVHTTPMethod eMethod);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/ActionTrigger.idl b/offapi/com/sun/star/ui/ActionTrigger.idl
new file mode 100644
index 000000000..5b36df834
--- /dev/null
+++ b/offapi/com/sun/star/ui/ActionTrigger.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_ui_ActionTrigger_idl__
+#define __com_sun_star_ui_ActionTrigger_idl__
+
+#include <com/sun/star/awt/XBitmap.idl>
+#include <com/sun/star/container/XIndexContainer.idl>
+#include <com/sun/star/lang/XMultiServiceFactory.idl>
+
+module com { module sun { module star { module ui {
+
+/** describes a trigger for an (user inter-)action.
+ <p>Common examples for such triggers are menu entries or toolbar icons.</p>
+*/
+published service ActionTrigger
+{
+ /** contains the text of the menu entry.
+ */
+ [property] string Text;
+
+ /** contains the command URL for the menu entry.
+ */
+ [property] string CommandURL;
+
+ /** contains the a URL that points to a help text.
+ */
+ [optional, property] string HelpURL;
+
+ /** contains the menu item image.
+ */
+ [property] ::com::sun::star::awt::XBitmap Image;
+
+ /** contains a sub menu.
+ */
+ [property] ::com::sun::star::container::XIndexContainer SubContainer;
+};
+}; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/ActionTriggerContainer.idl b/offapi/com/sun/star/ui/ActionTriggerContainer.idl
new file mode 100644
index 000000000..b3c2d7df2
--- /dev/null
+++ b/offapi/com/sun/star/ui/ActionTriggerContainer.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_ui_ActionTriggerContainer_idl__
+#define __com_sun_star_ui_ActionTriggerContainer_idl__
+
+#include <com/sun/star/container/XIndexContainer.idl>
+#include <com/sun/star/lang/XMultiServiceFactory.idl>
+#include <com/sun/star/container/XContainer.idl>
+#include <com/sun/star/container/XEnumerationAccess.idl>
+
+module com { module sun { module star { module ui {
+
+
+/** describes a container of user actions.
+
+ <p>No assumption is made about any graphical representation:
+ You could have a menu or a toolbox working with the same container
+ describing their entries.</p>
+
+ <p>Possible elements of the ActionTriggerContainer are
+ <ul>
+ <li>ActionTrigger -
+ represents a simply clickable menu entry</li>
+ <li>ActionTriggerSeparator -
+ represents a separator between two entries<br/>
+ This entry type is of interest for components rendering a an
+ ActionTriggerContainer
+ </li>
+ <li>ActionTriggerContainer -
+ represents a sub container</li>
+ </ul>
+ </p>
+*/
+published service ActionTriggerContainer
+{
+ /** provides access to the entries of a menu. The element type
+ is com::sun::star::beans::XPropertySet.
+ The property set contains attributes like CommandURL, HelpURL
+ as defined in the service com::sun::star::ui::ActionTrigger
+ and optional a com::sun::star::ui::ActionTriggerContainer.
+ */
+
+ interface ::com::sun::star::container::XIndexContainer;
+
+ /** creates elements to be inserted into the container.
+ <p>Usually, the XMultiServiceFactory::getSupportedServiceNames()
+ gives you an ActionTrigger and
+ optionally ActionTriggerContainer and
+ ActionTriggerSeparator
+
+ .</p>
+ */
+ interface ::com::sun::star::lang::XMultiServiceFactory;
+
+ /** allows to enumerate the elements of the container
+ */
+ [optional] interface ::com::sun::star::container::XEnumerationAccess;
+
+ /** allows foreign components to register themselves as listener for the container
+ structure.
+ */
+ [optional] interface ::com::sun::star::container::XContainer;
+};
+}; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/ActionTriggerSeparator.idl b/offapi/com/sun/star/ui/ActionTriggerSeparator.idl
new file mode 100644
index 000000000..2d4c2f7ce
--- /dev/null
+++ b/offapi/com/sun/star/ui/ActionTriggerSeparator.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_ui_ActionTriggerSeparator_idl__
+#define __com_sun_star_ui_ActionTriggerSeparator_idl__
+
+module com { module sun { module star { module ui {
+
+
+/** describes a separator entry. Such entries are of interest
+ for components rendering an ActionTriggerContainer.
+*/
+published service ActionTriggerSeparator
+{
+ /** determines the type of the separator using constants from
+ ActionTriggerSeparatorType.
+ */
+ [optional, property] short SeparatorType;
+};
+
+}; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/ActionTriggerSeparatorType.idl b/offapi/com/sun/star/ui/ActionTriggerSeparatorType.idl
new file mode 100644
index 000000000..dc6b201ec
--- /dev/null
+++ b/offapi/com/sun/star/ui/ActionTriggerSeparatorType.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_ui_ActionTriggerSeparatorType_idl__
+#define __com_sun_star_ui_ActionTriggerSeparatorType_idl__
+
+module com { module sun { module star { module ui {
+
+/** Determines the type of a separator in an ActionTriggerContainer.
+ */
+published constants ActionTriggerSeparatorType
+{
+ /** a separator is inserted as a line.
+ */
+ const short LINE = 0;
+ /** a separator is inserted as a space.
+ */
+ const short SPACE = 1;
+ /** a line break is inserted.
+ */
+ const short LINEBREAK = 2;
+
+};
+
+}; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/AddressBookSourceDialog.idl b/offapi/com/sun/star/ui/AddressBookSourceDialog.idl
new file mode 100644
index 000000000..b986f3113
--- /dev/null
+++ b/offapi/com/sun/star/ui/AddressBookSourceDialog.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_ui_AddressBookSourceDialog_idl__
+#define __com_sun_star_ui_AddressBookSourceDialog_idl__
+
+#include <com/sun/star/ui/dialogs/XExecutableDialog.idl>
+#include <com/sun/star/awt/XWindow.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+
+
+module com { module sun { module star { module ui {
+
+
+/** This interface could be incomplete since I derived it from its places of use.
+
+ @since LibreOffice 4.1
+*/
+
+service AddressBookSourceDialog : com::sun::star::ui::dialogs::XExecutableDialog
+{
+
+ createWithDataSource([in] com::sun::star::awt::XWindow ParentWindow,
+ [in] com::sun::star::beans::XPropertySet DataSource,
+ [in] string DataSourceName,
+ [in] string Command,
+ [in] string Title);
+};
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/ConfigurableUIElement.idl b/offapi/com/sun/star/ui/ConfigurableUIElement.idl
new file mode 100644
index 000000000..94dd7ce42
--- /dev/null
+++ b/offapi/com/sun/star/ui/ConfigurableUIElement.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_ui_ConfigurableUIElement_idl__
+#define __com_sun_star_ui_ConfigurableUIElement_idl__
+
+#include <com/sun/star/ui/UIElement.idl>
+#include <com/sun/star/ui/XUIElementSettings.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/ui/UIElementType.idl>
+#include <com/sun/star/ui/XUIConfigurationManager.idl>
+#include <com/sun/star/frame/XFrame.idl>
+#include <com/sun/star/lang/XInitialization.idl>
+
+
+module com { module sun { module star { module ui {
+
+
+/** specifies a configurable user interface element that supports persistence.
+
+ <p>
+ Configurable user interface elements are:
+ <ul>
+ <li>menubar</li>
+ <li>popupmenu<li>
+ <li>toolbar</li>
+ <li>statusbar</li>
+ </ul>
+ </p>
+
+ @since OOo 2.0
+*/
+
+service ConfigurableUIElement
+{
+ /** provides properties and functions to initialize and identify a user
+ interface element.
+
+ <p>
+ A configurable user interface element must be initialized using
+ com::sun::star::lang::XInitialization::initialize() before
+ it can be used. The following properties must be provided:
+ <ul>
+ <li><b>ResourceURL</b><br>specifies the user interface name.</li>
+ <li><b>Frame</b><br>specifies to which frame instance the user interface belongs to.</li>
+ <li><b>ConfigurationSource</b><br>specifies to which configuration manager a user interface
+ element instance is bound to.</li>
+ </ul>
+ </p>
+
+ A user interface element factory creates and initializes every user interface element
+ correctly.
+
+ @see com::sun::star::ui::UIElementFactory
+ */
+ service UIElement;
+
+ /** provides functions to retrieve and change the user interface element structure data and to
+ update its visible representation.
+ */
+ interface com::sun::star::ui::XUIElementSettings;
+
+ /** specifies if the user interface element stores changes of its structure to its creator
+ source defined by the property #ConfigurationSource. */
+ [property] boolean Persistent;
+
+ /** specifies the configuration source of this user interface element.
+
+ <p>
+ If the property #Persistent is `TRUE` changes on the structure of
+ the user interface element are written back to configuration source. When this property is
+ changed, afterwards XUIElementSettings::updateSettings() must be called so
+ the user interface element tries to retrieve its settings from the new user interface
+ configuration manager.
+ </p>
+ */
+ [property] com::sun::star::ui::XUIConfigurationManager ConfigurationSource;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/ConfigurationEvent.idl b/offapi/com/sun/star/ui/ConfigurationEvent.idl
new file mode 100644
index 000000000..cf8afd226
--- /dev/null
+++ b/offapi/com/sun/star/ui/ConfigurationEvent.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_ui_ConfigurationEvent_idl__
+#define __com_sun_star_ui_ConfigurationEvent_idl__
+
+#include <com/sun/star/container/ContainerEvent.idl>
+
+module com { module sun { module star { module ui {
+
+/** this event is broadcasted by a configuration manager whenever the state of
+ user interface element has changed.
+
+ @since OOo 2.0
+*/
+
+published struct ConfigurationEvent : ::com::sun::star::container::ContainerEvent
+{
+ /** contains the resource URL of the user interface element or a
+ configuration manager, which has been changed, inserted or replaced. */
+ string ResourceURL;
+
+ /** contains additional information about this configuration event.
+ The type depends on the specific implementation.
+ */
+ any aInfo;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/ContextChangeEventMultiplexer.idl b/offapi/com/sun/star/ui/ContextChangeEventMultiplexer.idl
new file mode 100644
index 000000000..80fe8c635
--- /dev/null
+++ b/offapi/com/sun/star/ui/ContextChangeEventMultiplexer.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_ui_ContextChangeEventMultiplexer_idl__
+#define __com_sun_star_ui_ContextChangeEventMultiplexer_idl__
+
+#include <com/sun/star/ui/XContextChangeEventMultiplexer.idl>
+
+module com { module sun { module star { module ui {
+
+/** Multiplex events for context changes.
+
+ A typical listener for context changes is the sidebar.
+*/
+singleton ContextChangeEventMultiplexer : com::sun::star::ui::XContextChangeEventMultiplexer;
+
+}; }; }; }; // com.sun.star.ui
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/ContextChangeEventObject.idl b/offapi/com/sun/star/ui/ContextChangeEventObject.idl
new file mode 100644
index 000000000..64280be87
--- /dev/null
+++ b/offapi/com/sun/star/ui/ContextChangeEventObject.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_ui_ContextChangeEventObject_idl__
+#define __com_sun_star_ui_ContextChangeEventObject_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/EventObject.idl>
+
+module com { module sun { module star { module ui {
+
+struct ContextChangeEventObject : com::sun::star::lang::EventObject
+{
+ /** Return the name of the application.
+ */
+ string ApplicationName;
+
+ /** Return the application specific context name.
+ */
+ string ContextName;
+};
+
+}; }; }; };
+
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/ContextMenuExecuteEvent.idl b/offapi/com/sun/star/ui/ContextMenuExecuteEvent.idl
new file mode 100644
index 000000000..6afed53ed
--- /dev/null
+++ b/offapi/com/sun/star/ui/ContextMenuExecuteEvent.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_ui_ContextMenuExecuteEvent_idl__
+#define __com_sun_star_ui_ContextMenuExecuteEvent_idl__
+
+#include <com/sun/star/awt/XWindow.idl>
+#include <com/sun/star/awt/Point.idl>
+#include <com/sun/star/container/XIndexContainer.idl>
+#include <com/sun/star/view/XSelectionSupplier.idl>
+
+module com { module sun { module star { module ui {
+
+/** contains all information about the requested context menu.
+ */
+published struct ContextMenuExecuteEvent
+{
+ /** contains the window where the context menu has been requested
+ */
+ ::com::sun::star::awt::XWindow SourceWindow;
+ /** contains the position the context menu will be executed at.
+ */
+ ::com::sun::star::awt::Point ExecutePosition;
+ /** enables the access to the menu content.
+ The implementing object has to support the service
+ com::sun::star::ui::ActionTriggerContainer;
+ */
+ ::com::sun::star::container::XIndexContainer ActionTriggerContainer;
+ /** provides the current selection inside the source window.
+ */
+ ::com::sun::star::view::XSelectionSupplier Selection;
+};
+
+}; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/ContextMenuInterceptorAction.idl b/offapi/com/sun/star/ui/ContextMenuInterceptorAction.idl
new file mode 100644
index 000000000..82fcbe82b
--- /dev/null
+++ b/offapi/com/sun/star/ui/ContextMenuInterceptorAction.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_ui_ContextMenuInterceptorAction_idl__
+#define __com_sun_star_ui_ContextMenuInterceptorAction_idl__
+
+module com { module sun { module star { module ui {
+
+
+/** determines the action that is requested from the XContextMenuInterceptor.
+ */
+published enum ContextMenuInterceptorAction
+{
+ /** the XContextMenuInterceptor has ignored the call. The next registered
+ XContextMenuInterceptor should be notified.
+ */
+ IGNORED,
+ /** the context menu must not be executed. The next registered
+ XContextMenuInterceptor should not be notified.
+ */
+ CANCELLED,
+ /**
+ the menu has been modified and should be executed without notifying the next registered
+ XContextMenuInterceptor.
+ */
+ EXECUTE_MODIFIED,
+ /**
+ the menu has been modified and the next registered XContextMenuInterceptor
+ should be notified.
+ */
+ CONTINUE_MODIFIED
+};
+
+}; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/DockingArea.idl b/offapi/com/sun/star/ui/DockingArea.idl
new file mode 100644
index 000000000..a268b4948
--- /dev/null
+++ b/offapi/com/sun/star/ui/DockingArea.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_ui_DockingArea_idl__
+#define __com_sun_star_ui_DockingArea_idl__
+
+
+module com { module sun { module star { module ui {
+
+
+/** specifies different docking areas a frame based layout manager
+ supports.
+
+ <p>
+ A frame based layout manager supports four different docking areas where
+ dockable user interface elements can be docked.
+
+ @see com::sun::star::frame::XLayoutManager
+ </p>
+
+ @since OOo 2.0
+*/
+
+enum DockingArea
+{
+ /** the top docking area below the menu bar.
+ */
+ DOCKINGAREA_TOP,
+
+ /** the bottom docking area above the status bar.
+ */
+ DOCKINGAREA_BOTTOM,
+
+ /** the left side docking area.
+ */
+ DOCKINGAREA_LEFT,
+
+ /** the right side docking area.
+ */
+ DOCKINGAREA_RIGHT,
+
+ /** a default docking area. It depends on the implementation
+ how to treat this value.
+ */
+ DOCKINGAREA_DEFAULT
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/DocumentAcceleratorConfiguration.idl b/offapi/com/sun/star/ui/DocumentAcceleratorConfiguration.idl
new file mode 100644
index 000000000..45d85b7d6
--- /dev/null
+++ b/offapi/com/sun/star/ui/DocumentAcceleratorConfiguration.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_ui_DocumentAcceleratorConfiguration_idl__
+#define __com_sun_star_ui_DocumentAcceleratorConfiguration_idl__
+
+#include <com/sun/star/ui/XAcceleratorConfiguration.idl>
+#include <com/sun/star/embed/XStorage.idl>
+
+module com { module sun { module star { module ui {
+
+/**
+
+ @since LibreOffice 4.2
+*/
+service DocumentAcceleratorConfiguration : XAcceleratorConfiguration
+{
+ createWithDocumentRoot([in] com::sun::star::embed::XStorage DocumentRoot);
+};
+
+}; }; }; }; // com.sun.star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/GlobalAcceleratorConfiguration.idl b/offapi/com/sun/star/ui/GlobalAcceleratorConfiguration.idl
new file mode 100644
index 000000000..6a464bde4
--- /dev/null
+++ b/offapi/com/sun/star/ui/GlobalAcceleratorConfiguration.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_ui_GlobalAcceleratorConfiguration_idl__
+#define __com_sun_star_ui_GlobalAcceleratorConfiguration_idl__
+
+#include <com/sun/star/ui/XAcceleratorConfiguration.idl>
+
+module com { module sun { module star { module ui {
+
+/** provides access to the global accelerator (aka shortcut) configuration set.
+
+ @since OOo 2.0
+*/
+service GlobalAcceleratorConfiguration : XAcceleratorConfiguration;
+
+}; }; }; }; // com.sun.star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/ImageManager.idl b/offapi/com/sun/star/ui/ImageManager.idl
new file mode 100644
index 000000000..f8b5b1a4d
--- /dev/null
+++ b/offapi/com/sun/star/ui/ImageManager.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_ui_ImageManager_idl__
+#define __com_sun_star_ui_ImageManager_idl__
+
+#include <com/sun/star/ui/XImageManager.idl>
+
+module com { module sun { module star { module ui {
+
+
+/**
+
+ @since LibreOffice 4.1
+*/
+service ImageManager : XImageManager;
+
+}; }; }; }; // com.sun.star.ui
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/ImageType.idl b/offapi/com/sun/star/ui/ImageType.idl
new file mode 100644
index 000000000..8dff0acd4
--- /dev/null
+++ b/offapi/com/sun/star/ui/ImageType.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_ui_ImageType_idl__
+#define __com_sun_star_ui_ImageType_idl__
+
+module com { module sun { module star { module ui {
+
+/** Determine the image set of an image manager.
+
+ <p>
+ The constants describe bits in a bit field which determine
+ the current image set of an image manager.
+ </p>
+
+ @since OOo 2.0
+ */
+constants ImageType
+{
+ /** an image with default size.
+ */
+ const short SIZE_DEFAULT = 0;
+
+ /** an image with large size.
+ */
+ const short SIZE_LARGE = 1;
+
+ /** an image with size 32.
+ @since LibreOffice 5.3
+ */
+ const short SIZE_32 = 2;
+
+ /** an image with normal colors.
+ */
+ const short COLOR_NORMAL = 0;
+
+ /** an image with high contrast colors.
+ */
+ const short COLOR_HIGHCONTRAST = 4;
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/ItemDescriptor.idl b/offapi/com/sun/star/ui/ItemDescriptor.idl
new file mode 100644
index 000000000..a0c492ada
--- /dev/null
+++ b/offapi/com/sun/star/ui/ItemDescriptor.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_ui_ItemDescriptor_idl__
+#define __com_sun_star_ui_ItemDescriptor_idl__
+
+#include <com/sun/star/container/XIndexAccess.idl>
+
+
+module com { module sun { module star { module ui {
+
+/**
+ describes a user interface item that is part of a user interface
+ element.
+ <p>Common examples for such elements are:
+ <ul>
+ <li>menus</li>
+ <li>tool bars</li>
+ <li>status bars</li>
+ </ul>
+ No assumption is made about any graphical representation:
+ You could have a menu or a toolbox working with the same item descriptor.
+ </p>
+
+ @since OOo 2.0
+*/
+service ItemDescriptor
+{
+ /** specifies which type this item descriptor belongs to.<p>See constant definition
+ ItemType.</p>
+ */
+ [property] short Type;
+
+ /** the text of the user interface item.
+ */
+ [property] string Label;
+
+ /** contains the command URL which specifies which action should be accomplished.
+ */
+ [property] string CommandURL;
+
+ /** contains the a URL that points to a help text.
+ */
+ [property] string HelpURL;
+
+ /** different styles which influence the appearance of the item and its behavior.
+ <p>This property is only valid if the item describes a toolbar or statusbar
+ item. See ItemStyle for more information about possible styles.</p>
+ */
+ [optional, property] short Style;
+
+ /** specifies the pixel distance by which the text of the item is shifted on the x-axis.
+ <p>This property is only valid if the item describes a statusbar item.</p>
+ */
+ [optional, property] short Offset;
+
+ /** specifies an optional sub container.
+ <p>This property is valid for menus only. It can be used to define sub menus.</p>
+ */
+ [optional, property] com::sun::star::container::XIndexAccess ItemDescriptorContainer;
+
+ /** specifies if this item is visible or not.
+ <p>This property is only valid if the item describes a toolbar or statusbar item.</p>
+ */
+ [optional, property] boolean IsVisible;
+
+ /** specifies a pixel width for this item inside the user interface element.
+ <p>This property is only valid if the item describes a toolbar or statusbar item.</p>
+ */
+ [optional, property] short Width;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/ItemStyle.idl b/offapi/com/sun/star/ui/ItemStyle.idl
new file mode 100644
index 000000000..155cfe510
--- /dev/null
+++ b/offapi/com/sun/star/ui/ItemStyle.idl
@@ -0,0 +1,165 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_ui_ItemStyle_idl__
+#define __com_sun_star_ui_ItemStyle_idl__
+
+
+module com { module sun { module star { module ui {
+
+/**
+ specifies styles which influence the appearance and the behavior of an
+ user interface item.
+
+ <p>
+ These styles are only valid if the item describes a toolbar or statusbar item.
+ The style values can be combined with the OR operator. Styles which are not valid
+ for an item will be ignored by the implementation.<br/>
+ There are two styles where
+ only one value is valid:
+ Alignment:
+ <ul>
+ <li>ALIGN_LEFT</li>
+ <li>ALIGN_CENTER</li>
+ <li>ALIGN_RIGHT</li>
+ </ul>
+ Drawing:
+ <ul>
+ <li>DRAW_OUT3D</li>
+ <li>DRAW_IN3D</li>
+ <li>DRAW_FLAT</li>
+ </ul>
+ </p>
+
+ @since OOo 2.0
+*/
+constants ItemStyle
+{
+ /** specifies how the output of the item is aligned in the bounding box of
+ the user interface element.
+ <p>This style is only valid for an item which describes a statusbar item.
+ Draw item with a left aligned output.</p>
+ */
+ const short ALIGN_LEFT = 1;
+
+ /** specifies how the output of the item is aligned in the bounding box of
+ the user interface element.
+ <p>This style is only valid for an item which describes a statusbar item.
+ Draw item with a centered aligned output.</p>
+ */
+ const short ALIGN_CENTER = 2;
+
+ /** specifies how the output of the item is aligned in the bounding box of
+ the user interface element.
+ <p>This style is only valid for an item which describes a statusbar item.
+ Draw item with a right aligned output.</p>
+ */
+ const short ALIGN_RIGHT = 3;
+
+ /** specifies how the implementation should draw the item.
+ <p>This style is only valid for an item which describes a statusbar item.
+ Draw item with an embossed 3D effect.</p>
+ */
+ const short DRAW_OUT3D = 4;
+
+ /** specifies how the implementation should draw the item.
+ <p>This style is only valid for an item which describes a statusbar item.
+ Draw item with an impressed 3D effect.</p>
+ */
+ const short DRAW_IN3D = 8;
+
+ /** specifies how the implementation should draw the item.
+ <p>This style is only valid for an item which describes a statusbar item.
+ Draw item without an 3D effect.</p>
+ */
+ const short DRAW_FLAT = 12;
+
+ /** specifies whether or not an item is displayed using an external function.
+ <p>This style is only valid if the item describes a statusbar item.</p>
+ */
+ const short OWNER_DRAW = 16;
+
+ /** specifies whether or not the size of the item is set automatically by
+ the parent user interface element.
+ <p>This style is only valid if the item describes a toolbar or statusbar item.</p>
+ */
+ const short AUTO_SIZE = 32;
+
+ /** determines whether the item unchecks neighbor entries which have also this style set.
+ <p>This style is only valid if the item describes a toolbar item.</p>
+ */
+ const short RADIO_CHECK = 64;
+
+ /** specifies if an icon is placed on left side of the text, like an entry in a taskbar.
+ <p>This style is only valid if the item describes a toolbar item and visible if
+ style of the toolbar is set to symboltext.</p>
+
+ <p>This style can also be used for custom toolbars and menus, in a
+ custom toolbar an item's Style setting can used to override the
+ toolbar container setting, the style can be bitwise OR-ed with
+ ::com::sun::star::ui::ItemStyle::TEXT to define text,
+ text+icon or icon only is to be displayed. Similarly for menu items,
+ an items Style can override the application setting to display either
+ text or icon (note: for menu an icon only setting interpreted as
+ icon+text)</p>
+ */
+ const short ICON = 128;
+
+ /** specifies that the item supports a dropdown menu or toolbar for additional functions.
+ <p>This style is only valid if the item describes a toolbar item.</p>
+ */
+ const short DROP_DOWN = 256;
+
+ /** indicates that the item continues to execute the command while you click and hold
+ the mouse button.
+ <p>This style is only valid if the item describes a toolbar item.</p>
+ */
+ const short REPEAT = 512;
+
+ /** indicates that the item only supports a dropdown menu or toolbar for
+ additional functions. There is no function on the button itself.
+ <p>This style is only valid if the item describes a toolbar item.</p>
+ */
+ const short DROPDOWN_ONLY = 1024;
+ /** indicates if icon, text or text+icon is displayed for the item.
+
+ <p>This style can be used for custom toolbars and menus, in a custom
+ toolbar an item's Style setting can used to override the toolbar
+ container setting, the style can be bitwise OR-ed with
+ com::sun::star::ui::ItemStyle::ICON to define text,
+ text+icon or icon only is to be displayed. Similarly for menu items,
+ an items Style can override the application setting to display either
+ text or icon (note: for menu an icon only setting interpreted as
+ icon+text)</p>
+ */
+ const short TEXT = 2048;
+
+ /** marks always visible element which can not be removed when statusbar
+ width is not sufficient.
+
+ @since LibreOffice 6.1
+ */
+ const short MANDATORY = 4096;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/ItemType.idl b/offapi/com/sun/star/ui/ItemType.idl
new file mode 100644
index 000000000..64a1b5549
--- /dev/null
+++ b/offapi/com/sun/star/ui/ItemType.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_ui_ItemType_idl__
+#define __com_sun_star_ui_ItemType_idl__
+
+module com { module sun { module star { module ui {
+
+/** Determines the type of an item.
+
+ @since OOo 2.0
+ */
+constants ItemType
+{
+ /** a normal item
+ */
+ const short DEFAULT = 0;
+ /** a separator is inserted as a line.
+ */
+ const short SEPARATOR_LINE = 1;
+ /** a separator is inserted as a space.
+ */
+ const short SEPARATOR_SPACE = 2;
+ /** a line break is inserted.
+ */
+ const short SEPARATOR_LINEBREAK = 3;
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/LayoutSize.idl b/offapi/com/sun/star/ui/LayoutSize.idl
new file mode 100644
index 000000000..98fc05259
--- /dev/null
+++ b/offapi/com/sun/star/ui/LayoutSize.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_ui_LayoutSize_idl__
+#define __com_sun_star_ui_LayoutSize_idl__
+
+module com { module sun { module star { module ui {
+
+/** Size used for layouting windows.
+ It specifies a range of valid values and a preferred value.
+ The values must not violate the relation 0 ≤ Minimum ≤ Preferred ≤ Maximum.
+
+ @param Minimum
+ Zero or positive. The value itself is included in the valid
+ range.
+ @param Maximum
+ A value larger than or equal to Minimum.
+ The special value -1 means that there is no upper bound. Every value larger than or
+ equal to Minimum is valid.
+ @param Preferred
+ The preferred size inside the valid range.
+*/
+struct LayoutSize
+{
+ long Minimum;
+ long Maximum;
+ long Preferred;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/ModuleAcceleratorConfiguration.idl b/offapi/com/sun/star/ui/ModuleAcceleratorConfiguration.idl
new file mode 100644
index 000000000..532e93fb0
--- /dev/null
+++ b/offapi/com/sun/star/ui/ModuleAcceleratorConfiguration.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_ui_ModuleAcceleratorConfiguration_idl__
+#define __com_sun_star_ui_ModuleAcceleratorConfiguration_idl__
+
+#include <com/sun/star/ui/XAcceleratorConfiguration.idl>
+
+module com { module sun { module star { module ui {
+
+/**
+
+ @since LibreOffice 4.2
+*/
+service ModuleAcceleratorConfiguration : XAcceleratorConfiguration
+{
+ createWithModuleIdentifier([in] string ModuleIdentifier);
+};
+
+}; }; }; }; // com.sun.star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/ModuleUICategoryDescription.idl b/offapi/com/sun/star/ui/ModuleUICategoryDescription.idl
new file mode 100644
index 000000000..923b9a4ae
--- /dev/null
+++ b/offapi/com/sun/star/ui/ModuleUICategoryDescription.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_ui_ModuleUICategoryDescription_idl__
+#define __com_sun_star_ui_ModuleUICategoryDescription_idl__
+
+#include <com/sun/star/container/XNameAccess.idl>
+
+
+module com { module sun { module star { module ui {
+
+
+/** a service which provides information about the user interface command
+ categories of a single module.
+
+ <p>
+ Every OpenOffice.org module has an amount of commands that can be used by
+ user interface elements. This service provides access to the user interface
+ commands that are part of a single OpenOffice.org module, like Writer
+ or Calc.
+ </p>
+
+ @since OOo 2.0
+*/
+
+service ModuleUICategoryDescription
+{
+ /** provides access to user interface command categories of an installed
+ module.
+
+ <p>
+ An implementation must provide a language dependent string which
+ can be used by a UI to display the category name.
+ The key to a user interface command category depends on the specific
+ implementation. OpenOffice.org uses a pre-defined number of
+ identifiers defined in ::com::sun::star::frame::CommandGroup.
+ </p>
+
+ @see ::com::sun::star::frame::ModuleManager
+ @see ::com::sun::star::frame::CommandGroup
+ */
+
+ interface com::sun::star::container::XNameAccess;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/ModuleUICommandDescription.idl b/offapi/com/sun/star/ui/ModuleUICommandDescription.idl
new file mode 100644
index 000000000..d4364a329
--- /dev/null
+++ b/offapi/com/sun/star/ui/ModuleUICommandDescription.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_ui_ModuleUICommandDescription_idl__
+#define __com_sun_star_ui_ModuleUICommandDescription_idl__
+
+#include <com/sun/star/container/XNameAccess.idl>
+
+
+module com { module sun { module star { module ui {
+
+
+/** a service which provides information about the user interface commands of
+ a single module.
+
+ <p>
+ Every OpenOffice.org module has an amount of commands that can be used by
+ user interface elements. This service provides access to the user interface commands
+ that are part of a single OpenOffice.org module, like Writer or Calc.
+ </p>
+
+ @since OOo 2.0
+*/
+
+service ModuleUICommandDescription
+{
+ /** provides access to user interface commands of an installed module.
+
+ <p>
+ An implementation must provide a com::sun::star::uno::Sequence which
+ has com::sun::star::beans::PropertyValue as entries. The following
+ entries a defined:
+ <ul>
+ <li><b>Label</b><br>a string which specifies the short name of the user interface command with
+ mnemonic and optional subsequent ... if the command needs additional user input. This string
+ can directly be used to set the text of a menu item.</li>
+ <li><b>Name</b><br>a string which specifies the short name of the user interface command without
+ any additional information. It can be used for the bubble help.</li>
+ <li><b>Popup</b><br>a boolean which specifies if the user interface command is a unique
+ identifier for a pop-up menu. A pop-up menu has a label, but is not bound to a command.</li>
+ </ul>
+ The key to a user interface command description is the user interface command itself which has
+ the following syntax ".uno:$Command". For example ".uno:Open" shows the file open dialog.
+ A complete list of user interface commands can be found inside the latest OpenOffice Developers Guide
+ or online at http://framework.openoffice.org.
+ </p>
+
+ @see com::sun::star::frame::ModuleManager
+ */
+
+ interface com::sun::star::container::XNameAccess;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/ModuleUIConfigurationManager.idl b/offapi/com/sun/star/ui/ModuleUIConfigurationManager.idl
new file mode 100644
index 000000000..3c418fadd
--- /dev/null
+++ b/offapi/com/sun/star/ui/ModuleUIConfigurationManager.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_ui_ModuleUIConfigurationManager_idl__
+#define __com_sun_star_ui_ModuleUIConfigurationManager_idl__
+
+#include <com/sun/star/ui/XModuleUIConfigurationManager2.idl>
+#include <com/sun/star/configuration/CorruptedUIConfigurationException.idl>
+#include <com/sun/star/beans/UnknownPropertyException.idl>
+#include <com/sun/star/lang/WrappedTargetException.idl>
+
+module com { module sun { module star { module ui {
+
+/** specifies a user interface configuration manager which gives access to user interface
+ configuration data of a module.
+
+ <p>
+ A module user interface configuration manager supports two layers of configuration settings
+ data:<br>
+ 1. Layer: A module default user interface configuration which describe all user interface
+ elements settings that are used by OpenOffice. It is not possible to insert, remove or change
+ elements settings in this layer through the interfaces.<br>
+ 2. Layer: A module user interface configuration which only contains customized user interface
+ elements and user-defined ones. All changes on user interface element settings are done on
+ this layer.
+ </p>
+
+ @since OOo 2.0
+*/
+
+service ModuleUIConfigurationManager : XModuleUIConfigurationManager2
+{
+ /** provides a function to initialize a module user interface configuration manager instance.
+
+ <p>
+ A module user interface configuration manager instance needs the following arguments as
+ com::sun::star::beans::PropertyValue to be in a working state:
+ <ul>
+ <li><b>DefaultConfigStorage</b>a reference to a com::sun::star::embed::Storage that
+ contains the default module user interface configuration settings.</li>
+ <li><b>UserConfigStorage</b>a reference to a com::sun::star::embed::Storage that
+ contains the user-defined module user interface configuration settings.</li>
+ <li><b>ModuleIdentifier</b>string that provides the module identifier.</li>
+ <li><b>UserRootCommit</b>a reference to a com::sun::star::embed::XTransactedObject which
+ represents the customizable root storage. Every implementation must use this reference to commit its
+ changes also at the root storage.</li>
+ </ul>
+ A non-initialized module user interface configuration manager cannot be used, it is treated
+ as a read-only container.
+ </p>
+ */
+ createDefault([in] string ModuleShortName, [in] string ModuleIdentifier)
+ raises ( com::sun::star::configuration::CorruptedUIConfigurationException,
+ com::sun::star::beans::UnknownPropertyException,
+ com::sun::star::lang::WrappedTargetException );
+
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/ModuleUIConfigurationManagerSupplier.idl b/offapi/com/sun/star/ui/ModuleUIConfigurationManagerSupplier.idl
new file mode 100644
index 000000000..60e1bd58b
--- /dev/null
+++ b/offapi/com/sun/star/ui/ModuleUIConfigurationManagerSupplier.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_ui_ModuleUIConfigurationManagerSupplier_idl__
+#define __com_sun_star_ui_ModuleUIConfigurationManagerSupplier_idl__
+
+#include <com/sun/star/ui/XModuleUIConfigurationManagerSupplier.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+
+module com { module sun { module star { module ui {
+
+/**
+ A legacy (single-instance) service-variant of
+ theModuleUIConfigurationManagerSupplier singleton.
+
+ @deprecated Use theModuleUIConfigurationManagerSupplier singleton instead.
+
+ @since OOo 2.0
+*/
+service ModuleUIConfigurationManagerSupplier : XModuleUIConfigurationManagerSupplier;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/ModuleWindowStateConfiguration.idl b/offapi/com/sun/star/ui/ModuleWindowStateConfiguration.idl
new file mode 100644
index 000000000..5391847f5
--- /dev/null
+++ b/offapi/com/sun/star/ui/ModuleWindowStateConfiguration.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_ui_ModuleWindowStateConfiguration_idl__
+#define __com_sun_star_ui_ModuleWindowStateConfiguration_idl__
+
+#include <com/sun/star/container/XNameContainer.idl>
+
+
+module com { module sun { module star { module ui {
+
+
+/** a service which provides window based information about user interface
+ elements of a single application module.
+
+ <p>
+ Every OpenOffice.org module has an amount of user interface elements that can
+ be positioned, resized, closed and their style can be changed. This service
+ provides access to the window based information of available user interface
+ elements which are part of a single OpenOffice.org module, like Writer or
+ Calc.
+ </p>
+
+ @since OOo 2.0
+*/
+
+service ModuleWindowStateConfiguration
+{
+ /** provides read/write access to window based information of user interface
+ elements which are part of single installed module.
+
+ <p>
+ An implementation must provide a com::sun::star::uno::Sequence which
+ has com::sun::star::beans::PropertyValue as entries. The following
+ entries a defined:
+ <ul>
+ <li><b>Docked</b><br>a boolean which specifies if the window is docked or not.</li>
+ <li><b>DockingArea</b><br>a com::sun::star::ui::DockingArea
+ which specifies the docking area where the window is docked.</li>
+ <li><b>DockPos</b><br>a com::sun::star::awt::Point which specifies the
+ docked position of a window. The X and Y values are interpreted as a row/column number and
+ a pixel position for top/bottom docked windows. For left/right docked windows this is</li>
+ <li><b>DockSize</b><br>a com::sun::star::awt::Size which specifies
+ the docked size of the window. This property is currently not used by the layout manager
+ implementation. For future use.</li>
+ <li><b>Locked</b><br>a boolean which specifies if the window is locked or not. This property
+ is only valid for docked windows</li>
+ <li><b>Pos</b><br>a com::sun::star::awt::Point which specifies the
+ floating position in pixel of the window.</li>
+ <li><b>Size</b><br>a com::sun::star::awt::Size which specifies the
+ floating size in pixel of the window.</li>
+ <li><b>Style</b><br>a long which specifies the style of the window. A toolbar support the
+ following values: 0 = icons, 1 = text, 2 = text+icons.</li>
+ <li><b>UIName</b><br>a localized string which specifies the default window title.</li>
+ </ul>
+ The key to a user interface element is the resource URL which has
+ the following syntax "private:resource/$type/$name". For example "private:resource/toolbar/standardbar"
+ addresses the standard bar of a module.
+ A complete list of all user interface elements is available in the Developers Guide.
+ </p>
+
+ @see com::sun::star::frame::ModuleManager
+ */
+
+ interface com::sun::star::container::XNameContainer;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/UICategoryDescription.idl b/offapi/com/sun/star/ui/UICategoryDescription.idl
new file mode 100644
index 000000000..96415ed44
--- /dev/null
+++ b/offapi/com/sun/star/ui/UICategoryDescription.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_ui_UICategoryDescription_idl__
+#define __com_sun_star_ui_UICategoryDescription_idl__
+
+#include <com/sun/star/container/XNameAccess.idl>
+
+module com { module sun { module star { module ui {
+
+
+/**
+ A legacy (single-instance) service-variant of theUICategoryDescription singleton.
+
+ @deprecated Use theUICategoryDescription singleton instead.
+
+ @since OOo 2.0
+*/
+service UICategoryDescription : com::sun::star::container::XNameAccess;
+
+}; }; }; }; // com.sun.star.ui
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/UIConfigurationManager.idl b/offapi/com/sun/star/ui/UIConfigurationManager.idl
new file mode 100644
index 000000000..9b5fa9824
--- /dev/null
+++ b/offapi/com/sun/star/ui/UIConfigurationManager.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_ui_UIConfigurationManager_idl__
+#define __com_sun_star_ui_UIConfigurationManager_idl__
+
+#include <com/sun/star/ui/XUIConfigurationManager2.idl>
+
+module com { module sun { module star { module ui {
+
+/** specifies a user interface configuration manager which controls
+ all customizable user interface elements of an object.
+
+ @since OOo 2.0
+*/
+
+service UIConfigurationManager : XUIConfigurationManager2;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/UIElement.idl b/offapi/com/sun/star/ui/UIElement.idl
new file mode 100644
index 000000000..9ebceb714
--- /dev/null
+++ b/offapi/com/sun/star/ui/UIElement.idl
@@ -0,0 +1,89 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_ui_UIElement_idl__
+#define __com_sun_star_ui_UIElement_idl__
+
+#include <com/sun/star/ui/XUIElement.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/lang/XInitialization.idl>
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/util/XUpdatable.idl>
+
+
+module com { module sun { module star { module ui {
+
+
+/** specifies a user interface element.
+
+ <p>
+ A user interface element consists of a unique identifier and a type specifier. It
+ provides an interface to retrieve a special purpose interface which depends on
+ the specific user interface element type. Every user interface must be initialized
+ before it can be used.
+ </p>
+
+ @since OOo 2.0
+*/
+
+service UIElement
+{
+ /** provides a function to retrieve a special purpose interface which depends on
+ the specific user interface element type.
+ */
+ interface ::com::sun::star::ui::XUIElement;
+
+ /** interface to initialize a user interface element instance.
+
+ A user interface element must be initialized using
+ com::sun::star::lang::XInitialization::initialize() before
+ it can be used. The following property must be provided:
+ <ul>
+ <li><b>ResourceURL</b>specifies a string property which is the unique identifier of
+ the user interface element.</li>
+ </ul>
+
+ A user interface element factory creates and initializes every user interface element
+ correctly.
+
+ @see com::sun::star::ui::UIElementFactoryManager;
+ @see com::sun::star::ui::UIElementFactory
+ */
+ [optional] interface ::com::sun::star::lang::XInitialization;
+
+ /** used to notify an implementation that it needs to update its visual representation.
+
+ <p>
+ A user interface element implementation should check if it has to update its visual
+ representation. It is up to the implementation if it ignores notifications.
+ </p>
+ */
+ [optional] interface com::sun::star::util::XUpdatable;
+
+ /** controls the life-time of the object.
+ */
+ interface ::com::sun::star::lang::XComponent;
+};
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/UIElementFactory.idl b/offapi/com/sun/star/ui/UIElementFactory.idl
new file mode 100644
index 000000000..1ffcf6afe
--- /dev/null
+++ b/offapi/com/sun/star/ui/UIElementFactory.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_ui_UIElementFactory_idl__
+#define __com_sun_star_ui_UIElementFactory_idl__
+
+#include <com/sun/star/ui/XUIElementFactory.idl>
+
+
+module com { module sun { module star { module ui {
+
+
+/** specifies a user interface element factory that can create and initialize
+ a user interface element type.
+
+ <p>
+ It depends on the implementation which user interface element types can be
+ created. It is also possible that a factory is only able to create one
+ special user interface element. User interface element factories must be
+ registered at the single instance UIElementFactoryManager
+ service to provide access to itself.
+ </p>
+
+ @since OOo 2.0
+*/
+
+service UIElementFactory
+{
+ /** this interface provides a function to create and initialize new
+ instances of user interface elements.
+
+ @see XUIElementFactory
+ */
+ interface com::sun::star::ui::XUIElementFactory;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/UIElementFactoryManager.idl b/offapi/com/sun/star/ui/UIElementFactoryManager.idl
new file mode 100644
index 000000000..8a1645141
--- /dev/null
+++ b/offapi/com/sun/star/ui/UIElementFactoryManager.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_ui_UIElementFactoryManager_idl__
+#define __com_sun_star_ui_UIElementFactoryManager_idl__
+
+#include <com/sun/star/ui/XUIElementFactoryManager.idl>
+
+
+module com { module sun { module star { module ui {
+
+
+/**
+ A legacy (single-instance) service-variant of theUIElementFactoryManager singleton.
+
+ @deprecated Use theUIElementFactoryManager singleton instead.
+
+ @since OOo 2.0
+*/
+
+service UIElementFactoryManager : XUIElementFactoryManager;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/UIElementSettings.idl b/offapi/com/sun/star/ui/UIElementSettings.idl
new file mode 100644
index 000000000..dbe0b8c65
--- /dev/null
+++ b/offapi/com/sun/star/ui/UIElementSettings.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_ui_UIElementSettings_idl__
+#define __com_sun_star_ui_UIElementSettings_idl__
+
+#include <com/sun/star/container/XIndexAccess.idl>
+#include <com/sun/star/lang/XSingleComponentFactory.idl>
+
+
+module com { module sun { module star { module ui {
+
+
+/**
+ describes the internal structure of a configurable user interface element.
+
+ <p>
+ No assumption is made about any graphical representation:
+ You could have a menu or a toolbar working with the same UIElementSettings
+ although limitations based on the real user interface element may be visible.
+ </p>
+
+ @since OOo 2.0
+*/
+service UIElementSettings
+{
+ /** provides access to the structure of the user interface element.
+
+ <p>
+ The container contains the items of the user interface element. Every
+ item is stored as a sequence of com::sun::star::beans::PropertyValue.
+ The properties insides the sequence are defined by the service com::sun::star::ui::ItemDescriptor.
+ It depends on the function which provides these service if the container is shareable read-only or exclusive writable.
+
+ @see com::sun::star::ui::ItemDescriptor
+ @see com::sun::star::ui::ItemType
+ @see com::sun::star::ui::ItemStyle
+ </p>
+ */
+ interface ::com::sun::star::container::XIndexAccess;
+
+
+ /** provides access to an optional factory interface to create sub container.
+
+ <p>
+ The factory should be used to create sub container within this user interface element settings. This interface is only
+ available if the container is exclusive writable.
+ </p>
+ */
+ [optional] interface ::com::sun::star::lang::XSingleComponentFactory;
+
+ /** determine an optional user interface name of the user interface element.
+
+ <p>
+ A toolbar can show its user interface name on the window title, when it is in floating mode.
+ </p>
+ */
+ [optional, property] string UIName;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/UIElementType.idl b/offapi/com/sun/star/ui/UIElementType.idl
new file mode 100644
index 000000000..91bf96ded
--- /dev/null
+++ b/offapi/com/sun/star/ui/UIElementType.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_ui_UIElementType_idl__
+#define __com_sun_star_ui_UIElementType_idl__
+
+module com { module sun { module star { module ui {
+
+/** determine the type of a user interface element which is controlled
+ by a layout manager.
+
+ @since OOo 2.0
+ */
+constants UIElementType
+{
+ /** unknown user interface element type, which can be used as a wildcard
+ to specify all types.
+ */
+ const short UNKNOWN = 0;
+
+ /** specifies a menu bar.
+ */
+ const short MENUBAR = 1;
+
+ /** specifies a pop-up menu.
+ */
+ const short POPUPMENU = 2;
+
+ /** specifies a toolbar.
+ */
+ const short TOOLBAR = 3;
+
+ /** specifies a statusbar.
+ */
+ const short STATUSBAR = 4;
+
+ /** specifies a floating window, which can also be docked.
+ */
+ const short FLOATINGWINDOW = 5;
+
+ /** specifies a floating window, which can also be docked.
+ */
+ const short PROGRESSBAR = 6;
+
+ /** specifies a tool panel
+ */
+ const short TOOLPANEL = 7;
+
+ /** specifies a window that can be docked.
+ */
+ const short DOCKINGWINDOW = 7;
+
+ /** specifies the number of constants.
+ */
+ const short COUNT = 8;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/WindowContentFactory.idl b/offapi/com/sun/star/ui/WindowContentFactory.idl
new file mode 100644
index 000000000..2f61ebefa
--- /dev/null
+++ b/offapi/com/sun/star/ui/WindowContentFactory.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_ui_WindowContentFactory_idl__
+#define __com_sun_star_ui_WindowContentFactory_idl__
+
+#include <com/sun/star/lang/XSingleComponentFactory.idl>
+
+
+module com { module sun { module star { module ui {
+
+
+/** specifies a factory which creates a window that is a container for user
+ interface elements. Dependent on the provided arguments different window
+ types can be created. This container window must be capable of being
+ integrated into another window (e.g. docking or floating windows).
+
+ <p>
+ The specific type of the created window depends on the provided arguments.
+ </p>
+
+ @since OOo 3.1
+*/
+
+service WindowContentFactory : com::sun::star::lang::XSingleComponentFactory
+{
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/WindowContentFactoryManager.idl b/offapi/com/sun/star/ui/WindowContentFactoryManager.idl
new file mode 100644
index 000000000..bddb5a7f9
--- /dev/null
+++ b/offapi/com/sun/star/ui/WindowContentFactoryManager.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_ui_WindowContentFactoryManager_idl__
+#define __com_sun_star_ui_WindowContentFactoryManager_idl__
+
+#include <com/sun/star/lang/XSingleComponentFactory.idl>
+
+
+module com { module sun { module star { module ui {
+
+
+/**
+ A legacy (single-instance) service-variant of theWindowContentFactoryManager singleton.
+
+ @deprecated Use theWindowContentFactoryManager singleton instead.
+
+ @since LibreOffice 4.1
+*/
+service WindowContentFactoryManager : com::sun::star::lang::XSingleComponentFactory;
+
+
+}; }; }; };
+
+#endif
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/WindowStateConfiguration.idl b/offapi/com/sun/star/ui/WindowStateConfiguration.idl
new file mode 100644
index 000000000..562490eb3
--- /dev/null
+++ b/offapi/com/sun/star/ui/WindowStateConfiguration.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_ui_WindowStateConfiguration_idl__
+#define __com_sun_star_ui_WindowStateConfiguration_idl__
+
+#include <com/sun/star/container/XNameAccess.idl>
+
+
+module com { module sun { module star { module ui {
+
+
+/**
+ A legacy (single-instance) service-variant of theWindowStateConfiguration singleton.
+
+ @deprecated Use theWindowStateConfiguration singleton instead.
+
+ @since OOo 2.0
+*/
+
+service WindowStateConfiguration : com::sun::star::container::XNameAccess;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/XAcceleratorConfiguration.idl b/offapi/com/sun/star/ui/XAcceleratorConfiguration.idl
new file mode 100644
index 000000000..39d02b28d
--- /dev/null
+++ b/offapi/com/sun/star/ui/XAcceleratorConfiguration.idl
@@ -0,0 +1,272 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_ui_XAcceleratorConfiguration_idl__
+#define __com_sun_star_ui_XAcceleratorConfiguration_idl__
+
+#include <com/sun/star/ui/XUIConfiguration.idl>
+#include <com/sun/star/ui/XUIConfigurationPersistence.idl>
+#include <com/sun/star/ui/XUIConfigurationStorage.idl>
+#include <com/sun/star/awt/KeyEvent.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/container/NoSuchElementException.idl>
+
+module com { module sun { module star { module ui {
+
+/** provides read/write access to an accelerator configuration set.
+
+ <p>
+ Such configuration set base on:<br>
+ <ul>
+ <li>Key events structure</li>
+ <li>and Commands, which are represented as URLs; describing
+ a function, which and can be executed using the dispatch API.</li>
+ </ul>
+ </p>
+
+ <p>
+ Note further:<br>
+ All changes you made on this configuration access modify the
+ configuration set inside memory only. You have to use
+ the com::sun::star::util::XFlushable interface
+ (which must be available at the same implementation object too), to
+ make it persistent.
+ </p>
+
+ @see AcceleratorConfiguration
+ @see dom::sun::star::util::XFlushable
+
+ @since OOo 2.0
+*/
+published interface XAcceleratorConfiguration
+{
+ /** return the list of all key events, which
+ are available at this configuration set.
+
+ <p>
+ The key events are the "primary keys" of this configuration sets.
+ Means: Commands are registered for key events.
+ </p>
+
+ <p>
+ Such key event can be mapped to its bound command,
+ using the method getCommandForKeyEvent().
+ </p>
+
+ @see getCommandForKeyEvent().
+
+ @return A list of key events.
+ */
+ sequence< com::sun::star::awt::KeyEvent > getAllKeyEvents();
+
+ /** return the registered command for the specified key event.
+
+ <p>
+ This function can be used to:<br>
+ <ul>
+ <li>by a generic service, which can execute commands if a
+ keyboard event occurs.</li>
+ <li>or to iterate over the whole container and change some
+ accelerator bindings.</li>
+ </ul>
+ </p>
+
+ @param aKeyEvent
+ the key event, where the registered command is searched for.
+
+ @return The registered command for the specified key event.
+
+ @throws ::com::sun::star::container::NoSuchElementException
+ if the key event is an invalid one or does not exists
+ inside this configuration set.
+ */
+ string getCommandByKeyEvent( [in] com::sun::star::awt::KeyEvent aKeyEvent )
+ raises(com::sun::star::container::NoSuchElementException);
+
+ /** modify or create a key - command - binding.
+
+ <p>
+ If the specified key event does not already exists inside this
+ configuration access, it will be created and the command will be
+ registered for it.
+ </p>
+
+ <p>
+ If the specified key event already exists, its command will
+ be overwritten with the new command. There is no warning nor any error
+ about that! The outside code has to use the method getCommandForKeyEvent()
+ to check for possible collisions.
+ </p>
+
+ <p>
+ Note: This method can't be used to remove entities from the configuration set.
+ Empty parameters will result into an exception!
+ Use the method removeKeyEvent() instead.
+ </p>
+
+ @see removeKeyEvent()
+
+ @param aKeyEvent
+ specify the key event, which must be updated or new created.
+
+ @param sCommand
+ the new command for the specified key event.
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if the key event isn't a valid one. Commands can be
+ checked only, if they are empty. Because every URL schema can be used
+ by commands in general, so it's not possible to validate it.
+ */
+ void setKeyEvent( [in] com::sun::star::awt::KeyEvent aKeyEvent,
+ [in] string sCommand )
+ raises(com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::container::NoSuchElementException);
+
+ /** remove a key-command-binding from this configuration set.
+
+ @param aKeyEvent
+ the key event, which should be removed.
+
+ @throws ::com::sun::star::container::NoSuchElementException
+ if the key event does not exists inside this configuration set.
+ */
+ void removeKeyEvent( [in] com::sun::star::awt::KeyEvent aKeyEvent )
+ raises(com::sun::star::container::NoSuchElementException);
+
+ /** optimized access to the relation "command-key" instead
+ of "key-command" which is provided normally by this interface.
+
+ <p>
+ It can be used to implement collision handling, if more than one
+ key event match to the same command. The returned list contains all
+ possible key events - and the outside code can select a possible one.
+ Of course - mostly this list will contain only one key event ...
+ </p>
+
+ @param sCommand
+ the command, where key bindings are searched for.
+
+ @return A list of com::sun::star::awt::KeyEvent structures,
+ where the specified command is registered for.
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if the specified command is empty. It can't be checked, if a command
+ is valid - because every URL schema can be used here.
+
+ @throws ::com::sun::star::container::NoSuchElementException
+ if the specified command isn't empty but does not
+ occur inside this configuration set.
+ */
+ sequence< com::sun::star::awt::KeyEvent > getKeyEventsByCommand( [in] string sCommand )
+ raises(com::sun::star::lang::IllegalArgumentException ,
+ com::sun::star::container::NoSuchElementException);
+
+ /** optimized function to map a list of commands to a corresponding
+ list of key events.
+
+ <p>
+ It provides a fast mapping, which is e.g. needed by a menu or toolbar implementation.
+ E.g. a sub menu is described by a list of commands - and the implementation of the menu
+ must show the corresponding shortcuts. Iteration over all items of this configuration
+ set can be very expensive.
+ </p>
+
+ <p>
+ Instead to the method getKeyEventsForCommand() the returned list contains only
+ one(!) key event bound to one(!) requested command. If more than one key event
+ is bound to a command - a selection is done inside this method.
+ This internal selection can't be influenced from outside.
+ </p>
+
+ @attention Because it's not defined, that any command (e.g. configured inside a menu)
+ must have an accelerator - we can't reject the call if at least one command
+ does not occur inside this configuration set ...
+ We handle it more gracefully - and return an empty item instead of throwing
+ and exception.
+
+ @param lCommandList
+ a list of commands
+
+ @return A (non packed!) list of key events, where every item match by index
+ directly to a command of the specified <var>CommandList</var>.
+ If a command does not exists inside this configuration set, the
+ corresponding any value will be empty.
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if at least one of the specified commands is empty.
+ It can't be checked, if a command is valid -
+ because every URL schema can be used here.
+ */
+ sequence< any > getPreferredKeyEventsForCommandList( [in] sequence< string > lCommandList )
+ raises(com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::container::NoSuchElementException);
+
+ /** search for a key-command-binding inside this configuration set,
+ where the specified command is used.
+
+ <p>
+ If such binding could be located, the command will be removed
+ from it. If as result of that the key binding will be empty,
+ if will be removed too.
+ </p>
+
+ <p>
+ This is an optimized method, which can perform removing of commands
+ from this configuration set. Because normally Commands are "foreign keys"
+ and key identifier the "primary keys" - it needs some work to remove
+ all commands outside this container ...
+ </p>
+
+ @param sCommand
+ the command, which should be removed from any key binding.
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if the specified command is empty.
+
+ @throws ::com::sun::star::container::NoSuchElementException
+ if the specified command isn't used inside this configuration set.
+ */
+ void removeCommandFromAllKeyEvents( [in] string sCommand )
+ raises(com::sun::star::lang::IllegalArgumentException ,
+ com::sun::star::container::NoSuchElementException);
+
+ /** specifies a persistence interface which supports to
+ load/store accelerator configuration data to a storage
+ and to retrieve information about the current state.
+ */
+ interface com::sun::star::ui::XUIConfigurationPersistence;
+
+ /** connects this configuration to a new storage
+ which must be used further on subsequent calls of
+ com::sun::star::util::XConfigurationPersistence.load()
+ and com::sun::star::util::XConfigurationPersistence.store().
+ */
+ interface com::sun::star::ui::XUIConfigurationStorage;
+
+ /** supports to notify other implementations about
+ changes of this accelerator configuration.
+ */
+ interface com::sun::star::ui::XUIConfiguration;
+
+}; // interface XAcceleratorConfiguration
+
+}; }; }; }; // com.sun.star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/XContextChangeEventListener.idl b/offapi/com/sun/star/ui/XContextChangeEventListener.idl
new file mode 100644
index 000000000..71b352d76
--- /dev/null
+++ b/offapi/com/sun/star/ui/XContextChangeEventListener.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_ui_XContextChangeEventListener_idl__
+#define __com_sun_star_ui_XContextChangeEventListener_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/XEventListener.idl>
+#include <com/sun/star/ui/ContextChangeEventObject.idl>
+
+module com { module sun { module star { module ui {
+
+interface XContextChangeEventListener : ::com::sun::star::lang::XEventListener
+{
+ void notifyContextChangeEvent (
+ [in] com::sun::star::ui::ContextChangeEventObject event);
+} ;
+
+} ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/XContextChangeEventMultiplexer.idl b/offapi/com/sun/star/ui/XContextChangeEventMultiplexer.idl
new file mode 100644
index 000000000..d768854ab
--- /dev/null
+++ b/offapi/com/sun/star/ui/XContextChangeEventMultiplexer.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_ui_XContextChangeEventMultiplexer_idl__
+#define __com_sun_star_ui_XContextChangeEventMultiplexer_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/ui/XContextChangeEventListener.idl>
+#include <com/sun/star/ui/ContextChangeEventObject.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+module com { module sun { module star { module ui {
+
+/** Provide a central access point for a group of events.
+
+ Listeners can be added with a simple restriction on the event source.
+ They are only called for events that originate at the specified source.
+
+ Event providers can broadcast an event to all interested listeners.
+
+ The XEventMultiplexer interface is typically implemented as a singleton
+*/
+interface XContextChangeEventMultiplexer : ::com::sun::star::uno::XInterface
+{
+ /** Add an event listener that is called only when events are broadcast for the specified
+ event focus.
+
+ @param xListener
+ An empty reference results in an InvalidArgumentException.
+
+ One listener may be added more than once for different
+ event foci. Adding a listener a second time for the same
+ event focus results in an InvalidArgumentException.
+
+ @param xEventFocus
+ An empty reference is a valid value. In this case the
+ registered listener will be called for every event
+ broadcast, regardless of its event focus.
+
+ The event focus may or may not be the source of the event.
+
+ A typical example for an event focus is the XController of
+ a view. Using an XController restricts events passed to
+ a listener to events that belong to one view.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+
+ */
+ void addContextChangeEventListener (
+ [in] com::sun::star::ui::XContextChangeEventListener xListener,
+ [in] com::sun::star::uno::XInterface xEventFocus)
+ raises (com::sun::star::lang::IllegalArgumentException);
+
+ /** Remove an event listener for the specified event focus.
+
+ When the same listener was added for other event foci then
+ these associations remain unmodified.
+
+ @param xListener
+ An empty reference results in an InvalidArgumentException.
+
+ When the listener is not registered for the given event
+ focus then an InvalidArgumentException is thrown.
+
+ @param xEventFocus
+ The listener is only removed for this event focus.
+ An empty reference is a valid value.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ */
+ void removeContextChangeEventListener (
+ [in] com::sun::star::ui::XContextChangeEventListener xListener,
+ [in] com::sun::star::uno::XInterface xEventFocus)
+ raises (com::sun::star::lang::IllegalArgumentException);
+
+ /** Remove an event listener for all event foci.
+
+ @param xListener
+ An empty reference results in an InvalidArgumentException.
+
+ It is not an error when the listener is not registered for any event focus.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ */
+ void removeAllContextChangeEventListeners (
+ [in] com::sun::star::ui::XContextChangeEventListener xListener)
+ raises (com::sun::star::lang::IllegalArgumentException);
+
+
+ /** Call all event listeners that were added for the specified event focus.
+ */
+ void broadcastContextChangeEvent (
+ [in] com::sun::star::ui::ContextChangeEventObject aEvent,
+ [in] com::sun::star::uno::XInterface xEventFocus);
+} ;
+
+} ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/XContextMenuInterception.idl b/offapi/com/sun/star/ui/XContextMenuInterception.idl
new file mode 100644
index 000000000..881cf2d01
--- /dev/null
+++ b/offapi/com/sun/star/ui/XContextMenuInterception.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_ui_XContextMenuInterception_idl__
+#define __com_sun_star_ui_XContextMenuInterception_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module ui {
+
+
+ published interface XContextMenuInterceptor;
+/** This interface enables an object to get interceptors registered that
+ change context menus or prevent them from being executed.
+ */
+published interface XContextMenuInterception : ::com::sun::star::uno::XInterface
+{
+ /** registers an XContextMenuInterceptor, which will become
+ the first interceptor in the chain of registered interceptors.
+ */
+
+ void registerContextMenuInterceptor( [in]XContextMenuInterceptor Interceptor);
+ /** removes an XContextMenuInterceptor which was previously registered
+ using XContextMenuInterception::registerContextMenuInterceptor().
+
+ <p>The order of removals is arbitrary. It is not necessary to remove the last
+ registered interceptor first.</p>
+ */
+ void releaseContextMenuInterceptor( [in]XContextMenuInterceptor Interceptor);
+};
+}; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/XContextMenuInterceptor.idl b/offapi/com/sun/star/ui/XContextMenuInterceptor.idl
new file mode 100644
index 000000000..1be269843
--- /dev/null
+++ b/offapi/com/sun/star/ui/XContextMenuInterceptor.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_ui_XContextMenuInterceptor_idl__
+#define __com_sun_star_ui_XContextMenuInterceptor_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/ui/ContextMenuInterceptorAction.idl>
+#include <com/sun/star/ui/ContextMenuExecuteEvent.idl>
+
+module com { module sun { module star { module ui {
+
+/** This interface enables the object to be registered as interceptor to
+ change context menus or prevent them from being executed.
+ */
+published interface XContextMenuInterceptor : ::com::sun::star::uno::XInterface
+{
+ /** notifies the interceptor about the request to execute a ContextMenu.
+ The interceptor has to decide whether the menu should be executed with or without
+ being modified or may ignore the call.
+ */
+ ContextMenuInterceptorAction notifyContextMenuExecute([in]ContextMenuExecuteEvent aEvent);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/XDeck.idl b/offapi/com/sun/star/ui/XDeck.idl
new file mode 100644
index 000000000..e5f73e295
--- /dev/null
+++ b/offapi/com/sun/star/ui/XDeck.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/.
+ *
+ */
+#ifndef __com_sun_star_ui_XDeck_idl__
+#define __com_sun_star_ui_XDeck_idl__
+
+#include <com/sun/star/ui/XPanels.idl>
+
+
+ module com { module sun { module star { module ui {
+
+/** provides access to Deck
+ @since LibreOffice 5.1
+*/
+
+interface XDeck
+
+{
+ /** The deck identifier
+ */
+ string getId();
+
+ /** Get the deck title string
+ */
+ string getTitle();
+
+ /** Set the deck title string
+
+ @param newTitle
+ The new title string
+ */
+ void setTitle( [in] string newTitle );
+
+ /** Is the deck the active one
+ */
+ boolean isActive();
+
+ /** Activate the deck and display its content
+
+ @param bActivate
+ The requested state for the deck
+ <ul>
+ <li>TRUE sets the deck as the active one</li>
+ <li>FALSE hide the deck and defaults to the first deck of the sidebar</li>
+ </ul>
+ */
+ void activate( [in] boolean bActivate );
+
+ /** Get the ordering index of the deck button in sidebar
+ */
+ long getOrderIndex();
+
+ /** Set the ordering index of the deck button in sidebar
+
+ @param newOrderIndex
+ The new position
+ */
+ void setOrderIndex( [in] long newOrderIndex );
+
+ /** Move deck button at first position in sidebar
+ */
+ void moveFirst();
+
+ /** Move deck button at last position in sidebar
+ */
+ void moveLast();
+
+ /** Move deck one step up in the sidebar
+ */
+ void moveUp();
+
+ /** Move deck one step down in the sidebar
+ */
+ void moveDown();
+
+ /** Panels collection attached to the deck
+ */
+ com::sun::star::ui::XPanels getPanels();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/XDecks.idl b/offapi/com/sun/star/ui/XDecks.idl
new file mode 100644
index 000000000..0ed297702
--- /dev/null
+++ b/offapi/com/sun/star/ui/XDecks.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_ui_XDecks_idl__
+#define __com_sun_star_ui_XDecks_idl__
+
+#include <com/sun/star/container/XIndexAccess.idl>
+#include <com/sun/star/container/XNameAccess.idl>
+
+ module com { module sun { module star { module ui {
+
+/** provides access to Decks of a Sidebar.
+ @since LibreOffice 5.1
+*/
+
+interface XDecks
+
+{
+ /**
+ returned ANYs are actually of type com::sun::star::ui::XDeck
+ */
+ interface com::sun::star::container::XIndexAccess;
+ interface com::sun::star::container::XNameAccess;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ \ No newline at end of file
diff --git a/offapi/com/sun/star/ui/XDockingAreaAcceptor.idl b/offapi/com/sun/star/ui/XDockingAreaAcceptor.idl
new file mode 100644
index 000000000..3bed41314
--- /dev/null
+++ b/offapi/com/sun/star/ui/XDockingAreaAcceptor.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_ui_XDockingAreaAcceptor_idl__
+#define __com_sun_star_ui_XDockingAreaAcceptor_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/awt/Rectangle.idl>
+#include <com/sun/star/awt/XWindow.idl>
+
+
+module com { module sun { module star { module ui {
+
+
+/** this interface enables developer to implement different docking area
+ acceptors which are used by the frame based layout manager.
+
+ <p>
+ A docking area acceptor is responsible to control the docking area of a
+ container window. As OLE for example supports inplace and outplace editing,
+ there are different parts of code responsible for the container window.
+ This interface enables developer to make support implementations for these
+ scenarios.
+
+ @see com::sun::star::frame::XFrame
+ </p>
+
+ @since OOo 2.0
+*/
+
+
+interface XDockingAreaAcceptor : com::sun::star::uno::XInterface
+{
+ /** provide the container window where the layout manager can request border
+ space for docking windows.
+
+ <p>
+ Additionally the layout manager uses this window to create its own child
+ windows for docking purposes.
+ </p>
+ */
+ com::sun::star::awt::XWindow getContainerWindow();
+
+ /** method to ask an implementation if the provided space for docking windows
+ is available or not.
+
+ <p>
+ The com::sun::star::awt::Rectangle parameter is
+ filled by the caller with pixel data. The members of
+ com::sun::star::awt::Rectangle must be filled
+ as following:
+ <ul>
+ <li>X = requested area on left side (in pixel)</li>
+ <li>Y = requested area on top side (in pixel)</li>
+ <li>Width = requested area on right side (in pixel)</li>
+ <li>Height = requested area on bottom side (in pixel)</li>
+ </ul>
+ </p>
+ */
+ boolean requestDockingAreaSpace( [in] com::sun::star::awt::Rectangle RequestedSpace );
+
+ /** method to brief an implementation that we need new border space.
+
+ <p>
+ The callee must size its document window so that we have the amount
+ of space we have provided. The com::sun::star::awt::Rectangle
+ parameter is filled by the caller with pixel data. The members of
+ com::sun::star::awt::Rectangle must be filled as
+ following:
+ <ul>
+ <li>X = new area on left side (in pixel)</li>
+ <li>Y = new area on top side (in pixel)</li>
+ <li>Width = new area on right side (in pixel)</li>
+ <li>Height = new area on bottom side (in pixel)</li>
+ </ul>
+ </p>
+ */
+ void setDockingAreaSpace( [in] com::sun::star::awt::Rectangle BorderSpace );
+};
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/XImageManager.idl b/offapi/com/sun/star/ui/XImageManager.idl
new file mode 100644
index 000000000..1bf87c9fc
--- /dev/null
+++ b/offapi/com/sun/star/ui/XImageManager.idl
@@ -0,0 +1,223 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_ui_XImageManager_idl__
+#define __com_sun_star_ui_XImageManager_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/graphic/XGraphic.idl>
+#include <com/sun/star/ui/XUIConfigurationListener.idl>
+#include <com/sun/star/ui/XUIConfigurationPersistence.idl>
+#include <com/sun/star/ui/XUIConfiguration.idl>
+#include <com/sun/star/ui/ImageType.idl>
+#include <com/sun/star/lang/XInitialization.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/lang/IllegalAccessException.idl>
+
+module com { module sun { module star { module ui {
+
+/** specifies access functions to an images manager interface to add,
+ replace and remove images associations to command URLs.
+
+ <p>
+ An image manager controls a number of image sets which are specified
+ by an ImageType.
+ </p>
+*/
+
+interface XImageManager
+{
+ /** resets the image manager to default data.
+
+ <p>
+ This means that all user images of the instance will be removed.
+ </p>
+ */
+ void reset() raises ( com::sun::star::lang::IllegalArgumentException, com::sun::star::lang::IllegalAccessException );
+
+ /** retrieves the list of command URLs which have images associated.
+
+ @param nImageType
+ specifies the image type for this operation.
+
+ @return
+ all command URLs within the images manager that have an image
+ associated.
+ */
+ sequence< string > getAllImageNames( [in] short nImageType );
+
+ /** determines if a command URL has an associated image.
+
+ @param nImageType
+ specifies the image type for this operation.
+
+ @param CommandURL
+ a command URL that should be checked for an associated image.
+
+ @return
+ `TRUE` if an image is associated, otherwise `FALSE`.
+ */
+ boolean hasImage( [in] short nImageType, [in] string CommandURL ) raises ( com::sun::star::lang::IllegalArgumentException );
+
+ /** retrieves the associated images of command URLs.
+
+ @param nImageType
+ specifies the image type for this association operation.
+
+ @param aCommandURLSequence
+ a sequence of command URLs for which the images are requested.
+
+ @return
+ a sequence of graphics object which are associated with the
+ provided command URLs. If an unknown command URL is provided or
+ a command URL has no associated image a graphics object with an
+ empty image is provided. If the sequence
+ <var>aCommandURLSequence</var> contains an invalid command
+ URL a com::sun::star::lang::IllegalArgumentException
+ is thrown.
+ */
+ sequence< ::com::sun::star::graphic::XGraphic > getImages( [in] short nImageType, [in] sequence< string > aCommandURLSequence ) raises ( com::sun::star::lang::IllegalArgumentException );
+
+ /** replaces the associated images of command URLs.
+
+ @param nImageType
+ specifies the image type for this association operation.
+
+ @param aCommandURLSequence
+ a sequence of command URLs for which images should be replaced.
+
+ @param aGraphicsSequence
+ a sequence of graphic objects which should replace the old images
+ of the provided command URLs.
+
+ <p>
+ If a command URL cannot be found the replace call will be omitted. If
+ <var>aCommandURLSequence</var> contains an invalid command URL a
+ com::sun::star::lang::IllegalArgumentException
+ is thrown. If the image manager is associated with a read-only configuration
+ manager a com::sun::star::lang::IllegalAccessException
+ is thrown.
+ </p>
+ */
+ void replaceImages( [in] short nImageType, [in] sequence< string > aCommandURLSequence, [in] sequence< ::com::sun::star::graphic::XGraphic > aGraphicsSequence ) raises ( com::sun::star::lang::IllegalArgumentException, com::sun::star::lang::IllegalAccessException );
+
+ /** removes associated images to a command URL.
+
+ @param nImageType
+ specifies the image type for this association operation.
+
+ @param CommandURLs
+ a sequence of command URLs for which the images should be removed.
+
+ <p>
+ If the <var>aCommandURLSequence</var> contains an invalid command URL a
+ com::sun::star::lang::IllegalArgumentException is
+ thrown. If the image manager is associated with a read-only configuration
+ manager a com::sun::star::lang::IllegalAccessException
+ is thrown.
+ </p>
+ */
+ void removeImages( [in] short nImageType, [in] sequence< string > CommandURLs ) raises ( com::sun::star::lang::IllegalArgumentException, com::sun::star::lang::IllegalAccessException );
+
+ /** inserts new image/command associations to an image manager.
+
+ @param nImageType
+ specifies the image type for this association operation.
+
+ @param aCommandURLSequence
+ a sequence of command URLs which specify which commands get a new image.
+
+ @param aGraphicSequence
+ a sequence of graphic objects which should be associated with the provided
+ command URLs.
+
+ <p>
+ If an association is already present it is replaced. If
+ <var>aCommandURLSequence</var> contains an invalid command URL a
+ com::sun::star::lang::IllegalArgumentException
+ is thrown. If the configuration manager is read-only a
+ com::sun::star::lang::IllegalAccessException is
+ thrown.
+ </p>
+ */
+ void insertImages( [in] short nImageType, [in] sequence< string > aCommandURLSequence, [in] sequence< ::com::sun::star::graphic::XGraphic > aGraphicSequence ) raises ( com::sun::star::container::ElementExistException, com::sun::star::lang::IllegalArgumentException, com::sun::star::lang::IllegalAccessException );
+
+ /** provides access to persistence functions to load/store images
+ data from a storage.
+ */
+ interface com::sun::star::ui::XUIConfigurationPersistence;
+
+ /** provides functions to add and remove listeners for changes within an
+ image manager.
+
+ <p>
+ An image manager implementation notifies its listener whenever an image
+ set has been changed, due to insert, remove or replace operations. To
+ minimize the overhead for notifications an image manager places all
+ inserted and/or replaced images into a single notify call. A container
+ which implements com::sun::star::container::XNameAccess
+ holds the information. The access key is a command URL and provides a
+ ::com::sun::star::graphic::XGraphic. This container
+ is placed into the
+ com::sun::star::ui::ConfigurationEvent::Element.
+ The image set which has been changed is put into the
+ com::sun::star::ui::ConfigurationEvent::aInfo().
+ </p>
+ */
+ interface com::sun::star::ui::XUIConfiguration;
+
+ /** allows controlling or observing the lifetime of an image manager
+ instance.
+
+ <p>The owner of the object may dispose of this object using
+ com::sun::star::lang::XComponent::dispose().
+ </p>
+ */
+ interface ::com::sun::star::lang::XComponent;
+
+ /** initializes an image manager instance.
+
+ An image manager instance must be initialized using
+ com::sun::star::lang::XInitialization::initialize()
+ before it can be used.<br>
+ The following property must be provided if the image manager is
+ related to a module:
+ <ul>
+ <li><b>ModuleIdentifier</b>specifies a string property which is the
+ unique identifier of module.
+ </li>
+ <li><b>UserConfigStorage</b>specifies a
+ com::sun::star::embed::XStorage property which
+ provides access to the configuration storage of the module.
+ </li>
+ <li><b>UserRootCommit</b>specifies an optional
+ com::sun::star::embed::XTransactedObject
+ property which makes it possible to commit a root storage.
+ </li>
+ </ul>
+ */
+ interface ::com::sun::star::lang::XInitialization;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/XModuleUIConfigurationManager.idl b/offapi/com/sun/star/ui/XModuleUIConfigurationManager.idl
new file mode 100644
index 000000000..4b2e05b0a
--- /dev/null
+++ b/offapi/com/sun/star/ui/XModuleUIConfigurationManager.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_ui_XModuleUIConfigurationManager_idl__
+#define __com_sun_star_ui_XModuleUIConfigurationManager_idl__
+
+#include <com/sun/star/container/XIndexContainer.idl>
+#include <com/sun/star/container/XIndexAccess.idl>
+#include <com/sun/star/container/NoSuchElementException.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/lang/IllegalAccessException.idl>
+
+module com { module sun { module star { module ui {
+
+/** specifies specific functions of a module based user interface
+ configuration manager interface.
+
+ <p>
+ A module user interface configuration manager supports, unlike a
+ document based ui configuration manager, two layers of configuration
+ settings data:<br>
+ 1. Layer: A module default user interface configuration which
+ describe all user interface elements settings that are
+ used by OpenOffice. It is not possible to insert, remove
+ or change elements settings in this layer through the
+ interfaces.<br>
+ 2. Layer: A module user interface configuration which only contains
+ customized user interface elements and user-defined ones.
+ All changes on user interface element settings are done on
+ this layer. This layer is the same as the document ui
+ configuration manager uses.
+ </p>
+
+ @since OOo 2.0
+*/
+
+interface XModuleUIConfigurationManager : ::com::sun::star::uno::XInterface
+{
+ /** determine if the settings of a user interface element is part
+ of the default layer of the user interface configuration manager.
+
+ @param ResourceURL
+ a resource URL which identifies the user interface element. A
+ resource URL must meet the following syntax:
+ "private:resource/$type/$name. It is only allowed to use ASCII
+ characters for type and name.
+
+ @return
+ `TRUE` if settings have been found in the default layer,
+ otherwise `FALSE`.
+ */
+ boolean isDefaultSettings( [in] string ResourceURL ) raises ( com::sun::star::lang::IllegalArgumentException );
+
+ /** retrieves the settings from the default layer of the user interface
+ configuration manager if it has a default layer.
+
+ @param ResourceURL
+ a resource URL which identifies the user interface element. A
+ resource URL must meet the following syntax:
+ "private:resource/$type/$name. It is only allowed to use ASCII
+ characters for type and name.
+
+ @return
+ `TRUE` if default settings have been found in the default layer,
+ otherwise `FALSE`.
+ */
+ ::com::sun::star::container::XIndexAccess getDefaultSettings( [in] string ResourceURL ) 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/ui/XModuleUIConfigurationManager2.idl b/offapi/com/sun/star/ui/XModuleUIConfigurationManager2.idl
new file mode 100644
index 000000000..3dd4b4805
--- /dev/null
+++ b/offapi/com/sun/star/ui/XModuleUIConfigurationManager2.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_ui_XModuleUIConfigurationManager2_idl__
+#define __com_sun_star_ui_XModuleUIConfigurationManager2_idl__
+
+#include <com/sun/star/ui/XUIConfigurationManager.idl>
+#include <com/sun/star/ui/XUIConfigurationPersistence.idl>
+#include <com/sun/star/ui/XModuleUIConfigurationManager.idl>
+#include <com/sun/star/ui/XUIConfiguration.idl>
+
+module com { module sun { module star { module ui {
+
+/**
+ Provides a unified interface for the ModuleUIConfigurationManager service.
+
+ @since LibreOffice 4.2
+*/
+interface XModuleUIConfigurationManager2
+{
+ /** provides access to persistence functions to load/store user interface element
+ settings from/to a module storage.
+ */
+ interface com::sun::star::ui::XUIConfigurationPersistence;
+
+ /** provides functions to change, insert and remove user interface element settings
+ from a module user interface configuration manager.
+ */
+ interface com::sun::star::ui::XUIConfigurationManager;
+
+ /** provides access to the default layer of a module based ui configuration
+ manager.
+ */
+ interface com::sun::star::ui::XModuleUIConfigurationManager;
+
+ /** provides functions to add and remove listeners for changes within a module user
+ interface configuration manager.
+ */
+ interface com::sun::star::ui::XUIConfiguration;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/XModuleUIConfigurationManagerSupplier.idl b/offapi/com/sun/star/ui/XModuleUIConfigurationManagerSupplier.idl
new file mode 100644
index 000000000..b538728ac
--- /dev/null
+++ b/offapi/com/sun/star/ui/XModuleUIConfigurationManagerSupplier.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_ui_XModuleUIConfigurationManagerSupplier_idl__
+#define __com_sun_star_ui_XModuleUIConfigurationManagerSupplier_idl__
+
+#include <com/sun/star/ui/XUIConfigurationManager.idl>
+#include <com/sun/star/container/NoSuchElementException.idl>
+
+module com { module sun { module star { module ui {
+
+/** allows to retrieve user interface configuration managers related to
+ OpenOffice.org modules.
+
+ @since OOo 2.0
+*/
+
+interface XModuleUIConfigurationManagerSupplier : ::com::sun::star::uno::XInterface
+{
+ /** returns the requested module based user interface configuration manager.
+
+ @param ModuleIdentifier
+ a module identifier which identifies an OpenOffice.org module. The
+ module identifier can be retrieved from the
+ com::sun::star::frame::ModuleManager service.
+
+ @returns
+ an object implementing
+ ::com::sun::star::ui::ModuleUIConfigurationManager
+ service. If the provided module identifier is unknown a
+ com::sun::star::container::NoSuchElementException
+ is thrown.
+ */
+ XUIConfigurationManager getUIConfigurationManager( [in] string ModuleIdentifier ) raises ( com::sun::star::container::NoSuchElementException );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/XPanel.idl b/offapi/com/sun/star/ui/XPanel.idl
new file mode 100644
index 000000000..f02d8b3b5
--- /dev/null
+++ b/offapi/com/sun/star/ui/XPanel.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/.
+ *
+ */
+#ifndef __com_sun_star_ui_XPanel_idl__
+#define __com_sun_star_ui_XPanel_idl__
+
+#include <com/sun/star/ui/XPanel.idl>
+#include <com/sun/star/awt/XWindow.idl>
+
+
+ module com { module sun { module star { module ui {
+
+/** provides access to Panel
+ @since LibreOffice 5.1
+*/
+
+interface XPanel
+
+{
+ /** The panel identifier
+ */
+ string getId();
+
+ /** Get the panel title string
+ */
+ string getTitle();
+
+ /** Set the panel title string
+
+ @param newTitle
+ The new title string
+ */
+ void setTitle( [in] string newTitle );
+
+ /** Is the panel expanded
+ */
+ boolean isExpanded();
+
+ /** Collapse the panel to only show its title bar
+ */
+ void collapse ();
+
+ /** Expand and display the panel
+
+ @param bCollapseOther
+ <ul>
+ <li>TRUE collapse all other panels of the deck</li>
+ <li>FALSE do not change other panels state</li>
+ </ul>
+ */
+ void expand ( [in] boolean bCollapseOther );
+
+ /** Get the ordering index of the panel in the deck
+ */
+ long getOrderIndex();
+
+ /** Set the ordering index of the panel in the deck
+ */
+ void setOrderIndex( [in] long newOrderIndex );
+
+ /** Move panel as first item of the deck
+ */
+ void moveFirst();
+
+ /** Move panel as last item of the deck
+ **/
+ void moveLast();
+
+ /** Move panel one step up in the deck
+ */
+ void moveUp();
+
+ /** Move the panel one step down in the deck
+ */
+ void moveDown();
+
+ /** Get the panel dialog element
+ */
+ com::sun::star::awt::XWindow getDialog();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ \ No newline at end of file
diff --git a/offapi/com/sun/star/ui/XPanels.idl b/offapi/com/sun/star/ui/XPanels.idl
new file mode 100644
index 000000000..361785546
--- /dev/null
+++ b/offapi/com/sun/star/ui/XPanels.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.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_ui_XPanels_idl__
+#define __com_sun_star_ui_XPanels_idl__
+
+#include <com/sun/star/container/XIndexAccess.idl>
+#include <com/sun/star/container/XNameAccess.idl>
+
+ module com { module sun { module star { module ui {
+
+/** provides access to Panels of a Deck.
+ @since LibreOffice 5.1
+*/
+
+interface XPanels
+
+{
+ /**
+ returned ANYs are actually of type com::sun::star::ui::XPanel
+ */
+ interface com::sun::star::container::XIndexAccess;
+ interface com::sun::star::container::XNameAccess;
+
+ /** The deck Id that contains the Panels
+ */
+ string getDeckId();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ \ No newline at end of file
diff --git a/offapi/com/sun/star/ui/XSidebar.idl b/offapi/com/sun/star/ui/XSidebar.idl
new file mode 100644
index 000000000..1881804d8
--- /dev/null
+++ b/offapi/com/sun/star/ui/XSidebar.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_ui_XSidebar_idl__
+#define __com_sun_star_ui_XSidebar_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module ui {
+
+/** Interface of the sidebar that allows its elements like panels to eg request layouts.
+*/
+interface XSidebar
+{
+ /** Request layout of the sidebar.
+ Call this method when one of the panels wants to change its size due to
+ late initialization or different content after a context change.
+ */
+ void requestLayout ();
+} ;
+
+} ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/XSidebarPanel.idl b/offapi/com/sun/star/ui/XSidebarPanel.idl
new file mode 100644
index 000000000..da8f19aa6
--- /dev/null
+++ b/offapi/com/sun/star/ui/XSidebarPanel.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_ui_XSidebarPanel_idl__
+#define __com_sun_star_ui_XSidebarPanel_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/rendering/XCanvas.idl>
+#include <com/sun/star/awt/Point.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/ui/LayoutSize.idl>
+
+module com { module sun { module star { module ui {
+
+/** Optional interface of sidebar panels.
+*/
+interface XSidebarPanel
+{
+ /** For a given width of the container the layouter asks every ui element for its
+ optimal height.
+
+ The height to which a ui element is set may differ from the returned value.
+
+ The height is set via the XWindow interface.
+ */
+ LayoutSize getHeightForWidth ( [in] long nWidth);
+
+ /** Minimal possible width of this panel in pixels.
+
+ If this value is smaller than the maximum allowed size of the Sidebar
+ (see config option 'org.openoffice.Office.UI.Sidebar.General.MaximumWidth'),
+ the config option will be ignored and the new maximum Sidebar width will be
+ getMinimalWidth() + 100px.
+ */
+ long getMinimalWidth();
+} ;
+
+} ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/XSidebarProvider.idl b/offapi/com/sun/star/ui/XSidebarProvider.idl
new file mode 100644
index 000000000..242bad740
--- /dev/null
+++ b/offapi/com/sun/star/ui/XSidebarProvider.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/.
+ *
+ */
+#ifndef __com_sun_star_ui_XSidebarProvider_idl__
+#define __com_sun_star_ui_XSidebarProvider_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/frame/XFrame.idl>
+#include <com/sun/star/awt/XWindow2.idl>
+
+#include <com/sun/star/ui/XSidebar.idl>
+#include <com/sun/star/ui/XDecks.idl>
+
+
+module com { module sun { module star { module ui {
+
+/** Interface of the sidebar
+ @since LibreOffice 5.1
+*/
+interface XSidebarProvider: com::sun::star::uno::XInterface
+{
+ /** Display the sidebar
+
+ @param bVisible
+ the requested visible state
+ */
+ void setVisible ( [in] boolean bVisible);
+
+ /** Is the sidebar visible
+ */
+ boolean isVisible();
+
+ /** Get the XFrame owner
+ */
+ com::sun::star::frame::XFrame getFrame();
+
+ /* Decks collection attached to the sidebar
+ */
+ com::sun::star::ui::XDecks getDecks();
+
+ /** Decks container visibility
+
+ @param bVisible
+ the requested visible state
+ <ul>
+ <li>FALSE collapses the deck container horizontally. Then Only shows the deck TabBar selector</li>
+ <li>TRUE expands the deck container and show active Deck content</li>
+ </ul>
+ */
+ void showDecks([in] boolean bVisible);
+
+ /**
+ * Returns the sidebar object
+ */
+ com::sun::star::ui::XSidebar getSidebar();
+} ;
+
+} ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/XStatusbarItem.idl b/offapi/com/sun/star/ui/XStatusbarItem.idl
new file mode 100644
index 000000000..a45d961fe
--- /dev/null
+++ b/offapi/com/sun/star/ui/XStatusbarItem.idl
@@ -0,0 +1,115 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_ui_XStatusbarItem_idl__
+#define __com_sun_star_ui_XStatusbarItem_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/awt/Rectangle.idl>
+
+module com { module sun { module star { module ui {
+
+/** Represents an item in a status bar
+
+ @see com::sun::star::frame::XStatusbarController
+
+ @since LibreOffice 4.1
+*/
+interface XStatusbarItem
+{
+ /** the command of the status bar item
+ */
+ [attribute, readonly] string Command;
+
+ /** the unique ID of the control within the status bar
+ */
+ [attribute, readonly] unsigned short ItemId;
+
+ /** the width of the status bar item
+ */
+ [attribute, readonly] unsigned long Width;
+
+ /** the style of the status bar item
+
+ <p>The following values apply for a status bar item:</p>
+ <ul>
+ <li>Alignment
+ <ul>
+ <li>com::sun::star::ui::ItemStyle::ALIGN_LEFT</li>
+ <li>com::sun::star::ui::ItemStyle::ALIGN_CENTER</li>
+ <li>com::sun::star::ui::ItemStyle::ALIGN_RIGHT</li>
+ </ul>
+ </li>
+ <li>Drawing
+ <ul>
+ <li>com::sun::star::ui::ItemStyle::DRAW_OUT3D</li>
+ <li>com::sun::star::ui::ItemStyle::DRAW_IN3D</li>
+ <li>com::sun::star::ui::ItemStyle::DRAW_FLAT</li>
+ </ul>
+ </li>
+ <li>com::sun::star::ui::ItemStyle::AUTO_SIZE</li>
+ <li>com::sun::star::ui::ItemStyle::OWNER_DRAW</li>
+ <li>com::sun::star::ui::ItemStyle::MANDATORY (@since LibreOffice 6.1)</li>
+ </ul>
+
+ @see com::sun::star::ui::ItemStyle
+ */
+ [attribute, readonly] unsigned short Style;
+
+ /** the offset between this status bar item and the following
+ */
+ [attribute, readonly] long Offset;
+
+ /** the rectangle on the status bar device onto which the item is drawn
+
+ @see com::sun::star::frame::XStatusbarController::paint()
+ */
+ [attribute, readonly] com::sun::star::awt::Rectangle ItemRect;
+
+ /** the text of status bar item
+ */
+ [attribute] string Text;
+
+ /** the help text of the status bar item when extended help tips are on
+ */
+ [attribute] string HelpText;
+
+ /** the help text of the status bar item when help tips are on
+ */
+ [attribute] string QuickHelpText;
+
+ /** the accessible name of the status bar item
+ */
+ [attribute] string AccessibleName;
+
+ /** whether the item is visible or not
+ */
+ [attribute] boolean Visible;
+
+ /** forces repainting the item onto the status bar device
+
+ @see com::sun::star::frame::XStatusbarController::paint()
+ */
+ void repaint();
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/XToolPanel.idl b/offapi/com/sun/star/ui/XToolPanel.idl
new file mode 100644
index 000000000..64242f232
--- /dev/null
+++ b/offapi/com/sun/star/ui/XToolPanel.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_ui_XToolPanel_idl__
+#define __com_sun_star_ui_XToolPanel_idl__
+
+#include <com/sun/star/awt/XWindow.idl>
+#include <com/sun/star/accessibility/XAccessible.idl>
+
+
+module com { module sun { module star { module ui {
+
+
+/** describes the basic interface to be implemented by a tool panel
+ */
+interface XToolPanel
+{
+ /** provides access to the tool panel's main window.
+
+ <p>It is allowed for an implementation to return `NULL` here, but in this case some functionality, for instance
+ automatic positioning of the tool panel, might not be available, and must be implemented by the tool panel itself.</p>
+ */
+ [attribute, readonly] ::com::sun::star::awt::XWindow Window;
+
+ /** creates the root of the Accessibility object tree for the tool panel
+ @param ParentAccessible
+ the parent object in the Accessibility object tree
+ */
+ ::com::sun::star::accessibility::XAccessible
+ createAccessible( [in] ::com::sun::star::accessibility::XAccessible ParentAccessible );
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/XUIConfiguration.idl b/offapi/com/sun/star/ui/XUIConfiguration.idl
new file mode 100644
index 000000000..f3d419e37
--- /dev/null
+++ b/offapi/com/sun/star/ui/XUIConfiguration.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_ui_XUIConfiguration_idl__
+#define __com_sun_star_ui_XUIConfiguration_idl__
+
+#include <com/sun/star/ui/XUIConfigurationListener.idl>
+
+module com { module sun { module star { module ui {
+
+/** supports to notify other implementations about changes of a user
+ interface configuration manager.
+
+ <p>
+ The XUIConfiguration interface is provided for user
+ interface configuration managers which need to broadcast changes
+ within the container; that means the actions of adding, replacing
+ and removing elements are broadcast to listeners.
+ </p>
+
+ <p>This can be useful for UI to enable/disable some functions without
+ actually accessing the data.</p>
+
+ @since OOo 2.0
+*/
+
+published interface XUIConfiguration : ::com::sun::star::uno::XInterface
+{
+ /** adds the specified listener to receive events when elements are
+ changed, inserted or removed.
+
+ <p>
+ It is suggested to allow multiple registration of the same
+ listener, thus for each time a listener is added, it has to be
+ removed.
+
+ @see XUIConfigurationListener
+ </p>
+ */
+ void addConfigurationListener( [in] ::com::sun::star::ui::XUIConfigurationListener Listener );
+
+ /** removes the specified listener so it does not receive any events
+ from this user interface configuration manager.
+
+ <p>It is suggested to allow multiple registration of the same
+ listener, thus for each time a listener is added, it has to be
+ removed.
+
+ @see XUIConfigurationListener
+ </p>
+ */
+ void removeConfigurationListener( [in] ::com::sun::star::ui::XUIConfigurationListener Listener );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/XUIConfigurationListener.idl b/offapi/com/sun/star/ui/XUIConfigurationListener.idl
new file mode 100644
index 000000000..a6637d27e
--- /dev/null
+++ b/offapi/com/sun/star/ui/XUIConfigurationListener.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_ui_XUIConfigurationListener_idl__
+#define __com_sun_star_ui_XUIConfigurationListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+#include <com/sun/star/ui/ConfigurationEvent.idl>
+
+
+module com { module sun { module star { module ui {
+
+
+/** supplies information about changes of a user interface
+ configuration manager.
+
+ @since OOo 2.0
+*/
+
+published interface XUIConfigurationListener : com::sun::star::lang::XEventListener
+{
+
+ /** is invoked when a configuration has inserted an user interface element.
+
+ @param Event
+ provides information about the element which has been inserted.
+ */
+ void elementInserted( [in] ::com::sun::star::ui::ConfigurationEvent Event );
+
+
+ /** is invoked when a configuration has removed an user interface element.
+
+ @param Event
+ provides information about the element which has been removed.
+ */
+ void elementRemoved( [in] ::com::sun::star::ui::ConfigurationEvent Event );
+
+
+ /** is invoked when a configuration has replaced an user interface element.
+
+ @param Event
+ provides information about the element which has been
+ inserted/replaced.
+ */
+ void elementReplaced( [in] ::com::sun::star::ui::ConfigurationEvent Event );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/XUIConfigurationManager.idl b/offapi/com/sun/star/ui/XUIConfigurationManager.idl
new file mode 100644
index 000000000..cf18387f0
--- /dev/null
+++ b/offapi/com/sun/star/ui/XUIConfigurationManager.idl
@@ -0,0 +1,241 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_ui_XUIConfigurationManager_idl__
+#define __com_sun_star_ui_XUIConfigurationManager_idl__
+
+#include <com/sun/star/container/XIndexContainer.idl>
+#include <com/sun/star/container/XIndexAccess.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/ui/XUIConfigurationListener.idl>
+#include <com/sun/star/ui/XAcceleratorConfiguration.idl>
+#include <com/sun/star/container/ElementExistException.idl>
+#include <com/sun/star/container/NoSuchElementException.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/lang/IllegalAccessException.idl>
+
+module com { module sun { module star { module ui {
+
+/** specifies a user interface configuration manager interface which
+ controls the structure of all customizable user interface
+ elements.
+
+ @since OOo 2.0
+*/
+
+interface XUIConfigurationManager : ::com::sun::star::uno::XInterface
+{
+ /** resets the configuration manager to the default user interface
+ configuration data.
+ <p>
+ This means that all user interface configuration data of the
+ instance will be removed. A module based user interface
+ configuration manager removes user defined elements, but set all
+ other elements back to default. It is not possible to remove
+ default elements from a module user interface configuration
+ manager.
+ </p>
+ */
+ void reset();
+
+ /** retrieves information about all user interface elements within
+ the user interface configuration manager.
+
+ @param ElementType
+ makes it possible to narrow the result set to only one type
+ of user interface elements. If all user interface element
+ types should be returned com::sun::star::ui::UIElementType::UNKNOWN
+ must be provided.
+
+ @return
+ returns all user interface elements within the user interface
+ configuration manager that meet the given ElementType
+ specification. <p>The following
+ com::sun::star::beans::PropertyValue entries
+ are defined inside the sequence for every user interface element.
+ <ul>
+ <li><b>ResourceURL</b>specifies the unique resource URL for
+ the user interface element.</li>
+ <li><b>UIName</b>specifies the user interface name for the
+ user interface element. Not all user interface elements have
+ set UIName. At least menubars do not.</li>
+ </ul>
+ <p>
+
+ @see UIElementType
+ */
+ sequence< sequence< com::sun::star::beans::PropertyValue > > getUIElementsInfo( [in] short ElementType ) raises ( com::sun::star::lang::IllegalArgumentException );
+
+ /** creates an empty settings data container.
+
+ @return
+ an empty user interface element settings data container, which
+ implements UIElementSettings.
+ */
+ ::com::sun::star::container::XIndexContainer createSettings();
+
+ /** determines if the settings of a user interface element is part the
+ user interface configuration manager.
+
+ @param ResourceURL
+ a resource URL which identifies the user interface element. A
+ resource URL must meet the following syntax:
+ "private:resource/$type/$name. It is only allowed to use ASCII
+ characters for type and name.
+
+ @return
+ `TRUE` if settings have been found, otherwise `FALSE`.
+ */
+ boolean hasSettings( [in] string ResourceURL ) raises ( com::sun::star::lang::IllegalArgumentException );
+
+ /** retrieves the settings of a user interface element.
+
+ @param ResourceURL
+ a resource URL which identifies the user interface element. A
+ resource URL must meet the following syntax:
+ "private:resource/$type/$name. It is only allowed to use ASCII
+ characters for type and name.
+
+ @param bWriteable
+ must be `TRUE` if the retrieved settings should be a writable.
+ Otherwise `FALSE` should be provided to get a shareable reference
+ to the settings data.
+
+ @return
+ settings data of an existing user interface element, which
+ implements UIElementSettings. If the settings data
+ cannot be found a
+ com::sun::star::container::NoSuchElementException
+ is thrown. If the \p ResourceURL is not valid or
+ describes an unknown type a
+ com::sun::star::lang::IllegalArgumentException
+ is thrown.
+ */
+ ::com::sun::star::container::XIndexAccess getSettings( [in] string ResourceURL, [in] boolean bWriteable ) raises ( com::sun::star::container::NoSuchElementException, com::sun::star::lang::IllegalArgumentException );
+
+ /** replaces the settings of a user interface element with new settings.
+
+ @param ResourceURL
+ a resource URL which identifies the user interface element to
+ be replaced. If no element with the given resource URL exists a
+ com::sun::star::container::NoSuchElementException
+ is thrown.
+
+ @param aNewData
+ the new settings data of an existing user interface element, which
+ implements UIElementSettings.
+
+ <p>
+ If the settings data cannot be found a
+ com::sun::star::container::NoSuchElementException
+ is thrown. If the \p ResourceURL is not valid or describes
+ an unknown type a
+ com::sun::star::lang::IllegalArgumentException
+ is thrown. If the configuration manager is read-only a
+ com::sun::star::lang::IllegalAccessException is
+ thrown.
+ </p>
+ */
+ void replaceSettings( [in] string ResourceURL, [in] ::com::sun::star::container::XIndexAccess aNewData ) raises ( com::sun::star::container::NoSuchElementException, com::sun::star::lang::IllegalArgumentException, com::sun::star::lang::IllegalAccessException );
+
+ /** removes the settings of an existing user interface element.
+
+ @param ResourceURL
+ a resource URL which identifies the user interface element settings
+ to be removed.
+
+ <p>
+ If the settings data cannot be found a
+ com::sun::star::container::NoSuchElementException is
+ thrown. If the \p ResourceURL is not valid or describes an
+ unknown type a com::sun::star::lang::IllegalArgumentException
+ is thrown. If the configuration manager is read-only a
+ com::sun::star::lang::IllegalAccessException is thrown.
+ </p>
+ */
+ void removeSettings( [in] string ResourceURL ) raises ( com::sun::star::container::NoSuchElementException, com::sun::star::lang::IllegalArgumentException, com::sun::star::lang::IllegalAccessException );
+
+ /** inserts the settings of a new user interface element.
+
+ @param NewResourceURL
+ a resource URL which identifies the new user interface element.
+
+ @param aNewData
+ the settings data of the new user interface element, which implements
+ UIElementSettings.
+
+ <p>
+ If the settings data is already present a
+ com::sun::star::container::ElementExistException
+ is thrown. If the \p NewResourceURL is not valid or describes
+ an unknown type a com::sun::star::lang::IllegalArgumentException
+ is thrown. If the configuration manager is read-only a
+ com::sun::star::lang::IllegalAccessException is thrown.
+ </p>
+ */
+ void insertSettings( [in] string NewResourceURL, [in] ::com::sun::star::container::XIndexAccess aNewData ) raises ( com::sun::star::container::ElementExistException, com::sun::star::lang::IllegalArgumentException, com::sun::star::lang::IllegalAccessException );
+
+ /** retrieves the image manager from the user interface configuration
+ manager.
+
+ <p>
+ Every user interface configuration manager has one image manager
+ instance which controls all images of a module or document.
+ </p>
+
+ @return
+ the image manager of the user interface configuration manager.
+ */
+ com::sun::star::uno::XInterface getImageManager();
+
+ /** retrieves the keyboard short cut manager from the user interface
+ configuration manager.
+
+ <p>
+ Every user interface configuration manager has one keyboard short cut
+ manager instance which controls all short cuts of a module or document.
+ </p>
+
+ @return
+ the short cut manager of the user interface configuration manager.
+ */
+ com::sun::star::ui::XAcceleratorConfiguration getShortCutManager();
+
+ /** retrieves the events manager from the user interface configuration manager.
+
+ <p>
+ Every user interface configuration manager has one events manager
+ instance which controls the mapping of events to script URLs of a module
+ or document.
+ </p>
+
+ @return
+ the events manager of the user interface configuration
+ manager, if one exists.
+ */
+ com::sun::star::uno::XInterface getEventsManager();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/XUIConfigurationManager2.idl b/offapi/com/sun/star/ui/XUIConfigurationManager2.idl
new file mode 100644
index 000000000..99e7a0429
--- /dev/null
+++ b/offapi/com/sun/star/ui/XUIConfigurationManager2.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_ui_XUIConfigurationManager2_idl__
+#define __com_sun_star_ui_XUIConfigurationManager2_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/ui/XUIConfiguration.idl>
+#include <com/sun/star/ui/XUIConfigurationManager.idl>
+#include <com/sun/star/ui/XUIConfigurationPersistence.idl>
+#include <com/sun/star/ui/XUIConfigurationStorage.idl>
+
+module com { module sun { module star { module ui {
+
+/**
+ @since LibreOffice 4.1
+*/
+interface XUIConfigurationManager2
+{
+ /** provides access to set a storage and to check if a storage has been
+ associated to the user interface configuration manager.
+ */
+ interface com::sun::star::ui::XUIConfigurationStorage;
+
+ /** provides access to persistence functions to load/store user interface configuration
+ data from a storage.
+ */
+ interface com::sun::star::ui::XUIConfigurationPersistence;
+
+ /** provides functions to change, insert and remove user interface elements
+ from a user interface configuration manager.
+ */
+ interface com::sun::star::ui::XUIConfigurationManager;
+
+ /** provides functions to add and remove listeners for changes within a user
+ interface configuration manager.
+ */
+ interface com::sun::star::ui::XUIConfiguration;
+
+ /** allows controlling or observing the lifetime of a user interface configuration manager
+ instance.
+
+ <p>The owner of the object may dispose of this object using
+ com::sun::star::lang::XComponent::dispose().
+ </p>
+ */
+ interface ::com::sun::star::lang::XComponent;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/XUIConfigurationManagerSupplier.idl b/offapi/com/sun/star/ui/XUIConfigurationManagerSupplier.idl
new file mode 100644
index 000000000..caa4ba2f5
--- /dev/null
+++ b/offapi/com/sun/star/ui/XUIConfigurationManagerSupplier.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_ui_XUIConfigurationManagerSupplier_idl__
+#define __com_sun_star_ui_XUIConfigurationManagerSupplier_idl__
+
+#include <com/sun/star/ui/XUIConfigurationManager.idl>
+
+module com { module sun { module star { module ui {
+
+/** allows to retrieve the user interface configuration manager related to
+ an object.
+
+ @since OOo 2.0
+*/
+
+interface XUIConfigurationManagerSupplier : ::com::sun::star::uno::XInterface
+{
+ /** returns the user interface configuration manager related to the
+ object.
+
+ @returns
+ an object implementing
+ ::com::sun::star::ui::UIConfigurationManager
+ service.
+ */
+ XUIConfigurationManager getUIConfigurationManager();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/XUIConfigurationPersistence.idl b/offapi/com/sun/star/ui/XUIConfigurationPersistence.idl
new file mode 100644
index 000000000..7c5c8a822
--- /dev/null
+++ b/offapi/com/sun/star/ui/XUIConfigurationPersistence.idl
@@ -0,0 +1,96 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_ui_XUIConfigurationPersistence_idl__
+#define __com_sun_star_ui_XUIConfigurationPersistence_idl__
+
+#include <com/sun/star/embed/XStorage.idl>
+
+module com { module sun { module star { module ui {
+
+/** specifies a persistence interface which supports to load/store user
+ interface configuration data to a storage and to retrieve information
+ about the current state.
+
+ @since OOo 2.0
+*/
+
+published interface XUIConfigurationPersistence : ::com::sun::star::uno::XInterface
+{
+ /** reloads the configuration data from the storage and reinitialize
+ the user interface configuration manager instance with this data.
+
+ <p>
+ It is up to the implementation if it defers the first loading process
+ until the first data request using XUIConfigurationManager
+ interface.
+ </p>
+ */
+ void reload() raises ( ::com::sun::star::uno::Exception );
+
+ /** stores the configuration data to the storage provided by
+ setStorage() from the storage and initialize the
+ user interface configuration manager instance with the newly
+ data. This call can throw an
+ com::sun::star::io::IOException if
+ store() cannot store its data into the internal
+ storage.
+ */
+ void store() raises ( ::com::sun::star::uno::Exception );
+
+ /** stores the configuration data to the provided storage, ignoring
+ the previously set storage by setStorage(). Can
+ be used to make copy of the current user interface configuration
+ data to another storage. This call will throw an
+ com::sun::star::io::IOException if the provided
+ storage is in read-only mode.
+
+ @param Storage
+ all configuration data will be stored to this storage.
+ */
+ void storeToStorage( [in] ::com::sun::star::embed::XStorage Storage ) raises ( ::com::sun::star::uno::Exception );
+
+ /** provides the current modify state of the configuration manager
+ instance.
+
+ @return
+ `TRUE` if the configuration manager has changed since the
+ last store() call. `FALSE` if the configuration
+ manager has not been changed.
+ */
+ boolean isModified();
+
+ /** provides the current read-only state of the user configuration
+ manager. Storing a user interface configuration to a read-only storage
+ is not possible. A read-only configuration manager instance will also
+ not support any changes to its configuration settings.
+
+ @return
+ `TRUE` if the configuration manager storage is read-only otherwise
+ `FALSE`.
+ */
+ boolean isReadOnly();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/XUIConfigurationStorage.idl b/offapi/com/sun/star/ui/XUIConfigurationStorage.idl
new file mode 100644
index 000000000..7823e6c4e
--- /dev/null
+++ b/offapi/com/sun/star/ui/XUIConfigurationStorage.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_ui_XUIConfigurationStorage_idl__
+#define __com_sun_star_ui_XUIConfigurationStorage_idl__
+
+#include <com/sun/star/embed/XStorage.idl>
+
+
+module com { module sun { module star { module ui {
+
+
+/** supplies functions to change or get information about the storage
+ of a user interface configuration manager.
+
+ @since OOo 2.0
+*/
+
+published interface XUIConfigurationStorage : ::com::sun::star::uno::XInterface
+{
+ /** connects a storage to the user interface configuration manager
+ which is used on subsequent calls of load() and
+ store().
+
+ @param Storage
+ all configuration data is loaded/stored from/into this storage.
+ If the storage is in read/write mode load()
+ and store() can be used otherwise only
+ load() is possible.
+
+ <p>
+ This call needs careful usage as data loss can occur. If the
+ implementation has modified data and a new storage is set the
+ implementation is not allowed to write back the data to the old
+ storage. This must be done explicitly with store().
+ In general a user interface configuration manager instance is
+ created and initialize by the document model or the module user
+ interface configuration supplier. Normally there is no need to
+ set a storage for a user interface configuration manager. If a
+ copy of the configuration data to another storage should be made,
+ use storeToStorage().
+ </p>
+ */
+ void setStorage( [in] ::com::sun::star::embed::XStorage Storage );
+
+ /** checks if an instance has already a storage to load/store its data.
+
+ @return
+ `TRUE` if the instance has a storage otherwise `FALSE`.
+ */
+ boolean hasStorage();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/XUIElement.idl b/offapi/com/sun/star/ui/XUIElement.idl
new file mode 100644
index 000000000..f67284c0c
--- /dev/null
+++ b/offapi/com/sun/star/ui/XUIElement.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_ui_XUIElement_idl__
+#define __com_sun_star_ui_XUIElement_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/frame/XFrame.idl>
+
+
+module com { module sun { module star { module ui {
+
+
+/** provides a function to retrieve a special purpose interface dependent
+ on the user interface element type.
+
+ <p>
+ The type of the interface depends on the real type of the user interface
+ element. A menubar user interface element provides access to its
+ com::sun::star::awt::XSystemDependentMenuBarPeer
+ which supports to retrieve the system dependent menu handle.
+ A floating window or a toolbar user interface element return a
+ com::sun::star::awt::XWindow
+ interface.
+ </p>
+*/
+
+interface XUIElement : com::sun::star::uno::XInterface
+{
+ /** returns an interface to get access to user interface type specific functions.
+
+ @return
+ a special purpose interface which depends on the type of the user
+ interface element.
+ */
+ ::com::sun::star::uno::XInterface getRealInterface();
+
+ /** determines the document frame to which this element is bound to.
+
+ <p>The life time of a user interface element does not explicitly depend on the
+ frame itself but on the visible component attached to the frame. It is possible
+ to exchange the visible component of a frame and that will lead to the end of
+ life of all user interface elements.</p>
+ */
+ [readonly, attribute] ::com::sun::star::frame::XFrame Frame;
+
+ /** a resource URL which is a unique identifier of a user interface element.
+ */
+ [readonly, attribute] string ResourceURL;
+
+ /** determines the type of the user interface element.
+
+ @see UIElementType
+ */
+ [readonly, attribute] short Type;
+};
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/XUIElementFactory.idl b/offapi/com/sun/star/ui/XUIElementFactory.idl
new file mode 100644
index 000000000..c87638c0e
--- /dev/null
+++ b/offapi/com/sun/star/ui/XUIElementFactory.idl
@@ -0,0 +1,130 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_ui_XUIElementFactory_idl__
+#define __com_sun_star_ui_XUIElementFactory_idl__
+
+#include <com/sun/star/ui/XUIElement.idl>
+#include <com/sun/star/container/NoSuchElementException.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+
+
+module com { module sun { module star { module ui {
+
+
+/** specifies a user interface element factory that can create and initialize
+ user interface elements.
+
+ <p>
+ User interface element factories must be registered at a
+ UIElementFactoryManager service to provide access to itself.
+
+ Currently the following user interface element types are defined:
+ <ul>
+ <li><b>menubar</b>A configurable user interface element.</li>
+ <li><b>popupmenu</b>A configurable user interface element.</li>
+ <li><b>toolbar</b>A configurable user interface element.</li>
+ <li><b>statusbar</b>A configurable user interface element.</li>
+ <li><b>floater</b>A basic user interface element.</li>
+ </ul>
+ </p>
+
+ @since OOo 2.0
+*/
+
+interface XUIElementFactory : ::com::sun::star::uno::XInterface
+{
+ /** creates a new instances of a specific user interface element.
+
+ @param ResourceURL
+ specifies which unique user interface element should be created
+ by the factory. A resource URL must meet the following syntax:
+ "private:resource/$type/$name. It is only allowed to use ASCII
+ characters for type and name. This argument must not be empty to
+ have a working user interface element instance.The implementation
+ can throw an
+ com::sun::star::container::NoSuchElementException
+ if it doesn't know how to create the request user interface
+ element.
+
+ @param Args
+ The following arguments are supported:
+ <ul>
+ <li><b>Frame</b><br>
+ specifies the com::sun::star::frame::XFrame
+ instance to which the user interface element belongs to. To
+ create a configurable user interface element the frame
+ instance must contain a visible component. Otherwise it is
+ not possible to determine the correct user interface
+ configuration manager. This argument is <b>mandatory</b> to
+ have a working configurable user interface element instance.
+ </li>
+ <li><b>ParentWindow</b><br/>
+ specifies a parent window to use for the window(s) representing
+ the UI element. Depending on the concrete UI element type, this parameter
+ might be required or ignored by an implementation.
+ </li>
+ <li><b>Persistent</b><br>
+ specifies if changes to a configurable
+ user interface element should be persistent. This is an
+ optional argument. The default value is `TRUE`.
+ </li>
+ <li><b>Module</b><br>
+ specifies the current module name (as a string).
+ May be empty.
+ </li>
+ <li><b>Controller</b><br>
+ (Sidebar only) specifies the current com::sun::star::frame::XController2 instance.
+ May be empty.
+ </li>
+ <li><b>Canvas</b><br>
+ (Sidebar only) specifies the current com::sun::star::rendering::XSpriteCanvas instance.
+ </li>
+ <li><b>ApplicationName</b><br>
+ (Sidebar only) Specifies the current application name (as a string)
+ </li>
+ <li><b>ContextName</b><br>
+ (Sidebar only) Specifies the current context (as a string)
+ </li>
+ </ul>
+
+ <p>
+ An implementation is responsible to initialize every newly created user
+ interface element if the necessary properties are provided. Especially
+ it must connect a configurable user interface element to the correct user
+ interface configuration manager. Without this connection the configurable
+ user interface element cannot retrieve its structure data and changes to
+ the user interface element structure won't be persistent. It is up to the
+ implementation to throw an
+ com::sun::star::lang::IllegalArgumentException
+ if it cannot create a user interface element with the provided arguments.
+
+ @see ConfigurableUIElement
+ @see UIElement
+ </p>
+ */
+ ::com::sun::star::ui::XUIElement createUIElement( [in] string ResourceURL, [in] sequence< com::sun::star::beans::PropertyValue > Args ) 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/ui/XUIElementFactoryManager.idl b/offapi/com/sun/star/ui/XUIElementFactoryManager.idl
new file mode 100644
index 000000000..9b41f40ab
--- /dev/null
+++ b/offapi/com/sun/star/ui/XUIElementFactoryManager.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_ui_XUIElementFactoryManager_idl__
+#define __com_sun_star_ui_XUIElementFactoryManager_idl__
+
+#include <com/sun/star/lang/XMultiComponentFactory.idl>
+#include <com/sun/star/ui/XUIElementFactoryRegistration.idl>
+
+
+module com { module sun { module star { module ui {
+
+
+/** Provides a unified interface for the new-style service XUIElementFactoryManager.
+
+ @since LibreOffice 4.1
+*/
+interface XUIElementFactoryManager
+{
+ /** provides a function to create new instances of user interface elements.
+
+ <p>
+ A user interface element factory manager is also a user interface element factory. It
+ retrieves the responsible user interface element factory from the provided arguments and passes
+ the arguments to it.
+
+ @see XUIElementFactory
+ </p>
+ */
+ interface XUIElementFactory;
+
+ /** provides functions to query, retrieve, register and deregister user interface element factories.
+ */
+ interface XUIElementFactoryRegistration;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/XUIElementFactoryRegistration.idl b/offapi/com/sun/star/ui/XUIElementFactoryRegistration.idl
new file mode 100644
index 000000000..7d184485c
--- /dev/null
+++ b/offapi/com/sun/star/ui/XUIElementFactoryRegistration.idl
@@ -0,0 +1,159 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_ui_XUIElementFactoryRegistration_idl__
+#define __com_sun_star_ui_XUIElementFactoryRegistration_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/ui/XUIElementFactory.idl>
+#include <com/sun/star/container/ElementExistException.idl>
+#include <com/sun/star/container/NoSuchElementException.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+
+
+module com { module sun { module star { module ui {
+
+
+/** is used to query, register and deregister user interface element factories.
+
+ <p>
+ A user interface element factory is registered for a set of three properties.
+ <ul>
+ <li><b>Type</b>a string that identifies a type of a user interface element.</li>
+ <li><b>Name</b>a string that identifies a single user interface element within a type class.</li>
+ <li><b>Module</b>a string that identifies a single module of OpenOffice.</li>
+ </ul>
+ A combination of these three property values can uniquely identify every user interface
+ element within OpenOffice.
+
+ Currently the following user interface element types are defined:
+ <ul>
+ <li><b>menubar</b></li>
+ <li><b>popupmenu</b></li>
+ <li><b>toolbar</b></li>
+ <li><b>statusbar</b></li>
+ <li><b>floater</b></li>
+ </ul>
+ </p>
+
+ @since OOo 2.0
+ */
+
+interface XUIElementFactoryRegistration : com::sun::star::uno::XInterface
+{
+ /** function to retrieve a list of all registered user interface element factories
+
+ @returns
+ a sequence of sequence of property values which describe every registered
+ user interface element factory.<br/>
+
+ The following properties are defined:
+ <ul>
+ <li><b>Type</b>a string property that identifies the type of the user interface
+ element which this factory can create.</li>
+ <li><b>Name</b>an optional string property which identifies a single user interface
+ element within a type class which this factory can create. If this property is not
+ returned, the factory is a generic factory for all user interface elements of the
+ same type.</li>
+ <li><b>Module</b>an optional string property that specifies to which module this factory is
+ bound to. If this property is not returned, the factory is a generic factory.</li>
+ </ul>
+ */
+ sequence< sequence< com::sun::star::beans::PropertyValue > > getRegisteredFactories();
+
+ /** function to retrieve a previously registered user interface element factory.
+
+ @returns
+ a reference to a registered user interface element factory if a factory has been
+ found. An empty reference when no factory has been found.
+ <b>The defined search order of factories must be from special to generic ones.</b>
+
+ @param ResourceURL
+ a resource URL which identifies a user interface element. A resource URL uses the
+ following syntax: "private:resource/$type/$name". It is only allowed to use ASCII
+ characters for type and name.
+
+ @param ModuleIdentifier
+ an optional module identifier. This value can remain empty, if a generic factory is requested.
+ The module identifier can be retrieved from the com::sun::star::frame::ModuleManager service.
+ */
+ ::com::sun::star::ui::XUIElementFactory getFactory( [in] string ResourceURL, [in] string ModuleIdentifier );
+
+ /** function to register a user interface element factory.
+
+ @param aType
+ a string that identifies a type of a user interface element. Currently the following types
+ are supported:
+ <ul>
+ <li><b>menubar</b></li>
+ <li><b>toolbar</b></li>
+ <li><b>statusbar</b></li>
+ </ul>
+
+ @param aName
+ an optional name of a single user interface element. This name must be unique within a user
+ interface element type class. This value can remain empty if no special factory for a single
+ user interface element is needed.
+
+ @param aModuleIdentifier
+ an optional module identifier that can be used to register a factory only for a single module. This value
+ can remain empty if no special factory for a single module is needed. The module identifier can be retrieved
+ from the com::sun::star::frame::ModuleManager service.
+
+ @param aFactoryImplementationName
+ a UNO implementation name that can be used by an implementation to create a factory instance.
+ */
+ void registerFactory( [in] string aType, [in] string aName, [in] string aModuleIdentifier, [in] string aFactoryImplementationName ) raises (com::sun::star::container::ElementExistException);
+
+ /** function to remove a previously defined user interface element factory.
+
+ @param aType
+ a string that identifies a type of a user interface element. Currently the following types
+ are supported:
+ <ul>
+ <li><b>menubar</b></li>
+ <li><b>toolbar</b></li>
+ <li><b>statusbar</b></li>
+ </ul>
+
+ @param aName
+ an optional name of a single user interface element. This name must be unique within a user
+ interface element type class. This value can remain empty if no special factory for a single
+ user interface element should be deregistered.
+
+ @param ModuleIdentifier
+ an optional module name that can be used to deregister a factory only for a single module. This value
+ can remain empty if not a module based factory should be deregistered. The module identifier can be retrieved
+ from the com::sun::star::frame::ModuleManager service.
+
+ <p>
+ <b>Using this function can be very dangerous as other implementation with OpenOffice may not be able to create their
+ user interface element anymore.
+ </b>
+ </p>
+ */
+ void deregisterFactory( [in] string aType, [in] string aName, [in] string ModuleIdentifier ) raises (com::sun::star::container::NoSuchElementException);
+};
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/XUIElementSettings.idl b/offapi/com/sun/star/ui/XUIElementSettings.idl
new file mode 100644
index 000000000..3d0a7b105
--- /dev/null
+++ b/offapi/com/sun/star/ui/XUIElementSettings.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_ui_XUIElementSettings_idl__
+#define __com_sun_star_ui_XUIElementSettings_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/container/XIndexAccess.idl>
+
+
+module com { module sun { module star { module ui {
+
+
+/** provides functions to retrieve and change user interface element structure
+ data and to update its visible representation.
+
+ @since OOo 2.0
+*/
+
+interface XUIElementSettings : com::sun::star::uno::XInterface
+{
+ /** forces the user interface element to retrieve new settings from its
+ configuration source.
+
+ <p>
+ This is not done automatically as configurable user interface elements
+ are controlled by layout managers. It is more efficient to let the
+ responsible layout manager to control the update process in a single
+ task.
+ </p>
+ */
+ void updateSettings();
+
+ /** provides a UIElementSettings instance that provides access
+ to the structure of user interface element if the user interface element
+ type supports it.
+
+ @param bWriteable
+ must be `TRUE` if the retrieved settings should be a writable.
+ Otherwise `FALSE` should be provided to get a shareable reference
+ to the settings data.
+
+ @return
+ the current settings of the user interface element.
+ */
+ com::sun::star::container::XIndexAccess getSettings( [in] boolean bWriteable );
+
+ /** set changes to the structure of the user interface element.
+
+ @param UISettings
+ new data settings for the configurable user interface element.
+
+
+ <p>
+ User interface elements cannot be changed directly. The changed structure
+ data has to be set again. This speeds up the configuration process if many
+ changes have to be made on the structure. The persistence of changes are
+ controlled by the boolean property Persistent.
+
+ </p>
+
+ @see com::sun::star::ui::UIElementSettings
+ */
+ void setSettings( [in] com::sun::star::container::XIndexAccess UISettings );
+};
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/XUIFunctionListener.idl b/offapi/com/sun/star/ui/XUIFunctionListener.idl
new file mode 100644
index 000000000..1ee857d3a
--- /dev/null
+++ b/offapi/com/sun/star/ui/XUIFunctionListener.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_ui_XUIFunctionListener_idl__
+#define __com_sun_star_ui_XUIFunctionListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+
+
+ module com { module sun { module star { module ui {
+
+/** special interface to receive notification that a user interface
+ element will execute a function.
+
+ @since OOo 2.0
+ */
+interface XUIFunctionListener : com::sun::star::lang::XEventListener
+{
+ /** gets called to notify a component that a user interface element
+ wants to execute a function.
+
+ @param aUIElementName
+ a string which identifies the user interface element that wants
+ to execute a function.
+
+ @param aCommand
+ a string which identifies the function that has been selected by
+ a user.
+ */
+ void functionExecute( [in] string aUIElementName, [in] string aCommand );
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/XUpdateModel.idl b/offapi/com/sun/star/ui/XUpdateModel.idl
new file mode 100644
index 000000000..0c707b8af
--- /dev/null
+++ b/offapi/com/sun/star/ui/XUpdateModel.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_ui_XUpdateModel_idl__
+#define __com_sun_star_ui_XUpdateModel_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/frame/XModel.idl>
+
+
+module com { module sun { module star { module ui {
+
+
+/** Internal interface to update the used css::frame::XModel
+ </p>
+ @since LibreOffice 5.1
+*/
+
+interface XUpdateModel : com::sun::star::uno::XInterface
+{
+ void updateModel( [in] com::sun::star::frame::XModel xModel);
+};
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/dialogs/AddressBookSourcePilot.idl b/offapi/com/sun/star/ui/dialogs/AddressBookSourcePilot.idl
new file mode 100644
index 000000000..6e3668cb8
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/AddressBookSourcePilot.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_ui_dialogs_AddressBookSourcePilot_idl__
+#define __com_sun_star_ui_dialogs_AddressBookSourcePilot_idl__
+
+#include <com/sun/star/awt/XWindow.idl>
+#include <com/sun/star/ui/dialogs/XExecutableDialog.idl>
+
+
+module com { module sun { module star { module ui { module dialogs {
+
+/**
+ @since LibreOffice 4.1
+*/
+service AddressBookSourcePilot : XExecutableDialog
+{
+ createWithParent([in] com::sun::star::awt::XWindow ParentWindow);
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/dialogs/CommonFilePickerElementIds.idl b/offapi/com/sun/star/ui/dialogs/CommonFilePickerElementIds.idl
new file mode 100644
index 000000000..7ec5aa413
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/CommonFilePickerElementIds.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_ui_dialogs_CommonFilePickerElementIds_idl__
+#define __com_sun_star_ui_dialogs_CommonFilePickerElementIds_idl__
+
+
+module com { module sun { module star { module ui { module dialogs {
+
+/** These constants are used to specify common controls of a FilePicker dialog.
+
+ */
+
+published constants CommonFilePickerElementIds
+{
+ /** The control id of the OK button.
+ */
+ const short PUSHBUTTON_OK = 1;
+
+ /** The control id of the Cancel button.
+ */
+ const short PUSHBUTTON_CANCEL = 2;
+
+ /** The filter listbox of a FilePicker dialog.
+ */
+ const short LISTBOX_FILTER = 3;
+
+ /** Is used to refer to the file view of the file picker. This view shows the list of
+ all files/folders in the currently selected folder.
+ */
+ const short CONTROL_FILEVIEW = 4;
+
+ /** Is used to refer to the edit line where a file or path can be entered by the user.
+ */
+ const short EDIT_FILEURL = 5;
+
+ /** The label of the filter listbox of a FilePicker dialog.
+
+ @since OOo 1.1.2
+ */
+ const short LISTBOX_FILTER_LABEL = 6;
+
+ /** The label of the file name listbox of a FilePicker dialog.
+
+ @since OOo 1.1.2
+ */
+ const short EDIT_FILEURL_LABEL = 7;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/dialogs/ControlActions.idl b/offapi/com/sun/star/ui/dialogs/ControlActions.idl
new file mode 100644
index 000000000..43130cf59
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/ControlActions.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_ui_dialogs_ControlActions_idl__
+#define __com_sun_star_ui_dialogs_ControlActions_idl__
+
+
+module com { module sun { module star { module ui { module dialogs {
+
+/** Control actions for common and extended controls of a FilePicker.
+
+ @see com::sun::star::ui::dialogs::XFilePickerControlAccess
+ @see com::sun::star::ui::dialogs::CommonFilePickerElementIds
+ @see com::sun::star::ui::dialogs::ExtendedFilePickerElementIds
+ */
+
+published constants ControlActions
+{
+ /** Adds an item to the content of the listbox. The given item has to
+ be a string.
+ */
+ const short ADD_ITEM = 1;
+
+ /** Adds a sequence of strings to the content of the listbox.
+ */
+ const short ADD_ITEMS = 2;
+
+ /** Removes an item from a listbox. The given value has to be a
+ position. If the position is invalid an exception will be thrown.
+ The index of the first position is 0.
+ The value should be a sal_Int32.
+ */
+ const short DELETE_ITEM = 3;
+
+ /** Removes all items from the listbox.
+ */
+ const short DELETE_ITEMS = 4;
+
+ /** Selects an item in a listbox. The given value has to be a position.
+ The index of the first position is 0. A value of -1 removes the
+ selection.
+ If the given position is invalid an exception will be thrown.
+ The value should be a sal_Int32.
+ */
+ const short SET_SELECT_ITEM = 5;
+
+ /** Returns all items of the listbox as a sequence of strings.
+ */
+ const short GET_ITEMS = 6;
+
+ /** Returns the currently selected item. The returned item is an empty
+ string if the listbox is empty or no item is selected.
+ */
+ const short GET_SELECTED_ITEM = 7;
+
+ /** Returns the zero based index of the currently selected item.
+ If the listbox is empty or there is no item selected -1 will be
+ returned. The returned value is a sal_Int32.
+ */
+
+ const short GET_SELECTED_ITEM_INDEX = 8;
+
+ /** Sets the help URL of a control.
+ */
+ const short SET_HELP_URL = 100;
+
+ /** Retrieves the help URL of a control.
+ */
+ const short GET_HELP_URL = 101;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/dialogs/DialogClosedEvent.idl b/offapi/com/sun/star/ui/dialogs/DialogClosedEvent.idl
new file mode 100644
index 000000000..5b25fabbe
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/DialogClosedEvent.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_ui_dialogs_DialogClosedEvent_idl__
+#define __com_sun_star_ui_dialogs_DialogClosedEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+
+
+module com { module sun { module star { module ui { module dialogs {
+
+
+/** Information of a closed dialog.
+
+ <p>The broadcaster who sends such event, must send the dialog as the source.</p>
+
+ @see com::sun::star::lang::EventObject
+*/
+struct DialogClosedEvent: com::sun::star::lang::EventObject
+{
+ /**
+ @param DialogResult
+ Identifies the result of a dialog.
+
+ @see ExecutableDialogResults
+ */
+ short DialogResult;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/dialogs/ExecutableDialogException.idl b/offapi/com/sun/star/ui/dialogs/ExecutableDialogException.idl
new file mode 100644
index 000000000..a632953a3
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/ExecutableDialogException.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_ui_dialogs_ExecutableDialogException_idl__
+#define __com_sun_star_ui_dialogs_ExecutableDialogException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+module com { module sun { module star { module ui { module dialogs {
+
+/** Base class of all XExecutableDialog related exceptions.
+ */
+published exception ExecutableDialogException: com::sun::star::uno::Exception
+{
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/dialogs/ExecutableDialogResults.idl b/offapi/com/sun/star/ui/dialogs/ExecutableDialogResults.idl
new file mode 100644
index 000000000..5e39783c8
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/ExecutableDialogResults.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_ui_dialogs_ExecutableDialogResults_idl__
+#define __com_sun_star_ui_dialogs_ExecutableDialogResults_idl__
+
+
+module com { module sun { module star { module ui { module dialogs {
+
+/** These constants are used to specify a result of executing a XExecutableDialog.
+*/
+
+published constants ExecutableDialogResults
+{
+ /** The user canceled the dialog.
+ */
+ const short CANCEL = 0;
+
+ /** The user acknowledged the dialog.
+ */
+ const short OK = 1;
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/dialogs/ExtendedFilePickerElementIds.idl b/offapi/com/sun/star/ui/dialogs/ExtendedFilePickerElementIds.idl
new file mode 100644
index 000000000..f981d0430
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/ExtendedFilePickerElementIds.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_ui_dialogs_ExtendedFilePickerElementIds_idl__
+#define __com_sun_star_ui_dialogs_ExtendedFilePickerElementIds_idl__
+
+
+module com { module sun { module star { module ui { module dialogs {
+
+/** <p>These constants are used to specify extended controls of a FilePicker dialog.
+ A FilePicker service may be initialized so that it has additional controls
+ extending the set of common controls a FilePicker usually supports.</p>
+
+ @see com::sun::star::ui::dialogs::FilePicker
+ @see com::sun::star::ui::dialogs::XFilePickerControlAccess
+ @see com::sun::star::ui::dialogs::CommonFilePickerElementIds
+ */
+
+published constants ExtendedFilePickerElementIds
+{
+ const short CHECKBOX_AUTOEXTENSION = 100;
+ const short CHECKBOX_PASSWORD = 101;
+ const short CHECKBOX_FILTEROPTIONS = 102;
+ const short CHECKBOX_READONLY = 103;
+ const short CHECKBOX_LINK = 104;
+ const short CHECKBOX_PREVIEW = 105;
+ const short PUSHBUTTON_PLAY = 106;
+ const short LISTBOX_VERSION = 107;
+ const short LISTBOX_TEMPLATE = 108;
+ const short LISTBOX_IMAGE_TEMPLATE = 109;
+ const short CHECKBOX_SELECTION = 110;
+ const short LISTBOX_VERSION_LABEL = 207;
+ const short LISTBOX_TEMPLATE_LABEL = 208;
+ const short LISTBOX_IMAGE_TEMPLATE_LABEL = 209;
+ const short LISTBOX_FILTER_SELECTOR = 210;
+ /** @since LibreOffice 6.0 */ const short CHECKBOX_GPGENCRYPTION = 211;
+ /** @since LibreOffice 6.1 */ const short LISTBOX_IMAGE_ANCHOR = 212;
+ /** @since LibreOffice 6.1 */ const short LISTBOX_IMAGE_ANCHOR_LABEL = 213;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/dialogs/FilePicker.idl b/offapi/com/sun/star/ui/dialogs/FilePicker.idl
new file mode 100644
index 000000000..6c61f394a
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/FilePicker.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_ui_dialogs_FilePicker_idl__
+#define __com_sun_star_ui_dialogs_FilePicker_idl__
+
+#include <com/sun/star/ui/dialogs/XFilePicker3.idl>
+
+
+module com { module sun { module star { module ui { module dialogs {
+
+
+/** A FilePicker.
+
+ It is <strong>NOT</strong> recommended to cache a reference to a file
+ picker instance. Due to restrictions by the underlying system there can
+ be specific limitations possible. To overcome these problems it's
+ recommended to create a new instance on demand.
+
+ @see XFilePicker
+*/
+
+published service FilePicker : XFilePicker3
+{
+
+ /** Provides the ability to choose between different custom templates that
+ do extend the subset of common controls a FilePicker usually supports.
+ Implementers may omit this interface if the FileOpen
+ dialog doesn't support custom templates. In this case a createInstance
+ will create an ordinary FileOpen dialog with only the common FilePicker
+ elements.
+ The client has to provide one of the specified constants in
+ TemplateDescription.
+ <br/><br/>
+ <p><strong>Notes for the implementation of a FileSave dialog:</strong>
+ The implementation of a FileSave dialog should automatically check
+ for existence of a file and issue a warning if a file with the same
+ name already exist.</p>
+ <p>Note that when creating a file picker, the top window is selected
+ as the parent window for the file picker. Make sure that it does not get
+ closed while opening the file picker, as there is a potential race.</p>
+
+ @see com::sun::star::ui::dialogs::TemplateDescription
+ */
+ createWithMode([in] short Mode);
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/dialogs/FilePickerEvent.idl b/offapi/com/sun/star/ui/dialogs/FilePickerEvent.idl
new file mode 100644
index 000000000..2c834e893
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/FilePickerEvent.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_ui_dialogs_FilePickerEvent_idl__
+#define __com_sun_star_ui_dialogs_FilePickerEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+
+
+module com { module sun { module star { module ui { module dialogs {
+
+
+/** Context information in case of a FilePicker event.
+*/
+published struct FilePickerEvent: com::sun::star::lang::EventObject
+{
+ /**
+ @param ElementId
+ Identifies the affected element
+
+ @see com::sun::star::ui::dialogs::CommonFilePickerElementIds
+ @see com::sun::star::ui::dialogs::ExtendedFilePickerElementIds
+ */
+ short ElementId;
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/dialogs/FilePreviewImageFormats.idl b/offapi/com/sun/star/ui/dialogs/FilePreviewImageFormats.idl
new file mode 100644
index 000000000..e6a765ed7
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/FilePreviewImageFormats.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_ui_dialogs_FilePreviewImageFormats_idl__
+#define __com_sun_star_ui_dialogs_FilePreviewImageFormats_idl__
+
+
+module com { module sun { module star { module ui { module dialogs {
+
+/** These constants are used to specify image formats supported by an implementation
+ of the interface com::sun::star::ui::dialogs::XFilePreview.
+ */
+
+published constants FilePreviewImageFormats
+{
+ /** A LibreOffice bitmap which is similar to the device independent bitmap
+ (DIB) format on windows.
+ The bitmap data should be provided as a sequence of sal_Int8.
+ */
+ const short BITMAP = 1;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/dialogs/FilterOptionsDialog.idl b/offapi/com/sun/star/ui/dialogs/FilterOptionsDialog.idl
new file mode 100644
index 000000000..b5866343a
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/FilterOptionsDialog.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_ui_dialogs_FilterOptionsDialog_idl__
+#define __com_sun_star_ui_dialogs_FilterOptionsDialog_idl__
+
+#include <com/sun/star/ui/dialogs/XExecutableDialog.idl>
+#include <com/sun/star/beans/XPropertyAccess.idl>
+
+
+module com { module sun { module star { module ui { module dialogs {
+
+
+/** This service enables a filter developer to register a dialog to query
+ for user options before the filter operation is performed.
+
+ <p>The user options are stored inside the com::sun::star::document::MediaDescriptor
+ and can be queried from the com::sun::star::document::MediaDescriptor by
+ the component that implements com::sun::star::document::XFilter.</p>
+
+ <p>The application will set the com::sun::star::document::MediaDescriptor
+ using the interface com::sun::star::beans::XPropertyAccess and then
+ call XExecutableDialog::execute().</p>
+
+ <p>If that method returns <code>ExecutableDialogResults::OK</code>,
+ the application will retrieve the changed com::sun::star::document::MediaDescriptor
+ back using the interface com::sun::star::beans::XPropertyAccess. The filter
+ operation is then continued, using the new com::sun::star::document::MediaDescriptor.</p>
+
+ <p>Otherwise, the filter operation is canceled.</p>
+
+ @since OOo 1.1.2
+ */
+published service FilterOptionsDialog
+{
+ /** this interface is used to set the property values of the
+ com::sun::star::document::MediaDescriptor before executing
+ the dialog and to retrieve the changed com::sun::star::document::MediaDescriptor
+
+ afterwards.
+ */
+ interface com::sun::star::beans::XPropertyAccess;
+
+ /** this interface executes a dialog that displays the options
+ for a filter.
+ If XExecutableDialog::execute()
+ returns <code>ExecutableDialogResults::OK</code>,
+ the options can be retrieved by calling
+ com::sun::star::beans::XPropertyAccess::getPropertyValues.
+ */
+ interface ::com::sun::star::ui::dialogs::XExecutableDialog;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/dialogs/FolderPicker.idl b/offapi/com/sun/star/ui/dialogs/FolderPicker.idl
new file mode 100644
index 000000000..a283c6085
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/FolderPicker.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_ui_dialogs_FolderPicker_idl__
+#define __com_sun_star_ui_dialogs_FolderPicker_idl__
+
+#include <com/sun/star/ui/dialogs/XFolderPicker2.idl>
+
+
+module com { module sun { module star { module ui { module dialogs {
+
+/** A FolderPicker service.
+*/
+
+published service FolderPicker : XFolderPicker2;
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/dialogs/ListboxControlActions.idl b/offapi/com/sun/star/ui/dialogs/ListboxControlActions.idl
new file mode 100644
index 000000000..dba798e7b
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/ListboxControlActions.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_ui_dialogs_ListboxControlActions_idl__
+#define __com_sun_star_ui_dialogs_ListboxControlActions_idl__
+
+
+module com { module sun { module star { module ui { module dialogs {
+
+/** These constants are deprecated and should not be used anymore. They're superseded
+ by ControlActions.
+ @deprecated
+ */
+
+published constants ListboxControlActions
+{
+ /** Adds an item to the content of the listbox. The given item has to
+ be a string.
+ */
+ const short ADD_ITEM = 1;
+
+ /** Adds a sequence of strings to the content of the listbox.
+ */
+ const short ADD_ITEMS = 2;
+
+ /** Removes an item from a listbox. The given value has to be a
+ position. If the position is invalid an exception will be thrown.
+ The index of the first position is 0.
+ The value should be a sal_Int32.
+ */
+ const short DELETE_ITEM = 3;
+
+ /** Removes all items from the listbox.
+ */
+ const short DELETE_ITEMS = 4;
+
+ /** Selects an item in a listbox. The given value has to be a position.
+ The index of the first position is 0. A value of -1 removes the
+ selection.
+ If the given position is invalid an exception will be thrown.
+ The value should be a sal_Int32.
+ */
+ const short SET_SELECT_ITEM = 5;
+
+ /** Returns all items of the listbox as a sequence of strings.
+ */
+ const short GET_ITEMS = 6;
+
+ /** Returns the currently selected item. The returned item is an empty
+ string if the listbox is empty or no item is selected.
+ */
+ const short GET_SELECTED_ITEM = 7;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/dialogs/TemplateDescription.idl b/offapi/com/sun/star/ui/dialogs/TemplateDescription.idl
new file mode 100644
index 000000000..2879f72a7
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/TemplateDescription.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_ui_dialogs_TemplateDescription_idl__
+#define __com_sun_star_ui_dialogs_TemplateDescription_idl__
+
+
+module com { module sun { module star { module ui { module dialogs {
+
+/** The implementation of a FilePicker service may support the usage of
+ different templates. The following constants define the currently
+ specified templates.
+
+ @see com::sun::star::ui::dialogs::FilePicker
+ */
+
+published constants TemplateDescription
+{
+ /** A FileOpen dialog without any additional controls.
+ */
+ const short FILEOPEN_SIMPLE = 0;
+
+ /** A FileSave dialog without any additional controls.
+ */
+ const short FILESAVE_SIMPLE = 1;
+
+ /** A FileSave dialog with additional controls.
+ <ul>
+ <li>A checkbox "Auto Extension"</li>
+ <li>A checkbox "Password"</li>
+ </ul>
+ */
+ const short FILESAVE_AUTOEXTENSION_PASSWORD = 2;
+
+ /** A FileSave dialog with additional controls.
+ <ul>
+ <li>A checkbox "Auto Extension"</li>
+ <li>A checkbox "Password"</li>
+ <li>A checkbox "Filter Options"</li>
+ </ul>
+ */
+ const short FILESAVE_AUTOEXTENSION_PASSWORD_FILTEROPTIONS = 3;
+
+ /** A FileSave dialog with additional controls.
+ <ul>
+ <li>A checkbox "Auto Extension"</li>
+ <li>A checkbox "Selection"</li>
+ </ul>
+ */
+ const short FILESAVE_AUTOEXTENSION_SELECTION = 4;
+
+ /** A FileSave dialog with additional controls.
+ <ul>
+ <li>A checkbox "Auto Extension"</li>
+ <li>A listbox "Template" for selecting different templates</li>
+ </ul>
+ */
+ const short FILESAVE_AUTOEXTENSION_TEMPLATE = 5;
+
+ /** A FileOpen dialog with additional controls.
+ <ul>
+ <li>A checkbox "Insert as link"
+ <li>A checkbox "Show Preview"
+ <li>A listbox "Image Template" for inserting an image with different styles.</li>
+ <li>A window for displaying a file preview</li>
+ </ul>
+ */
+ const short FILEOPEN_LINK_PREVIEW_IMAGE_TEMPLATE = 6;
+
+ /** A FileOpen dialog with additional controls.
+ <ul>
+ <li>A push button "Play"</li>
+ </ul>
+ */
+ const short FILEOPEN_PLAY = 7;
+
+ /** A FileOpen dialog with additional controls.
+ <ul>
+ <li>A checkbox "Read only"</li>
+ <li>A listbox "Version" for selecting a document version</li>
+ </ul>
+ */
+ const short FILEOPEN_READONLY_VERSION = 8;
+
+ /** A FileOpen dialog with additional controls.
+ <ul>
+ <li>A checkbox "Insert as link"</li>
+ <li>A checkbox "Show Preview"</li>
+ <li>A window for displaying a file preview</li>
+ </ul>
+ */
+ const short FILEOPEN_LINK_PREVIEW = 9;
+
+ /** A FileSave dialog with additional controls.
+ <ul>
+ <li>A checkbox "Auto Extension"</li>
+ </ul>
+ */
+ const short FILESAVE_AUTOEXTENSION = 10;
+
+ /** A FileOpen dialog with additional controls.
+ <ul>
+ <li>A checkbox "Show Preview"</li>
+ <li>A window for displaying a file preview</li>
+ </ul>
+
+ @since LibreOffice 5.3
+ */
+ const short FILEOPEN_PREVIEW = 11;
+
+ /** A FileOpen dialog with additional controls.
+ <ul>
+ <li>A checkbox "Insert as link"</li>
+ <li>A push button "Play"</li>
+ </ul>
+
+ @since LibreOffice 5.3
+ */
+ const short FILEOPEN_LINK_PLAY = 12;
+
+ /** A FileOpen dialog with additional controls.
+ <ul>
+ <li>A checkbox "Insert as link"
+ <li>A checkbox "Show Preview"
+ <li>A listbox "Image Anchor" for choosing how to anchor the image in Calc.</li>
+ <li>A window for displaying a file preview</li>
+ </ul>
+
+ @since LibreOffice 6.1
+ */
+ const short FILEOPEN_LINK_PREVIEW_IMAGE_ANCHOR = 13;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/dialogs/Wizard.idl b/offapi/com/sun/star/ui/dialogs/Wizard.idl
new file mode 100644
index 000000000..f7156496a
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/Wizard.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_ui_dialogs_Wizard_idl__
+#define __com_sun_star_ui_dialogs_Wizard_idl__
+
+#include <com/sun/star/ui/dialogs/XWizard.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+module com { module sun { module star { module ui { module dialogs {
+
+interface XWizardController;
+
+
+/** provides a framework for implementing a wizard dialog.
+
+ @since OOo 3.3
+ */
+service Wizard : XWizard
+{
+ /** creates a wizard with a single execution path
+ @param PageIds
+ the IDs of the pages which constitute the execution path. IDs must be in ascending order.
+ @param Controller
+ the wizard controller.
+ */
+ createSinglePathWizard(
+ [in] sequence< short > PageIds,
+ [in] XWizardController Controller
+ )
+ raises ( ::com::sun::star::lang::IllegalArgumentException
+ );
+
+ /** creates a wizard with a multiple possible execution paths
+
+ @param PageIds
+ the IDs of the pages which constitute the execution paths. IDs in each path must be in ascending order.
+ @param Controller
+ the wizard controller.
+ */
+ createMultiplePathsWizard(
+ [in] sequence< sequence< short > > PageIds,
+ [in] XWizardController Controller
+ )
+ raises ( ::com::sun::star::lang::IllegalArgumentException
+ );
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/dialogs/WizardButton.idl b/offapi/com/sun/star/ui/dialogs/WizardButton.idl
new file mode 100644
index 000000000..757a7d33b
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/WizardButton.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_ui_dialogs_WizardButton_idl__
+#define __com_sun_star_ui_dialogs_WizardButton_idl__
+
+
+module com { module sun { module star { module ui { module dialogs {
+
+
+/** denotes the buttons found in a Wizard
+
+ @since OOo 3.3
+ */
+constants WizardButton
+{
+ /// denotes none of the buttons in the wizard
+ const short NONE = 0;
+ /// denotes the button used to travel forward through the wizard
+ const short NEXT = 1;
+ /// denotes the button used to travel backward through the wizard
+ const short PREVIOUS = 2;
+ /// denotes the button used to finish the wizard
+ const short FINISH = 3;
+ /// denotes the button used to cancel the wizard
+ const short CANCEL = 4;
+ /// denotes the button used to request help
+ const short HELP = 5;
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/dialogs/WizardTravelType.idl b/offapi/com/sun/star/ui/dialogs/WizardTravelType.idl
new file mode 100644
index 000000000..8df9865e2
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/WizardTravelType.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_ui_dialogs_WizardTravelType_idl__
+#define __com_sun_star_ui_dialogs_WizardTravelType_idl__
+
+
+module com { module sun { module star { module ui { module dialogs {
+
+
+/** denotes ways to leave a Wizard's page
+
+ @since OOo 3.3
+ */
+constants WizardTravelType
+{
+ /// indicates the wizard page is left due to forward traveling through the wizard
+ const short FORWARD = 1;
+ /// indicates the wizard page is left due to backward traveling through the wizard
+ const short BACKWARD = 2;
+ /// indicates the wizard page is left since the wizard is about to be finished
+ const short FINISH = 3;
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/dialogs/XAsynchronousExecutableDialog.idl b/offapi/com/sun/star/ui/dialogs/XAsynchronousExecutableDialog.idl
new file mode 100644
index 000000000..18f1eec71
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XAsynchronousExecutableDialog.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_ui_dialogs_XAsynchronousExecutableDialog_idl__
+#define __com_sun_star_ui_dialogs_XAsynchronousExecutableDialog_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/ui/dialogs/XDialogClosedListener.idl>
+
+
+module com { module sun { module star { module ui { module dialogs {
+
+/** Specifies an interface for an executable dialog in asynchronous mode.
+*/
+interface XAsynchronousExecutableDialog: com::sun::star::uno::XInterface
+{
+ /** Sets the title of the dialog.
+
+ @param aTitle
+ Set an arbitrary title for the dialog,
+ may be an empty string if the dialog should not have a title.
+ */
+ void setDialogTitle( [in] string aTitle );
+
+ /** Executes (shows) the dialog and returns immediately.
+
+ @param xListener
+ This listener will be called when the dialog is closed.
+ */
+ void startExecuteModal( [in] XDialogClosedListener xListener );
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/dialogs/XControlAccess.idl b/offapi/com/sun/star/ui/dialogs/XControlAccess.idl
new file mode 100644
index 000000000..ce9cbc689
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XControlAccess.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_ui_dialogs_XControlAccess_idl__
+#define __com_sun_star_ui_dialogs_XControlAccess_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+module com { module sun { module star { module ui { module dialogs {
+
+/** Generic control access interface.
+
+ <p>Use this interface to access user interface controls supported
+ by the implementing service. The supported controls, control
+ properties and the appropriate values are documented in the
+ description of the implementing service.</p>
+
+ @see com::sun::star::ui::dialogs::FilePicker
+ @see com::sun::star::ui::dialogs::FilePicker
+
+ @since OOo 1.1.2
+*/
+published interface XControlAccess: com::sun::star::uno::XInterface
+{
+/** Change a control property.
+
+ @param aControlName
+ The name of the control. Common control names are for
+ instance "OkButton" or "CancelButton".
+
+ @param aControlProperty
+ The control property to manipulate. Common control properties
+ are for instance "Label" or "State".
+
+ @param aValue
+ A value appropriated for the property.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ when the control is not supported, the control property is invalid or
+ the value fits not the control action.
+*/
+void setControlProperty( [in] string aControlName, [in] string aControlProperty, [in] any aValue )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+/** Query for a control property.
+
+ @param aControlName
+ The name of the control. Common control names are for
+ instance "OkButton" or "CancelButton".
+
+ @param aControlProperty
+ The requested control property. Common control properties
+ are for instance "Label" or "State".
+
+ @returns
+ the requested value.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ when the control is not supported or the control property is invalid.
+*/
+any getControlProperty( [in] string aControlName, [in] string aControlProperty )
+ raises( com::sun::star::lang::IllegalArgumentException );
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/dialogs/XControlInformation.idl b/offapi/com/sun/star/ui/dialogs/XControlInformation.idl
new file mode 100644
index 000000000..3fbe3f2aa
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XControlInformation.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_ui_dialogs_XControlInformation_idl__
+#define __com_sun_star_ui_dialogs_XControlInformation_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+module com { module sun { module star { module ui { module dialogs {
+
+/** Interface to query for controls and control properties supported by the
+ implementing instance.
+
+ @since OOo 1.1.2
+*/
+published interface XControlInformation: com::sun::star::uno::XInterface
+{
+/** Query for the supported controls of a service instance.
+
+ @returns
+ a sequence with the names of the supported controls.
+*/
+sequence<string> getSupportedControls( );
+
+/** Returns whether the specified control is supported or not.
+
+ @param aControlName
+ The name of the control. Common control names are for
+ instance "OkButton" or "CancelButton".
+
+ @returns
+ `TRUE` if the specified control is supported.
+ `FALSE` if the specified control is not supported.
+*/
+boolean isControlSupported( [in] string aControlName );
+
+/** Returns a sequence with properties supported by the specified
+ control.
+
+ @param aControlName
+ The name of the control. Common control names are for
+ instance "OkButton" or "CancelButton".
+
+ @returns
+ a sequence of control properties supported by the specified control.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ when the specified control is not supported.
+*/
+sequence<string> getSupportedControlProperties( [in] string aControlName )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+/** Returns whether control property is supported by a control.
+
+ @param aControlName
+ The name of the control.
+
+ @param aControlProperty
+ The control property to query for.
+
+ @returns
+ `TRUE` if the specified control action is supported.
+ `FALSE` if the specified control action is not supported.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ when the specified control is not supported.
+*/
+boolean isControlPropertySupported( [in] string aControlName, [in] string aControlProperty )
+ raises( com::sun::star::lang::IllegalArgumentException );
+};
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/dialogs/XDialogClosedListener.idl b/offapi/com/sun/star/ui/dialogs/XDialogClosedListener.idl
new file mode 100644
index 000000000..75f3eb44c
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XDialogClosedListener.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_ui_dialogs_XDialogClosedListener_idl__
+#define __com_sun_star_ui_dialogs_XDialogClosedListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+#include <com/sun/star/ui/dialogs/DialogClosedEvent.idl>
+
+module com { module sun { module star { module ui { module dialogs {
+
+/** Used to notify listeners about dialog-closed events.
+
+ <p>Registered listeners will be notified with a
+ DialogClosedEvent when a XAsynchronousExecutableDialog is closed.</p>
+
+ @see XAsynchronousExecutableDialog
+ @see DialogClosedEvent
+*/
+
+
+interface XDialogClosedListener: com::sun::star::lang::XEventListener
+{
+ /** A client receives this event if a dialog is closed.
+
+ @param aEvent
+ of type DialogClosedEvent that describes the event
+
+ @see EndDialogEvent
+ */
+ void dialogClosed( [in] DialogClosedEvent aEvent );
+};
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/dialogs/XExecutableDialog.idl b/offapi/com/sun/star/ui/dialogs/XExecutableDialog.idl
new file mode 100644
index 000000000..610a0859d
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XExecutableDialog.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_ui_dialogs_XExecutableDialog_idl__
+#define __com_sun_star_ui_dialogs_XExecutableDialog_idl__
+
+#include <com/sun/star/uno/RuntimeException.idl>
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module ui { module dialogs {
+
+/** Specifies an interface for an executable dialog.
+*/
+
+
+published interface XExecutableDialog: com::sun::star::uno::XInterface
+{
+ /** Sets the title of the dialog.
+
+ @param aTitle
+ Set an arbitrary title for the dialog,
+ may be an empty string if the dialog should not
+ have a title.
+ */
+ void setTitle( [in] string aTitle );
+
+ /** Executes (shows) the dialog.
+
+ @returns
+ A status code of type ExecutableDialogResults.
+ */
+ short execute();
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/dialogs/XFilePicker.idl b/offapi/com/sun/star/ui/dialogs/XFilePicker.idl
new file mode 100644
index 000000000..17b56cc34
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XFilePicker.idl
@@ -0,0 +1,107 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_ui_dialogs_XFilePicker_idl__
+#define __com_sun_star_ui_dialogs_XFilePicker_idl__
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/ui/dialogs/XExecutableDialog.idl>
+
+
+module com { module sun { module star { module ui { module dialogs {
+
+/** Specifies an interface for a FilePicker
+*/
+
+published interface XFilePicker: com::sun::star::ui::dialogs::XExecutableDialog
+{
+
+ /** Enable/disable multi-selection mode
+
+ <p>If the multi-selection mode is enabled, multiple files
+ may be selected by the user else only one file selection at a time is possible</p>
+
+ @param bMode
+ <p>A value of `TRUE` enables the multi-selection mode.</p>
+ <p>A value of `FALSE` disables the multi-selection mode, this is the default.</p>
+ */
+ void setMultiSelectionMode( [in] boolean bMode );
+
+ /** Sets the default string that appears in the file name box of a FilePicker.
+
+ @param aName
+ <p> Specifies the default file name, displayed when the FilePicker
+ is shown. The implementation may accept any string, and does not
+ have to check for a valid file name or if the file really exists.
+ </p>
+ */
+ void setDefaultName( [in] string aName );
+
+ /** Sets the directory that the file dialog initially displays.
+
+ @param aDirectory
+ Specifies the initial directory in URL format. The given URL must
+ conform to <a href="http://www.w3.org/Addressing/rfc1738.txt">Rfc1738</a>).
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the URL is invalid (doesn't conform to <a href="http://www.w3.org/Addressing/rfc1738.txt">Rfc1738</a>).
+ */
+ void setDisplayDirectory( [in] string aDirectory )
+ raises( ::com::sun::star::lang::IllegalArgumentException );
+
+ /** Returns the directory that the file dialog is currently showing or
+ was last showing before closing the dialog with Ok. If the user
+ did cancel the dialog, the returned value is undefined.
+
+ @returns
+ The directory in URL format, must conform to <a href="http://www.w3.org/Addressing/rfc1738.txt">Rfc1738</a>.
+ */
+ string getDisplayDirectory();
+
+ /** Returns a sequence of the selected files including path information in
+ URL format, conforming to <a href="http://www.w3.org/Addressing/rfc1738.txt">Rfc1738</a>.
+
+ <p>If the user closed the dialog with cancel an empty sequence will be
+ returned.</p>
+ <br/>
+ <p>If the dialog is in execution mode and a single file is selected
+ the complete URL of this file will be returned.</p>
+ <p>If the dialog is in execution mode and the selected file name is false
+ or any other error occurs an empty sequence will be returned.</p>
+
+ @returns
+ <p> The complete path of the file or directory currently selected
+ in URL format. This always returns only the first entry of the sequence.
+ <br/>
+ <p><strong>Notes for the implementation of a FileSave dialog:</strong>If there exists
+ a checkbox "Automatic File Extension" which is checked and a valid filter is currently selected
+ the dialog may automatically add an extension to the selected file name.</p>
+ </p>
+ @deprecated use com::sun::star::ui::dialogs::XFilePicker2::getSelectedFiles instead
+ */
+ sequence< string > getFiles();
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/dialogs/XFilePicker2.idl b/offapi/com/sun/star/ui/dialogs/XFilePicker2.idl
new file mode 100644
index 000000000..b04517f51
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XFilePicker2.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_ui_dialogs_XFilePicker2_idl__
+#define __com_sun_star_ui_dialogs_XFilePicker2_idl__
+
+#include <com/sun/star/ui/dialogs/XFilePicker.idl>
+
+
+module com { module sun { module star { module ui { module dialogs {
+
+/** extends file picker interface to workaround some design problems.
+*/
+published interface XFilePicker2 : ::com::sun::star::ui::dialogs::XFilePicker
+{
+ /** Returns a sequence of the selected files including path information in
+ URL format, conforming to <a href="http://www.w3.org/Addressing/rfc1738.txt">Rfc1738</a>.
+
+ <p>If the user closed the dialog with cancel an empty sequence will be returned.</p>
+ <br/>
+
+ <p>If the user closed the dialog with OK a list of all selected files will be returned.</p>
+
+ @attention
+ <p>
+ Instead to the method getFiles() of base interface XFilePicker the new method return
+ full qualified URLs for every selected file.
+ </p>
+
+ @returns
+ <p>A list of all selected file as complete URLs.</p>
+ <br/>
+
+ <p><strong>Notes for the implementation of a FileSave dialog:</strong>If there exists
+ a checkbox "Automatic File Extension" which is checked and a valid filter is currently selected
+ the dialog may automatically add an extension to the selected file name(s).</p>
+ */
+ sequence< string > getSelectedFiles();
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/dialogs/XFilePicker3.idl b/offapi/com/sun/star/ui/dialogs/XFilePicker3.idl
new file mode 100644
index 000000000..d2ee0e2d7
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XFilePicker3.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_ui_dialogs_XFilePicker3_idl__
+#define __com_sun_star_ui_dialogs_XFilePicker3_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/util/XCancellable.idl>
+#include <com/sun/star/ui/dialogs/XFilePicker2.idl>
+#include <com/sun/star/ui/dialogs/XFilePickerNotifier.idl>
+#include <com/sun/star/ui/dialogs/XFilePickerControlAccess.idl>
+#include <com/sun/star/ui/dialogs/XFilterManager.idl>
+#include <com/sun/star/ui/dialogs/XFilePreview.idl>
+#include <com/sun/star/ui/dialogs/XFilterGroupManager.idl>
+
+
+module com { module sun { module star { module ui { module dialogs {
+
+
+/**
+ Provides unified interface for FilePicker service.
+
+ @since LibreOffice 4.1
+*/
+published interface XFilePicker3
+{
+ interface XFilePicker2;
+
+ /** Provides the ability to request notifications about changes.
+ */
+ interface XFilePickerNotifier; // extends XEventListener
+
+ /** Provides the ability to add different filter, query for the current
+ filters and set a current filter
+ */
+ interface XFilterManager;
+
+ /** Provides the ability to show a preview of a selected file
+ */
+ [optional] interface XFilePreview;
+
+ /** An interface which allows manipulation of groups of filters
+ */
+ interface XFilterGroupManager;
+
+ /** For canceling a running dialog instance.
+ <p>This may be useful for automatic test tools for instance.</p>
+ */
+ interface com::sun::star::util::XCancellable;
+
+ /** For shutdown and listener support.
+ */
+ interface com::sun::star::lang::XComponent;
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/dialogs/XFilePickerControlAccess.idl b/offapi/com/sun/star/ui/dialogs/XFilePickerControlAccess.idl
new file mode 100644
index 000000000..e50db024c
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XFilePickerControlAccess.idl
@@ -0,0 +1,136 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_ui_dialogs_XFilePickerControlAccess_idl__
+#define __com_sun_star_ui_dialogs_XFilePickerControlAccess_idl__
+
+#include <com/sun/star/ui/dialogs/XFilePicker.idl>
+
+
+module com { module sun { module star { module ui { module dialogs {
+
+/** Provides access to the controls of a FilePicker.
+
+ <p> A FilePicker may contain additional elements according to the needs
+ of the different applications. These additional elements can be
+ addressed by this interface.</p>
+
+ @see com::sun::star::ui::dialogs::FilePicker
+*/
+published interface XFilePickerControlAccess: com::sun::star::ui::dialogs::XFilePicker
+{
+
+/** Set the value of an additional element within a FilePicker.
+
+ @param ControlId
+ Identifies the element which value is to be set.
+
+ @param aControlAction
+ Specifies an action to perform with the given value.
+ aControlAction has to be one of the values defined in ControlActions.
+ Not all of the values are valid for all controls.
+ To add a new filter to the FilePicker use the interface XFilterManager, but
+ optionally an implementation may also support adding new filter using this
+ method.
+
+ @param aValue
+ The value to set. For checkboxes aValue should be a boolean value that
+ should be `TRUE` if the checkbox should be checked and `FALSE` otherwise.
+
+ @see com::sun::star::ui::dialogs::CommonFilePickerElementIds
+ @see com::sun::star::ui::dialogs::ExtendedFilePickerElementIds
+ @see com::sun::star::ui::dialogs::ControlActions
+*/
+void setValue( [in] short ControlId, [in] short aControlAction, [in] any aValue );
+
+/** Get the value of an additional element within a FilePicker
+
+ @param aControlId
+ Identifies the element for which value is requested.
+
+ @param aControlAction
+ Specifies which value to retrieve.
+ aControlAction has to be one of the values defined in ControlActions.
+ Not all of the values are valid for all controls.
+
+ @returns
+ The value of the specified element. If the specified control
+ is a checkbox the returned value is a boolean that is `TRUE`
+ if the checkbox is checked `FALSE` otherwise.
+ If the specified element doesn't exist or the specified element
+ doesn't support the specified control action an empty any will be
+ returned.
+
+ @see com::sun::star::ui::dialogs::CommonFilePickerElementIds
+ @see com::sun::star::ui::dialogs::ExtendedFilePickerElementIds
+ @see com::sun::star::ui::dialogs::ControlActions
+*/
+any getValue( [in] short aControlId, [in] short aControlAction );
+
+/** Set the label of the specified element. If the specified element
+ doesn't support setting a label, this method has no effect.
+
+ @param aControlId
+ Identifies the element for which the label should be set.
+
+ @param aLabel
+ The label to be set.
+
+ @see com::sun::star::ui::dialogs::CommonFilePickerElementIds
+ @see com::sun::star::ui::dialogs::ExtendedFilePickerElementIds
+*/
+void setLabel( [in] short aControlId, [in] string aLabel );
+
+/** Returns the label of the specified element.
+
+ @param aControlId
+ Identifies the element for which the label should be returned.
+
+ @returns
+ The label of the specified element or an empty string if
+ the specified element has no or supports no label or the
+ specified element doesn't exist.
+
+ @see com::sun::star::ui::dialogs::CommonFilePickerElementIds
+ @see com::sun::star::ui::dialogs::ExtendedFilePickerElementIds
+*/
+string getLabel( [in] short aControlId );
+
+/** Enables or disables a control.
+
+ @param ControlId
+ Identifies the control.
+
+ @param bEnable
+ <p>If `TRUE` the specified control will be enabled.</p>
+ <p>If `FALSE` the specified control will be disabled.</p>
+
+ @see com::sun::star::ui::dialogs::CommonFilePickerElementIds
+ @see com::sun::star::ui::dialogs::ExtendedFilePickerElementIds
+*/
+void enableControl( [in] short ControlId, [in] boolean bEnable );
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/dialogs/XFilePickerListener.idl b/offapi/com/sun/star/ui/dialogs/XFilePickerListener.idl
new file mode 100644
index 000000000..21d82c810
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XFilePickerListener.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_ui_dialogs_XFilePickerListener_idl__
+#define __com_sun_star_ui_dialogs_XFilePickerListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+#include <com/sun/star/ui/dialogs/FilePickerEvent.idl>
+
+
+module com { module sun { module star { module ui { module dialogs {
+
+
+/** Interface to be implemented by a FilePicker listener.
+
+ <p> The XFilePickerListener interface must be implemented by
+ the clients of the FilePicker service which need to be informed about
+ events while the FilePicker service is displayed.</p>
+*/
+
+published interface XFilePickerListener: com::sun::star::lang::XEventListener
+{
+ /** A client receives this event if the file selection within the
+ FilePicker service dialog changes.
+
+ @param aEvent
+ of type FilePickerEvent that describes the event
+
+ @see com::sun::star::ui::dialogs::FilePickerEvent
+ */
+ void fileSelectionChanged( [in] FilePickerEvent aEvent );
+
+
+ /** A client receives this event if the directory selection within the
+ FilePicker dialog changes.
+
+ @param aEvent
+ Of type FilePickerEvent that describes the event.
+
+ @see com::sun::star::ui::dialogs::FilePickerEvent
+ */
+ void directoryChanged( [in] FilePickerEvent aEvent );
+
+ /** A client receives this event if the F1 key or the help button was
+ pressed.
+
+ @param aEvent
+ of type FilePickerEvent that describes the event
+
+ @returns
+ A help string which the FilePicker dialog should use to display
+ a help for a specific control. If the returned string is empty it is
+ undefined how the FilePicker implementation will behave.
+ It may show a message "no help available" or may show no
+ help at all.
+
+ @see com::sun::star::ui::dialogs::FilePickerEvent
+ */
+ string helpRequested( [in] FilePickerEvent aEvent );
+
+ /** A client receives this event if the state of a control within the
+ FilePicker service dialog changes.
+
+ @param aEvent
+ of type FilePickerEvent that describes the event.
+
+ @see com::sun::star::ui::dialogs::FilePickerEvent
+ */
+ void controlStateChanged( [in] FilePickerEvent aEvent );
+
+ /** A client receives this event if the size of the FilePicker dialog
+ has changed. If the FilePicker dialog contains a preview the client
+ may ask for the new dimension of the preview area.
+ */
+ void dialogSizeChanged( );
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/dialogs/XFilePickerNotifier.idl b/offapi/com/sun/star/ui/dialogs/XFilePickerNotifier.idl
new file mode 100644
index 000000000..9c20dc932
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XFilePickerNotifier.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_ui_dialogs_XFilePickerNotifier_idl__
+#define __com_sun_star_ui_dialogs_XFilePickerNotifier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/ui/dialogs/XFilePickerListener.idl>
+
+
+module com { module sun { module star { module ui { module dialogs {
+
+
+/** Interface to be implemented in order to support listener management.
+*/
+published interface XFilePickerNotifier: com::sun::star::uno::XInterface
+{
+ /** Interface for clients to register as XFilePickerListener
+
+ @param xListener
+ The XFilePickerListener interface of the listener that
+ wants to receive events of type FilePickerEvent.
+ <p>Invalid interfaces or NULL values will be ignored.</p>
+ */
+ void addFilePickerListener( [in] XFilePickerListener xListener );
+
+ /** Interface for clients to unregister as XFilePickerListener.
+
+ @param xListener
+ The XFilePickerListener interface of the listener that
+ wants to receive events of type FilePickerEvent.
+ <p>Invalid interfaces or NULL values will be ignored.</p>
+ */
+ void removeFilePickerListener( [in] XFilePickerListener xListener );
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/dialogs/XFilePreview.idl b/offapi/com/sun/star/ui/dialogs/XFilePreview.idl
new file mode 100644
index 000000000..baaa033db
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XFilePreview.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_ui_dialogs_XFilePreview_idl__
+#define __com_sun_star_ui_dialogs_XFilePreview_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/util/Color.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+module com { module sun { module star { module ui { module dialogs {
+
+/** FilePicker that support the preview of various file formats should implement
+ this interface.
+*/
+
+published interface XFilePreview: com::sun::star::uno::XInterface
+{
+ /** The method returns all image formats that the preview supports.
+
+ @returns
+ A sequence of all supported preview formats
+
+ @see com::sun::star::ui::dialogs::FilePreviewImageFormats
+ */
+ sequence< short > getSupportedImageFormats( );
+
+ /** The method returns the supported color depth of the target device.
+
+ @deprecated - typically now just returns 0
+
+ @returns
+ The color depth in bit, e.g. 8 bit, 16 bit, 32 bit.
+ */
+ com::sun::star::util::Color getTargetColorDepth( );
+
+ /** The method returns the available width of the preview window
+ even if the window is invisible or could not be created.
+ If a service implementation doesn't support a file preview
+ 0 will be returned.
+
+ @returns
+ The width of the preview window in pixel.
+ */
+ long getAvailableWidth( );
+
+ /** The method returns the available height of the preview window
+ even if the window is invisible or could not be created.
+ If a service implementation doesn't support a file preview
+ 0 will be returned.
+
+ @returns
+ The height of the preview window in pixel.
+ */
+ long getAvailableHeight( );
+
+ /** Sets a new image. If the preview is currently hidden the
+ image will be ignored. An empty any will clear the preview window.
+
+ @param aImageFormat
+ Specifies the format of the data that will be delivered
+
+ @param aImage
+ The image data, the image format defines how
+ the image data have to be delivered
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ If the specified image format is invalid or not
+ supported by the preview implementation
+
+ @see com::sun::star::ui::dialogs::FilePreviewImageFormats
+ */
+ void setImage( [in] short aImageFormat, [in] any aImage )
+ raises( ::com::sun::star::lang::IllegalArgumentException );
+
+ /** Optionally sets the current show state of the preview. It is possible
+ that the preview implementation doesn't support hiding the preview.
+
+ @param bShowState
+ A value of `TRUE` shows the preview window.
+ <p>A value of `FALSE` hides the preview window.</p>
+
+ @returns
+ A value of `TRUE` on success.
+ <p>A value of `FALSE` if the operation fails for any reason or the preview
+ implementation doesn't support hiding the preview.</p>
+ */
+ boolean setShowState( [in] boolean bShowState );
+
+ /** Returns the current show state of the preview.
+
+ @returns
+ A value of `TRUE` if the preview window is visible.
+ <p>A value of `FALSE` if the preview window is invisible.</p>
+ */
+ boolean getShowState( );
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/dialogs/XFilterGroupManager.idl b/offapi/com/sun/star/ui/dialogs/XFilterGroupManager.idl
new file mode 100644
index 000000000..2776717a5
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XFilterGroupManager.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_ui_dialogs_XFilterGroupManager_idl__
+#define __com_sun_star_ui_dialogs_XFilterGroupManager_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/beans/StringPair.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+module com { module sun { module star { module ui { module dialogs {
+
+/** Specifies an interface which allows manipulation of groups of filters
+ for the FilePicker service.
+*/
+published interface XFilterGroupManager : com::sun::star::uno::XInterface
+{
+ /** Appends a group of filters to the current filter list.
+
+ <p>It is implementation dependent how the filter groups are presented to the user.<br/>
+ It is not even guaranteed that the groups are visualized: implementations are free to simply
+ append all the filters separately, with ignoring the group title.</p>
+
+ @param sGroupTitle
+ The title of the filter group. Usually, the caller should localize this title, as it is to be presented to
+ the user.
+
+ @param aFilters
+ The filters which form a group. Every filter consists of two strings, where the first one is a display name
+ (as for sGroupTitle, it holds that these strings should be localized), and the second one the
+ semicolon separated list of wildcard expressions for the filter.<br/>
+ Usually, the expressions are simply extensions (e.g. "*.txt"), but this must no necessarily be the case.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if one or more filters in the given filter list already exist.
+
+ @see com::sun::star::ui::dialogs::XFilterManager
+ @see com::sun::star::ui::dialogs::FilePicker
+ */
+ void appendFilterGroup(
+ [in] string sGroupTitle,
+ [in] sequence< com::sun::star::beans::StringPair > aFilters
+ )
+ raises( com::sun::star::lang::IllegalArgumentException );
+};
+
+}; }; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/dialogs/XFilterManager.idl b/offapi/com/sun/star/ui/dialogs/XFilterManager.idl
new file mode 100644
index 000000000..123b92354
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XFilterManager.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_ui_dialogs_XFilterManager_idl__
+#define __com_sun_star_ui_dialogs_XFilterManager_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+module com { module sun { module star { module ui { module dialogs {
+
+/** Specifies a filter manager interface for a FilePicker
+*/
+
+published interface XFilterManager: com::sun::star::uno::XInterface
+{
+
+ /** Adds a filter identified by a title.
+
+ @param aTitle
+ Specifies the name of the filter as shown in the filter box of the
+ FilePicker dialog.
+
+ @param aFilter
+ Specifies the extensions of the filter. Multiple filters should be
+ semicolon separated. The semicolon may not be used as character in
+ a filter expression. A typical filter is for instance "*.txt".
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ If a filter with the specified title already exists.
+
+ */
+ void appendFilter( [in] string aTitle, [in] string aFilter )
+ raises( ::com::sun::star::lang::IllegalArgumentException );
+
+ /** Sets the current filter.
+
+ @param aTitle
+ Specifies the name of the filter to be set.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ If the specified filter was not found.
+ */
+ void setCurrentFilter( [in] string aTitle )
+ raises( ::com::sun::star::lang::IllegalArgumentException );
+
+ /** Returns the currently selected filter.
+
+ @returns
+ The name of the selected filter or an empty string if
+ there is no filter or no filter is currently selected.
+ */
+ string getCurrentFilter( );
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/dialogs/XFolderPicker.idl b/offapi/com/sun/star/ui/dialogs/XFolderPicker.idl
new file mode 100644
index 000000000..26f02dd31
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XFolderPicker.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_ui_dialogs_XFolderPicker_idl__
+#define __com_sun_star_ui_dialogs_XFolderPicker_idl__
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/ui/dialogs/XExecutableDialog.idl>
+
+
+module com { module sun { module star { module ui { module dialogs {
+
+/** Specifies a FolderPicker interface.
+*/
+
+published interface XFolderPicker: com::sun::star::ui::dialogs::XExecutableDialog
+{
+ /** Sets the root directory that the FolderPicker should display.
+ It is not specified which root directory the FolderPicker
+ chooses if the specified root directory doesn't exist.
+
+ @param aDirectory
+ Specifies the root directory in url format, conforming to <a href="http://www.w3.org/Addressing/rfc1738.txt">Rfc1738</a>.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the given url is invalid.
+ */
+ void setDisplayDirectory( [in] string aDirectory )
+ raises( ::com::sun::star::lang::IllegalArgumentException );
+
+ /** Returns the root directory that the FolderPicker is showing. The
+ return value is undefined if the client did not choose a root directory
+ or the previously specified root directory doesn't exist.
+
+ @returns
+ The directory in url format.
+ */
+ string getDisplayDirectory();
+
+ /** Returns the selected directory as url conforming to <a href="http://www.w3.org/Addressing/rfc1738.txt">Rfc1738</a>.
+
+ @returns
+ The selected directory as url if the user did close the dialog with Ok
+ else the returned value is undefined.
+ */
+ string getDirectory( );
+
+ /** The implementation may optionally show the given text as a description
+ for the user within the dialog, e.g. "Please select a directory".
+ If the client doesn't set a description the dialog may show a default
+ description.
+ */
+ void setDescription( [in] string aDescription );
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/dialogs/XFolderPicker2.idl b/offapi/com/sun/star/ui/dialogs/XFolderPicker2.idl
new file mode 100644
index 000000000..7dc16dc1c
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XFolderPicker2.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_ui_dialogs_XFolderPicker2_idl__
+#define __com_sun_star_ui_dialogs_XFolderPicker2_idl__
+
+#include <com/sun/star/ui/dialogs/XFolderPicker.idl>
+#include <com/sun/star/util/XCancellable.idl>
+
+
+module com { module sun { module star { module ui { module dialogs {
+
+
+/**
+ Provides a unified interface for the new-style FolderPicker service to implement.
+
+ @since LibreOffice 4.0
+*/
+published interface XFolderPicker2
+{
+ /** Provides the ability to execute a FolderPicker dialog and
+ browse for and select folders.
+ */
+ interface XFolderPicker;
+
+ /** For canceling a running dialog instance.
+ <p>This may be useful for automatic test tools for instance.</p>
+ */
+ interface com::sun::star::util::XCancellable;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/dialogs/XSLTFilterDialog.idl b/offapi/com/sun/star/ui/dialogs/XSLTFilterDialog.idl
new file mode 100644
index 000000000..7eea2ebd7
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XSLTFilterDialog.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_ui_dialogs_XSLTFilterDialog_idl__
+#define __com_sun_star_ui_dialogs_XSLTFilterDialog_idl__
+
+#include <com/sun/star/ui/dialogs/XExecutableDialog.idl>
+
+
+module com { module sun { module star { module ui { module dialogs {
+
+/**
+ @since LibreOffice 4.1
+*/
+published service XSLTFilterDialog : XExecutableDialog;
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/dialogs/XWizard.idl b/offapi/com/sun/star/ui/dialogs/XWizard.idl
new file mode 100644
index 000000000..59b8d61c0
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XWizard.idl
@@ -0,0 +1,221 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_ui_dialogs_XWizard_idl__
+#define __com_sun_star_ui_dialogs_XWizard_idl__
+
+#include <com/sun/star/ui/dialogs/XExecutableDialog.idl>
+#include <com/sun/star/util/InvalidStateException.idl>
+#include <com/sun/star/container/NoSuchElementException.idl>
+#include <com/sun/star/awt/XWindow.idl>
+
+module com { module sun { module star { module ui { module dialogs {
+
+
+interface XWizardPage;
+
+/** is the main interface implemented by the Wizard services.
+
+ <p>A wizard is a dialog which guides the user through a number of tasks (usually input of data), which the user can
+ accomplish either sequentially or out-of-order. For this, a wizard is comprised of a number of tab pages,
+ each page representing a single <em>step</em>.</p>
+
+ <p>Sequential navigation in a wizard is done via a <em>Next</em> and a <em>Back</em> button. Non-sequential navigation
+ is done via a roadmap, which is displayed on the left hand side of the wizard dialog, lists all available
+ steps, and allows jumping to a certain step (where the creator of the wizard can restrict the available steps
+ depending on the current situation in the wizard, see below).</p>
+
+ <p>A sequence of steps in a wizard dialog is called a <em>path</em>. A given wizard can support one or multiple paths,
+ which are declared at the time of construction of the wizard.</p>
+
+ <p>In the simplest case, where the wizard supports only one path, all available steps are displayed in the roadmap,
+ and the user can simply travel through them as desired.</p>
+
+ <p>If the wizard is more complex, and supports multiple paths, things become more complicated. In a given situation
+ of the wizard, where the user is at step <em>k</em> of the current path, the <em>potential</em> or <em>conflicting</em>
+ paths are those whose first <em>k</em> steps are the same as in the current path. Obviously, there's at least one
+ potential path in every situation: the current one. If there is more than one, then the future steps in the dialog
+ are not finally decided. In such a case, the roadmap will display future steps up to the point where the potential
+ paths diverge, and then an item <em><code>...</code></em> indicating that the order of steps is undecided.</p>
+
+ <p>An XWizardController can declare a certain path as active path by calling the activatePath()
+ method. Usually, this is done depending on user input. For instance, your wizard could have radio buttons on the
+ first page which effectively decide about which path to take in the wizard.</p>
+
+ <p>Single steps in the wizard can be freely enabled and disabled, using the enablePage() method.
+ Disabled pages are skipped during sequential traveling, and not selectable in the roadmap.</p>
+
+ <p>The state of the <em>Next</em> button in the dialog will be automatically maintained in most situations,
+ depending on the results of calls to the XWizardController::canAdvance() and XWizardPage::canAdvance()
+ methods. More sophisticated wizard logic, however, will need manual calls to the enableButton() method.
+ Also, the <em>Finish</em> button needs to be maintained by the wizard's controller, too, as it cannot be decided
+ generically in which situations it should be enabled or disabled.</p>
+
+ @see XWizardController
+ @see XWizardPage
+
+ @since OOo 3.3
+ */
+interface XWizard
+{
+ interface XExecutableDialog;
+
+ /** is the help URL of the wizard's main window.
+ */
+ [attribute] string HelpURL;
+
+ [attribute, readonly] ::com::sun::star::awt::XWindow
+ DialogWindow;
+
+ /** provides access to the current page of the wizard
+ */
+ XWizardPage
+ getCurrentPage();
+
+ /** enables or disables a certain button in the wizard
+
+ <p>Normally, you will want to use this method for the <em>Finish</em> button only: The <em>Next</em>
+ and <em>Back</em> buttons are usually maintained automatically, the <em>Help</em> and <em>Cancel</em>
+ buttons are unlikely to ever being disabled.</p>
+
+ @param WizardButton
+ denotes the button to enable or disable, as one of the WizardButton constants. Must not be
+ WizardButton::NONE.
+ @param Enable
+ specifies whether the button should be enabled (`TRUE`) or disabled (`FALSE`)
+ */
+ void enableButton( [in] short WizardButton, [in] boolean Enable );
+
+ /** sets a button in the wizard as default button
+
+ <p>In general, the default button in a wizard is the one which is activated when the user presses
+ the <em>return</em> key while the focus is in a control which does not handle this key itself (such as
+ ordinary input controls).</p>
+
+ <p>You can use this method, for instance, to make the <em>Next</em> button the default button on all pages
+ except the last one, where <em>Finish</em> should be defaulted.</p>
+ */
+ void setDefaultButton( [in] short WizardButton );
+
+ /** travels to the next page, if possible
+
+ <p>Calling this method is equivalent to the user pressing the <em>Next</em> button in the wizard. Consequently,
+ the method will fail if in the current state of the wizard, it is not allowed to advance to a next page.</p>
+ */
+ boolean travelNext();
+
+ /** travels to the next page, if possible
+
+ <p>Calling this method is equivalent to the user pressing the <em>Back</em> button in the wizard.</p>
+ */
+ boolean travelPrevious();
+
+ /** enables or disables the given page
+
+ <p>You can use this method when not all pages of your wizard are necessarily needed in all cases. For instance,
+ assume that your first wizard page contains a check box, which the user can check to enter additional data.
+ If you place this data on the second page, then you will want to enable this second page if and only if the
+ checkbox is checked.</p>
+
+ <p>If a page is disabled, it can reached neither by clicking the respective item in the wizard's roadmap,
+ nor by sequential traveling. Still, the page's item is displayed in the roadmap, though disabled.</p>
+
+ @throws ::com::sun::star::container::NoSuchElementException
+ if there is no page with the given ID
+ @throws ::com::sun::star::util::InvalidStateException
+ if the page shall be disabled, but is active currently.
+ */
+ void enablePage( [in] short PageID, [in] boolean Enable )
+ raises ( ::com::sun::star::container::NoSuchElementException
+ , ::com::sun::star::util::InvalidStateException );
+
+ /** updates the wizard elements which are related to traveling.
+
+ <p>For instance, the <em>Next</em> button is disabled if the current page's XWizardPage::canAdvance()
+ method returns `FALSE`.</p>
+
+ <p>You usually call this method from within a wizard page whose state changed in a way that it affects the
+ user's ability to reach other pages.</p>
+ */
+ void updateTravelUI();
+
+ /** advances to the given page, if possible.
+
+ <p>Calling this method is equivalent to the user repeatedly pressing the <em>Next</em> button, until the
+ given page is reached. Consequently, the method will fail if one of the intermediate pages does not allow
+ advancing to the next page.</p>
+ */
+ boolean advanceTo( [in] short PageId );
+
+ /** goes back to the given page, if possible.
+
+ <p>Calling this method is equivalent to the user repeatedly pressing the <em>Back</em> button, until the
+ given page is reached.</p>
+ */
+ boolean goBackTo( [in] short PageId );
+
+ /** activates a path
+
+ <p>If the wizard has been created with multiple paths of control flow, then this method allows switching to
+ another path.</p>
+
+ <p>You can only activate a path which shares the first <code>k</code> pages with the path
+ which is previously active (if any), where <code>k</code> is the index of the current page within the current
+ path.</p>
+
+ <p><strong>Example</strong>: Say you have paths, <code>(0,1,2,5)</code> and <code>(0,1,4,5)</code> (with
+ the numbers denoting page IDs). This means that after page <code>1</code>, you either continue with page
+ <code>2</code> or state <code>4</code>,and after this, you finish in state <code>5</code>.<br/>
+ Now if the first path is active, and your current state is <code>1</code>, then you can easily switch to the
+ second path, since both paths start with <code>(0,1)</code>.<br/>
+ However, if your current state is <code>2</code>, then you can not switch to the second path anymore.</p>
+
+ @param PathIndex
+ the index of the path, as used in the Wizard::createMultiplePathsWizard() constructor.
+ @param Final
+ <p>If `TRUE`, the path will be completely activated, even if it is a conflicting path (i.e. there is another
+ path which shares the first <code>k</code> states with the to-be-activated path.)</p>
+
+ <p>If `FALSE`, then the new path is checked for conflicts with other paths. If such conflicts exists, the path
+ is not completely activated, but only up to the point where it does <em>not</em> conflict.</p>
+
+ <p>In this latter case, you need another activatePath method (usually triggered by the user doing some decisions
+ and entering some data on the reachable pages) before the wizard can actually be finished.</p>
+
+ <p>With the paths in the example above, if you activate the second path, then only steps <code>0</code> and
+ <code>1</code> are activated, since they are common to both paths. Steps <code>2</code>, <code>4</code>,
+ and <code>5</code> are not reachable, yet.</p>
+
+ @throws ::com::sun::star::container::NoSuchElementException
+ if there is no path with the given index
+ @throws ::com::sun::star::util::InvalidStateException
+ if the path cannot be activated in the current state of the wizard.
+ */
+ void activatePath( [in] short PathIndex, [in] boolean Final )
+ raises ( ::com::sun::star::container::NoSuchElementException
+ , ::com::sun::star::util::InvalidStateException );
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/dialogs/XWizardController.idl b/offapi/com/sun/star/ui/dialogs/XWizardController.idl
new file mode 100644
index 000000000..b15286c6c
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XWizardController.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_ui_dialogs_XWizardController_idl__
+#define __com_sun_star_ui_dialogs_XWizardController_idl__
+
+#include <com/sun/star/ui/dialogs/XWizardPage.idl>
+
+
+module com { module sun { module star { module ui { module dialogs {
+
+
+/** is the interface of a client-provided controller of a custom Wizard.
+
+ @since OOo 3.3
+ */
+interface XWizardController
+{
+ /** creates a page
+
+ <p>Wizard pages are created on demand, when the respective page is reached during traveling through the
+ wizard. Effectively, this means the method is called at most once for each possible page ID.</p>
+
+ @param ParentWindow
+ the parent window to use for the page window
+ @param PageId
+ the ID of the page.
+ @return
+ the requested page.
+ */
+ XWizardPage createPage( [in] ::com::sun::star::awt::XWindow ParentWindow, [in] short PageId );
+
+ /** provides the title of a page given by ID
+
+ <p>The page titles are displayed in the wizard's roadmap.</p>
+ */
+ string getPageTitle( [in] short PageId );
+
+ boolean canAdvance();
+
+ /** called when a new page in the wizard is being activated
+ */
+ void onActivatePage( [in] short PageId );
+
+ /** called when a page in the wizard is being deactivated
+ */
+ void onDeactivatePage( [in] short PageId );
+
+ /** called when the wizard is about to be finished.
+
+ <p>This method allows the controller to do any final checks, and ultimately veto finishing the wizard.</p>
+ */
+ boolean confirmFinish();
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/dialogs/XWizardPage.idl b/offapi/com/sun/star/ui/dialogs/XWizardPage.idl
new file mode 100644
index 000000000..c7c1be2fa
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XWizardPage.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_ui_dialogs_XWizardPage_idl__
+#define __com_sun_star_ui_dialogs_XWizardPage_idl__
+
+#include <com/sun/star/awt/XWindow.idl>
+
+
+module com { module sun { module star { module ui { module dialogs {
+
+
+/** is a single page of a Wizard
+
+ @since OOo 3.3
+ */
+interface XWizardPage : ::com::sun::star::lang::XComponent
+{
+ /** provides read-only access to the window of the page
+ */
+ [attribute, readonly] ::com::sun::star::awt::XWindow Window;
+
+ /** denotes the ID of the page.
+
+ <p>Within a wizard, no two pages are allowed to have the same ID.</p>
+ */
+ [attribute, readonly] short PageId;
+
+ /** called when the page is activated
+ */
+ void activatePage();
+
+ /** is called when the page is about to be left
+
+ <p>An implementation can veto the leave by returning `FALSE` here. Usually, the decision about this
+ depends on the current state of the page.</p>
+
+ @param Reason
+ is one of the WizardTravelType constants denoting the reason why the page should be
+ committed.
+ */
+ boolean commitPage( [in] short Reason );
+
+ /** determines whether it is allowed to travel to a later page in the wizard
+
+ <p>You should base this decision on the state of the page only, not on a global state of the wizard. Usually,
+ you return `FALSE` here if and only if not all necessary input on the page has been provided by the user,
+ or the provided input is not valid.</p>
+
+ <p>If checked for validity is expensive, or if you prefer giving your user more detailed feedback on validity
+ than a disabled <code>Next</code> button in the wizard, then move your checks to the commitPage()
+ method.</p>
+ */
+ boolean canAdvance();
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/test/UITest.idl b/offapi/com/sun/star/ui/test/UITest.idl
new file mode 100644
index 000000000..59bc73489
--- /dev/null
+++ b/offapi/com/sun/star/ui/test/UITest.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_ui_UIElementFactory_idl__
+#define __com_sun_star_ui_UIElementFactory_idl__
+
+#include <com/sun/star/ui/test/XUITest.idl>
+
+
+module com { module sun { module star { module ui { module test {
+
+
+service UITest
+{
+ interface com::sun::star::ui::test::XUITest;
+};
+
+}; }; }; }; };
+
+#endif
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/test/XUIObject.idl b/offapi/com/sun/star/ui/test/XUIObject.idl
new file mode 100644
index 000000000..e437b198f
--- /dev/null
+++ b/offapi/com/sun/star/ui/test/XUIObject.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_ui_test_XUIObject_idl__
+#define __com_sun_star_ui_test_XUIObject_idl__
+
+#include <com/sun/star/beans/PropertyValues.idl>
+
+module com { module sun { module star { module ui { module test {
+
+interface XUIObject
+{
+ XUIObject getChild([in] string id);
+
+ void executeAction([in] string action, [in] com::sun::star::beans::PropertyValues propValues);
+
+ com::sun::star::beans::PropertyValues getState();
+
+ string getType();
+
+ sequence<string> getChildren();
+
+ string getHierarchy();
+};
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/test/XUITest.idl b/offapi/com/sun/star/ui/test/XUITest.idl
new file mode 100644
index 000000000..b8dba4f9a
--- /dev/null
+++ b/offapi/com/sun/star/ui/test/XUITest.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_ui_test_XUITest_idl__
+#define __com_sun_star_ui_test_XUITest_idl__
+
+#include <com/sun/star/ui/test/XUIObject.idl>
+#include <com/sun/star/beans/PropertyValues.idl>
+
+module com { module sun { module star { module ui { module test {
+
+interface XUITest
+{
+ boolean executeCommand([in] string command);
+
+ boolean executeCommandWithParameters([in] string command,
+ [in] com::sun::star::beans::PropertyValues propValues);
+
+ boolean executeDialog([in] string command);
+
+ XUIObject getTopFocusWindow();
+
+ XUIObject getFloatWindow();
+};
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/theModuleUIConfigurationManagerSupplier.idl b/offapi/com/sun/star/ui/theModuleUIConfigurationManagerSupplier.idl
new file mode 100644
index 000000000..fbc3778b5
--- /dev/null
+++ b/offapi/com/sun/star/ui/theModuleUIConfigurationManagerSupplier.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_ui_theModuleUIConfigurationManagerSupplier_idl__
+#define __com_sun_star_ui_theModuleUIConfigurationManagerSupplier_idl__
+
+#include <com/sun/star/ui/XModuleUIConfigurationManagerSupplier.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+
+module com { module sun { module star { module ui {
+
+/** specifies a central user interface configuration provider which gives
+ access to module based user interface configuration managers.
+
+ Controls module based user interface configuration managers.
+
+ <p>
+ There can only exist one user interface configuration manager for
+ a module. A user interface configuration manager supports to get and set
+ user interface configuration data for configurable user interface elements.
+
+ @see ConfigurableUIElement
+ @see XUIConfigurationManager
+ </p>
+
+ Prior to LibreOffice 4.3, this singleton was only available as a
+ (single-instance) ModuleUIConfigurationManagerSupplier service.
+
+ @since LibreOffice 4.3
+*/
+singleton theModuleUIConfigurationManagerSupplier : XModuleUIConfigurationManagerSupplier;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/theUICategoryDescription.idl b/offapi/com/sun/star/ui/theUICategoryDescription.idl
new file mode 100644
index 000000000..466e3d90d
--- /dev/null
+++ b/offapi/com/sun/star/ui/theUICategoryDescription.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_ui_theUICategoryDescription_idl__
+#define __com_sun_star_ui_theUICategoryDescription_idl__
+
+#include <com/sun/star/container/XNameAccess.idl>
+
+module com { module sun { module star { module ui {
+
+
+/** a singleton which provides information about user interface command
+ categories.
+
+ <p>
+ OpenOffice.org has an amount of commands that can be used by user
+ interface elements. Every command is member of a single category.
+ Categories makes it easier to handle to huge amount of commands
+ provided by OpenOffice.org. This singleton is normally used by UI
+ implementations which provides all commands to a user.
+ </p>
+
+ Provides access to user interface command categories of the installed
+ modules.
+
+ <p>
+ To access the user interface command categories of a module, a unique
+ module specifier must be provided to
+ com::sun::star::container::XNameAccess::getByName()
+ function. The module specifier can be retrieved from the
+ com::sun::star::frame::ModuleManager
+ service. The interface provides references to
+ com::sun:star::ui::ModuleUICommandDescription.
+ </p>
+
+ @see com::sun::star::frame::ModuleManager
+
+ Prior to LibreOffice 4.3, this singleton was only available as a
+ (single-instance) UICategoryDescription service.
+
+ @since LibreOffice 4.3
+*/
+singleton theUICategoryDescription : com::sun::star::container::XNameAccess;
+
+}; }; }; }; // com.sun.star.ui
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/theUIElementFactoryManager.idl b/offapi/com/sun/star/ui/theUIElementFactoryManager.idl
new file mode 100644
index 000000000..d6125776d
--- /dev/null
+++ b/offapi/com/sun/star/ui/theUIElementFactoryManager.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_ui_theUIElementFactoryManager_idl__
+#define __com_sun_star_ui_theUIElementFactoryManager_idl__
+
+#include <com/sun/star/ui/XUIElementFactoryManager.idl>
+
+
+module com { module sun { module star { module ui {
+
+
+/** specifies a user interface factory manager that controls all registered user
+ interface element factories.
+
+ Prior to LibreOffice 4.3, this singleton was only available as a
+ (single-instance) UIElementFactoryManager service.
+
+ @since LibreOffice 4.3
+*/
+
+singleton theUIElementFactoryManager : XUIElementFactoryManager;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/theWindowContentFactoryManager.idl b/offapi/com/sun/star/ui/theWindowContentFactoryManager.idl
new file mode 100644
index 000000000..334ecf7b8
--- /dev/null
+++ b/offapi/com/sun/star/ui/theWindowContentFactoryManager.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_ui_theWindowContentFactoryManager_idl__
+#define __com_sun_star_ui_theWindowContentFactoryManager_idl__
+
+#include <com/sun/star/lang/XSingleComponentFactory.idl>
+
+
+module com { module sun { module star { module ui {
+
+
+/**
+ This interface could be incomplete since I derived it from its sole place of use.
+
+ Prior to LibreOffice 4.3, this singleton was only available as a
+ (single-instance) WindowContentFactoryManager service.
+
+ @since LibreOffice 4.3
+*/
+singleton theWindowContentFactoryManager : com::sun::star::lang::XSingleComponentFactory;
+
+}; }; }; };
+
+#endif
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/theWindowStateConfiguration.idl b/offapi/com/sun/star/ui/theWindowStateConfiguration.idl
new file mode 100644
index 000000000..b8d257b0c
--- /dev/null
+++ b/offapi/com/sun/star/ui/theWindowStateConfiguration.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_ui_theWindowStateConfiguration_idl__
+#define __com_sun_star_ui_theWindowStateConfiguration_idl__
+
+#include <com/sun/star/container/XNameAccess.idl>
+
+
+module com { module sun { module star { module ui {
+
+
+/** a singleton which provides window based information about user interface
+ elements.
+
+ <p>
+ OpenOffice.org has an amount of user interface elements that can be positioned,
+ resized, closed and their style can be changed. This singleton provides access
+ to the window based information of available user interface elements which are
+ part of OpenOffice.org modules, like Writer or Calc.
+ </p>
+
+ Provides access to window based information about user interface elements
+ of all installed application modules.
+
+ <p>
+ To access the window based information of a module, a unique module specifier
+ must be provided to com::sun::star::container::XNameAccess::getByName() function.
+ The module specifier can be retrieved from the com::sun::star::frame::ModuleManager
+ service. The interface provides references to a com::sun:star::ui::ModuleWindowStateConfiguration.
+ </p>
+
+ Prior to LibreOffice 4.3, this singleton was only available as a
+ (single-instance) WindowStateConfiguration service.
+
+ @see com::sun::star::frame::ModuleManager
+
+ @since LibreOffice 4.3
+*/
+
+singleton theWindowStateConfiguration : com::sun::star::container::XNameAccess;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/AliasProgrammaticPair.idl b/offapi/com/sun/star/util/AliasProgrammaticPair.idl
new file mode 100644
index 000000000..f940748e6
--- /dev/null
+++ b/offapi/com/sun/star/util/AliasProgrammaticPair.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_util_AliasProgrammaticPair_idl__
+#define __com_sun_star_util_AliasProgrammaticPair_idl__
+
+module com { module sun { module star { module util {
+
+
+/** represents an entry from a component which implements the
+ XLocalizedAliases.
+ */
+published struct AliasProgrammaticPair
+{
+ /** determines the name which is registered as an alias for a programmatic name.
+ */
+ string Alias;
+
+ /** determines which programmatic name belongs to the alias.
+
+ @see com::sun::star::util::XLocalizedAliases
+ */
+ string ProgrammaticName;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/AtomClassRequest.idl b/offapi/com/sun/star/util/AtomClassRequest.idl
new file mode 100644
index 000000000..bafae07ac
--- /dev/null
+++ b/offapi/com/sun/star/util/AtomClassRequest.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_util_AtomClassRequest_idl__
+#define __com_sun_star_util_AtomClassRequest_idl__
+
+module com
+{
+module sun
+{
+module star
+{
+module util
+{
+
+/** is used to describe which atoms the user wants to know about.
+
+ @see com::sun::star::util::XAtomServer
+*/
+published struct AtomClassRequest
+{
+ /** the class of the atoms described in member
+ AtomClassRequest::atoms().
+ */
+ long atomClass;
+
+ /** the atoms requested from class AtomClassRequest::atomClass().
+ */
+ sequence< long > atoms;
+};
+
+}; // module util
+}; // module star
+}; // module sun
+}; // module com
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/AtomDescription.idl b/offapi/com/sun/star/util/AtomDescription.idl
new file mode 100644
index 000000000..714099463
--- /dev/null
+++ b/offapi/com/sun/star/util/AtomDescription.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_util_AtomDescription_idl__
+#define __com_sun_star_util_AtomDescription_idl__
+
+module com
+{
+module sun
+{
+module star
+{
+module util
+{
+
+/** contains a string and the corresponding registered atom .
+
+ @see com::sun::star::util::XAtomServer
+*/
+published struct AtomDescription
+{
+ /** the atom itself
+ */
+ long atom;
+
+ /** the string it stands for
+ */
+ string description;
+};
+
+}; // module util
+}; // module star
+}; // module sun
+}; // module com
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/CellProtection.idl b/offapi/com/sun/star/util/CellProtection.idl
new file mode 100644
index 000000000..a4a191dcc
--- /dev/null
+++ b/offapi/com/sun/star/util/CellProtection.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_util_CellProtection_idl__
+#define __com_sun_star_util_CellProtection_idl__
+
+
+
+module com { module sun { module star { module util {
+
+
+/** describes the kind of protection for a protectable cell.
+ */
+published struct CellProtection
+{
+ /** specifies if the cell is locked from modifications by the user.
+ */
+ boolean IsLocked;
+
+ /** specifies if the formula is hidden from the user.
+ */
+ boolean IsFormulaHidden;
+
+ /** specifies if the cell is hidden from the user.
+ */
+ boolean IsHidden;
+
+ /** specifies if the cell is hidden on printouts.
+ */
+ boolean IsPrintHidden;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/ChangesEvent.idl b/offapi/com/sun/star/util/ChangesEvent.idl
new file mode 100644
index 000000000..4324b2473
--- /dev/null
+++ b/offapi/com/sun/star/util/ChangesEvent.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_util_ChangesEvent_idl__
+#define __com_sun_star_util_ChangesEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+
+#include <com/sun/star/util/ElementChange.idl>
+
+#include <com/sun/star/util/ChangesSet.idl>
+
+
+module com { module sun { module star { module util {
+
+
+/** This event is fired when a set of changes becomes effective on the source of the event.
+
+ @see XChangesSet
+ @see XChangesBatch
+ @see XChangesListener
+ @see XChangesNotifier
+ @see com::sun::star::container::ContainerEvent
+ @see ElementChange
+ */
+published struct ChangesEvent: com::sun::star::lang::EventObject
+{
+ /** contains the accessor to the common root of the changed elements.
+
+ <p>Type and value of the accessor depend on the service.</p>
+ */
+ any Base;
+
+ /** contains the changes which occurred.
+ */
+ ChangesSet Changes;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/ChangesSet.idl b/offapi/com/sun/star/util/ChangesSet.idl
new file mode 100644
index 000000000..fbf4a1e78
--- /dev/null
+++ b/offapi/com/sun/star/util/ChangesSet.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_util_ChangesSet_idl__
+#define __com_sun_star_util_ChangesSet_idl__
+
+#include <com/sun/star/util/ElementChange.idl>
+
+/*
+#include <com/sun/star/util/XChangesSet.idl>
+*/
+
+
+module com { module sun { module star { module util {
+
+/** describes a set of changes occurring as a batch transaction.
+
+ @see XChangesBatch
+ @see XChangesSet
+ @see ChangesEvent
+ @see ElementChange
+*/
+published typedef sequence<ElementChange> ChangesSet;
+
+//typedef XChangesSet ChangesSet;
+
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/CloseVetoException.idl b/offapi/com/sun/star/util/CloseVetoException.idl
new file mode 100644
index 000000000..e56a56954
--- /dev/null
+++ b/offapi/com/sun/star/util/CloseVetoException.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_CloseVetoException_idl__
+#define __com_sun_star_util_CloseVetoException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+module com { module sun { module star { module util {
+
+/** this exception can be thrown to prevent the environment of any object
+ from closing
+
+ @see XCloseListener
+ */
+published exception CloseVetoException: com::sun::star::uno::Exception
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/Color.idl b/offapi/com/sun/star/util/Color.idl
new file mode 100644
index 000000000..296bfecc3
--- /dev/null
+++ b/offapi/com/sun/star/util/Color.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_color_idl__
+#define __com_sun_star_util_color_idl__
+
+
+
+module com { module sun { module star { module util {
+
+/** describes an RGB color value with an optional alpha channel.
+
+ <p>The byte order is from high to low:
+ <ol>
+ <li>alpha channel</li>
+ <li>red</li>
+ <li>green</li>
+ <li>blue</li>
+ </ol></p>
+*/
+published typedef long Color;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/DataEditorEvent.idl b/offapi/com/sun/star/util/DataEditorEvent.idl
new file mode 100644
index 000000000..c216bcc50
--- /dev/null
+++ b/offapi/com/sun/star/util/DataEditorEvent.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_DataEditorEvent_idl__
+#define __com_sun_star_util_DataEditorEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+
+#include <com/sun/star/util/DataEditorEventType.idl>
+
+
+module com { module sun { module star { module util {
+
+/** specifies an event broadcasted by an XDataEditor.
+ */
+published struct DataEditorEvent: com::sun::star::lang::EventObject
+{
+ /** specifies the type of the event.
+ */
+ DataEditorEventType Type;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/DataEditorEventType.idl b/offapi/com/sun/star/util/DataEditorEventType.idl
new file mode 100644
index 000000000..e6cd50570
--- /dev/null
+++ b/offapi/com/sun/star/util/DataEditorEventType.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_DataEditorEventType_idl__
+#define __com_sun_star_util_DataEditorEventType_idl__
+
+
+module com { module sun { module star { module util {
+
+/** specifies the type of an event from an XDataEditor.
+ */
+published enum DataEditorEventType
+{
+ /** specifies that the data editing is done (data stored).
+ */
+ DONE,
+
+ /** specifies that the data editing was canceled by the user (data not stored).
+ */
+ CANCELED
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/Date.idl b/offapi/com/sun/star/util/Date.idl
new file mode 100644
index 000000000..796a6325b
--- /dev/null
+++ b/offapi/com/sun/star/util/Date.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_util_Date_idl__
+#define __com_sun_star_util_Date_idl__
+
+
+module com { module sun { module star { module util {
+
+
+/** represents a date value.
+
+ The time zone is unknown.
+ */
+published struct Date
+{
+ /** contains the day of month (1-31 or 0 for a void date).
+ */
+ unsigned short Day;
+
+
+ /** contains the month of year (1-12 or 0 for a void date).
+ */
+ unsigned short Month;
+
+
+ /** contains the year.
+ */
+ short Year;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/DateTime.idl b/offapi/com/sun/star/util/DateTime.idl
new file mode 100644
index 000000000..68793ee7f
--- /dev/null
+++ b/offapi/com/sun/star/util/DateTime.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_util_DateTime_idl__
+#define __com_sun_star_util_DateTime_idl__
+
+
+module com { module sun { module star { module util {
+
+
+/** represents a combined date+time value.
+ */
+published struct DateTime
+{
+ /** contains the nanoseconds (0 - 999 999 999).
+ */
+ unsigned long NanoSeconds;
+
+ /** contains the seconds (0-59).
+ */
+ unsigned short Seconds;
+
+
+ /** contains the minutes (0-59).
+ */
+ unsigned short Minutes;
+
+
+ /** contains the hour (0-23).
+ */
+ unsigned short Hours;
+
+
+ /** is the day of month (1-31 or 0 for a void date).
+ */
+ unsigned short Day;
+
+
+ /** is the month of year (1-12 or 0 for a void date).
+ */
+ unsigned short Month;
+
+
+ /** is the year.
+ */
+ short Year;
+
+ /** true: time zone is UTC false: unknown time zone.
+
+ @since LibreOffice 4.1
+ */
+ boolean IsUTC;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/DateTimeRange.idl b/offapi/com/sun/star/util/DateTimeRange.idl
new file mode 100644
index 000000000..60ea92bf8
--- /dev/null
+++ b/offapi/com/sun/star/util/DateTimeRange.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_util_DateTimeRange_idl__
+#define __com_sun_star_util_DateTimeRange_idl__
+
+
+module com { module sun { module star { module util {
+
+
+/** represents a range of date+time values.
+ */
+published struct DateTimeRange
+{
+ /** contains the start nanoseconds (0 - 999 999 999) for the range.
+ */
+ unsigned long StartNanoSeconds;
+
+ /** contains the start seconds (0-59) for the range.
+ */
+ unsigned short StartSeconds;
+
+ /** contains the start minutes (0-59) for the range.
+ */
+ unsigned short StartMinutes;
+
+ /** contains the start hour (0-23) for the range.
+ */
+ unsigned short StartHours;
+
+ /** contains the start day of month (1-31 or 0 for a void date) for the range.
+ */
+ unsigned short StartDay;
+
+ /** contains the start month of year (1-12 or 0 for a void date) for the range.
+ */
+ unsigned short StartMonth;
+
+ /** contains the start year for the range.
+ */
+ short StartYear;
+
+ /** contains the end nanoseconds (0 - 999 999 999) for the range.
+ */
+ unsigned long EndNanoSeconds;
+
+ /** contains the end seconds (0-59) for the range.
+ */
+ unsigned short EndSeconds;
+
+ /** contains the end minutes (0-59) for the range.
+ */
+ unsigned short EndMinutes;
+
+ /** contains the end hour (0-23) for the range.
+ */
+ unsigned short EndHours;
+
+ /** contains the end day of month (1-31 or 0 for a void date) for the range.
+ */
+ unsigned short EndDay;
+
+ /** contains the end month of year (1-12 or 0 for a void date) for the range.
+ */
+ unsigned short EndMonth;
+
+ /** contains the end year for the range.
+ */
+ short EndYear;
+
+ /** true: time zone is UTC false: unknown time zone.
+
+ @since LibreOffice 4.1
+ */
+ boolean IsUTC;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/DateTimeWithTimezone.idl b/offapi/com/sun/star/util/DateTimeWithTimezone.idl
new file mode 100644
index 000000000..398ed5efe
--- /dev/null
+++ b/offapi/com/sun/star/util/DateTimeWithTimezone.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.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_util_DateTimeTZ_idl__
+#define __com_sun_star_util_DateTimeTZ_idl__
+
+#include <com/sun/star/util/DateTime.idl>
+
+
+module com { module sun { module star { module util {
+
+/** represents a combined date+time value with time zone.
+
+ @since LibreOffice 4.1
+ */
+struct DateTimeWithTimezone
+{
+ /** the date and time (in TimeZone)
+ */
+ DateTime DateTimeInTZ;
+
+ /** contains the time zone, as signed offset in minutes *from* UTC,
+ that is *east* of UTC, that is the amount of minutes that should
+ be added to UTC time to obtain the time in that timezone.
+
+ To obtain UTC datetime from DateTimeInTZ, you need to *subtract*
+ TimeZone minutes.
+ */
+ short Timezone;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/DateWithTimezone.idl b/offapi/com/sun/star/util/DateWithTimezone.idl
new file mode 100644
index 000000000..e60bcb7b8
--- /dev/null
+++ b/offapi/com/sun/star/util/DateWithTimezone.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.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_util_DateTZ_idl__
+#define __com_sun_star_util_DateTZ_idl__
+
+#include <com/sun/star/util/Date.idl>
+
+
+module com { module sun { module star { module util {
+
+/** represents a date value with time zone.
+
+ @since LibreOffice 4.1
+ */
+struct DateWithTimezone
+{
+ /** the date.
+ @note XMLSchema-2 defines this as a 24 hour interval.
+ The TimeZone shifts the interval along the UTC time line.
+ */
+ Date DateInTZ;
+
+ /** contains the time zone, as signed offset in minutes *from* UTC,
+ that is *east* of UTC, that is the amount of minutes that should
+ be added to UTC time to obtain time in that timezone.
+ */
+ short Timezone;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
+
diff --git a/offapi/com/sun/star/util/Duration.idl b/offapi/com/sun/star/util/Duration.idl
new file mode 100644
index 000000000..03b58b7c0
--- /dev/null
+++ b/offapi/com/sun/star/util/Duration.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_util_Duration_idl__
+#define __com_sun_star_util_Duration_idl__
+
+
+
+module com { module sun { module star { module util {
+
+
+/** represents a duration.
+
+ <p>
+ A duration is the difference of 2 DateTimes.
+ </p>
+
+ <p>
+ Note that there are no constraints on the ranges of the members,
+ except that every member must be non-negative:
+ for example, a Duration of 400 Days is valid.
+ </p>
+
+ @since OOo 3.3
+ */
+struct Duration
+{
+ /** explicit sign bit.
+ */
+ boolean Negative;
+
+ /** contains the years.
+ */
+ unsigned short Years;
+
+ /** contains the months.
+ */
+ unsigned short Months;
+
+ /** contains the days.
+ */
+ unsigned short Days;
+
+ /** contains the hours.
+ */
+ unsigned short Hours;
+
+ /** contains the minutes.
+ */
+ unsigned short Minutes;
+
+ /** contains the seconds.
+ */
+ unsigned short Seconds;
+
+ /** contains the nanoseconds.
+ */
+ unsigned long NanoSeconds;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/ElementChange.idl b/offapi/com/sun/star/util/ElementChange.idl
new file mode 100644
index 000000000..88121deeb
--- /dev/null
+++ b/offapi/com/sun/star/util/ElementChange.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_util_ElementChange_idl__
+#define __com_sun_star_util_ElementChange_idl__
+
+
+
+module com { module sun { module star { module util {
+
+
+/** This structure describes a single change that is part of a batch of changes.
+ */
+published struct ElementChange
+{
+ /** This contains the accessor to the element which changed.
+
+ <p>The type and the value of the accessor depends on the service.</p>
+ */
+ any Accessor;
+
+
+ /** This contains the element that was inserted or changed.
+ */
+ any Element;
+
+
+ /** This contains the element that was replaced or removed.
+ */
+ any ReplacedElement;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/Endianness.idl b/offapi/com/sun/star/util/Endianness.idl
new file mode 100644
index 000000000..ad3217a49
--- /dev/null
+++ b/offapi/com/sun/star/util/Endianness.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_util_Endianness_idl__
+#define __com_sun_star_util_Endianness_idl__
+
+module com { module sun { module star { module util {
+
+/** These constants describe the endianness of data structures.<p>
+
+ The endianness specifies the order in which the bytes of larger
+ types are laid out in memory.<p>
+
+ @since OOo 2.0
+ */
+constants Endianness
+{
+ /** Little endian.<p>
+
+ The values are stored in little endian format, i.e. the bytes
+ of the long word 0xAABBCCDD are laid out like 0xDD, 0xCC,
+ 0xBB, 0xAA in memory. That is, data of arbitrary machine word
+ lengths always starts with the least significant byte, and
+ ends with the most significant one.<p>
+ */
+ const byte LITTLE=0;
+
+ /** Big endian.<p>
+
+ The values are stored in big endian format, i.e. the bytes of
+ the long word 0xAABBCCDD are laid out like 0xAA, 0xBB, 0xCC,
+ 0xDD in memory. That is, data of arbitrary machine word
+ lengths always start with the most significant byte, and ends
+ with the least significant one.<p>
+ */
+ const byte BIG=1;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/InvalidStateException.idl b/offapi/com/sun/star/util/InvalidStateException.idl
new file mode 100644
index 000000000..f4ff6ce03
--- /dev/null
+++ b/offapi/com/sun/star/util/InvalidStateException.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_util_InvalidStateException_idl__
+#define __com_sun_star_util_InvalidStateException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+module com { module sun { module star { module util {
+
+
+/** is thrown when an object's state does not allow to call requested functionality.
+ */
+exception InvalidStateException : com::sun::star::uno::Exception
+{
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/JobManager.idl b/offapi/com/sun/star/util/JobManager.idl
new file mode 100644
index 000000000..b2287e2ab
--- /dev/null
+++ b/offapi/com/sun/star/util/JobManager.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_util_JobManager_idl__
+#define __com_sun_star_util_JobManager_idl__
+
+#include <com/sun/star/util/XJobManager.idl>
+
+module com { module sun { module star { module util {
+
+/** Manage cancelable jobs
+
+ @see XJobManager
+ */
+service JobManager : XJobManager;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/Language.idl b/offapi/com/sun/star/util/Language.idl
new file mode 100644
index 000000000..42217ca38
--- /dev/null
+++ b/offapi/com/sun/star/util/Language.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_Language_idl__
+#define __com_sun_star_util_Language_idl__
+
+
+
+module com { module sun { module star { module util {
+
+/** This type is used for a language identifier number.
+*/
+published typedef short Language;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/MalformedNumberFormatException.idl b/offapi/com/sun/star/util/MalformedNumberFormatException.idl
new file mode 100644
index 000000000..4038d5a46
--- /dev/null
+++ b/offapi/com/sun/star/util/MalformedNumberFormatException.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_util_MalformedNumberFormatException_idl__
+#define __com_sun_star_util_MalformedNumberFormatException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+
+ module com { module sun { module star { module util {
+
+
+/** is thrown when a NumberFormat string is syntactically
+ incorrect.
+ */
+published exception MalformedNumberFormatException: com::sun::star::uno::Exception
+{
+
+ /** contains the character position in the string where the malformation
+ begins.
+ */
+ long CheckPos;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/MeasureUnit.idl b/offapi/com/sun/star/util/MeasureUnit.idl
new file mode 100644
index 000000000..165366d3f
--- /dev/null
+++ b/offapi/com/sun/star/util/MeasureUnit.idl
@@ -0,0 +1,96 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_MeasureUnit_idl__
+#define __com_sun_star_util_MeasureUnit_idl__
+
+
+
+module com { module sun { module star { module util {
+
+
+/** These constants are used to specify a measure.<p>
+ A component using these constants may not support all units.
+ */
+published constants MeasureUnit
+{
+ /** all measures for this component are in 100th millimeter */
+ const short MM_100TH = 0;
+
+ /** all measures for this component are in 10th millimeter */
+ const short MM_10TH = 1;
+
+ /** all measures for this component are in millimeter */
+ const short MM = 2;
+
+ /** all measures for this component are in centimeters */
+ const short CM = 3;
+
+ /** all measures for this component are in 1000th inch */
+ const short INCH_1000TH = 4;
+
+ /** all measures for this component are in 100th inch */
+ const short INCH_100TH = 5;
+
+ /** all measures for this component are in 10th inch */
+ const short INCH_10TH = 6;
+
+ /** all measures for this component are in inch */
+ const short INCH = 7;
+
+ /** all measures for this component are in points */
+ const short POINT = 8;
+
+ /** all measures for this component are in twips */
+ const short TWIP = 9;
+
+ /** all measures for this component are in meters */
+ const short M = 10;
+
+ /** all measures for this component are in kilometers */
+ const short KM = 11;
+
+ /** all measures for this component are in pica */
+ const short PICA = 12;
+
+ /** all measures for this component are in foot */
+ const short FOOT = 13;
+
+ /** all measures for this component are in miles */
+ const short MILE = 14;
+
+ /** all measures for this component are in percentage */
+ const short PERCENT = 15;
+
+ /** all measures for this component are in pixel */
+ const short PIXEL = 16;
+
+ /** all measures for this component are in APPFONT */
+ const short APPFONT = 17;
+
+ /** all measures for this component are in SYSFONT */
+ const short SYSFONT = 18;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/ModeChangeEvent.idl b/offapi/com/sun/star/util/ModeChangeEvent.idl
new file mode 100644
index 000000000..f84cc6923
--- /dev/null
+++ b/offapi/com/sun/star/util/ModeChangeEvent.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_util_ModeChangeEvent_idl__
+#define __com_sun_star_util_ModeChangeEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+
+
+module com { module sun { module star { module util {
+
+
+/** allows to veto changes in an object's internal mode.
+
+ @see XModeChangeBroadcaster
+ @see XModeChangeListener
+
+ @since OOo 1.1.2
+*/
+published struct ModeChangeEvent : com::sun::star::lang::EventObject
+{
+ /** denotes the new internal mode of a component
+
+ <p>The semantics of the mode string is to be defined by the component
+ broadcasting this event.</p>
+ */
+ string NewMode;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/NotLockedException.idl b/offapi/com/sun/star/util/NotLockedException.idl
new file mode 100644
index 000000000..6106fd01b
--- /dev/null
+++ b/offapi/com/sun/star/util/NotLockedException.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_util_NotLockedException_idl__
+#define __com_sun_star_util_NotLockedException_idl__
+
+#include <com/sun/star/util/InvalidStateException.idl>
+
+
+module com { module sun { module star { module util {
+
+
+/** is raised when attempt is made to unlock a lockable component which actually is not locked.
+ */
+exception NotLockedException : ::com::sun::star::util::InvalidStateException
+{
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/NotNumericException.idl b/offapi/com/sun/star/util/NotNumericException.idl
new file mode 100644
index 000000000..36867f2ed
--- /dev/null
+++ b/offapi/com/sun/star/util/NotNumericException.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_util_NotNumericException_idl__
+#define __com_sun_star_util_NotNumericException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+
+module com { module sun { module star { module util {
+
+
+/** indicates that a non-numeric string is to be converted to a number.
+ */
+published exception NotNumericException: com::sun::star::uno::Exception
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/NumberFormat.idl b/offapi/com/sun/star/util/NumberFormat.idl
new file mode 100644
index 000000000..e66a59d7e
--- /dev/null
+++ b/offapi/com/sun/star/util/NumberFormat.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_util_NumberFormat_idl__
+#define __com_sun_star_util_NumberFormat_idl__
+
+
+
+ module com { module sun { module star { module util {
+
+
+/** contains constants that are used to specify the type of a number format.
+ */
+published constants NumberFormat
+{
+
+ /** selects all number formats.
+ */
+ const short ALL = 0;
+
+
+ /** selects only user-defined number formats.
+ */
+ const short DEFINED = 1;
+
+
+ /** selects date formats.
+ */
+ const short DATE = 2;
+
+
+ /** selects time formats.
+ */
+ const short TIME = 4;
+
+
+ /** selects currency formats.
+ */
+ const short CURRENCY = 8;
+
+
+ /** selects decimal number formats.
+ */
+ const short NUMBER = 16;
+
+
+ /** selects scientific number formats.
+ */
+ const short SCIENTIFIC = 32;
+
+
+ /** selects number formats for fractions.
+ */
+ const short FRACTION = 64;
+
+
+ /** selects percentage number formats.
+ */
+ const short PERCENT = 128;
+
+
+ /** selects text number formats.
+ */
+ const short TEXT = 256;
+
+
+ /** selects number formats which contain date and time.
+ */
+ const short DATETIME = 6;
+
+
+ /** selects boolean number formats.
+ */
+ const short LOGICAL = 1024;
+
+
+ /** is used as a return value if no format exists.
+ */
+ const short UNDEFINED = 2048;
+
+
+ /** @internal is used to flag an empty sub format.
+ @since LibreOffice 5.1
+ */
+ const short EMPTY = 4096;
+
+
+ /** @internal selects a time duration format.
+ 8192 + TIME (4)
+ @since LibreOffice 6.2
+ */
+ const short DURATION = 8196;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/NumberFormatProperties.idl b/offapi/com/sun/star/util/NumberFormatProperties.idl
new file mode 100644
index 000000000..39abbaec6
--- /dev/null
+++ b/offapi/com/sun/star/util/NumberFormatProperties.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_util_NumberFormatProperties_idl__
+#define __com_sun_star_util_NumberFormatProperties_idl__
+
+#include <com/sun/star/lang/Locale.idl>
+
+
+
+ module com { module sun { module star { module util {
+
+
+/** contains properties specifying the behavior of a NumberFormatter.
+
+ @see NumberFormatter
+ */
+published service NumberFormatProperties
+{
+
+ /** contains the format string of the number format.
+ */
+ [readonly, property] string FormatString;
+
+
+ /** contains the locale of the number format.
+ */
+ [readonly, property] com::sun::star::lang::Locale Locale;
+
+
+ /** contains the type of the number format.
+
+ @see NumberFormat
+ */
+ [readonly, property] short Type;
+
+
+ /** contains a comment regarding the number format for
+ display to the user.
+ */
+ [property] string Comment;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/NumberFormatSettings.idl b/offapi/com/sun/star/util/NumberFormatSettings.idl
new file mode 100644
index 000000000..c7980f8e3
--- /dev/null
+++ b/offapi/com/sun/star/util/NumberFormatSettings.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_util_NumberFormatSettings_idl__
+#define __com_sun_star_util_NumberFormatSettings_idl__
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+#include <com/sun/star/util/Date.idl>
+
+
+
+ module com { module sun { module star { module util {
+
+
+/** specifies the settings for number formatting.
+ */
+published service NumberFormatSettings
+{
+ /** provides access to the properties.
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+
+ /** specifies the date which is represented by the value 0.
+
+ <p>The most common value for this is 12/30/1899.</p>
+ */
+ [property] com::sun::star::util::Date NullDate;
+
+
+ /** specifies the maximum number of decimals used for the
+ standard number format ("General").
+ */
+ [property] short StandardDecimals;
+
+
+ /** is set to indicate that a zero value should be formatted as an empty string.
+ */
+ [property] boolean NoZero;
+
+
+ /** specifies the first year to be generated from a two-digit
+ year input.
+ */
+ [property] short TwoDigitDateStart;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/NumberFormats.idl b/offapi/com/sun/star/util/NumberFormats.idl
new file mode 100644
index 000000000..a96cff5cd
--- /dev/null
+++ b/offapi/com/sun/star/util/NumberFormats.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_util_NumberFormats_idl__
+#define __com_sun_star_util_NumberFormats_idl__
+
+#include <com/sun/star/util/XNumberFormats.idl>
+
+#include <com/sun/star/util/XNumberFormatTypes.idl>
+
+
+
+ module com { module sun { module star { module util {
+
+
+/** specifies a container of number formats.
+ */
+published service NumberFormats
+{
+ /** is used to access or create individual formats.
+ */
+ interface com::sun::star::util::XNumberFormats;
+
+ /** is used to get specific, predefined number formats.
+ */
+ interface com::sun::star::util::XNumberFormatTypes;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/NumberFormatsSupplier.idl b/offapi/com/sun/star/util/NumberFormatsSupplier.idl
new file mode 100644
index 000000000..d58fec9fd
--- /dev/null
+++ b/offapi/com/sun/star/util/NumberFormatsSupplier.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_util_NumberFormatsSupplier_idl__
+#define __com_sun_star_util_NumberFormatsSupplier_idl__
+
+#include <com/sun/star/util/XNumberFormatsSupplier.idl>
+#include <com/sun/star/lang/Locale.idl>
+
+
+module com { module sun { module star { module util {
+
+
+/** provides an supplier of number formats
+
+ @see NumberFormats
+ @see NumberFormatter
+
+ @since OOo 1.1.2
+*/
+published service NumberFormatsSupplier : XNumberFormatsSupplier
+{
+
+ /**
+ Create using specific locale.
+
+ @param Locale the locale of the number formats supplier
+ */
+ createWithLocale([in] com::sun::star::lang::Locale Locale);
+
+ /**
+ Create using default locale.
+ */
+ createWithDefaultLocale();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/NumberFormatter.idl b/offapi/com/sun/star/util/NumberFormatter.idl
new file mode 100644
index 000000000..54c65c3c8
--- /dev/null
+++ b/offapi/com/sun/star/util/NumberFormatter.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_util_NumberFormatter_idl__
+#define __com_sun_star_util_NumberFormatter_idl__
+
+#include <com/sun/star/util/XNumberFormatter2.idl>
+
+
+module com { module sun { module star { module util {
+
+
+/** represents an object which can format numbers and strings.
+
+ <p>A NumberFormatter, if available, can be created by the global
+ service manager.</p>
+ */
+published service NumberFormatter : XNumberFormatter2;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/OfficeInstallationDirectories.idl b/offapi/com/sun/star/util/OfficeInstallationDirectories.idl
new file mode 100644
index 000000000..94f7164f1
--- /dev/null
+++ b/offapi/com/sun/star/util/OfficeInstallationDirectories.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_util_OfficeInstallationDirectories_idl__
+#define __com_sun_star_util_OfficeInstallationDirectories_idl__
+
+#include <com/sun/star/util/XOfficeInstallationDirectories.idl>
+
+
+module com { module sun { module star { module util {
+
+
+/** encapsulates access to the current office installation directory and
+ office user data directory, provides functionality to create URLs
+ containing relocatable (not absolute) references to the current office
+ installation directory and user data directory and vice versa.
+
+ <p>This functionality is useful when data containing references to the
+ current office installation directory or user data directory must be made
+ persistent and re-read later. In many cases, storing the reference
+ directly would destroy the relocatability of an office installation and the
+ possibility to share one office user data directory among parallel office
+ installations.
+
+ @since OOo 2.0
+ @deprecated rather use the singleton theOfficeInstallationDirectories
+ */
+published service OfficeInstallationDirectories {
+ interface XOfficeInstallationDirectories;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/PathSettings.idl b/offapi/com/sun/star/util/PathSettings.idl
new file mode 100644
index 000000000..00ab23d55
--- /dev/null
+++ b/offapi/com/sun/star/util/PathSettings.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_util_PathSettings_idl__
+#define __com_sun_star_util_PathSettings_idl__
+
+#include <com/sun/star/util/XPathSettings.idl>
+
+
+module com { module sun { module star { module util {
+
+
+/**
+ A legacy (single-instance) service-variant of thePathSettings singleton.
+
+ @deprecated Use thePathSettings singleton instead.
+
+ @since OOo 1.1.2
+ */
+published service PathSettings : XPathSettings;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/PathSubstitution.idl b/offapi/com/sun/star/util/PathSubstitution.idl
new file mode 100644
index 000000000..1cee2597c
--- /dev/null
+++ b/offapi/com/sun/star/util/PathSubstitution.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_util_PathSubstitution_idl__
+#define __com_sun_star_util_PathSubstitution_idl__
+
+#include <com/sun/star/util/XStringSubstitution.idl>
+#include <com/sun/star/container/XNameContainer.idl>
+#include <com/sun/star/container/XContainerListener.idl>
+
+
+module com { module sun { module star { module util {
+
+
+/** A service to support the substitution and resubstitution of path variables.
+
+ <p>
+ A path variable must be specified with the following syntax: "$("&lt;variable-name&gt;")".
+ Path variables are not case sensitive and are always provided as a UCB-compliant URLs
+ (for example: "file:///c:/temp" or "file:///usr/install"). This is mandatory to support an
+ optional remote file system.<br>
+ There is a set of variables that have pre-defined values:
+ </p>
+ <dl>
+ <dt>\$(inst)</dt>
+ <dd>Installation path of the Office.</dd>
+ <dt>\$(prog)</dt>
+ <dd>Program path of the Office.</dd>
+ <dt>\$(user)</dt>
+ <dd>The user installation directory.</dd>
+ <dt>\$(work)</dt>
+ <dd>The work directory of the user. Under Windows this would be the
+ "MyDocuments" subdirectory. Under Unix this would be the home-directory</dd>
+ <dt>\$(home)</dt>
+ <dd>The home directory of the user. Under Unix this would be the home-
+ directory. Under Windows this would be the CSIDL_PERSONAL directory,
+ for example "Documents and Settings\<username>\Documents".</dd>
+ <dt>\$(temp)</dt>
+ <dd>The current temporary directory.</dd>
+ <dt>\$(path)</dt>
+ <dd>The value of PATH environment variable.</dd>
+ <dt>\$(username)</dt>
+ <dd>The username (login name) of the currently active user, excluding the domain name on Windows. (Available since LibreOffice 5.2)</dd>
+ <dt>\$(langid)</dt>
+ <dd>The language code used by the Office, like 0x0009=English, 0x0409=English US.</dd>
+ <dt>\$(vlang)</dt>
+ <dd>The language used by the Office as a string. Like "German" for a German Office.</dd>
+ </dl>
+ <p>
+ Attention: Most predefined variables describe an absolute path.
+ The only exceptions are: \$(username), \$(langid) and \$(vlang).
+ Therefore the service implementation should only substitute variables which
+ are located at the start of a provided path string or are part of a multi-path.
+ This special service is not designed to be a text substitution but shall
+ provide (a) valid substituted path(s).
+ </p>
+
+ @since OOo 1.1.2
+*/
+
+published service PathSubstitution : XStringSubstitution;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/ReplaceDescriptor.idl b/offapi/com/sun/star/util/ReplaceDescriptor.idl
new file mode 100644
index 000000000..69341b684
--- /dev/null
+++ b/offapi/com/sun/star/util/ReplaceDescriptor.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_util_ReplaceDescriptor_idl__
+#define __com_sun_star_util_ReplaceDescriptor_idl__
+
+#include <com/sun/star/util/SearchDescriptor.idl>
+
+#include <com/sun/star/util/XReplaceDescriptor.idl>
+
+
+
+module com { module sun { module star { module util {
+
+
+/** describes what and how to replace strings.
+ */
+published service ReplaceDescriptor
+{
+ service com::sun::star::util::SearchDescriptor;
+
+ interface com::sun::star::util::XReplaceDescriptor;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/RevisionTag.idl b/offapi/com/sun/star/util/RevisionTag.idl
new file mode 100644
index 000000000..9a1ac368d
--- /dev/null
+++ b/offapi/com/sun/star/util/RevisionTag.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_util_RevisionTag_idl__
+#define __com_sun_star_util_RevisionTag_idl__
+
+#include <com/sun/star/util/DateTime.idl>
+
+
+module com { module sun { module star { module util {
+
+
+/** represents the information that describes a revision of something.
+ */
+struct RevisionTag
+{
+ /** contains the time when the revision was created ( can be invalid )
+ */
+ DateTime TimeStamp;
+
+ /** contains an identifier for the author that created the revision( can be empty )
+ */
+ string Author;
+
+ /** contains a comment that the author has left for this revision ( can be empty )
+ */
+ string Comment;
+
+ /** contains a unique identifier for the revision and must not be empty
+ <p>
+ This identifier can have any form. It can be something like "1.2.3" or "Version 1" etc.
+ It depends on the revision control system how it names the revisions.
+ </p>
+ */
+ string Identifier;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/SearchAlgorithms.idl b/offapi/com/sun/star/util/SearchAlgorithms.idl
new file mode 100644
index 000000000..3a2053323
--- /dev/null
+++ b/offapi/com/sun/star/util/SearchAlgorithms.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_util_SearchAlgorithms_idl__
+#define __com_sun_star_util_SearchAlgorithms_idl__
+
+
+
+module com { module sun { module star { module util {
+
+
+published enum SearchAlgorithms
+{
+ /// Literal
+ ABSOLUTE, // implemented as a kind of Boyer-Moore
+ /// Regular expression
+ REGEXP,
+ /// Weighted Levenshtein Distance
+ APPROXIMATE
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/SearchAlgorithms2.idl b/offapi/com/sun/star/util/SearchAlgorithms2.idl
new file mode 100644
index 000000000..c3707ea79
--- /dev/null
+++ b/offapi/com/sun/star/util/SearchAlgorithms2.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/.
+ */
+
+#ifndef __com_sun_star_util_SearchAlgorithms2_idl__
+#define __com_sun_star_util_SearchAlgorithms2_idl__
+
+module com { module sun { module star { module util {
+
+/** Constants that define the search algorithm to be used with
+ com::sun::star::util::SearchOptions2::SearchAlgorithms2
+
+ @since LibreOffice 5.2
+ */
+constants SearchAlgorithms2
+{
+ /// Literal
+ const short ABSOLUTE = 1;
+
+ /// Regular expression
+ const short REGEXP = 2;
+
+ /// Weighted Levenshtein Distance
+ const short APPROXIMATE = 3;
+
+ /** Wildcards '*' and '?'
+ An escape character is defined by setting
+ com::sun::star::util::SearchOptions2::WildcardEscapeCharacter
+ */
+ const short WILDCARD = 4;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/SearchDescriptor.idl b/offapi/com/sun/star/util/SearchDescriptor.idl
new file mode 100644
index 000000000..8d7e68da4
--- /dev/null
+++ b/offapi/com/sun/star/util/SearchDescriptor.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_util_SearchDescriptor_idl__
+#define __com_sun_star_util_SearchDescriptor_idl__
+
+#include <com/sun/star/util/XSearchDescriptor.idl>
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+
+
+module com { module sun { module star { module util {
+
+
+/** describes what and how to search within a container.
+ */
+published service SearchDescriptor
+{
+ interface com::sun::star::util::XSearchDescriptor;
+
+ interface com::sun::star::beans::XPropertySet;
+
+ /** If `TRUE`, the search is done backwards in the document.
+ */
+ [property] boolean SearchBackwards;
+
+ /** If `TRUE`, the case of the letters is important for the match.
+ */
+ [property] boolean SearchCaseSensitive;
+
+ /** If `TRUE`, only complete words will be found.
+ */
+ [property] boolean SearchWords;
+
+ /** If `TRUE`, the search string is evaluated as a regular expression.
+
+ <p> SearchRegularExpression, SearchWildcard and SearchSimilarity
+ are mutually exclusive, only one can be `TRUE` at the same time. </p>
+ */
+ [property] boolean SearchRegularExpression;
+
+ /** If `TRUE`, it is searched for positions where the paragraph style with
+ the name of the search pattern is applied.
+ */
+ [property] boolean SearchStyles;
+
+ /** If `TRUE`, a "similarity search" is performed.
+
+ <p>In the case of a similarity search, the following properties
+ specify the kind of similarity:
+ </p>
+ <ul>
+ <li>SearchSimilarityRelax
+ </li>
+ <li>SearchSimilarityRemove
+ </li>
+ <li>SearchSimilarityAdd
+ </li>
+ <li>SearchSimilarityExchange
+ </li>
+ </ul>
+
+ <p> SearchRegularExpression, SearchWildcard and SearchSimilarity
+ are mutually exclusive, only one can be `TRUE` at the same time. </p>
+ */
+ [property] boolean SearchSimilarity;
+
+ /** If `TRUE`, all similarity rules are applied together.
+
+ <p>In the case of a relaxed similarity search, the following
+ properties are applied together:
+
+ </p>
+ <ul>
+ <li>SearchSimilarityRemove
+ </li>
+ <li>SearchSimilarityAdd
+ </li>
+ <li>SearchSimilarityExchange
+ </li>
+ </ul>
+ */
+ [property] boolean SearchSimilarityRelax;
+
+ /** This property specifies the number of characters that may be
+ ignored to match the search pattern.
+ */
+ [property] short SearchSimilarityRemove;
+
+ /** specifies the number of characters that must be
+ added to match the search pattern.
+ */
+ [property] short SearchSimilarityAdd;
+
+ /** This property specifies the number of characters that must
+ be replaced to match the search pattern.
+ */
+ [property] short SearchSimilarityExchange;
+
+ /** If `TRUE`, the search string is evaluated as a wildcard pattern.
+
+ <p> Wildcards are '*' (asterisk) for any sequence of characters,
+ including an empty sequence, and '?' (question mark) for exactly
+ one character. Escape character is '\' (U+005C REVERSE SOLIDUS)
+ aka backslash, it escapes the special meaning of a question
+ mark, asterisk or escape character that follows immediately
+ after the escape character. </p>
+
+ <p> SearchRegularExpression, SearchWildcard and SearchSimilarity
+ are mutually exclusive, only one can be `TRUE` at the same time. </p>
+
+ @since LibreOffice 5.2
+ */
+ [optional, property] boolean SearchWildcard;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/SearchFlags.idl b/offapi/com/sun/star/util/SearchFlags.idl
new file mode 100644
index 000000000..77d0da38b
--- /dev/null
+++ b/offapi/com/sun/star/util/SearchFlags.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_util_SearchFlags_idl__
+#define __com_sun_star_util_SearchFlags_idl__
+
+
+
+module com { module sun { module star { module util {
+
+
+/// Flags for search methods
+published constants SearchFlags
+{
+ /**
+ @deprecated The constant ALL_IGNORE_CASE is never supported - use
+ com::sun::star::i18n::TransliterationModules::IGNORE_CASE
+ with
+ SearchOptions::transliterateFlags()
+ instead.
+
+ @see com::sun::star::i18n::TransliterationModules
+ */
+ const long ALL_IGNORE_CASE = 0x00000001;
+
+ /** Flag for normal (Boyer-Moore) search / Search for word only. */
+ const long NORM_WORD_ONLY = 0x00000010;
+
+ /** Flag for "regular expression" search / Interpret as extended
+ regular expression.
+
+ @deprecated The flag is currently not supported by OOo.
+ */
+ const long REG_EXTENDED = 0x00000100;
+
+ /** Flag for "regular expression" search / No register information
+ or backreferences, i.e., avoid sub expressions. Return only
+ true/false if matched or not.
+
+ @deprecated The flag is currently not supported by OOo.
+ */
+ const long REG_NOSUB = 0x00000200;
+
+ /** Flag for "regular expression" search / Special new line
+ treatment.
+
+ @deprecated The flag is currently not supported by OOo.
+
+ <p> A NEWLINE character in string will not be matched by a
+ period outside bracket expression or by any form of a non
+ matching list. </p>
+
+ <p> A circumflex (^) in pattern when used to specify expression
+ anchoring will match the zero length string immediately after a
+ newline in string, regardless of the setting of
+ REG_NOT_BEGINOFLINE. </p>
+
+ <p> A dollar-sign ($) in pattern when used to specify expression
+ anchoring, will match zero-length string immediately before a
+ new line in string, regardless of the setting of
+ REG_NOT_ENDOFLINE. </p>
+ */
+ const long REG_NEWLINE = 0x00000400;
+
+ /** The first character in the string is not the beginning of the
+ line therefore ^ will not match with first character of the
+ string.
+ */
+ const long REG_NOT_BEGINOFLINE = 0x00000800;
+
+ /** The last character in the string is not the end of the line
+ therefore $ will not match with last character of the string.
+ */
+ const long REG_NOT_ENDOFLINE = 0x00001000;
+
+ /** Flag for "Weighted Levenshtein Distance" search / Relaxed
+ checking of limit, split weigh pools.
+
+ <p> If not specified (<b>strict</b>), the search is successful if
+ the WLD is within a calculated limit where each insertion,
+ deletion and replacement adds a weight to a common pool of
+ weights. This is the mathematically correct WLD. </p>
+
+ <p> From a user's point of view the strict WLD is an
+ exclusive-OR of the arguments given, for example if allowed
+ insertions=2 and allowed replacements=2, the search fails if 2
+ characters had been inserted and an additional operation would
+ be needed to match. Depending on the weights it may also fail if
+ 1 character was inserted and 1 character replaced and an
+ additional operation would be needed to match. The strict
+ algorithm may match less than expected from a first glance of
+ the specified arguments, but does not return false positives. </p>
+
+ <p> If specified (<b>relaxed</b>), the search is also successful
+ if the combined pool for insertions and deletions is below a
+ doubled calculated limit and replacements are treated
+ differently. Additionally, swapped characters are counted as one
+ replacement. </p>
+
+ <p> From a user's point of view the relaxed WLD is an
+ inclusive-OR of the arguments given, for example if allowed
+ insertions=2 and allowed replacements=2, the search succeeds if
+ 2 characters had been inserted and an additional replacement is
+ needed to match. The relaxed algorithm may return false
+ positives, but meets user expectation better. </p>
+ */
+ const long LEV_RELAXED = 0x00010000;
+
+ /** Flag for wildcards search if entire selection must match the
+ pattern.
+
+ <p> If com::sun::star::util::SearchOptions2::AlgorithmType2 is
+ com::sun::star::util::SearchAlgorithms2::WILDCARD specifies
+ whether a wildcard pattern must match the entire selected range
+ of the string from start position to end position or a substring
+ match is allowed. </p>
+
+ <p> If set, the entire selection must match. If not set, a
+ substring match is allowed. </p>
+
+ @since LibreOffice 5.2
+ */
+ const long WILD_MATCH_SELECTION = 0x00100000;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/SearchOptions.idl b/offapi/com/sun/star/util/SearchOptions.idl
new file mode 100644
index 000000000..0b0a17965
--- /dev/null
+++ b/offapi/com/sun/star/util/SearchOptions.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_util_SearchOptions_idl__
+#define __com_sun_star_util_SearchOptions_idl__
+
+
+#include <com/sun/star/lang/Locale.idl>
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/util/SearchAlgorithms.idl>
+
+
+module com { module sun { module star { module util {
+
+
+published struct SearchOptions {
+ /** search type */
+ SearchAlgorithms algorithmType;
+
+ /** some flags - can be mixed
+
+ @see SearchFlags
+ */
+ long searchFlag;
+
+ /** The text or pattern to be searched. */
+ string searchString;
+
+ /** The replacement text
+ (is for optional replacing - SearchOption is only the data container for it) */
+ string replaceString;
+
+ /** The locale for case insensitive search. */
+ ::com::sun::star::lang::Locale Locale;
+
+ /** This many characters can be different (as a replacement) between
+ the found word and the search pattern in a "Weighted Levenshtein
+ Distance" search. */
+ long changedChars;
+
+ /** This many characters can be missing in the found word in a
+ "Weighted Levenshtein Distance" search. */
+ long deletedChars;
+
+ /** This many characters can be additional in the found word in a
+ "Weighted Levenshtein Distance" search. */
+ long insertedChars;
+
+ /** Flags for the transliteration. Same meaning as the enum of
+ com::sun::star::i18n::TransliterationModules
+ */
+ long transliterateFlags;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/SearchOptions2.idl b/offapi/com/sun/star/util/SearchOptions2.idl
new file mode 100644
index 000000000..39d0c8d51
--- /dev/null
+++ b/offapi/com/sun/star/util/SearchOptions2.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/.
+ */
+
+#ifndef __com_sun_star_util_SearchOptions2_idl__
+#define __com_sun_star_util_SearchOptions2_idl__
+
+
+#include <com/sun/star/util/SearchOptions.idl>
+
+
+module com { module sun { module star { module util {
+
+/** This augments com::sun::star::util::SearchOptions to be able to
+ specify additional search algorithms for use with
+ com::sun::star::util::XTextSearch2
+
+ @since LibreOffice 5.2
+ */
+struct SearchOptions2 : com::sun::star::util::SearchOptions {
+
+ /** Search type, one of com::sun::star::util::SearchAlgorithms2
+ constants. This is preferred over the content of the
+ SearchAlgorithms SearchOptions::algorithmType enum field.
+ */
+ short AlgorithmType2;
+
+ /** The escape character to be used with a
+ com::sun::star::util::SearchAlgorithms2::WILDCARD search.
+
+ <p> A Unicode character, if not 0 escapes the special meaning of
+ a question mark, asterisk or escape character that follows
+ immediately after the escape character. If 0 defines no escape
+ character is used. </p>
+
+ <p> Common values are '\' (U+005C REVERSE SOLIDUS) aka backslash
+ in text processing context, or '~' (U+007E TILDE) in spreadsheet
+ processing context. </p>
+ */
+ long WildcardEscapeCharacter;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/SearchResult.idl b/offapi/com/sun/star/util/SearchResult.idl
new file mode 100644
index 000000000..8f14de88b
--- /dev/null
+++ b/offapi/com/sun/star/util/SearchResult.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_util_SearchResult_idl__
+#define __com_sun_star_util_SearchResult_idl__
+
+
+
+module com { module sun { module star { module util {
+
+
+published struct SearchResult {
+
+ /** Number of subexpressions.
+
+ If it is 0, then no match found; this value is 1 for ABSOLUTE
+ and APPROXIMATE match.
+ The start and endOffset are always dependent on the search direction.
+
+ For example, if you search "X" in the text "-X-" the offsets are:
+
+ for forward: start = 1, end = 2
+
+ for backward: start = 2, end = 1
+
+ Forward, the startOffset is inclusive, the endOffset exclusive.
+ Backward, the startOffset is exclusive, the endOffset inclusive.
+
+ For regular expressions it can be greater than 1.
+ If the value is 1, startoffset[0] and endoffset[0] points to the matching sub string
+ if value is > 1, still startoffset[0] and endoffset[0] points to the matching substring for whole regular expression
+ startoffset[i] and endoffset[i] points to the matching substring of i th matching substring.
+ */
+ long subRegExpressions;
+ sequence<long> startOffset;
+ sequence<long> endOffset;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/SortDescriptor.idl b/offapi/com/sun/star/util/SortDescriptor.idl
new file mode 100644
index 000000000..330935953
--- /dev/null
+++ b/offapi/com/sun/star/util/SortDescriptor.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_util_SortDescriptor_idl__
+#define __com_sun_star_util_SortDescriptor_idl__
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+#include <com/sun/star/lang/Locale.idl>
+
+
+module com { module sun { module star { module util {
+
+
+/** specifies the properties which can be used to describe
+ a sort order applied to an XSortable.
+
+ @see XSortable
+
+ @deprecated
+ */
+published service SortDescriptor
+{
+ interface com::sun::star::beans::XPropertySet;
+
+ /** specifies if the case of letters is important when comparing entries.
+ */
+ [property] boolean IsCaseSensitive;
+
+ /** specifies the sorting order.
+
+ The sorting order may be defined for separate keys in specific
+ implementations. For those this property may not need to be set.
+
+ @see com::sun::star::text::TextSortDescriptor
+ */
+ [optional, property] boolean SortAscending;
+
+ /** specifies if the columns are sorted.
+
+ <dl>
+ <dt>
+ `TRUE`
+ </dt>
+ <dd>The columns are sorted.
+
+ </dd>
+ <dt>
+ `FALSE`
+ </dt>
+ <dd>The rows are sorted.
+ </dd>
+ </dl>
+ */
+ [property] boolean SortColumns;
+
+ /** specifies the locale for the compare operator (collator).
+ */
+ [property] com::sun::star::lang::Locale CollatorLocale;
+
+ /** specifies the algorithm for the compare operator (collator).
+
+ The collator algorithm may be defined for separate keys in specific
+ implementations. For those this property may not need to be set.
+
+ @see com::sun::star::text::TextSortDescriptor
+
+ @see com::sun::star::i18n::XCollator
+ */
+ [optional, property] string CollatorAlgorithm;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/SortDescriptor2.idl b/offapi/com/sun/star/util/SortDescriptor2.idl
new file mode 100644
index 000000000..b3129b11d
--- /dev/null
+++ b/offapi/com/sun/star/util/SortDescriptor2.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_util_SortDescriptor2_idl__
+#define __com_sun_star_util_SortDescriptor2_idl__
+
+
+
+module com { module sun { module star { module util {
+
+
+/** gives access to the properties of a sort descriptor. The properties are
+ given in a sequence of PropertyValue.
+
+ <p>The available properties are listed in the specific sort
+ descriptor implementing this service.</p>
+
+ @see XSortable
+ @see com::sun::star::table::TableSortDescriptor2
+ @see com::sun::star::text::TextSortDescriptor2
+
+ @since OOo 1.1.2
+ */
+published service SortDescriptor2
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/SortField.idl b/offapi/com/sun/star/util/SortField.idl
new file mode 100644
index 000000000..9efc514f6
--- /dev/null
+++ b/offapi/com/sun/star/util/SortField.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_util_SortField_idl__
+#define __com_sun_star_util_SortField_idl__
+
+#include <com/sun/star/util/SortFieldType.idl>
+
+
+
+module com { module sun { module star { module util {
+
+/** describes a single field in a sort descriptor.
+
+ @deprecated
+ */
+published struct SortField
+{
+ /** index of the field in the table; 0-based.
+ */
+ long Field;
+
+ /** `TRUE` if data are sorted in ascending order,
+ `FALSE` if in descending order.
+ */
+ boolean SortAscending;
+
+ /** type of contents in the field.
+ */
+ com::sun::star::util::SortFieldType FieldType;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/SortFieldType.idl b/offapi/com/sun/star/util/SortFieldType.idl
new file mode 100644
index 000000000..b9db01e67
--- /dev/null
+++ b/offapi/com/sun/star/util/SortFieldType.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_util_SortFieldType_idl__
+#define __com_sun_star_util_SortFieldType_idl__
+
+
+
+module com { module sun { module star { module util {
+
+
+/** enumeration used to specify the type of contents in a sort field.
+
+ @deprecated
+ */
+published enum SortFieldType
+{
+ /** type is determined automatically.
+ */
+ AUTOMATIC,
+
+ /** sort field contains numerical data.
+ */
+ NUMERIC,
+
+ /** sort field contains text data.
+ */
+ ALPHANUMERIC
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/Sortable.idl b/offapi/com/sun/star/util/Sortable.idl
new file mode 100644
index 000000000..d553810e6
--- /dev/null
+++ b/offapi/com/sun/star/util/Sortable.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_util_Sortable_idl__
+#define __com_sun_star_util_Sortable_idl__
+
+#include <com/sun/star/util/SortDescriptor.idl>
+#include <com/sun/star/util/XSortable.idl>
+
+
+
+module com { module sun { module star { module util {
+
+
+/** provides an interface for sorting.
+
+ @deprecated
+
+ @since OOo 1.1.2
+
+ */
+published service Sortable
+{
+ /** the properties returned by a call to the "createSortDescriptor" method
+ of this interfaces implementation are those of the
+ "com.sun.star.util.SortDescriptor" service.
+
+ @see com::sun::star::util::SortDescriptor
+ */
+ interface com::sun::star::util::XSortable;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/TextSearch.idl b/offapi/com/sun/star/util/TextSearch.idl
new file mode 100644
index 000000000..2932af6bb
--- /dev/null
+++ b/offapi/com/sun/star/util/TextSearch.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_TextSearch_idl__
+#define __com_sun_star_util_TextSearch_idl__
+
+#include <com/sun/star/util/XTextSearch.idl>
+
+
+module com { module sun { module star { module util {
+
+
+/** search a string with a defined algorithm in another string.
+
+ <p>It is possible to search forward or backward in the string.
+*/
+published service TextSearch : XTextSearch;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/TextSearch2.idl b/offapi/com/sun/star/util/TextSearch2.idl
new file mode 100644
index 000000000..6f447bc89
--- /dev/null
+++ b/offapi/com/sun/star/util/TextSearch2.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_TextSearch2_idl__
+#define __com_sun_star_util_TextSearch2_idl__
+
+#include <com/sun/star/util/XTextSearch2.idl>
+
+
+module com { module sun { module star { module util {
+
+
+/** search a string with a defined algorithm in another string.
+
+ <p>It is possible to search forward or backward in the string.
+*/
+service TextSearch2 : XTextSearch2;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/Time.idl b/offapi/com/sun/star/util/Time.idl
new file mode 100644
index 000000000..5bf0b9d57
--- /dev/null
+++ b/offapi/com/sun/star/util/Time.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_util_Time_idl__
+#define __com_sun_star_util_Time_idl__
+
+
+module com { module sun { module star { module util {
+
+
+/** represents a time value.
+ */
+published struct Time
+{
+ /** contains the nanoseconds (0 - 999 999 999).
+ */
+ unsigned long NanoSeconds;
+
+ /** contains the seconds (0-59).
+ */
+ unsigned short Seconds;
+
+ /** contains the minutes (0-59).
+ */
+ unsigned short Minutes;
+
+ /** contains the hour (0-23).
+ */
+ unsigned short Hours;
+
+ /** true: time zone is UTC false: unknown time zone.
+
+ @since LibreOffice 4.1
+ */
+ boolean IsUTC;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/TimeWithTimezone.idl b/offapi/com/sun/star/util/TimeWithTimezone.idl
new file mode 100644
index 000000000..70442ec0a
--- /dev/null
+++ b/offapi/com/sun/star/util/TimeWithTimezone.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_util_TimeTZ_idl__
+#define __com_sun_star_util_TimeTZ_idl__
+
+#include <com/sun/star/util/Time.idl>
+
+
+module com { module sun { module star { module util {
+
+/** represents a combined time value with time zone.
+
+ @since LibreOffice 4.1
+ */
+struct TimeWithTimezone
+{
+ /** the time (in TimeZone)
+ */
+ Time TimeInTZ;
+
+ /** contains the time zone, as signed offset in minutes *from* UTC,
+ that is *east* of UTC, that is the amount of minutes that should
+ be added to UTC time to obtain the time in that timezone.
+
+ To obtain UTC time from TimeInTZ, you need to *subtract* TimeZone
+ minutes.
+ */
+ short Timezone;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
+
diff --git a/offapi/com/sun/star/util/TriState.idl b/offapi/com/sun/star/util/TriState.idl
new file mode 100644
index 000000000..e2b9138b5
--- /dev/null
+++ b/offapi/com/sun/star/util/TriState.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_util_TriState_idl__
+#define __com_sun_star_util_TriState_idl__
+
+
+
+module com { module sun { module star { module util {
+
+
+/** This enumeration represents a tristate value.<p>
+
+ This enumeration defines three values, `TRUE`, `FALSE` and a don't know
+ value.<p>
+ */
+enum TriState
+{
+ /** The value is equivalent to `FALSE`.
+ */
+ NO,
+
+
+ /** The value is equivalent to `TRUE`.
+ */
+ YES,
+
+
+ /** The value is indeterminate.
+ */
+ INDETERMINATE
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/URL.idl b/offapi/com/sun/star/util/URL.idl
new file mode 100644
index 000000000..45acd86d3
--- /dev/null
+++ b/offapi/com/sun/star/util/URL.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_util_URL_idl__
+#define __com_sun_star_util_URL_idl__
+
+
+
+module com { module sun { module star { module util {
+
+
+/** represents the structure of a Uniform Resource Locator.
+
+ <p>
+ If the structure represents a valid URL or not depends on prior usage of
+ the functions of XURLTransformer. Only after one of the functions
+ returned `TRUE` this can be assumed.<br>
+ It is not necessary to set all of the fields; either URL::Complete
+ or (some of) the others are set. Additionally, most of the other
+ fields, like URL::Host, URL::Port,
+ URL::User, URL::Password,
+ or URL::Mark, are optional.
+
+ @see XURLTransformer
+
+ </p>
+ */
+published struct URL
+{
+ /** contains the string representation of the complete URL, for example,
+ http://www.sun.de:8080/pub/test/foo.txt?a=b#xyz
+
+ <p>
+ It is used as a central input/output or input parameter for the interfaces of
+ XURLTransformer. The usage of one of the XURLTransformer
+ function is mandatory to validate the URL. It cannot be assumed that
+ URL::Complete represents always a valid URL!
+ </p>
+ */
+ string Complete;
+
+ /** contains the URL without a mark and without arguments, for example,
+ http://www.sun.de:8080/pub/test/foo.txt
+ */
+ string Main;
+
+ /** contains the protocol (scheme) of the URL, for example, "http"
+ */
+ string Protocol;
+
+ /** contains the user-identifier of the URL, for example, "me"
+ */
+ string User;
+
+ /** contains the users password of the URL, for example, "pass"
+ */
+ string Password;
+
+ /** contains the server part of the URL, for example, "www.sun.de"
+ */
+ string Server;
+
+ /** contains the port at the server of the URL, for example, "8080"
+ */
+ short Port;
+
+ /** contains all segments but the last one of the hierarchical path of the URL, for example, "/pub/test/"
+ */
+ string Path;
+
+ /** contains the last segment of the hierarchical path of the URL, for the above example, "foo.txt"
+ <p>
+ <strong>Attention:</strong>A service implementing the XURLTransformer interface
+ will normally not detect if the last segment is a folder or a file. So it is possible that
+ the last segment describes a folder. If you want to be sure that a file URL that references
+ a folder will be correctly put into the URL fields you should append a "/" at the end of the
+ hierarchical path.
+ </p>
+ */
+ string Name;
+
+ /** contains the arguments part of the URL, for example, "a=b"
+ */
+ string Arguments;
+
+ /** contains the mark part of the URL, for example, "xyz"
+ */
+ string Mark;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/URLTransformer.idl b/offapi/com/sun/star/util/URLTransformer.idl
new file mode 100644
index 000000000..1f6f138ba
--- /dev/null
+++ b/offapi/com/sun/star/util/URLTransformer.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_URLTransformer_idl__
+#define __com_sun_star_util_URLTransformer_idl__
+
+#include <com/sun/star/util/XURLTransformer.idl>
+
+
+
+module com { module sun { module star { module util {
+
+
+/** helps to split up a string containing a URL into its
+ structural parts and assembles the parts into a single string.
+ */
+published service URLTransformer : XURLTransformer;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/UriAbbreviation.idl b/offapi/com/sun/star/util/UriAbbreviation.idl
new file mode 100644
index 000000000..e96d4b6ec
--- /dev/null
+++ b/offapi/com/sun/star/util/UriAbbreviation.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_util_UriAbbreviation_idl__
+#define __com_sun_star_util_UriAbbreviation_idl__
+
+#include <com/sun/star/util/XStringAbbreviation.idl>
+
+module com { module sun { module star { module util {
+
+/** Abbreviate arbitrary URIs.
+
+ <p>An abbreviation implementation that is specialized to URIs.</p>
+
+ @see XStringAbbreviation
+ */
+service UriAbbreviation: XStringAbbreviation;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/VetoException.idl b/offapi/com/sun/star/util/VetoException.idl
new file mode 100644
index 000000000..ba3102c82
--- /dev/null
+++ b/offapi/com/sun/star/util/VetoException.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_util_VetoException_idl__
+#define __com_sun_star_util_VetoException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+module com { module sun { module star { module util {
+
+
+/** thrown to indicate a general veto.
+
+ @since OOo 1.1.2
+*/
+published exception VetoException : com::sun::star::uno::Exception
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XAccounting.idl b/offapi/com/sun/star/util/XAccounting.idl
new file mode 100644
index 000000000..545a16ad5
--- /dev/null
+++ b/offapi/com/sun/star/util/XAccounting.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_util_XAccounting_idl__
+#define __com_sun_star_util_XAccounting_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module util {
+
+/** allows estimating the memory usage of a service.
+
+ @since LibreOffice 5.3
+ */
+interface XAccounting : com::sun::star::uno::XInterface
+{
+
+ /** @returns an estimate of the current memory usage, in octets.
+ */
+ hyper estimateUsage();
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/offapi/com/sun/star/util/XAtomServer.idl b/offapi/com/sun/star/util/XAtomServer.idl
new file mode 100644
index 000000000..6682dffb3
--- /dev/null
+++ b/offapi/com/sun/star/util/XAtomServer.idl
@@ -0,0 +1,130 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_XAtomServer_idl__
+#define __com_sun_star_util_XAtomServer_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/util/AtomDescription.idl>
+#include <com/sun/star/util/AtomClassRequest.idl>
+
+
+module com
+{
+module sun
+{
+module star
+{
+module util
+{
+
+/** an interface to map between <i>string</i>s and <i>id</i>s
+
+ <p>a note on atoms:<br>
+ Atoms are abbreviations for strings.
+ When a string gets registered, it is assigned a numeric id
+ so that said string can always be referred to by this id.
+ This way strings have to be transported only once over remote connections.
+ Valid ids are (in this implementation) non zero, signed 32 bit values.
+ An atom of 0 means that the string in question is not registered</p>
+
+ <p>Additionally there is the abstraction of atom class:<br>
+ Atoms are grouped into classes, so that an id can be assigned
+ to multiple strings, depending on the class context. The main
+ advantage of this is that atoms in one class may be kept
+ to small numbers, so that bandwidth can be reduced by sending
+ the atoms only as 16 bit values. Note that it is up to the user in this
+ case to handle overflows.</p>
+*/
+
+published interface XAtomServer : com::sun::star::uno::XInterface
+{
+ /** returns a whole atom class
+
+ @param atomClass
+ which class to return
+
+ @returns
+ the descriptions for all atoms of class <code>atomClass</code>
+ */
+ sequence< AtomDescription > getClass( [in] long atomClass );
+ /** returns multiple atom classes
+
+ @param atomClasses
+ which classes to return
+
+ @returns
+ the descriptions for all atoms of the requested classes
+ */
+ sequence< sequence< AtomDescription > > getClasses( [in] sequence< long > atomClasses );
+ /** returns the strings for an arbitrary amount of atoms of multiple classes
+
+ @param atoms
+ describes which strings to return
+
+ @returns
+ the strings for the requested atoms
+ */
+ sequence< string > getAtomDescriptions( [in] sequence< AtomClassRequest > atoms );
+
+ /** returns the atoms that have been registered to a class after an
+ already known atom
+
+ <p>Hint to implementor: using ascending atoms is the easiest way
+ to decide, which atoms are recent.</p>
+
+ @param atomClass
+ the class in question
+
+ @param atom
+ the last known atom
+
+ @returns
+ all atom description that have been added to class
+ <code>atomClass</code> after <code>atom</code>
+ */
+ sequence< AtomDescription > getRecentAtoms( [in] long atomClass, [in] long atom );
+
+ /** registers or searches for a string
+
+ @param atomClass
+ the class of atoms in question
+
+ @param description
+ the string in question
+
+ @param create
+ if true a new atom will be created for an unknown string
+ else the invalid atom (0) will be returned for an unknown string
+
+ @returns
+ the atom for the string <code>description</code>
+ */
+ long getAtom( [in] long atomClass, [in] string description, [in] boolean create );
+};
+
+
+}; // module util
+}; // module star
+}; // module sun
+}; // module com
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XBinaryDataContainer.idl b/offapi/com/sun/star/util/XBinaryDataContainer.idl
new file mode 100644
index 000000000..b58bca00d
--- /dev/null
+++ b/offapi/com/sun/star/util/XBinaryDataContainer.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_util_XBinaryDataContainer_idl
+#define com_sun_star_util_XBinaryDataContainer_idl
+
+module com { module sun { module star { module util
+{
+
+/** Container for binary data, typically an in-memory content of files.
+
+ The binary data in the container is regarded as read-only so no
+ access that would allow changing the data is allowed in this
+ interface.
+
+ @since LibreOffice 7.2
+ */
+interface XBinaryDataContainer
+{
+ /** Get a copy of the contained data */
+ sequence<byte> getCopyAsByteSequence();
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XBroadcaster.idl b/offapi/com/sun/star/util/XBroadcaster.idl
new file mode 100644
index 000000000..f0a4fd250
--- /dev/null
+++ b/offapi/com/sun/star/util/XBroadcaster.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_util_XBroadcaster_idl__
+#define __com_sun_star_util_XBroadcaster_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module util {
+
+
+/** allows to control notification behavior of a broadcaster.
+
+ @since OOo 3.0
+ */
+interface XBroadcaster: com::sun::star::uno::XInterface
+{
+ /** suspends broadcasts to the registered listeners.
+
+ <p>
+ The calls to XBroadcaster::lockBroadcasts() and
+ XBroadcaster::unlockBroadcasts() may be
+ nested and even overlapping, but they must be in pairs. While
+ there is at least one lock remaining, no broadcasts are
+ sent to registered listeners.
+ </p>
+ */
+ void lockBroadcasts();
+
+ /** resumes the broadcasts which were suspended by
+ XBroadcaster::lockBroadcasts().
+
+ <p>
+ The calls to XBroadcaster::lockBroadcasts() and
+ XBroadcaster::unlockBroadcasts() may be
+ nested and even overlapping, but they must be in pairs. While
+ there is at least one lock remaining, no broadcasts are
+ sent to registered listeners.
+ </p>
+
+ <p> Pending broadcasts will be sent immediately after the last
+ call to XBroadcaster::lockBroadcasts() is matched
+ by a call to XBroadcaster::unlockBroadcasts().
+ An implementation can decide to broadcast all pending notification in
+ order or batch them in single broadcasts.
+ </p>
+ */
+ void unlockBroadcasts();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XCacheInfo.idl b/offapi/com/sun/star/util/XCacheInfo.idl
new file mode 100644
index 000000000..d7c403974
--- /dev/null
+++ b/offapi/com/sun/star/util/XCacheInfo.idl
@@ -0,0 +1,30 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.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_util_XCacheInfo_idl__
+#define __com_sun_star_util_XCacheInfo_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module util {
+
+/** Interface that allows an implementation to opt out from caching.
+
+ @since LibreOffice 7.4
+ */
+interface XCacheInfo: com::sun::star::uno::XInterface
+{
+ boolean isCachingAllowed();
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/offapi/com/sun/star/util/XCancellable.idl b/offapi/com/sun/star/util/XCancellable.idl
new file mode 100644
index 000000000..1894ac95a
--- /dev/null
+++ b/offapi/com/sun/star/util/XCancellable.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_util_XCancellable_idl__
+#define __com_sun_star_util_XCancellable_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+module com { module sun { module star { module util {
+
+
+/** offers the possibility of canceling a job.
+
+ <p>This is supported by objects which represent a job.
+ */
+published interface XCancellable: com::sun::star::uno::XInterface
+{
+ /** cancels the current job of the object.
+ */
+ void cancel();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XChainable.idl b/offapi/com/sun/star/util/XChainable.idl
new file mode 100644
index 000000000..1a899d2e3
--- /dev/null
+++ b/offapi/com/sun/star/util/XChainable.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_util_XChainable_idl__
+#define __com_sun_star_util_XChainable_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+
+module com { module sun { module star { module util {
+
+
+/** enables the object to be a member of a chain.
+ */
+published interface XChainable: com::sun::star::uno::XInterface
+{
+ /** @returns
+ the previous object in this chain or NULL, if this is the first
+ object of this chain.
+ */
+ com::sun::star::util::XChainable getPredecessor();
+
+ /** @returns
+ the next object in this chain or NULL, if this is the last
+ object in this chain.
+ */
+ com::sun::star::util::XChainable getSuccessor();
+
+ /** connects the specified object to this object as the successor in a chain.
+
+ <p>This implies that this object will become the predecessor of
+ <var>xChainable</var>. </p>
+ */
+ void setSuccessor( [in] com::sun::star::util::XChainable xChainable )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** checks if the specified object can be linked to this.
+ */
+ boolean isChainable( [in] com::sun::star::util::XChainable xChainable );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XChangesBatch.idl b/offapi/com/sun/star/util/XChangesBatch.idl
new file mode 100644
index 000000000..9dbe74c94
--- /dev/null
+++ b/offapi/com/sun/star/util/XChangesBatch.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_util_XChangesBatch_idl__
+#define __com_sun_star_util_XChangesBatch_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/lang/WrappedTargetException.idl>
+
+#include <com/sun/star/util/ChangesSet.idl>
+
+
+
+module com { module sun { module star { module util {
+
+/** this interface enables applying a set of changes in one batch transaction.
+
+ <p>An object implementing this interface allows other interfaces to change
+ its state locally. It will keep a list of pending changes until such changes
+ are committed or canceled. </p>
+
+ <p>Only when they are explicitly committed will these changes take effect
+ persistently or globally. </p>
+
+ @see XChangesNotifier
+ @see XChangesSet
+ @see XCancellable
+ */
+published interface XChangesBatch: com::sun::star::uno::XInterface
+{
+ /** commits any pending changes.
+
+ <p>The exact action depends on the concrete service. </p>
+ */
+ void commitChanges()
+ raises( com::sun::star::lang::WrappedTargetException );
+
+ /** checks whether this object has any pending changes that can be committed.
+ */
+ boolean hasPendingChanges();
+
+ /** queries for any pending changes that can be committed.
+ */
+ ChangesSet getPendingChanges();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XChangesListener.idl b/offapi/com/sun/star/util/XChangesListener.idl
new file mode 100644
index 000000000..8db563589
--- /dev/null
+++ b/offapi/com/sun/star/util/XChangesListener.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_util_XChangesListener_idl__
+#define __com_sun_star_util_XChangesListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+
+#include <com/sun/star/util/ChangesEvent.idl>
+
+
+
+module com { module sun { module star { module util {
+
+
+/** receives events from batch change broadcaster objects.
+
+ @see ChangesEvent
+ @see XChangesNotifier
+ @see XChangesBatch
+ */
+published interface XChangesListener: com::sun::star::lang::XEventListener
+{
+ /** is invoked when a batch of changes occurred.
+ */
+ void changesOccurred( [in] com::sun::star::util::ChangesEvent Event );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XChangesNotifier.idl b/offapi/com/sun/star/util/XChangesNotifier.idl
new file mode 100644
index 000000000..4e9080620
--- /dev/null
+++ b/offapi/com/sun/star/util/XChangesNotifier.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_util_XChangesNotifier_idl__
+#define __com_sun_star_util_XChangesNotifier_idl__
+
+#include <com/sun/star/util/XChangesListener.idl>
+
+
+module com { module sun { module star { module util {
+
+
+/** broadcasts events about multiple changes that occur in bulk.
+
+ @see XChangesListener
+ @see XChangesBatch
+ @see ChangesEvent
+ */
+published interface XChangesNotifier: com::sun::star::uno::XInterface
+{
+ /** adds the specified listener to receive events when changes occurred.
+ */
+ void addChangesListener( [in] com::sun::star::util::XChangesListener aListener );
+
+ /** removes the specified listener.
+ */
+ void removeChangesListener( [in] com::sun::star::util::XChangesListener aListener );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XChangesSet.idl b/offapi/com/sun/star/util/XChangesSet.idl
new file mode 100644
index 000000000..96efc8206
--- /dev/null
+++ b/offapi/com/sun/star/util/XChangesSet.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_util_XChangesSet_idl__
+#define __com_sun_star_util_XChangesSet_idl__
+
+#include <com/sun/star/container/XElementAccess.idl>
+
+#include <com/sun/star/lang/WrappedTargetException.idl>
+
+#include <com/sun/star/util/ElementChange.idl>
+
+
+
+module com { module sun { module star { module util {
+
+/** this interface enables inspecting a set of changes forming one batch transaction.
+
+ <p>An object implementing this interface should implement more
+ container interfaces to access individual changes as well. </p>
+
+ @see XChangesBatch
+ @see ChangesEvent
+ @see XChangesListener
+ @see XChangesNotifier
+ */
+published interface XChangesSet: com::sun::star::container::XElementAccess
+{
+ /** queries for all contained changes at once.
+
+ @returns an array of ElementChange holding information about
+ each changes that is part of this object.
+ */
+ sequence<ElementChange> getAllChanges();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XCloneable.idl b/offapi/com/sun/star/util/XCloneable.idl
new file mode 100644
index 000000000..9abca6c44
--- /dev/null
+++ b/offapi/com/sun/star/util/XCloneable.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_XCloneable_idl__
+#define __com_sun_star_util_XCloneable_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+module com { module sun { module star { module util {
+
+
+/** makes it possible to create a copy of the object which supports this interface.
+ */
+published interface XCloneable: com::sun::star::uno::XInterface
+{
+ /** creates a copy of the object.
+ */
+ com::sun::star::util::XCloneable createClone();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XCloseBroadcaster.idl b/offapi/com/sun/star/util/XCloseBroadcaster.idl
new file mode 100644
index 000000000..50959474f
--- /dev/null
+++ b/offapi/com/sun/star/util/XCloseBroadcaster.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_util_XCloseBroadcaster_idl__
+#define __com_sun_star_util_XCloseBroadcaster_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/util/XCloseListener.idl>
+
+
+ module com { module sun { module star { module util {
+
+/** broadcasts each tried closing of an object to all interest listener
+
+ <p>
+ The called object for closing must post the closing events immediately
+ and before any internal cancel operations will be started.
+ If a listener disagree with that it should throw a CloseVetoException
+ and called function XCloseable::close() must be broken immediately.
+ It's not allowed to catch it inside the close() request.
+ If no listener nor internal processes hinder the object on closing
+ all listeners get a notification about real closing.
+ </p>
+
+ @see
+ */
+published interface XCloseBroadcaster: com::sun::star::uno::XInterface
+{
+ /** adds the specified listener to receive or have a veto for "close" events
+
+ @param Listener
+ the listener which is interest on closing events
+ */
+ void addCloseListener( [in] XCloseListener Listener );
+
+ /** removes the specified listener
+
+ @param Listener
+ the listener which isn't interest on closing events any longer
+ */
+ void removeCloseListener( [in] XCloseListener Listener );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XCloseListener.idl b/offapi/com/sun/star/util/XCloseListener.idl
new file mode 100644
index 000000000..6f3362a9e
--- /dev/null
+++ b/offapi/com/sun/star/util/XCloseListener.idl
@@ -0,0 +1,120 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_XCloseListener_idl__
+#define __com_sun_star_util_XCloseListener_idl__
+
+#include <com/sun/star/util/CloseVetoException.idl>
+#include <com/sun/star/lang/XEventListener.idl>
+#include <com/sun/star/lang/EventObject.idl>
+
+
+ module com { module sun { module star { module util {
+
+/** makes it possible to receive events when an object
+ is called for closing
+
+ <p>
+ Such close events are broadcasted by a XCloseBroadcaster
+ if somewhere tries to close it by calling XCloseable::close().
+ Listener can:
+ <ul>
+ <li>break that by throwing CloseVetoException</li>
+ <li>or accept that by deregister himself at this broadcaster.</li>
+ </ul>
+ </p>
+
+ <p>
+ If an event com::sun::star::lang::XEventListener::disposing()
+ occurred, nobody called XCloseable::close() on listened object before.
+ Then it's not allowed to break this request - it must be accepted!
+ </p>
+
+ @see XCloseable
+ @see XCloseBroadcaster
+ */
+published interface XCloseListener: com::sun::star::lang::XEventListener
+{
+ /** is called when somewhere tries to close listened object
+
+ <p>
+ Is called before XCloseListener::notifyClosing().
+ Listener has the chance to break that by throwing a CloseVetoException.
+ This exception must be passed to the original caller of XCloseable::close()
+ without any interaction.
+ </p>
+
+ <p>
+ The parameter <var>GetsOwnership</var> regulate who has to try to close the listened object
+ again, if this listener disagree with the request by throwing the exception.
+ If it's set to `FALSE` the original caller of XCloseable::close()
+ will be the owner in every case. It's not allowed to call close() from this listener then.
+ If it's set to `TRUE` this listener will be the new owner if he throw the exception,
+ otherwise not! If his still running processes will be finished he must call close() on
+ listened object again then.
+ </p>
+
+ <p>
+ If this listener doesn't disagree with th close request it depends from his internal
+ implementation if he deregister himself at the listened object.
+ But normally this must be done in XCloseListener::notifyClosing().
+ </p>
+
+ @param Source
+ describes the source of the event (must be the listened object)
+
+ @param GetsOwnership
+ `TRUE` pass the ownership to this listener, if he throw the veto exception
+ (otherwise this parameter must be ignored!)
+ <br>
+ `FALSE` forbids to grab the ownership for the listened close object and call
+ close() on that any time.
+
+ @throws CloseVetoException
+ if listener disagree with the close request on listened object he must throw this exception
+ */
+ void queryClosing(
+ [in] com::sun::star::lang::EventObject Source,
+ [in] boolean GetsOwnership )
+ raises( CloseVetoException );
+
+ /** is called when the listened object is closed really
+
+ <p>
+ Now the listened object is closed really. Listener has to accept that;
+ should deregister himself and release all references to it.
+ It's not allowed nor possible to disagree with that by throwing any exception.
+ </p>
+
+ <p>
+ If the event com::sun::star::lang::XEventListener::disposing() occurred before
+ it must be accepted too. There exist no chance for a disagreement any more.
+ </p>
+
+ @param Source
+ describes the source of the event (must be the listened object)
+ */
+ void notifyClosing( [in] com::sun::star::lang::EventObject Source );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XCloseable.idl b/offapi/com/sun/star/util/XCloseable.idl
new file mode 100644
index 000000000..ad39183c8
--- /dev/null
+++ b/offapi/com/sun/star/util/XCloseable.idl
@@ -0,0 +1,120 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_XCloseable_idl__
+#define __com_sun_star_util_XCloseable_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/util/XCloseBroadcaster.idl>
+
+
+module com { module sun { module star { module util {
+
+/** makes it possible to release any objects in an ordered manner by using
+ a two-step mechanism
+
+ <p>
+ If an object should be terminated, it can be:<br>
+ <ul>
+ <li>disposed (if it supports com::sun::star::lang::XComponent::dispose())</li>
+ <li>closed (if it supports XCloseable::close())</li>
+ </ul>
+ First version gives the object no chance to disagree with that (e.g. if a
+ process is still running and can't be canceled really). Last version
+ provides this possibility, but can't guarantee real termination of called object.
+ It depends from the environment of an object, if one or both mechanism are necessary.
+ </p>
+
+ <p>
+ Base interface XCloseBroadcaster makes it possible that any listener
+ which is interested on life time of listened object ...
+ <ul>
+ <li>can get a notification about closing of it</li>
+ <li>or can have a veto to break that.</li>
+ </ul>
+ </p>
+
+ @see com::sun::star::lang::XComponent::dispose()
+ @see XCloseBroadcaster
+ @see XCloseListener
+ */
+published interface XCloseable: XCloseBroadcaster
+{
+ /** try to close the object
+
+ <p>
+ Must definitely be called before com::sun::star::lang::XComponent::dispose().
+ But nobody can guarantee real closing of called object - because it can disagree with that if any
+ still running processes can't be canceled yet. It's not allowed to block this call till internal
+ operations will be finished here. They must be canceled or call must return immediately by throwing
+ the CloseVetoException. Otherwise (if nothing exist to disagree) it must return normally.
+ </p>
+
+ <p>
+ Before any internal processes will be canceled, all registered XCloseListener
+ must be notified. Any of them can disagree with a CloseVetoException too.
+ It's forbidden to catch this exception inside the called close() method because the caller must
+ get this information!
+ </p>
+
+ <p>
+ If somewhere disagree with a CloseVetoException it will not clear who has to close the object again
+ after still running processes was finished. The parameter <var>DeliverOwnership</var> regulate that.
+ If it is set to `FALSE` the caller of the method close() will be the owner of this object in every case.
+ Then it's not allowed to call close() from any other place (may a registered XCloseListener).
+ If it is set to `TRUE` the caller gives up his ownership. If a XCloseListener throw the veto exception
+ he will be the new owner of the closing object. This information is passed to the listener by a parameter of
+ his notification method XCloseListener::queryClosing(). After his operations was finished
+ he MUST try to close it again. If the closing object itself disagree by an exception and the parameter
+ <var>DeliverOwnership</var> was set to `TRUE` the object will be his own owner with all consequences of that.
+ <br><strong>Note:</strong><br>
+ There is no way to get the ownership back if it was delivered!
+ </p>
+
+ <p>
+ If this method was already called on an object it should return without any reaction. Normally it's possible to throw
+ a com::sun::star::lang::DisposedException for already disposed or closed objects
+ (which represent a com::sun::star::uno::RuntimeException and can be thrown by every interface call),
+ but it shouldn't be used here. The veto exception should be the only way to indicates the result.
+ </p>
+
+ @param DeliverOwnership
+ `TRUE` delegates the ownership of this closing object to anyone which throw the CloseVetoException.
+ This new owner has to close the closing object again if his still running processes will be finished.
+ <br>
+ `FALSE` let the ownership at the original one which called the close() method. He must react for possible
+ CloseVetoExceptions and try it again at a later time. This can be useful for a generic UI handling.
+
+ @throws CloseVetoException
+ indicates that the closing object himself or any of his currently registered listener disagree with this close() request.
+
+ @see XCloseListener
+ @see CloseVetoException
+ @see com::sun::star::lang::XComponent::dispose()
+ @see com::sun::star::lang::DisposedException
+ */
+ void close( [in] boolean DeliverOwnership )
+ raises( CloseVetoException );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XDataEditor.idl b/offapi/com/sun/star/util/XDataEditor.idl
new file mode 100644
index 000000000..09fa8397b
--- /dev/null
+++ b/offapi/com/sun/star/util/XDataEditor.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_util_XDataEditor_idl__
+#define __com_sun_star_util_XDataEditor_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/util/XDataEditorListener.idl>
+
+
+module com { module sun { module star { module util {
+
+/** connects to a model and broadcasts status change events.
+ */
+published interface XDataEditor: com::sun::star::uno::XInterface
+{
+ /** makes the data editor visible to the user.
+ */
+ void show();
+
+ /** connects the data editor to a data model.
+ */
+ void setModel( [in] com::sun::star::uno::XInterface model );
+
+ /** @returns
+ the data model which was set by XDataEditor::setModel().
+ */
+ com::sun::star::uno::XInterface getModel();
+
+ /** registers a listener to receive `DataEditorEvent`s.
+ */
+ void addDataEditorListener( [in] XDataEditorListener listener );
+
+ /** unregisters a listener.
+ */
+ void removeDataEditorListener( [in] XDataEditorListener listener );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XDataEditorListener.idl b/offapi/com/sun/star/util/XDataEditorListener.idl
new file mode 100644
index 000000000..019800bfe
--- /dev/null
+++ b/offapi/com/sun/star/util/XDataEditorListener.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_XDataEditorListener_idl__
+#define __com_sun_star_util_XDataEditorListener_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/util/DataEditorEvent.idl>
+
+
+module com { module sun { module star { module util {
+
+/** makes it possible to receive status change events from an
+ XDataEditor.
+ */
+published interface XDataEditorListener: com::sun::star::uno::XInterface
+{
+ /** is called when the state of a connected XDataEditor changes.
+ */
+ void updateDataEditorState( [in] DataEditorEvent event );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XFlushListener.idl b/offapi/com/sun/star/util/XFlushListener.idl
new file mode 100644
index 000000000..9259f52eb
--- /dev/null
+++ b/offapi/com/sun/star/util/XFlushListener.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_util_XFlushListener_idl__
+#define __com_sun_star_util_XFlushListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+
+#include <com/sun/star/lang/EventObject.idl>
+
+
+
+module com { module sun { module star { module util {
+
+
+/** makes it possible to receive <em>flushed</em> events.
+ */
+published interface XFlushListener: com::sun::star::lang::XEventListener
+{
+ /** is called when the object data is flushed.
+ */
+ void flushed( [in] com::sun::star::lang::EventObject rEvent );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XFlushable.idl b/offapi/com/sun/star/util/XFlushable.idl
new file mode 100644
index 000000000..d7f8e5ab2
--- /dev/null
+++ b/offapi/com/sun/star/util/XFlushable.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_util_XFlushable_idl__
+#define __com_sun_star_util_XFlushable_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/util/XFlushListener.idl>
+
+
+
+module com { module sun { module star { module util {
+
+
+/** is supported by objects with data that can be flushed to a data source.
+ */
+published interface XFlushable: com::sun::star::uno::XInterface
+{
+ /** flushes the data of the object to the connected data source.
+ */
+ void flush();
+
+ /** adds the specified listener to receive event "flushed."
+ */
+ void addFlushListener( [in] com::sun::star::util::XFlushListener l );
+
+ /** removes the specified listener.
+ */
+ void removeFlushListener( [in] com::sun::star::util::XFlushListener l );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XImportable.idl b/offapi/com/sun/star/util/XImportable.idl
new file mode 100644
index 000000000..6fa6b4ee7
--- /dev/null
+++ b/offapi/com/sun/star/util/XImportable.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_util_XImportable_idl__
+#define __com_sun_star_util_XImportable_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/beans/PropertyValue.idl>
+
+
+
+ module com { module sun { module star { module util {
+
+/** makes it possible to import files into the object.
+ */
+published interface XImportable: com::sun::star::uno::XInterface
+{
+ /** @returns
+ a descriptor which contains the arguments for an import.
+ */
+ sequence<com::sun::star::beans::PropertyValue> createImportDescriptor( [in] boolean bEmpty );
+
+ /** imports data from an external database.
+ */
+ void doImport( [in] sequence<com::sun::star::beans::PropertyValue> aDescriptor );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XIndent.idl b/offapi/com/sun/star/util/XIndent.idl
new file mode 100644
index 000000000..f7557b1ef
--- /dev/null
+++ b/offapi/com/sun/star/util/XIndent.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_util_XIndent_idl__
+#define __com_sun_star_util_XIndent_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+ module com { module sun { module star { module util {
+
+/** allows indentation of the object to be changed.
+ */
+published interface XIndent: com::sun::star::uno::XInterface
+{
+ /** shifts the indentation by one default step to the left.
+ */
+ void decrementIndent();
+
+ /** shifts the indentation by one default step to the right.
+ */
+ void incrementIndent();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XJobManager.idl b/offapi/com/sun/star/util/XJobManager.idl
new file mode 100644
index 000000000..77dbc2ee4
--- /dev/null
+++ b/offapi/com/sun/star/util/XJobManager.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_util_XJobManager_idl__
+#define __com_sun_star_util_XJobManager_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/util/XCancellable.idl>
+
+module com { module sun { module star { module util {
+
+/** Manage cancelable jobs.
+
+ */
+published interface XJobManager: com::sun::star::uno::XInterface
+{
+ /** registers a cancelable job.
+ */
+ void registerJob( [in] com::sun::star::util::XCancellable Job );
+
+ /** deregisters a cancelable jobs.
+ */
+ void releaseJob( [in] com::sun::star::util::XCancellable Job );
+
+ /** cancel all registered jobs.
+ */
+ void cancelAllJobs();
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XLinkUpdate.idl b/offapi/com/sun/star/util/XLinkUpdate.idl
new file mode 100644
index 000000000..71aa943cc
--- /dev/null
+++ b/offapi/com/sun/star/util/XLinkUpdate.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_util_XLinkUpdate_idl__
+#define __com_sun_star_util_XLinkUpdate_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+module com { module sun { module star { module util {
+
+
+/** allows initiating an update of linked parts of a document.
+
+ */
+published interface XLinkUpdate: com::sun::star::uno::XInterface
+{
+ /** initiates the reloading of all linked document content like linked graphics,
+ linked text sections.
+ */
+ void updateLinks();
+};
+
+
+}; }; }; };
+
+#endif
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XLocalizedAliases.idl b/offapi/com/sun/star/util/XLocalizedAliases.idl
new file mode 100644
index 000000000..244c9b264
--- /dev/null
+++ b/offapi/com/sun/star/util/XLocalizedAliases.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_util_XLocalizedAliases_idl__
+#define __com_sun_star_util_XLocalizedAliases_idl__
+
+#include <com/sun/star/lang/Locale.idl>
+
+#include <com/sun/star/container/NoSuchElementException.idl>
+
+#include <com/sun/star/container/ElementExistException.idl>
+
+#include <com/sun/star/util/AliasProgrammaticPair.idl>
+
+module com { module sun { module star { module util {
+
+
+/** is the interface for binding programmatic names to aliases. Aliases
+ can be provided in several locales for the same programmatic name.
+ */
+published interface XLocalizedAliases: com::sun::star::uno::XInterface
+{
+
+ /** registers an alias for a programmatic name.
+ */
+ void bindAlias([in]string programmaticName,
+ [in]com::sun::star::lang::Locale locale,
+ [in]string alias)
+ raises (com::sun::star::container::ElementExistException);
+ /** revokes an alias for a programmatic name.
+ */
+ void unbindAlias([in]com::sun::star::lang::Locale locale,
+ [in]string alias)
+ raises (com::sun::star::container::NoSuchElementException);
+ /** retrieves a registered programmatic name identified by an alias.
+ */
+ string lookupAlias([in]com::sun::star::lang::Locale locale,
+ [in]string Alias)
+ raises (com::sun::star::container::NoSuchElementException);
+ /** retrieves a given alias for a programmatic name.
+ */
+ string lookupProgrammatic([in]com::sun::star::lang::Locale locale,
+ [in]string programmatic)
+ raises (com::sun::star::container::NoSuchElementException);
+ /** removes all aliases for a programmatic name.
+ */
+ void unbindAliases([in]string programmaticName)
+ raises (com::sun::star::container::NoSuchElementException);
+ /** rebinds all aliases registered to a given URL to a new one.
+ */
+ void rebindAliases([in]string currentProgrammatic,
+ [in]string newProgrammatic)
+ raises (com::sun::star::container::NoSuchElementException,
+ com::sun::star::container::ElementExistException);
+ /** renames an alias for a programmatic name.
+ */
+ void renameAlias([in]com::sun::star::lang::Locale locale,
+ [in]string oldName,
+ [in]string aNewName)
+ raises (com::sun::star::container::NoSuchElementException,
+ com::sun::star::container::ElementExistException);
+ /** retrieves a list of all registered aliases for a certain language.
+
+ @param locale
+ specifies the locale scope.
+
+ @returns
+ a sequence of registered pair of alias and programmatic name.
+ */
+ sequence<AliasProgrammaticPair> listAliases([in]com::sun::star::lang::Locale locale);
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XLockable.idl b/offapi/com/sun/star/util/XLockable.idl
new file mode 100644
index 000000000..07165fd3f
--- /dev/null
+++ b/offapi/com/sun/star/util/XLockable.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_util_XLockable_idl__
+#define __com_sun_star_util_XLockable_idl__
+
+#include <com/sun/star/util/NotLockedException.idl>
+
+
+module com { module sun { module star { module util {
+
+
+/** allows locking a component
+
+ <p><code>lock</code> and <code>unlock</code> calls can be nested. However, they must be in
+ pairs. As long as there has been one more call to <code>lock</code> than to <code>unlock</code>, the
+ component is considered locked, which is reflected by isLocked() returning `TRUE`.</p>
+ */
+interface XLockable
+{
+ /** locks</a> the component
+
+ @see unlock
+ @see isLocked
+ */
+ void lock();
+
+ /** unlocks the component
+
+ @throws NotLockedException
+ if the component is not currently locked.
+
+ @see lock
+ @see isLocked
+ */
+ void unlock()
+ raises ( NotLockedException
+ );
+
+ /** determines whether the component is currently locked.
+
+ @see lock
+ @see unlock
+ */
+ boolean isLocked();
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XMergeable.idl b/offapi/com/sun/star/util/XMergeable.idl
new file mode 100644
index 000000000..3a099c445
--- /dev/null
+++ b/offapi/com/sun/star/util/XMergeable.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_util_XMergeable_idl__
+#define __com_sun_star_util_XMergeable_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+module com { module sun { module star { module util {
+
+
+/** represents a range of cells that can be merged.
+ */
+published interface XMergeable: com::sun::star::uno::XInterface
+{
+ /** merges/unmerges the area specified by this object.
+ */
+ void merge( [in] boolean bMerge );
+
+ /** @returns
+ `TRUE` if the area specified by this object is merged,
+ or `FALSE` otherwise.
+ */
+ boolean getIsMerged();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XModeChangeApproveListener.idl b/offapi/com/sun/star/util/XModeChangeApproveListener.idl
new file mode 100644
index 000000000..dc1cec631
--- /dev/null
+++ b/offapi/com/sun/star/util/XModeChangeApproveListener.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_util_XModeChangeApproveListener_idl__
+#define __com_sun_star_util_XModeChangeApproveListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+#include <com/sun/star/util/ModeChangeEvent.idl>
+#include <com/sun/star/util/VetoException.idl>
+
+
+module com { module sun { module star { module util {
+
+
+/** allows to veto changes in an object's internal mode.
+
+ @see XModeChangeBroadcaster
+
+ @since OOo 1.1.2
+*/
+published interface XModeChangeApproveListener : com::sun::star::lang::XEventListener
+{
+ /** indicates that the mode of the broadcasting component is about to change.
+
+ <p>The ModeChangeEvent::NewMode indicates the new mode which
+ is to be set on the component</p>
+
+ @throws VetoException
+ when the mode change is vetoed
+ */
+ void approveModeChange( [in] ModeChangeEvent rSource )
+ raises ( VetoException );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XModeChangeBroadcaster.idl b/offapi/com/sun/star/util/XModeChangeBroadcaster.idl
new file mode 100644
index 000000000..3cb0cefef
--- /dev/null
+++ b/offapi/com/sun/star/util/XModeChangeBroadcaster.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_util_XModeChangeBroadcaster_idl__
+#define __com_sun_star_util_XModeChangeBroadcaster_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/NoSupportException.idl>
+#include <com/sun/star/util/XModeChangeListener.idl>
+#include <com/sun/star/util/XModeChangeApproveListener.idl>
+
+
+module com { module sun { module star { module util {
+
+
+/** broadcasts changes in an object's internal mode.
+
+ @see XModeSelector
+ @see XModeChangeListener
+ @see XModeChangeApproveListener
+
+ @since OOo 1.1.2
+*/
+published interface XModeChangeBroadcaster : com::sun::star::uno::XInterface
+{
+ /** adds the given listener to the list of components to be notified when the mode
+ changes.
+ */
+ void addModeChangeListener( [in] XModeChangeListener rxListener );
+
+ /** removes the given listener from the list of components to be notified when the mode
+ changes.
+ */
+ void removeModeChangeListener( [in] XModeChangeListener rxListener );
+
+ /** adds the given listener to the list of components to be notified when the mode
+ is about to change.
+
+ @throws com::sun::star::lang::NoSupportException
+ if the component does not allow vetoing mode changes
+ */
+ void addModeChangeApproveListener( [in] XModeChangeApproveListener rxListener )
+ raises( com::sun::star::lang::NoSupportException );
+
+ /** remove the given listener from the list of components to be notified when the mode
+ is about to change.
+
+ @throws com::sun::star::lang::NoSupportException
+ if the component does not allow vetoing mode changes
+ */
+ void removeModeChangeApproveListener( [in] XModeChangeApproveListener rxListener )
+ raises( com::sun::star::lang::NoSupportException );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XModeChangeListener.idl b/offapi/com/sun/star/util/XModeChangeListener.idl
new file mode 100644
index 000000000..634a2198e
--- /dev/null
+++ b/offapi/com/sun/star/util/XModeChangeListener.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_util_XModeChangeListener_idl__
+#define __com_sun_star_util_XModeChangeListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+
+#include <com/sun/star/util/ModeChangeEvent.idl>
+
+
+module com { module sun { module star { module util {
+
+
+/** allows to listen for changes in an object's internal mode.
+
+ @see XModeChangeBroadcaster
+
+ @since OOo 1.1.2
+*/
+published interface XModeChangeListener : com::sun::star::lang::XEventListener
+{
+ /** indicates that the mode of the broadcasting component has changed.
+ */
+ void modeChanged( [in] ModeChangeEvent rSource );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XModeSelector.idl b/offapi/com/sun/star/util/XModeSelector.idl
new file mode 100644
index 000000000..c679d24c9
--- /dev/null
+++ b/offapi/com/sun/star/util/XModeSelector.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_util_XModeSelector_idl__
+#define __com_sun_star_util_XModeSelector_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/lang/NoSupportException.idl>
+
+
+
+module com { module sun { module star { module util {
+
+
+/** is supported by objects which supply different modes.
+ */
+published interface XModeSelector: com::sun::star::uno::XInterface
+{
+ /** sets a new mode for the implementing object.
+ */
+ void setMode( [in] string aMode )
+ raises( com::sun::star::lang::NoSupportException );
+
+ /** @returns
+ the current mode.
+ */
+ string getMode();
+
+ /** @returns
+ a sequence of all supported modes.
+ */
+ sequence<string> getSupportedModes();
+
+ /** asks whether a mode is supported or not.
+ */
+ boolean supportsMode( [in] string aMode );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XModifiable.idl b/offapi/com/sun/star/util/XModifiable.idl
new file mode 100644
index 000000000..372fbf506
--- /dev/null
+++ b/offapi/com/sun/star/util/XModifiable.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_util_XModifiable_idl__
+#define __com_sun_star_util_XModifiable_idl__
+
+#include <com/sun/star/util/XModifyBroadcaster.idl>
+
+#include <com/sun/star/beans/PropertyVetoException.idl>
+
+
+
+module com { module sun { module star { module util {
+
+
+/** makes the modify state of the object accessible.
+
+ <p>Additionally, it makes it possible to register listener objects, which
+ get notification whenever the status or content of the object changes. </p>
+ */
+published interface XModifiable: com::sun::star::util::XModifyBroadcaster
+{
+ /** @returns
+ `TRUE` if the object is modified.
+
+ <p>The modification is always in relation to a certain state
+ (i.e., the initial, loaded, or last stored version).
+ */
+ boolean isModified();
+
+ /** sets the status of the <em>modified</em>-flag from outside of the
+ object.
+ */
+ void setModified( [in] boolean bModified )
+ raises( com::sun::star::beans::PropertyVetoException );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XModifiable2.idl b/offapi/com/sun/star/util/XModifiable2.idl
new file mode 100644
index 000000000..895c974ae
--- /dev/null
+++ b/offapi/com/sun/star/util/XModifiable2.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_util_XModifiable2_idl__
+#define __com_sun_star_util_XModifiable2_idl__
+
+#include <com/sun/star/util/XModifiable.idl>
+
+#include <com/sun/star/beans/PropertyVetoException.idl>
+
+
+
+module com { module sun { module star { module util {
+
+
+/** allows to control modifiable state change.
+
+ <p>
+ This interface allows to prevent changing of the modified state of the
+ object. It is introduced for performance optimizations, to allow to prevent
+ unnecessary updates, for example while importing a document.
+ Please use this interface very carefully.
+ </p>
+ */
+interface XModifiable2: com::sun::star::util::XModifiable
+{
+ /** disable possibility to change modified state of the document
+
+ @returns the value that says whether the modified state change was
+ enabled before the call
+ `TRUE` the changing of the modified state was already disabled
+ `FALSE` the changing of the modified state was enabled
+
+ */
+ boolean disableSetModified();
+
+ /** enable possibility to change modified state of the document
+
+ @returns the value that says whether the modified state change was
+ enabled before the call
+ `TRUE` the changing of the modified state was disabled
+ `FALSE` the changing of the modified state was already enabled
+ */
+ boolean enableSetModified();
+
+ /** allows to detect whether the modified state change is enabled
+ */
+ boolean isSetModifiedEnabled();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XModifyBroadcaster.idl b/offapi/com/sun/star/util/XModifyBroadcaster.idl
new file mode 100644
index 000000000..9d9077725
--- /dev/null
+++ b/offapi/com/sun/star/util/XModifyBroadcaster.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_util_XModifyBroadcaster_idl__
+#define __com_sun_star_util_XModifyBroadcaster_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/util/XModifyListener.idl>
+
+
+
+module com { module sun { module star { module util {
+
+
+/** broadcasts each modification made on the date data of the object which
+ supports this interface.
+
+ <p>The modified object must post the modification events immediately
+ after the modification is performed.</p>
+ */
+published interface XModifyBroadcaster: com::sun::star::uno::XInterface
+{
+ /** adds the specified listener to receive events "modified."
+ */
+ void addModifyListener( [in] com::sun::star::util::XModifyListener aListener );
+
+ /** removes the specified listener.
+ */
+ void removeModifyListener( [in] com::sun::star::util::XModifyListener aListener );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XModifyListener.idl b/offapi/com/sun/star/util/XModifyListener.idl
new file mode 100644
index 000000000..c6804d483
--- /dev/null
+++ b/offapi/com/sun/star/util/XModifyListener.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_util_XModifyListener_idl__
+#define __com_sun_star_util_XModifyListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+
+#include <com/sun/star/lang/EventObject.idl>
+
+
+
+module com { module sun { module star { module util {
+
+
+/** makes it possible to receive events when a model object changes.
+ */
+published interface XModifyListener: com::sun::star::lang::XEventListener
+{
+ /** is called when something changes in the object.
+
+ <p>Due to such an event, it may be necessary to update views or
+ controllers. </p>
+
+ <p>The source of the event may be the content of the object to
+ which the listener is registered.</p>
+ */
+ void modified( [in] com::sun::star::lang::EventObject aEvent );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XNumberFormatPreviewer.idl b/offapi/com/sun/star/util/XNumberFormatPreviewer.idl
new file mode 100644
index 000000000..00db87678
--- /dev/null
+++ b/offapi/com/sun/star/util/XNumberFormatPreviewer.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_util_XNumberFormatPreviewer_idl__
+#define __com_sun_star_util_XNumberFormatPreviewer_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/util/Color.idl>
+#include <com/sun/star/lang/Locale.idl>
+
+#include <com/sun/star/util/MalformedNumberFormatException.idl>
+
+
+
+ module com { module sun { module star { module util {
+
+
+/** represents a number formatter which can preview number
+ formats without inserting them.
+
+ @see NumberFormatter
+ */
+published interface XNumberFormatPreviewer: com::sun::star::uno::XInterface
+{
+
+ /** formats a value using a format string, without inserting a
+ number format into the list.
+
+ @param aFormat
+ is the format string that is used for formatting.
+
+ @param fValue
+ is the value that is formatted.
+
+ @param nLocale
+ is the locale that is used to interpret the format string.
+
+ @param bAllowEnglish
+ specifies if English language number format strings are accepted
+ in addition to those from the selected locale.
+
+ @returns
+ the formatted string.
+
+ @throws com::sun::star::util::MalformedNumberFormatException
+ if the format string is invalid.
+
+ */
+ string convertNumberToPreviewString( [in] string aFormat,
+ [in] double fValue,
+ [in] com::sun::star::lang::Locale nLocale,
+ [in] boolean bAllowEnglish )
+ raises( com::sun::star::util::MalformedNumberFormatException );
+
+
+ /** returns the color which is to be used for a number.
+
+ @param aFormat
+ is the format string that is used for formatting.
+
+ @param fValue
+ is the value that is formatted.
+
+ @param nLocale
+ is the locale that is used to interpret the format string.
+
+ @param bAllowEnglish
+ specifies if English language number format strings are accepted
+ in addition to those from the selected locale.
+
+ @param aDefaultColor
+ is the color that should be returned if no color is set by
+ the number format.
+
+ @returns
+ the color that should used to output the formatted string.
+
+ @throws com::sun::star::util::MalformedNumberFormatException
+ if the format string is invalid.
+
+ */
+ com::sun::star::util::Color queryPreviewColorForNumber( [in] string aFormat,
+ [in] double fValue,
+ [in] com::sun::star::lang::Locale nLocale,
+ [in] boolean bAllowEnglish,
+ [in] com::sun::star::util::Color aDefaultColor )
+ raises( com::sun::star::util::MalformedNumberFormatException );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XNumberFormatTypes.idl b/offapi/com/sun/star/util/XNumberFormatTypes.idl
new file mode 100644
index 000000000..b281710fa
--- /dev/null
+++ b/offapi/com/sun/star/util/XNumberFormatTypes.idl
@@ -0,0 +1,96 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_XNumberFormatTypes_idl__
+#define __com_sun_star_util_XNumberFormatTypes_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/Locale.idl>
+
+
+
+ module com { module sun { module star { module util {
+
+
+/** represents functions to get specific, predefined number formats.
+ */
+published interface XNumberFormatTypes: com::sun::star::uno::XInterface
+{
+
+ /** @returns
+ the key of the standard format for a locale.
+ */
+ long getStandardIndex( [in] com::sun::star::lang::Locale nLocale );
+
+
+ /** @returns
+ the key of the standard format within a specified type for a given locale.
+
+ @param nType
+ the type of the number format. Must be one of the
+ NumberFormat constants.
+ @param nLocale
+ the locale for which the number format is requested.
+
+ */
+ long getStandardFormat( [in] short nType,
+ [in] com::sun::star::lang::Locale nLocale );
+
+
+ /** @returns
+ the key of a built-in format for a locale:
+
+ @param nIndex
+ the index of the wanted number format within the formats for
+ the given locale. One of the
+ com::sun::star::i18n::NumberFormatIndex
+ constants.
+ @param nLocale
+ the locale for which the key is requested.
+ */
+ long getFormatIndex( [in] short nIndex,
+ [in] com::sun::star::lang::Locale nLocale );
+
+
+ /** verifies if one type of number format is compatible with another type.
+ */
+ boolean isTypeCompatible( [in] short nOldType,
+ [in] short nNewType );
+
+
+ /** @returns
+ the index of the converted number format if successful,
+ the old index if the number format could not be converted.
+
+ @param nKey
+ index of the old number format
+
+ @param nLocale
+ the locale to which the number format is converted
+ */
+ long getFormatForLocale( [in] long nKey,
+ [in] com::sun::star::lang::Locale nLocale );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XNumberFormats.idl b/offapi/com/sun/star/util/XNumberFormats.idl
new file mode 100644
index 000000000..8e4bcbe69
--- /dev/null
+++ b/offapi/com/sun/star/util/XNumberFormats.idl
@@ -0,0 +1,179 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_XNumberFormats_idl__
+#define __com_sun_star_util_XNumberFormats_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+#include <com/sun/star/lang/Locale.idl>
+
+#include <com/sun/star/util/MalformedNumberFormatException.idl>
+
+
+
+ module com { module sun { module star { module util {
+
+
+/** provides access to multiple NumberFormats.
+
+ The number formats are managed by their unique key in the document.
+ */
+published interface XNumberFormats: com::sun::star::uno::XInterface
+{
+
+ /** @returns
+ a readonly NumberFormatProperties.
+
+ @param nKey
+ the key for the format
+ */
+ com::sun::star::beans::XPropertySet getByKey( [in] long nKey );
+
+
+ /** @returns
+ a sequence of the keys of all number formats with the specified type and language.
+
+ @param nType
+ the type of number formats to return. Must be one of the
+ NumberFormat constants.
+
+ @param nLocale
+ the locale of number formats to return.
+
+ @param bCreate
+ `TRUE`: create new entries if no formats for the selected language exist<BR>
+ `FALSE`: return an empty list if no formats for the selected language exist
+ */
+ sequence<long> queryKeys( [in] short nType,
+ [in] com::sun::star::lang::Locale nLocale,
+ [in] boolean bCreate );
+
+
+ /** finds a number format by its format string and returns its key.
+
+ @returns
+ the key for the format if found, otherwise -1.
+
+ @param aFormat
+ the string representation of the number format
+
+ @param nLocale
+ the locale for number formats to find
+
+ @param bScan
+ reserved for future use and should be set to false
+ */
+ long queryKey( [in] string aFormat,
+ [in] com::sun::star::lang::Locale nLocale,
+ [in] boolean bScan );
+
+
+ /** adds a new number format to the list, using a format string.
+
+ @returns
+ the key for new number format
+
+ @param aFormat
+ the string representation of the number format
+
+ @param nLocale
+ the locale for the number format
+
+ @throws com::sun::star::util::MalformedNumberFormatException
+ if incorrect number format is specified
+ */
+ long addNew( [in] string aFormat,
+ [in] com::sun::star::lang::Locale nLocale )
+ raises( com::sun::star::util::MalformedNumberFormatException );
+
+
+ /** adds a new number format to the list, using a format
+ string in a different locale than the desired locale of the
+ resulting number format.
+
+ @returns
+ the key for added number format
+
+ @param aFormat
+ the key for the number format
+
+ @param nLocale
+ the original locale for the number format
+
+ @param nNewLocale
+ the new locale for the number format to be converted
+
+ @throws com::sun::star::util::MalformedNumberFormatException
+ if incorrect number format is specified
+ */
+ long addNewConverted( [in] string aFormat,
+ [in] com::sun::star::lang::Locale nLocale,
+ [in] com::sun::star::lang::Locale nNewLocale )
+ raises( com::sun::star::util::MalformedNumberFormatException );
+
+
+ /** removes a number format from the list.
+
+ @param nKey
+ the key for the numberformat
+ */
+ void removeByKey( [in] long nKey );
+
+
+ /** generates a format string from several parameters without
+ creating an actual number format.
+
+ @returns
+ the string representation for the number format
+
+ @param nBaseKey
+ the key for the number format to be used as base format
+
+ @param nLocale
+ the locale for the number format
+
+ @param bThousands
+ the thousands separator is shown or not
+
+ @param bRed
+ show negative number in red colored if `TRUE`
+
+ @param nDecimals
+ how many digits are shown after the decimal point
+
+ @param nLeading
+ how many number of leading zeros are shown
+ */
+ string generateFormat( [in] long nBaseKey,
+ [in] com::sun::star::lang::Locale nLocale,
+ [in] boolean bThousands,
+ [in] boolean bRed,
+ [in] short nDecimals,
+ [in] short nLeading );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XNumberFormatsSupplier.idl b/offapi/com/sun/star/util/XNumberFormatsSupplier.idl
new file mode 100644
index 000000000..9ef6a72e7
--- /dev/null
+++ b/offapi/com/sun/star/util/XNumberFormatsSupplier.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_util_XNumberFormatsSupplier_idl__
+#define __com_sun_star_util_XNumberFormatsSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+#include <com/sun/star/util/XNumberFormats.idl>
+
+
+
+ module com { module sun { module star { module util {
+
+
+/** supplies the collection of NumberFormats (for example, in a
+ document) and the settings belonging to these formats.
+ */
+published interface XNumberFormatsSupplier: com::sun::star::uno::XInterface
+{
+
+ /** @returns
+ the NumberFormatSettings of this object.
+ */
+ com::sun::star::beans::XPropertySet getNumberFormatSettings();
+
+
+ /** @returns
+ the collection of number formats belonging to this object (e.g., to this document).
+ */
+ com::sun::star::util::XNumberFormats getNumberFormats();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XNumberFormatter.idl b/offapi/com/sun/star/util/XNumberFormatter.idl
new file mode 100644
index 000000000..dd32f4862
--- /dev/null
+++ b/offapi/com/sun/star/util/XNumberFormatter.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_util_XNumberFormatter_idl__
+#define __com_sun_star_util_XNumberFormatter_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/util/Color.idl>
+#include <com/sun/star/util/XNumberFormatsSupplier.idl>
+
+#include <com/sun/star/util/NotNumericException.idl>
+
+
+
+ module com { module sun { module star { module util {
+
+
+/** represents a number formatter.
+ */
+published interface XNumberFormatter: com::sun::star::uno::XInterface
+{
+
+ /** attaches an XNumberFormatsSupplier to this
+ NumberFormatter.
+
+ <p>This NumberFormatter will only use the NumberFormats
+ specified in the attached XNumberFormatsSupplier. Without an attached
+ XNumberFormatsSupplier, no formatting is possible.</p>
+ */
+ void attachNumberFormatsSupplier( [in] com::sun::star::util::XNumberFormatsSupplier xSupplier );
+
+
+ /** @returns
+ the attached XNumberFormatsSupplier.
+ */
+ com::sun::star::util::XNumberFormatsSupplier getNumberFormatsSupplier();
+
+
+ /** detects the number format in a string which contains a formatted number.
+ */
+ long detectNumberFormat( [in] long nKey,
+ [in] string aString )
+ raises( com::sun::star::util::NotNumericException );
+
+
+ /** converts a string which contains a formatted number into a number.
+
+ <p>If this is a text format, the string will not be converted.</p>
+ */
+ double convertStringToNumber( [in] long nKey,
+ [in] string aString )
+ raises( com::sun::star::util::NotNumericException );
+
+
+ /** converts a number into a string.
+ */
+ string convertNumberToString( [in] long nKey,
+ [in] double fValue );
+
+
+ /** @returns
+ the color which is specified for the given value in the number format,
+ which is otherwise the value of <var>aDefaultColor</var>.
+ */
+ com::sun::star::util::Color queryColorForNumber( [in] long nKey,
+ [in] double fValue,
+ [in] com::sun::star::util::Color aDefaultColor );
+
+
+ /** converts a string into another string.
+ */
+ string formatString( [in] long nKey,
+ [in] string aString );
+
+
+ /** @returns
+ the color which is specified for the given string in the number format,
+ which is otherwise the value of <var>aDefaultColor</var>.
+ */
+ com::sun::star::util::Color queryColorForString( [in] long nKey,
+ [in] string aString,
+ [in] com::sun::star::util::Color aDefaultColor );
+
+
+ /** converts a number into a string with the specified format.
+
+ <p>This string can always be converted back to a number using the same
+ format.
+ </p>
+ */
+ string getInputString( [in] long nKey,
+ [in] double fValue );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XNumberFormatter2.idl b/offapi/com/sun/star/util/XNumberFormatter2.idl
new file mode 100644
index 000000000..e9299eb80
--- /dev/null
+++ b/offapi/com/sun/star/util/XNumberFormatter2.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_util_XNumberFormatter2_idl__
+#define __com_sun_star_util_XNumberFormatter2_idl__
+
+#include <com/sun/star/util/XNumberFormatter.idl>
+#include <com/sun/star/util/XNumberFormatPreviewer.idl>
+
+module com { module sun { module star { module util {
+
+/**
+ Provides a unified interface for the NumberFormatter service to implement.
+
+ @since LibreOffice 4.0
+*/
+published interface XNumberFormatter2
+{
+
+ /** is used to format or parse numbers using formats from a
+ NumberFormats object.
+ */
+ interface com::sun::star::util::XNumberFormatter;
+
+ /** is used to format numbers using a number format string
+ that is not inserted into a NumberFormats object.
+ */
+ interface com::sun::star::util::XNumberFormatPreviewer;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XOfficeInstallationDirectories.idl b/offapi/com/sun/star/util/XOfficeInstallationDirectories.idl
new file mode 100644
index 000000000..e9dc1e61f
--- /dev/null
+++ b/offapi/com/sun/star/util/XOfficeInstallationDirectories.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_util_XOfficeInstallationDirectories_idl__
+#define __com_sun_star_util_XOfficeInstallationDirectories_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module util {
+
+/** encapsulates access to the current office installation directory and
+ office user data directory, provides functionality to create URLs
+ containing relocatable (not absolute) references to the current office
+ installation directory and user data directory and vice versa.
+
+ <p>This functionality is useful when data containing references to the
+ current office installation directory must be made persistent and re-read
+ later. In many cases, storing the reference directly would destroy the
+ relocatability of an office installation.
+
+ @since OOo 2.0
+ */
+published interface XOfficeInstallationDirectories : com::sun::star::uno::XInterface
+{
+ /** returns the absolute URL containing the directory of the current office
+ installation (for example "file:///opt/LibreOffice")
+
+ @returns
+ the absolute URL containing the directory of the current office
+ installation.
+ */
+ string getOfficeInstallationDirectoryURL();
+
+ /** returns the absolute URL containing the directory where the current
+ office installation expects its user data (for example
+ "file:///home/kso/.config/libreoffice/4")
+
+ @returns
+ the absolute URL containing the directory of the current office
+ user data.
+ */
+ string getOfficeUserDataDirectoryURL();
+
+ /** calculates a relocatable URL from the given URL.
+
+ <p>If the given URL contains an absolute reference to the current office
+ installation directory or office user data directory, this method will
+ replace the absolute reference by an opaque placeholder string.
+ <code>makeRelocatableURL</code> must be used in order to re-replace the
+ placeholder by an absolute reference.
+
+ @param URL
+ The URL for that a relocatable URL is requested. In case the URL does
+ not contain a reference to the current office installation or to the office
+ user data directory, the input URL will be returned unchanged.
+
+ @returns
+ The relocatable URL.
+ */
+ string makeRelocatableURL( [in] string URL );
+
+ /** the counterpart of <code>makeRelocatableURL</code>.
+
+ <p>If the given URL contains a placeholder for an absolute reference to
+ the current office installation directory or for the office user data
+ directory, that was created using <code>makeRelocatableURL</code>, the
+ respective placeholder will be replaced by an absolute reference to the
+ current office installation directory or office user data directory.
+
+ @param URL
+ The URL for that an absolute URL is requested. In case the URL does
+ not contain the opaque relocation placeholder used by
+ <code>makeRelocatableURL</code>, the input URL will be returned
+ unchanged.
+
+ @returns
+ The absolute URL.
+ */
+ string makeAbsoluteURL( [in] string URL );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XPathSettings.idl b/offapi/com/sun/star/util/XPathSettings.idl
new file mode 100644
index 000000000..d54c12269
--- /dev/null
+++ b/offapi/com/sun/star/util/XPathSettings.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_util_XPathSettings_idl__
+#define __com_sun_star_util_XPathSettings_idl__
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+
+module com { module sun { module star { module util {
+
+
+/**
+ @since LibreOffice 4.1
+ */
+published interface XPathSettings
+{
+ /** Main interface to have access to the path properties. */
+ interface com::sun::star::beans::XPropertySet;
+
+ /** Specifies the directory that contains spreadsheet add-ins which use
+ the old add-in API */
+ [attribute] string Addin;
+
+ /** The settings of the AutoCorrect dialog. The value can be more than
+ one path separated by a semicolon.
+ */
+ [attribute] string AutoCorrect;
+
+ /**The directory which contains the AutoText modules. The value can be more than
+ one path separated by a semicolon.*/
+ [attribute] string AutoText;
+
+ /** Automatic backup copies of documents are stored here. */
+ [attribute] string Backup;
+
+ /** The Basic files, used by the AutoPilots, can be found here. The value can be more than
+ one path separated by a semicolon.*/
+ [attribute] string Basic;
+
+ /** This directory contains the icons for the toolbars. */
+ [attribute] string Bitmap;
+
+ /** The configuration files are located here. This entry cannot be changed
+ by the user in Office user interface. */
+ [attribute] string Config;
+
+ /** The provided dictionaries are stored here. */
+ [attribute] string Dictionary;
+
+ /** Path to save folder bookmarks */
+ [attribute] string Favorite;
+
+ /** Specifies the directory where all the filters are stored. */
+ [attribute] string Filter;
+
+ /** Specifies the directories which contains the Gallery
+ database and multimedia files. The value can be more than
+ one path separated by a semicolon.*/
+ [attribute] string Gallery;
+
+ /** This directory is displayed when the dialog for opening a graphic
+ or for saving a new graphic is called. */
+ [attribute] string Graphic;
+
+ /** The path to the Office help files. */
+ [attribute] string Help;
+
+ /** The files that are necessary for the spell check are saved here. */
+ [attribute] string Linguistic;
+
+ /** This is the path for the modules. */
+ [attribute] string Module;
+
+ /** This is the path to the palette files *.SOB to *.SOF containing
+ user-defined colors and patterns. The value can be more than
+ one path separated by a semicolon.*/
+ [attribute] string Palette;
+
+ /** Plugins are saved in these directories. The value can be more than
+ one path separated by a semicolon.*/
+ [attribute] string Plugin;
+
+ /** Mail, News files and other information (for example, about FTP Server)
+ are stored here.*/
+ [attribute] string Storage;
+
+ /** The base url to the office temp-files */
+ [attribute] string Temp;
+
+ /** The templates originate from these folders and sub-folders. The value
+ can be more than one path separated by a semicolon.*/
+ [attribute] string Template;
+
+ /** Global directories to look for user interface configuration files. The
+ user interface configuration will be merged with user settings stored
+ in the directory specified by <var>UserConfig</var>. The value can be more
+ than one path separated by a semicolon.*/
+ [attribute] string UIConfig;
+
+ /** Specifies the folder with the user settings. */
+ [attribute] string UserConfig;
+
+ /** The custom dictionaries are contained here.
+ * @deprecated
+ * */
+ [attribute] string UserDictionary;
+
+ /** The path of the work folder can be modified according to the
+ user's needs. The path specified here can be seen in the Open
+ or Save dialog. */
+ [attribute] string Work;
+
+ [attribute] string BasePathShareLayer;
+ [attribute] string BasePathUserLayer;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XPropertyReplace.idl b/offapi/com/sun/star/util/XPropertyReplace.idl
new file mode 100644
index 000000000..cf46f5762
--- /dev/null
+++ b/offapi/com/sun/star/util/XPropertyReplace.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_util_XPropertyReplace_idl__
+#define __com_sun_star_util_XPropertyReplace_idl__
+
+#include <com/sun/star/util/XReplaceDescriptor.idl>
+
+#include <com/sun/star/beans/PropertyValue.idl>
+
+#include <com/sun/star/beans/UnknownPropertyException.idl>
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+
+module com { module sun { module star { module util {
+
+
+/** makes it possible to search and replace properties.
+ */
+published interface XPropertyReplace: com::sun::star::util::XReplaceDescriptor
+{
+ /** provides the information if specific property values are
+ searched, or just the existence of the specified properties.
+ */
+ boolean getValueSearch();
+
+ /** specifies if specific property values are searched,
+ or just the existence of the specified properties.
+ */
+ void setValueSearch( [in] boolean bValueSearch );
+
+ /** @returns
+ the attributes to search for.
+ */
+ sequence<com::sun::star::beans::PropertyValue> getSearchAttributes();
+
+ /** sets the properties to search for.
+ */
+ void setSearchAttributes( [in] sequence<com::sun::star::beans::PropertyValue> aSearchAttribs )
+ raises( com::sun::star::beans::UnknownPropertyException,
+ com::sun::star::lang::IllegalArgumentException );
+
+ /** @returns
+ the attribute values which are used to replace the found occurrences.
+ */
+ sequence<com::sun::star::beans::PropertyValue> getReplaceAttributes();
+
+ /** sets the properties to replace the found occurrences.
+ */
+ void setReplaceAttributes( [in] sequence<com::sun::star::beans::PropertyValue> aSearchAttribs )
+ raises( com::sun::star::beans::UnknownPropertyException,
+ com::sun::star::lang::IllegalArgumentException );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XProtectable.idl b/offapi/com/sun/star/util/XProtectable.idl
new file mode 100644
index 000000000..62e8b123b
--- /dev/null
+++ b/offapi/com/sun/star/util/XProtectable.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_util_XProtectable_idl__
+#define __com_sun_star_util_XProtectable_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+
+module com { module sun { module star { module util {
+
+
+/** makes it possible to protect objects from modifications.
+ */
+published interface XProtectable: com::sun::star::uno::XInterface
+{
+ /** activates the protection.
+
+ @param aPassword
+ a string to specify new password.
+ */
+ void protect( [in] string aPassword );
+
+ /** removes the protection.
+
+ @param aPassword
+ a string to match with the current password.
+ @throws com::sun::star::lang::IllegalArgumentException
+ if invalid password is specified.
+ */
+ void unprotect( [in] string aPassword )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** @returns
+ the current state of protection.
+ */
+ boolean isProtected();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XRefreshListener.idl b/offapi/com/sun/star/util/XRefreshListener.idl
new file mode 100644
index 000000000..739db4ddf
--- /dev/null
+++ b/offapi/com/sun/star/util/XRefreshListener.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_util_XRefreshListener_idl__
+#define __com_sun_star_util_XRefreshListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+
+#include <com/sun/star/lang/EventObject.idl>
+
+
+
+module com { module sun { module star { module util {
+
+
+/** makes it possible to receive <em>refreshed</em> events.
+ */
+published interface XRefreshListener: com::sun::star::lang::XEventListener
+{
+ /** is called when the object data is refreshed.
+ */
+ void refreshed( [in] com::sun::star::lang::EventObject rEvent );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XRefreshable.idl b/offapi/com/sun/star/util/XRefreshable.idl
new file mode 100644
index 000000000..0ce24272f
--- /dev/null
+++ b/offapi/com/sun/star/util/XRefreshable.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_util_XRefreshable_idl__
+#define __com_sun_star_util_XRefreshable_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/util/XRefreshListener.idl>
+
+
+
+module com { module sun { module star { module util {
+
+
+/** is supported by objects with data that can be refreshed from a data source.
+ */
+published interface XRefreshable: com::sun::star::uno::XInterface
+{
+ /** refreshes the data of the object from the connected data source.
+ */
+ void refresh();
+
+ /** adds the specified listener to receive the event "refreshed."
+ */
+ void addRefreshListener( [in] com::sun::star::util::XRefreshListener l );
+
+ /** removes the specified listener.
+ */
+ void removeRefreshListener( [in] com::sun::star::util::XRefreshListener l );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XReplaceDescriptor.idl b/offapi/com/sun/star/util/XReplaceDescriptor.idl
new file mode 100644
index 000000000..a2a3bec04
--- /dev/null
+++ b/offapi/com/sun/star/util/XReplaceDescriptor.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_util_XReplaceDescriptor_idl__
+#define __com_sun_star_util_XReplaceDescriptor_idl__
+
+#include <com/sun/star/util/XSearchDescriptor.idl>
+
+
+
+module com { module sun { module star { module util {
+
+
+/** specifies a string replace operation.
+ */
+published interface XReplaceDescriptor: com::sun::star::util::XSearchDescriptor
+{
+ /** @returns
+ the string which replaces the found occurrences.
+ */
+ string getReplaceString();
+
+ /** sets the string which replaces the found occurrences.
+ */
+ void setReplaceString( [in] string aReplaceString );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XReplaceable.idl b/offapi/com/sun/star/util/XReplaceable.idl
new file mode 100644
index 000000000..4a3d00841
--- /dev/null
+++ b/offapi/com/sun/star/util/XReplaceable.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_util_XReplaceable_idl__
+#define __com_sun_star_util_XReplaceable_idl__
+
+#include <com/sun/star/util/XSearchable.idl>
+
+#include <com/sun/star/util/XReplaceDescriptor.idl>
+
+#include <com/sun/star/util/XSearchDescriptor.idl>
+
+
+
+module com { module sun { module star { module util {
+
+
+/** makes it possible to replace strings in a text described by a
+ SearchDescriptor.
+
+ Example: replace all bold words "search for" by "look for"
+
+ @code{.py}
+ xReplaceDescr = xDocument.createReplaceDescriptor()
+ xReplaceDescr.SearchString = "search for"
+ xReplaceDescr.ReplaceString = "look for"
+ xFound = xDocument.replaceAll( xReplaceDescr )
+ @endcode
+ */
+published interface XReplaceable: com::sun::star::util::XSearchable
+{
+ /** creates a descriptor which contains properties that
+ specify a search in this container.@see SearchDescriptor
+ */
+ com::sun::star::util::XReplaceDescriptor createReplaceDescriptor();
+
+ /** searches for all occurrences of whatever is specified.@see SearchDescriptor
+ */
+ long replaceAll( [in] com::sun::star::util::XSearchDescriptor xDesc );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XSearchDescriptor.idl b/offapi/com/sun/star/util/XSearchDescriptor.idl
new file mode 100644
index 000000000..30535d07c
--- /dev/null
+++ b/offapi/com/sun/star/util/XSearchDescriptor.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_util_XSearchDescriptor_idl__
+#define __com_sun_star_util_XSearchDescriptor_idl__
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+
+
+module com { module sun { module star { module util {
+
+
+/** specifies a string search operation.
+ */
+published interface XSearchDescriptor: com::sun::star::beans::XPropertySet
+{
+ /** @returns
+ the string of characters to search for.
+ */
+ string getSearchString();
+
+ /** sets the string of characters to look for.
+ */
+ void setSearchString( [in] string aString );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XSearchable.idl b/offapi/com/sun/star/util/XSearchable.idl
new file mode 100644
index 000000000..b470815fe
--- /dev/null
+++ b/offapi/com/sun/star/util/XSearchable.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_util_XSearchable_idl__
+#define __com_sun_star_util_XSearchable_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/util/XSearchDescriptor.idl>
+
+#include <com/sun/star/container/XIndexAccess.idl>
+
+
+
+module com { module sun { module star { module util {
+
+
+/** enables the object to look for specified contents of the object
+ (in particular, for a text range which contains a specific string pattern).
+
+ Example:
+ in a com::sun::star::text::TextDocument:
+ set all "search for" to bold using findFirst()/findNext():
+
+ @code{.bas}
+ xSearchDescr = xDocument.createSearchDescriptor()
+ xSearchDescr.SearchString = "search for"
+ xSearchDescr.SearchCaseSensitive = true
+ xSearchDescr.SearchWords = true
+ xFound = xDocument.findFirst( xSearchDescr )
+ do while not IsNull(xFound)
+ xFound.CharWeight = com.sun.star.awt.FontWeight.BOLD
+ xFound = xDocument.findNext( xFound.End, xSearchDescr )
+ loop
+ @endcode
+
+ */
+published interface XSearchable: com::sun::star::uno::XInterface
+{
+ /** creates a SearchDescriptor which contains properties that
+ specify a search in this container.@see SearchDescriptor
+ */
+ com::sun::star::util::XSearchDescriptor createSearchDescriptor();
+
+ /** searches the contained texts for all occurrences of whatever is specified.@see SearchDescriptor
+ */
+ com::sun::star::container::XIndexAccess findAll( [in] com::sun::star::util::XSearchDescriptor xDesc );
+
+ /** searches the contained texts for the next occurrence of whatever is specified.
+
+ @returns
+ the position within the component, e.g. a com::sun::star::text::XTextRange
+ which determines the found elements.
+
+ @see SearchDescriptor
+ */
+ com::sun::star::uno::XInterface findFirst( [in] com::sun::star::util::XSearchDescriptor xDesc );
+
+ /** searches the contained texts for the next occurrence of whatever is specified.
+
+ @param xStartAt
+ represents a position within the component at which the search continues.
+ This position is returned by XSearchable::findFirst() or
+ the previous XSearchable::findNext().
+ @param xDesc
+ the descriptor used for searching.
+
+ @see SearchDescriptor
+ */
+ com::sun::star::uno::XInterface findNext( [in] com::sun::star::uno::XInterface xStartAt,
+ [in] com::sun::star::util::XSearchDescriptor xDesc );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XSortable.idl b/offapi/com/sun/star/util/XSortable.idl
new file mode 100644
index 000000000..7093a0469
--- /dev/null
+++ b/offapi/com/sun/star/util/XSortable.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_util_XSortable_idl__
+#define __com_sun_star_util_XSortable_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/beans/PropertyValue.idl>
+
+
+
+module com { module sun { module star { module util {
+
+
+/** makes it possible to sort the contents of this object.
+
+ <p>The available properties describing the sort criteria are
+ defined in the sort descriptor implemented by the object that
+ implements this interface.</p>
+
+ <p>There are older deprecated sort descriptors:</p>
+ <ul>
+ <li>com::sun::star::util::SortDescriptor</li>
+ <li>com::sun::star::table::TableSortDescriptor</li>
+ <li>com::sun::star::text::TextSortDescriptor</li>
+ </ul>
+
+ <p>And a new set of sort descriptors:</p>
+ <ul>
+ <li>com::sun::star::util::SortDescriptor2</li>
+ <li>com::sun::star::table::TableSortDescriptor2</li>
+ <li>com::sun::star::text::TextSortDescriptor2</li>
+ </ul>
+
+ <p>Both types may be implemented by the same object.
+ When calling the sort method however properties from different
+ descriptors must not be mixed.</p>
+ */
+published interface XSortable: com::sun::star::uno::XInterface
+{
+ /** @returns
+ a sequence of properties which allows to specify/modify the
+ sort criteria.
+
+ <p>The set of properties is specific to the type of object that
+ implements this interface. Therefore they can usually be used
+ only for objects of that same type.</p>
+
+ @see com::sun::star::util::SortDescriptor
+ @see com::sun::star::table::TableSortDescriptor
+ @see com::sun::star::text::TextSortDescriptor
+ @see com::sun::star::util::SortDescriptor2
+ @see com::sun::star::table::TableSortDescriptor2
+ @see com::sun::star::text::TextSortDescriptor2
+
+ */
+ sequence< com::sun::star::beans::PropertyValue > createSortDescriptor();
+
+ /** sorts the contents of the object according to the specified
+ properties.
+
+ <p>The specified properties are usually the same or a subset of
+ those obtained by calling createSortDescriptor()
+ on the same type of object.<p>
+
+ @see com::sun::star::util::SortDescriptor
+ @see com::sun::star::table::TableSortDescriptor
+ @see com::sun::star::text::TextSortDescriptor
+ @see com::sun::star::util::SortDescriptor2
+ @see com::sun::star::table::TableSortDescriptor2
+ @see com::sun::star::text::TextSortDescriptor2
+ */
+ void sort( [in] sequence< com::sun::star::beans::PropertyValue > xDescriptor );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XStringAbbreviation.idl b/offapi/com/sun/star/util/XStringAbbreviation.idl
new file mode 100644
index 000000000..686bbc0de
--- /dev/null
+++ b/offapi/com/sun/star/util/XStringAbbreviation.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_util_XStringAbbreviation_idl__
+#define __com_sun_star_util_XStringAbbreviation_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module util {
+ published interface XStringWidth;
+}; }; }; };
+
+module com { module sun { module star { module util {
+
+/** Abbreviate arbitrary strings.
+
+ <p>It is expected that there will be different implementations of this
+ interface, that each expect strings conforming to a certain structure
+ (e.g., URIs, platform-specific file paths, or newsgroup names). The
+ abbreviation algorithms will then take into account the structural
+ information.</p>
+
+ @see XStringWidth
+ */
+published interface XStringAbbreviation: com::sun::star::uno::XInterface
+{
+ /** Abbreviate a string, so that the resulting abbreviated string is not
+ wider than some given width.
+
+ <p>The width of a string is an abstract concept here, measured via
+ an XStringWidth interface. Examples are the number of
+ characters in the string (XStringWidth will measure the
+ string's length), or the width in pixel when displayed with a specific
+ font (which XStringWidth would encapsulate).</p>
+
+ @param xStringWidth
+ The interface that makes concrete the abstract notion of string width.
+
+ @param nWidth
+ The resulting abbreviated string's width will be no larger than this.
+
+ @param aString
+ The string that is abbreviated.
+
+ @returns
+ an abbreviated string.
+ */
+ string abbreviateString([in] XStringWidth xStringWidth,
+ [in] long nWidth,
+ [in] string aString);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XStringEscape.idl b/offapi/com/sun/star/util/XStringEscape.idl
new file mode 100644
index 000000000..00c6c0461
--- /dev/null
+++ b/offapi/com/sun/star/util/XStringEscape.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_util_XStringEscape_idl__
+#define __com_sun_star_util_XStringEscape_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+module com { module sun { module star { module util {
+
+/** This interface is used to encode an arbitrary String into a
+ escaped form.
+
+ <p>The escaped form is chosen to be suitable for use with other interfaces
+ of the object or service providing this interface.</p>
+
+ <p>Any characters or character sequences that are not compatible with
+ any naming rules or restrictions must be replaced by an escaped form,
+ that complies to these rules.
+
+ <p>The transformation should preserve all traits of the string that are
+ generally respected by the service. For example, the case of a string
+ may be lost after encoding and then decoding, if the service
+ generally is case insensitive.
+
+ <p>Other than that the encoding is one-to-one and can be reversed. The
+ encoding should try to preserve as much as possible of the original
+ string, to keep human-readable input human-friendly where possible.
+ Strings that already conform to the naming conventions should be left
+ unchanged or minimally modified.</p>
+ */
+published interface XStringEscape: com::sun::star::uno::XInterface
+{
+ /** encodes an arbitrary string into an escaped form compatible with some naming rules.
+ */
+ string escapeString([in] string aString)
+ raises( com::sun::star::lang::IllegalArgumentException);
+
+ /** decodes an escaped string into the original form.
+ */
+ string unescapeString([in] string aEscapedString)
+ raises( com::sun::star::lang::IllegalArgumentException);
+};
+
+
+
+}; }; }; };
+
+#endif
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XStringMapping.idl b/offapi/com/sun/star/util/XStringMapping.idl
new file mode 100644
index 000000000..dc250cde4
--- /dev/null
+++ b/offapi/com/sun/star/util/XStringMapping.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_XStringMapping_idl__
+#define __com_sun_star_util_XStringMapping_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module util {
+
+
+/** provides a mapping from `string` to `string`
+ */
+published interface XStringMapping: com::sun::star::uno::XInterface
+{
+ /** provides a mapping for a given sequence of strings to
+ a sequence of belonging strings.
+ */
+ boolean mapStrings( [inout] sequence< string > Parameter );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XStringSubstitution.idl b/offapi/com/sun/star/util/XStringSubstitution.idl
new file mode 100644
index 000000000..7d20fb74b
--- /dev/null
+++ b/offapi/com/sun/star/util/XStringSubstitution.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_util_XStringSubstitution_idl__
+#define __com_sun_star_util_XStringSubstitution_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/container/NoSuchElementException.idl>
+
+
+ module com { module sun { module star { module util {
+
+/** A common interface for substituting string variables with
+ other strings.
+
+ <p>
+ The substitution algorithm and the syntax for a string variable are
+ not part of this interface definition. Please look at the documentation
+ of the implementation that must specify these parameters.
+ </p>
+
+ @since OOo 1.1.2
+*/
+published interface XStringSubstitution : com::sun::star::uno::XInterface
+{
+ /** Exchanges variables inside a given text with a substitution text
+ defined for the variables.
+
+ <p>
+ The method iterates through its internal variables list to match the
+ variables in the given string. A match replaces the variable with the
+ string defined for this variable. If no variable can be found in the string
+ it will be returned unchanged. The behavior if a variable is found in
+ the string but it is unknown for the implementation depends on the parameter
+ bSubstRequired.
+ </p>
+
+ @param aText
+ A string containing variables that should be substituted.
+
+ @param bSubstRequired
+ Specifies if a successful substitution is required. The
+ function throws a com::sun::star::container::NoSuchElementException
+ if it finds a variable that is unknown. In this case it is possible
+ that the returned string would not be what the caller expected!
+
+ @return
+ Returns a string based on <var>aText</var> where all variables were
+ exchanged with their value defined at calling time.
+ */
+ string substituteVariables( [in] string aText, [in] boolean bSubstRequired )
+ raises( com::sun::star::container::NoSuchElementException );
+
+ /** Tries to replace parts of aText with variables that represents
+ these sub strings.
+
+ <p>
+ The method iterates through its internal variable list and tries to match
+ parts of the given string Tries to replace parts of <var>aText</var> with
+ variables that represents these sub strings.If more than one variable
+ matches the one with the longest matching sub string will be chosen.
+ </p>
+
+ @param aText
+ A string where known substrings should be replaced by variables.
+
+ @return
+ Returns the resubstituted string with variables for all parts
+ that could be replaced. The unchanged argument will be returned
+ if nothing can be resubstituted.
+ */
+
+ string reSubstituteVariables( [in] string aText );
+
+ /** Returns the current value of a variable.
+
+ <p>
+ The method iterates through its internal variable list and tries to
+ find the given variable. If the variable is unknown a
+ com::sun::star::container::NoSuchElementException
+ is thrown.
+ </p>
+
+ @param variable
+ The name of a variable.
+
+ @return
+ Returns a string that represents the variable. If the
+ variable is unknown a com::sun::star::container::NoSuchElementException
+ is thrown.
+ */
+ string getSubstituteVariableValue( [in] string variable )
+ raises (::com::sun::star::container::NoSuchElementException );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XStringWidth.idl b/offapi/com/sun/star/util/XStringWidth.idl
new file mode 100644
index 000000000..946d3cc55
--- /dev/null
+++ b/offapi/com/sun/star/util/XStringWidth.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_util_XStringWidth_idl__
+#define __com_sun_star_util_XStringWidth_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module util {
+
+/** An interface that encapsulates the abstract notion of string width.
+
+ @see XStringAbbreviation
+ */
+published interface XStringWidth: com::sun::star::uno::XInterface
+{
+ /** compute the width of a given string.
+
+ <p>Depending on the implementation of this interface, the width of a
+ string can be rather different things, like the number of characters
+ in the string, or the width in pixel when displayed with a specific
+ font.</p>
+
+ @param aString
+ The string that is to be measured.
+
+ @returns
+ the string's width.
+ */
+ long queryStringWidth([in] string aString);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XTextSearch.idl b/offapi/com/sun/star/util/XTextSearch.idl
new file mode 100644
index 000000000..2ada6946e
--- /dev/null
+++ b/offapi/com/sun/star/util/XTextSearch.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_util_XTextSearch_idl__
+#define __com_sun_star_util_XTextSearch_idl__
+
+
+#include <com/sun/star/lang/Locale.idl>
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/util/SearchOptions.idl>
+#include <com/sun/star/util/SearchResult.idl>
+
+
+module com { module sun { module star { module util {
+
+/** enables an object to search in its content.
+ */
+published interface XTextSearch : com::sun::star::uno::XInterface
+{
+ /** set the options for the forward or backward search.
+
+ */
+ void setOptions ([in] SearchOptions options);
+ /** search forward in the searchStr, starts at startPos and ends by endpos.
+ The result is returned in the SearchResult.
+
+ */
+ SearchResult searchForward ([in] string searchStr, [in] long startPos, [in] long endPos );
+ /** search backward in the searchStr, starts at startPos and ends by endpos.
+ The endpos must be lower than the startpos, because the function searches backward!
+ The result is returned in the SearchResult.
+
+ */
+ SearchResult searchBackward ([in] string searchStr, [in] long startPos, [in] long endPos );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XTextSearch2.idl b/offapi/com/sun/star/util/XTextSearch2.idl
new file mode 100644
index 000000000..597a2c5ee
--- /dev/null
+++ b/offapi/com/sun/star/util/XTextSearch2.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_util_XTextSearch2_idl__
+#define __com_sun_star_util_XTextSearch2_idl__
+
+
+#include <com/sun/star/util/XTextSearch.idl>
+
+
+module com { module sun { module star { module util {
+
+/** enables an object to search in its content.
+
+ Derived from com::sun::star::util::XTextSearch this interface adds
+ simple wildcard search capabilities using
+ com::sun::star::util::SearchOptions2 options.
+
+ @since LibreOffice 5.2
+ */
+interface XTextSearch2 : com::sun::star::util::XTextSearch
+{
+ /** set the options for the forward or backward search.
+ */
+ void setOptions2 ([in] SearchOptions2 options);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XTimeStamped.idl b/offapi/com/sun/star/util/XTimeStamped.idl
new file mode 100644
index 000000000..166c3eb85
--- /dev/null
+++ b/offapi/com/sun/star/util/XTimeStamped.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_util_XTimeStamped_idl__
+#define __com_sun_star_util_XTimeStamped_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module util {
+
+
+/**
+ provides timestamp information for an object
+ in the form of an arbitrary string.
+
+ <p> The format and meaning of the timestamp depends on the implementation.
+ Services implementing this interface must document the meaning and
+ format they use.
+ </p>
+
+ <p> If the timestamp is unchanged between two calls, the
+ associated object has not changed. Any properties beyond this,
+ particularly the presence of a meaningful order between
+ timestamps, depend on the implementation.
+ </p>
+
+ @since OOo 1.1.2
+ */
+published interface XTimeStamped : ::com::sun::star::uno::XInterface
+{
+
+ /**
+ returns the timestamp of the object.
+
+
+ @return
+ a `string` that represents a timestamp.
+ */
+ string getTimestamp() ;
+
+} ;
+
+} ; } ; } ; } ;
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XURLTransformer.idl b/offapi/com/sun/star/util/XURLTransformer.idl
new file mode 100644
index 000000000..cf3fa615e
--- /dev/null
+++ b/offapi/com/sun/star/util/XURLTransformer.idl
@@ -0,0 +1,128 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_XURLTransformer_idl__
+#define __com_sun_star_util_XURLTransformer_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/util/URL.idl>
+
+
+
+module com { module sun { module star { module util {
+
+
+/** supports parsing and assembling of URLs
+
+ @see URL
+ @see URLTransformer
+ */
+published interface XURLTransformer: com::sun::star::uno::XInterface
+{
+ /** parses the string in URL::Complete which should contain
+ a syntactically complete URL.
+
+ <p>
+ The implementation is allowed to correct minor failures in URL::Complete
+ if the meaning of the URL remain unchanged. Parts of the URL are stored in the other
+ fields of <var>aURL</var>.
+ </p>
+
+ @param aURL
+ the URL which include the complete string notation and will contain
+ all parsed parts of it after finishing this call. URL::Complete
+ can be overwritten if the implementation corrected minor failures.
+
+ @returns
+ `TRUE` if parsing was successful (means if given URL was syntactically correct)
+ or `FALSE` otherwise.
+ */
+ boolean parseStrict( [inout] com::sun::star::util::URL aURL );
+
+ /** parses the string in URL::Complete, which may contain
+ a syntactically complete URL or is specified by the provided protocol
+
+ <p>
+ The implementation can use smart functions to correct or interpret
+ URL::Complete if it is not a syntactically complete URL.
+ The parts of the URL are stored in the other fields of <var>aURL</var>.
+ </p>
+
+ @param aURL
+ the URL which include the string notation and will contain
+ all parsed parts of it after finishing this call. This includes
+ URL::Complete.
+
+ @param sSmartProtocol
+ optional information which protocol specification should be used to parse
+ URL::Complete. If empty the implementation can use a
+ protocol which fits best.
+
+ @returns
+ `TRUE` if parsing was successful (means if URL::Complete could
+ be syntactically correct) or `FALSE` otherwise.
+ */
+ boolean parseSmart(
+ [inout] com::sun::star::util::URL aURL,
+ [in] string sSmartProtocol );
+
+ /** assembles the parts of the URL specified by <var>aURL</var> and
+ stores it into URL::Complete
+
+ @param aURL
+ the URL which contains all necessary information in a structured form. The
+ member URL::Complete contains the URL in string notation after
+ the operation finished successfully. Otherwise the content of
+ URL::Complete is not defined.
+
+ @returns
+ `TRUE` if assembling was successful or `FALSE` otherwise.
+ */
+ boolean assemble( [inout] com::sun::star::util::URL aURL );
+
+ /** returns a representation of the URL for UI purposes only
+
+ <p>
+ Sometimes it can be useful to show a URL on an user interface
+ in a more "human readable" form. Such URL can't be used on any API
+ call, but make it easier for the user to understand it.
+ </p>
+
+ @param aURL
+ URL in structured form which should be shown at the UI
+
+ @param bWithPassword
+ specifies whether the password will be included in the encoding
+ or not. Usually passwords should never be shown at the user
+ interface.
+
+ @returns
+ a string representing the <var>aURL</var> if it is syntactically correct. A empty string if <var>aURL</var>
+ is not syntactically correct.
+ */
+ string getPresentation(
+ [in] com::sun::star::util::URL aURL,
+ [in] boolean bWithPassword );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XUniqueIDFactory.idl b/offapi/com/sun/star/util/XUniqueIDFactory.idl
new file mode 100644
index 000000000..e0c61f38d
--- /dev/null
+++ b/offapi/com/sun/star/util/XUniqueIDFactory.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_XUniqueIDFactory_idl__
+#define __com_sun_star_util_XUniqueIDFactory_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module util {
+
+
+/** creates IDs which are unique within the container.
+ */
+published interface XUniqueIDFactory: com::sun::star::uno::XInterface
+{
+ /// creates a new ID, unique within this container.
+ string createUniqueID( );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XUpdatable.idl b/offapi/com/sun/star/util/XUpdatable.idl
new file mode 100644
index 000000000..304cae2a7
--- /dev/null
+++ b/offapi/com/sun/star/util/XUpdatable.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_XUpdatable_idl__
+#define __com_sun_star_util_XUpdatable_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/util/XRefreshListener.idl>
+
+
+
+module com { module sun { module star { module util {
+
+/** is supported by objects with data that can be updated from a data source.
+ */
+published interface XUpdatable: com::sun::star::uno::XInterface
+{
+ /** refreshes the data of the object from the connected data source.
+ */
+ void update();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XUpdatable2.idl b/offapi/com/sun/star/util/XUpdatable2.idl
new file mode 100644
index 000000000..ce5652a96
--- /dev/null
+++ b/offapi/com/sun/star/util/XUpdatable2.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.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_util_XUpdatable2_idl__
+#define __com_sun_star_util_XUpdatable2_idl__
+
+#include <com/sun/star/util/XUpdatable.idl>
+
+module com { module sun { module star { module util {
+
+/**
+ * This interface extends XUpdatable in order to provide more fine-tuned
+ * update modes. When performing a <i>soft</i> update, the implementor may
+ * decide not to update in certain cases, such as when the controller is
+ * locked. When performing a <i>hard</i> update, on the other hand, the
+ * implementor should perform update more aggressively even when the
+ * controller is locked.
+ */
+interface XUpdatable2: com::sun::star::util::XUpdatable
+{
+ /**
+ * Perform update, but update may not always be performed especially when
+ * the controller is locked.
+ */
+ void updateSoft();
+
+ /**
+ * Perform update, even when the controller is locked.
+ */
+ void updateHard();
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/theOfficeInstallationDirectories.idl b/offapi/com/sun/star/util/theOfficeInstallationDirectories.idl
new file mode 100644
index 000000000..275c069dd
--- /dev/null
+++ b/offapi/com/sun/star/util/theOfficeInstallationDirectories.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_util_theOfficeInstallationDirectories_idl__
+#define __com_sun_star_util_theOfficeInstallationDirectories_idl__
+
+#include <com/sun/star/util/XOfficeInstallationDirectories.idl>
+
+
+module com { module sun { module star { module util {
+
+
+/** encapsulates access to the current office installation directory and
+ office user data directory, provides functionality to create URLs
+ containing relocatable (not absolute) references to the current office
+ installation directory and user data directory and vice versa.
+
+ <p>This functionality is useful when data containing references to the
+ current office installation directory or user data directory must be made
+ persistent and re-read later. In many cases, storing the reference
+ directly would destroy the relocatability of an office installation and the
+ possibility to share one office user data directory among parallel office
+ installations.
+ */
+published singleton theOfficeInstallationDirectories : XOfficeInstallationDirectories;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/thePathSettings.idl b/offapi/com/sun/star/util/thePathSettings.idl
new file mode 100644
index 000000000..ea3adb691
--- /dev/null
+++ b/offapi/com/sun/star/util/thePathSettings.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_util_thePathSettings_idl__
+#define __com_sun_star_util_thePathSettings_idl__
+
+#include <com/sun/star/util/XPathSettings.idl>
+
+
+module com { module sun { module star { module util {
+
+
+/** Supports read/write access and listener for the paths properties that
+ the Office uses.
+ <p>
+ The property names of the Office paths/directories are an exactly match
+ to the configuration entries found in the file
+ (org/openoffice/Office/Common.xml).<br>
+ This service supports the usage of path variables to define
+ paths that a relative to other office or system directories.
+ See PathSubstitution
+ </p>
+
+ Prior to LibreOffice 4.3, this singleton was only available as a
+ (single-instance) PathSettings service.
+
+ @since LibreOffice 4.3
+ */
+published singleton thePathSettings : XPathSettings;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/view/DocumentZoomType.idl b/offapi/com/sun/star/view/DocumentZoomType.idl
new file mode 100644
index 000000000..98e3a9c93
--- /dev/null
+++ b/offapi/com/sun/star/view/DocumentZoomType.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_view_DocumentZoomType_idl__
+#define __com_sun_star_view_DocumentZoomType_idl__
+
+
+
+module com { module sun { module star { module view {
+
+
+/** These constants specify how the document content is zoomed into the document view.
+ */
+published constants DocumentZoomType
+{
+ /** The page content width (excluding margins) at the current selection is fit into the view.
+ */
+ const short OPTIMAL = 0;
+
+ /** The page width at the current selection is fit into the view.
+ */
+ const short PAGE_WIDTH = 1;
+
+ /** A complete page of the document is fit into the view.
+ */
+ const short ENTIRE_PAGE = 2;
+
+ /** The zoom is relative and is to be set via the property
+ ViewSettings::ZoomValue.
+ */
+ const short BY_VALUE = 3;
+ /** The page width at the current selection is fit into the view,
+ with the view ends exactly at the end of the page.
+ */
+ const short PAGE_WIDTH_EXACT = 4;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/view/DuplexMode.idl b/offapi/com/sun/star/view/DuplexMode.idl
new file mode 100644
index 000000000..4c05ec695
--- /dev/null
+++ b/offapi/com/sun/star/view/DuplexMode.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_view_DuplexMode_idl__
+#define __com_sun_star_view_DuplexMode_idl__
+
+
+
+module com { module sun { module star { module view {
+
+
+/** These constants specify available duplex modes
+ */
+constants DuplexMode
+{
+ /** specifies an unknown duplex mode.
+ */
+ const short UNKNOWN = 0;
+
+ /** specifies that there is no duplex mode enabled
+ */
+ const short OFF = 1;
+
+ /** specifies a long edge duplex mode
+ */
+ const short LONGEDGE = 2;
+
+ /** specifies a short edge duplex mode
+ */
+ const short SHORTEDGE = 3;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/view/OfficeDocumentView.idl b/offapi/com/sun/star/view/OfficeDocumentView.idl
new file mode 100644
index 000000000..1485ad73c
--- /dev/null
+++ b/offapi/com/sun/star/view/OfficeDocumentView.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_view_OfficeDocumentView_idl__
+#define __com_sun_star_view_OfficeDocumentView_idl__
+
+#include <com/sun/star/view/XSelectionSupplier.idl>
+
+#include <com/sun/star/view/XViewSettingsSupplier.idl>
+
+#include <com/sun/star/view/XControlAccess.idl>
+
+
+
+module com { module sun { module star { module view {
+
+
+/** specifies a view of a standard office document.
+ */
+published service OfficeDocumentView
+{
+ /** This mandatory interface gives access to the current user selection
+ within this office document view.
+
+ <p>The type of the selection depends on the actual document type.</p>
+ */
+ interface com::sun::star::view::XSelectionSupplier;
+
+
+ /** This optional interface gives access to the view properties within this
+ control for an office document.
+
+ @see ViewSettings
+ */
+ [optional] interface com::sun::star::view::XViewSettingsSupplier;
+
+
+ /** Within this office document view, this optional interface gives
+ access to the controls which belong to specified control models.
+ */
+ [optional] interface com::sun::star::view::XControlAccess;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/view/PaperFormat.idl b/offapi/com/sun/star/view/PaperFormat.idl
new file mode 100644
index 000000000..247a2a876
--- /dev/null
+++ b/offapi/com/sun/star/view/PaperFormat.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_view_PaperFormat_idl__
+#define __com_sun_star_view_PaperFormat_idl__
+
+
+
+module com { module sun { module star { module view {
+
+
+/** specifies the format (size) of the paper on a text document.
+ */
+published enum PaperFormat
+{
+ /** specifies the paper format as A3.
+ */
+ A3,
+
+ /** specifies the paper format as A4.
+ */
+ A4,
+
+ /** specifies the paper format as A5.
+ */
+ A5,
+
+ /** specifies the paper format as B4.
+ */
+ B4,
+
+ /** specifies the paper format as B5.
+ */
+ B5,
+
+ /** specifies the paper format as Letter.
+ */
+ LETTER,
+
+ /** specifies the paper format as Legal.
+ */
+ LEGAL,
+
+ /** specifies the paper format as Tabloid.
+ */
+ TABLOID,
+
+ /** The real paper size is user defined in 100th mm.
+ */
+ USER
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/view/PaperOrientation.idl b/offapi/com/sun/star/view/PaperOrientation.idl
new file mode 100644
index 000000000..91901a769
--- /dev/null
+++ b/offapi/com/sun/star/view/PaperOrientation.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_view_PaperOrientation_idl__
+#define __com_sun_star_view_PaperOrientation_idl__
+
+
+
+module com { module sun { module star { module view {
+
+
+/** specifies the orientation of the paper.
+ */
+published enum PaperOrientation
+{
+ /** set the paper orientation to portrait.
+ */
+ PORTRAIT,
+
+ /** set the paper orientation to landscape.
+ */
+ LANDSCAPE
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/view/PrintJobEvent.idl b/offapi/com/sun/star/view/PrintJobEvent.idl
new file mode 100644
index 000000000..8359f8312
--- /dev/null
+++ b/offapi/com/sun/star/view/PrintJobEvent.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_view_PrintJobEvent_idl__
+#define __com_sun_star_view_PrintJobEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+#include <com/sun/star/view/PrintableState.idl>
+
+
+module com { module sun { module star { module view {
+
+
+/** specifies the print progress of an XPrintJob.
+
+ <p>com::sun::star::lang::EventObject::Source
+ contains the XPrintJob having changed its state</p>.
+
+ @since OOo 1.1.2
+
+ */
+published struct PrintJobEvent : com::sun::star::lang::EventObject
+{
+ /// contains the current state.
+ PrintableState State;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/view/PrintOptions.idl b/offapi/com/sun/star/view/PrintOptions.idl
new file mode 100644
index 000000000..4ed8b23ba
--- /dev/null
+++ b/offapi/com/sun/star/view/PrintOptions.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_view_PrintOptions_idl__
+#define __com_sun_star_view_PrintOptions_idl__
+
+
+
+module com { module sun { module star { module view {
+
+
+/** describes the options for print jobs.
+
+ <p>These options are only valid for a single print job. They do not
+ change layout or formatting of the document.
+ */
+published service PrintOptions
+{
+ /** specifies the number of copies to print.
+ */
+ [property] short CopyCount;
+
+ /** if set, specifies the name of a file to print to.
+ */
+ [property] string FileName;
+
+ /** advises the printer to collate the pages of the copies.
+ */
+ [property] boolean Collate;
+
+ /** advises the printer to sort the pages of the copies.
+
+ @deprecated
+ Use Collate instead.
+ */
+ [property] boolean Sort;
+
+ /** specifies which pages to print.
+
+ <p>This range is given as at the user interface. For example: "1-4;10"
+ to print the pages 1 to 4 and 10. </p>
+ */
+ [property] string Pages;
+
+ /** if set to TRUE, the corresponding XPrintable.print() request will
+ be executed synchronous.
+
+ <p>Default is the asynchronous print mode.</p>
+
+ @attention Using of this property with TRUE as value is highly recommended.
+ Otherwise following actions (as e.g. closing the corresponding model) can fail.
+ */
+ [optional, property] boolean Wait;
+
+ /** determines the duplex mode for the print job.
+
+ @see DuplexMode for more information about supported values
+ */
+ [optional, property] short DuplexMode;
+
+ /** if set, specifies name of the printer to use.
+ */
+ [optional, property] string PrinterName;
+
+ /** advises the printer to create a single print job for each copy.
+ */
+ [optional, property] boolean SinglePrintJobs;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/view/PrintSettings.idl b/offapi/com/sun/star/view/PrintSettings.idl
new file mode 100644
index 000000000..e7671ea69
--- /dev/null
+++ b/offapi/com/sun/star/view/PrintSettings.idl
@@ -0,0 +1,91 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_view_PrintSettings_idl__
+#define __com_sun_star_view_PrintSettings_idl__
+
+
+
+module com { module sun { module star { module view {
+
+
+/** provides access to the settings for printing documents.
+
+ <p>These settings are printer independent but affect the rendering of
+ the document.
+ */
+published service PrintSettings
+{
+ /** If `TRUE`, all characters are printed in black.
+
+ <p>It is useful for printing colored text on a b/w printer.</p>
+ */
+ [property] boolean PrintBlackFonts;
+
+ /** If `TRUE`, control shapes are included in printing.
+ */
+ [property] boolean PrintControls;
+
+ /** If `TRUE`, drawing objects (shapes) are included in printing.
+ */
+ [property] boolean PrintDrawings;
+
+ /** If `TRUE`, graphic objects are included in printing.
+ */
+ [property] boolean PrintGraphics;
+
+ /** If `TRUE`, left pages are included in printing.
+ */
+ [property] boolean PrintLeftPages;
+
+ /** If `TRUE`, right pages are included in printing.
+ */
+ [property] boolean PrintRightPages;
+
+ /** If `TRUE`, tables are included in printing.
+ */
+ [property] boolean PrintTables;
+
+ /** If `TRUE`, the pages are printed in reverse order.
+
+ <p>The last page is printed first.</p>
+ */
+ [property] boolean PrintReversed;
+
+ /** If `TRUE`, the pages are printed in the order of prospects.
+ */
+ [property] boolean PrintProspect;
+
+ /** If `TRUE`, the background of the page is printed.
+ */
+ [property] boolean PrintPageBackground;
+
+ /** determines how annotations are printed.
+
+ @see NotePrintMode
+ */
+ [property] short PrintAnnotationMode;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/view/PrintableState.idl b/offapi/com/sun/star/view/PrintableState.idl
new file mode 100644
index 000000000..b687d8174
--- /dev/null
+++ b/offapi/com/sun/star/view/PrintableState.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_view_PrintableState_idl__
+#define __com_sun_star_view_PrintableState_idl__
+
+
+
+module com { module sun { module star { module view {
+
+
+/** specifies the print progress of an XPrintable.
+
+ <p>Printing consists of two abstract phases: rendering the document
+ for the printer and then sending it to the printer (spooling).
+ PrintableState describes which phase is currently
+ progressing or has failed.</p>
+
+ @see PrintableStateEvent
+ */
+published enum PrintableState
+{
+ /** printing (rendering the document) has begun
+ */
+ JOB_STARTED,
+
+ /** printing (rendering the document) has finished, spooling has begun
+ */
+ JOB_COMPLETED,
+
+ /** spooling has finished successfully. This is the only state
+ that can be considered as "success" for a print job.
+ */
+ JOB_SPOOLED,
+
+ /** printing was aborted (e.g., by the user) while either printing or spooling.
+ */
+ JOB_ABORTED,
+
+ /** printing ran into an error.
+ */
+ JOB_FAILED,
+
+ /** the document could be printed but not spooled.
+ */
+ JOB_SPOOLING_FAILED
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/view/PrintableStateEvent.idl b/offapi/com/sun/star/view/PrintableStateEvent.idl
new file mode 100644
index 000000000..41a3fa5f5
--- /dev/null
+++ b/offapi/com/sun/star/view/PrintableStateEvent.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_view_PrintableStateEvent_idl__
+#define __com_sun_star_view_PrintableStateEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+#include <com/sun/star/view/PrintableState.idl>
+
+
+module com { module sun { module star { module view {
+
+
+/** specifies the print progress of an XPrintable.
+
+ <p>com::sun::star::lang::EventObject::Source
+ contains the XPrintable having changed its state</p>.
+
+ */
+published struct PrintableStateEvent : com::sun::star::lang::EventObject
+{
+ /// contains the current state.
+ PrintableState State;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/view/PrinterDescriptor.idl b/offapi/com/sun/star/view/PrinterDescriptor.idl
new file mode 100644
index 000000000..29f2b1360
--- /dev/null
+++ b/offapi/com/sun/star/view/PrinterDescriptor.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_view_PrinterDescriptor_idl__
+#define __com_sun_star_view_PrinterDescriptor_idl__
+
+#include <com/sun/star/view/PaperOrientation.idl>
+
+#include <com/sun/star/view/PaperFormat.idl>
+
+#include <com/sun/star/awt/Size.idl>
+
+
+
+module com { module sun { module star { module view {
+
+
+/** describes a printer by specifying the queue name and some settings.
+
+ <p>This service may be represented by a
+ com::sun::star::beans::PropertyValue[].
+
+ @see com::sun::star::beans::PropertyValue
+ */
+published service PrinterDescriptor
+{
+ /** specifies the name of the printer queue to be used.
+
+ <p>Which printer queues are available, can be figured out with the
+ system library of the used programming language/environment.
+ */
+ [property] string Name;
+
+ /** specifies the orientation of the paper.
+ */
+ [property] com::sun::star::view::PaperOrientation PaperOrientation;
+
+ /** specifies a predefined paper size or if the paper size
+ is a user-defined size.
+
+ <p>Setting this property may change the value of
+ PrinterDescriptor::PaperSize.</p>
+ */
+ [property] com::sun::star::view::PaperFormat PaperFormat;
+
+ /** specifies the size of the paper in 100th mm.
+
+ <p>Setting this property may change the value of
+ PrinterDescriptor::PaperFormat.</p>
+ */
+ [property] com::sun::star::awt::Size PaperSize;
+
+ /** indicates, whether the printer is busy or not.
+ */
+ [readonly, property] boolean IsBusy;
+
+ /** indicates, whether the printer allows changes to
+ PrinterDescriptor::PaperOrientation.
+ */
+ [readonly, property] boolean CanSetPaperOrientation;
+
+ /** indicates, whether the printer allows changes to
+ PrinterDescriptor::PaperFormat.
+ */
+ [readonly, property] boolean CanSetPaperFormat;
+
+
+ /** indicates if the printer allows changes to
+ PrinterDescriptor::PaperSize.
+ */
+ [readonly, property] boolean CanSetPaperSize;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/view/RenderDescriptor.idl b/offapi/com/sun/star/view/RenderDescriptor.idl
new file mode 100644
index 000000000..ec35bee8a
--- /dev/null
+++ b/offapi/com/sun/star/view/RenderDescriptor.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_view_RenderDescriptor_idl__
+#define __com_sun_star_view_RenderDescriptor_idl__
+
+#include <com/sun/star/awt/Size.idl>
+
+
+module com { module sun { module star { module view {
+
+
+/** describes the options for Render jobs.
+
+ @since OOo 1.1.2
+ */
+published service RenderDescriptor
+{
+
+ /** specifies the page size for the current renderer. The unit of this page
+ size is 1/100th mm.
+ */
+ [property] com::sun::star::awt::Size PageSize;
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/view/RenderOptions.idl b/offapi/com/sun/star/view/RenderOptions.idl
new file mode 100644
index 000000000..747315584
--- /dev/null
+++ b/offapi/com/sun/star/view/RenderOptions.idl
@@ -0,0 +1,96 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_view_RenderOptions_idl__
+#define __com_sun_star_view_RenderOptions_idl__
+
+#include <com/sun/star/awt/XDevice.idl>
+
+
+module com { module sun { module star { module view {
+
+
+/** describes the options for Render jobs.
+
+ @since OOo 1.1.2
+ */
+published service RenderOptions
+{
+
+ /** specifies the device the page should be rendered to
+ */
+ [property] com::sun::star::awt::XDevice RenderDevice;
+
+
+ /** indicates that the current page is the first page to be exported.
+
+ <p>Hyperlinks, notes, and outlines cannot be exported on a per
+ page base. They have to be exported once *before* the first page
+ is exported. Therefore the IsFirstPage property has been introduced.
+ It is evaluated in the render function and indicates that the
+ current page is the first page to be exported.
+ </p>
+
+ @see XRenderable
+ */
+ [optional, property] boolean IsFirstPage;
+
+ /** indicates that the current page is the last page to be exported.
+
+ <p>Hyperlinks from the EditEngine have to be exported once *after*
+ the last page has been processed. Therefore the IsLastPage property
+ has been introduced. It is evaluated in the render function and
+ indicates that the current page is the last page to be exported.
+ </p>
+
+ @see XRenderable
+ */
+ [optional, property] boolean IsLastPage;
+
+ /** specifies if empty pages should be skipped.
+
+ <p>Tells the PDF export to skip empty pages. This flag also has
+ to be passed to the render function, in order to calculate to
+ correct page numbers during the export of hyperlinks, notes, and
+ outlines.
+ </p>
+
+ @see XRenderable
+ */
+ [optional, property] boolean IsSkipEmptyPages;
+
+ /** specifies the page ranges to be rendered.
+
+ <p>Tells the PDF export to skip empty pages. This flag also has
+ to be passed to the render function, in order to calculate to
+ correct page numbers during the export of hyperlinks, notes,
+ and outlines.
+ </p>
+
+ @see XRenderable
+ */
+ [optional, property] string PageRange;
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/view/SelectionType.idl b/offapi/com/sun/star/view/SelectionType.idl
new file mode 100644
index 000000000..5cf828945
--- /dev/null
+++ b/offapi/com/sun/star/view/SelectionType.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_view_SelectionType_idl__
+#define __com_sun_star_view_SelectionType_idl__
+
+
+module com { module sun { module star { module view {
+
+
+/** Specifies a selection type for a view that supports a selection model.
+ */
+published enum SelectionType
+{
+
+ /** No selection is possible.
+ <p>The selection is always empty.</p>
+ */
+ NONE,
+
+
+ /** The selection can only contain one or zero objects.
+ */
+ SINGLE,
+
+
+ /** The selection can contain zero or more objects.
+ */
+ MULTI,
+
+
+ /** The selection can contain zero or more objects.
+ <p>all selected objects must be part of a continues range</p>
+ */
+ RANGE
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/view/ViewSettings.idl b/offapi/com/sun/star/view/ViewSettings.idl
new file mode 100644
index 000000000..788a195e3
--- /dev/null
+++ b/offapi/com/sun/star/view/ViewSettings.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_view_ViewSettings_idl__
+#define __com_sun_star_view_ViewSettings_idl__
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+
+module com { module sun { module star { module view {
+
+
+/** provides access to the settings of the controller of an office document.
+ */
+published service ViewSettings
+{
+ interface com::sun::star::beans::XPropertySet;
+
+ /** If this property is `TRUE`, the horizontal ruler is displayed.
+ */
+ [optional, property] boolean ShowHoriRuler;
+
+ /** If this property is `TRUE`, the horizontal scroll bar is displayed.
+ */
+ [optional, property] boolean ShowHoriScrollBar;
+
+ /** specifies the zoom-value in percent.
+ */
+ [optional, property] short ZoomValue;
+
+ /** If this property is `TRUE`, the vertical ruler is displayed.
+ */
+ [optional, property] boolean ShowVertRuler;
+
+ /** If this property is `TRUE`, the vertical scroll bar is displayed.
+ */
+ [optional, property] boolean ShowVertScrollBar;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/view/XControlAccess.idl b/offapi/com/sun/star/view/XControlAccess.idl
new file mode 100644
index 000000000..19060b184
--- /dev/null
+++ b/offapi/com/sun/star/view/XControlAccess.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_view_XControlAccess_idl__
+#define __com_sun_star_view_XControlAccess_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/awt/XControl.idl>
+
+#include <com/sun/star/awt/XControlModel.idl>
+
+#include <com/sun/star/container/NoSuchElementException.idl>
+
+
+
+module com { module sun { module star { module view {
+
+
+/** provides access to the controls in a view.
+
+ @see com::sun::star::frame::XController
+ */
+published interface XControlAccess: com::sun::star::uno::XInterface
+{
+ /** is called to get the control from the specified control model.
+ */
+ com::sun::star::awt::XControl getControl( [in] com::sun::star::awt::XControlModel xModel )
+ raises( com::sun::star::container::NoSuchElementException );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/view/XFormLayerAccess.idl b/offapi/com/sun/star/view/XFormLayerAccess.idl
new file mode 100644
index 000000000..f498f688c
--- /dev/null
+++ b/offapi/com/sun/star/view/XFormLayerAccess.idl
@@ -0,0 +1,91 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_view_XFormLayerAccess_idl__
+#define __com_sun_star_view_XFormLayerAccess_idl__
+
+#include <com/sun/star/view/XControlAccess.idl>
+#include <com/sun/star/form/XForm.idl>
+#include <com/sun/star/form/runtime/XFormController.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+module com { module sun { module star { module view {
+
+
+/** provides access to the form layer elements in a view
+
+ @since OOo 2.3
+ */
+interface XFormLayerAccess
+{
+ /// provides access to form controls contained in the view
+ interface XControlAccess;
+
+ /** returns the com::sun::star::form::FormController
+ instance which operates on a given form.
+
+ <p>A form controller is a component which controls the user interaction
+ with the form layer, as long as the form is not in design mode.</p>
+
+ @return
+ the requested form controller, or `NULL` if the view's
+ form layer is currently in design mode. Note that the returned
+ instance becomes non-functional as soon as the form layer is switched
+ to design mode.
+
+ @see isDesignMode
+ @see setDesignMode
+ @see ::com::sun::star::form::runtime::FormController
+ @see ::com::sun::star::form::runtime::FormOperations
+ */
+ ::com::sun::star::form::runtime::XFormController
+ getFormController(
+ [in] ::com::sun::star::form::XForm Form
+ );
+
+ /** determines whether the view's form layer is currently in design
+ or alive mode
+
+ <p><em>Note</em>: This is a convenience method. In the user interface,
+ the design mode is coupled with the <code>.uno:SwitchControlDesignMode</code>
+ feature (see com::sun::star::frame::XDispatchProvider),
+ and asking for the current mode is the same as asking for the state of this
+ feature.</p>
+ */
+ boolean isFormDesignMode();
+
+ /** determines whether the view's form layer is currently in design
+ or alive mode
+
+ <p><em>Note</em>: This is a convenience method. In the user interface,
+ the design mode is coupled with the <code>.uno:SwitchControlDesignMode</code>
+ feature (see com::sun::star::frame::XDispatchProvider),
+ and changing the current mode is the same as dispatching this feature URL.</p>
+ */
+ void setFormDesignMode( [in] boolean DesignMode );
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/view/XLineCursor.idl b/offapi/com/sun/star/view/XLineCursor.idl
new file mode 100644
index 000000000..fc125f653
--- /dev/null
+++ b/offapi/com/sun/star/view/XLineCursor.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_view_XLineCursor_idl__
+#define __com_sun_star_view_XLineCursor_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+module com { module sun { module star { module view {
+
+
+/** makes it possible to move a cursor by lines within laid out text.
+
+ @see com::sun::star::table::CellCursor
+ @see com::sun::star::text::TextCursor
+ @see com::sun::star::text::XTextViewCursor
+ */
+published interface XLineCursor: com::sun::star::uno::XInterface
+{
+ /** determines if the cursor is positioned at the start of a line.
+ */
+ boolean isAtStartOfLine();
+
+ /** determines if the cursor is positioned at the end of a line.
+ */
+ boolean isAtEndOfLine();
+
+ /** moves the cursor to the end of the current line.
+
+ @param bExpand
+ determines whether the text range of the cursor is expanded (`TRUE`)
+ or the cursor will be just at the new position after the move (`FALSE`).
+ */
+ void gotoEndOfLine( [in] boolean bExpand );
+
+ /** moves the cursor to the start of the current line.
+
+ @param bExpand
+ determines whether the text range of the cursor is expanded (`TRUE`)
+ or the cursor will be just at the new position after the move (`FALSE`).
+ */
+ void gotoStartOfLine( [in] boolean bExpand );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/view/XMultiSelectionSupplier.idl b/offapi/com/sun/star/view/XMultiSelectionSupplier.idl
new file mode 100644
index 000000000..d7c8bd9e0
--- /dev/null
+++ b/offapi/com/sun/star/view/XMultiSelectionSupplier.idl
@@ -0,0 +1,113 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_view_XMultiSelectionSupplier_idl__
+#define __com_sun_star_view_XMultiSelectionSupplier_idl__
+
+#include <com/sun/star/view/XSelectionSupplier.idl>
+#include <com/sun/star/container/XEnumeration.idl>
+
+
+module com { module sun { module star { module view {
+
+
+/** makes it possible to append and remove objects from a selection.
+
+ <p>The method XSelectionSupplier::setSelection() for an
+ instance that also supports XMultiSelectionSupplier should
+ be implemented that it also takes either a selectable object or a sequence
+ of selectable objects.</p>
+
+ <p>Adding an object more than once to a selection should not toggle the
+ selection for that object but only select it once</p>
+ */
+interface XMultiSelectionSupplier: XSelectionSupplier
+{
+
+ /** adds the object or the objects represented by <var>Selection</var> to the selection
+ of this XMultiSelectionSupplier.
+
+ @param Selection
+ either an Object that is selectable or a sequence of objects that are selectable.
+
+ @returns
+ `TRUE`/, if <var>Selection</var> was added to the current selection.
+ `FALSE`, if <var>Selection</var> or parts of <var>Selection</var> could not be
+ added to the current selection. For example, if the selection already contains
+ objects that are forbidden to be selected together with <var>Selection</var>
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ If <var>Selection</var> is not a selectable object for this XMultiSelectionSupplier.
+ <p>Adding an object to the selection that is already part of the selection should not raise this exception</p>
+ */
+ boolean addSelection( [in] any Selection )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+
+ /** remove the object or objects represented by <var>Selection</var> from the
+ selection of this XMultiSelectionSupplier.
+
+ @param Selection
+ either an Object that is selectable or a sequence of objects that are selectable.
+
+ @returns
+ `TRUE`/, if <var>Selection</var> was added to the current selection.
+ `FALSE`, if <var>Selection</var> or parts of <var>Selection</var> could not be
+ added to the current selection. For example, if the selection already contains
+ objects that are forbidden to be selected together with <var>Selection</var>.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ If <var>Selection</var> is not a selectable object for this XMultiSelectionSupplier.
+ <p>Removing an object from the selection that is not part of the selection should not raise this exception</p>
+ */
+ void removeSelection( [in] any Selection )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+
+ /** clears the selection of this XMultiSelectionSupplier.
+ */
+ void clearSelection();
+
+
+ /** returns the number of selected objects of this XMultiSelectionSupplier.
+ */
+ long getSelectionCount();
+
+
+ /** @returns
+ a new object to enumerate the selection of this XMultiSelectionSupplier.
+ It returns NULL if there are no objects in the selection.
+ */
+ com::sun::star::container::XEnumeration createSelectionEnumeration();
+
+
+ /** @returns
+ a new object to enumerate the selection of this XMultiSelectionSupplier
+ in reverse order. If the order of the selected objects
+ It returns NULL if there are no objects in the selection.
+ */
+ com::sun::star::container::XEnumeration createReverseSelectionEnumeration();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/view/XPrintJob.idl b/offapi/com/sun/star/view/XPrintJob.idl
new file mode 100644
index 000000000..d01bab007
--- /dev/null
+++ b/offapi/com/sun/star/view/XPrintJob.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_view_XPrintJob_idl__
+#define __com_sun_star_view_XPrintJob_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/view/XPrintable.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+
+
+
+module com { module sun { module star { module view {
+
+/** allows for getting information about a print job.
+
+ <p>XPrintJob is implemented by print jobs that are created by
+ classes that implement XPrintable. It gives information about
+ the context of the print job.</p>
+
+ @see XPrintJobListener
+
+ @since OOo 1.1.2
+ */
+published interface XPrintJob : com::sun::star::uno::XInterface
+{
+ /** returns the PrintOptions used for the print job
+ */
+ sequence<com::sun::star::beans::PropertyValue> getPrintOptions();
+
+ /** returns the Printer used for the print job
+ */
+ sequence<com::sun::star::beans::PropertyValue> getPrinter();
+
+ /** returns the printed object used for the print job
+ */
+ XPrintable getPrintable();
+
+ void cancelJob();
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/view/XPrintJobBroadcaster.idl b/offapi/com/sun/star/view/XPrintJobBroadcaster.idl
new file mode 100644
index 000000000..dec3733f9
--- /dev/null
+++ b/offapi/com/sun/star/view/XPrintJobBroadcaster.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_view_XPrintJobBroadcaster_idl__
+#define __com_sun_star_view_XPrintJobBroadcaster_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/view/XPrintJobListener.idl>
+
+
+module com { module sun { module star { module view {
+
+/** allows for getting information about a print job.
+
+ <p>XPrintJobBroadcaster can be implemented by classes which
+ implement XPrintable. It allows a XPrintJobListener
+ to be registered, thus a client object will learn about the print progress.</p>
+
+ @see XPrintJobListener
+
+ @since OOo 1.1.2
+ */
+published interface XPrintJobBroadcaster : com::sun::star::uno::XInterface
+{
+ /** adds an XPrintJobListener to be notified about print progress.
+ */
+ void addPrintJobListener( [in] XPrintJobListener xListener );
+
+ /** removes an XPrintJobListener.
+ */
+ void removePrintJobListener( [in] XPrintJobListener xListener );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/view/XPrintJobListener.idl b/offapi/com/sun/star/view/XPrintJobListener.idl
new file mode 100644
index 000000000..7c7adfccd
--- /dev/null
+++ b/offapi/com/sun/star/view/XPrintJobListener.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_view_XPrintJobListener_idl__
+#define __com_sun_star_view_XPrintJobListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+#include <com/sun/star/view/PrintJobEvent.idl>
+
+
+module com { module sun { module star { module view {
+
+/** receives events about print job progress.
+
+ <p>XPrintJobListener can be registered to XPrintJobBroadcaster.
+ Then, the client object will be notified when a new print job starts or its state changes.</p>
+
+ @see XPrintJobBroadcaster
+ @see XPrintJob
+
+ @since OOo 1.1.2
+ */
+published interface XPrintJobListener : com::sun::star::lang::XEventListener
+{
+ /** informs the user about the creation or the progress of a PrintJob
+ @param Event
+ contains the XPrintJob having changed state and the new state.
+ */
+ void printJobEvent( [in] PrintJobEvent Event );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/view/XPrintSettingsSupplier.idl b/offapi/com/sun/star/view/XPrintSettingsSupplier.idl
new file mode 100644
index 000000000..6ce20217d
--- /dev/null
+++ b/offapi/com/sun/star/view/XPrintSettingsSupplier.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_view_XPrintSettingsSupplier_idl__
+#define __com_sun_star_view_XPrintSettingsSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+
+
+module com { module sun { module star { module view {
+
+
+/** offers printing related settings, which affect document rendering,
+ but are not related to the printer itself.
+ */
+published interface XPrintSettingsSupplier: com::sun::star::uno::XInterface
+{
+
+ /** @returns
+ a set of properties which are related to printing.
+
+ @see PrintSettings
+ */
+ com::sun::star::beans::XPropertySet getPrintSettings();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/view/XPrintable.idl b/offapi/com/sun/star/view/XPrintable.idl
new file mode 100644
index 000000000..efc4fbf9c
--- /dev/null
+++ b/offapi/com/sun/star/view/XPrintable.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_view_XPrintable_idl__
+#define __com_sun_star_view_XPrintable_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/beans/PropertyValue.idl>
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+
+module com { module sun { module star { module view {
+
+
+/** offers printing functionality.
+ */
+published interface XPrintable: com::sun::star::uno::XInterface
+{
+ /** @returns
+ a descriptor of the current printer.
+
+ <p>The attributes of the current printer are used for formatting.
+
+ @see PrinterDescriptor
+ */
+ sequence<com::sun::star::beans::PropertyValue> getPrinter();
+
+ /** assigns a new printer to the object.
+
+ <p>Setting a new printer will cause reformatting.
+
+ @see PrinterDescriptor
+ */
+ void setPrinter( [in] sequence<com::sun::star::beans::PropertyValue> aPrinter )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** prints the object.
+
+ @param xOptions
+ specifies the number of copies and some other values which do not
+ affect formatting.
+
+ @see PrintOptions
+ */
+ void print( [in] sequence<com::sun::star::beans::PropertyValue> xOptions )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/view/XPrintableBroadcaster.idl b/offapi/com/sun/star/view/XPrintableBroadcaster.idl
new file mode 100644
index 000000000..e2613f696
--- /dev/null
+++ b/offapi/com/sun/star/view/XPrintableBroadcaster.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_view_XPrintableBroadcaster_idl__
+#define __com_sun_star_view_XPrintableBroadcaster_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/view/XPrintableListener.idl>
+
+
+module com { module sun { module star { module view {
+
+/** allows for getting information about a print job.
+
+ <p>XPrintableBroadcaster can be implemented by classes which
+ implement XPrintable. It allows a XPrintableListener
+ to be registered, thus a client object will learn about the print progress.</p>
+
+ @see XPrintableListener
+ */
+published interface XPrintableBroadcaster : com::sun::star::uno::XInterface
+{
+ /** adds an XPrintableListener to be notified about print progress.
+ */
+ void addPrintableListener( [in] XPrintableListener xListener );
+
+ /** removes an XPrintableListener.
+ */
+ void removePrintableListener( [in] XPrintableListener xListener );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/view/XPrintableListener.idl b/offapi/com/sun/star/view/XPrintableListener.idl
new file mode 100644
index 000000000..89c178914
--- /dev/null
+++ b/offapi/com/sun/star/view/XPrintableListener.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_view_XPrintableListener_idl__
+#define __com_sun_star_view_XPrintableListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+#include <com/sun/star/view/XPrintable.idl>
+
+#include <com/sun/star/view/PrintableStateEvent.idl>
+
+
+module com { module sun { module star { module view {
+
+/** receives events about print job progress.
+
+ <p>XPrintableListener can be registered to XPrintableBroadcaster.
+ Then, the client object will receive events about print progress. </p>
+
+ @see XPrintableBroadcaster
+ */
+published interface XPrintableListener : com::sun::star::lang::XEventListener
+{
+ /** informs the user of the new state in print progress.
+
+ @param Event
+ contains the XPrintable having changed state and the new state.
+ */
+ void stateChanged( [in] PrintableStateEvent Event );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/view/XRenderable.idl b/offapi/com/sun/star/view/XRenderable.idl
new file mode 100644
index 000000000..527bddc3b
--- /dev/null
+++ b/offapi/com/sun/star/view/XRenderable.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_view_XRenderable_idl__
+#define __com_sun_star_view_XRenderable_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/beans/PropertyValue.idl>
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+module com { module sun { module star { module view {
+
+
+/** represents something that can be rendered.
+
+ @since OOo 1.1.2
+ */
+published interface XRenderable : com::sun::star::uno::XInterface
+{
+
+ /** @returns
+ the count of renderers (based on paper count of a document, for example).
+
+ <p> If a selection is given, the count has to be calculated
+ based on this selection. The other methods of this interface
+ will rely on this value if called.
+
+ <p> If the selection contains a valid XModel interface,
+ it is assumed that the whole document should be rendered.
+ If the selection is empty, nothing should be rendered.
+
+ @see RenderOptions
+ */
+ long getRendererCount( [in] any aSelection, [in] sequence<com::sun::star::beans::PropertyValue> xOptions )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+
+ /** @returns
+ a descriptor of the specific renderer.
+
+ <p> returns the specific renderer properties based on the given selection.
+
+ <p> If the selection contains a valid XModel interface,
+ it is assumed that the whole document should be rendered.
+ If the selection is empty, nothing should be rendered.
+
+ @see RenderDescriptor
+ @see RenderOptions
+ */
+ sequence<com::sun::star::beans::PropertyValue> getRenderer( [in] long nRenderer, [in] any aSelection, [in] sequence<com::sun::star::beans::PropertyValue> xOptions )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+
+ /** renders the object.
+
+ <p> renders the object with the specific renderer based on the given selection.
+
+ <p> If the selection contains a valid XModel interface,
+ it is assumed that the whole document should be rendered.
+ If the selection is empty, nothing should be rendered.
+
+ @see RenderOptions
+ */
+ void render( [in] long nRenderer, [in] any aSelection, [in] sequence<com::sun::star::beans::PropertyValue> xOptions )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/view/XScreenCursor.idl b/offapi/com/sun/star/view/XScreenCursor.idl
new file mode 100644
index 000000000..82a4a09da
--- /dev/null
+++ b/offapi/com/sun/star/view/XScreenCursor.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_view_XScreenCursor_idl__
+#define __com_sun_star_view_XScreenCursor_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+module com { module sun { module star { module view {
+
+
+/** makes it possible to page through the document in steps of the displayed size.
+ */
+published interface XScreenCursor: com::sun::star::uno::XInterface
+{
+ /** scrolls the view forward by one visible page.
+ */
+ boolean screenDown();
+
+ /** scrolls the view backward by one visible page.
+ */
+ boolean screenUp();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/view/XSelectionChangeListener.idl b/offapi/com/sun/star/view/XSelectionChangeListener.idl
new file mode 100644
index 000000000..24fc610f4
--- /dev/null
+++ b/offapi/com/sun/star/view/XSelectionChangeListener.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_view_XSelectionChangeListener_idl__
+#define __com_sun_star_view_XSelectionChangeListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+
+#include <com/sun/star/lang/EventObject.idl>
+
+
+
+module com { module sun { module star { module view {
+
+
+/** makes it possible to receive an event when the current selection changes.
+
+ @see com::sun::star::view::XSelectionSupplier
+ */
+published interface XSelectionChangeListener: com::sun::star::lang::XEventListener
+{
+
+ /** is called when the selection changes.
+
+ <p>You can get the new selection via XSelectionSupplier from
+ com::sun::star::lang::EventObject::Source.
+
+ */
+ void selectionChanged( [in] com::sun::star::lang::EventObject aEvent );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/view/XSelectionSupplier.idl b/offapi/com/sun/star/view/XSelectionSupplier.idl
new file mode 100644
index 000000000..b4d0efa2e
--- /dev/null
+++ b/offapi/com/sun/star/view/XSelectionSupplier.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_view_XSelectionSupplier_idl__
+#define __com_sun_star_view_XSelectionSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+#include <com/sun/star/view/XSelectionChangeListener.idl>
+
+
+
+module com { module sun { module star { module view {
+
+
+/** makes it possible to access and change the selection in a view.
+
+ @see OfficeDocumentView
+ */
+published interface XSelectionSupplier: com::sun::star::uno::XInterface
+{
+ /** selects the object represented by <var>xSelection</var> if it is
+ known and selectable in this object.
+ */
+ boolean select( [in] any xSelection )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** @returns
+ the current selection.
+
+ <p>The selection is either specified by an object which is contained
+ in the component to which the view belongs, or it is an interface of a
+ collection which contains such objects.
+ */
+ any getSelection();
+
+ /** registers an event listener, which is called when the selection changes.
+ */
+ void addSelectionChangeListener( [in] com::sun::star::view::XSelectionChangeListener xListener );
+
+ /** unregisters an event listener which was registered with
+ XSelectionSupplier::addSelectionChangeListener().
+ */
+ void removeSelectionChangeListener( [in] com::sun::star::view::XSelectionChangeListener xListener );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/view/XViewCursor.idl b/offapi/com/sun/star/view/XViewCursor.idl
new file mode 100644
index 000000000..5f20dca37
--- /dev/null
+++ b/offapi/com/sun/star/view/XViewCursor.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_view_XViewCursor_idl__
+#define __com_sun_star_view_XViewCursor_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+module com { module sun { module star { module view {
+
+
+/** makes it possible to move a cursor up/down/left/right within laid out text.
+
+ @see com::sun::star::table::CellCursor
+ @see com::sun::star::text::TextCursor
+ @see com::sun::star::view::XLineCursor
+ */
+published interface XViewCursor: com::sun::star::uno::XInterface
+{
+ /** moves the cursor the specified number of lines down.
+
+ @param nCount
+ specifies the number of lines to go down.
+
+ @param bExpand
+ determines whether the text range of the cursor is expanded (`TRUE`)
+ or the cursor will be just at the new position after the move (`FALSE`).
+
+ @returns
+ `TRUE` if the cursor was moved,
+ or `FALSE` if it was already in the bottom row.
+ */
+ boolean goDown( [in] short nCount, [in] boolean bExpand );
+
+ /** moves the cursor the specified number of lines up.
+
+ @param nCount
+ specifies the number of lines to go up.
+
+ @param bExpand
+ determines whether the text range of the cursor is expanded (`TRUE`)
+
+ @returns
+ `TRUE` if the cursor was moved,
+ or `FALSE` if it was already in the top row.
+ */
+ boolean goUp( [in] short nCount, [in] boolean bExpand );
+
+ /** moves the cursor the specified number of characters to the left.
+
+ @param nCount
+ specifies the number of characters to move.
+
+ @param bExpand
+ determines whether the text range of the cursor is expanded (`TRUE`)
+
+ @returns
+ `TRUE` if the cursor was moved,
+ or `FALSE` if it was already at the leftmost position.
+ */
+ boolean goLeft( [in] short nCount, [in] boolean bExpand );
+
+ /** moves the cursor the specified number of characters to the right.
+
+ @param nCount
+ specifies the number of characters to move.
+
+ @param bExpand
+ determines whether the text range of the cursor is expanded (`TRUE`)
+
+ @returns
+ `TRUE` if the cursor was moved,
+ or `FALSE` if it was already at the rightmost position.
+ */
+ boolean goRight( [in] short nCount, [in] boolean bExpand );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/view/XViewSettingsSupplier.idl b/offapi/com/sun/star/view/XViewSettingsSupplier.idl
new file mode 100644
index 000000000..f00c38207
--- /dev/null
+++ b/offapi/com/sun/star/view/XViewSettingsSupplier.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_view_XViewSettingsSupplier_idl__
+#define __com_sun_star_view_XViewSettingsSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+
+
+module com { module sun { module star { module view {
+
+
+/** provides access to the view settings of the object.
+ */
+published interface XViewSettingsSupplier: com::sun::star::uno::XInterface
+{
+
+ /** @returns
+ an interface to the ViewSettings.
+
+ <p>Subclasses might be returned instead, offering more settings. </p>
+ */
+ com::sun::star::beans::XPropertySet getViewSettings();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xforms/Binding.idl b/offapi/com/sun/star/xforms/Binding.idl
new file mode 100644
index 000000000..20fce5373
--- /dev/null
+++ b/offapi/com/sun/star/xforms/Binding.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_xforms_Binding_idl__
+#define __com_sun_star_xforms_Binding_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/form/binding/ValueBinding.idl>
+#include <com/sun/star/form/binding/ListEntrySource.idl>
+#include <com/sun/star/form/validation/XValidator.idl>
+#include <com/sun/star/xml/NamespaceContainer.idl>
+
+
+module com { module sun { module star { module xforms {
+
+interface XSubmission;
+
+
+/** represent a binding to one or more nodes in the DOM tree of an XModel.
+ */
+service Binding
+{
+ /** allows the binding to act as value supplier for a form component
+
+ @see com::sun::star::form::binding::BindableControlModel
+ */
+ service com::sun::star::form::binding::ValueBinding;
+
+ /** allows external instances to observe the value represented by the binding
+
+ <p>This interface is an optional part of the
+ com::sun::star::form::binding::ValueBinding service, but loses
+ its optionality here.</p>
+ */
+ interface com::sun::star::util::XModifyBroadcaster;
+
+ /** allows the binding to act as source for list entries of form controls
+
+ <p>If a binding is associated with more than one node in a DOM tree, it
+ does not represent a single value, but a list of values. Using this interface,
+ this list can be displayed in form control list and combo boxes.</p>
+ */
+ service com::sun::star::form::binding::ListEntrySource;
+
+ /** allows the binding to act as validator for a form component
+
+ @see com::sun::star::form::binding::ValidatableControlModel
+ */
+ interface com::sun::star::form::validation::XValidator;
+
+ /** among other properties, there is this one
+
+ <p>It is unclear to me whether this is an implementation detail
+ or a supported interface.</p>
+ <p>The value supports the service
+ com::sun::star::xml::NamespaceContainer</p>
+
+ @see com::sun::star::xml::NamespaceContainer
+ */
+ [optional, property] com::sun::star::container::XNameContainer
+ BindingNamespaces;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xforms/InvalidDataOnSubmitException.idl b/offapi/com/sun/star/xforms/InvalidDataOnSubmitException.idl
new file mode 100644
index 000000000..653a12730
--- /dev/null
+++ b/offapi/com/sun/star/xforms/InvalidDataOnSubmitException.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_xforms_InvalidDataOnSubmitException_idl__
+#define __com_sun_star_xforms_InvalidDataOnSubmitException_idl__
+
+#include <com/sun/star/util/VetoException.idl>
+
+
+module com { module sun { module star { module xforms {
+
+
+/** thrown if the user triggers an XForms submission with invalid
+ instance data
+
+ The com::sun::star::uno::Exception::Source member
+ refers to the submission which was invoked.
+
+*/
+exception InvalidDataOnSubmitException : com::sun::star::util::VetoException
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xforms/Model.idl b/offapi/com/sun/star/xforms/Model.idl
new file mode 100644
index 000000000..186ae8891
--- /dev/null
+++ b/offapi/com/sun/star/xforms/Model.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_xforms_Model_idl__
+#define __com_sun_star_xforms_Model_idl__
+
+#include <com/sun/star/xforms/XModel2.idl>
+
+
+module com { module sun { module star { module xforms {
+
+/**
+ @since LibreOffice 4.1
+ */
+service Model : XModel2;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xforms/XDataTypeRepository.idl b/offapi/com/sun/star/xforms/XDataTypeRepository.idl
new file mode 100644
index 000000000..86db2301e
--- /dev/null
+++ b/offapi/com/sun/star/xforms/XDataTypeRepository.idl
@@ -0,0 +1,97 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_xforms_XDataTypeRepository_idl__
+#define __com_sun_star_xforms_XDataTypeRepository_idl__
+
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#include <com/sun/star/container/XNameAccess.idl>
+#include <com/sun/star/xsd/XDataType.idl>
+#include <com/sun/star/container/NoSuchElementException.idl>
+#include <com/sun/star/container/ElementExistException.idl>
+#include <com/sun/star/util/VetoException.idl>
+
+
+module com { module sun { module star { module xforms {
+
+/** specifies a repository of XSD data types
+
+ <p>The elements of the repository are instances supporting the com::sun::star::xsd::XDataType
+ interface.</p>
+*/
+interface XDataTypeRepository
+{
+ /** provides access to an enumeration of the contained data types
+ */
+ interface com::sun::star::container::XEnumerationAccess;
+
+ /** provides untyped access to the elements of the repository, as well as meta information
+ such as the names of all contained types, and the existence of a named type
+ */
+ interface com::sun::star::container::XNameAccess;
+
+ /** retrieves the basic type for the given type class
+
+ @see com::sun::star::xsd::DataTypeClass
+
+ @throws com::sun::star::container::NoSuchElementException
+ if in the repository, there is no data type with the given class
+ */
+ com::sun::star::xsd::XDataType
+ getBasicDataType( [in] short dataTypeClass )
+ raises ( com::sun::star::container::NoSuchElementException );
+
+ /** creates a clone of the given data type, and inserts it into the repository
+
+ @throws com::sun::star::container::NoSuchElementException
+ if the given name does not refer to a type in the repository
+
+ @throws com::sun::star::container::ElementExistException
+ if the new name is already used in the repository
+ */
+ com::sun::star::xsd::XDataType
+ cloneDataType( [in] string sourceName, [in] string newName )
+ raises( com::sun::star::container::NoSuchElementException, com::sun::star::container::ElementExistException );
+
+ /** removes a data type given by name from the repository
+
+ @throws com::sun::star::container::NoSuchElementException
+ if the given name does not refer to a type in the repository
+
+ @throws com::sun::star::util::VetoException
+ if the specified data type is a built-in (basic) data type, and cannot
+ be removed
+
+ @see com::sun::star::xsd::XDataType
+ */
+ void
+ revokeDataType( [in] string typeName )
+ raises( com::sun::star::container::NoSuchElementException, com::sun::star::util::VetoException );
+
+ com::sun::star::xsd::XDataType
+ getDataType( [in] string typeName )
+ raises( com::sun::star::container::NoSuchElementException );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xforms/XForms.idl b/offapi/com/sun/star/xforms/XForms.idl
new file mode 100644
index 000000000..2255f09b2
--- /dev/null
+++ b/offapi/com/sun/star/xforms/XForms.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_xforms_XForms_idl__
+#define __com_sun_star_xforms_XForms_idl__
+
+#include <com/sun/star/container/XNameContainer.idl>
+
+
+module com { module sun { module star { module xforms {
+
+
+/**
+ @since LibreOffice 4.1
+*/
+service XForms : com::sun::star::container::XNameContainer;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xforms/XFormsEvent.idl b/offapi/com/sun/star/xforms/XFormsEvent.idl
new file mode 100644
index 000000000..dfd749c1a
--- /dev/null
+++ b/offapi/com/sun/star/xforms/XFormsEvent.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_xforms_XFormsEvent_idl__
+#define __com_sun_star_xforms_XFormsEvent_idl__
+
+#include <com/sun/star/xml/dom/events/XEvent.idl>
+
+module com { module sun { module star { module xforms {
+
+interface XFormsEvent : com::sun::star::xml::dom::events::XEvent {
+
+ void initXFormsEvent([in] string typeArg,
+ [in] boolean canBubbleArg,
+ [in] boolean cancelableArg);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xforms/XFormsSupplier.idl b/offapi/com/sun/star/xforms/XFormsSupplier.idl
new file mode 100644
index 000000000..460c58e7d
--- /dev/null
+++ b/offapi/com/sun/star/xforms/XFormsSupplier.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_xforms_XFormsSupplier_idl__
+#define __com_sun_star_xforms_XFormsSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/container/XNameContainer.idl>
+
+
+
+module com { module sun { module star { module xforms {
+
+
+/** provides access to the XForms models contained in the component
+ */
+interface XFormsSupplier: com::sun::star::uno::XInterface
+{
+
+ /** access XForms model container.
+ @returns a container for the XForms models contained in the component
+ */
+ com::sun::star::container::XNameContainer getXForms();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xforms/XFormsUIHelper1.idl b/offapi/com/sun/star/xforms/XFormsUIHelper1.idl
new file mode 100644
index 000000000..1045212d9
--- /dev/null
+++ b/offapi/com/sun/star/xforms/XFormsUIHelper1.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_xforms_XFormsUIHelper1_idl__
+#define __com_sun_star_xforms_XFormsUIHelper1_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/xml/dom/XNode.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/container/XSet.idl>
+#include <com/sun/star/xforms/XDataTypeRepository.idl>
+#include <com/sun/star/xml/dom/XDocument.idl>
+#include <com/sun/star/frame/XModel.idl>
+#include <com/sun/star/xforms/XModel.idl>
+
+
+
+module com { module sun { module star { module xforms {
+
+
+/** provide several helper methods for the UI
+
+ <b>This interfaces is for UI use only, and will likely be unsupported in
+ future versions.</b></p>
+*/
+interface XFormsUIHelper1
+{
+ string getDefaultServiceNameForNode( [in] com::sun::star::xml::dom::XNode xNode );
+
+ string getDefaultBindingExpressionForNode( [in] com::sun::star::xml::dom::XNode xNode );
+
+ string getNodeDisplayName( [in] com::sun::star::xml::dom::XNode xNode,
+ [in] boolean bDetail );
+
+ string getNodeName( [in] com::sun::star::xml::dom::XNode xNode );
+
+ string getBindingName( [in] com::sun::star::beans::XPropertySet xBinding,
+ [in] boolean bDetail );
+
+ string getSubmissionName( [in] com::sun::star::beans::XPropertySet xSubm,
+ [in] boolean bDetail );
+
+ // Creates a new binding based on the one passed as argument.
+ // The new binding does *not* contribute to the MIPs table and acts
+ // as a property set in disguise, which is what the UI needs this object for...
+ com::sun::star::beans::XPropertySet cloneBindingAsGhost( [in] com::sun::star::beans::XPropertySet binding );
+
+ void removeBindingIfUseless( [in] com::sun::star::beans::XPropertySet xBinding );
+
+ // handle instances
+
+ com::sun::star::xml::dom::XDocument newInstance( [in] string sName,
+ [in] string sURL,
+ [in] boolean bURLOnce );
+
+ void renameInstance( [in] string sFrom, [in] string sTo,
+ [in] string sURL,
+ [in] boolean bURLOnce );
+
+ void removeInstance( [in] string sName );
+
+
+ // handle models
+ com::sun::star::xforms::XModel newModel( [in] com::sun::star::frame::XModel xModel,
+ [in] string sName );
+ void renameModel( [in] com::sun::star::frame::XModel xModel,
+ [in] string sFrom, [in] string sTo );
+ void removeModel( [in] com::sun::star::frame::XModel xModel,
+ [in] string sName );
+
+
+ // DOM helpers
+ com::sun::star::xml::dom::XNode
+ createElement( [in] com::sun::star::xml::dom::XNode xParent,
+ [in] string sName );
+ com::sun::star::xml::dom::XNode
+ createAttribute( [in] com::sun::star::xml::dom::XNode xParent,
+ [in] string sName );
+
+ com::sun::star::xml::dom::XNode renameNode(
+ [in] com::sun::star::xml::dom::XNode xNode,
+ [in] string sName );
+
+ com::sun::star::beans::XPropertySet getBindingForNode(
+ [in] com::sun::star::xml::dom::XNode xNode,
+ [in] boolean bCreate );
+
+ void removeBindingForNode(
+ [in] com::sun::star::xml::dom::XNode xNode );
+
+ string getResultForExpression(
+ [in] com::sun::star::beans::XPropertySet xBinding,
+ [in] boolean bIsBindingExpression,
+ [in] string sExpression );
+
+ boolean isValidXMLName( [in] string sName );
+
+ boolean isValidPrefixName( [in] string sName );
+
+ void setNodeValue(
+ [in] com::sun::star::xml::dom::XNode xNode,
+ [in] string sValue );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xforms/XModel.idl b/offapi/com/sun/star/xforms/XModel.idl
new file mode 100644
index 000000000..c5ecab23f
--- /dev/null
+++ b/offapi/com/sun/star/xforms/XModel.idl
@@ -0,0 +1,198 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_xforms_XModel_idl__
+#define __com_sun_star_xforms_XModel_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/container/XSet.idl>
+#include <com/sun/star/xforms/XDataTypeRepository.idl>
+#include <com/sun/star/xml/dom/XDocument.idl>
+#include <com/sun/star/util/VetoException.idl>
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#include <com/sun/star/task/XInteractionHandler.idl>
+
+
+module com { module sun { module star { module xforms {
+
+interface XSubmission;
+
+
+/** represent an XForms model
+ */
+interface XModel
+{
+ /** get the XForms model ID */
+ string getID();
+
+ /** set the XForms model ID */
+ void setID( [in] string id );
+
+
+ /** initialize the model */
+ void initialize();
+
+ /** rebuild the model */
+ void rebuild();
+
+ /** re-evaluate all calculate attributes */
+ void recalculate();
+
+ /** re-evaluate all validity attributes */
+ void revalidate();
+
+ /** refresh the model */
+ void refresh();
+
+
+ /** submit form through given submission id
+
+ <p>This is a convenience method. Calling it is equivalent to calling
+ <code>getSubmission()( id ).submit()</code>.</p>
+
+ @param id
+ the ID of the submission to execute
+
+ @throws com::sun::star::util::VetoException
+ when the current model state does not allow a submission. Usually, this indicates that
+ consistency criteria for the model data is not fulfilled.
+
+ @throws com::sun::star::lang::WrappedTargetException
+ when another error occurred during the submission. The
+ com::sun::star::lang::WrappedTargetException::TargetException describes
+ this error then.
+ */
+ void submit( [in] string id )
+ raises ( com::sun::star::util::VetoException, com::sun::star::lang::WrappedTargetException );
+
+ /** submit form through given submission id
+
+ <p>This is a convenience method. Calling it is equivalent to calling
+ <code>getSubmission()( id, handler ).submit()</code>.</p>
+
+ @param id
+ the ID of the submission to execute
+
+ @param aHandler
+ This handler allows additional user interaction, which may be necessary before
+ the submission can be performed.
+
+ @throws com::sun::star::util::VetoException
+ when the current model state does not allow a submission. Usually, this indicates that
+ consistency criteria for the model data is not fulfilled.
+
+ @throws com::sun::star::lang::WrappedTargetException
+ when another error occurred during the submission. The
+ com::sun::star::lang::WrappedTargetException::TargetException describes
+ this error then.
+ */
+ void submitWithInteraction( [in] string id, [in] com::sun::star::task::XInteractionHandler aHandler )
+ raises ( com::sun::star::util::VetoException, com::sun::star::lang::WrappedTargetException );
+
+ /** provides management access to the XSD data types associated with the model
+ */
+ XDataTypeRepository
+ getDataTypeRepository( );
+
+
+ // instances
+
+ /** gets container containing all instances;
+
+ <p>The elements of the set are arrays of com::sun::star::beans::PropertyValues,
+ containing the ID, the URL, and the instance itself.</p>
+ */
+ com::sun::star::container::XSet getInstances();
+
+ /** retrieves the instance with the given id
+ */
+ com::sun::star::xml::dom::XDocument getInstanceDocument( [in] string id );
+
+ /** get the default instance for this model
+ */
+ com::sun::star::xml::dom::XDocument getDefaultInstance();
+
+
+ // bindings
+
+ /** create a binding element for this model
+
+ <p>The returned binding still needs to be inserted into the bindings container.</p>
+
+ @see getBindings
+ */
+ com::sun::star::beans::XPropertySet createBinding();
+
+ /** clone an arbitrary binding element for this model; still needs
+
+ <p>The returned binding still needs to be inserted into the bindings container.</p>
+
+ @see getBindings
+ */
+ com::sun::star::beans::XPropertySet cloneBinding( [in] com::sun::star::beans::XPropertySet binding );
+
+ /** get a binding with a certain ID
+
+ <p>This is a convenience method: the same result can also be obtained through
+ getBindings()</p>
+ */
+ com::sun::star::beans::XPropertySet getBinding( [in] string id );
+
+ /** get a container containing all bindings; also supports XNameAccess
+ */
+ com::sun::star::container::XSet getBindings();
+
+
+ // submissions
+
+ /** create a submission element for this model
+
+ <p>The returned submission element still needs to be inserted into the submission container.</p>
+
+ @see getSubmissions
+ */
+ XSubmission createSubmission();
+
+ /** clone an arbitrary submission element for this model
+
+ <p>The returned submission element still needs to be inserted into the submission container.</p>
+
+ @see getSubmissions
+ */
+ XSubmission cloneSubmission( [in] com::sun::star::beans::XPropertySet submission );
+
+ /** get a submission with a certain ID.
+
+ <p>This is a convenience method: the same result can also be obtained through
+ getSubmissions().</p>
+ */
+ XSubmission getSubmission( [in] string id );
+
+ /** get container containing all submissions; also supports XNameAccess
+ */
+ com::sun::star::container::XSet getSubmissions();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xforms/XModel2.idl b/offapi/com/sun/star/xforms/XModel2.idl
new file mode 100644
index 000000000..ec1704d5e
--- /dev/null
+++ b/offapi/com/sun/star/xforms/XModel2.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_xforms_XModel2_idl__
+#define __com_sun_star_xforms_XModel2_idl__
+
+#include <com/sun/star/xforms/XModel.idl>
+
+
+module com { module sun { module star { module xforms {
+
+
+/**
+ @since LibreOffice 4.1
+ */
+interface XModel2
+{
+ interface com::sun::star::xforms::XModel;
+
+ interface com::sun::star::beans::XPropertySet;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xforms/XSubmission.idl b/offapi/com/sun/star/xforms/XSubmission.idl
new file mode 100644
index 000000000..ee5dba176
--- /dev/null
+++ b/offapi/com/sun/star/xforms/XSubmission.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_xforms_XSubmission_idl__
+#define __com_sun_star_xforms_XSubmission_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/container/XNamed.idl>
+#include <com/sun/star/form/submission/XSubmission.idl>
+
+module com { module sun { module star { module xforms {
+
+/** specifies a submission object, associated with an XModel
+*/
+interface XSubmission
+{
+ /** allows access to the submission's properties
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+ /** allows access to the name of the submission
+
+ <p>Note that the name of the submission always equals it's the value of its ID
+ property./p>
+ */
+ interface com::sun::star::container::XNamed;
+
+ /** allows the submission to be associated with certain form controls
+
+ <p>Calling the com::sun::star::form::submission::XSubmission::submit()
+ yields exactly the same result as calling XModel::submit() of the model which
+ the submission belongs to, passing the ID of the submission.</p>
+ */
+ interface com::sun::star::form::submission::XSubmission;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/Attribute.idl b/offapi/com/sun/star/xml/Attribute.idl
new file mode 100644
index 000000000..1141cc8f5
--- /dev/null
+++ b/offapi/com/sun/star/xml/Attribute.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_xml_Attribute_idl__
+#define __com_sun_star_xml_Attribute_idl__
+
+
+module com { module sun { module star { module xml {
+
+
+/**
+ * A struct to keep information of an element's attribute.
+ */
+struct Attribute
+{
+ /**
+ * the attribute name
+ */
+ string Name;
+
+ /**
+ * the attribute namespace URL
+ */
+ string NamespaceURL;
+
+ /**
+ * the attribute value
+ */
+ string Value;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/AttributeContainer.idl b/offapi/com/sun/star/xml/AttributeContainer.idl
new file mode 100644
index 000000000..12857b4ac
--- /dev/null
+++ b/offapi/com/sun/star/xml/AttributeContainer.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_xml_AttributeContainer_idl__
+#define __com_sun_star_xml_AttributeContainer_idl__
+
+#include <com/sun/star/container/XNameContainer.idl>
+
+
+module com { module sun { module star { module xml {
+
+/** This service describes a container for XML attributes.
+
+ <p>Each attribute is accessed with its local name, or optionally, its local
+ name with its namespace prefix. The type and value of an attribute is stored
+ in a <code>AttributeData</code> struct. If you use a namespace in the
+ <code>AttributeData</code>, you must use a prefix in the name and you must
+ use a namespace, if you use a prefix.
+*/
+published service AttributeContainer
+{
+ interface com::sun::star::container::XNameContainer;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/AttributeData.idl b/offapi/com/sun/star/xml/AttributeData.idl
new file mode 100644
index 000000000..4cfbeaf21
--- /dev/null
+++ b/offapi/com/sun/star/xml/AttributeData.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_xml_AttributeData_idl__
+#define __com_sun_star_xml_AttributeData_idl__
+
+
+ module com { module sun { module star { module xml {
+
+
+/** store the type and value of an XML attribute
+ inside a XNameContainer
+ */
+published struct AttributeData
+{
+ /** the namespace of this XML attribute.
+
+ <p>This string can be empty if you are not using namespaces.
+ */
+ string Namespace;
+
+
+ /** the type of this XML attribute.
+
+ <p>For non validating parsers this must be CDATA.
+ */
+ string Type;
+
+
+ /** the string value of this XML attribute.
+ */
+ string Value;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/ExportFilter.idl b/offapi/com/sun/star/xml/ExportFilter.idl
new file mode 100644
index 000000000..79abaef88
--- /dev/null
+++ b/offapi/com/sun/star/xml/ExportFilter.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_XML_EXPORTFILTER_IDL__
+#define _COM_SUN_STAR_XML_EXPORTFILTER_IDL__
+
+#include <com/sun/star/xml/XExportFilter.idl>
+
+
+module com { module sun { module star { module xml {
+
+/** describes an export filter for XML-based file formats.
+
+ <p>First, the XExportFilter::exporter() method must be
+ called to provide the export component with the target location to
+ which the data should be exported. Then, the source document's XML
+ representation will be generated by calling the appropriate methods
+ of the com::sun::star::xml::sax::XDocumentHandler
+ interface. Error conditions must be signaled by throwing
+ a com::sun::star::xml::sax::SAXException in the
+ com::sun::star::xml::sax::XDocumentHandler calls.
+
+ @since OOo 1.1.2
+ */
+published service ExportFilter
+{
+ /** The data will be passed in through the
+ com::sun::star::xml::sax::XDocumentHandler calls. */
+ interface com::sun::star::xml::sax::XDocumentHandler;
+
+ /** The XExportFilter:exporter() call will provide the
+ com::sun::star::document::TypeDetection user data
+ required to perform the filtering correctly.
+ */
+ interface com::sun::star::xml::XExportFilter;
+};
+
+}; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/FastAttribute.idl b/offapi/com/sun/star/xml/FastAttribute.idl
new file mode 100644
index 000000000..722939b16
--- /dev/null
+++ b/offapi/com/sun/star/xml/FastAttribute.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_xml_FastAttribute_idl__
+#define __com_sun_star_xml_FastAttribute_idl__
+
+
+module com { module sun { module star { module xml {
+
+
+/**
+ * A struct to keep information of an element's attribute.
+ */
+struct FastAttribute
+{
+ /**
+ * the token corresponding to the attribute
+ */
+ long Token;
+
+ /**
+ * the attribute value
+ */
+ string Value;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/ImportFilter.idl b/offapi/com/sun/star/xml/ImportFilter.idl
new file mode 100644
index 000000000..60b88bb07
--- /dev/null
+++ b/offapi/com/sun/star/xml/ImportFilter.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef _COM_SUN_STAR_XML_IMPORTFILTER_IDL__
+#define _COM_SUN_STAR_XML_IMPORTFILTER_IDL__
+
+#include <com/sun/star/xml/XImportFilter.idl>
+
+
+module com { module sun { module star { module xml {
+
+/** describes an import filter for XML-based file formats.
+
+ @since OOo 1.1.2
+*/
+published service ImportFilter
+{
+ interface com::sun::star::xml::XImportFilter;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/NamespaceContainer.idl b/offapi/com/sun/star/xml/NamespaceContainer.idl
new file mode 100644
index 000000000..00f245337
--- /dev/null
+++ b/offapi/com/sun/star/xml/NamespaceContainer.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_xml_NamespaceContainer_idl__
+#define __com_sun_star_xml_NamespaceContainer_idl__
+
+#include <com/sun/star/container/XNameContainer.idl>
+
+
+module com { module sun { module star { module xml {
+
+/** This service describes a container for XML namespaces.
+
+ <p>Each namespace is accessed with its prefix and the URL is stored as a string.
+
+ @see com::sun::star::xforms::Binding
+*/
+published service NamespaceContainer
+{
+ interface com::sun::star::container::XNameContainer;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/ParaUserDefinedAttributesSupplier.idl b/offapi/com/sun/star/xml/ParaUserDefinedAttributesSupplier.idl
new file mode 100644
index 000000000..4510e7512
--- /dev/null
+++ b/offapi/com/sun/star/xml/ParaUserDefinedAttributesSupplier.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_xml_ParaUserDefinedAttributesSupplier_idl_
+#define _com_sun_star_xml_ParaUserDefinedAttributesSupplier_idl_
+
+#include <com/sun/star/container/XNameContainer.idl>
+
+module com { module sun { module star { module xml {
+
+/** A component that supports this service preserves XML attributes,
+ unknown by its parser, that belong to the XML element representing
+ it (the component).
+
+ @since OOo 2.0.4
+*/
+published service ParaUserDefinedAttributesSupplier
+{
+ /** This container holds the AttributeData elements
+ that represent uninterpreted XML attributes of a paragraph.
+
+ <p>The idea behind this property is that a parser can stow
+ away all attributes that it cannot handle by itself on reading
+ an XML file. When the file is stored again, the unknown
+ attributes can be written back without loss.</p>
+
+ <p>The
+ com::sun::star::container::XNameContainer
+ supports the service AttributeContainer.</p>
+
+ */
+ [property] ::com::sun::star::container::XNameContainer ParaUserDefinedAttributes;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/TextUserDefinedAttributesSupplier.idl b/offapi/com/sun/star/xml/TextUserDefinedAttributesSupplier.idl
new file mode 100644
index 000000000..dc5ffc285
--- /dev/null
+++ b/offapi/com/sun/star/xml/TextUserDefinedAttributesSupplier.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_xml_TextUserDefinedAttributesSupplier_idl_
+#define _com_sun_star_xml_TextUserDefinedAttributesSupplier_idl_
+
+#include <com/sun/star/container/XNameContainer.idl>
+
+module com { module sun { module star { module xml {
+
+/** A component that supports this service preserves XML attributes,
+ unknown by its parser, that belong to the XML element representing
+ it (the component).
+
+ @since OOo 2.0.4
+*/
+published service TextUserDefinedAttributesSupplier
+{
+ /** This container holds the AttributeData elements
+ that represent uninterpreted XML attributes of a text.
+
+ <p>The idea behind this property is that a parser can stow
+ away all attributes that it cannot handle by itself on reading
+ an XML file. When the file is stored again, the unknown
+ attributes can be written back without loss.</p>
+
+ <p>The
+ com::sun::star::container::XNameContainer
+ supports the service AttributeContainer.</p>
+
+ */
+ [property] ::com::sun::star::container::XNameContainer TextUserDefinedAttributes;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/UserDefinedAttributesSupplier.idl b/offapi/com/sun/star/xml/UserDefinedAttributesSupplier.idl
new file mode 100644
index 000000000..1757c550a
--- /dev/null
+++ b/offapi/com/sun/star/xml/UserDefinedAttributesSupplier.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_xml_UserDefinedAttributesSupplier_idl_
+#define _com_sun_star_xml_UserDefinedAttributesSupplier_idl_
+
+#include <com/sun/star/container/XNameContainer.idl>
+
+module com { module sun { module star { module xml {
+
+/** A component that supports this service preserves XML attributes,
+ unknown by its parser, that belong to the XML element representing
+ it (the component).
+
+ @since OOo 2.0.4
+*/
+published service UserDefinedAttributesSupplier
+{
+ /** This container holds the AttributeData elements
+ that represent uninterpreted XML attributes.
+
+ <p>The idea behind this property is that a parser can stow
+ away all attributes that it cannot handle by itself on reading
+ an XML file. When the file is stored again, the unknown
+ attributes can be written back without loss.</p>
+
+ <p>The
+ com::sun::star::container::XNameContainer
+ supports the service AttributeContainer.</p>
+
+ */
+ [property] ::com::sun::star::container::XNameContainer UserDefinedAttributes;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/XExportFilter.idl b/offapi/com/sun/star/xml/XExportFilter.idl
new file mode 100644
index 000000000..8dab67065
--- /dev/null
+++ b/offapi/com/sun/star/xml/XExportFilter.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_XML_XEXPORTFILTER_IDL__
+#define _COM_SUN_STAR_XML_XEXPORTFILTER_IDL__
+
+#include <com/sun/star/uno/RuntimeException.idl>
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/xml/sax/XDocumentHandler.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+module com { module sun { module star { module xml {
+
+
+
+/** interface to implement for an XML-based import filter. i
+
+ @since OOo 1.1.2
+ */
+published interface XExportFilter: com::sun::star::uno::XInterface
+{
+ /** performs the import.
+
+ <p>The source data (location indicated by <var>aSourceData</var>), and
+ the XML representation of the document must be generated by calls to
+ xocHandler (???) methods.
+
+ @param aSourceData
+ com::sun::star::document::MediaDescriptor
+ which defines the data source
+
+ @param msUserData
+ Sequence of strings which contains the user data defined in the
+ TypeDetection.xml (???)
+
+ @returns
+ `TRUE` if import process is successful
+ */
+ boolean exporter(
+ [in] sequence< com::sun::star::beans::PropertyValue > aSourceData,
+ [in] sequence< string > msUserData )
+ raises( com::sun::star::lang::IllegalArgumentException );
+};
+
+}; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/XImportFilter.idl b/offapi/com/sun/star/xml/XImportFilter.idl
new file mode 100644
index 000000000..973fbcefa
--- /dev/null
+++ b/offapi/com/sun/star/xml/XImportFilter.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_XML_XIMPORTFILTER_IDL__
+#define _COM_SUN_STAR_XML_XIMPORTFILTER_IDL__
+
+#include <com/sun/star/uno/RuntimeException.idl>
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/xml/sax/XDocumentHandler.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+module com { module sun { module star { module xml {
+
+
+
+/** interface to implement for an XML-based import filter.
+
+ @since OOo 1.1.2
+ */
+published interface XImportFilter: com::sun::star::uno::XInterface
+{
+ /** performs the import.
+
+ <p>The source data (location indicated by <var>aSourceData</var>),
+ and the XML representation of the document must be generated by calls
+ to xocHandler (???) methods.
+
+ @param aSourceData
+ com::sun::star::document::MediaDescriptor
+ which defines the data source
+
+ @param msUserData
+ Sequence of strings which contains the user data defined in the
+ TypeDetection.xml
+
+ @param xDocHandler
+ target for the XML document representation
+
+ @returns
+ `TRUE` if import process is successful
+ */
+ boolean importer(
+ [in] sequence< com::sun::star::beans::PropertyValue > aSourceData,
+ [in] com::sun::star::xml::sax::XDocumentHandler xDocHandler,
+ [in] sequence< string > msUserData )
+ raises( com::sun::star::lang::IllegalArgumentException );
+};
+
+}; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/XImportFilter2.idl b/offapi/com/sun/star/xml/XImportFilter2.idl
new file mode 100644
index 000000000..9c3f6bd56
--- /dev/null
+++ b/offapi/com/sun/star/xml/XImportFilter2.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_XML_XIMPORTFILTER2_IDL__
+#define _COM_SUN_STAR_XML_XIMPORTFILTER2_IDL__
+
+#include <com/sun/star/uno/RuntimeException.idl>
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/xml/sax/XFastParser.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+module com { module sun { module star { module xml {
+
+
+
+/** interface to implement for an XML-based import filter.
+ Enhanced vs XImportFilter to take a XFastDocumentHandler.
+
+ @since LibreOffice 7.1
+ */
+interface XImportFilter2: com::sun::star::uno::XInterface
+{
+ /** performs the import.
+
+ <p>The source data (location indicated by <var>aSourceData</var>),
+ and the XML representation of the document must be generated by calls
+ to xocHandler (???) methods.
+
+ @param aSourceData
+ com::sun::star::document::MediaDescriptor
+ which defines the data source
+
+ @param msUserData
+ Sequence of strings which contains the user data defined in the
+ TypeDetection.xml
+
+ @param xFastParser
+ the fast parser for the XML document, i.e. an SvXMLImport subclass
+
+ @returns
+ `TRUE` if import process is successful
+ */
+ boolean importer(
+ [in] sequence< com::sun::star::beans::PropertyValue > aSourceData,
+ [in] com::sun::star::xml::sax::XFastParser xFastParser,
+ [in] sequence< string > msUserData )
+ raises( com::sun::star::lang::IllegalArgumentException );
+};
+
+}; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/XMLExportFilter.idl b/offapi/com/sun/star/xml/XMLExportFilter.idl
new file mode 100644
index 000000000..1afd0112a
--- /dev/null
+++ b/offapi/com/sun/star/xml/XMLExportFilter.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_xml_XMLExportFilter_idl__
+#define __com_sun_star_xml_XMLExportFilter_idl__
+
+
+#include <com/sun/star/document/ExportFilter.idl>
+
+
+module com { module sun { module star { module xml {
+
+/** describes an export filter for XML-based file formats.
+
+ <p>It is an extension of com::sun::star::document::ExportFilter
+ and differs from it only in that an
+ com::sun::star::xml::sax::XDocumentHandler needs to
+ be passed through the XInitialization interface. This
+ XDocumentHandler will then be used to export the XML data stream. */
+published service XMLExportFilter
+{
+ /** A com.sun.star.xml.sax.XDocumentHandler needs to be passed to
+ the com::sun::star::lang::XInitialization::initialize() call.
+ */
+ service com::sun::star::document::ExportFilter;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/XMLImportFilter.idl b/offapi/com/sun/star/xml/XMLImportFilter.idl
new file mode 100644
index 000000000..99d5679f9
--- /dev/null
+++ b/offapi/com/sun/star/xml/XMLImportFilter.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_xml_XMLImportFilter_idl__
+#define __com_sun_star_xml_XMLImportFilter_idl__
+
+
+#include <com/sun/star/document/ImportFilter.idl>
+#include <com/sun/star/xml/sax/XDocumentHandler.idl>
+
+
+module com { module sun { module star { module xml {
+
+/** describes an import filter for XML-based file formats.
+
+ <p>It is an extension of com::sun::star::document::ImportFilter
+ and differs from it in that this filter additionally supports the
+ com::sun::star::xml::sax::XDocumentHandler interface.
+*/
+published service XMLImportFilter
+{
+ /** This service supplied the basic filter functionality. */
+ service com::sun::star::document::ImportFilter;
+
+ /** The document handler is used to stream XML data into the filter. */
+ interface com::sun::star::xml::sax::XDocumentHandler;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/crypto/CipherID.idl b/offapi/com/sun/star/xml/crypto/CipherID.idl
new file mode 100644
index 000000000..9e34c09f6
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/CipherID.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_xml_crypto_CipherID_idl__
+#define __com_sun_star_xml_crypto_CipherID_idl__
+
+
+
+module com { module sun { module star { module xml { module crypto {
+
+/** The constant set contains identifiers of supported cipher-creation
+ algorithms.
+
+ @see XCipherContextSupplier
+ @since OOo 3.4
+*/
+constants CipherID
+{
+ /** identifier of AES algorithm in CBC mode with W3C padding
+ */
+ const long AES_CBC_W3C_PADDING = 1;
+
+ /** identifier of the Blowfish algorithm in 8-bit CFB mode
+ */
+ const long BLOWFISH_CFB_8 = 2;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/crypto/DigestID.idl b/offapi/com/sun/star/xml/crypto/DigestID.idl
new file mode 100644
index 000000000..970eb1147
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/DigestID.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_xml_crypto_DigestID_idl__
+#define __com_sun_star_xml_crypto_DigestID_idl__
+
+
+
+module com { module sun { module star { module xml { module crypto {
+
+/** The constant set contains identifiers of supported digest-creation
+ algorithms.
+
+ @see XDigestContextSupplier
+ @since OOo 3.4
+*/
+constants DigestID
+{
+ /** identifier of SHA-1 algorithm
+ */
+ const long SHA1 = 1;
+
+ /** identifier of SHA-256 algorithm
+ */
+ const long SHA256 = 2;
+
+ /** identifier of SHA-1 algorithm that is applied to the first kilobyte
+ of data.
+ */
+ const long SHA1_1K = 3;
+
+ /** identifier of SHA-256 algorithm that is applied to the first kilobyte
+ of data.
+ */
+ const long SHA256_1K = 4;
+
+ /** identifier of SHA-512 algorithm
+
+ @since LibreOffice 6.0
+ */
+ const long SHA512 = 5;
+
+ /** identifier of SHA-512 algorithm that is applied to the first
+ kilobyte of data.
+
+ @since LibreOffice 6.0
+ */
+ const long SHA512_1K = 6;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/crypto/GPGSEInitializer.idl b/offapi/com/sun/star/xml/crypto/GPGSEInitializer.idl
new file mode 100644
index 000000000..d041eb9fa
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/GPGSEInitializer.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_xml_crypto_GPGSEInitializer_idl_
+#define __com_sun_star_xml_crypto_GPGSEInitializer_idl_
+
+#include <com/sun/star/xml/crypto/XSEInitializer.idl>
+
+module com { module sun { module star { module xml { module crypto {
+
+/**
+ * Service of GPGSEInitializer
+ *
+ * @since LibreOffice 6.0
+ */
+service GPGSEInitializer : XSEInitializer;
+
+} ; } ; } ; } ; } ;
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/crypto/NSSInitializer.idl b/offapi/com/sun/star/xml/crypto/NSSInitializer.idl
new file mode 100644
index 000000000..7eb857596
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/NSSInitializer.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_xml_crypto_NSSInitializer_idl_
+#define __com_sun_star_xml_crypto_NSSInitializer_idl_
+
+#include <com/sun/star/xml/crypto/XNSSInitializer.idl>
+
+module com { module sun { module star { module xml { module crypto {
+
+/**
+ This service has a particular lifecycle. If you create an instance,
+ the NSS backend is not initialized, until some of the crypto functions
+ are called. As a result you can effectively change the user setting to
+ the NSS path until NSS is really used.
+
+ After the first usage you have to restart LibreOffice to activate a new
+ NSS path.
+
+ @since LibreOffice 4.0
+ */
+service NSSInitializer : XNSSInitializer;
+
+} ; } ; } ; } ; } ;
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/crypto/NSSProfile.idl b/offapi/com/sun/star/xml/crypto/NSSProfile.idl
new file mode 100644
index 000000000..1ce68bfa8
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/NSSProfile.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_xml_crypto_NSSProfile_idl_
+#define __com_sun_star_xml_crypto_NSSProfile_idl_
+
+#include <com/sun/star/mozilla/MozillaProductType.idl>
+
+module com { module sun { module star { module xml { module crypto {
+
+/**
+ @since LibreOffice 7.1
+ */
+struct NSSProfile {
+ /** the name of the NSS profile
+
+ Normally the name will reflect the name of the Mozilla profile. But the
+ profile list also contains the following special entries: MANUAL and
+ MOZILLA_CERTIFICATE_FOLDER.
+ These will have a product type of MozillaProductType::Default and might
+ have an empty path, if that value is not available.
+ */
+ string Name;
+
+ /** the path to the NSS databases
+ */
+ string Path;
+
+ /** the type of the NSS profile
+ */
+ ::com::sun::star::mozilla::MozillaProductType Type;
+};
+
+} ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/crypto/SEInitializer.idl b/offapi/com/sun/star/xml/crypto/SEInitializer.idl
new file mode 100644
index 000000000..cd4c5cd26
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/SEInitializer.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_xml_crypto_SEInitializer_idl_
+#define __com_sun_star_xml_crypto_SEInitializer_idl_
+
+#include <com/sun/star/xml/crypto/XSEInitializer.idl>
+
+module com { module sun { module star { module xml { module crypto {
+
+/**
+ * Service of SEInitializer
+ */
+service SEInitializer : XSEInitializer;
+
+} ; } ; } ; } ; } ;
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/crypto/SecurityEnvironment.idl b/offapi/com/sun/star/xml/crypto/SecurityEnvironment.idl
new file mode 100644
index 000000000..1c18e4b0a
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/SecurityEnvironment.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_xml_crypto_SecurityEnvironment_idl_
+#define __com_sun_star_xml_crypto_SecurityEnvironment_idl_
+
+#include <com/sun/star/xml/crypto/XSecurityEnvironment.idl>
+
+module com { module sun { module star { module xml { module crypto {
+
+/**
+ * Service of XSecurityEnvironment
+ */
+service SecurityEnvironment : XSecurityEnvironment;
+
+} ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/crypto/SecurityOperationStatus.idl b/offapi/com/sun/star/xml/crypto/SecurityOperationStatus.idl
new file mode 100644
index 000000000..764886afc
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/SecurityOperationStatus.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_xml_crypto_securityoperationstatus_idl_
+#define __com_sun_star_xml_crypto_securityoperationstatus_idl_
+
+module com { module sun { module star { module xml { module crypto {
+
+/**
+ * Defines results for security operation.
+ */
+enum SecurityOperationStatus
+{
+ UNKNOWN,
+ OPERATION_SUCCEEDED,
+ RUNTIMEERROR_FAILED,
+/**
+ * The following constants are derived from XMLSec error definitions, as following:
+ *
+ * XMLSEC_ERRORS_R_XMLSEC_FAILED
+ * XMLSEC_ERRORS_R_MALLOC_FAILED
+ * XMLSEC_ERRORS_R_STRDUP_FAILED
+ * XMLSEC_ERRORS_R_CRYPTO_FAILED
+ * XMLSEC_ERRORS_R_XML_FAILED
+ * XMLSEC_ERRORS_R_XSLT_FAILED
+ * XMLSEC_ERRORS_R_IO_FAILED
+ * XMLSEC_ERRORS_R_DISABLED
+ * XMLSEC_ERRORS_R_NOT_IMPLEMENTED
+ * XMLSEC_ERRORS_R_INVALID_SIZE
+ * XMLSEC_ERRORS_R_INVALID_DATA
+ * XMLSEC_ERRORS_R_INVALID_RESULT
+ * XMLSEC_ERRORS_R_INVALID_TYPE
+ * XMLSEC_ERRORS_R_INVALID_OPERATION
+ * XMLSEC_ERRORS_R_INVALID_STATUS
+ * XMLSEC_ERRORS_R_INVALID_FORMAT
+ * XMLSEC_ERRORS_R_DATA_NOT_MATCH
+ * XMLSEC_ERRORS_R_INVALID_NODE
+ * XMLSEC_ERRORS_R_INVALID_NODE_CONTENT
+ * XMLSEC_ERRORS_R_INVALID_NODE_ATTRIBUTE
+ * XMLSEC_ERRORS_R_MISSING_NODE_ATTRIBUTE
+ * XMLSEC_ERRORS_R_NODE_ALREADY_PRESENT
+ * XMLSEC_ERRORS_R_UNEXPECTED_NODE
+ * XMLSEC_ERRORS_R_NODE_NOT_FOUND
+ * XMLSEC_ERRORS_R_INVALID_TRANSFORM
+ * XMLSEC_ERRORS_R_INVALID_TRANSFORM_KEY
+ * XMLSEC_ERRORS_R_INVALID_URI_TYPE
+ * XMLSEC_ERRORS_R_TRANSFORM_SAME_DOCUMENT_REQUIRED
+ * XMLSEC_ERRORS_R_TRANSFORM_DISABLED
+ * XMLSEC_ERRORS_R_INVALID_KEY_DATA
+ * XMLSEC_ERRORS_R_KEY_DATA_NOT_FOUND
+ * XMLSEC_ERRORS_R_KEY_DATA_ALREADY_EXIST
+ * XMLSEC_ERRORS_R_INVALID_KEY_DATA_SIZE
+ * XMLSEC_ERRORS_R_KEY_NOT_FOUND
+ * XMLSEC_ERRORS_R_KEYDATA_DISABLED
+ * XMLSEC_ERRORS_R_MAX_RETRIEVALS_LEVEL
+ * XMLSEC_ERRORS_R_MAX_RETRIEVAL_TYPE_MISMATCH
+ * XMLSEC_ERRORS_R_MAX_ENCKEY_LEVEL
+ * XMLSEC_ERRORS_R_CERT_VERIFY_FAILED
+ * XMLSEC_ERRORS_R_CERT_NOT_FOUND
+ * XMLSEC_ERRORS_R_CERT_REVOKED
+ * XMLSEC_ERRORS_R_CERT_ISSUER_FAILED
+ * XMLSEC_ERRORS_R_CERT_NOT_YET_VALID
+ * XMLSEC_ERRORS_R_CERT_HAS_EXPIRED
+ * XMLSEC_ERRORS_R_DSIG_NO_REFERENCES
+ * XMLSEC_ERRORS_R_DSIG_INVALID_REFERENCE
+ * XMLSEC_ERRORS_R_ASSERTION
+ * XMLSEC_ERRORS_MAX_NUMBER
+ */
+ ENGINE_FAILED,
+ MALLOC_FAILED,
+ STRDUP_FAILED,
+ CRYPTO_FAILED,
+ XML_FAILED,
+ XSLT_FAILED,
+ IO_FAILED,
+ DISABLED,
+ NOT_IMPLEMENTED,
+ INVALID_SIZE,
+ INVALID_DATA,
+ INVALID_RESULT,
+ INVALID_TYPE,
+ INVALID_OPERATION,
+ INVALID_STATUS,
+ INVALID_FORMAT,
+ DATA_NOT_MATCH,
+ INVALID_NODE,
+ INVALID_NODE_CONTENT,
+ INVALID_NODE_ATTRIBUTE,
+ MISSING_NODE_ATTRIBUTE,
+ NODE_ALREADY_PRESENT,
+ UNEXPECTED_NODE,
+ NODE_NOT_FOUND,
+ INVALID_TRANSFORM,
+ INVALID_TRANSFORM_KEY,
+ INVALID_URI_TYPE,
+ TRANSFORM_SAME_DOCUMENT_REQUIRED,
+ TRANSFORM_DISABLED,
+ INVALID_KEY_DATA,
+ KEY_DATA_NOT_FOUND,
+ KEY_DATA_ALREADY_EXIST,
+ INVALID_KEY_DATA_SIZE,
+ KEY_NOT_FOUND,
+ KEYDATA_DISABLED,
+ MAX_RETRIEVALS_LEVEL,
+ MAX_RETRIEVAL_TYPE_MISMATCH,
+ MAX_ENCKEY_LEVEL,
+ CERT_VERIFY_FAILED,
+ CERT_NOT_FOUND,
+ CERT_REVOKED,
+ CERT_ISSUER_FAILED,
+ CERT_NOT_YET_VALID,
+ CERT_HAS_EXPIRED,
+ DSIG_NO_REFERENCES,
+ DSIG_INVALID_REFERENCE,
+ ASSERTION
+};
+
+} ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/crypto/XCertificateCreator.idl b/offapi/com/sun/star/xml/crypto/XCertificateCreator.idl
new file mode 100644
index 000000000..3137aa004
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/XCertificateCreator.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_xml_crypto_xsecurityenvironment_idl_
+#define __com_sun_star_xml_crypto_xsecurityenvironment_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+#include <com/sun/star/security/XCertificate.idl>
+
+module com { module sun { module star { module xml { module crypto {
+
+/**
+ * Interface for creating and adding certificates
+ *
+ * @since LibreOffice 6.2
+ */
+interface XCertificateCreator : com::sun::star::uno::XInterface
+{
+ /**
+ * Adds a certificate to the certificate database with the trust provided by the trust string.
+ */
+ com::sun::star::security::XCertificate addDERCertificateToTheDatabase(
+ [in] sequence<byte> aDerCertificate,
+ [in] string aTrustString);
+
+ /**
+ * Create certificate from raw DER encoded certificate and associate the private key with the certificate
+ */
+ com::sun::star::security::XCertificate createDERCertificateWithPrivateKey(
+ [in] sequence<byte> aDerCertificate,
+ [in] sequence<byte> aPrivateKey) raises (com::sun::star::uno::SecurityException);
+};
+
+} ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/crypto/XCipherContext.idl b/offapi/com/sun/star/xml/crypto/XCipherContext.idl
new file mode 100644
index 000000000..bae91c7b1
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/XCipherContext.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_xml_crypto_xciphercontext_idl_
+#define __com_sun_star_xml_crypto_xciphercontext_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/lang/DisposedException.idl>
+
+
+ module com { module sun { module star { module xml { module crypto {
+
+/** This interface allows to encrypt/decrypt data using the cipher context.
+ <p>
+ The algorithm as well as encryption data are specified on object creation.
+ </p>
+
+ @see XCipherContextSupplier
+ @since OOo 3.4
+ */
+interface XCipherContext : com::sun::star::uno::XInterface
+{
+ /** encrypts/decrypts the data using the cipher.
+ <p>
+ Please have in mind, the cipher object state might depend from the
+ already encrypted/decrypted data ( it depends from the used
+ algorithm ).
+ </p>
+
+ <p>
+ Whether the object does encryption or decryption is specified by
+ creation of the object.
+ </p>
+
+ @param aData
+ data that should be encrypted/decrypted
+ */
+ sequence<byte> convertWithCipherContext( [in] sequence< byte > aData )
+ raises( ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::lang::DisposedException );
+
+ /** finalizes cipher and disposes context.
+ */
+ sequence<byte> finalizeCipherContextAndDispose()
+ raises( ::com::sun::star::lang::DisposedException );
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/crypto/XCipherContextSupplier.idl b/offapi/com/sun/star/xml/crypto/XCipherContextSupplier.idl
new file mode 100644
index 000000000..f447e5889
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/XCipherContextSupplier.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_xml_crypto_xciphercontextsupplier_idl_
+#define __com_sun_star_xml_crypto_xciphercontextsupplier_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/beans/NamedValue.idl>
+#include <com/sun/star/xml/crypto/XCipherContext.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+ module com { module sun { module star { module xml { module crypto {
+
+/** This interface allows to get an object that allows to encrypt/decrypt data
+ using the specified algorithm.
+
+ @since OOo 3.4
+ */
+interface XCipherContextSupplier : com::sun::star::uno::XInterface
+{
+ /** returns an object that allows to encrypt/decrypt data.
+
+ @param nCipherID
+ the internal ID specifying the algorithm,
+ should take value from CipherID
+
+ @param aKey
+ the key that should be used for the encryption
+
+ @param aInitializationVector
+ the initialization vector that should be used for the encryption
+
+ @param bEncryption
+ whether an encryption or decryption cipher should be created
+ `TRUE` - Encryption
+ `FALSE` - Decryption
+
+ @param aParams
+ optional parameters that could be used to initialize the cipher,
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ one of provided arguments is illegal
+ */
+
+ XCipherContext getCipherContext( [in] long nCipherID, [in] sequence< byte > aKey, [in] sequence< byte > aInitializationVector, [in] boolean bEncryption, [in] sequence< ::com::sun::star::beans::NamedValue > aParams )
+ raises( ::com::sun::star::lang::IllegalArgumentException );
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/crypto/XDigestContext.idl b/offapi/com/sun/star/xml/crypto/XDigestContext.idl
new file mode 100644
index 000000000..06553a7da
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/XDigestContext.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_xml_crypto_xdigestcontext_idl_
+#define __com_sun_star_xml_crypto_xdigestcontext_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/DisposedException.idl>
+
+
+ module com { module sun { module star { module xml { module crypto {
+
+/** This interface allows to generate the digest.
+ <p>
+ The algorithm to generate the digest is specified on object creation.
+ </p>
+
+ @see XDigestContextSupplier
+ @since OOo 3.4
+ */
+interface XDigestContext : com::sun::star::uno::XInterface
+{
+ /** update the digest with the given data.
+
+ @param aData
+ data that should be used to update the digest
+ */
+ void updateDigest( [in] sequence< byte > aData )
+ raises( ::com::sun::star::lang::DisposedException );
+
+ /** finalizes digest and disposes context.
+ */
+ sequence<byte> finalizeDigestAndDispose()
+ raises( ::com::sun::star::lang::DisposedException );
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/crypto/XDigestContextSupplier.idl b/offapi/com/sun/star/xml/crypto/XDigestContextSupplier.idl
new file mode 100644
index 000000000..ead3e8ea9
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/XDigestContextSupplier.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_xml_crypto_xdigestcontextsupplier_idl_
+#define __com_sun_star_xml_crypto_xdigestcontextsupplier_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/beans/NamedValue.idl>
+#include <com/sun/star/xml/crypto/XDigestContext.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+ module com { module sun { module star { module xml { module crypto {
+
+/** This interface allows to get an object to generate a digest of a specified
+ format.
+
+ @since OOo 3.4
+ */
+interface XDigestContextSupplier : com::sun::star::uno::XInterface
+{
+ /** returns an object that allows to generate the specified digest.
+
+ @param nDigestID
+ the internal ID specifying the algorithm,
+ should take value from DigestID
+
+ @param aParams
+ optional parameters that could be used to initialize the digest,
+ for example, it could contain a key and etc.
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ one of provided arguments is illegal
+ */
+ XDigestContext getDigestContext(
+ [in] long nDigestID,
+ [in] sequence< ::com::sun::star::beans::NamedValue > aParams )
+ raises( ::com::sun::star::lang::IllegalArgumentException );
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/crypto/XMLEncryptionException.idl b/offapi/com/sun/star/xml/crypto/XMLEncryptionException.idl
new file mode 100644
index 000000000..eed651c01
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/XMLEncryptionException.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_xml_crypto_XMLEncryptionException_idl__
+#define __com_sun_star_xml_crypto_XMLEncryptionException_idl__
+
+#include <com/sun/star/security/EncryptionException.idl>
+
+module com { module sun { module star { module xml { module crypto {
+
+exception XMLEncryptionException : com::sun::star::security::EncryptionException
+{
+};
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/crypto/XMLSecurityContext.idl b/offapi/com/sun/star/xml/crypto/XMLSecurityContext.idl
new file mode 100644
index 000000000..46fce6231
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/XMLSecurityContext.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_xml_crypto_XMLSecurityContext_idl_
+#define __com_sun_star_xml_crypto_XMLSecurityContext_idl_
+
+#include <com/sun/star/xml/crypto/XXMLSecurityContext.idl>
+
+module com { module sun { module star { module xml { module crypto {
+
+/**
+ * Service of XMLSecurityContext
+ */
+service XMLSecurityContext : XXMLSecurityContext;
+
+} ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/crypto/XMLSignature.idl b/offapi/com/sun/star/xml/crypto/XMLSignature.idl
new file mode 100644
index 000000000..2596bd351
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/XMLSignature.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_xml_crypto_xmlsignature_idl_
+#define __com_sun_star_xml_crypto_xmlsignature_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+#include <com/sun/star/xml/crypto/XXMLSignature.idl>
+#include <com/sun/star/lang/XInitialization.idl>
+
+module com { module sun { module star { module xml { module crypto {
+
+/**
+ * Service of XMLSignature
+ */
+service XMLSignature {
+ interface com::sun::star::xml::crypto::XXMLSignature ;
+ interface com::sun::star::lang::XInitialization ;
+} ;
+
+} ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/crypto/XMLSignatureException.idl b/offapi/com/sun/star/xml/crypto/XMLSignatureException.idl
new file mode 100644
index 000000000..70949f68e
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/XMLSignatureException.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_xml_crypto_XMLSignatureException_idl__
+#define __com_sun_star_xml_crypto_XMLSignatureException_idl__
+
+#include <com/sun/star/security/SignatureException.idl>
+
+module com { module sun { module star { module xml { module crypto {
+
+exception XMLSignatureException : com::sun::star::security::SignatureException
+{
+};
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/crypto/XNSSInitializer.idl b/offapi/com/sun/star/xml/crypto/XNSSInitializer.idl
new file mode 100644
index 000000000..a6ff1ab7b
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/XNSSInitializer.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_xml_crypto_XNSSInitializer_idl_
+#define __com_sun_star_xml_crypto_XNSSInitializer_idl_
+
+#include <com/sun/star/xml/crypto/XCipherContextSupplier.idl>
+#include <com/sun/star/xml/crypto/XDigestContextSupplier.idl>
+#include <com/sun/star/xml/crypto/NSSProfile.idl>
+#include <com/sun/star/xml/lang/XInitialization.idl>
+
+module com { module sun { module star { module xml { module crypto {
+
+/**
+ @since LibreOffice 4.0
+ */
+interface XNSSInitializer {
+ interface ::com::sun::star::xml::crypto::XDigestContextSupplier;
+ interface ::com::sun::star::xml::crypto::XCipherContextSupplier;
+
+ /** the current path to the NSS databases
+
+ This attribute returns the current setting, based on the user selection
+ or automatic detection. This value can change until someone uses NSS
+ crypto functions, because just then LibreOffice initializes the NSS
+ library and the value stays fixed until LibreOffice is restarted!
+
+ @since LibreOffice 7.1
+ */
+ [attribute, readonly] string NSSPath;
+
+ /** the state of the NSS initialization
+
+ This attribute returns true, if the NSS library is initialized.
+
+ @see NSSPath
+ @since LibreOffice 7.1
+ */
+ [attribute, readonly] boolean IsNSSinitialized;
+
+ /** get the current profile list
+
+ @since LibreOffice 7.1
+ */
+ sequence<NSSProfile> getNSSProfiles();
+};
+
+} ; } ; } ; } ; } ;
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/crypto/XSEInitializer.idl b/offapi/com/sun/star/xml/crypto/XSEInitializer.idl
new file mode 100644
index 000000000..fc8ce622b
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/XSEInitializer.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_xml_crypto_xseinitializer_idl_
+#define __com_sun_star_xml_crypto_xseinitializer_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+
+module com { module sun { module star { module xml { module crypto {
+
+interface XXMLSecurityContext;
+
+/**
+ * Interface to manipulate Security Environment
+ */
+interface XSEInitializer : com::sun::star::uno::XInterface
+{
+ /**
+ Creates a security context.
+
+ @param aString
+ reserved for internal use.
+
+ @return the security context created
+ */
+ ::com::sun::star::xml::crypto::XXMLSecurityContext createSecurityContext( [in] string aString );
+
+ /**
+ * Frees a security context.
+ *
+ * @param securityContext the security context to be freed
+ */
+ void freeSecurityContext([in] com::sun::star::xml::crypto::XXMLSecurityContext securityContext);
+};
+
+} ; } ; } ; } ; } ;
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/crypto/XSecurityEnvironment.idl b/offapi/com/sun/star/xml/crypto/XSecurityEnvironment.idl
new file mode 100644
index 000000000..f3d1ddbf6
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/XSecurityEnvironment.idl
@@ -0,0 +1,115 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_xml_crypto_xsecurityenvironment_idl_
+#define __com_sun_star_xml_crypto_xsecurityenvironment_idl_
+
+#include <com/sun/star/uno/SecurityException.idl>
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+#include <com/sun/star/security/XCertificate.idl>
+#include <com/sun/star/security/CertificateCharacters.idl>
+#include <com/sun/star/security/CertificateValidity.idl>
+
+module com { module sun { module star { module xml { module crypto {
+
+/**
+ * Interface of Security Environment
+ */
+interface XSecurityEnvironment : com::sun::star::uno::XInterface
+{
+ /**
+ * Get personal certificates from the environment
+ */
+ sequence< com::sun::star::security::XCertificate > getPersonalCertificates() raises( com::sun::star::uno::SecurityException ) ;
+
+ /**
+ * Get certificate from the environment by issuer name and serial number
+ */
+ com::sun::star::security::XCertificate getCertificate( [in] string issuerName, [in] sequence< byte > serialNumber ) raises( com::sun::star::uno::SecurityException ) ;
+
+ /**
+ * Build certificate path from a certain certificate
+ */
+ sequence< com::sun::star::security::XCertificate > buildCertificatePath( [in] com::sun::star::security::XCertificate beginCert ) raises( com::sun::star::uno::SecurityException ) ;
+
+ /**
+ * Create certificate interface from raw DER encoded certificate
+ */
+ com::sun::star::security::XCertificate createCertificateFromRaw( [in] sequence< byte > rawCertificate ) raises( com::sun::star::uno::SecurityException ) ;
+
+ /**
+ * Create certificate interface from a Base64 encoded certificate.
+ */
+ com::sun::star::security::XCertificate createCertificateFromAscii( [in] string asciiCertificate ) raises( com::sun::star::uno::SecurityException ) ;
+
+ /**
+ Verify a certificate.
+
+ The method provides a way to verify a certificate.
+ @param xEECertificate
+ The certificate which is to be validated.
+
+ @param intermediateCertificates
+ Additional certificates which can be used by the method in constructing
+ the certificate chain. The root certificate may also be contained. However,
+ the implementation must check if the root certificate is indeed trusted by
+ the user.
+ All entries of the sequence must be non-null references.
+
+ @return
+ The validation status will returned as a bit-wise long, please refer to
+ CertificateValidity definition.
+ */
+ long verifyCertificate( [in] com::sun::star::security::XCertificate xEECertificate,
+ [in] sequence< com::sun::star::security::XCertificate > intermediateCertificates)
+ raises( com::sun::star::uno::SecurityException ) ;
+
+ /**
+ * Get a certificate characters.
+ *
+ * The method provides a way to get certificate characters like:
+ * 1. Whether or not the certificate have a private key in the user profile.
+ * 2. Whether or not the certificate is a trusted certificate.
+ * 3. Whether or not the certificate is a self-signed certificate.
+ *
+ * The certificate characters is defined as bit-wise long, please refer to
+ * CertificateCharacters definition.
+ */
+ long getCertificateCharacters( [in] com::sun::star::security::XCertificate xCertificate ) raises( com::sun::star::uno::SecurityException ) ;
+
+ /**
+ * Get the Environment detail information
+ */
+ string getSecurityEnvironmentInformation ( );
+
+ /**
+ * List all certificates, private (as returned by getPersonalCertificates) as well as those of other people/orgas
+ *
+ * @since LibreOffice 6.0
+ */
+ sequence< com::sun::star::security::XCertificate > getAllCertificates() raises( com::sun::star::uno::SecurityException ) ;
+
+} ;
+
+} ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/crypto/XUriBinding.idl b/offapi/com/sun/star/xml/crypto/XUriBinding.idl
new file mode 100644
index 000000000..0bffbca94
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/XUriBinding.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_xml_crypto_xuribinding_idl_
+#define __com_sun_star_xml_crypto_xuribinding_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+#include <com/sun/star/io/XInputStream.idl>
+
+module com { module sun { module star { module xml { module crypto {
+
+/**
+ * Interface of Uri Binding.
+ * <p>
+ * This interface is used to dynamically bind a uri with a
+ * XInputStream interface.
+ */
+interface XUriBinding : com::sun::star::uno::XInterface
+{
+ /**
+ * Sets the XInputStream interface for a uri.
+ *
+ * @param uri the uri to bind
+ * @param InputStream the XInputStream to be bound
+ */
+ void setUriBinding([in] string uri,
+ [in] com::sun::star::io::XInputStream InputStream)
+ raises( com::sun::star::uno::Exception );
+
+ /**
+ * Gets the XInputStream interface for a uri.
+ *
+ * @param uri the uri whose binding is to get
+ * @return the XInputStream bound with the uri
+ */
+ com::sun::star::io::XInputStream getUriBinding([in] string uri)
+ raises( com::sun::star::uno::Exception );
+};
+
+} ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/crypto/XXMLEncryption.idl b/offapi/com/sun/star/xml/crypto/XXMLEncryption.idl
new file mode 100644
index 000000000..20fd5e74d
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/XXMLEncryption.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_xml_crypto_xxmlencryption_idl_
+#define __com_sun_star_xml_crypto_xxmlencryption_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+#include <com/sun/star/uno/SecurityException.idl>
+#include <com/sun/star/xml/crypto/XXMLEncryptionTemplate.idl>
+#include <com/sun/star/xml/wrapper/XXMLElementWrapper.idl>
+#include <com/sun/star/xml/crypto/XXMLSecurityContext.idl>
+#include <com/sun/star/xml/crypto/XMLEncryptionException.idl>
+
+module com { module sun { module star { module xml { module crypto {
+
+/**
+ * Interface of XML encryption
+ *
+ * <p>This interface represents a XML encryptor or decryptor.</p>
+ *
+ * <p>The encryptor or decryptor concrete a key by retrieve security context
+ * and encryption template.</p>
+ *
+ * <p>In some cases, the encryptor or decryptor can determine and locate the
+ * EncryptedKey from the encryption template by dereference the RetrievalMethod
+ * inside EncryptedData.</p>
+ *
+ * <p>In some cases, the EncryptedKey need to be clearly pointed out by the
+ * encryption template.</p>
+ */
+interface XXMLEncryption : com::sun::star::uno::XInterface
+{
+ /**
+ * Perform encryption in the environment of encryption template and context.
+ */
+ com::sun::star::xml::crypto::XXMLEncryptionTemplate encrypt(
+ [in] com::sun::star::xml::crypto::XXMLEncryptionTemplate aTemplate ,
+ [in] com::sun::star::xml::crypto::XSecurityEnvironment aEnvironment
+ ) raises( com::sun::star::xml::crypto::XMLEncryptionException ,
+ com::sun::star::uno::SecurityException ) ;
+
+ /**
+ * Perform decryption in the environment of encryption template and context.
+ */
+ com::sun::star::xml::crypto::XXMLEncryptionTemplate decrypt(
+ [in] com::sun::star::xml::crypto::XXMLEncryptionTemplate aTemplate ,
+ [in] com::sun::star::xml::crypto::XXMLSecurityContext aContext
+ ) raises( com::sun::star::xml::crypto::XMLEncryptionException ,
+ com::sun::star::uno::SecurityException ) ;
+} ;
+
+} ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/crypto/XXMLEncryptionTemplate.idl b/offapi/com/sun/star/xml/crypto/XXMLEncryptionTemplate.idl
new file mode 100644
index 000000000..adee7b121
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/XXMLEncryptionTemplate.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_xml_crypto_xxmlencryptiontemplate_idl_
+#define __com_sun_star_xml_crypto_xxmlencryptiontemplate_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/xml/wrapper/XXMLElementWrapper.idl>
+#include <com/sun/star/xml/crypto/XXMLSecurityTemplate.idl>
+
+module com { module sun { module star { module xml { module crypto {
+
+/**
+ * Interface of XML encryption template
+ *
+ * <p>This interface represents an encryption template, which is the same as the
+ * desired XML encryption element[ EncryptedType ] but some of the nodes may be
+ * empty. The empty entities include CipherValue, which is a subset of
+ * EncryptedData or EncryptedKey. Empty entities are not allowed in an encryption
+ * template when performing decryption.</p>
+ *
+ * <p>In some cases, the encryptor or decryptor can determine and locate the
+ * EncryptedKey from the encryption template by dereference the RetrievalMethod
+ * inside EncryptedData.</p>
+ *
+ * <p>In some cases, the EncryptedKey need to be clearly pointed out by the
+ * encryption template.</p>
+ *
+ * <p>With the help of encryption context, the encryptor or decryptor specifies
+ * the key from the KeyInfo in the encryption template.</p>
+ *
+ *
+ * <p>It isn't a good method to set the EncryptedKey here. In general, there is
+ * a RetrievalMethod in EncryptedData by which we can get the EncryptedKey.
+ *
+ * And sometimes, in the low level, it is hard to determine what the key is
+ * except that the high level application tell the mechanism and parameters.
+ *
+ * So I think it will be more simple that the application set the encrypted key
+ * information. In this case, the application only need to know the XML schema
+ * or DTD and the encryption device. If so, the high level application takes the
+ * action of build the EncryptedKey template and references it in the element of
+ * EncryptedData. And in this case, the calling to set up EncryptedKey template
+ * and target is not necessary, because the encryptor or decryptor can determine
+ * and locate the EncryptedKey from the encryption template of EncryptedData by
+ * dereference the RetrievalMethod.
+ *
+ * In some situation, the high level applications do not want to know anything
+ * about crypto devices( May be he must, because the lower level do not know
+ * what the key is ). If it gives the key value, it can get EncryptedKey by
+ * setting the key template and key value target.</p>
+ */
+interface XXMLEncryptionTemplate : XXMLSecurityTemplate
+{
+ /**
+ * Get the target XML element, i.e. the element to be encrypted
+ */
+ com::sun::star::xml::wrapper::XXMLElementWrapper getTarget(
+ ) ;
+} ;
+
+} ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/crypto/XXMLSecurityContext.idl b/offapi/com/sun/star/xml/crypto/XXMLSecurityContext.idl
new file mode 100644
index 000000000..742d550af
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/XXMLSecurityContext.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_xml_crypto_xxmlsecuritycontext_idl_
+#define __com_sun_star_xml_crypto_xxmlsecuritycontext_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/security/SecurityInfrastructureException.idl>
+#include <com/sun/star/xml/crypto/XSecurityEnvironment.idl>
+
+module com { module sun { module star { module xml { module crypto {
+
+/**
+ * Interface of XML security context
+ *
+ * <p>This interface specifies a certain signature context. By signature
+ * context, the signer or verifier retrieves key specification.</p>
+ */
+interface XXMLSecurityContext : com::sun::star::uno::XInterface
+{
+ /**
+ * Add personal security environment , and return the index of the added environment.
+ */
+ long addSecurityEnvironment( [in] XSecurityEnvironment aSecurityEnvironment
+ ) raises( com::sun::star::security::SecurityInfrastructureException ) ;
+
+ /**
+ * Get the number of security environments
+ */
+ long getSecurityEnvironmentNumber( ) ;
+
+ /**
+ * Get personal security environment
+ */
+ com::sun::star::xml::crypto::XSecurityEnvironment getSecurityEnvironmentByIndex([in] long index ) ;
+
+ /**
+ * An handy method to get the first personal security environment.
+ * In XMLSec/NSS, the first personal security environment should be the "internal slot"
+ */
+ com::sun::star::xml::crypto::XSecurityEnvironment getSecurityEnvironment( ) ;
+
+ /**
+ * Get the ID of the internal security environment
+ */
+ long getDefaultSecurityEnvironmentIndex( ) ;
+
+ /**
+ * set the ID of the internal security environment
+ */
+ void setDefaultSecurityEnvironmentIndex([in] long index ) ;
+
+} ;
+
+} ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/crypto/XXMLSecurityTemplate.idl b/offapi/com/sun/star/xml/crypto/XXMLSecurityTemplate.idl
new file mode 100644
index 000000000..c29f2440b
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/XXMLSecurityTemplate.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_xml_crypto_xxmlsecuritytemplate_idl_
+#define __com_sun_star_xml_crypto_xxmlsecuritytemplate_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/xml/wrapper/XXMLElementWrapper.idl>
+#include <com/sun/star/xml/crypto/XUriBinding.idl>
+#include <com/sun/star/xml/crypto/SecurityOperationStatus.idl>
+
+module com { module sun { module star { module xml { module crypto {
+
+/**
+ * Interface of the XML security template
+ *
+ * <p>This interface represents a security template, which is the super interface
+ * of the XXMLSignatureTemplate interface and the XXMLEncryptionTemplate interface.
+ */
+interface XXMLSecurityTemplate : com::sun::star::uno::XInterface
+{
+ /**
+ * Load a XML signature template from XML signature element
+ */
+ void setTemplate(
+ [in] com::sun::star::xml::wrapper::XXMLElementWrapper aXmlElement
+ ) raises( com::sun::star::lang::IllegalArgumentException ) ;
+
+ /**
+ * Get the XML signature element that represents the signature template
+ */
+ com::sun::star::xml::wrapper::XXMLElementWrapper getTemplate(
+ ) ;
+
+ /**
+ * Load the target XML element, i.e. the element to be signed
+ */
+ void setTarget(
+ [in] com::sun::star::xml::wrapper::XXMLElementWrapper aXmlElement
+ ) raises( com::sun::star::lang::IllegalArgumentException ) ;
+
+ /**
+ * Set the template status
+ */
+ void setStatus(
+ [in] SecurityOperationStatus status
+ ) raises( com::sun::star::lang::IllegalArgumentException ) ;
+
+ /**
+ * Get the template status
+ */
+ SecurityOperationStatus getStatus( ) ;
+} ;
+
+} ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/crypto/XXMLSignature.idl b/offapi/com/sun/star/xml/crypto/XXMLSignature.idl
new file mode 100644
index 000000000..b0db29018
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/XXMLSignature.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_xml_crypto_xxmlsignature_idl_
+#define __com_sun_star_xml_crypto_xxmlsignature_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/SecurityException.idl>
+#include <com/sun/star/xml/crypto/XXMLSignatureTemplate.idl>
+#include <com/sun/star/xml/crypto/XXMLSecurityContext.idl>
+#include <com/sun/star/xml/crypto/XMLSignatureException.idl>
+
+module com { module sun { module star { module xml { module crypto {
+
+/**
+ * Interface of XML signature
+ *
+ * <p>This interface represents a XML signer or verifier.</p>
+ *
+ * <p>The signer or verifier concrete a key by retrieve signature context and
+ * signature template.</p>
+ *
+ * <p>In some cases, the signer or verifier can determine and locate the
+ * contents to be signed from the signature template by dereference the URI.</p>
+ *
+ * <p>In some cases, the contents to be signed need to be clearly pointed out by
+ * the signature template.</p>
+ */
+interface XXMLSignature : com::sun::star::uno::XInterface
+{
+ /**
+ * Perform signature in the environment of signature template and context.
+ */
+ com::sun::star::xml::crypto::XXMLSignatureTemplate generate(
+ [in] com::sun::star::xml::crypto::XXMLSignatureTemplate aTemplate ,
+ [in] com::sun::star::xml::crypto::XSecurityEnvironment aEnvironment
+ ) raises( com::sun::star::xml::crypto::XMLSignatureException ,
+ com::sun::star::uno::SecurityException ) ;
+
+ /**
+ * Perform validation in the environment of signature template and context.
+ */
+ com::sun::star::xml::crypto::XXMLSignatureTemplate validate(
+ [in] com::sun::star::xml::crypto::XXMLSignatureTemplate aTemplate ,
+ [in] com::sun::star::xml::crypto::XXMLSecurityContext aContext
+ ) raises( com::sun::star::xml::crypto::XMLSignatureException ,
+ com::sun::star::uno::SecurityException ) ;
+
+ /**
+ * get the time used by the engine, JSR105,
+ * this method is used for evaluation.
+ */
+ /*
+ hyper getEngineTime([in] long id);
+ */
+};
+
+} ; } ; } ; } ; } ;
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/crypto/XXMLSignatureTemplate.idl b/offapi/com/sun/star/xml/crypto/XXMLSignatureTemplate.idl
new file mode 100644
index 000000000..32fc3b991
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/XXMLSignatureTemplate.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_xml_crypto_xxmlsignaturetemplate_idl_
+#define __com_sun_star_xml_crypto_xxmlsignaturetemplate_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/xml/wrapper/XXMLElementWrapper.idl>
+#include <com/sun/star/xml/crypto/XUriBinding.idl>
+#include <com/sun/star/xml/crypto/XXMLSecurityTemplate.idl>
+
+module com { module sun { module star { module xml { module crypto {
+
+/**
+ * Interface of XML signature template
+ *
+ * <p>This interface represents a signature template, which is the same as the
+ * desired XML signature element but some of the nodes may be empty. The empty
+ * entities include digest value and signature value. Empty entities are not
+ * allowed in a signature template when performing validation.</p>
+ *
+ * <p>In some cases, the signer or verifier can determine and locate the
+ * contents to be signed from the template by dereference the URI.</p>
+ *
+ * <p>With the help of signature context, the signer or verifier specifies the
+ * key from the KeyInfo in the signature template.</p>
+ */
+interface XXMLSignatureTemplate : XXMLSecurityTemplate
+{
+ /**
+ * Get the target XML element, i.e. the element to be signed
+ */
+ sequence< com::sun::star::xml::wrapper::XXMLElementWrapper > getTargets(
+ ) ;
+
+ /**
+ * Set the dynamic URI binding
+ */
+ void setBinding(
+ [in] com::sun::star::xml::crypto::XUriBinding aUriBinding
+ ) raises( com::sun::star::lang::IllegalArgumentException ) ;
+
+ /**
+ * Get the dynamic URI binding
+ */
+ com::sun::star::xml::crypto::XUriBinding getBinding( ) ;
+} ;
+
+} ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/crypto/sax/ConstOfSecurityId.idl b/offapi/com/sun/star/xml/crypto/sax/ConstOfSecurityId.idl
new file mode 100644
index 000000000..d550519ae
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/ConstOfSecurityId.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_xml_crypto_sax_constofsecurityid_idl_
+#define __com_sun_star_xml_crypto_sax_constofsecurityid_idl_
+
+module com { module sun { module star { module xml { module crypto { module sax {
+
+/**
+ * Represents the undefined security id
+ */
+constants ConstOfSecurityId
+{
+ const long UNDEFINEDSECURITYID = -1;
+};
+
+} ; } ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/crypto/sax/ElementMarkPriority.idl b/offapi/com/sun/star/xml/crypto/sax/ElementMarkPriority.idl
new file mode 100644
index 000000000..ead463f3f
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/ElementMarkPriority.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_xml_crypto_sax_elementmarkpriority_idl_
+#define __com_sun_star_xml_crypto_sax_elementmarkpriority_idl_
+
+module com { module sun { module star { module xml { module crypto { module sax {
+
+/**
+ * Defines priority for the element mark's notification.
+ * <p>
+ * The PRI_MINIMUM priority is a value less than any practical
+ * priority value, it is used when compare between different
+ * priority values.
+ * <p>
+ * The PRI_AFTERMODIFY priority represents the notification will be
+ * sent after any internal modification has finished.
+ * <p>
+ * The PRI_BEFOREMODIFY priority represents the notification will be
+ * sent before any internal modification happens.
+ * <p>
+ * So an element mark with PRI_BEFOREMODIFY will be handled first,
+ * and one with PRI_AFTERMODIFY will be handled at last.
+ */
+enum ElementMarkPriority
+{
+ MINIMUM = 1,
+ AFTERMODIFY,
+ BEFOREMODIFY
+};
+
+} ; } ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/crypto/sax/ElementMarkType.idl b/offapi/com/sun/star/xml/crypto/sax/ElementMarkType.idl
new file mode 100644
index 000000000..c440019c4
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/ElementMarkType.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_xml_crypto_sax_elementmarktype_idl_
+#define __com_sun_star_xml_crypto_sax_elementmarktype_idl_
+
+module com { module sun { module star { module xml { module crypto { module sax {
+
+/**
+ * Defines types of element mark.
+ * <p>
+ * the TYPEOFELEMENTMARK type represents a blocker, and the TYPEOFELEMENTCOLLECTOR
+ * type represents an element collector.
+ */
+enum ElementMarkType
+{
+ ELEMENTMARK = 1,
+ ELEMENTCOLLECTOR
+};
+
+} ; } ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/crypto/sax/ElementStackItem.idl b/offapi/com/sun/star/xml/crypto/sax/ElementStackItem.idl
new file mode 100644
index 000000000..01715c6b4
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/ElementStackItem.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_xml_crypto_sax_ElementStackItem_idl_
+#define __com_sun_star_xml_crypto_sax_ElementStackItem_idl_
+
+#include <com/sun/star/xml/sax/XAttributeList.idl>
+
+module com { module sun { module star { module xml { module crypto { module sax {
+
+/**
+ * A struct to keep a startElement/endElement SAX event.
+ */
+struct ElementStackItem
+{
+ /**
+ * whether it is a startElement event
+ */
+ boolean isStartElementEvent;
+
+ /**
+ * the name of the element
+ */
+ string elementName;
+
+ /**
+ * attribute list for a startElement event
+ */
+ com::sun::star::xml::sax::XAttributeList xAttributes;
+};
+
+} ; } ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/crypto/sax/XBlockerMonitor.idl b/offapi/com/sun/star/xml/crypto/sax/XBlockerMonitor.idl
new file mode 100644
index 000000000..35eace3f6
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/XBlockerMonitor.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_xml_crypto_sax_xblockermonitor_idl_
+#define __com_sun_star_xml_crypto_sax_xblockermonitor_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+
+module com { module sun { module star { module xml { module crypto { module sax {
+
+/**
+ * Interface of Blocker Monitor.
+ * <p>
+ * This interface is used to manipulate a blocker.
+ */
+interface XBlockerMonitor : com::sun::star::uno::XInterface
+{
+ /**
+ * Configures the blocker's id.
+ *
+ * @param id the keeper id of the blocker
+ */
+ void setBlockerId([in] long id)
+ raises( com::sun::star::uno::Exception );
+};
+
+} ; } ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/crypto/sax/XDecryptionResultBroadcaster.idl b/offapi/com/sun/star/xml/crypto/sax/XDecryptionResultBroadcaster.idl
new file mode 100644
index 000000000..21bf34a8f
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/XDecryptionResultBroadcaster.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_xml_crypto_sax_xdecryptionresultbroadcaster_idl_
+#define __com_sun_star_xml_crypto_sax_xdecryptionresultbroadcaster_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+
+module com { module sun { module star { module xml { module crypto { module sax {
+
+interface XDecryptionResultListener;
+
+/**
+ * Interface of Decryption Result Broadcaster.
+ * <p>
+ * This interface is used to manipulate decryption result listener.
+ */
+interface XDecryptionResultBroadcaster : com::sun::star::uno::XInterface
+{
+ /**
+ * Adds a new decryption result listener.
+ * <p>
+ * When the decryption is finished, the result information will be sent to this
+ * listener.
+ *
+ * @param listener the listener to be added
+ */
+ void addDecryptionResultListener(
+ [in] XDecryptionResultListener listener)
+ raises( com::sun::star::uno::Exception );
+
+ /**
+ * Removes a decryption result listener.
+ * <p>
+ * After a listener is removed, no result information will be sent to it.
+ *
+ * @param listener the listener to be removed
+ */
+ void removeDecryptionResultListener([in] XDecryptionResultListener listener);
+};
+
+} ; } ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/crypto/sax/XDecryptionResultListener.idl b/offapi/com/sun/star/xml/crypto/sax/XDecryptionResultListener.idl
new file mode 100644
index 000000000..93bf32913
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/XDecryptionResultListener.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_xml_crypto_sax_xdecryptionresultlistener_idl_
+#define __com_sun_star_xml_crypto_sax_xdecryptionresultlistener_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+#include <com/sun/star/xml/crypto/SecurityOperationStatus.idl>
+
+module com { module sun { module star { module xml { module crypto { module sax {
+
+/**
+ * Interface of Decryption Result Listener.
+ * <p>
+ * This interface is used to receive the result information of a
+ * decryption operation.
+ */
+interface XDecryptionResultListener : com::sun::star::uno::XInterface
+{
+ /**
+ * Notifies the decryption result.
+ *
+ * @param securityId the security id of the encryption to be decrypted
+ * @param decryptionResult the result information
+ */
+ void decrypted(
+ [in] long securityId,
+ [in] com::sun::star::xml::crypto::SecurityOperationStatus decryptionResult);
+};
+
+} ; } ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/crypto/sax/XElementStackKeeper.idl b/offapi/com/sun/star/xml/crypto/sax/XElementStackKeeper.idl
new file mode 100644
index 000000000..05d0f4903
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/XElementStackKeeper.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_xml_crypto_sax_xelementstackkeeper_idl_
+#define __com_sun_star_xml_crypto_sax_xelementstackkeeper_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+#include <com/sun/star/xml/sax/XDocumentHandler.idl>
+#include <com/sun/star/xml/crypto/sax/ElementStackItem.idl>
+
+module com { module sun { module star { module xml { module crypto { module sax {
+
+/**
+ * Manipulate the "key SAX events" in a SAX event stream.
+ */
+interface XElementStackKeeper : com::sun::star::uno::XInterface
+{
+ /**
+ * Starts to buffer key SAX events.
+ */
+ void start();
+
+ /**
+ * Stops buffering key SAX events.
+ */
+ void stop();
+
+ /**
+ * Transfers the buffered key SAX events to a document handler.
+ * <p>
+ * All transferred events are removed from the buffer.
+ *
+ * @param handler the document to receive key SAX events
+ * @param includingTheLastEvent whether to transfer the last key SAX event
+ */
+ void retrieve( [in] com::sun::star::xml::sax::XDocumentHandler handler, [in] boolean includingTheLastEvent);
+};
+
+} ; } ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/crypto/sax/XEncryptionResultBroadcaster.idl b/offapi/com/sun/star/xml/crypto/sax/XEncryptionResultBroadcaster.idl
new file mode 100644
index 000000000..ac4390122
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/XEncryptionResultBroadcaster.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_xml_crypto_sax_xencryptionresultbroadcaster_idl_
+#define __com_sun_star_xml_crypto_sax_xencryptionresultbroadcaster_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+
+module com { module sun { module star { module xml { module crypto { module sax {
+
+interface XEncryptionResultListener;
+
+/**
+ * Interface of Encryption Result Broadcaster.
+ * <p>
+ * This interface is used to manipulate encryption result listener.
+ */
+interface XEncryptionResultBroadcaster : com::sun::star::uno::XInterface
+{
+ /**
+ * Adds a new encryption result listener.
+ * <p>
+ * When the encryption is finished, the result information will be sent to this
+ * listener.
+ *
+ * @param listener the listener to be added
+ */
+ void addEncryptionResultListener(
+ [in] XEncryptionResultListener listener)
+ raises( com::sun::star::uno::Exception );
+
+ /**
+ * Removes an encryption result listener.
+ * <p>
+ * After a listener is removed, no result information will be sent to it.
+ *
+ * @param listener the listener to be removed
+ */
+ void removeEncryptionResultListener([in] XEncryptionResultListener listener);
+};
+
+} ; } ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/crypto/sax/XEncryptionResultListener.idl b/offapi/com/sun/star/xml/crypto/sax/XEncryptionResultListener.idl
new file mode 100644
index 000000000..38aeb9ca4
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/XEncryptionResultListener.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_xml_crypto_sax_xencryptionresultlistener_idl_
+#define __com_sun_star_xml_crypto_sax_xencryptionresultlistener_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+#include <com/sun/star/xml/crypto/SecurityOperationStatus.idl>
+
+module com { module sun { module star { module xml { module crypto { module sax {
+
+/**
+ * Interface of Encryption Result Listener.
+ * <p>
+ * This interface is used to receive the result information of an
+ * encryption operation.
+ */
+interface XEncryptionResultListener : com::sun::star::uno::XInterface
+{
+ /**
+ * Notifies the encryption result.
+ *
+ * @param securityId the security id of the encryption
+ * @param encryptionResult the result information
+ */
+ void encrypted(
+ [in] long securityId,
+ [in] com::sun::star::xml::crypto::SecurityOperationStatus encryptionResult);
+};
+
+} ; } ; } ; } ; } ; } ;
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/crypto/sax/XKeyCollector.idl b/offapi/com/sun/star/xml/crypto/sax/XKeyCollector.idl
new file mode 100644
index 000000000..02f2dd10b
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/XKeyCollector.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_xml_crypto_sax_xkeycollector_idl_
+#define __com_sun_star_xml_crypto_sax_xkeycollector_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+
+module com { module sun { module star { module xml { module crypto { module sax {
+
+/**
+ * Interface of Key Collector.
+ * <p>
+ * This interface is used to manipulate key materials.
+ */
+interface XKeyCollector : com::sun::star::uno::XInterface
+{
+ /**
+ * Set the keeper id of the key element.
+ *
+ * @param id the keeper id of the key element. If the id is 0, then it represents
+ * that this security entity has included its key material internally.
+ */
+ void setKeyId([in] long id)
+ raises( com::sun::star::uno::Exception );
+};
+
+} ; } ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/crypto/sax/XMissionTaker.idl b/offapi/com/sun/star/xml/crypto/sax/XMissionTaker.idl
new file mode 100644
index 000000000..60b9ce1aa
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/XMissionTaker.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_xml_crypto_sax_xmissiontaker_idl_
+#define __com_sun_star_xml_crypto_sax_xmissiontaker_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+
+module com { module sun { module star { module xml { module crypto { module sax {
+
+/**
+ * Interface of Mission Taker.
+ * <p>
+ * This interface is used to control a mission.
+ */
+interface XMissionTaker : com::sun::star::uno::XInterface
+{
+ /**
+ * Forces a mission to make an end.
+ *
+ * @return `TRUE` if the mission is completed successfully, `FALSE`
+ * otherwise.
+ */
+ boolean endMission();
+};
+
+} ; } ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/crypto/sax/XReferenceCollector.idl b/offapi/com/sun/star/xml/crypto/sax/XReferenceCollector.idl
new file mode 100644
index 000000000..48e5a0ba3
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/XReferenceCollector.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_xml_crypto_sax_XReferenceCollector_idl_
+#define __com_sun_star_xml_crypto_sax_XReferenceCollector_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+
+module com { module sun { module star { module xml { module crypto { module sax {
+
+/**
+ * Interface of Signature Collector.
+ * <p>
+ * This interface is used to control collecting a signature.
+ */
+interface XReferenceCollector : com::sun::star::uno::XInterface
+{
+ /**
+ * Sets the reference count of the signature.
+ *
+ * @param count the reference count of the signature
+ */
+ void setReferenceCount([in] long count)
+ raises( com::sun::star::uno::Exception );
+
+ /**
+ * Set the keeper id of the element collector of the
+ * referenced element.
+ *
+ * @param id the keeper id of the element collector,
+ * which is collecting a referenced element
+ */
+ void setReferenceId([in] long id)
+ raises( com::sun::star::uno::Exception );
+};
+
+} ; } ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/crypto/sax/XReferenceResolvedBroadcaster.idl b/offapi/com/sun/star/xml/crypto/sax/XReferenceResolvedBroadcaster.idl
new file mode 100644
index 000000000..cef647b26
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/XReferenceResolvedBroadcaster.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_xml_crypto_sax_xreferenceresolvedbroadcaster_idl_
+#define __com_sun_star_xml_crypto_sax_xreferenceresolvedbroadcaster_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+
+module com { module sun { module star { module xml { module crypto { module sax {
+
+interface XReferenceResolvedListener;
+
+/**
+ * Interface of Reference Resolved Broadcaster.
+ * <p>
+ * This interface is used to manipulate reference resolved listener.
+ */
+interface XReferenceResolvedBroadcaster : com::sun::star::uno::XInterface
+{
+ /**
+ * Adds a new reference resolved listener for an element collector.
+ * <p>
+ * When the element collector has completely collected that element,
+ * this listener will receive a notification.
+ *
+ * @param referenceId the id of the element collector for which
+ * the new listener is added
+ * @param listener the listener to be added
+ */
+ void addReferenceResolvedListener(
+ [in] long referenceId,
+ [in] XReferenceResolvedListener listener);
+
+ /**
+ * Removes a listener from an element collector.
+ * <p>
+ * When a listener is removed, it will not receive notification when
+ * collection completes.
+ *
+ * @param referenceId the id of the element collector from which
+ * the listener is removed
+ * @param listener the listener to be removed
+ */
+ void removeReferenceResolvedListener(
+ [in] long referenceId,
+ [in] XReferenceResolvedListener listener);
+};
+
+} ; } ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/crypto/sax/XReferenceResolvedListener.idl b/offapi/com/sun/star/xml/crypto/sax/XReferenceResolvedListener.idl
new file mode 100644
index 000000000..71085587c
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/XReferenceResolvedListener.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_xml_crypto_sax_xreferenceresolvedlistener_idl_
+#define __com_sun_star_xml_crypto_sax_xreferenceresolvedlistener_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+
+module com { module sun { module star { module xml { module crypto { module sax {
+
+/**
+ * Interface of Reference Resolved Listener.
+ * <p>
+ * This interface is used to receive the collection completion notification for an element
+ * collector.
+ */
+interface XReferenceResolvedListener : com::sun::star::uno::XInterface
+{
+ /**
+ * Notifies an element has been collected by an element collector.
+ *
+ * @param referenceId the id of the element collector
+ */
+ void referenceResolved([in] long referenceId)
+ raises( com::sun::star::uno::Exception );
+};
+
+} ; } ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/crypto/sax/XSAXEventKeeper.idl b/offapi/com/sun/star/xml/crypto/sax/XSAXEventKeeper.idl
new file mode 100644
index 000000000..ef2def3fe
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/XSAXEventKeeper.idl
@@ -0,0 +1,134 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_xml_crypto_sax_xsaxeventkeeper_idl_
+#define __com_sun_star_xml_crypto_sax_xsaxeventkeeper_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+#include <com/sun/star/xml/sax/XDocumentHandler.idl>
+#include <com/sun/star/xml/wrapper/XXMLDocumentWrapper.idl>
+#include <com/sun/star/xml/wrapper/XXMLElementWrapper.idl>
+
+module com { module sun { module star { module xml { module crypto { module sax {
+
+/**
+ * Interface of SAX Event Keeper.
+ * <p>
+ * This interface is used to manipulate element marks in a SAX event stream.
+ * <p>
+ * There are two kinds of element mark, one is element collector, which is
+ * used to collect a particular element from the SAX event stream; the other
+ * is blocker, which is used to block the SAX event stream.
+ */
+interface XSAXEventKeeper : com::sun::star::uno::XInterface
+{
+ /**
+ * Adds a new element collector on the next element in the SAX event
+ * stream.
+ *
+ * @return the keeper id of the new element collector
+ */
+ long addElementCollector();
+
+ /**
+ * Removes an element collector.
+ *
+ * @param id the keeper id of the element collector to be removed
+ */
+ void removeElementCollector([in] long id);
+
+ /**
+ * Adds a new blocker on the next element in the SAX event stream.
+ * <p>
+ * No SAX event starting from the next element will be forwarded until
+ * this blocker is removed.
+ *
+ * @return the keeper id of the new blocker
+ */
+ long addBlocker();
+
+ /**
+ * Removes a blocker
+ *
+ * @param id the keeper id of the blocker to be removed
+ */
+ void removeBlocker([in] long id);
+
+ /**
+ * Checks whether the SAX event stream is blocking.
+ *
+ * @return <code>true</code> if blocking, <code>false</code> otherwise
+ */
+ boolean isBlocking();
+
+ /**
+ * Gets the element of an element mark.
+ *
+ * @param id the keeper id of the element mark, it can be an element
+ * collector or a blocker
+ */
+ com::sun::star::xml::wrapper::XXMLElementWrapper getElement([in] long id);
+
+ /**
+ * Sets the element of an element mark.
+ * <p>
+ * When an element is replaced outside of this interface, then uses this method
+ * can restore the link between an element mark and its working element.
+ *
+ * @param id the keeper id of the element mark to be set
+ * @param aElement the new element for this element mark.
+ */
+ void setElement(
+ [in] long id,
+ [in] com::sun::star::xml::wrapper::XXMLElementWrapper aElement);
+
+ /**
+ * Sets the next document handler in the SAX chain.
+ * <p>
+ * This handler will receive SAX events forwarded by the SAXEventKeeper.
+ *
+ * @param nextHandler the next handler in the SAX chain
+ * @return the old next handler
+ */
+ com::sun::star::xml::sax::XDocumentHandler setNextHandler(
+ [in] com::sun::star::xml::sax::XDocumentHandler nextHandler);
+
+ /**
+ * Prints information about all buffered elements.
+ *
+ * @return a tree-style string including all buffer information
+ */
+ string printBufferNodeTree();
+
+ /**
+ * Gets the element which current blocking happens.
+ * <p>
+ * This element is the working element of the first blocker in tree order.
+ *
+ * @return the current blocking element
+ */
+ com::sun::star::xml::wrapper::XXMLElementWrapper getCurrentBlockingNode();
+};
+
+} ; } ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/crypto/sax/XSAXEventKeeperStatusChangeBroadcaster.idl b/offapi/com/sun/star/xml/crypto/sax/XSAXEventKeeperStatusChangeBroadcaster.idl
new file mode 100644
index 000000000..4a4ca1587
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/XSAXEventKeeperStatusChangeBroadcaster.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_xml_crypto_sax_xsaxeventkeeperstatuschangebroadcaster_idl_
+#define __com_sun_star_xml_crypto_sax_xsaxeventkeeperstatuschangebroadcaster_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+
+module com { module sun { module star { module xml { module crypto { module sax {
+
+interface XSAXEventKeeperStatusChangeListener;
+
+/**
+ * Interface of SAXEventKeeper Status Change Broadcaster.
+ * <p>
+ * This interface is used to manipulate SAXEventKeeper status change listener.
+ */
+interface XSAXEventKeeperStatusChangeBroadcaster : com::sun::star::uno::XInterface
+{
+ /**
+ * Adds a new status change listener.
+ * <p>
+ * When the SAXEventKeeper's status changes, the listener will receive a
+ * notification.
+ *
+ * @param listener the listener to be added
+ */
+ void addSAXEventKeeperStatusChangeListener(
+ [in] XSAXEventKeeperStatusChangeListener listener);
+
+ /**
+ * Removes a status change listener.
+ * <p>
+ * After a listener is removed, no status change notification will be
+ * sent to it.
+ *
+ * @param listener the listener to be removed
+ */
+ void removeSAXEventKeeperStatusChangeListener(
+ [in] XSAXEventKeeperStatusChangeListener listener);
+};
+
+} ; } ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/crypto/sax/XSAXEventKeeperStatusChangeListener.idl b/offapi/com/sun/star/xml/crypto/sax/XSAXEventKeeperStatusChangeListener.idl
new file mode 100644
index 000000000..d214edc8a
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/XSAXEventKeeperStatusChangeListener.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_xml_crypto_sax_xsaxeventkeeperstatuschangelistener_idl_
+#define __com_sun_star_xml_crypto_sax_xsaxeventkeeperstatuschangelistener_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+
+module com { module sun { module star { module xml { module crypto { module sax {
+
+/**
+ * Interface of SAXEventKeeper Status Change Listener.
+ * <p>
+ * This interface is used to receive the SAXEventKeeper status change notification.
+ */
+interface XSAXEventKeeperStatusChangeListener : com::sun::star::uno::XInterface
+{
+ /**
+ * Notifies the SAXEventKeeper is entering/leaving blocking state.
+ *
+ * @param isBlocking <code>true</code> if the SAXEventKeeper is
+ * entering blocking state, <code>false</code>
+ * otherwise
+ */
+ void blockingStatusChanged([in] boolean isBlocking);
+
+ /**
+ * Notifies the SAXEventKeeper is entering/leaving collecting state.
+ *
+ * @param isInsideCollectedElement <code>true</code> if the SAXEventKeeper is
+ * collecting some element, <code>false</code>
+ * otherwise
+ */
+ void collectionStatusChanged([in] boolean isInsideCollectedElement);
+
+ /**
+ * Notifies the SAXEventKeeper's buffer is empty/not empty
+ *
+ * @param isBufferEmpty <code>true</code> if the SAXEventKeeper has no buffer
+ * at all; <code>false</code> otherwise.
+ */
+ void bufferStatusChanged([in] boolean isBufferEmpty);
+};
+
+} ; } ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/crypto/sax/XSecuritySAXEventKeeper.idl b/offapi/com/sun/star/xml/crypto/sax/XSecuritySAXEventKeeper.idl
new file mode 100644
index 000000000..94d2e9e71
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/XSecuritySAXEventKeeper.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_xml_crypto_sax_xsecuritysaxeventkeeper_idl_
+#define __com_sun_star_xml_crypto_sax_xsecuritysaxeventkeeper_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+#include <com/sun/star/xml/crypto/sax/XSAXEventKeeper.idl>
+#include <com/sun/star/xml/crypto/sax/ConstOfSecurityId.idl>
+#include <com/sun/star/xml/crypto/sax/ElementMarkPriority.idl>
+#include <com/sun/star/xml/crypto/sax/ElementMarkType.idl>
+
+module com { module sun { module star { module xml { module crypto { module sax {
+
+/**
+ * Interface of Security SAX Event Keeper.
+ * <p>
+ * This interface is an extension of the XSAXEventKeeper interface,
+ * some security related features are added.
+ */
+interface XSecuritySAXEventKeeper : XSAXEventKeeper
+{
+ /**
+ * Adds a new element collector on the next element in the SAX event
+ * stream.
+ *
+ * @param priority the priority of the element collector. See
+ * ConstOfPriority
+ * @param modifyElement a flag representing whether the element
+ * collector will modify the content of its
+ * element after notification
+ * @return the keeper id of the new element collector
+ */
+ long addSecurityElementCollector(
+ [in] ElementMarkPriority priority,
+ [in] boolean modifyElement);
+
+ /**
+ * Sets security id for an element mark.
+ *
+ * @param id the keeper id of the element collector to be set
+ * @param securityId the security id to be set
+ */
+ void setSecurityId([in] long id, [in] long securityId);
+};
+
+} ; } ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/crypto/sax/XSignatureCreationResultBroadcaster.idl b/offapi/com/sun/star/xml/crypto/sax/XSignatureCreationResultBroadcaster.idl
new file mode 100644
index 000000000..2a1ed9f15
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/XSignatureCreationResultBroadcaster.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_xml_crypto_sax_xsignaturecreationresultbroadcaster_idl_
+#define __com_sun_star_xml_crypto_sax_xsignaturecreationresultbroadcaster_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+
+module com { module sun { module star { module xml { module crypto { module sax {
+
+interface XSignatureCreationResultListener;
+
+/**
+ * Interface of Signature Creation Result Broadcaster.
+ * <p>
+ * This interface is used to manipulate signature creation result listener.
+ */
+interface XSignatureCreationResultBroadcaster : com::sun::star::uno::XInterface
+{
+ /**
+ * Adds a new signature creation result listener.
+ * <p>
+ * When the signature is created, the result information will be sent to this
+ * listener.
+ *
+ * @param listener the listener to be added
+ */
+ void addSignatureCreationResultListener(
+ [in] XSignatureCreationResultListener listener)
+ raises( com::sun::star::uno::Exception );
+
+ /**
+ * Removes a signature creation result listener.
+ * <p>
+ * After a listener is removed, no result information will be sent to it.
+ *
+ * @param listener the listener to be removed
+ */
+ void removeSignatureCreationResultListener(
+ [in] XSignatureCreationResultListener listener);
+};
+
+} ; } ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/crypto/sax/XSignatureCreationResultListener.idl b/offapi/com/sun/star/xml/crypto/sax/XSignatureCreationResultListener.idl
new file mode 100644
index 000000000..c7f958a51
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/XSignatureCreationResultListener.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_xml_crypto_sax_xsignaturecreationresultlistener_idl_
+#define __com_sun_star_xml_crypto_sax_xsignaturecreationresultlistener_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+#include <com/sun/star/xml/crypto/SecurityOperationStatus.idl>
+
+module com { module sun { module star { module xml { module crypto { module sax {
+
+/**
+ * Interface of Signature Creation Result Listener.
+ * <p>
+ * This interface is used to receive the result information of a
+ * signature creation.
+ */
+interface XSignatureCreationResultListener : com::sun::star::uno::XInterface
+{
+ /**
+ * Notifies the signature creation result.
+ *
+ * @param securityId the security id of the signature
+ * @param creationResult the result information
+ */
+ void signatureCreated(
+ [in] long securityId,
+ [in] com::sun::star::xml::crypto::SecurityOperationStatus creationResult);
+};
+
+} ; } ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/crypto/sax/XSignatureVerifyResultBroadcaster.idl b/offapi/com/sun/star/xml/crypto/sax/XSignatureVerifyResultBroadcaster.idl
new file mode 100644
index 000000000..20b64966d
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/XSignatureVerifyResultBroadcaster.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_xml_crypto_sax_xsignatureverifyresultbroadcaster_idl_
+#define __com_sun_star_xml_crypto_sax_xsignatureverifyresultbroadcaster_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+
+module com { module sun { module star { module xml { module crypto { module sax {
+
+interface XSignatureVerifyResultListener;
+
+/**
+ * Interface of Signature Verify Result Broadcaster.
+ * <p>
+ * This interface is used to manipulate signature verify result listener.
+ */
+interface XSignatureVerifyResultBroadcaster : com::sun::star::uno::XInterface
+{
+ /**
+ * Adds a new signature verify result listener.
+ * <p>
+ * When the signature is verified, the result information will be sent to this
+ * listener.
+ *
+ * @param listener the listener to be added
+ */
+ void addSignatureVerifyResultListener(
+ [in] XSignatureVerifyResultListener listener)
+ raises( com::sun::star::uno::Exception );
+
+ /**
+ * Removes a signature verify result listener.
+ * <p>
+ * After a listener is removed, no result information will be sent to it.
+ *
+ * @param listener the listener to be removed
+ */
+ void removeSignatureVerifyResultListener(
+ [in] XSignatureVerifyResultListener listener);
+};
+
+} ; } ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/crypto/sax/XSignatureVerifyResultListener.idl b/offapi/com/sun/star/xml/crypto/sax/XSignatureVerifyResultListener.idl
new file mode 100644
index 000000000..f1ea34f9f
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/XSignatureVerifyResultListener.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_xml_crypto_sax_xsignatureverifyresultlistener_idl_
+#define __com_sun_star_xml_crypto_sax_xsignatureverifyresultlistener_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+#include <com/sun/star/xml/crypto/SecurityOperationStatus.idl>
+
+module com { module sun { module star { module xml { module crypto { module sax {
+
+/**
+ * Interface of Signature Verify Result Listener.
+ * <p>
+ * This interface is used to receive the result information of a
+ * signature verification.
+ */
+interface XSignatureVerifyResultListener : com::sun::star::uno::XInterface
+{
+ /**
+ * Notifies the signature verify result.
+ *
+ * @param securityId the security id of the signature
+ * @param verifyResult the result information
+ */
+ void signatureVerified(
+ [in] long securityId,
+ [in] com::sun::star::xml::crypto::SecurityOperationStatus verifyResult);
+};
+
+} ; } ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/csax/XCompressedDocumentHandler.idl b/offapi/com/sun/star/xml/csax/XCompressedDocumentHandler.idl
new file mode 100644
index 000000000..6d714caa2
--- /dev/null
+++ b/offapi/com/sun/star/xml/csax/XCompressedDocumentHandler.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_xml_csax_XCompressedDocumentHandler_idl__
+#define __com_sun_star_xml_csax_XCompressedDocumentHandler_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/xml/sax/SAXException.idl>
+#include <com/sun/star/xml/csax/XMLAttribute.idl>
+
+module com { module sun { module star { module xml { module csax {
+
+/**
+ * A compressed XDocumentHandler interface.
+ * <p>
+ * All methods in this interface have the same function with methods
+ * in the XDocumentHandler interface.
+ * <p>
+ * Because there is no interface parameter in these methods, so using
+ * this interface to transfer SAX event is thought to have better
+ * performance than using the XDocumentHandler interface, in case of
+ * when UNO C++/Java bridge is involved.
+ */
+interface XCompressedDocumentHandler: com::sun::star::uno::XInterface
+{
+ void compressedStartDocument()
+ raises( com::sun::star::xml::sax::SAXException );
+
+ void compressedEndDocument()
+ raises( com::sun::star::xml::sax::SAXException );
+
+ void compressedStartElement( [in] string aName, [in] sequence< XMLAttribute > aAttributes)
+ raises( com::sun::star::xml::sax::SAXException );
+
+ void compressedEndElement( [in] string aName )
+ raises( com::sun::star::xml::sax::SAXException );
+
+ void compressedCharacters( [in] string aChars )
+ raises( com::sun::star::xml::sax::SAXException );
+
+ void compressedIgnorableWhitespace( [in] string aWhitespaces )
+ raises( com::sun::star::xml::sax::SAXException );
+
+ void compressedProcessingInstruction( [in] string aTarget, [in] string aData )
+ raises( com::sun::star::xml::sax::SAXException );
+
+ void compressedSetDocumentLocator( [in] long columnNumber, [in] long lineNumber, [in] string publicId, [in] string systemId)
+ raises( com::sun::star::xml::sax::SAXException );
+
+};
+
+} ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/csax/XMLAttribute.idl b/offapi/com/sun/star/xml/csax/XMLAttribute.idl
new file mode 100644
index 000000000..28e4125a2
--- /dev/null
+++ b/offapi/com/sun/star/xml/csax/XMLAttribute.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_xml_csax_XMLAttribute_idl__
+#define __com_sun_star_xml_csax_XMLAttribute_idl__
+
+module com { module sun { module star { module xml { module csax {
+
+/**
+ * A struct to keep information of an element's attribute.
+ */
+struct XMLAttribute
+{
+ /**
+ * the attribute name
+ */
+ string sName;
+
+ /**
+ * the attribute value
+ */
+ string sValue;
+};
+
+} ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/DOMException.idl b/offapi/com/sun/star/xml/dom/DOMException.idl
new file mode 100644
index 000000000..08799f1d7
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/DOMException.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_xml_dom_DOMException_idl__
+#define __com_sun_star_xml_dom_DOMException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+#include <com/sun/star/xml/dom/DOMExceptionType.idl>
+
+module com { module sun { module star { module xml { module dom {
+
+
+/**
+encapsulates the details of an XML parse error or warning.
+*/
+
+exception DOMException: com::sun::star::uno::Exception
+{
+ DOMExceptionType Code;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/DOMExceptionType.idl b/offapi/com/sun/star/xml/dom/DOMExceptionType.idl
new file mode 100644
index 000000000..52b372a88
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/DOMExceptionType.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_xml_dom_DOMExceptionType_idl__
+#define __com_sun_star_xml_dom_DOMExceptionType_idl__
+
+module com { module sun { module star { module xml { module dom {
+
+enum DOMExceptionType
+{
+ DOMSTRING_SIZE_ERR,
+ HIERARCHY_REQUEST_ERR,
+ INDEX_SIZE_ERR,
+ INUSE_ATTRIBUTE_ERR,
+ INVALID_ACCESS_ERR,
+ INVALID_CHARACTER_ERR,
+ INVALID_MODIFICATION_ERR,
+ INVALID_STATE_ERR,
+ NAMESPACE_ERR,
+ NO_DATA_ALLOWED_ERR,
+ NO_MODIFICATION_ALLOWED_ERR,
+ NOT_FOUND_ERR,
+ NOT_SUPPORTED_ERR,
+ SYNTAX_ERR,
+ WRONG_DOCUMENT_ERR
+};
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/DocumentBuilder.idl b/offapi/com/sun/star/xml/dom/DocumentBuilder.idl
new file mode 100644
index 000000000..439550964
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/DocumentBuilder.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_xml_dom_documentbuilder_idl
+#define __com_sun_star_xml_dom_documentbuilder_idl
+
+#include <com/sun/star/xml/dom/XDocumentBuilder.idl>
+
+module com { module sun { module star { module xml { module dom {
+
+service DocumentBuilder : XDocumentBuilder;
+
+};};};};};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/NodeType.idl b/offapi/com/sun/star/xml/dom/NodeType.idl
new file mode 100644
index 000000000..cd7a753e1
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/NodeType.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_xml_dom_NodeType_idl__
+#define __com_sun_star_xml_dom_NodeType_idl__
+
+module com { module sun { module star { module xml { module dom {
+
+enum NodeType
+{
+ ATTRIBUTE_NODE,
+ CDATA_SECTION_NODE,
+ COMMENT_NODE,
+ DOCUMENT_FRAGMENT_NODE,
+ DOCUMENT_NODE,
+ DOCUMENT_TYPE_NODE,
+ ELEMENT_NODE,
+ ENTITY_NODE,
+ ENTITY_REFERENCE_NODE,
+ NOTATION_NODE,
+ PROCESSING_INSTRUCTION_NODE,
+ TEXT_NODE
+};
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/SAXDocumentBuilder.idl b/offapi/com/sun/star/xml/dom/SAXDocumentBuilder.idl
new file mode 100644
index 000000000..0bed88a5f
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/SAXDocumentBuilder.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_xml_dom_SAXDocumentBuilder_idl
+#define __com_sun_star_xml_dom_SAXDocumentBuilder_idl
+
+#include <com/sun/star/xml/dom/XSAXDocumentBuilder2.idl>
+
+module com { module sun { module star { module xml { module dom {
+
+service SAXDocumentBuilder : XSAXDocumentBuilder2;
+
+};};};};};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/SAXDocumentBuilderState.idl b/offapi/com/sun/star/xml/dom/SAXDocumentBuilderState.idl
new file mode 100644
index 000000000..77aeb54eb
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/SAXDocumentBuilderState.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_xml_dom_SAXDocumentBuilderState_idl__
+#define __com_sun_star_xml_dom_SAXDocumentBuilderState_idl__
+
+module com { module sun { module star { module xml { module dom {
+
+enum SAXDocumentBuilderState
+{
+ READY,
+ BUILDING_DOCUMENT,
+ BUILDING_FRAGMENT,
+ DOCUMENT_FINISHED,
+ FRAGMENT_FINISHED
+};
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/XAttr.idl b/offapi/com/sun/star/xml/dom/XAttr.idl
new file mode 100644
index 000000000..0fd45807c
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XAttr.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_xml_dom_XAttr_idl__
+#define __com_sun_star_xml_dom_XAttr_idl__
+
+#include <com/sun/star/xml/dom/XNode.idl>
+
+module com { module sun { module star { module xml { module dom {
+
+interface XElement;
+
+interface XAttr: XNode
+{
+ /**
+ Returns the name of this attribute.
+ */
+ string getName();
+
+ /**
+ The Element node this attribute is attached to or null if this
+ attribute is not in use.
+ */
+ XElement getOwnerElement();
+
+ /**
+ If this attribute was explicitly given a value in the original
+ document, this is true; otherwise, it is false.
+ */
+ boolean getSpecified();
+
+ /**
+ On retrieval, the value of the attribute is returned as a string.
+ */
+ string getValue();
+
+ /**
+ Sets the value of the attribute from a string.
+ Throws:
+ DOMException - NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly.
+
+ */
+ void setValue([in] string value) raises (DOMException);
+};
+};};};};};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/XCDATASection.idl b/offapi/com/sun/star/xml/dom/XCDATASection.idl
new file mode 100644
index 000000000..b5fa3b2e1
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XCDATASection.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_xml_dom_XCDATASection_idl__
+#define __com_sun_star_xml_dom_XCDATASection_idl__
+
+#include <com/sun/star/xml/dom/XText.idl>
+
+module com { module sun { module star { module xml { module dom {
+
+interface XCDATASection: XText
+{
+};
+};};};};};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/XCharacterData.idl b/offapi/com/sun/star/xml/dom/XCharacterData.idl
new file mode 100644
index 000000000..3aaadb0c0
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XCharacterData.idl
@@ -0,0 +1,104 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_xml_dom_XCharacterData_idl__
+#define __com_sun_star_xml_dom_XCharacterData_idl__
+
+#include <com/sun/star/xml/dom/XNode.idl>
+
+module com { module sun { module star { module xml { module dom {
+
+interface XCharacterData: XNode
+{
+ /**
+ Append the string to the end of the character data of the node.
+ Throws:
+ DOMException - NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
+ */
+ void appendData([in] string arg) raises (DOMException);
+
+ /**
+ Remove a range of 16-bit units from the node.
+ Throws:
+ DOMException - INDEX_SIZE_ERR: Raised if the specified offset is negative or greater
+ than the number of 16-bit units in data, or if the specified count is negative.
+ NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
+ */
+ void deleteData([in] long offset, [in] long count) raises (DOMException);
+
+ /**
+ Return the character data of the node that implements this interface.
+ Throws:
+ DOMException - NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly.
+ DOMException - DOMSTRING_SIZE_ERR: Raised when it would return more characters
+ than fit in a DOMString variable on the implementation platform.
+
+
+ */
+ string getData() raises (DOMException);
+
+ /**
+ The number of 16-bit units that are available through data and the
+ substringData method below.
+ */
+ long getLength();
+
+ /**
+ Insert a string at the specified 16-bit unit offset.
+ Throws:
+ DOMException - INDEX_SIZE_ERR: Raised if the specified offset is negative or greater than
+ the number of 16-bit units in data.
+ NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
+ */
+ void insertData([in] long offset, [in] string arg) raises (DOMException);
+
+ /**
+ Replace the characters starting at the specified 16-bit unit offset
+ with the specified string.
+ Throws;
+ DOMException - INDEX_SIZE_ERR: Raised if the specified offset is negative or greater than
+ the number of 16-bit units in data, or if the specified count is negative.
+ NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
+ */
+ void replaceData([in] long offset, [in] long count, [in] string arg) raises (DOMException);
+
+ /**
+ Set the character data of the node that implements this interface.
+ Throws:
+ DOMException - NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly.
+ DOMException - DOMSTRING_SIZE_ERR: Raised when it would return more characters than
+ fit in a DOMString variable on the implementation platform.
+ */
+ void setData([in] string data) raises (DOMException);
+
+ /**
+ Extracts a range of data from the node.
+ Throws:
+ DOMException - INDEX_SIZE_ERR: Raised if the specified offset is negative or greater
+ than the number of 16-bit units in data, or if the specified count is negative.
+ DOMSTRING_SIZE_ERR: Raised if the specified range of text does not fit into a DOMString.
+ */
+ string subStringData([in] long offset, [in] long count) raises (DOMException);
+
+};
+};};};};};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/XComment.idl b/offapi/com/sun/star/xml/dom/XComment.idl
new file mode 100644
index 000000000..8aa9fbe55
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XComment.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_xml_dom_XComment_idl__
+#define __com_sun_star_xml_dom_XComment_idl__
+
+#include <com/sun/star/xml/dom/XCharacterData.idl>
+
+
+module com { module sun { module star { module xml { module dom {
+
+interface XComment: XCharacterData
+{
+};
+};};};};};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/XDOMImplementation.idl b/offapi/com/sun/star/xml/dom/XDOMImplementation.idl
new file mode 100644
index 000000000..5804e897f
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XDOMImplementation.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_xml_dom_XDOMImplementation_idl__
+#define __com_sun_star_xml_dom_XDOMImplementation_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/xml/dom/DOMException.idl>
+
+
+module com { module sun { module star { module xml { module dom {
+
+interface XDocument;
+interface XDocumentType;
+
+interface XDOMImplementation : com::sun::star::uno::XInterface
+{
+ /**
+ Creates a DOM Document object of the specified type with its document element.
+ Throws:
+ DOMException - INVALID_CHARACTER_ERR: Raised if the specified qualified name contains an illegal character.
+ NAMESPACE_ERR: Raised if the qualifiedName is malformed, if the qualifiedName has a prefix
+ and the namespaceURI is null, or if the qualifiedName has a prefix that is "xml" and
+ the namespaceURI is different from " http://www.w3.org/XML/1998/namespace" , or if the
+ DOM implementation does not support the "XML" feature but a non-null namespace URI was
+ provided, since namespaces were defined by XML.
+ WRONG_DOCUMENT_ERR: Raised if doctype has already been used with a different document or
+ was created from a different implementation.
+ NOT_SUPPORTED_ERR: May be raised by DOM implementations which do not support the
+ "XML" feature, if they choose not to support this method. Other features introduced
+ in the future, by the DOM WG or in extensions defined by other groups, may also
+ demand support for this method; please consult the definition of the feature to see
+ if it requires this method.
+ */
+ XDocument createDocument([in] string namespaceURI, [in] string qualifiedName, [in] XDocumentType doctype)
+ raises (DOMException);
+
+ /**
+ Creates an empty DocumentType node.
+ Throws:
+ DOMException - INVALID_CHARACTER_ERR: Raised if the specified qualified name contains an illegal character.
+ NAMESPACE_ERR: Raised if the qualifiedName is malformed.
+ NOT_SUPPORTED_ERR: May be raised by DOM implementations which do not support the
+ "XML" feature, if they choose not to support this method. Other features introduced
+ in the future, by the DOM WG or in extensions defined by other groups, may also demand
+ support for this method; please consult the definition of the feature to see if it
+ requires this method.
+ */
+ XDocumentType createDocumentType([in] string qualifiedName, [in] string publicId, [in] string systemId)
+ raises (DOMException);
+
+ /**
+ Test if the DOM implementation implements a specific feature.
+ */
+ boolean hasFeature([in] string feature, [in] string ver);
+};
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/XDocument.idl b/offapi/com/sun/star/xml/dom/XDocument.idl
new file mode 100644
index 000000000..9d2292ec3
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XDocument.idl
@@ -0,0 +1,171 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_xml_dom_XDocument_idl__
+#define __com_sun_star_xml_dom_XDocument_idl__
+
+#include <com/sun/star/xml/dom/XNode.idl>
+#include <com/sun/star/xml/dom/XAttr.idl>
+#include <com/sun/star/xml/dom/XCDATASection.idl>
+#include <com/sun/star/xml/dom/XComment.idl>
+#include <com/sun/star/xml/dom/XDocumentFragment.idl>
+#include <com/sun/star/xml/dom/XEntityReference.idl>
+#include <com/sun/star/xml/dom/XProcessingInstruction.idl>
+#include <com/sun/star/xml/dom/XDocumentType.idl>
+#include <com/sun/star/xml/dom/XDOMImplementation.idl>
+
+module com { module sun { module star { module xml { module dom {
+
+interface XDocument: XNode
+{
+ /**
+ Creates an Attr of the given name.
+ Throws:
+ DOMException - INVALID_CHARACTER_ERR: Raised if the specified name contains an illegal character.
+ */
+ XAttr createAttribute([in] string name) raises (DOMException);
+
+ /**
+ Creates an attribute of the given qualified name and namespace URI.
+ Throws:
+ DOMException - INVALID_CHARACTER_ERR: Raised if the specified qualified name contains an illegal
+ character, per the XML 1.0 specification .
+ NAMESPACE_ERR: Raised if the qualifiedName is malformed per the Namespaces in XML
+ specification, if the qualifiedName has a prefix and the namespaceURI is null, if
+ the qualifiedName has a prefix that is "xml" and the namespaceURI is different from
+ " http://www.w3.org/XML/1998/namespace", or if the qualifiedName, or its prefix, is
+ "xmlns" and the namespaceURI is different from " http://www.w3.org/2000/xmlns/".
+ NOT_SUPPORTED_ERR: Always thrown if the current document does not support the "XML"
+ feature, since namespaces were defined by XML.
+ */
+ XAttr createAttributeNS([in] string namespaceURI, [in] string qualifiedName) raises (DOMException);
+
+ /**
+ Creates a CDATASection node whose value is the specified string.
+ Throws:
+ DOMException - NOT_SUPPORTED_ERR: Raised if this document is an HTML document.
+ */
+ XCDATASection createCDATASection([in] string data) raises (DOMException);
+
+ /**
+ Creates a Comment node given the specified string.
+ */
+ XComment createComment([in] string data);
+
+ /**
+ Creates an empty DocumentFragment object.
+ */
+ XDocumentFragment createDocumentFragment();
+
+
+ /**
+ Creates an element of the type specified.
+ Throws:
+ DOMException - INVALID_CHARACTER_ERR: Raised if the specified name contains an illegal character.
+ */
+ XElement createElement([in] string tagName) raises (DOMException);
+
+
+ /**
+ Creates an element of the given qualified name and namespace URI.
+ Throws:
+ DOMException - INVALID_CHARACTER_ERR: Raised if the specified qualified name contains an
+ illegal character, per the XML 1.0 specification .
+ NAMESPACE_ERR: Raised if the qualifiedName is malformed per the Namespaces in
+ XML specification, if the qualifiedName has a prefix and the namespaceURI is
+ null, or if the qualifiedName has a prefix that is "xml" and the namespaceURI
+ is different from " http://www.w3.org/XML/1998/namespace" .
+ NOT_SUPPORTED_ERR: Always thrown if the current document does not support the
+ "XML" feature, since namespaces were defined by XML.
+ */
+ XElement createElementNS([in] string namespaceURI, [in] string qualifiedName) raises (DOMException);
+
+ /**
+ Throws:
+ DOMException - NOT_SUPPORTED_ERR: Raised if the type of node being imported is not supported.
+ Creates an EntityReference object.
+ Throws:
+ DOMException - INVALID_CHARACTER_ERR: Raised if the specified name contains an illegal character.
+ NOT_SUPPORTED_ERR: Raised if this document is an HTML document.
+ */
+ XEntityReference createEntityReference([in] string name) raises (DOMException);
+
+ /**
+ Creates a ProcessingInstruction node given the specified name and
+ data strings.
+ Throws:
+ DOMException - INVALID_CHARACTER_ERR: Raised if the specified target contains an illegal character.
+ NOT_SUPPORTED_ERR: Raised if this document is an HTML document.
+ */
+ XProcessingInstruction createProcessingInstruction(
+ [in] string target, [in] string data) raises (DOMException);
+
+ /**
+ Creates a Text node given the specified string.
+ */
+ XText createTextNode([in] string data);
+
+ /**
+ The Document Type Declaration (see DocumentType) associated with this
+ document.
+ */
+ XDocumentType getDoctype();
+
+ /**
+ This is a convenience attribute that allows direct access to the child
+ node that is the root element of the document.
+ */
+ XElement getDocumentElement();
+
+ /**
+ Returns the Element whose ID is given by elementId.
+ */
+ XElement getElementById([in] string elementId);
+
+ /**
+ Returns a NodeList of all the Elements with a given tag name in the
+ order in which they are encountered in a preorder traversal of the
+ Document tree.
+ */
+ XNodeList getElementsByTagName([in] string tagname);
+
+ /**
+ Returns a NodeList of all the Elements with a given local name and
+ namespace URI in the order in which they are encountered in a preorder
+ traversal of the Document tree.
+ */
+ XNodeList getElementsByTagNameNS([in] string namespaceURI, [in] string localName);
+
+ /**
+ The DOMImplementation object that handles this document.
+ */
+ XDOMImplementation getImplementation();
+
+ /**
+ Imports a node from another document to this document.
+ Throws:
+ DOMException - NOT_SUPPORTED_ERR: Raised if the type of node being imported is not supported.
+ */
+ XNode importNode([in] XNode importedNode, [in] boolean deep) raises (DOMException);
+};
+};};};};};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/XDocumentBuilder.idl b/offapi/com/sun/star/xml/dom/XDocumentBuilder.idl
new file mode 100644
index 000000000..8ceb7f7d0
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XDocumentBuilder.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_xml_dom_XDocumentBuilder_idl__
+#define __com_sun_star_xml_dom_XDocumentBuilder_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/xml/dom/XDocumentType.idl>
+#include <com/sun/star/xml/dom/XDOMImplementation.idl>
+#include <com/sun/star/io/XInputStream.idl>
+#include <com/sun/star/xml/sax/SAXException.idl>
+#include <com/sun/star/xml/sax/XErrorHandler.idl>
+#include <com/sun/star/xml/sax/XEntityResolver.idl>
+
+
+#include <com/sun/star/io/IOException.idl>
+
+module com { module sun { module star { module xml { module dom {
+
+interface XInputStream;
+
+/**
+Builds a new dom tree
+*/
+interface XDocumentBuilder : com::sun::star::uno::XInterface
+{
+
+ /**
+ Obtain an instance of a DOMImplementation object.
+ */
+ XDOMImplementation getDOMImplementation();
+
+ /**
+ Indicates whether or not this parser is configured to understand
+ namespaces.
+ */
+ boolean isNamespaceAware();
+
+ /**
+ Indicates whether or not this parser is configured to validate XML
+ documents.
+ */
+ boolean isValidating();
+
+ /**
+ Obtain a new instance of a DOM Document object to build a DOM tree
+ with.
+ */
+ XDocument newDocument();
+
+ /**
+ Parse the content of the given InputStream as an XML document and
+ return a new DOM Document object.
+ */
+ XDocument parse([in] com::sun::star::io::XInputStream is)
+ raises( com::sun::star::xml::sax::SAXException,
+ com::sun::star::io::IOException );
+
+ /**
+ Parse the content of the given URI as an XML document and return
+ a new DOM Document object.
+ */
+ XDocument parseURI([in] string uri)
+ raises( com::sun::star::xml::sax::SAXException,
+ com::sun::star::io::IOException );
+
+ /**
+ Specify the EntityResolver to be used to resolve entities present
+ in the XML document to be parsed.
+ */
+ void setEntityResolver([in] com::sun::star::xml::sax::XEntityResolver er);
+
+ /**
+ Specify the ErrorHandler to be used to report errors present in
+ the XML document to be parsed.
+ */
+ void setErrorHandler([in] com::sun::star::xml::sax::XErrorHandler eh);
+
+};
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/XDocumentFragment.idl b/offapi/com/sun/star/xml/dom/XDocumentFragment.idl
new file mode 100644
index 000000000..f4fdfbed7
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XDocumentFragment.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_xml_dom_XDocumentFragment_idl__
+#define __com_sun_star_xml_dom_XDocumentFragment_idl__
+
+#include <com/sun/star/xml/dom/XNode.idl>
+
+module com { module sun { module star { module xml { module dom {
+
+interface XDocumentFragment: XNode
+{
+};
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/XDocumentType.idl b/offapi/com/sun/star/xml/dom/XDocumentType.idl
new file mode 100644
index 000000000..19cb8b408
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XDocumentType.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_xml_dom_XDocumentType_idl__
+#define __com_sun_star_xml_dom_XDocumentType_idl__
+
+#include <com/sun/star/xml/dom/XNode.idl>
+#include <com/sun/star/xml/dom/XNamedNodeMap.idl>
+
+module com { module sun { module star { module xml { module dom {
+
+interface XDocumentType: XNode
+{
+
+ /**
+ A NamedNodeMap containing the general entities, both external and
+ internal, declared in the DTD.
+ */
+ XNamedNodeMap getEntities();
+
+ /**
+ The internal subset as a string, or null if there is none.
+ */
+ string getInternalSubset();
+
+ /**
+ The name of DTD; i.e., the name immediately following the DOCTYPE
+ keyword.
+ */
+ string getName();
+
+ /**
+ A NamedNodeMap containing the notations declared in the DTD.
+ */
+ XNamedNodeMap getNotations();
+
+ /**
+ The public identifier of the external subset.
+ */
+ string getPublicId();
+
+ /**
+ The system identifier of the external subset.
+ */
+ string getSystemId();
+
+};
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/XElement.idl b/offapi/com/sun/star/xml/dom/XElement.idl
new file mode 100644
index 000000000..ed5da5a36
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XElement.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_xml_dom_XElement_idl__
+#define __com_sun_star_xml_dom_XElement_idl__
+
+#include <com/sun/star/xml/dom/XNode.idl>
+#include <com/sun/star/xml/dom/XAttr.idl>
+
+module com { module sun { module star { module xml { module dom {
+
+interface XElement: XNode
+{
+ /**
+ Retrieves an attribute value by name.
+ */
+ string getAttribute([in] string name);
+
+ /**
+ Retrieves an attribute node by name.
+ */
+ XAttr getAttributeNode([in] string name);
+
+ /**
+ Retrieves an Attr node by local name and namespace URI.
+ */
+ XAttr getAttributeNodeNS([in] string namespaceURI,[in]
+ string localName);
+
+ /**
+ Retrieves an attribute value by local name and namespace URI.
+ */
+ string getAttributeNS([in] string namespaceURI, [in] string localName);
+
+ /**
+ Returns a NodeList of all descendant Elements with a given tag name,
+ in the order in which they are
+ encountered in a preorder traversal of this Element tree.
+ */
+ XNodeList getElementsByTagName([in] string name);
+
+ /**
+ Returns a NodeList of all the descendant Elements with a given local
+ name and namespace URI in the order in which they are encountered in
+ a preorder traversal of this Element tree.
+ */
+ XNodeList getElementsByTagNameNS([in] string namespaceURI,[in] string localName);
+
+ /**
+ The name of the element.
+ */
+ string getTagName();
+
+ /**
+ Returns true when an attribute with a given name is specified on this
+ element or has a default value, false otherwise.
+ */
+ boolean hasAttribute([in] string name);
+
+ /**
+ Returns true when an attribute with a given local name and namespace
+ URI is specified on this element or has a default value, false otherwise.
+ */
+ boolean hasAttributeNS([in] string namespaceURI,[in] string localName);
+
+ /**
+ Removes an attribute by name.
+ Throws:
+ DOMException - NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
+ */
+ void removeAttribute([in] string name) raises (DOMException);
+
+ /**
+ Removes the specified attribute node.
+ Throws:
+ DOMException - NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
+ NOT_FOUND_ERR: Raised if oldAttr is not an attribute of the element.
+ */
+ XAttr removeAttributeNode([in] XAttr oldAttr) raises (DOMException);
+
+ /**
+ Removes an attribute by local name and namespace URI.
+ Throws:
+ DOMException - NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
+ */
+ void removeAttributeNS([in] string namespaceURI,[in] string localName) raises (DOMException);
+
+ /**
+ Adds a new attribute.
+ Throws:
+ DOMException - INVALID_CHARACTER_ERR: Raised if the specified name contains an illegal character.
+ NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
+ */
+ void setAttribute([in] string name,[in] string value) raises (DOMException);
+
+ /**
+ Adds a new attribute node.
+ Throws:
+ DOMException - WRONG_DOCUMENT_ERR: Raised if newAttr was created from a different document than the one that created the element.
+ NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
+ INUSE_ATTRIBUTE_ERR: Raised if newAttr is already an attribute of another Element object. The DOM user must explicitly clone Attr nodes to re-use them in other elements.
+ */
+ XAttr setAttributeNode([in] XAttr newAttr) raises (DOMException);
+
+ /**
+ Adds a new attribute.
+ Throws:
+ DOMException - WRONG_DOCUMENT_ERR: Raised if newAttr was created from a different document than the one that created the element.
+ NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
+ INUSE_ATTRIBUTE_ERR: Raised if newAttr is already an attribute of another Element object. The DOM user must explicitly clone Attr nodes to re-use them in other elements.
+ NOT_SUPPORTED_ERR: Always thrown if the current document does not support the "XML" feature, since namespaces were defined by XML.
+ */
+ XAttr setAttributeNodeNS([in] XAttr newAttr) raises (DOMException);
+
+ /**
+ Adds a new attribute.
+ Throws:
+ DOMException - INVALID_CHARACTER_ERR: Raised if the specified qualified name contains an illegal character, per the XML 1.0 specification .
+ NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
+ NAMESPACE_ERR: Raised if the qualifiedName is malformed per the Namespaces in XML specification, if the qualifiedName has a prefix and the namespaceURI is null, if the qualifiedName has a prefix that is "xml" and the namespaceURI is different from " http://www.w3.org/XML/1998/namespace", or if the qualifiedName, or its prefix, is "xmlns" and the namespaceURI is different from " http://www.w3.org/2000/xmlns/".
+ NOT_SUPPORTED_ERR: Always thrown if the current document does not support the "XML" feature, since namespaces were defined by XML.
+ */
+ void setAttributeNS(
+ [in] string namespaceURI, [in] string qualifiedName, [in] string value) raises (DOMException);
+};
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/XEntity.idl b/offapi/com/sun/star/xml/dom/XEntity.idl
new file mode 100644
index 000000000..be4ed99be
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XEntity.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_xml_dom_XEntity_idl__
+#define __com_sun_star_xml_dom_XEntity_idl__
+
+#include <com/sun/star/xml/dom/XNode.idl>
+
+module com { module sun { module star { module xml { module dom {
+
+interface XEntity: XNode
+{
+ /**
+ For unparsed entities, the name of the notation for the entity.
+ */
+ string getNotationName();
+
+ /**
+ The public identifier associated with the entity, if specified.
+ */
+ string getPublicId();
+
+ /**
+ The system identifier associated with the entity, if specified.
+ */
+ string getSystemId();
+
+};
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/XEntityReference.idl b/offapi/com/sun/star/xml/dom/XEntityReference.idl
new file mode 100644
index 000000000..ca4fc2788
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XEntityReference.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_xml_dom_XEntityReference_idl__
+#define __com_sun_star_xml_dom_XEntityReference_idl__
+
+#include <com/sun/star/xml/dom/XNode.idl>
+
+module com { module sun { module star { module xml { module dom {
+
+interface XEntityReference: XNode
+{
+};
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/XNamedNodeMap.idl b/offapi/com/sun/star/xml/dom/XNamedNodeMap.idl
new file mode 100644
index 000000000..a7285c77e
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XNamedNodeMap.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_xml_dom_XNamedNodeMap_idl__
+#define __com_sun_star_xml_dom_XNamedNodeMap_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/xml/dom/DOMException.idl>
+
+module com { module sun { module star { module xml { module dom {
+
+interface XNode;
+
+interface XNamedNodeMap : com::sun::star::uno::XInterface
+{
+
+ /**
+ The number of nodes in this map.
+ */
+ long getLength();
+
+ /**
+ Retrieves a node specified by local name.
+ */
+ XNode getNamedItem([in] string name);
+
+ /**
+ Retrieves a node specified by local name and namespace URI.
+ */
+ XNode getNamedItemNS([in] string namespaceURI,[in] string localName);
+
+ /**
+ Returns a node specified by index.
+ */
+ XNode item([in] long index);
+
+ /**
+ Removes a node specified by name.
+ Throws:
+ DOMException - NOT_FOUND_ERR: Raised if there is no node named name in this map.
+ NO_MODIFICATION_ALLOWED_ERR: Raised if this map is readonly.
+ */
+ XNode removeNamedItem([in] string name) raises (DOMException);
+
+ /**
+ Removes a node specified by local name and namespace URI.
+ Throws:
+ DOMException - NOT_FOUND_ERR: Raised if there is no node with the specified namespaceURI and localName in this map.
+ NO_MODIFICATION_ALLOWED_ERR: Raised if this map is readonly.
+ */
+ XNode removeNamedItemNS([in] string namespaceURI, [in] string localName) raises (DOMException);
+
+ /**
+ Adds a node using its nodeName attribute.
+ Throws:
+ DOMException - WRONG_DOCUMENT_ERR: Raised if arg was created from a different document than the one that created this map.
+ NO_MODIFICATION_ALLOWED_ERR: Raised if this map is readonly.
+ INUSE_ATTRIBUTE_ERR: Raised if arg is an Attr that is already an attribute of another Element object. The DOM user must explicitly clone Attr nodes to re-use them in other elements.
+ HIERARCHY_REQUEST_ERR: Raised if an attempt is made to add a node doesn't belong in this NamedNodeMap. Examples would include trying to insert something other than an Attr node into an Element's map of attributes, or a non-Entity node into the DocumentType's map of Entities.
+ */
+ XNode setNamedItem([in] XNode arg) raises (DOMException);
+
+ /**
+ Adds a node using its namespaceURI and localName.
+ Throws:
+ DOMException - WRONG_DOCUMENT_ERR: Raised if arg was created from a different document than the one that created this map.
+ NO_MODIFICATION_ALLOWED_ERR: Raised if this map is readonly.
+ INUSE_ATTRIBUTE_ERR: Raised if arg is an Attr that is already an attribute of another Element object. The DOM user must explicitly clone Attr nodes to re-use them in other elements.
+ HIERARCHY_REQUEST_ERR: Raised if an attempt is made to add a node doesn't belong in this NamedNodeMap. Examples would include trying to insert something other than an Attr node into an Element's map of attributes, or a non-Entity node into the DocumentType's map of Entities.
+ NOT_SUPPORTED_ERR: Always thrown if the current document does not support the "XML" feature, since namespaces were defined by XML.
+ */
+ XNode setNamedItemNS([in] XNode arg) raises (DOMException);
+};
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/XNode.idl b/offapi/com/sun/star/xml/dom/XNode.idl
new file mode 100644
index 000000000..b5ff89627
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XNode.idl
@@ -0,0 +1,268 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_xml_dom_XNode_idl__
+#define __com_sun_star_xml_dom_XNode_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/xml/dom/NodeType.idl>
+#include <com/sun/star/xml/dom/XNodeList.idl>
+#include <com/sun/star/xml/dom/XNamedNodeMap.idl>
+
+
+module com { module sun { module star { module xml { module dom {
+
+interface XDocument;
+
+/** The primary dom datatype
+
+<p>The Node interface is the primary datatype for the entire Document Object Model.
+It represents a single node in the document tree. While all objects implementing
+the Node interface expose methods for dealing with children, not all objects
+implementing the Node interface may have children. For example, Text nodes may not
+have children, and adding children to such nodes results in a DOMException being raised.</p>
+
+<p>The attributes nodeName, nodeValue and attributes are included as a mechanism to get at
+node information without casting down to the specific derived interface. In cases where
+there is no obvious mapping of these attributes for a specific nodeType (e.g., nodeValue
+for an Element or attributes for a Comment ), this returns null. Note that the specialized
+interfaces may contain additional and more convenient mechanisms to get and set the relevant
+information.</p>
+
+<p>The values of nodeName, nodeValue, and attributes vary according to the node type as follows:
+<table align=left border=1>
+<tr><th>Interface </th><th>nodeName </th><th>nodeValue </th><th>attributes</th></tr>
+<tr><th>Attr </th><td>name of attribute </td><td>value of attribute </td><td>null</td></tr>
+<tr><th>CDATASection </th><td>"#cdata-section" </td><td>content of the CDATA Section </td><td>null</td></tr>
+<tr><th>Comment </th><td>"#comment" </td><td>content of the comment </td><td>null</td></tr>
+<tr><th>Document </th><td>"#document" </td><td>null </td><td>null</td></tr>
+<tr><th>DocumentFragment </th><td>"#document-fragment"</td><td>null </td><td>null</td></tr>
+<tr><th>DocumentType </th><td>document type name </td><td>null </td><td>null</td></tr>
+<tr><th>Element </th><td>tag name </td><td>null </td><td>NamedNodeMap</td></tr>
+<tr><th>Entity </th><td>entity name </td><td>null </td><td>null</td></tr>
+<tr><th>EntityReference </th><td>name of entity referenced </td><td>null </td><td>null</td></tr>
+<tr><th>Notation </th><td>notation name </td><td>null </td><td>null</td></tr>
+<tr><th>ProcessingInstruction </th><td>target </td><td>entire content excluding the target </td><td>null</td></tr>
+<tr><th>Text </th><td>"#text" </td><td>content of the text node </td><td>null</td></tr>
+</table></p>
+
+@see <a href="http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113">Document Object Model (DOM) Level 2 Core Specification</a> </p>
+@since OOo 2.0
+*/
+interface XNode : com::sun::star::uno::XInterface
+{
+
+ /**
+ Adds the node newChild to the end of the list of children of this node.
+ @param newChild
+ the new child node
+ @throws com::sun::star::xml::dom::DOMException
+ <p>HIERARCHY_REQUEST_ERR: Raised if this node is of a type that does
+ not allow children of the type of the newChild node, or if the
+ node to append is one of this node's ancestors or this node itself.</p>
+ <p>WRONG_DOCUMENT_ERR: Raised if newChild was created from a different
+ document than the one that created this node.</p>
+ <p>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly or if
+ the previous parent of the node being inserted is readonly.</p>
+ */
+ XNode appendChild([in] XNode newChild) raises (DOMException);
+
+ /**
+ Returns a duplicate of this node, i.e., serves as a generic copy
+ constructor for nodes.
+ <p></p>
+ @param deep
+ `TRUE`: clone node together with any children<br>
+ `FALSE`: clone without children
+ @returns
+ the cloned node
+ */
+ XNode cloneNode([in] boolean deep);
+
+ /**
+ A NamedNodeMap containing the attributes of this node (if it is an Element)
+ or null otherwise.
+ */
+ XNamedNodeMap getAttributes();
+
+ /**
+ A NodeList that contains all children of this node.
+ */
+ XNodeList getChildNodes();
+
+ /**
+ The first child of this node.
+ */
+ XNode getFirstChild();
+
+ /**
+ The last child of this node.
+ */
+ XNode getLastChild();
+
+ /**
+ Returns the local part of the qualified name of this node.
+ */
+ string getLocalName();
+
+ /**
+ The namespace URI of this node, or null if it is unspecified.
+ */
+ string getNamespaceURI();
+
+ /**
+ The node immediately following this node.
+ */
+ XNode getNextSibling();
+
+ /**
+ The name of this node, depending on its type; see the table above.
+ */
+ string getNodeName();
+
+ /**
+ A code representing the type of the underlying object, as defined above.
+ */
+ NodeType getNodeType();
+
+ /**
+ The value of this node, depending on its type; see the table above.
+
+ @throws com::sun::star::xml::dom::DOMException
+ <p>DOMSTRING_SIZE_ERR: Raised when it would return more characters
+ than fit in a DOMString variable on the implementation platform.</p>
+ */
+ string getNodeValue() raises (DOMException);
+
+ /**
+ The Document object associated with this node.
+ */
+ XDocument getOwnerDocument();
+
+ /**
+ The parent of this node.
+ */
+ XNode getParentNode();
+
+ /**
+ The namespace prefix of this node, or null if it is unspecified.
+ */
+ string getPrefix();
+
+ /**
+ The node immediately preceding this node.
+ */
+ XNode getPreviousSibling();
+
+ /**
+ Returns whether this node (if it is an element) has any attributes.
+ */
+ boolean hasAttributes();
+
+ /**
+ Returns whether this node has any children.
+ */
+ boolean hasChildNodes();
+
+ /**
+ Inserts the node newChild before the existing child node refChild.
+ @throws DOMException
+ <p>HIERARCHY_REQUEST_ERR: Raised if this node is of a type that does
+ not allow children of the type of the newChild node, or if the
+ node to insert is one of this node's ancestors or this node itself.
+ <p>WRONG_DOCUMENT_ERR: Raised if newChild was created from a different
+ document than the one that created this node.
+ <p>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly or if the
+ parent of the node being inserted is readonly.
+ <p>NOT_FOUND_ERR: Raised if refChild is not a child of this node.
+ */
+ XNode insertBefore([in] XNode newChild, [in] XNode refChild) raises (DOMException);
+
+ /**
+ Tests whether the DOM implementation implements a specific feature and
+ that feature is supported by this node.
+ */
+ boolean isSupported([in] string feature, [in] string ver);
+
+ /**
+ Puts all Text nodes in the full depth of the sub-tree underneath this
+ Node, including attribute nodes, into a "normal" form where only structure
+ (e.g., elements, comments, processing instructions, CDATA sections, and
+ entity references) separates Text nodes, i.e., there are neither adjacent
+ Text nodes nor empty Text nodes.
+ */
+ void normalize();
+
+ /**
+ Removes the child node indicated by oldChild from the list of children,
+ and returns it.
+ @throws DOMException
+ <p>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
+ <p>NOT_FOUND_ERR: Raised if oldChild is not a child of this node.
+ */
+ XNode removeChild([in] XNode oldChild) raises (DOMException);
+
+ /**
+ Replaces the child node oldChild with newChild in the list of children,
+ and returns the oldChild node.
+ @throws DOMException
+ <p>HIERARCHY_REQUEST_ERR: Raised if this node is of a type that
+ does not allow children of the type of the newChild node, or
+ if the node to put in is one of this node's ancestors or this
+ node itself.
+ <p>WRONG_DOCUMENT_ERR: Raised if newChild was created from a different
+ document than the one that created this node.
+ <p>NO_MODIFICATION_ALLOWED_ERR: Raised if this node or the parent of the
+ new node is readonly.
+ <p>NOT_FOUND_ERR: Raised if oldChild is not a child of this node.
+ */
+ XNode replaceChild([in] XNode newChild, [in] XNode oldChild) raises (DOMException);
+
+ /**
+ The value of this node, depending on its type; see the table above.
+ @throws DOMException
+ <p>NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly.
+ <p>DOMSTRING_SIZE_ERR: Raised when it would return more characters
+ than fit in a DOMString variable on the implementation platform.
+ */
+ void setNodeValue([in] string nodeValue) raises (DOMException);
+
+ /**
+ The namespace prefix of this node, or null if it is unspecified.
+ @throws DOMException
+ <p>INVALID_CHARACTER_ERR: Raised if the specified prefix contains an illegal character,
+ per the XML 1.0 specification .
+ <p>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
+ <p>NAMESPACE_ERR: Raised if the specified prefix is malformed per the Namespaces
+ in XML specification, if the namespaceURI of this node is null, if the specified
+ prefix is "xml" and the namespaceURI of this node is different from
+ "http://www.w3.org/XML/1998/namespace", if this node is an attribute and the
+ specified prefix is "xmlns" and the namespaceURI of this node is different from
+ " http://www.w3.org/2000/xmlns/", or if this node is an attribute and the qualifiedName
+ of this node is "xmlns" .
+ */
+ void setPrefix([in] string prefix) raises (DOMException);
+
+};
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/XNodeList.idl b/offapi/com/sun/star/xml/dom/XNodeList.idl
new file mode 100644
index 000000000..d4d307fab
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XNodeList.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_xml_dom_XNodeList_idl__
+#define __com_sun_star_xml_dom_XNodeList_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module xml { module dom {
+
+interface XNode;
+
+interface XNodeList : com::sun::star::uno::XInterface
+{
+ /**
+ The number of nodes in the list.
+ */
+ long getLength();
+ /**
+ Returns a node specified by index in the collection.
+ */
+ XNode item([in] long index);
+};
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/XNotation.idl b/offapi/com/sun/star/xml/dom/XNotation.idl
new file mode 100644
index 000000000..a1241440e
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XNotation.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_xml_dom_XNotation_idl__
+#define __com_sun_star_xml_dom_XNotation_idl__
+
+#include <com/sun/star/xml/dom/XNode.idl>
+
+module com { module sun { module star { module xml { module dom {
+
+interface XNotation : XNode
+{
+ /**
+ The public identifier of this notation.
+ */
+ string getPublicId();
+
+ /**
+ The system identifier of this notation.
+ */
+ string getSystemId();
+};
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/XProcessingInstruction.idl b/offapi/com/sun/star/xml/dom/XProcessingInstruction.idl
new file mode 100644
index 000000000..e9ac864b0
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XProcessingInstruction.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_xml_dom_XProcessingInstruction_idl__
+#define __com_sun_star_xml_dom_XProcessingInstruction_idl__
+
+#include <com/sun/star/xml/dom/XNode.idl>
+
+module com { module sun { module star { module xml { module dom {
+
+interface XProcessingInstruction : XNode
+{
+ /**
+ The content of this processing instruction.
+ */
+ string getData();
+
+ /**
+ The target of this processing instruction.
+ */
+ string getTarget();
+
+ /**
+ The content of this processing instruction.
+ Throws:
+ DOMException - NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly.
+ */
+ void setData([in] string data) raises (DOMException);
+
+
+};
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/XSAXDocumentBuilder.idl b/offapi/com/sun/star/xml/dom/XSAXDocumentBuilder.idl
new file mode 100644
index 000000000..36936edb0
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XSAXDocumentBuilder.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_xml_dom_XSAXDocumentBuilder_idl__
+#define __com_sun_star_xml_dom_XSAXDocumentBuilder_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/xml/dom/XDocument.idl>
+#include <com/sun/star/xml/dom/XDocumentFragment.idl>
+#include <com/sun/star/xml/dom/SAXDocumentBuilderState.idl>
+
+module com { module sun { module star { module xml { module dom {
+
+/**
+Builds a new dom tree
+*/
+interface XSAXDocumentBuilder : com::sun::star::uno::XInterface
+{
+
+ SAXDocumentBuilderState getState();
+ void reset();
+ XDocument getDocument();
+ XDocumentFragment getDocumentFragment();
+ void startDocumentFragment( [in] XDocument ownerDoc);
+ void endDocumentFragment();
+
+
+};
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/XSAXDocumentBuilder2.idl b/offapi/com/sun/star/xml/dom/XSAXDocumentBuilder2.idl
new file mode 100644
index 000000000..37560fd8d
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XSAXDocumentBuilder2.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_xml_dom_XSAXDocumentBuilder2_idl
+#define __com_sun_star_xml_dom_XSAXDocumentBuilder2_idl
+
+#include <com/sun/star/xml/sax/XFastDocumentHandler.idl>
+#include <com/sun/star/xml/dom/XSAXDocumentBuilder.idl>
+
+module com { module sun { module star { module xml { module dom {
+
+/**
+ Provides a unified interface for the SAXDocumentBuilder service to implement.
+
+ @since LibreOffice 4.0
+*/
+interface XSAXDocumentBuilder2
+{
+ interface XSAXDocumentBuilder;
+ interface com::sun::star::xml::sax::XFastDocumentHandler;
+};
+
+};};};};};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/XText.idl b/offapi/com/sun/star/xml/dom/XText.idl
new file mode 100644
index 000000000..7274953bf
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XText.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_xml_dom_XText_idl__
+#define __com_sun_star_xml_dom_XText_idl__
+
+#include <com/sun/star/xml/dom/XCharacterData.idl>
+
+module com { module sun { module star { module xml { module dom {
+
+interface XText: XCharacterData
+{
+ /** Breaks this node into two nodes at the specified offset, keeping
+ both in the tree as siblings.
+ Throws:
+ DOMException - INDEX_SIZE_ERR: Raised if the specified offset is negative or greater than the number of 16-bit units in data.
+ NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
+ */
+ XText splitText([in] long offset) raises (DOMException);
+};
+};};};};};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/events/AttrChangeType.idl b/offapi/com/sun/star/xml/dom/events/AttrChangeType.idl
new file mode 100644
index 000000000..ef6532fa9
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/events/AttrChangeType.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_xml_dom_events_AttrChangeType_idl__
+#define __com_sun_star_xml_dom_events_AttrChangeType_idl__
+
+module com { module sun { module star { module xml { module dom { module events {
+
+enum AttrChangeType
+{
+ MODIFICATION,
+ ADDITION,
+ REMOVAL
+};
+
+}; }; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/events/EventException.idl b/offapi/com/sun/star/xml/dom/events/EventException.idl
new file mode 100644
index 000000000..94408e08e
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/events/EventException.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_xml_dom_events_EventException_idl__
+#define __com_sun_star_xml_dom_events_EventException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+module com { module sun { module star { module xml { module dom { module events {
+
+// Introduced in DOM Level 2:
+exception EventException: com::sun::star::uno::Exception {
+ short code;
+};
+
+}; }; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/events/EventType.idl b/offapi/com/sun/star/xml/dom/events/EventType.idl
new file mode 100644
index 000000000..3dab31c93
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/events/EventType.idl
@@ -0,0 +1,168 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_xml_dom_events_EventType_idl__
+#define __com_sun_star_xml_dom_events_EventType_idl__
+
+module com { module sun { module star { module xml { module dom { module events {
+
+enum EventType
+{
+ DOMFocusIn,
+ /*
+ The DOMFocusIn event occurs when an EventTarget receives focus, for instance via a pointing device being moved onto an element or by tabbing navigation to the element. Unlike the HTML event focus, DOMFocusIn can be applied to any focusable EventTarget, not just FORM controls.
+ * Bubbles: Yes
+ * Cancelable: No
+ * Context Info: None
+ */
+
+ DOMFocusOut,
+ /*
+ The DOMFocusOut event occurs when an EventTarget loses focus, for instance via a pointing device being moved out of an element or by tabbing navigation out of the element. Unlike the HTML event blur, DOMFocusOut can be applied to any focusable EventTarget, not just FORM controls.
+ * Bubbles: Yes
+ * Cancelable: No
+ * Context Info: None
+ */
+
+ DOMActivate,
+ /*
+ The activate event occurs when an element is activated, for instance, through a mouse click or a key press. A numerical argument is provided to give an indication of the type of activation that occurs: 1 for a simple activation (e.g. a simple click or Enter), 2 for hyper activation (for instance a double click or Shift Enter).
+ * Bubbles: Yes
+ * Cancelable: Yes
+ * Context Info: detail (the numerical value)
+ */
+
+ click,
+ /*
+ The click event occurs when the pointing device button is clicked over an element.
+ A click is defined as a mousedown and mouseup over the same screen location.
+ The sequence of these events is:
+
+ mousedown
+ mouseup
+ click
+
+ If multiple clicks occur at the same screen location, the sequence repeats with the detail attribute incrementing with each repetition. This event is valid for most elements.
+
+ * Bubbles: Yes
+ * Cancelable: Yes
+ * Context Info: screenX, screenY, clientX, clientY, altKey, ctrlKey, shiftKey, metaKey, button, detail
+ */
+
+ mousedown,
+ /*
+ The mousedown event occurs when the pointing device button is pressed over an element. This event is valid for most elements.
+ * Bubbles: Yes
+ * Cancelable: Yes
+ * Context Info: screenX, screenY, clientX, clientY, altKey, ctrlKey, shiftKey, metaKey, button, detail
+ */
+
+ mouseup,
+ /*
+ The mouseup event occurs when the pointing device button is released over an element. This event is valid for most elements.
+ * Bubbles: Yes
+ * Cancelable: Yes
+ * Context Info: screenX, screenY, clientX, clientY, altKey, ctrlKey, shiftKey, metaKey, button, detail
+ */
+
+ mouseover,
+ /*
+ The mouseover event occurs when the pointing device is moved onto an element. This event is valid for most elements.
+ * Bubbles: Yes
+ * Cancelable: Yes
+ * Context Info: screenX, screenY, clientX, clientY, altKey, ctrlKey, shiftKey, metaKey, relatedTarget indicates the EventTarget the pointing device is exiting.
+ */
+
+ mousemove,
+ /*
+ The mousemove event occurs when the pointing device is moved while it is over an element. This event is valid for most elements.
+ * Bubbles: Yes
+ * Cancelable: No
+ * Context Info: screenX, screenY, clientX, clientY, altKey, ctrlKey, shiftKey, metaKey
+ */
+
+ mouseout,
+ /*
+ The mouseout event occurs when the pointing device is moved away from an element. This event is valid for most elements...
+ * Bubbles: Yes
+ * Cancelable: Yes
+ * Context Info: screenX, screenY, clientX, clientY, altKey, ctrlKey, shiftKey, metaKey, relatedTarget indicates the EventTarget the pointing device is entering.
+ */
+
+ DOMSubtreeModified,
+ /*
+ This is a general event for notification of all changes to the document. It can be used instead of the more specific events listed below. It may be fired after a single modification to the document or, at the implementation's discretion, after multiple changes have occurred. The latter use should generally be used to accommodate multiple changes which occur either simultaneously or in rapid succession. The target of this event is the lowest common parent of the changes which have taken place. This event is dispatched after any other events caused by the mutation have fired.
+ * Bubbles: Yes
+ * Cancelable: No
+ * Context Info: None
+ */
+
+ DOMNodeInserted,
+ /*
+ Fired when a node has been added as a child of another node. This event is dispatched after the insertion has taken place. The target of this event is the node being inserted.
+ * Bubbles: Yes
+ * Cancelable: No
+ * Context Info: relatedNode holds the parent node
+ */
+
+ DOMNodeRemoved,
+ /*
+ Fired when a node is being removed from its parent node. This event is dispatched before the node is removed from the tree. The target of this event is the node being removed.
+ * Bubbles: Yes
+ * Cancelable: No
+ * Context Info: relatedNode holds the parent node
+ */
+
+ DOMNodeRemovedFromDocument,
+ /*
+ Fired when a node is being removed from a document, either through direct removal of the Node or removal of a subtree in which it is contained. This event is dispatched before the removal takes place. The target of this event is the Node being removed. If the Node is being directly removed the DOMNodeRemoved event will fire before the DOMNodeRemovedFromDocument event.
+ * Bubbles: No
+ * Cancelable: No
+ * Context Info: None
+ */
+
+ DOMNodeInsertedIntoDocument,
+ /*
+ Fired when a node is being inserted into a document, either through direct insertion of the Node or insertion of a subtree in which it is contained. This event is dispatched after the insertion has taken place. The target of this event is the node being inserted. If the Node is being directly inserted the DOMNodeInserted event will fire before the DOMNodeInsertedIntoDocument event.
+ * Bubbles: No
+ * Cancelable: No
+ * Context Info: None
+ */
+
+ DOMAttrModified,
+ /*
+ Fired after an Attr has been modified on a node. The target of this event is the Node whose Attr changed. The value of attrChange indicates whether the Attr was modified, added, or removed. The value of relatedNode indicates the Attr node whose value has been affected. It is expected that string based replacement of an Attr value will be viewed as a modification of the Attr since its identity does not change. Subsequently replacement of the Attr node with a different Attr node is viewed as the removal of the first Attr node and the addition of the second.
+ * Bubbles: Yes
+ * Cancelable: No
+ * Context Info: attrName, attrChange, prevValue, newValue, relatedNode
+ */
+
+ DOMCharacterDataModified
+ /*
+ Fired after CharacterData within a node has been modified but the node itself has not been inserted or deleted. This event is also triggered by modifications to PI elements. The target of this event is the CharacterData node.
+ * Bubbles: Yes
+ * Cancelable: No
+ * Context Info: prevValue, newValue
+ */
+};
+}; }; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/events/PhaseType.idl b/offapi/com/sun/star/xml/dom/events/PhaseType.idl
new file mode 100644
index 000000000..7b7faefa1
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/events/PhaseType.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_xml_dom_events_PhaseType_idl__
+#define __com_sun_star_xml_dom_events_PhaseType_idl__
+
+module com { module sun { module star { module xml { module dom { module events {
+
+enum PhaseType
+{
+ CAPTURING_PHASE,
+ AT_TARGET,
+ BUBBLING_PHASE
+};
+}; }; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/events/XDocumentEvent.idl b/offapi/com/sun/star/xml/dom/events/XDocumentEvent.idl
new file mode 100644
index 000000000..bdc26b0d4
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/events/XDocumentEvent.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_xml_dom_events_XDocumentEvent_idl__
+#define __com_sun_star_xml_dom_events_XDocumentEvent_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/xml/dom/events/EventType.idl>
+#include <com/sun/star/xml/dom/events/XEvent.idl>
+
+module com { module sun { module star { module xml { module dom { module events {
+
+// Introduced in DOM Level 2:
+interface XDocumentEvent : com::sun::star::uno::XInterface {
+ XEvent createEvent([in] string eventType);
+};
+}; }; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/events/XEvent.idl b/offapi/com/sun/star/xml/dom/events/XEvent.idl
new file mode 100644
index 000000000..7345b3054
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/events/XEvent.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_xml_dom_events_XEvent_idl__
+#define __com_sun_star_xml_dom_events_XEvent_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/xml/dom/events/XEventTarget.idl>
+#include <com/sun/star/xml/dom/events/EventType.idl>
+#include <com/sun/star/xml/dom/events/PhaseType.idl>
+#include <com/sun/star/util/Time.idl>
+
+module com { module sun { module star { module xml { module dom { module events {
+
+// Introduced in DOM Level 2:
+interface XEvent : com::sun::star::uno::XInterface
+{
+
+ string getType();
+
+ XEventTarget getTarget();
+
+ XEventTarget getCurrentTarget();
+
+ PhaseType getEventPhase();
+
+ boolean getBubbles();
+
+ boolean getCancelable();
+
+ com::sun::star::util::Time getTimeStamp();
+
+ void stopPropagation();
+
+ void preventDefault();
+
+ void initEvent([in] string eventTypeArg,
+ [in] boolean canBubbleArg,
+ [in] boolean cancelableArg);
+};
+}; }; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/events/XEventListener.idl b/offapi/com/sun/star/xml/dom/events/XEventListener.idl
new file mode 100644
index 000000000..16b302aab
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/events/XEventListener.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_xml_dom_events_XEventListener_idl__
+#define __com_sun_star_xml_dom_events_XEventListener_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module xml { module dom { module events {
+
+interface XEvent;
+
+// Introduced in DOM Level 2:
+interface XEventListener : com::sun::star::uno::XInterface {
+ void handleEvent([in] XEvent evt);
+};
+}; }; }; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/events/XEventTarget.idl b/offapi/com/sun/star/xml/dom/events/XEventTarget.idl
new file mode 100644
index 000000000..f73d4e71b
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/events/XEventTarget.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_xml_dom_events_XEventTarget_idl__
+#define __com_sun_star_xml_dom_events_XEventTarget_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/xml/dom/events/EventType.idl>
+#include <com/sun/star/xml/dom/events/EventException.idl>
+#include <com/sun/star/xml/dom/events/XEventListener.idl>
+
+
+module com { module sun { module star { module xml { module dom { module events {
+
+interface XEvent;
+
+// Introduced in DOM Level 2:
+interface XEventTarget : com::sun::star::uno::XInterface {
+ void addEventListener([in] string eventType,
+ [in] XEventListener listener,
+ [in] boolean useCapture);
+
+ void removeEventListener([in] string eventType,
+ [in] XEventListener listener,
+ [in] boolean useCapture);
+
+ boolean dispatchEvent([in] XEvent evt) raises(EventException);
+};
+}; }; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/events/XMouseEvent.idl b/offapi/com/sun/star/xml/dom/events/XMouseEvent.idl
new file mode 100644
index 000000000..a84a0324b
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/events/XMouseEvent.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_xml_dom_events_XMouseEvent_idl__
+#define __com_sun_star_xml_dom_events_XMouseEvent_idl__
+
+#include <com/sun/star/xml/dom/events/EventType.idl>
+#include <com/sun/star/xml/dom/events/XEvent.idl>
+#include <com/sun/star/xml/dom/events/XUIEvent.idl>
+#include <com/sun/star/xml/dom/events/XEventTarget.idl>
+#include <com/sun/star/xml/dom/events/XEventListener.idl>
+
+module com { module sun { module star { module xml { module dom { module events {
+
+// Introduced in DOM Level 2:
+interface XMouseEvent : XUIEvent {
+
+ long getScreenX();
+ long getScreenY();
+ long getClientX();
+ long getClientY();
+ boolean getCtrlKey();
+ boolean getShiftKey();
+ boolean getAltKey();
+ boolean getMetaKey();
+ short getButton();
+ XEventTarget getRelatedTarget();
+
+ void initMouseEvent([in] string typeArg,
+ [in] boolean canBubbleArg,
+ [in] boolean cancelableArg,
+ [in] com::sun::star::xml::dom::views::XAbstractView viewArg,
+ [in] long detailArg,
+ [in] long screenXArg,
+ [in] long screenYArg,
+ [in] long clientXArg,
+ [in] long clientYArg,
+ [in] boolean ctrlKeyArg,
+ [in] boolean altKeyArg,
+ [in] boolean shiftKeyArg,
+ [in] boolean metaKeyArg,
+ [in] short buttonArg,
+ [in] XEventTarget relatedTargetArg);
+};
+}; }; }; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/events/XMutationEvent.idl b/offapi/com/sun/star/xml/dom/events/XMutationEvent.idl
new file mode 100644
index 000000000..f0baf2e1b
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/events/XMutationEvent.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_xml_dom_events_XMutationEvent_idl__
+#define __com_sun_star_xml_dom_events_XMutationEvent_idl__
+
+#include <com/sun/star/xml/dom/events/EventType.idl>
+#include <com/sun/star/xml/dom/events/AttrChangeType.idl>
+#include <com/sun/star/xml/dom/events/XEvent.idl>
+#include <com/sun/star/xml/dom/events/XEventTarget.idl>
+#include <com/sun/star/xml/dom/events/XEventListener.idl>
+#include <com/sun/star/xml/dom/XNode.idl>
+
+module com { module sun { module star { module xml { module dom { module events {
+
+interface XMutationEvent : XEvent {
+
+
+ com::sun::star::xml::dom::XNode getRelatedNode();
+ string getPrevValue();
+ string getNewValue();
+ string getAttrName();
+ AttrChangeType getAttrChange();
+
+ void initMutationEvent([in] string typeArg,
+ [in] boolean canBubbleArg,
+ [in] boolean cancelableArg,
+ [in] com::sun::star::xml::dom::XNode relatedNodeArg,
+ [in] string prevValueArg,
+ [in] string newValueArg,
+ [in] string attrNameArg,
+ [in] AttrChangeType attrChangeArg);
+};
+}; }; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/events/XUIEvent.idl b/offapi/com/sun/star/xml/dom/events/XUIEvent.idl
new file mode 100644
index 000000000..78dd5cd99
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/events/XUIEvent.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_xml_dom_events_XUIEvent_idl__
+#define __com_sun_star_xml_dom_events_XUIEvent_idl__
+
+#include <com/sun/star/xml/dom/events/XEvent.idl>
+
+module com { module sun { module star { module xml { module dom { module views {
+ interface XAbstractView;
+}; }; }; }; }; };
+
+module com { module sun { module star { module xml { module dom { module events {
+
+// Introduced in DOM Level 2:
+interface XUIEvent : XEvent {
+ com::sun::star::xml::dom::views::XAbstractView getView();
+ long getDetail();
+ void initUIEvent([in] string typeArg,
+ [in] boolean canBubbleArg,
+ [in] boolean cancelableArg,
+ [in] com::sun::star::xml::dom::views::XAbstractView viewArg,
+ [in] long detailArg);
+};
+}; }; }; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/views/XAbstractView.idl b/offapi/com/sun/star/xml/dom/views/XAbstractView.idl
new file mode 100644
index 000000000..b721961ab
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/views/XAbstractView.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_xml_dom_views_XAbstractView_idl__
+#define __com_sun_star_xml_dom_views_XAbstractView_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/xml/dom/events/XEvent.idl>
+
+module com { module sun { module star { module xml { module dom { module views {
+
+interface XDocumentView;
+
+interface XAbstractView : com::sun::star::uno::XInterface{
+ XDocumentView getDocument();
+};
+}; }; }; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/dom/views/XDocumentView.idl b/offapi/com/sun/star/xml/dom/views/XDocumentView.idl
new file mode 100644
index 000000000..fe239aa0a
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/views/XDocumentView.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_xml_dom_views_XDocumentView_idl__
+#define __com_sun_star_xml_dom_views_XDocumentView_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/xml/dom/views/XAbstractView.idl>
+
+module com { module sun { module star { module xml { module dom { module views {
+
+interface XDocumentView : com::sun::star::uno::XInterface {
+ XAbstractView getDefaultView();
+};
+}; }; }; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/input/SaxDocumentHandler.idl b/offapi/com/sun/star/xml/input/SaxDocumentHandler.idl
new file mode 100644
index 000000000..970d11f99
--- /dev/null
+++ b/offapi/com/sun/star/xml/input/SaxDocumentHandler.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_xml_input_SaxDocumentHandler_idl__
+#define __com_sun_star_xml_input_SaxDocumentHandler_idl__
+
+#include <com/sun/star/xml/input/XRoot.idl>
+#include <com/sun/star/xml/sax/XDocumentHandler.idl>
+#include <com/sun/star/lang/XInitialization.idl>
+
+
+module com { module sun { module star { module xml { module input {
+
+/** This service helps parsing files by providing a SAX document handler
+ interface for a SAX parsers.
+ You have to instantiate this service passing an XRoot instance.
+
+ @internal
+*/
+service SaxDocumentHandler
+{
+ /** to be passed to a SAX parser
+ */
+ interface com::sun::star::xml::sax::XDocumentHandler;
+
+ /** to be used to pass XRoot object
+ */
+ interface com::sun::star::lang::XInitialization;
+};
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/input/XAttributes.idl b/offapi/com/sun/star/xml/input/XAttributes.idl
new file mode 100644
index 000000000..254699e46
--- /dev/null
+++ b/offapi/com/sun/star/xml/input/XAttributes.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_xml_input_XAttributes_idl__
+#define __com_sun_star_xml_input_XAttributes_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module xml { module input {
+
+/** An element's attributes
+
+ @internal
+*/
+interface XAttributes : com::sun::star::uno::XInterface
+{
+ /** Gets the number of attributes.
+
+ @return
+ number of attributes
+ */
+ long getLength();
+
+ /** Gets attribute index passing a QName.
+
+ @param qName
+ QName
+ @return
+ attribute index or -1, if not found
+ */
+ long getIndexByQName( [in] string qName );
+
+ /** Gets attribute index passing a namespace uid and a local name.
+
+ @param uid
+ namespace uid
+ @param localName
+ local name
+ @return
+ attribute index or -1, if not found
+ */
+ long getIndexByUidName( [in] long uid, [in] string localName );
+
+ /** Gets the QName of an attribute.
+
+ @param nIndex
+ index
+ @return
+ QName of attribute or empty string, if invalid index
+ */
+ string getQNameByIndex( [in] long nIndex );
+
+ /** Gets the namespace uid of an attribute.
+
+ @param nIndex
+ index
+ @return
+ namespace uid of attribute or -1, if invalid index
+ */
+ long getUidByIndex( [in] long nIndex );
+
+ /** Gets the local name of an attribute.
+
+ @param nIndex
+ index
+ @return
+ local name of attribute or empty string, if invalid index
+ */
+ string getLocalNameByIndex( [in] long nIndex );
+
+ /** Gets the value of an attribute.
+
+ @param nIndex
+ index
+ @return
+ value string or empty string, if invalid index
+ */
+ string getValueByIndex( [in] long nIndex );
+
+ /** For convenience: Gets the value of an attribute passing uid, local name.
+
+ @param uid
+ namespace uid
+ @param localName
+ local name
+ @return
+ value string or empty string, if invalid uid/local name
+ */
+ string getValueByUidName( [in] long uid, [in] string localName );
+
+ /** Gets the type of an attribute, if possible.
+
+ @param nIndex
+ index
+ @return
+ type of attribute (if possible, else empty string)
+ */
+ string getTypeByIndex( [in] long nIndex );
+};
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/input/XElement.idl b/offapi/com/sun/star/xml/input/XElement.idl
new file mode 100644
index 000000000..f79daa2ac
--- /dev/null
+++ b/offapi/com/sun/star/xml/input/XElement.idl
@@ -0,0 +1,114 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_xml_input_XElement_idl__
+#define __com_sun_star_xml_input_XElement_idl__
+
+#include <com/sun/star/xml/input/XAttributes.idl>
+#include <com/sun/star/xml/sax/SAXException.idl>
+
+
+module com { module sun { module star { module xml { module input {
+
+/** Capsule around an XML element.
+
+ @internal
+*/
+interface XElement : com::sun::star::uno::XInterface
+{
+ /** Gets the parent context.
+
+ @return
+ parent context
+ */
+ XElement getParent();
+
+ /** Gets the local name of this element.
+
+ @return
+ local name of this element
+ */
+ string getLocalName();
+
+ /** Gets the namespace uid of this element.
+
+ @return
+ namespace uid of this element
+ */
+ long getUid();
+
+ /** Gets the attributes of this element.
+
+ @return
+ attributes of this element
+ */
+ XAttributes getAttributes();
+
+ /** Called upon each occurring child element.
+
+ @param uid
+ namespace uid of element
+ @param localName
+ local name of element
+ @param xAttributes
+ attributes of element
+ @return
+ child import context
+ */
+ XElement startChildElement(
+ [in] long uid, [in] string localName, [in] XAttributes xAttributes )
+ raises (com::sun::star::xml::sax::SAXException);
+
+ /** Called upon retrieval of characters.
+
+ @param chars
+ characters
+ */
+ void characters( [in] string chars )
+ raises (com::sun::star::xml::sax::SAXException);
+
+ /** Receives notification of white space that can be ignored.
+
+ @param whitespace
+ white space characters
+ */
+ void ignorableWhitespace( [in] string whitespace )
+ raises (com::sun::star::xml::sax::SAXException);
+
+ /** Receives notification of a processing instruction.
+
+ @param target
+ target
+ @param data
+ data
+ */
+ void processingInstruction(
+ [in] string target, [in] string data )
+ raises (com::sun::star::xml::sax::SAXException);
+
+ /** Receives notification of element closing.
+ */
+ void endElement()
+ raises (com::sun::star::xml::sax::SAXException);
+};
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/input/XNamespaceMapping.idl b/offapi/com/sun/star/xml/input/XNamespaceMapping.idl
new file mode 100644
index 000000000..08b8fb824
--- /dev/null
+++ b/offapi/com/sun/star/xml/input/XNamespaceMapping.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_xml_input_XNamespaceMapping_idl__
+#define __com_sun_star_xml_input_XNamespaceMapping_idl__
+
+#include <com/sun/star/container/NoSuchElementException.idl>
+
+
+module com { module sun { module star { module xml { module input {
+
+/** Interface to map XML namespace URI strings to ordinals (URI-id, short uid).
+
+ @internal
+*/
+interface XNamespaceMapping : com::sun::star::uno::XInterface
+{
+ /** Creates a unique ordinal passing an XML namespace URI.
+
+ @param uri
+ XML namespace URI
+ @return
+ uid
+ */
+ long getUidByUri( [in] string uri );
+
+ /** Gets the corresponding XML namespace URI passing a uid (created using
+ getUidByUri()).
+
+ @param uid
+ uid
+ @return
+ XML namespace URI
+ */
+ string getUriByUid( [in] long uid )
+ raises (com::sun::star::container::NoSuchElementException);
+};
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/input/XRoot.idl b/offapi/com/sun/star/xml/input/XRoot.idl
new file mode 100644
index 000000000..8efb1a140
--- /dev/null
+++ b/offapi/com/sun/star/xml/input/XRoot.idl
@@ -0,0 +1,91 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_xml_input_XRoot_idl__
+#define __com_sun_star_xml_input_XRoot_idl__
+
+#include <com/sun/star/xml/input/XNamespaceMapping.idl>
+#include <com/sun/star/xml/input/XElement.idl>
+#include <com/sun/star/xml/input/XAttributes.idl>
+#include <com/sun/star/xml/sax/SAXException.idl>
+#include <com/sun/star/xml/sax/XLocator.idl>
+
+
+module com { module sun { module star { module xml { module input {
+
+/** Root interface being passed to SaxDocumentHandler service upon
+ instantiation.
+
+ @internal
+*/
+interface XRoot : com::sun::star::uno::XInterface
+{
+ /** Receives notification of the beginning of a document.
+
+ @param xMapping
+ mapping to obtain ids out of XML namespace URIs
+ and vice versa
+ */
+ void startDocument(
+ [in] XNamespaceMapping xMapping )
+ raises (com::sun::star::xml::sax::SAXException);
+
+ /** Receives notification of the end of a document.
+ */
+ void endDocument()
+ raises (com::sun::star::xml::sax::SAXException);
+
+ /** Receives notification of a processing instruction.
+
+ @param target
+ target
+ @param data
+ data
+ */
+ void processingInstruction(
+ [in] string target, [in] string data )
+ raises (com::sun::star::xml::sax::SAXException);
+
+ /** Receives an object for locating the origin of SAX document events.
+
+ @param locator
+ locator
+ */
+ void setDocumentLocator(
+ [in] com::sun::star::xml::sax::XLocator locator )
+ raises (com::sun::star::xml::sax::SAXException);
+
+ /** Called upon root element.
+
+ @param uid
+ namespace uid of element
+ @param localName
+ local name of element
+ @param xAttributes
+ attributes of element
+ */
+ XElement startRootElement(
+ [in] long uid, [in] string localName, [in] XAttributes xAttributes )
+ raises (com::sun::star::xml::sax::SAXException);
+};
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/sax/FastParser.idl b/offapi/com/sun/star/xml/sax/FastParser.idl
new file mode 100644
index 000000000..4f2382217
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/FastParser.idl
@@ -0,0 +1,23 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.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 INCLUDED_COM_SUN_STAR_XML_SAX_FASTPARSER_IDL
+#define INCLUDED_COM_SUN_STAR_XML_SAX_FASTPARSER_IDL
+
+#include <com/sun/star/xml/sax/XFastParser.idl>
+
+module com { module sun { module star { module xml { module sax {
+
+service FastParser: XFastParser;
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/sax/FastToken.idl b/offapi/com/sun/star/xml/sax/FastToken.idl
new file mode 100644
index 000000000..772c8bfbc
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/FastToken.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_xml_sax_FastToken_idl__
+#define __com_sun_star_xml_sax_FastToken_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module xml { module sax {
+
+
+constants FastToken
+{
+
+ /** specifies an unknown token.
+ */
+ const long DONTKNOW = -1;
+
+
+ /** specifies the first namespace token
+ */
+ const long NAMESPACE = 0x00010000;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/sax/FastTokenHandler.idl b/offapi/com/sun/star/xml/sax/FastTokenHandler.idl
new file mode 100644
index 000000000..eccca85de
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/FastTokenHandler.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_xml_sax_FastTokenHandler_idl__
+#define __com_sun_star_xml_sax_FastTokenHandler_idl__
+
+#include <com/sun/star/xml/sax/XFastTokenHandler.idl>
+
+
+module com { module sun { module star { module xml { module sax {
+
+service FastTokenHandler : XFastTokenHandler;
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/sax/InputSource.idl b/offapi/com/sun/star/xml/sax/InputSource.idl
new file mode 100644
index 000000000..992a7d871
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/InputSource.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_xml_sax_InputSource_idl__
+#define __com_sun_star_xml_sax_InputSource_idl__
+
+#include <com/sun/star/io/XInputStream.idl>
+
+
+
+module com { module sun { module star { module xml { module sax {
+
+
+/** specifies the Datasource plus some additional information for the parser.
+
+ <p>There are two places where the application will deliver this input
+ source to the parser:
+ </p>
+ <ul>
+ <li>as the argument of XParser::parseStream()</li>
+ <li>as the return value of XEntityResolver::resolveEntity().
+ </li>
+ </ul>
+ */
+published struct InputSource
+{
+ /** contains the byte input stream of the document.
+ */
+ com::sun::star::io::XInputStream aInputStream;
+
+
+ /** contains the encoding of the data stream. This is used by the parser
+ to do Unicode conversions.
+
+ <p>Note that in general you do not need to specify an encoding.
+ Either it is UTF-8 or UTF-16 which is recognized by the parser
+ or it is specified in the first line of the XML-File
+ ( e.g. <em>?xml encoding="EUC-JP"?</em> ).</p>
+ */
+ string sEncoding;
+
+
+ /** contains the public Id of the document, for example, needed in
+ exception-message strings.
+ */
+ string sPublicId;
+
+
+ /** contains the system ID of the document.
+ */
+ string sSystemId;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/sax/Parser.idl b/offapi/com/sun/star/xml/sax/Parser.idl
new file mode 100644
index 000000000..8ddee4e50
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/Parser.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_xml_sax_Parser_idl__
+#define __com_sun_star_xml_sax_Parser_idl__
+
+#include <com/sun/star/xml/sax/XParser.idl>
+
+module com { module sun { module star { module xml { module sax {
+
+
+/**
+ Service that provides a SAX parser.
+ */
+published service Parser : XParser;
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/sax/SAXException.idl b/offapi/com/sun/star/xml/sax/SAXException.idl
new file mode 100644
index 000000000..6bd174072
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/SAXException.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_xml_sax_SAXException_idl__
+#define __com_sun_star_xml_sax_SAXException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+
+module com { module sun { module star { module xml { module sax {
+
+
+/** encapsulates the details of an XML parse error or warning.
+
+ <p>This structure is a replacement for the Java class
+ <em>org.xml.sax.SAXException</em>. </p>
+
+ <p>Some abbreviations: </p>
+ <ul>
+ <li>SAX = Simple API for XML </li>
+ <li>URI = Uniform Resource Identifier </li>
+ <li>DTD = document type definition </li>
+ </ul>
+ */
+published exception SAXException: com::sun::star::uno::Exception
+{
+
+ /** This field may contain a wrapped exception.
+ */
+ any WrappedException;
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/sax/SAXInvalidCharacterException.idl b/offapi/com/sun/star/xml/sax/SAXInvalidCharacterException.idl
new file mode 100644
index 000000000..1d17bc0c6
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/SAXInvalidCharacterException.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_xml_sax_SAXInvalidCharacterException_idl__
+#define __com_sun_star_xml_sax_SAXInvalidCharacterException_idl__
+
+#include <com/sun/star/xml/sax/SAXException.idl>
+
+
+
+module com { module sun { module star { module xml { module sax {
+
+
+/** stores information for locating the error in the original XML document.
+
+ @see XLocator
+ */
+published exception SAXInvalidCharacterException: com::sun::star::xml::sax::SAXException
+{
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/sax/SAXParseException.idl b/offapi/com/sun/star/xml/sax/SAXParseException.idl
new file mode 100644
index 000000000..b5640ff75
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/SAXParseException.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_xml_sax_SAXParseException_idl__
+#define __com_sun_star_xml_sax_SAXParseException_idl__
+
+#include <com/sun/star/xml/sax/SAXException.idl>
+
+
+
+module com { module sun { module star { module xml { module sax {
+
+
+/** stores information for locating the error in the original XML document.
+
+ @see XLocator
+ */
+published exception SAXParseException: com::sun::star::xml::sax::SAXException
+{
+
+ /** contains the public identifier of the document where the exception
+ has occurred.
+ */
+ string PublicId;
+
+
+ /** contains the system identifier of the document.
+ */
+ string SystemId;
+
+
+ /** contains the line number in the document.
+ */
+ long LineNumber;
+
+
+ /** contains the column number in the document.
+ */
+ long ColumnNumber;
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/sax/Writer.idl b/offapi/com/sun/star/xml/sax/Writer.idl
new file mode 100644
index 000000000..91a24207c
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/Writer.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_xml_sax_Writer_idl__
+#define __com_sun_star_xml_sax_Writer_idl__
+
+#include <com/sun/star/xml/sax/XWriter.idl>
+
+
+
+module com { module sun { module star { module xml { module sax {
+
+
+/**
+ @since LibreOffice 4.0
+ */
+service Writer : XWriter;
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/sax/XAttributeList.idl b/offapi/com/sun/star/xml/sax/XAttributeList.idl
new file mode 100644
index 000000000..51924375e
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/XAttributeList.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_xml_sax_XAttributeList_idl__
+#define __com_sun_star_xml_sax_XAttributeList_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module xml { module sax {
+
+
+/** specifies an element's attributes.
+
+ <p>This interface describes a name-type-value triple which describes a
+ single attribute of a tag. Implementors are encouraged to implement the
+ com::sun::star::util::XCloneable interface also to
+ allow the user to make a copy of the instance.
+
+ </p>
+ <p>This interface is a poor IDL version of the Java interface
+ <em>org.xml.sax.AttributeList</em>. For example in getValueByName, it does
+ not allow to distinguish a missing value (for which the Java interface
+ returns null) from an empty string value.</p>
+ */
+published interface XAttributeList: com::sun::star::uno::XInterface
+{
+
+ /** @returns
+ the number of attributes in this list.
+ */
+ short getLength();
+
+
+ /** @returns
+ the name of an attribute in this list (by position).
+ */
+ string getNameByIndex( [in] short i );
+
+
+ /** @returns
+ the type of an attribute in the list (by position).
+ Non-validating parsers may return CDATA only.
+ */
+ string getTypeByIndex( [in] short i );
+
+
+ /** @returns
+ the type of an attribute in the list (by name).
+ Non-validating parsers may return CDATA only.
+ */
+ string getTypeByName( [in] string aName );
+
+
+ /** @returns
+ the value of an attribute in the list (by position).
+ */
+ string getValueByIndex( [in] short i );
+
+
+ /** @returns
+ the value of an attribute in the list (by name).
+ */
+ string getValueByName( [in] string aName );
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/sax/XDTDHandler.idl b/offapi/com/sun/star/xml/sax/XDTDHandler.idl
new file mode 100644
index 000000000..7bc06ba8d
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/XDTDHandler.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_xml_sax_XDTDHandler_idl__
+#define __com_sun_star_xml_sax_XDTDHandler_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+module com { module sun { module star { module xml { module sax {
+
+
+/** receives events according to the DTD of the document.
+
+ <p>The SAX parser may report these events in any order, regardless of the
+ order in which the notations and unparsed entities were declared; however,
+ all DTD events must be reported after the document handler's
+ <code>startDocument</code> event, and before the first <code>startElement</code>
+ event. It is up to the application to store the information for future
+ use (perhaps in a hash table or object tree). If the application encounters
+ attributes of type "NOTATION", "ENTITY", or "ENTITIES", it can use the
+ information that it obtained through this interface to find the entity
+ and/or notation that corresponds with the attribute value.
+ </p>
+ */
+published interface XDTDHandler: com::sun::star::uno::XInterface
+{
+
+ /** receives notification of a notation declaration event.
+ */
+ void notationDecl( [in] string sName,
+ [in] string sPublicId,
+ [in] string sSystemId );
+
+
+ /** receives notification of an unparsed entity declaration event.
+ */
+ void unparsedEntityDecl( [in] string sName,
+ [in] string sPublicId,
+ [in] string sSystemId,
+ [in] string sNotationName );
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/sax/XDocumentHandler.idl b/offapi/com/sun/star/xml/sax/XDocumentHandler.idl
new file mode 100644
index 000000000..9c5f7dc6b
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/XDocumentHandler.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_xml_sax_XDocumentHandler_idl__
+#define __com_sun_star_xml_sax_XDocumentHandler_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/xml/sax/SAXException.idl>
+
+#include <com/sun/star/xml/sax/XAttributeList.idl>
+
+#include <com/sun/star/xml/sax/XLocator.idl>
+
+
+
+module com { module sun { module star { module xml { module sax {
+
+
+/** receives notification of general document events.
+
+ <p>This interface is an IDL version of the Java interface
+ <em>org.xml.sax.DocumentHandler</em> with some smaller
+ adaptations.</p>
+ */
+published interface XDocumentHandler: com::sun::star::uno::XInterface
+{
+
+ /** receives notification of the beginning of a document.
+ */
+ void startDocument()
+ raises( com::sun::star::xml::sax::SAXException );
+
+
+ /** receives notification of the end of a document.
+ */
+ void endDocument()
+ raises( com::sun::star::xml::sax::SAXException );
+
+
+ /** receives notification of the beginning of an element .
+ */
+ void startElement( [in] string aName,
+ [in] com::sun::star::xml::sax::XAttributeList xAttribs )
+ raises( com::sun::star::xml::sax::SAXException );
+
+
+ /** receives notification of the end of an element.
+ */
+ void endElement( [in] string aName )
+ raises( com::sun::star::xml::sax::SAXException );
+
+
+ /** receives notification of character data.
+ */
+ void characters( [in] string aChars )
+ raises( com::sun::star::xml::sax::SAXException );
+
+
+ /** receives notification of white space that can be ignored.
+ */
+ void ignorableWhitespace( [in] string aWhitespaces )
+ raises( com::sun::star::xml::sax::SAXException );
+
+
+ /** receives notification of a processing instruction.
+ */
+ void processingInstruction( [in] string aTarget,
+ [in] string aData )
+ raises( com::sun::star::xml::sax::SAXException );
+
+
+ /** receives an object for locating the origin of SAX document events.
+ */
+ void setDocumentLocator( [in] com::sun::star::xml::sax::XLocator xLocator )
+ raises( com::sun::star::xml::sax::SAXException );
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/sax/XEntityResolver.idl b/offapi/com/sun/star/xml/sax/XEntityResolver.idl
new file mode 100644
index 000000000..ad479dc7c
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/XEntityResolver.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_xml_sax_XEntityResolver_idl__
+#define __com_sun_star_xml_sax_XEntityResolver_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/xml/sax/InputSource.idl>
+
+
+
+module com { module sun { module star { module xml { module sax {
+
+
+/** makes it possible to modify the behavior of resolving external
+ preferences.
+
+ <p>Usually, the parser has a default behavior of resolving external
+ references (See documentation of the parser implementation).
+ Use this interface to modify or reimplement this behavior.</p>
+ */
+published interface XEntityResolver: com::sun::star::uno::XInterface
+{
+
+ /** @returns
+ InputSource for the external entity.
+
+ <p>If <var>aInputStream</var> is a valid reference to an input stream,
+ the parser uses this InputSource. Otherwise the
+ parser seeks for the entity using its default behavior.
+ */
+ InputSource resolveEntity( [in] string sPublicId, [in] string sSystemId );
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/sax/XErrorHandler.idl b/offapi/com/sun/star/xml/sax/XErrorHandler.idl
new file mode 100644
index 000000000..568e14c78
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/XErrorHandler.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_xml_sax_XErrorHandler_idl__
+#define __com_sun_star_xml_sax_XErrorHandler_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/xml/sax/SAXException.idl>
+
+
+
+module com { module sun { module star { module xml { module sax {
+
+
+/** is the basic interface for SAX error handlers.
+
+ <p>If a SAX application needs to implement customized error handling,
+ it must implement this interface and then register an instance with the
+ SAX parser using the parser's XParser::setErrorhandler()
+ method. The parser will then report all errors and warnings through this
+ interface. </p>
+
+ <p>This interface is a slight adaptation of the Java interface
+ <code>org.xml.sax.ErrorHandler</code>. In IDL, no exception can be passed
+ as an argument, so an <code>any</code> serves as the container. The type of the
+ exception is SAXParseException or an instance of a derived class.</p>
+ */
+published interface XErrorHandler: com::sun::star::uno::XInterface
+{
+ /** receives notification of a recoverable error.
+ */
+ void error( [in] any aSAXParseException )
+ raises( com::sun::star::xml::sax::SAXException );
+
+ /** receives notification of a non-recoverable error.
+ */
+ void fatalError( [in] any aSAXParseException )
+ raises( com::sun::star::xml::sax::SAXException );
+
+ /** receives notification of a warning.
+ */
+ void warning( [in] any aSAXParseException )
+ raises( com::sun::star::xml::sax::SAXException );
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/sax/XExtendedDocumentHandler.idl b/offapi/com/sun/star/xml/sax/XExtendedDocumentHandler.idl
new file mode 100644
index 000000000..23dc57cfb
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/XExtendedDocumentHandler.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_xml_sax_XExtendedDocumentHandler_idl__
+#define __com_sun_star_xml_sax_XExtendedDocumentHandler_idl__
+
+#include <com/sun/star/xml/sax/XDocumentHandler.idl>
+
+#include <com/sun/star/xml/sax/SAXException.idl>
+
+
+
+module com { module sun { module star { module xml { module sax {
+
+
+/** this interface does not conform to the SAX-standard.
+
+ <p>Note: Whether or not every callback is supported is dependent
+ on the parser implementation.
+ */
+published interface XExtendedDocumentHandler: com::sun::star::xml::sax::XDocumentHandler
+{
+ /** receives notification about the start of a CDATA section in the
+ XML-source.
+
+ <p>Any string coming in via character handler may include chars,
+ that would otherwise be interpreted as markup. </p>
+ */
+ void startCDATA()
+ raises( com::sun::star::xml::sax::SAXException );
+
+ /** informs about the end of a CDATA-Section.
+
+ <p>Note that <code>startCDATA/endCDATA</code> MUST NOT enclose any
+ <code>startElement/endElement</code>-call!</p>
+ */
+ void endCDATA()
+ raises( com::sun::star::xml::sax::SAXException );
+
+ /** receives notification about a comment in the XML-source.
+ */
+ void comment( [in] string sComment )
+ raises( com::sun::star::xml::sax::SAXException );
+
+ /** informs a writer that it is allowable to insert a line break and
+ indentation before the next XDocumentHandler-call.
+ */
+ void allowLineBreak()
+ raises( com::sun::star::xml::sax::SAXException );
+
+ /** notifies that any characters that cannot be handled by other callback
+ methods are announced through this method.
+ */
+ void unknown( [in] string sString )
+ raises( com::sun::star::xml::sax::SAXException );
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/sax/XFastAttributeList.idl b/offapi/com/sun/star/xml/sax/XFastAttributeList.idl
new file mode 100644
index 000000000..840fc920b
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/XFastAttributeList.idl
@@ -0,0 +1,160 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_xml_sax_XFastAttributeList_idl__
+#define __com_sun_star_xml_sax_XFastAttributeList_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/xml/Attribute.idl>
+#include <com/sun/star/xml/FastAttribute.idl>
+#include <com/sun/star/xml/sax/SAXException.idl>
+
+
+module com { module sun { module star { module xml { module sax {
+
+
+/** a container for the attributes of an XML element.
+
+ <br>Attributes are separated into known attributes and unknown attributes.
+ <p>Known attributes have a local name that is known to the XFastTokenHandler
+ registered at the XFastParser which created the sax event containing
+ this attributes. If an attribute also has a namespace, that must be registered
+ at the XFastParser, else this attribute is also unknown even if
+ the local name is known.
+ */
+interface XFastAttributeList: com::sun::star::uno::XInterface
+{
+ /** checks if an attribute is available.<br>
+
+ @param Token
+ contains the integer token from the XFastTokenHandler
+ registered at the XFastParser.<br>
+
+ If the attribute name has a namespace that was registered with the
+ XFastParser, Token contains the integer token of the
+ attributes local name from the XFastTokenHandler and
+ the integer token of the namespace combined with an arithmetic
+ <b>or</b> operation.
+
+ @returns
+ `TRUE`, if the attribute is available
+ */
+ boolean hasAttribute( [in] long Token );
+
+ /** retrieves the token of an attribute value.<br>
+
+ @param Token
+ contains the integer token from the XFastTokenHandler
+ registered at the XFastParser.<br>
+
+ If the attribute name has a namespace that was registered with the
+ XFastParser, Token contains the integer token of the
+ attributes local name from the XFastTokenHandler and
+ the integer token of the namespace combined with an arithmetic
+ <b>or</b> operation.
+
+ @returns
+ The integer token of the value from the attribute or FastToken::Invalid
+
+ @throws SAXEXception
+ if the attribute is not available
+
+ */
+ long getValueToken( [in] long Token )
+ raises( SAXException );
+
+ /**retrieves the token of an attribute value.<br>
+
+ @param Token
+ contains the integer token from the XFastTokenHandler
+ registered at the XFastParser.<br>
+
+ If the attribute name has a namespace that was registered with the
+ XFastParser, Token contains the integer token of the
+ attributes local name from the XFastTokenHandler and
+ the integer token of the namespace combined with an arithmetic
+ <b>or</b> operation.
+
+ @param Default
+ This value will be returned if the attribute is not available
+
+ @returns
+ If the attribute is available it returns the integer token of the value
+ from the attribute or FastToken::Invalid.
+ If not the value of <code>Default</code> is returned.
+
+ */
+ long getOptionalValueToken( [in] long Token, [in] long Default );
+
+ /** retrieves the value of an attribute.<br>
+
+ @param Token
+ contains the integer token from the XFastTokenHandler
+ registered at the XFastParser.<br>
+
+ If the attribute name has a namespace that was registered with the
+ XFastParser, Token contains the integer token of the
+ attributes local name from the XFastTokenHandler and
+ the integer token of the namespace combined with an arithmetic
+ <b>or</b> operation.
+
+ @returns
+ The string value from the attribute.
+
+ @throws SAXEXception
+ if the attribute is not available
+
+ */
+ string getValue( [in] long Token )
+ raises( SAXException );
+
+ /** retrieves the value of an attribute.<br>
+
+ @param Token
+ contains the integer token from the XFastTokenHandler
+ registered at the XFastParser.<br>
+
+ If the attribute name has a namespace that was registered with the
+ XFastParser, Token contains the integer token of the
+ attributes local name from the XFastTokenHandler and
+ the integer token of the namespace combined with an arithmetic
+ <b>or</b> operation.
+
+ @returns
+ The string value from the attribute or an empty string if the
+ attribute is not available.
+ */
+ string getOptionalValue( [in] long Token );
+
+ /** returns a sequence of attributes which names and or namespaces URLS
+ can not be translated to tokens.
+ */
+ sequence< ::com::sun::star::xml::Attribute > getUnknownAttributes();
+
+ /** returns a sequence of attributes which names and or namespaces URLS
+ are translated to tokens.
+ */
+ sequence< ::com::sun::star::xml::FastAttribute > getFastAttributes();
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/sax/XFastContextHandler.idl b/offapi/com/sun/star/xml/sax/XFastContextHandler.idl
new file mode 100644
index 000000000..da53a0ce7
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/XFastContextHandler.idl
@@ -0,0 +1,137 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_xml_sax_XFastContextHandler_idl__
+#define __com_sun_star_xml_sax_XFastContextHandler_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/xml/sax/SAXException.idl>
+
+#include <com/sun/star/xml/sax/XFastAttributeList.idl>
+
+#include <com/sun/star/xml/sax/XLocator.idl>
+
+
+
+module com { module sun { module star { module xml { module sax {
+
+
+/** receives notification of sax document events from a
+ XFastParser.
+
+ @see XFastDocumentHandler
+ */
+interface XFastContextHandler: com::sun::star::uno::XInterface
+{
+
+ /** receives notification of the beginning of an element .
+
+ @param Element
+ contains the integer token from the XFastTokenHandler
+ registered at the XFastParser.<br>
+
+ If the element has a namespace that was registered with the
+ XFastParser, <code>Element</code> contains the integer
+ token of the elements local name from the XFastTokenHandler
+ and the integer token of the namespace combined with an arithmetic
+ <b>or</b> operation.
+
+ @param Attribs
+ Contains a XFastAttributeList to access the attributes
+ from the element.
+
+ */
+ void startFastElement( [in] long Element, [in] XFastAttributeList Attribs )
+ raises( com::sun::star::xml::sax::SAXException );
+
+
+ /** receives notification of the beginning of an unknown element .
+
+ @param Namespace
+ contains the namespace url (not the prefix!) of this element.
+ @param Name
+ contains the elements local name.
+ @param Attribs
+ Contains a XFastAttributeList to access the attributes
+ from the element.
+ */
+ void startUnknownElement( [in] string Namespace, [in] string Name, [in] XFastAttributeList Attribs )
+ raises( com::sun::star::xml::sax::SAXException );
+
+
+ /** receives notification of the end of a known element.
+ @see startFastElement
+ */
+ void endFastElement( [in] long Element )
+ raises( com::sun::star::xml::sax::SAXException );
+
+
+ /** receives notification of the end of a known element.
+ @see startUnknownElement
+ */
+ void endUnknownElement( [in] string Namespace, [in] string Name )
+ raises( com::sun::star::xml::sax::SAXException );
+
+
+ /** receives notification of the beginning of a known child element.
+
+ @param Element
+ contains the integer token from the XFastTokenHandler
+ registered at the XFastParser.
+
+ <br>If the element has a namespace that was registered with the
+ XFastParser, <code>Element</code> contains the
+ integer token of the elements local name from the
+ XFastTokenHandler and the integer token of the
+ namespace combined with an arithmetic <b>or</b> operation.
+
+ @param Attribs
+ Contains a XFastAttributeList to access the attributes
+ from the element.
+ */
+ XFastContextHandler createFastChildContext( [in] long Element, [in] XFastAttributeList Attribs )
+ raises( com::sun::star::xml::sax::SAXException );
+
+
+ /** receives notification of the beginning of an unknown child element .
+
+ @param Namespace
+ contains the namespace url (not the prefix!) of this element.
+ @param Name
+ contains the elements local name.
+ @param Attribs
+ Contains a XFastAttributeList to access the attributes
+ the element.
+ */
+ XFastContextHandler createUnknownChildContext( [in] string Namespace, [in] string Name, [in] XFastAttributeList Attribs )
+ raises( com::sun::star::xml::sax::SAXException );
+
+
+ /** receives notification of character data.
+ */
+ void characters( [in] string aChars )
+ raises( com::sun::star::xml::sax::SAXException );
+ };
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/sax/XFastDocumentHandler.idl b/offapi/com/sun/star/xml/sax/XFastDocumentHandler.idl
new file mode 100644
index 000000000..27c68e221
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/XFastDocumentHandler.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_xml_sax_XFastDocumentHandler_idl__
+#define __com_sun_star_xml_sax_XFastDocumentHandler_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/xml/sax/SAXException.idl>
+
+#include <com/sun/star/xml/sax/XFastAttributeList.idl>
+#include <com/sun/star/xml/sax/XFastContextHandler.idl>
+#include <com/sun/star/xml/sax/XLocator.idl>
+
+
+
+module com { module sun { module star { module xml { module sax {
+
+
+/** receives notification of sax document events from a
+ XFastParser
+ */
+interface XFastDocumentHandler: XFastContextHandler
+{
+
+ /** called by the parser when parsing of an XML stream is started.
+ */
+ void startDocument()
+ raises( com::sun::star::xml::sax::SAXException );
+
+
+ /** called by the parser after the last XML element of a stream is processed.
+ */
+ void endDocument()
+ raises( com::sun::star::xml::sax::SAXException );
+
+
+ /** receives notification of a processing instruction.
+ @since LibreOffice 6.0
+ */
+ void processingInstruction( [in] string aTarget, [in] string aData )
+ raises( com::sun::star::xml::sax::SAXException );
+
+
+ /** receives an object for locating the origin of SAX document events.
+ */
+ void setDocumentLocator( [in] com::sun::star::xml::sax::XLocator xLocator )
+ raises( com::sun::star::xml::sax::SAXException );
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/sax/XFastNamespaceHandler.idl b/offapi/com/sun/star/xml/sax/XFastNamespaceHandler.idl
new file mode 100644
index 000000000..c427325f0
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/XFastNamespaceHandler.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_xml_sax_XFastNamespaceHandler_idl__
+#define __com_sun_star_xml_sax_XFastNamespaceHandler_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module xml { module sax {
+
+/** Stores and manages namespace declarations of a sax
+ document parsed by XFastParser.
+
+ @since LibreOffice 5.3
+ */
+interface XFastNamespaceHandler: com::sun::star::uno::XInterface
+{
+
+ /** receives notification of namespace declarations
+ from a XFastParser.
+ */
+ void registerNamespace( [in] string NamespacePrefix, [in] string NamespaceURI );
+
+
+ /** retrieves the namespace URI of a namespace prefix
+ */
+ string getNamespaceURI( [in] string NamespacePrefix );
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/sax/XFastParser.idl b/offapi/com/sun/star/xml/sax/XFastParser.idl
new file mode 100644
index 000000000..9d4439144
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/XFastParser.idl
@@ -0,0 +1,176 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_xml_sax_XFastParser_idl__
+#define __com_sun_star_xml_sax_XFastParser_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/xml/sax/InputSource.idl>
+
+#include <com/sun/star/xml/sax/SAXException.idl>
+
+#include <com/sun/star/io/IOException.idl>
+
+#include <com/sun/star/xml/sax/XFastDocumentHandler.idl>
+#include <com/sun/star/xml/sax/XFastTokenHandler.idl>
+#include <com/sun/star/xml/sax/XErrorHandler.idl>
+
+#include <com/sun/star/xml/sax/XDTDHandler.idl>
+
+#include <com/sun/star/xml/sax/XEntityResolver.idl>
+
+#include <com/sun/star/lang/Locale.idl>
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+#include <com/sum/star/xml/sax/XFastNamespaceHandler.idl>
+
+#include <com/sun/star/beans/Pair.idl>
+
+
+module com { module sun { module star { module xml { module sax {
+
+
+/** specifies a SAX parser that uses integer values for known XML names
+ (elements, attributes and attribute values). The parser also handles
+ namespaces and allows to have individual contexts for each XML element.
+
+ <p>Before parsing is possible you have to set your
+ XFastDocumentHandler using setFastDocumentHandler().
+
+ <p>Parsing starts with calling parseStream(). If the parser
+ finds a valid XML file with the given InputSource, it calls
+ XFastDocumentHandler::startDocument() first.
+
+ <p>This parser generates either "fast" events that use integer token
+ values for namespaces, elements and attributes or "unknown" events for
+ elements that are unknown.
+
+ <p>A namespace is unknown if the namespace URL was not registered with
+ registerNamespace().
+
+ <p>An element is unknown if no XFastTokenHandler is set
+ or if the XFastTokenHandler does not return a valid
+ identifier for the elements local name. An element is also unknown if
+ the elements local name is known but it uses a namespace that is unknown.
+
+ <p>Setting a XFastTokenHandler with setTokenHandler()
+ is optional, but without a XFastTokenHandler you will only
+ get unknown sax events. This can be useful if you are only interested
+ in the namespace handling and/or the context feature.
+
+ <p>For each element the parser sends a create child element event to the
+ elements parent context by calling
+ XFastContextHandler::createFastChildContext() for known
+ elements or XFastContextHandler::createUnknownChildContext()
+ for unknown elements.
+ <br>The parent context for the root element is the XFastDocumentHandler
+ itself.
+
+ <p>If the parent context returns an empty reference, no further events for
+ the element and all of its children are created.
+
+ <p>If a valid context is returned this context gets a start event by a call to
+ XFastContextHandler::startFastElement() for known elements or
+ XFastContextHandler::startUnknownElement() for unknown elements.
+
+ <p>After processing all its child elements the context gets an end event by a call to
+ XFastContextHandler::endFastElement() for known elements or
+ XFastContextHandler::endUnknownElement() for unknown elements.
+
+ <p>It is valid to return one instance of XFastContextHandler more
+ than once. It is even possible to only use the XFastDocumentHandler
+ by always returning a reference to itself for each create child context event.
+
+ <p>After the last element is processed the parser generates an end document
+ event at the XFastDocumentHandler by calling
+ XFastDocumentHandler::endDocument().
+
+ @see http://wiki.openoffice.org/wiki/FastParser
+*/
+interface XFastParser: com::sun::star::uno::XInterface
+{
+ /** parses an XML document from a stream.
+
+ <p>Set the desired handlers before calling this method.</p>
+ */
+ void parseStream( [in] InputSource aInputSource )
+ raises( SAXException, com::sun::star::io::IOException );
+
+
+ /** Application must register a document event handler to get
+ sax events for the parsed stream.
+ */
+ void setFastDocumentHandler( [in] XFastDocumentHandler Handler );
+
+
+ /** must be registered to translate known XML names to integer tokens.
+ */
+ void setTokenHandler( [in] XFastTokenHandler Handler );
+
+
+ /** registers a known namespace url with the given integer token.<br>
+ @param NamespaceURL the namespace URL.
+ @param NamespaceToken
+ an integer token that must be greater than FastToken::NAMESPACE.
+ */
+ void registerNamespace( [in] string NamespaceURL, [in] long NamespaceToken )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** allows an application to register an error event handler.
+
+ <p>Note that the error handler can throw an exception when an error or
+ warning occurs. Note that an exception is thrown by the parser when
+ an unrecoverable (fatal) error occurs.</p>
+ */
+ void setErrorHandler( [in] XErrorHandler Handler );
+
+ /** allows an application to register a DTD-Handler.
+ */
+ void setEntityResolver( [in] XEntityResolver Resolver );
+
+ /** sets a locale specified for localization of warnings and error messages.
+
+ <p>Set the language of the error messages. Useful when the parsing
+ errors will be presented to the user.</p>
+ */
+ void setLocale( [in] com::sun::star::lang::Locale locale );
+
+ /** Gets the namespace url string.
+ */
+ string getNamespaceURL( [in] string prefix )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** @since LibreOffice 5.3 */
+ void setNamespaceHandler( [in] XFastNamespaceHandler Handler);
+
+ /**
+ * Simulate a DTD file.
+ * Will allow to use customized entity references like &infin; .
+ * @since LibreOffice 7.1
+ */
+ void setCustomEntityNames( [in] sequence< beans::Pair<string,string> > replacements);
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/sax/XFastSAXSerializable.idl b/offapi/com/sun/star/xml/sax/XFastSAXSerializable.idl
new file mode 100644
index 000000000..16f2bfeeb
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/XFastSAXSerializable.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_xml_sax_XFastSAXSerializable_idl__
+#define __com_sun_star_xml_sax_XFastSAXSerializable_idl__
+
+#include <com/sun/star/xml/sax/XFastDocumentHandler.idl>
+#include <com/sun/star/xml/sax/XFastTokenHandler.idl>
+#include <com/sun/star/beans/StringPair.idl>
+#include <com/sun/star/beans/Pair.idl>
+
+module com { module sun { module star { module xml { module sax {
+
+/** serializes a DOM tree by generating FastSAX events.
+
+ <p>
+ </p>
+
+ @since OOo 3.1
+
+*/
+interface XFastSAXSerializable
+{
+
+ /** serializes an object (e.g. a DOM tree) that represents an XML document
+ by generating fast SAX events.
+
+ @param handler
+ the SAX event handler that should receive the generated events
+ @param tokenHandler
+ the fast SAX token handler that is used to translate names
+ @param namespaces
+ a list of namespace declarations that will be added to the root
+ element node of the XML document
+ <p>
+ This is necessary mostly because the DOM implementation does
+ not permit attaching namespaces declarations directly to nodes,
+ which may lead to duplicate namespace declarations on export,
+ and thus larger documents.
+ Note that the first part of each tuple is the prefix,
+ e.g. "office", and the second is the numeric namespace identifier.
+ </p>
+ @param registerNamespaces
+ a list of namespace url / namespace token pairs. you need
+ to register all namespace in order to have them recognized
+ during export. Namespace tokens must be greater than
+ FastToken::NAMESPACE.
+ </p>
+
+ @throws com::sun::star::xml::sax::SAXException
+ if serializing the XML document fails
+ */
+ void fastSerialize([in] com::sun::star::xml::sax::XFastDocumentHandler handler,
+ [in] com::sun::star::xml::sax::XFastTokenHandler tokenHandler,
+ [in] sequence< com::sun::star::beans::StringPair > namespaces,
+ [in] sequence< com::sun::star::beans::Pair<string, long> > registerNamespaces)
+ raises( com::sun::star::xml::sax::SAXException );
+};
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/sax/XFastTokenHandler.idl b/offapi/com/sun/star/xml/sax/XFastTokenHandler.idl
new file mode 100644
index 000000000..d6bb02889
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/XFastTokenHandler.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_xml_sax_XFastTokenHandler_idl__
+#define __com_sun_star_xml_sax_XFastTokenHandler_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module xml { module sax {
+
+
+/** interface to translate XML strings to integer tokens.
+
+ <p>An instance of this interface can be registered at a XFastParser.
+ It should be able to translate all XML names (element local names,
+ attribute local names and constant attribute values) to integer tokens.
+
+ A token value must be greater or equal to zero and less than
+ FastToken::NAMESPACE. If a string identifier is not known
+ to this instance, FastToken::DONTKNOW is returned.
+ */
+interface XFastTokenHandler: com::sun::star::uno::XInterface
+{
+
+ /** returns an integer token for the given string
+
+ @param Identifier
+ the string given as a byte sequence encoded in UTF-8
+
+ @returns
+ a unique integer token for the given String or FastToken::DONTKNOW
+ if the identifier is not known to this instance.
+ */
+ long getTokenFromUTF8( [in] sequence< byte > Identifier );
+
+
+ /** returns an identifier for the given integer token as a byte
+ sequence encoded in UTF-8.
+ */
+ sequence< byte > getUTF8Identifier( [in] long Token );
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/sax/XLocator.idl b/offapi/com/sun/star/xml/sax/XLocator.idl
new file mode 100644
index 000000000..65d601da4
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/XLocator.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_xml_sax_XLocator_idl__
+#define __com_sun_star_xml_sax_XLocator_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+module com { module sun { module star { module xml { module sax {
+
+
+/** makes it possible to associate a SAX event with a document location.
+
+ <p>This interface is an IDL version of the Java interface
+ <em>org.xml.sax.Locator</em>.</p>
+ */
+published interface XLocator: com::sun::star::uno::XInterface
+{
+ /** @returns
+ the column number where the current document event ends.
+ */
+ long getColumnNumber();
+
+ /** @returns
+ the line number where the current document event ends.
+ */
+ long getLineNumber();
+
+ /** @returns
+ the public identifier for the current document event.
+ */
+ string getPublicId();
+
+ /** @returns
+ the system identifier for the current document event.
+ */
+ string getSystemId();
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/sax/XParser.idl b/offapi/com/sun/star/xml/sax/XParser.idl
new file mode 100644
index 000000000..8b770dab0
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/XParser.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_xml_sax_XParser_idl__
+#define __com_sun_star_xml_sax_XParser_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/xml/sax/InputSource.idl>
+
+#include <com/sun/star/xml/sax/SAXException.idl>
+
+#include <com/sun/star/io/IOException.idl>
+
+#include <com/sun/star/xml/sax/XDocumentHandler.idl>
+
+#include <com/sun/star/xml/sax/XErrorHandler.idl>
+
+#include <com/sun/star/xml/sax/XDTDHandler.idl>
+
+#include <com/sun/star/xml/sax/XEntityResolver.idl>
+
+#include <com/sun/star/lang/Locale.idl>
+
+
+
+module com { module sun { module star { module xml { module sax {
+
+
+/** specifies a SAX parser.
+
+ <p>This interface is an IDL version of the Java interface
+ <em>org.xml.sax.Parser</em> with some minor adaptations.</p>
+ */
+published interface XParser: com::sun::star::uno::XInterface
+{
+ /** parses an XML document from a stream.
+
+ <p>Set the desired handlers before calling this method.</p>
+ */
+ void parseStream( [in] com::sun::star::xml::sax::InputSource aInputSource )
+ raises( com::sun::star::xml::sax::SAXException,
+ com::sun::star::io::IOException );
+
+ /** allows an application to register a document event handler.
+ */
+ void setDocumentHandler( [in] com::sun::star::xml::sax::XDocumentHandler xHandler );
+
+ /** allows an application to register an error event handler.
+
+ <p>Note that the error handler can throw an exception when an error or
+ warning occurs. Note that an exception is thrown by the parser when
+ an unrecoverable (fatal) error occurs.</p>
+ */
+ void setErrorHandler( [in] com::sun::star::xml::sax::XErrorHandler xHandler );
+
+ /** allows an application to register a DTD-Handler.
+ */
+ void setDTDHandler( [in] com::sun::star::xml::sax::XDTDHandler xHandler );
+
+ /** allows an application to register a DTD-Handler.
+ */
+ void setEntityResolver( [in] com::sun::star::xml::sax::XEntityResolver xResolver );
+
+ /** sets a locale specified for localization of warnings and error messages.
+
+ <p>Set the language of the error messages. Useful when the parsing
+ errors will be presented to the user.</p>
+ */
+ void setLocale( [in] com::sun::star::lang::Locale locale );
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/sax/XSAXSerializable.idl b/offapi/com/sun/star/xml/sax/XSAXSerializable.idl
new file mode 100644
index 000000000..ebba020b1
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/XSAXSerializable.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_xml_sax_XSAXSerializable_idl__
+#define __com_sun_star_xml_sax_XSAXSerializable_idl__
+
+#include <com/sun/star/xml/sax/XDocumentHandler.idl>
+#include <com/sun/star/beans/StringPair.idl>
+
+module com { module sun { module star { module xml { module sax {
+
+/** serializes a DOM tree by generating SAX events.
+
+ <p>
+ </p>
+
+ @since OOo 3.0
+
+*/
+interface XSAXSerializable
+{
+
+ /** serializes an object (e.g. a DOM tree) that represents an XML document
+ by generating SAX events.
+
+ @param handler
+ the SAX event handler that should receive the generated events
+ @param namespaces
+ a list of namespace declarations that will be added to the root
+ element node of the XML document
+ <p>
+ This is necessary mostly because the DOM implementation does
+ not permit attaching namespaces declarations directly to nodes,
+ which may lead to duplicate namespace declarations on export,
+ and thus larger documents.
+ Note that the first part of each tuple is the prefix,
+ e.g. "office", and the second is the full namespace URI.
+ </p>
+
+ @throws com::sun::star::xml::sax::SAXException
+ if serializing the XML document fails
+ */
+ void serialize([in] com::sun::star::xml::sax::XDocumentHandler handler,
+ [in] sequence< com::sun::star::beans::StringPair > namespaces)
+ raises( com::sun::star::xml::sax::SAXException );
+
+};
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/sax/XWriter.idl b/offapi/com/sun/star/xml/sax/XWriter.idl
new file mode 100644
index 000000000..62d3d7425
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/XWriter.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_xml_sax_XWriter_idl__
+#define __com_sun_star_xml_sax_XWriter_idl__
+
+#include <com/sun/star/io/XActiveDataSource.idl>
+#include <com/sun/star/xml/sax/XExtendedDocumentHandler.idl>
+#include <com/sun/star/beans/Pair.idl>
+
+module com { module sun { module star { module xml { module sax {
+
+
+/**
+ Provides a unified interface for the new-style Writer service to implement.
+
+ @since LibreOffice 4.0
+ */
+interface XWriter
+{
+ interface com::sun::star::io::XActiveDataSource;
+ interface com::sun::star::xml::sax::XExtendedDocumentHandler;
+
+ /** Adds support for custom entity names list
+ * @since LibreOffice 7.2
+ */
+ void setCustomEntityNames( [in] sequence< com::sun::star::beans::Pair<string,string> > replacements );
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/wrapper/XMLDocumentWrapper.idl b/offapi/com/sun/star/xml/wrapper/XMLDocumentWrapper.idl
new file mode 100644
index 000000000..753403555
--- /dev/null
+++ b/offapi/com/sun/star/xml/wrapper/XMLDocumentWrapper.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_xml_wrapper_xmldocumentwrapper_idl_
+#define __com_sun_star_xml_wrapper_xmldocumentwrapper_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+#include <com/sun/star/xml/wrapper/XXMLDocumentWrapper.idl>
+#include <com/sun/star/lang/XInitialization.idl>
+
+module com { module sun { module star { module xml { module wrapper {
+
+/**
+ * Service of XMLDocumentWrapper
+ */
+service XMLDocumentWrapper {
+ interface com::sun::star::xml::wrapper::XXMLDocumentWrapper ;
+ interface com::sun::star::lang::XInitialization ;
+};
+
+} ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/wrapper/XMLElementWrapper.idl b/offapi/com/sun/star/xml/wrapper/XMLElementWrapper.idl
new file mode 100644
index 000000000..c48fd68df
--- /dev/null
+++ b/offapi/com/sun/star/xml/wrapper/XMLElementWrapper.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_xml_wrapper_xmlelementwrapper_idl_
+#define __com_sun_star_xml_wrapper_xmlelementwrapper_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+#include <com/sun/star/xml/wrapper/XXMLElementWrapper.idl>
+#include <com/sun/star/lang/XUnoTunnel.idl>
+#include <com/sun/star/lang/XInitialization.idl>
+
+module com { module sun { module star { module xml { module wrapper {
+
+/**
+ * Service of XMLElementWrapper
+ */
+service XMLElementWrapper {
+ interface com::sun::star::xml::wrapper::XXMLElementWrapper ;
+ interface com::sun::star::lang::XUnoTunnel;
+ interface com::sun::star::lang::XInitialization ;
+};
+
+} ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/wrapper/XXMLDocumentWrapper.idl b/offapi/com/sun/star/xml/wrapper/XXMLDocumentWrapper.idl
new file mode 100644
index 000000000..6be5167f0
--- /dev/null
+++ b/offapi/com/sun/star/xml/wrapper/XXMLDocumentWrapper.idl
@@ -0,0 +1,164 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_xml_wrapper_xxmldocumentwrapper_idl_
+#define __com_sun_star_xml_wrapper_xxmldocumentwrapper_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+#include <com/sun/star/xml/sax/XDocumentHandler.idl>
+
+module com { module sun { module star { module xml { module wrapper {
+
+interface XXMLElementWrapper;
+
+/**
+ * Interface of XML Document Wrapper.
+ * <p>
+ * When converting SAX events into a DOM tree, this interface is
+ * used to manipulate the DOM data in UNO perspective.
+ * <p>
+ * Every language has its own methods to manipulate its native DOM
+ * data structure, this interface provides a common method set which
+ * each language have to implement.
+ * <p>
+ * In another word, this interface wraps language dependent methods,
+ * then other component can manipulate DOM data through UNO methods.
+ */
+interface XXMLDocumentWrapper : com::sun::star::uno::XInterface
+{
+ /**
+ * Gets the current element.
+ *
+ * @return the current element in the SAX event stream
+ */
+ XXMLElementWrapper getCurrentElement();
+
+ /**
+ * Sets the current element.
+ * <p>
+ * When the current element is replaced outside of this interface, then
+ * uses this method can update the current element pointer.
+ *
+ * @param element the new current element
+ */
+ void setCurrentElement([in] XXMLElementWrapper element);
+
+ /**
+ * Removes the current element.
+ * <p>
+ * When the current element is removed, then its parent element becomes
+ * the new current element.
+ */
+ void removeCurrentElement();
+
+ /**
+ * Checks whether an element is the current element.
+ *
+ * @param node the element to be checked
+ * @return <code>true</code> if the node is the current element,
+ * <code>false</code> otherwise
+ */
+ boolean isCurrent([in] XXMLElementWrapper node);
+
+ /**
+ * Checks whether the current element is empty.
+ *
+ * @return <code>true</code> if the current element is empty,
+ * <code>false</code> otherwise
+ */
+ boolean isCurrentElementEmpty();
+
+ /**
+ * Gets the name of the element.
+ *
+ * @param node the element whose name will be gotten
+ * @return the name of the element
+ */
+ string getNodeName([in] XXMLElementWrapper node);
+
+ /**
+ * Clears all useless element in a branch of the DOM tree along the
+ * tree order.
+ *
+ * @param node the start point of the branch to clear
+ * @param reservedDescendants an array including all elements that
+ * need to be reserved (along their
+ * ancestor path)
+ * @param stopAtNode the stop element. The operation have
+ * to interrupt when this element is met
+ * during clearing
+ */
+ void clearUselessData(
+ [in] XXMLElementWrapper node,
+ [in] sequence< XXMLElementWrapper > reservedDescendants,
+ [in] XXMLElementWrapper stopAtNode);
+
+ /**
+ * Collapses a tree path
+ * <p>
+ * Each element in the ancestor path of the node will be checked,
+ * if this element is empty, then deletes it.
+ *
+ * @param node the start point of the path from where the tree
+ * path will be collapsed
+ */
+ void collapse([in] XXMLElementWrapper node);
+
+ /**
+ * Converts a part of the DOM tree into SAX events.
+ *
+ * @param handler the document handler which will receive
+ * generated SAX events
+ * @param saxEventKeeperHandler the SAXEventKeeper connecting with
+ * this XMLDocumentHandler
+ * @param startNode the start point to generate SAX events
+ * @param endNode the end point where to stop generating
+ */
+ void generateSAXEvents(
+ [in] com::sun::star::xml::sax::XDocumentHandler handler,
+ [in] com::sun::star::xml::sax::XDocumentHandler saxEventKeeperHandler,
+ [in] XXMLElementWrapper startNode,
+ [in] XXMLElementWrapper endNode)
+ raises( com::sun::star::xml::sax::SAXException );
+
+ /**
+ * Converts the whole DOM tree into a SAX event stream.
+ *
+ * @param handler the document handler which will receive the SAX event
+ * stream
+ */
+ void getTree([in] com::sun::star::xml::sax::XDocumentHandler handler)
+ raises( com::sun::star::xml::sax::SAXException );
+
+ /**
+ * Rebuild the ID attribute in the branch starting from the particular
+ * element.
+ *
+ * @param node the root element of the branch whose ID link will be
+ * built
+ */
+ void rebuildIDLink([in] XXMLElementWrapper node);
+};
+
+} ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/wrapper/XXMLElementWrapper.idl b/offapi/com/sun/star/xml/wrapper/XXMLElementWrapper.idl
new file mode 100644
index 000000000..abddd84b3
--- /dev/null
+++ b/offapi/com/sun/star/xml/wrapper/XXMLElementWrapper.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_xml_wrapper_xxmlelementwrapper_idl_
+#define __com_sun_star_xml_wrapper_xxmlelementwrapper_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+
+module com { module sun { module star { module xml { module wrapper {
+
+/**
+ * Interface of XML Element Wrapper.
+ * <p>
+ * This interface is used to wrap an element information, which
+ * make it enable to transfer the element information between
+ * different languages, such as C++/Java.
+ */
+interface XXMLElementWrapper : com::sun::star::uno::XInterface
+{
+} ;
+
+} ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/xpath/Libxml2ExtensionHandle.idl b/offapi/com/sun/star/xml/xpath/Libxml2ExtensionHandle.idl
new file mode 100644
index 000000000..da2b33019
--- /dev/null
+++ b/offapi/com/sun/star/xml/xpath/Libxml2ExtensionHandle.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_xml_xpath_Libxml2ExtensionHandle_idl__
+#define __com_sun_star_xml_xpath_Libxml2ExtensionHandle_idl__
+
+
+ module com { module sun { module star { module xml { module xpath {
+
+
+struct Libxml2ExtensionHandle
+{
+ hyper functionLookupFunction;
+ hyper functionData;
+ hyper variableLookupFunction;
+ hyper variableData;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/xpath/XPathAPI.idl b/offapi/com/sun/star/xml/xpath/XPathAPI.idl
new file mode 100644
index 000000000..694a07758
--- /dev/null
+++ b/offapi/com/sun/star/xml/xpath/XPathAPI.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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_xml_xpath_XPathAPI_idl__
+#define __com_sun_star_xml_xpath_XPathAPI_idl__
+
+#include <com/sun/star/xml/xpath/XXPathAPI.idl>
+
+module com { module sun { module star { module xml { module xpath {
+
+service XPathAPI : XXPathAPI;
+
+};};};};};
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/xpath/XPathException.idl b/offapi/com/sun/star/xml/xpath/XPathException.idl
new file mode 100644
index 000000000..803a1e188
--- /dev/null
+++ b/offapi/com/sun/star/xml/xpath/XPathException.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_xml_XPath_XPathException_idl__
+#define __com_sun_star_xml_XPath_XPathException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+module com { module sun { module star { module xml { module xpath {
+
+/** Exception that may occur when evaluating an XPath expression.
+
+ @since OOo 3.0
+
+ @see XXPathAPI
+ */
+exception XPathException : com::sun::star::uno::Exception
+{
+};
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/xpath/XPathExtension.idl b/offapi/com/sun/star/xml/xpath/XPathExtension.idl
new file mode 100644
index 000000000..23b95e48c
--- /dev/null
+++ b/offapi/com/sun/star/xml/xpath/XPathExtension.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_xml_xpath_XPathExtension_idl__
+#define __com_sun_star_xml_xpath_XPathExtension_idl__
+
+#include <com/sun/star/xforms/XModel.idl>
+#include <com/sun/star/xml/xpath/XXPathExtension.idl>
+#include <com/sun/star/xml/dom/XNode.idl>
+
+module com { module sun { module star { module xml { module xpath {
+
+service XPathExtension : XXPathExtension
+{
+ createWithModel([in] com::sun::star::xforms::XModel Model, [in] com::sun::star::xml::dom::XNode ContextNode);
+};
+
+};};};};};
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/xpath/XPathObjectType.idl b/offapi/com/sun/star/xml/xpath/XPathObjectType.idl
new file mode 100644
index 000000000..2cefe678e
--- /dev/null
+++ b/offapi/com/sun/star/xml/xpath/XPathObjectType.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_xml_XPath_XPathObjectType_idl__
+#define __com_sun_star_xml_XPath_XPathObjectType_idl__
+
+module com { module sun { module star { module xml { module xpath {
+
+
+enum XPathObjectType
+{
+ XPATH_UNDEFINED,
+ XPATH_NODESET,
+ XPATH_BOOLEAN,
+ XPATH_NUMBER,
+ XPATH_STRING,
+ XPATH_POINT,
+ XPATH_RANGE,
+ XPATH_LOCATIONSET,
+ XPATH_USERS,
+ XPATH_XSLT_TREE
+
+};
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/xpath/XXPathAPI.idl b/offapi/com/sun/star/xml/xpath/XXPathAPI.idl
new file mode 100644
index 000000000..e400abff1
--- /dev/null
+++ b/offapi/com/sun/star/xml/xpath/XXPathAPI.idl
@@ -0,0 +1,189 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_xml_XPath_XXPathAPI_idl__
+#define __com_sun_star_xml_XPath_XXPathAPI_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/xml/dom/XNode.idl>
+#include <com/sun/star/xml/dom/XNodeList.idl>
+#include <com/sun/star/xml/xpath/XXPathObject.idl>
+#include <com/sun/star/xml/xpath/XXPathExtension.idl>
+#include <com/sun/star/xml/xpath/XPathException.idl>
+
+
+module com { module sun { module star { module xml { module xpath {
+
+
+interface XXPathAPI : com::sun::star::uno::XInterface
+{
+
+ void registerNS(
+ [in] string prefix,
+ [in] string url);
+
+ void unregisterNS(
+ [in] string prefix,
+ [in] string url);
+
+ void registerExtension( [in] string serviceName );
+ void registerExtensionInstance(
+ [in] com::sun::star::xml::xpath::XXPathExtension aExtension);
+
+ /** Evaluate XPath Expression.
+
+ @param contextNode
+ the context node (expression is relative to this node)
+
+ @param expr
+ the XPath expression
+
+ @throws XPathException
+ if the expression is malformed, or evaluation fails
+
+ @returns
+ an object representing the result of the XPath evaluation
+
+ @see XXPathObject
+ */
+ XXPathObject eval(
+ [in] com::sun::star::xml::dom::XNode contextNode,
+ [in] string expr)
+ raises( com::sun::star::xml::xpath::XPathException );
+
+ /** Evaluate XPath Expression.
+
+ @param contextNode
+ the context node (expression is relative to this node)
+
+ @param expr
+ the XPath expression
+
+ @param namespaceNode
+ all namespaces declared on this node will be registered
+
+ @throws XPathException
+ if the expression is malformed, or evaluation fails
+
+ @returns
+ an object representing the result of the XPath evaluation
+
+ @see XXPathObject
+ */
+ XXPathObject evalNS(
+ [in] com::sun::star::xml::dom::XNode contextNode,
+ [in] string expr,
+ [in] com::sun::star::xml::dom::XNode namespaceNode)
+ raises( com::sun::star::xml::xpath::XPathException );
+
+ /** Evaluate an XPath expression to select a list of nodes.
+
+ @param contextNode
+ the context node (expression is relative to this node)
+
+ @param expr
+ the XPath expression
+
+ @throws XPathException
+ if the expression is malformed, or evaluation fails
+
+ @returns
+ result of the XPath evaluation: a list of nodes
+
+ @see XNodeList
+ */
+ com::sun::star::xml::dom::XNodeList selectNodeList(
+ [in] com::sun::star::xml::dom::XNode contextNode,
+ [in] string expr)
+ raises( com::sun::star::xml::xpath::XPathException );
+
+ /** Evaluate an XPath expression to select a list of nodes.
+
+ @param contextNode
+ the context node (expression is relative to this node)
+
+ @param expr
+ the XPath expression
+
+ @param namespaceNode
+ all namespaces declared on this node will be registered
+
+ @throws XPathException
+ if the expression is malformed, or evaluation fails
+
+ @returns
+ result of the XPath evaluation: a list of nodes
+
+ @see XNodeList
+ */
+ com::sun::star::xml::dom::XNodeList selectNodeListNS(
+ [in] com::sun::star::xml::dom::XNode contextNode,
+ [in] string expr,
+ [in] com::sun::star::xml::dom::XNode namespaceNode)
+ raises( com::sun::star::xml::xpath::XPathException );
+
+ /** Evaluate an XPath expression to select a single node.
+
+ @param contextNode
+ the context node (expression is relative to this node)
+
+ @param expr
+ the XPath expression
+
+ @throws XPathException
+ if the expression is malformed, or evaluation fails
+
+ @returns
+ result of the XPath evaluation: a single node
+ */
+ com::sun::star::xml::dom::XNode selectSingleNode(
+ [in] com::sun::star::xml::dom::XNode contextNode,
+ [in] string expr)
+ raises( com::sun::star::xml::xpath::XPathException );
+
+ /** Evaluate an XPath expression to select a single node.
+
+ @param contextNode
+ the context node (expression is relative to this node)
+
+ @param expr
+ the XPath expression
+
+ @param namespaceNode
+ all namespaces declared on this node will be registered
+
+ @throws XPathException
+ if the expression is malformed, or evaluation fails
+
+ @returns
+ result of the XPath evaluation: a single node
+ */
+ com::sun::star::xml::dom::XNode selectSingleNodeNS(
+ [in] com::sun::star::xml::dom::XNode contextNode,
+ [in] string expr,
+ [in] com::sun::star::xml::dom::XNode namespaceNode)
+ raises( com::sun::star::xml::xpath::XPathException );
+
+};
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/xpath/XXPathExtension.idl b/offapi/com/sun/star/xml/xpath/XXPathExtension.idl
new file mode 100644
index 000000000..10fdabc92
--- /dev/null
+++ b/offapi/com/sun/star/xml/xpath/XXPathExtension.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_xml_XPath_XXPathExtension_idl__
+#define __com_sun_star_xml_XPath_XXPathExtension_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/xml/xpath/Libxml2ExtensionHandle.idl>
+
+module com { module sun { module star { module xml { module xpath {
+
+
+interface XXPathExtension : com::sun::star::uno::XInterface
+{
+ Libxml2ExtensionHandle getLibxml2ExtensionHandle();
+};
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/xpath/XXPathObject.idl b/offapi/com/sun/star/xml/xpath/XXPathObject.idl
new file mode 100644
index 000000000..b101710d2
--- /dev/null
+++ b/offapi/com/sun/star/xml/xpath/XXPathObject.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_xml_XPath_XXPathObject_idl__
+#define __com_sun_star_xml_XPath_XXPathObject_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/xml/dom/XNode.idl>
+#include <com/sun/star/xml/dom/XNodeList.idl>
+#include <com/sun/star/xml/xpath/XPathObjectType.idl>
+
+module com { module sun { module star { module xml { module xpath {
+
+
+interface XXPathObject : com::sun::star::uno::XInterface
+{
+ /**
+ get object type
+ */
+ XPathObjectType getObjectType();
+
+ /**
+ get the nodes from a node list type object
+ */
+ com::sun::star::xml::dom::XNodeList getNodeList();
+
+ /**
+ get value of a boolean object
+ */
+ boolean getBoolean();
+
+ /**
+ get number as byte
+ */
+ byte getByte();
+
+ /**
+ get number as short
+ */
+ short getShort();
+
+ /**
+ get number as long
+ */
+ long getLong();
+
+ /**
+ get number as hyper
+ */
+ hyper getHyper();
+
+ /**
+ get number as float
+ */
+ float getFloat();
+
+ /**
+ get number as double
+ */
+ double getDouble();
+
+ /**
+ get string value
+ */
+ string getString();
+};
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/xslt/XSLT2Transformer.idl b/offapi/com/sun/star/xml/xslt/XSLT2Transformer.idl
new file mode 100644
index 000000000..c658cd858
--- /dev/null
+++ b/offapi/com/sun/star/xml/xslt/XSLT2Transformer.idl
@@ -0,0 +1,30 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.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_XML_XSLT_XSLT2TRANSFORMER_IDL__
+#define __COM_SUN_STAR_XML_XSLT_XSLT2TRANSFORMER_IDL__
+
+#include <com/sun/star/xml/xslt/XXSLTTransformer.idl>
+
+module com { module sun { module star { module xml { module xslt {
+
+/** Get XSLT filter transformer supporting XSLT 2.0.
+
+ @since LibreOffice 4.0
+ */
+service XSLT2Transformer : XXSLTTransformer
+{
+ create([in] sequence<any> args);
+};
+
+}; }; }; }; };
+
+#endif // INCLUDED_COM_SUN_STAR_XML_XSLT_XSLT2TRANSFORMER_IDL
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/xslt/XSLTTransformer.idl b/offapi/com/sun/star/xml/xslt/XSLTTransformer.idl
new file mode 100644
index 000000000..52ebe1f87
--- /dev/null
+++ b/offapi/com/sun/star/xml/xslt/XSLTTransformer.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_XML_XSLT_XSLTTRANSFORMER_IDL__
+#define __COM_SUN_STAR_XML_XSLT_XSLTTRANSFORMER_IDL__
+
+#include <com/sun/star/xml/xslt/XXSLTTransformer.idl>
+
+module com { module sun { module star { module xml { module xslt {
+
+/** Get unspecified XSLT filter transformer.
+
+ <p>It is not safe to expect support for any features except XSLT 1.0 .
+
+ @since LibreOffice 4.0
+ */
+service XSLTTransformer : XXSLTTransformer
+{
+ create([in] sequence<any> args);
+};
+
+}; }; }; }; };
+
+#endif // INCLUDED_COM_SUN_STAR_XML_XSLT_XSLTTRANSFORMER_IDL
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/xslt/XXSLTTransformer.idl b/offapi/com/sun/star/xml/xslt/XXSLTTransformer.idl
new file mode 100644
index 000000000..7671579f2
--- /dev/null
+++ b/offapi/com/sun/star/xml/xslt/XXSLTTransformer.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_XML_XSLT_XXSLTTRANSFORMER_IDL__
+#define __COM_SUN_STAR_XML_XSLT_XXSLTTRANSFORMER_IDL__
+
+#include <com/sun/star/io/XActiveDataControl.idl>
+#include <com/sun/star/io/XActiveDataSink.idl>
+#include <com/sun/star/io/XActiveDataSource.idl>
+#include <com/sun/star/lang/XInitialization.idl>
+
+module com { module sun { module star { module xml { module xslt {
+
+/** An interface for XSLT transformers.
+
+ @since LibreOffice 4.0
+ */
+interface XXSLTTransformer
+{
+ interface com::sun::star::io::XActiveDataControl;
+ interface com::sun::star::io::XActiveDataSink;
+ interface com::sun::star::io::XActiveDataSource;
+ interface com::sun::star::lang::XInitialization;
+};
+
+}; }; }; }; };
+
+#endif // INCLUDED_COM_SUN_STAR_XML_XSLT_XXSLTTRANSFORMER_IDL
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xsd/Boolean.idl b/offapi/com/sun/star/xsd/Boolean.idl
new file mode 100644
index 000000000..fe0e6c030
--- /dev/null
+++ b/offapi/com/sun/star/xsd/Boolean.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_xsd_Boolean_idl__
+#define __com_sun_star_xsd_Boolean_idl__
+
+#include <com/sun/star/xsd/XDataType.idl>
+
+module com { module sun { module star { module xsd {
+
+/** specifies an <a href="http://www.w3.org/TR/xmlschema-2/#boolean">XSD compliant boolean type</a>
+*/
+service Boolean
+{
+ /** provides access to common data type functionality
+ */
+ interface XDataType;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xsd/DataTypeClass.idl b/offapi/com/sun/star/xsd/DataTypeClass.idl
new file mode 100644
index 000000000..1d5395614
--- /dev/null
+++ b/offapi/com/sun/star/xsd/DataTypeClass.idl
@@ -0,0 +1,113 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_xsd_DataTypeClass_idl__
+#define __com_sun_star_xsd_DataTypeClass_idl__
+
+
+module com { module sun { module star { module xsd {
+
+
+/** These constants specify the class used of an XDataType
+*/
+constants DataTypeClass
+{
+ /** specifies an <a href="http://www.w3.org/TR/xmlschema-2/#string">XSD compliant string type</a>
+ */
+ const short STRING = 1;
+
+ /** specifies an <a href="http://www.w3.org/TR/xmlschema-2/#boolean">XSD compliant boolean type</a>
+ */
+ const short BOOLEAN = 2;
+
+ /** specifies an <a href="http://www.w3.org/TR/xmlschema-2/#decimal">XSD compliant decimal type</a>
+ */
+ const short DECIMAL = 3;
+
+ /** specifies an <a href="http://www.w3.org/TR/xmlschema-2/#float">XSD compliant float type</a>
+ */
+ const short FLOAT = 4;
+
+ /** specifies an <a href="http://www.w3.org/TR/xmlschema-2/#double">XSD compliant double type</a>
+ */
+ const short DOUBLE = 5;
+
+ /** specifies an <a href="http://www.w3.org/TR/xmlschema-2/#duration">XSD compliant duration type</a>
+ */
+ const short DURATION = 6;
+
+ /** specifies an <a href="http://www.w3.org/TR/xmlschema-2/#datetime">XSD compliant datetime type</a>
+ */
+ const short DATETIME = 7;
+
+ /** specifies an <a href="http://www.w3.org/TR/xmlschema-2/#time">XSD compliant time type</a>
+ */
+ const short TIME = 8;
+
+ /** specifies an <a href="http://www.w3.org/TR/xmlschema-2/#date">XSD compliant date type</a>
+ */
+ const short DATE = 9;
+
+ /** specifies an <a href="http://www.w3.org/TR/xmlschema-2/#gYearMonth">XSD compliant gYearMonth type</a>
+ */
+ const short gYearMonth = 10;
+
+ /** specifies an <a href="http://www.w3.org/TR/xmlschema-2/#gYear">XSD compliant gYear type</a>
+ */
+ const short gYear = 11;
+
+ /** specifies an <a href="http://www.w3.org/TR/xmlschema-2/#gMonthDay">XSD compliant gMonthDay type</a>
+ */
+ const short gMonthDay = 12;
+
+ /** specifies an <a href="http://www.w3.org/TR/xmlschema-2/#gDay">XSD compliant gDay type</a>
+ */
+ const short gDay = 13;
+
+ /** specifies an <a href="http://www.w3.org/TR/xmlschema-2/#gMonth">XSD compliant gMonth type</a>
+ */
+ const short gMonth = 14;
+
+ /** specifies an <a href="http://www.w3.org/TR/xmlschema-2/#hexBinary">XSD compliant hexBinary type</a>
+ */
+ const short hexBinary = 15;
+
+ /** specifies an <a href="http://www.w3.org/TR/xmlschema-2/#base64Binary">XSD compliant base64Binary type</a>
+ */
+ const short base64Binary = 16;
+
+ /** specifies an <a href="http://www.w3.org/TR/xmlschema-2/#anyURI">XSD compliant anyURI type</a>
+ */
+ const short anyURI = 17;
+
+ /** specifies an <a href="http://www.w3.org/TR/xmlschema-2/#QName">XSD compliant QName type</a>
+ */
+ const short QName = 18;
+
+ /** specifies an <a href="http://www.w3.org/TR/xmlschema-2/#NOTATION">XSD compliant NOTATION type</a>
+ */
+ const short NOTATION = 19;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xsd/Date.idl b/offapi/com/sun/star/xsd/Date.idl
new file mode 100644
index 000000000..514a11313
--- /dev/null
+++ b/offapi/com/sun/star/xsd/Date.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_xsd_Date_idl__
+#define __com_sun_star_xsd_Date_idl__
+
+#include <com/sun/star/xsd/XDataType.idl>
+#include <com/sun/star/util/Date.idl>
+
+module com { module sun { module star { module xsd {
+
+/** specifies an <a href="http://www.w3.org/TR/xmlschema-2/#date">XSD compliant date type</a>
+*/
+service Date
+{
+ /** provides access to common data type functionality
+ */
+ interface XDataType;
+
+ /** specifies the inclusive upper bound for the value
+ @see http://www.w3.org/TR/xmlschema-2/#rf-maxInclusive
+ */
+ [property, maybevoid] com::sun::star::util::Date MaxInclusiveDate;
+
+ /** specifies the exclusive upper bound for the value
+ @see http://www.w3.org/TR/xmlschema-2/#rf-maxExclusive
+ */
+ [property, maybevoid] com::sun::star::util::Date MaxExclusiveDate;
+
+ /** specifies the inclusive lower bound for the value
+ @see http://www.w3.org/TR/xmlschema-2/#rf-minInclusive
+ */
+ [property, maybevoid] com::sun::star::util::Date MinInclusiveDate;
+
+ /** specifies the exclusive lower bound for the value
+ @see http://www.w3.org/TR/xmlschema-2/#rf-minExclusive
+ */
+ [property, maybevoid] com::sun::star::util::Date MinExclusiveDate;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xsd/DateTime.idl b/offapi/com/sun/star/xsd/DateTime.idl
new file mode 100644
index 000000000..95fcc49da
--- /dev/null
+++ b/offapi/com/sun/star/xsd/DateTime.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_xsd_DateTime_idl__
+#define __com_sun_star_xsd_DateTime_idl__
+
+#include <com/sun/star/xsd/XDataType.idl>
+#include <com/sun/star/util/DateTime.idl>
+
+module com { module sun { module star { module xsd {
+
+/** specifies an <a href="http://www.w3.org/TR/xmlschema-2/#dateTime">XSD compliant dateTime type</a>
+*/
+service DateTime
+{
+ /** provides access to common data type functionality
+ */
+ interface XDataType;
+
+ /** specifies the inclusive upper bound for the value
+ @see http://www.w3.org/TR/xmlschema-2/#rf-maxInclusive
+ */
+ [property, maybevoid] com::sun::star::util::DateTime MaxInclusiveDateTime;
+
+ /** specifies the exclusive upper bound for the value
+ @see http://www.w3.org/TR/xmlschema-2/#rf-maxExclusive
+ */
+ [property, maybevoid] com::sun::star::util::DateTime MaxExclusiveDateTime;
+
+ /** specifies the inclusive lower bound for the value
+ @see http://www.w3.org/TR/xmlschema-2/#rf-minInclusive
+ */
+ [property, maybevoid] com::sun::star::util::DateTime MinInclusiveDateTime;
+
+ /** specifies the exclusive lower bound for the value
+ @see http://www.w3.org/TR/xmlschema-2/#rf-minExclusive
+ */
+ [property, maybevoid] com::sun::star::util::DateTime MinExclusiveDateTime;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xsd/Day.idl b/offapi/com/sun/star/xsd/Day.idl
new file mode 100644
index 000000000..2f9812b94
--- /dev/null
+++ b/offapi/com/sun/star/xsd/Day.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_xsd_Day_idl__
+#define __com_sun_star_xsd_Day_idl__
+
+#include <com/sun/star/xsd/XDataType.idl>
+
+module com { module sun { module star { module xsd {
+
+/** specifies an <a href="http://www.w3.org/TR/xmlschema-2/#gDay">XSD compliant gDay type</a>
+*/
+service Day
+{
+ /** provides access to common data type functionality
+ */
+ interface XDataType;
+
+ /** specifies the inclusive upper bound for the value
+ @see http://www.w3.org/TR/xmlschema-2/#rf-maxInclusive
+ */
+ [property, maybevoid] short MaxInclusiveInt;
+
+ /** specifies the exclusive upper bound for the value
+ @see http://www.w3.org/TR/xmlschema-2/#rf-maxExclusive
+ */
+ [property, maybevoid] short MaxExclusiveInt;
+
+ /** specifies the inclusive lower bound for the value
+ @see http://www.w3.org/TR/xmlschema-2/#rf-minInclusive
+ */
+ [property, maybevoid] short MinInclusiveInt;
+
+ /** specifies the exclusive lower bound for the value
+ @see http://www.w3.org/TR/xmlschema-2/#rf-minExclusive
+ */
+ [property, maybevoid] short MinExclusiveInt;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xsd/Decimal.idl b/offapi/com/sun/star/xsd/Decimal.idl
new file mode 100644
index 000000000..049557189
--- /dev/null
+++ b/offapi/com/sun/star/xsd/Decimal.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_xsd_Decimal_idl__
+#define __com_sun_star_xsd_Decimal_idl__
+
+#include <com/sun/star/xsd/XDataType.idl>
+
+module com { module sun { module star { module xsd {
+
+/** specifies an <a href="http://www.w3.org/TR/xmlschema-2/#decimal">XSD compliant decimal type</a>
+*/
+service Decimal
+{
+ /** provides access to common data type functionality
+ */
+ interface XDataType;
+
+ /** totalDigits is the maximum number of digits in values of decimal data
+ types.
+
+ <p>The value of totalDigits must be a positive integer.</p>
+
+ <p>See <a href="http://www.w3.org/TR/xmlschema-2/#rf-totalDigits">http://www.w3.org/TR/xmlschema-2/#rf-totalDigits</a></p>
+ */
+ [property, maybevoid] long TotalDigits;
+
+ /** fractionDigits is the maximum number of digits in the fractional part of values of
+ decimal data
+
+ <p>The value of fractionDigits must be a non negative integer.</p>
+
+ <p>See <a href="http://www.w3.org/TR/xmlschema-2/#rf-fractionDigits">http://www.w3.org/TR/xmlschema-2/#rf-fractionDigits</a></p>
+ */
+ [property, maybevoid] long FractionDigits;
+
+ /** specifies the inclusive upper bound for the value
+ @see http://www.w3.org/TR/xmlschema-2/#rf-maxInclusive
+ */
+ [property, maybevoid] double MaxInclusiveDouble;
+
+ /** specifies the exclusive upper bound for the value
+ @see http://www.w3.org/TR/xmlschema-2/#rf-maxExclusive
+ */
+ [property, maybevoid] double MaxExclusiveDouble;
+
+ /** specifies the inclusive lower bound for the value
+ @see http://www.w3.org/TR/xmlschema-2/#rf-minInclusive
+ */
+ [property, maybevoid] double MinInclusiveDouble;
+
+ /** specifies the exclusive lower bound for the value
+ @see http://www.w3.org/TR/xmlschema-2/#rf-minExclusive
+ */
+ [property, maybevoid] double MinExclusiveDouble;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xsd/Month.idl b/offapi/com/sun/star/xsd/Month.idl
new file mode 100644
index 000000000..85d003dcc
--- /dev/null
+++ b/offapi/com/sun/star/xsd/Month.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_xsd_Month_idl__
+#define __com_sun_star_xsd_Month_idl__
+
+#include <com/sun/star/xsd/XDataType.idl>
+
+module com { module sun { module star { module xsd {
+
+/** specifies an <a href="http://www.w3.org/TR/xmlschema-2/#gMonth">XSD compliant gMonth type</a>
+*/
+service Month
+{
+ /** provides access to common data type functionality
+ */
+ interface XDataType;
+
+ /** specifies the inclusive upper bound for the value
+ @see http://www.w3.org/TR/xmlschema-2/#rf-maxInclusive
+ */
+ [property, maybevoid] short MaxInclusiveInt;
+
+ /** specifies the exclusive upper bound for the value
+ @see http://www.w3.org/TR/xmlschema-2/#rf-maxExclusive
+ */
+ [property, maybevoid] short MaxExclusiveInt;
+
+ /** specifies the inclusive lower bound for the value
+ @see http://www.w3.org/TR/xmlschema-2/#rf-minInclusive
+ */
+ [property, maybevoid] short MinInclusiveInt;
+
+ /** specifies the exclusive lower bound for the value
+ @see http://www.w3.org/TR/xmlschema-2/#rf-minExclusive
+ */
+ [property, maybevoid] short MinExclusiveInt;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xsd/String.idl b/offapi/com/sun/star/xsd/String.idl
new file mode 100644
index 000000000..be706ea61
--- /dev/null
+++ b/offapi/com/sun/star/xsd/String.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_xsd_String_idl__
+#define __com_sun_star_xsd_String_idl__
+
+#include <com/sun/star/xsd/XDataType.idl>
+
+module com { module sun { module star { module xsd {
+
+/** specifies an <a href="http://www.w3.org/TR/xmlschema-2/#string">XSD compliant string type</a>
+*/
+service String
+{
+ /** provides access to common data type functionality
+ */
+ interface XDataType;
+
+ /** specifies the length of the string
+
+ <p>Note that you cannot specify #Length together
+ with #MinLength or #MaxLength.</p>
+ */
+ [property, maybevoid] long Length;
+
+ /** specifies the minimum length of the string
+
+ <p>Note that you cannot specify #MinLength together
+ with #Length.</p>
+ */
+ [property, maybevoid] long MinLength;
+
+ /** specifies the maximum length of the string
+
+ <p>Note that you cannot specify #MaxLength together
+ with #Length.</p>
+ */
+ [property, maybevoid] long MaxLength;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xsd/Time.idl b/offapi/com/sun/star/xsd/Time.idl
new file mode 100644
index 000000000..5da39331d
--- /dev/null
+++ b/offapi/com/sun/star/xsd/Time.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_xsd_Time_idl__
+#define __com_sun_star_xsd_Time_idl__
+
+#include <com/sun/star/xsd/XDataType.idl>
+#include <com/sun/star/util/Time.idl>
+
+module com { module sun { module star { module xsd {
+
+/** specifies an <a href="http://www.w3.org/TR/xmlschema-2/#time">XSD compliant time type</a>
+*/
+service Time
+{
+ /** provides access to common data type functionality
+ */
+ interface XDataType;
+
+ /** specifies the inclusive upper bound for the value
+ @see http://www.w3.org/TR/xmlschema-2/#rf-maxInclusive
+ */
+ [property, maybevoid] com::sun::star::util::Time MaxInclusiveTime;
+
+ /** specifies the exclusive upper bound for the value
+ @see http://www.w3.org/TR/xmlschema-2/#rf-maxExclusive
+ */
+ [property, maybevoid] com::sun::star::util::Time MaxExclusiveTime;
+
+ /** specifies the inclusive lower bound for the value
+ @see http://www.w3.org/TR/xmlschema-2/#rf-minInclusive
+ */
+ [property, maybevoid] com::sun::star::util::Time MinInclusiveTime;
+
+ /** specifies the exclusive lower bound for the value
+ @see http://www.w3.org/TR/xmlschema-2/#rf-minExclusive
+ */
+ [property, maybevoid] com::sun::star::util::Time MinExclusiveTime;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xsd/WhiteSpaceTreatment.idl b/offapi/com/sun/star/xsd/WhiteSpaceTreatment.idl
new file mode 100644
index 000000000..6d3cd3705
--- /dev/null
+++ b/offapi/com/sun/star/xsd/WhiteSpaceTreatment.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_xsd_WhiteSpaceTreatment_idl__
+#define __com_sun_star_xsd_WhiteSpaceTreatment_idl__
+
+module com { module sun { module star { module xsd {
+
+/** specifies possibilities how to treat whitespace in strings
+
+ @see XDataType
+*/
+constants WhiteSpaceTreatment
+{
+ /** White spaces should be preserved when processing the string
+ */
+ const short Preserve = 0;
+
+ /** White spaces should be replaced with TODO when processing the string
+ */
+ const short Replace = 1;
+
+ /** Multiple successive white spaces should be collapsed to a single white
+ space when processing the string
+ */
+ const short Collapse = 2;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xsd/XDataType.idl b/offapi/com/sun/star/xsd/XDataType.idl
new file mode 100644
index 000000000..40d13f65a
--- /dev/null
+++ b/offapi/com/sun/star/xsd/XDataType.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_xsd_XDataType_idl__
+#define __com_sun_star_xsd_XDataType_idl__
+
+#include <com/sun/star/container/XNamed.idl>
+#include <com/sun/star/util/VetoException.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+
+module com { module sun { module star { module xsd {
+
+/** specifies an <a href="http://www.w3.org/TR/xmlschema-2/#built-in-datatypes">XSD compliant simple data type</a>
+*/
+interface XDataType
+{
+ /** provides generic access to the instance properties
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+ /** provides access to the name of the type
+ */
+ [attribute] string Name
+ {
+ set raises ( com::sun::star::util::VetoException );
+ };
+
+ /** specifies the pattern which strings conforming to this type comply to
+
+ <p>See <a href="http://www.w3.org/TR/xmlschema-2/#rf-pattern">http://www.w3.org/TR/xmlschema-2/#rf-pattern</a></p>
+ */
+ [attribute] string Pattern;
+
+ /** specifies how strings of this data type are to be processed, with respect to
+ white spaces
+
+ <p>See <a href="http://www.w3.org/TR/xmlschema-2/#rf-whiteSpace">http://www.w3.org/TR/xmlschema-2/#rf-whiteSpace</a></p>
+ */
+ [attribute] short WhiteSpaceTreatment
+ {
+ set raises ( com::sun::star::lang::IllegalArgumentException );
+ };
+
+ /** specifies whether the type is a basic type
+
+ <p>Basic types are built into the type system, and cannot be changed by the user.</p>
+ */
+ [attribute, readonly] boolean IsBasic;
+
+ /** class of the type
+
+ @see DataTypeClass
+ */
+ [attribute, readonly] short TypeClass;
+
+ /// TODO
+ boolean validate( [in] string value );
+
+ /// TODO
+ string explainInvalid( [in] string value );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xsd/Year.idl b/offapi/com/sun/star/xsd/Year.idl
new file mode 100644
index 000000000..ec7a38f06
--- /dev/null
+++ b/offapi/com/sun/star/xsd/Year.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_xsd_Year_idl__
+#define __com_sun_star_xsd_Year_idl__
+
+#include <com/sun/star/xsd/XDataType.idl>
+
+module com { module sun { module star { module xsd {
+
+/** specifies an <a href="http://www.w3.org/TR/xmlschema-2/#gYear">XSD compliant gYear type</a>
+*/
+service Year
+{
+ /** provides access to common data type functionality
+ */
+ interface XDataType;
+
+ /** specifies the inclusive upper bound for the value
+ @see http://www.w3.org/TR/xmlschema-2/#rf-maxInclusive
+ */
+ [property, maybevoid] short MaxInclusiveInt;
+
+ /** specifies the exclusive upper bound for the value
+ @see http://www.w3.org/TR/xmlschema-2/#rf-maxExclusive
+ */
+ [property, maybevoid] short MaxExclusiveInt;
+
+ /** specifies the inclusive lower bound for the value
+ @see http://www.w3.org/TR/xmlschema-2/#rf-minInclusive
+ */
+ [property, maybevoid] short MinInclusiveInt;
+
+ /** specifies the exclusive lower bound for the value
+ @see http://www.w3.org/TR/xmlschema-2/#rf-minExclusive
+ */
+ [property, maybevoid] short MinExclusiveInt;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */